fix(dtmm): Fix patching GameStateMachine
The monkey-pacthed function was still called multiple times.
This commit is contained in:
parent
974641b2ea
commit
d6ee6e9a10
1 changed files with 19 additions and 15 deletions
|
@ -56,11 +56,16 @@ end
|
|||
-- Patch `GameStateMachine.init` to add our own state for loading mods.
|
||||
-- In the future, Fatshark might provide us with a dedicated way to do this.
|
||||
local function patch_mod_loading_state()
|
||||
print("[mod_main] Adding mod loading state")
|
||||
print("[mod_main] Adding mod loading state")
|
||||
local GameStateMachine = require("scripts/foundation/utilities/game_state_machine")
|
||||
|
||||
local patched = false
|
||||
|
||||
local GameStateMachine_init = GameStateMachine.init
|
||||
GameStateMachine.init = function(self, parent, start_state, params, ...)
|
||||
if not patched then
|
||||
patched = true
|
||||
|
||||
-- Hardcoded position after `StateRequireScripts`.
|
||||
-- We do want to wait until then, so that most of the game's core
|
||||
-- systems are at least loaded and can be hooked, even if they aren't
|
||||
|
@ -72,12 +77,11 @@ print("[mod_main] Adding mod loading state")
|
|||
package_manager = params.package_manager,
|
||||
},
|
||||
})
|
||||
|
||||
-- Clean up after us
|
||||
GameStateMachine.init = GameStateMachine_init
|
||||
|
||||
return GameStateMachine_init(self, parent, start_state, params, ...)
|
||||
end
|
||||
|
||||
GameStateMachine_init(self, parent, start_state, params, ...)
|
||||
end
|
||||
print("[mod_main] Mod patching complete")
|
||||
end
|
||||
|
||||
function init()
|
||||
|
|
Loading…
Add table
Reference in a new issue