Skip to content

Commit 915c486

Browse files
committed
cmon bro so close
1 parent 30e4146 commit 915c486

File tree

8 files changed

+30
-23
lines changed

8 files changed

+30
-23
lines changed

src/EditorPauseLayer.cpp

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -6,7 +6,7 @@ using namespace geode::prelude;
66

77
class $modify(MenuLoopEPLHook, EditorPauseLayer) {
88
void iHateHookingMultipleThingsToGetSomethingDone() {
9-
SongManager::get().setComingFromGJBGL(true);
9+
SongManager::get().setPauseSongPositionTracking(true);
1010
if (Utils::getBool("randomizeWhenExitingEditor")) SongManager::get().pickRandomSong();
1111
else SongManager::get().setShouldRestoreMenuLoopPoint(!Utils::getBool("randomizeWhenExitingEditor") && Utils::getBool("restoreWhenExitingEditor"));
1212
}

src/FMODAudioEngine.cpp

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -12,7 +12,7 @@ class $modify(MenuLoopFMODHook, FMODAudioEngine) {
1212
void update(float dt) {
1313
FMODAudioEngine::update(dt);
1414
SongManager& songManager = SongManager::get();
15-
if (songManager.getComingFromGJBGL() || GJBaseGameLayer::get() || VANILLA_GD_MENU_LOOP_DISABLED) {
15+
if (songManager.getPauseSongPositionTracking() || GJBaseGameLayer::get() || VANILLA_GD_MENU_LOOP_DISABLED) {
1616
if (stupidAccmulatorTooLazyToPutElsewhere != 0) stupidAccmulatorTooLazyToPutElsewhere = 0;
1717
return;
1818
}

src/GJBaseGameLayer.cpp

Lines changed: 2 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -5,14 +5,13 @@
55
class $modify(MenuLoopGJBGLHook, GJBaseGameLayer) {
66
struct Fields {
77
~Fields() {
8-
SongManager::get().setComingFromGJBGL(false);
8+
SongManager::get().setPauseSongPositionTracking(false);
99
}
1010
};
1111
bool init() {
12-
SongManager::get().setComingFromGJBGL(false);
1312
if (!GJBaseGameLayer::init()) return false;
1413
SongManager::get().setShouldRestoreMenuLoopPoint(false);
15-
SongManager::get().setComingFromGJBGL(true);
14+
SongManager::get().setPauseSongPositionTracking(true);
1615
if (!Utils::getBool("playlistMode")) return true;
1716
const auto fmod = FMODAudioEngine::get();
1817
if (!fmod) return true;

src/GameManager.cpp

Lines changed: 10 additions & 10 deletions
Original file line numberDiff line numberDiff line change
@@ -18,14 +18,14 @@ class $modify(MenuLoopGMHook, GameManager) {
1818
const geode::Mod* colon = songManager.getColonMenuLoopStartTime();
1919
if (colon && colon->getSettingValue<bool>("enable")) return;
2020
if (!songManager.getShouldRestoreMenuLoopPoint()) return;
21-
log::info("songManager.getComingFromGJBGL(): {}", songManager.getComingFromGJBGL());
22-
log::info("songManager.getComingFromGJBGL(): {}", songManager.getComingFromGJBGL());
23-
log::info("songManager.getComingFromGJBGL(): {}", songManager.getComingFromGJBGL());
24-
log::info("songManager.getComingFromGJBGL(): {}", songManager.getComingFromGJBGL());
25-
log::info("songManager.getComingFromGJBGL(): {}", songManager.getComingFromGJBGL());
26-
log::info("songManager.getComingFromGJBGL(): {}", songManager.getComingFromGJBGL());
27-
log::info("songManager.getComingFromGJBGL(): {}", songManager.getComingFromGJBGL());
28-
log::info("songManager.getComingFromGJBGL(): {}", songManager.getComingFromGJBGL());
21+
log::info("songManager.getPauseSongPositionTracking(): {}", songManager.getPauseSongPositionTracking());
22+
log::info("songManager.getPauseSongPositionTracking(): {}", songManager.getPauseSongPositionTracking());
23+
log::info("songManager.getPauseSongPositionTracking(): {}", songManager.getPauseSongPositionTracking());
24+
log::info("songManager.getPauseSongPositionTracking(): {}", songManager.getPauseSongPositionTracking());
25+
log::info("songManager.getPauseSongPositionTracking(): {}", songManager.getPauseSongPositionTracking());
26+
log::info("songManager.getPauseSongPositionTracking(): {}", songManager.getPauseSongPositionTracking());
27+
log::info("songManager.getPauseSongPositionTracking(): {}", songManager.getPauseSongPositionTracking());
28+
log::info("songManager.getPauseSongPositionTracking(): {}", songManager.getPauseSongPositionTracking());
2929
log::info("oldTrack: {}", oldTrack);
3030
log::info("oldTrack: {}", oldTrack);
3131
log::info("oldTrack: {}", oldTrack);
@@ -57,10 +57,10 @@ class $modify(MenuLoopGMHook, GameManager) {
5757
log::info("songManager.getLastMenuLoopPosition(): {}", songManager.getLastMenuLoopPosition());
5858
log::info("songManager.getLastMenuLoopPosition(): {}", songManager.getLastMenuLoopPosition());
5959
log::info("songManager.getLastMenuLoopPosition(): {}", songManager.getLastMenuLoopPosition());
60-
if (oldTrack == fmod->getActiveMusic(0) && !songManager.getComingFromGJBGL()) return; // NOTE: THIS LINE CAN CAUSE ISSUES WHEN MENU LOOP AND LEVEL'S MOST RECENTLY PLAYED SONG ARE THE SAME
60+
if (oldTrack == fmod->getActiveMusic(0) && !songManager.getPauseSongPositionTracking()) return; // NOTE: THIS LINE CAN CAUSE ISSUES WHEN MENU LOOP AND LEVEL'S MOST RECENTLY PLAYED SONG ARE THE SAME
6161
songManager.restoreLastMenuLoopPosition();
6262
songManager.setShouldRestoreMenuLoopPoint(false);
63-
songManager.setComingFromGJBGL(false);
63+
songManager.setPauseSongPositionTracking(false);
6464
}
6565
void encodeDataTo(DS_Dictionary* p0) {
6666
SongManager& songManager = SongManager::get();

src/PlayLayer.cpp

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -6,7 +6,7 @@ using namespace geode::prelude;
66

77
class $modify(MenuLoopPLHook, PlayLayer) {
88
void onQuit() {
9-
SongManager::get().setComingFromGJBGL(true);
9+
SongManager::get().setPauseSongPositionTracking(true);
1010
if (Utils::getBool("randomizeWhenExitingLevel")) SongManager::get().pickRandomSong();
1111
else SongManager::get().setShouldRestoreMenuLoopPoint(!Utils::getBool("randomizeWhenExitingLevel") && Utils::getBool("restoreWhenExitingLevel"));
1212

src/SongManager.cpp

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -266,7 +266,7 @@ void SongManager::restoreLastMenuLoopPosition() {
266266
if (!songManager.getShouldRestoreMenuLoopPoint()) return;
267267
FMODAudioEngine::get()->setMusicTimeMS(songManager.getLastMenuLoopPosition(), false, 0);
268268
songManager.setShouldRestoreMenuLoopPoint(false);
269-
songManager.setComingFromGJBGL(false);
269+
songManager.setPauseSongPositionTracking(false);
270270
}
271271

272272
void SongManager::setShouldRestoreMenuLoopPoint(const bool value) {
@@ -301,11 +301,11 @@ bool SongManager::getVibecodedVentilla() const {
301301
return m_vibecodedVentilla;
302302
}
303303

304-
void SongManager::setComingFromGJBGL(const bool value) {
304+
void SongManager::setPauseSongPositionTracking(const bool value) {
305305
m_comingFromGJBGL = value;
306306
}
307307

308-
bool SongManager::getComingFromGJBGL() const {
308+
bool SongManager::getPauseSongPositionTracking() const {
309309
return m_comingFromGJBGL;
310310
}
311311

src/SongManager.hpp

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -92,8 +92,8 @@ class SongManager {
9292
geode::Mod* getColonMenuLoopStartTime() const;
9393
void setVibecodedVentilla(const bool);
9494
bool getVibecodedVentilla() const;
95-
void setComingFromGJBGL(const bool);
96-
bool getComingFromGJBGL() const;
95+
void setPauseSongPositionTracking(const bool);
96+
bool getPauseSongPositionTracking() const;
9797
void setFinishedCalculatingSongLengths(const bool);
9898
bool getFinishedCalculatingSongLengths() const;
9999

src/ui/SongControlMenu.cpp

Lines changed: 10 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -353,18 +353,22 @@ void SongControlMenu::onSkipBkwdButton(CCObject*) {
353353
const std::string& currSong = songManager.getCurrentSong();
354354
if (fmod->getActiveMusic(0) != currSong || !songManager.getSongToSongDataEntries().contains(currSong)) return;
355355

356+
songManager.setPauseSongPositionTracking(true);
356357
const int fullLength = songManager.getSongToSongDataEntries().find(songManager.getCurrentSong())->second.songLength;
357358
const int lastPosition = songManager.getLastMenuLoopPosition();
358359

359360
if ((lastPosition - 5000) < 0) {
360361
if (songManager.getConstantShuffleMode()) {
361362
fmod->getActiveMusicChannel(0)->setPosition(0, FMOD_TIMEUNIT_MS);
362363
} else if (fullLength > 0 && fullLength < std::numeric_limits<unsigned int>::max()) {
363-
fmod->getActiveMusicChannel(0)->setPosition(((((lastPosition % fullLength) + fullLength) % fullLength) - (5000 % fullLength) + fullLength) % fullLength, FMOD_TIMEUNIT_MS);
364+
const int newPosition = ((((lastPosition % fullLength) + fullLength) % fullLength) - (5000 % fullLength) + fullLength) % fullLength;
365+
fmod->getActiveMusicChannel(0)->setPosition(newPosition, FMOD_TIMEUNIT_MS);
366+
songManager.setLastMenuLoopPosition(newPosition);
364367
}
365368
} else {
366369
fmod->getActiveMusicChannel(0)->setPosition(lastPosition - 5000, FMOD_TIMEUNIT_MS);
367370
}
371+
songManager.setPauseSongPositionTracking(false);
368372
}
369373

370374
void SongControlMenu::onSkipFwrdButton(CCObject*) {
@@ -378,16 +382,20 @@ void SongControlMenu::onSkipFwrdButton(CCObject*) {
378382
const int fullLength = songManager.getSongToSongDataEntries().find(songManager.getCurrentSong())->second.songLength;
379383
const int lastPosition = songManager.getLastMenuLoopPosition();
380384

385+
songManager.setPauseSongPositionTracking(true);
381386
if ((lastPosition + 5000) > fullLength) {
382387
if (songManager.getConstantShuffleMode()) {
383388
SongControl::shuffleSong();
384389
SongControlMenu::updateCurrentLabel();
385390
} else if (fullLength > 0 && fullLength < std::numeric_limits<unsigned int>::max()) {
386-
fmod->getActiveMusicChannel(0)->setPosition(((((lastPosition % fullLength) + fullLength) % fullLength) + (5000 % fullLength)) % fullLength, FMOD_TIMEUNIT_MS);
391+
const int newPosition = ((((lastPosition % fullLength) + fullLength) % fullLength) + (5000 % fullLength)) % fullLength;
392+
fmod->getActiveMusicChannel(0)->setPosition(newPosition, FMOD_TIMEUNIT_MS);
393+
songManager.setLastMenuLoopPosition(newPosition);
387394
}
388395
} else {
389396
fmod->getActiveMusicChannel(0)->setPosition(lastPosition + 5000, FMOD_TIMEUNIT_MS);
390397
}
398+
songManager.setPauseSongPositionTracking(false);
391399
}
392400

393401
void SongControlMenu::updateCurrentLabel() {

0 commit comments

Comments
 (0)