My understanding is that timers should not run after calling
playdate.stop (assuming they are being updated in
playdate.update). However, if I start a timer, then call
playdate.stop, wait some period of time, and then call
currentTime on the timer has advanced as though it were running for the full time it was stopped. This happens both on device and in the simulator.
My expectation is that it should behave the same way that pressing the menu button works. Doing so stops all updates to the game, and after pressing it a second time to unpause the values on the timers remain the same as the moment it was first pressed. Is my expectation or my approach incorrect?
Note: I do have some placeholder
playdate.gameWillResume() handlers which get called when pressing the menu button. I'm also calling them just before I call
start to make sure that any other cleanup can happen as appropriate when the game pauses "internally". However, right now they just print a debug statement so they have nothing to do with the difference I'm seeing between these two pause/unpause approaches.