diff --git a/src/Config.js b/src/Config.js index c39f99b..b11fa35 100644 --- a/src/Config.js +++ b/src/Config.js @@ -145,5 +145,6 @@ CM.ConfigData.ToolWrink = {label: ['Wrinkler Tooltip OFF', 'Wrinkler Tooltip ON' 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.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 b150200..a8f1852 100644 --- a/src/Disp.js +++ b/src/Disp.js @@ -4,24 +4,54 @@ 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.ConfigData.TimeFormat == 1) { + if (time > 3153600000) return 'XX:XX:XX:XX:XX'; + time = Math.ceil(time); + var y = Math.floor(time / 31536000); + var d = Math.floor(time % 31536000 / 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; } @@ -957,6 +987,7 @@ CM.Disp.AddMenuPref = function(title) { frag.appendChild(listing('Stats')); frag.appendChild(listing('UpStats')); frag.appendChild(listing('SayTime')); + frag.appendChild(listing('TimeFormat')); frag.appendChild(header('Other')); frag.appendChild(listing('Scale'));