From 5a9d3785854ecb9aef6497670816608b4cc1ea24 Mon Sep 17 00:00:00 2001 From: Aktanusa Date: Mon, 2 May 2016 22:18:10 -0400 Subject: [PATCH] Added minor fixes to @JCBourgo's pull (Issue #85) --- CookieMonster.js | 66 +++++++++++++++++++++++++++++++++++------------- src/Config.js | 2 +- src/Disp.js | 12 ++++----- 3 files changed, 56 insertions(+), 24 deletions(-) diff --git a/CookieMonster.js b/CookieMonster.js index c0586a5..9a2e1a9 100644 --- a/CookieMonster.js +++ b/CookieMonster.js @@ -493,6 +493,7 @@ CM.ConfigData.ToolWarnCautPos = {label: ['Tooltip Warning/Caution Position (Left CM.ConfigData.ToolWrink = {label: ['Wrinkler Tooltip OFF', 'Wrinkler Tooltip ON'], desc: 'Shows the amount of cookies a wrinkler will give when popping it', toggle: true}; CM.ConfigData.Stats = {label: ['Statistics OFF', 'Statistics ON'], desc: 'Extra Cookie Monster statistics!', toggle: true}; CM.ConfigData.UpStats = {label: ['Statistics Update Rate (Default)', 'Statistics Update Rate (1s)'], desc: 'Default Game rate is once every 5 seconds', toggle: false}; +CM.ConfigData.TimeFormat = {label: ['Time XXd, XXh, XXm, XXs', 'Time XX:XX:XX:XX:XX'], desc: 'Change the time format', toggle: false}; CM.ConfigData.SayTime = {label: ['Format Time OFF', 'Format Time ON'], desc: 'Change how time is displayed in statistics', toggle: true, func: function() {CM.Disp.ToggleSayTime();}}; CM.ConfigData.Scale = {label: ['Game\'s Setting Scale', 'Metric', 'Short Scale', 'Scientific Notation'], desc: 'Change how long numbers are handled', toggle: false, func: function() {CM.Disp.RefreshScale();}}; @@ -510,24 +511,54 @@ CM.Data.ValCookies = ['Pure heart biscuits', 'Ardent heart biscuits', 'Sour hear CM.Disp.FormatTime = function(time, format) { if (time == 'Infinity') return time; - if (time > 777600000) return format ? 'Over 9000 days!' : '>9000d'; - time = Math.ceil(time); - var d = Math.floor(time / 86400); - var h = Math.floor(time % 86400 / 3600); - var m = Math.floor(time % 3600 / 60); - var s = Math.floor(time % 60); - var str = ''; - if (d > 0) { - str += d + (format ? (d == 1 ? ' day' : ' days') : 'd') + ', '; + if (CM.Config.TimeFormat) { + if (time > 3155760000) return 'XX:XX:XX:XX:XX'; + time = Math.ceil(time); + var y = Math.floor(time / 31557600); + var d = Math.floor(time % 31557600 / 86400); + var h = Math.floor(time % 86400 / 3600); + var m = Math.floor(time % 3600 / 60); + var s = Math.floor(time % 60); + var str = ''; + if (y < 10) { + str += '0'; + } + str += y + ':'; + if (d < 10) { + str += '0'; + } + str += d + ':'; + if (h < 10) { + str += '0'; + } + str += h + ':'; + if (m < 10) { + str += '0'; + } + str += m + ':'; + if (s < 10) { + str += '0'; + } + str += s; + } else { + if (time > 777600000) return format ? 'Over 9000 days!' : '>9000d'; + time = Math.ceil(time); + var d = Math.floor(time / 86400); + var h = Math.floor(time % 86400 / 3600); + var m = Math.floor(time % 3600 / 60); + var s = Math.floor(time % 60); + var str = ''; + if (d > 0) { + str += d + (format ? (d == 1 ? ' day' : ' days') : 'd') + ', '; + } + if (str.length > 0 || h > 0) { + str += h + (format ? (h == 1 ? ' hour' : ' hours') : 'h') + ', '; + } + if (str.length > 0 || m > 0) { + str += m + (format ? (m == 1 ? ' minute' : ' minutes') : 'm') + ', '; + } + str += s + (format ? (s == 1 ? ' second' : ' seconds') : 's'); } - if (str.length > 0 || h > 0) { - str += h + (format ? (h == 1 ? ' hour' : ' hours') : 'h') + ', '; - } - if (str.length > 0 || m > 0) { - str += m + (format ? (m == 1 ? ' minute' : ' minutes') : 'm') + ', '; - } - str += s + (format ? (s == 1 ? ' second' : ' seconds') : 's'); - return str; } @@ -1462,6 +1493,7 @@ CM.Disp.AddMenuPref = function(title) { frag.appendChild(header('Statistics')); frag.appendChild(listing('Stats')); frag.appendChild(listing('UpStats')); + frag.appendChild(listing('TimeFormat')); frag.appendChild(listing('SayTime')); frag.appendChild(header('Other')); diff --git a/src/Config.js b/src/Config.js index b11fa35..6da6bad 100644 --- a/src/Config.js +++ b/src/Config.js @@ -144,7 +144,7 @@ CM.ConfigData.ToolWarnCautPos = {label: ['Tooltip Warning/Caution Position (Left CM.ConfigData.ToolWrink = {label: ['Wrinkler Tooltip OFF', 'Wrinkler Tooltip ON'], desc: 'Shows the amount of cookies a wrinkler will give when popping it', toggle: true}; CM.ConfigData.Stats = {label: ['Statistics OFF', 'Statistics ON'], desc: 'Extra Cookie Monster statistics!', toggle: true}; CM.ConfigData.UpStats = {label: ['Statistics Update Rate (Default)', 'Statistics Update Rate (1s)'], desc: 'Default Game rate is once every 5 seconds', toggle: false}; +CM.ConfigData.TimeFormat = {label: ['Time XXd, XXh, XXm, XXs', 'Time XX:XX:XX:XX:XX'], desc: 'Change the time format', toggle: false}; CM.ConfigData.SayTime = {label: ['Format Time OFF', 'Format Time ON'], desc: 'Change how time is displayed in statistics', toggle: true, func: function() {CM.Disp.ToggleSayTime();}}; -CM.ConfigData.TimeFormat = {label: ['Time XXy, XXd, XXh, XXm, XXs', 'Time XX:XX:XX:XX:XX'], desc: 'Change the time format', toggle:true}; CM.ConfigData.Scale = {label: ['Game\'s Setting Scale', 'Metric', 'Short Scale', 'Scientific Notation'], desc: 'Change how long numbers are handled', toggle: false, func: function() {CM.Disp.RefreshScale();}}; diff --git a/src/Disp.js b/src/Disp.js index a8f1852..7279416 100644 --- a/src/Disp.js +++ b/src/Disp.js @@ -4,11 +4,11 @@ CM.Disp.FormatTime = function(time, format) { if (time == 'Infinity') return time; - if (CM.ConfigData.TimeFormat == 1) { - if (time > 3153600000) return 'XX:XX:XX:XX:XX'; + if (CM.Config.TimeFormat) { + if (time > 3155760000) return 'XX:XX:XX:XX:XX'; time = Math.ceil(time); - var y = Math.floor(time / 31536000); - var d = Math.floor(time % 31536000 / 86400); + var y = Math.floor(time / 31557600); + var d = Math.floor(time % 31557600 / 86400); var h = Math.floor(time % 86400 / 3600); var m = Math.floor(time % 3600 / 60); var s = Math.floor(time % 60); @@ -32,7 +32,7 @@ CM.Disp.FormatTime = function(time, format) { if (s < 10) { str += '0'; } - str += s + ':'; + str += s; } else { if (time > 777600000) return format ? 'Over 9000 days!' : '>9000d'; time = Math.ceil(time); @@ -986,8 +986,8 @@ CM.Disp.AddMenuPref = function(title) { frag.appendChild(header('Statistics')); frag.appendChild(listing('Stats')); frag.appendChild(listing('UpStats')); - frag.appendChild(listing('SayTime')); frag.appendChild(listing('TimeFormat')); + frag.appendChild(listing('SayTime')); frag.appendChild(header('Other')); frag.appendChild(listing('Scale'));