@@ -9,6 +9,10 @@ using namespace geode::prelude;
99float stupidAccmulatorTooLazyToPutElsewhere = 0 ;
1010
1111class $modify(MenuLoopFMODHook, FMODAudioEngine) {
12+ void stopAllMusic (bool p0) {
13+ if (!GJBaseGameLayer::get ()) SongManager::get ().setPauseSongPositionTracking (true );
14+ FMODAudioEngine::stopAllMusic (p0);
15+ }
1216 void update (float dt) {
1317 FMODAudioEngine::update (dt);
1418 SongManager& songManager = SongManager::get ();
@@ -37,21 +41,6 @@ class $modify(MenuLoopFMODHook, FMODAudioEngine) {
3741
3842 unsigned int position = 0 ;
3943 menuLoopChannelProbably->getPosition (&position, FMOD_TIMEUNIT_MS);
40- log::info (" FMOD UPDATE songManager.getPauseSongPositionTracking(): {}" , songManager.getPauseSongPositionTracking ());
41- log::info (" FMOD UPDATE songManager.getPauseSongPositionTracking(): {}" , songManager.getPauseSongPositionTracking ());
42- log::info (" FMOD UPDATE songManager.getPauseSongPositionTracking(): {}" , songManager.getPauseSongPositionTracking ());
43- log::info (" FMOD UPDATE songManager.getPauseSongPositionTracking(): {}" , songManager.getPauseSongPositionTracking ());
44- log::info (" FMOD UPDATE songManager.getPauseSongPositionTracking(): {}" , songManager.getPauseSongPositionTracking ());
45- log::info (" FMOD UPDATE songManager.getPauseSongPositionTracking(): {}" , songManager.getPauseSongPositionTracking ());
46- log::info (" FMOD UPDATE songManager.getPauseSongPositionTracking(): {}" , songManager.getPauseSongPositionTracking ());
47-
48- log::info (" FMOD UPDATE songManager.getLastMenuLoopPosition(): {}" , songManager.getLastMenuLoopPosition ());
49- log::info (" FMOD UPDATE songManager.getLastMenuLoopPosition(): {}" , songManager.getLastMenuLoopPosition ());
50- log::info (" FMOD UPDATE songManager.getLastMenuLoopPosition(): {}" , songManager.getLastMenuLoopPosition ());
51- log::info (" FMOD UPDATE songManager.getLastMenuLoopPosition(): {}" , songManager.getLastMenuLoopPosition ());
52- log::info (" FMOD UPDATE songManager.getLastMenuLoopPosition(): {}" , songManager.getLastMenuLoopPosition ());
53- log::info (" FMOD UPDATE songManager.getLastMenuLoopPosition(): {}" , songManager.getLastMenuLoopPosition ());
54- log::info (" FMOD UPDATE songManager.getLastMenuLoopPosition(): {}" , songManager.getLastMenuLoopPosition ());
5544 if (!songManager.getPauseSongPositionTracking ()) {
5645 songManager.setLastMenuLoopPosition (position); // so the problem with trying to move this logic to GJBGL::init() is that by the time GJBGL::init() is called, FMOD's menu loop track has already been stopped and its position resets to 0. hence why we are here instead.
5746 }
0 commit comments