From d9e0e46e64bb6d2323a1e7cc74f6eb89e9c3b60f Mon Sep 17 00:00:00 2001 From: Daniel van Noord Date: Sun, 31 Jan 2021 18:28:14 +0100 Subject: [PATCH 1/2] Added Loop to hook of modding api #468 --- CookieMonster.js | 9 ++------- src/Cache.js | 1 - src/Footer.js | 2 ++ src/Main.js | 6 ------ 4 files changed, 4 insertions(+), 14 deletions(-) diff --git a/CookieMonster.js b/CookieMonster.js index d135402..50de44c 100644 --- a/CookieMonster.js +++ b/CookieMonster.js @@ -61,7 +61,6 @@ CM.Cache.InitCache = function() { * @global {number} CM.Cache.dragonAura2 The number of the second (left) Aura */ CM.Cache.CacheDragonAuras = function() { - /** @global */ CM.Cache.dragonAura = Game.dragonAura; CM.Cache.dragonAura2 = Game.dragonAura2; }; @@ -4226,12 +4225,6 @@ CM.ReplaceNative = function() { else return CM.Disp.FormatTime(time / Game.fps, 1); }; - CM.Backup.Loop = Game.Loop; - Game.Loop = function() { - CM.Backup.Loop(); - CM.Loop(); - }; - CM.Backup.Logic = Game.Logic; eval('CM.Backup.LogicMod = ' + Game.Logic.toString().split('document.title').join('CM.Cache.Title')); Game.Logic = function() { @@ -5626,6 +5619,8 @@ CM.init = function() { if (proceed) { CM.DelayInit(); Game.registerHook('draw', CM.Disp.Draw); + Game.registerHook('logic', CM.Loop); + } }; diff --git a/src/Cache.js b/src/Cache.js index 9f42b2f..91a5fd3 100644 --- a/src/Cache.js +++ b/src/Cache.js @@ -29,7 +29,6 @@ CM.Cache.InitCache = function() { * @global {number} CM.Cache.dragonAura2 The number of the second (left) Aura */ CM.Cache.CacheDragonAuras = function() { - /** @global */ CM.Cache.dragonAura = Game.dragonAura; CM.Cache.dragonAura2 = Game.dragonAura2; }; diff --git a/src/Footer.js b/src/Footer.js index e386213..59ed9c9 100644 --- a/src/Footer.js +++ b/src/Footer.js @@ -19,6 +19,8 @@ CM.init = function() { if (proceed) { CM.DelayInit(); Game.registerHook('draw', CM.Disp.Draw); + Game.registerHook('logic', CM.Loop); + } }; diff --git a/src/Main.js b/src/Main.js index 1f44b9a..7e254f6 100644 --- a/src/Main.js +++ b/src/Main.js @@ -93,12 +93,6 @@ CM.ReplaceNative = function() { else return CM.Disp.FormatTime(time / Game.fps, 1); }; - CM.Backup.Loop = Game.Loop; - Game.Loop = function() { - CM.Backup.Loop(); - CM.Loop(); - }; - CM.Backup.Logic = Game.Logic; eval('CM.Backup.LogicMod = ' + Game.Logic.toString().split('document.title').join('CM.Cache.Title')); Game.Logic = function() { From bbdbbfb667a3bd27be00537a16814f497bddadb7 Mon Sep 17 00:00:00 2001 From: Daniel van Noord Date: Sun, 31 Jan 2021 19:44:00 +0100 Subject: [PATCH 2/2] Added Loop to hook of modding api #468 --- CookieMonster.js | 43 +++++++++++++++++++++---------------------- src/Disp.js | 23 +++++++++++++++++++++-- src/Main.js | 20 -------------------- 3 files changed, 42 insertions(+), 44 deletions(-) diff --git a/CookieMonster.js b/CookieMonster.js index 50de44c..32be852 100644 --- a/CookieMonster.js +++ b/CookieMonster.js @@ -1510,11 +1510,11 @@ CM.Disp.UpdateBackground = function() { }; /** - * This function handles custom drawing for the Game.Draw() function. + * This function handles all custom drawing for the Game.Draw() function. * It is hooked on 'draw' by CM.RegisterHooks() */ CM.Disp.Draw = function () { - // Draw autosave timer in stats menu + // Draw autosave timer in stats menu, this must be done here to make it count down correctly if ( (Game.prefs.autosave && Game.drawT % 10 == 0) && // with autosave ON and every 10 ticks (Game.onMenu == 'stats' && CM.Options.Stats) // while being on the stats menu only @@ -1524,6 +1524,25 @@ CM.Disp.Draw = function () { timer.innerText = Game.sayTime(Game.fps * 60 - (Game.T % (Game.fps * 60)), 4); } } + // Update colors + CM.Disp.UpdateBuildings(); + CM.Disp.UpdateUpgrades(); + + // Redraw timers + CM.Disp.UpdateTimerBar(); + + // Update Bottom Bar + CM.Disp.UpdateBotBar(); + + // Update Tooltip + CM.Disp.UpdateTooltip(); + + // Update Wrinkler Tooltip + CM.Disp.CheckWrinklerTooltip(); + CM.Disp.UpdateWrinklerTooltip(); + + // Change menu refresh interval + CM.Disp.RefreshMenu(); }; /******** @@ -4314,26 +4333,6 @@ CM.Loop = function() { // Calculate PP CM.Cache.RemakePP(); - - // Update colors - CM.Disp.UpdateBuildings(); - CM.Disp.UpdateUpgrades(); - - // Redraw timers - CM.Disp.UpdateTimerBar(); - - // Update Bottom Bar - CM.Disp.UpdateBotBar(); - - // Update Tooltip - CM.Disp.UpdateTooltip(); - - // Update Wrinkler Tooltip - CM.Disp.CheckWrinklerTooltip(); - CM.Disp.UpdateWrinklerTooltip(); - - // Change menu refresh interval - CM.Disp.RefreshMenu(); } // Check all changing minigames and game-states diff --git a/src/Disp.js b/src/Disp.js index e7e2a90..fc77ae9 100644 --- a/src/Disp.js +++ b/src/Disp.js @@ -296,11 +296,11 @@ CM.Disp.UpdateBackground = function() { }; /** - * This function handles custom drawing for the Game.Draw() function. + * This function handles all custom drawing for the Game.Draw() function. * It is hooked on 'draw' by CM.RegisterHooks() */ CM.Disp.Draw = function () { - // Draw autosave timer in stats menu + // Draw autosave timer in stats menu, this must be done here to make it count down correctly if ( (Game.prefs.autosave && Game.drawT % 10 == 0) && // with autosave ON and every 10 ticks (Game.onMenu == 'stats' && CM.Options.Stats) // while being on the stats menu only @@ -310,6 +310,25 @@ CM.Disp.Draw = function () { timer.innerText = Game.sayTime(Game.fps * 60 - (Game.T % (Game.fps * 60)), 4); } } + // Update colors + CM.Disp.UpdateBuildings(); + CM.Disp.UpdateUpgrades(); + + // Redraw timers + CM.Disp.UpdateTimerBar(); + + // Update Bottom Bar + CM.Disp.UpdateBotBar(); + + // Update Tooltip + CM.Disp.UpdateTooltip(); + + // Update Wrinkler Tooltip + CM.Disp.CheckWrinklerTooltip(); + CM.Disp.UpdateWrinklerTooltip(); + + // Change menu refresh interval + CM.Disp.RefreshMenu(); }; /******** diff --git a/src/Main.js b/src/Main.js index 7e254f6..6628c02 100644 --- a/src/Main.js +++ b/src/Main.js @@ -182,26 +182,6 @@ CM.Loop = function() { // Calculate PP CM.Cache.RemakePP(); - - // Update colors - CM.Disp.UpdateBuildings(); - CM.Disp.UpdateUpgrades(); - - // Redraw timers - CM.Disp.UpdateTimerBar(); - - // Update Bottom Bar - CM.Disp.UpdateBotBar(); - - // Update Tooltip - CM.Disp.UpdateTooltip(); - - // Update Wrinkler Tooltip - CM.Disp.CheckWrinklerTooltip(); - CM.Disp.UpdateWrinklerTooltip(); - - // Change menu refresh interval - CM.Disp.RefreshMenu(); } // Check all changing minigames and game-states