@@ -23,6 +23,7 @@ public static void Load() {
2323 On . Celeste . LevelExit . ctor += onLevelExitConstructor ;
2424 On . Celeste . LevelLoader . ctor += onLevelLoaderConstructor ;
2525 On . Celeste . SaveData . StartSession += onSaveDataStartSession ;
26+ On . Celeste . LevelLoader . StartLevel += onLevelLoaderStartLevel ;
2627
2728 using ( new DetourContext { Before = { "*" } } ) {
2829 On . Celeste . LevelEnter . Go += onLevelEnterGo ;
@@ -36,6 +37,7 @@ public static void Unload() {
3637 On . Celeste . LevelLoader . ctor -= onLevelLoaderConstructor ;
3738 On . Celeste . SaveData . StartSession -= onSaveDataStartSession ;
3839 On . Celeste . LevelEnter . Go -= onLevelEnterGo ;
40+ On . Celeste . LevelLoader . StartLevel -= onLevelLoaderStartLevel ;
3941 }
4042
4143 private static IEnumerator modChapterPanelStartRoutine ( On . Celeste . OuiChapterPanel . orig_StartRoutine orig , OuiChapterPanel self , string checkpoint ) {
@@ -309,5 +311,15 @@ private static bool loadModSessions(Session session) {
309311
310312 return false ;
311313 }
314+
315+ private static void onLevelLoaderStartLevel ( On . Celeste . LevelLoader . orig_StartLevel orig , LevelLoader self ) {
316+ // loading is finished, so we don't need those anymore, in any case.
317+ temporaryLobbySIDHolder = null ;
318+ temporaryRoomHolder = null ;
319+ temporarySpawnPointHolder = Vector2 . Zero ;
320+ temporarySaveAllowedHolder = false ;
321+
322+ orig ( self ) ;
323+ }
312324 }
313325}
0 commit comments