Mod Development: Disabling Time


#1

I’m looking for a bit of advice from anyone experience with GDT Modding. What should I be looking for in order to stop the game’s time progression?

I’ve seen the following keywords in various places, though their exact purpose escapes me:
gameTime (I’m guessing this is literally just the in game time. Which is good, I need that.)
pause (I’m just not sure “pausing” is really what I want to do. What all does this affect and will the game unpause on its own?)
_timeModifier (This might allow me to zero out time progression? The underscore in front of the name would indicate I shouldn’t really mess with this though, so I want to make sure its exactly what I think it is)

Unfortunately the source code is (intentionally, so I’m not complaining) unreadable. I’m just trying to identify any elements of the game regarding time progression that I can modify.

What I actually want to do is completely disable the passage of time and make it to where the game time only increases when I call a particular function. It sounds absurd but it has a purpose in what I’m working on. I don’t really want to go in depth on what I’m doing until I’ve had time to explore.

Any help is appreciated!


#2

You can pause and resume the game via GameManager.pause() and GameManager.resume().

Internally this sets _timeModifier to 0 but also sets a few boolean flags and shows an overlay. You could prevent the overlay by calling it via GameManager.pause(false,false);


#3

Bored, and wanted to suggest that what is wanted was to halt game time progression while still allowing other things to happen while the game is paused (such as research, or accumulation of points.)

I’ve never modded this game before, just bored and stuff. I would bet that all of that is tied into game time progression through other variables like speed.

In that case, placing a large modifier on speed while slowing down game time progression might get you the illusion of “pausing” game time while still allowing things to happen while game time is “paused”