private static Scene _GetNextScene(Overworld.StartMode startMode, HiresSnow snow) { bool transitionToModUpdater = false; if (CoreModule.Settings.AutoUpdateModsOnStartup) { if (!ModUpdaterHelper.IsAsyncUpdateCheckingDone()) { // update checking is not done yet. // transition to mod updater screen to display the "checking for updates" message. transitionToModUpdater = true; } else { SortedDictionary <ModUpdateInfo, EverestModuleMetadata> modUpdates = ModUpdaterHelper.GetAsyncLoadedModUpdates(); if (modUpdates != null && modUpdates.Count != 0) { // update checking is done, and updates are available. // transition to mod updater screen in order to install the updates transitionToModUpdater = true; } } } if (transitionToModUpdater) { return(new AutoModUpdater(snow)); } else { return(new OverworldLoader(startMode, snow)); } }
public override bool IsStart(Overworld overworld, Overworld.StartMode start) { if (CoreModule.Settings.CurrentVersion == null && !overworld.IsCurrent <OuiOOBE>()) { start = Overworld.StartMode.MainMenu; } return(orig_IsStart(overworld, start)); }
public override bool IsStart(Overworld overworld, Overworld.StartMode start) { if (start == (Overworld.StartMode) 55) { this.Add((Component) new Coroutine(this.Enter((Oui)null), true)); return(true); } return(false); }
public override bool IsStart(Overworld overworld, Overworld.StartMode start) { if (start != Overworld.StartMode.Titlescreen || CoreModule.Settings.CurrentVersion != null) { return(false); } Add(new Coroutine(Enter(null))); return(true); }
public override bool IsStart(Overworld overworld, Overworld.StartMode start) { if (start == RandoModule.STARTMODE_RANDOMIZER) { this.Add(new Coroutine(this.Enter(null))); return(true); } return(false); }
public override bool IsStart(Overworld overworld, Overworld.StartMode start) { if (SaveData.Instance != null && SaveData.Instance.LastArea.ID == AreaKey.None.ID) { SaveData.Instance.LastArea = AreaKey.Default; instantClose = true; } return(orig_IsStart(overworld, start)); }
public override bool IsStart(Overworld overworld, Overworld.StartMode start) { if (Start) { Start = false; Add(new Coroutine(Enter(null))); return(true); } return(false); }
public override bool IsStart(Overworld overworld, Overworld.StartMode start) { if (start != Overworld.StartMode.Titlescreen) { return(false); } if (CoreModule.Settings.CurrentVersion != null) { CoreModule.Instance.SaveSettings(); // be sure CurrentVersion is updated on startup. return(false); } Add(new Coroutine(Enter(null))); return(true); }
public override bool IsStart(Overworld overworld, Overworld.StartMode start) { if (start == Overworld.StartMode.AreaComplete || start == Overworld.StartMode.AreaQuit) { AreaData area = AreaData.Get(SaveData.Instance.LastArea.ID); area = AreaDataExt.Get(area?.GetMeta()?.Parent) ?? area; if (area != null) { SaveData.Instance.LastArea.ID = area.ID; } } return(orig_IsStart(overworld, start)); }
public override bool IsStart(Overworld overworld, Overworld.StartMode start) { if (SaveData.Instance != null && SaveData.Instance.LastArea.ID == AreaKey.None.ID) { SaveData.Instance.LastArea = AreaKey.Default; instantClose = true; } if (start == Overworld.StartMode.AreaComplete || start == Overworld.StartMode.AreaQuit) { AreaData area = AreaData.Get(SaveData.Instance.LastArea.ID); area = AreaDataExt.Get(area?.GetMeta()?.Parent) ?? area; if (area != null) { SaveData.Instance.LastArea.ID = area.ID; } } bool isStart = orig_IsStart(overworld, start); if (isStart && option >= options.Count && options.Count == 1) { // we are coming back from a B/C-side and we didn't unlock B-sides. Force-add it. AddRemixButton(); } if (isStart && option >= options.Count && options.Count == 2) { // we are coming back from a C-side we did not unlock. Force-add it. options.Add(new Option { Label = Dialog.Clean("overworld_remix2"), Icon = GFX.Gui["menu/rmx2"], ID = "C" }); } return(isStart); }
private bool ReturnToAltSide(On.Celeste.OuiChapterSelect.orig_IsStart orig, OuiChapterSelect self, Overworld overworld, Overworld.StartMode start) { if (start == Overworld.StartMode.AreaComplete || start == Overworld.StartMode.AreaQuit) { AreaData area = AreaData.Get(SaveData.Instance.LastArea.ID); var meta = GetMetaForAreaData(area); if (meta?.AltSideData.IsAltSide ?? false) { area = AreaData.Get(meta.AltSideData.For) ?? area; if (area != null) { SaveData.Instance.LastArea.ID = area.ID; } } } return(orig(self, overworld, start)); }
public extern bool orig_IsStart(Overworld overworld, Overworld.StartMode start);
public patch_OverworldLoader(Overworld.StartMode startMode, HiresSnow snow = null) : base(startMode, snow) { // no-op. MonoMod ignores this - we only need this to make the compiler shut up. }
private static void onOverworldLoad(On.Celeste.OverworldLoader.orig_ctor orig, OverworldLoader self, Overworld.StartMode startMode, HiresSnow snow) { orig(self, startMode, snow); if (startMode != (Overworld.StartMode)(-1)) // -1 = in-game overworld from the collab utils { deactivateHooks(); deactivateHooksNoJungleHelper(); } }
private bool FixReturnFromAltSide(On.Celeste.OuiChapterPanel.orig_IsStart orig, OuiChapterPanel self, Overworld overworld, Overworld.StartMode start) { AreaData newArea = null; AreaData old; if (start == Overworld.StartMode.AreaComplete || start == Overworld.StartMode.AreaQuit) { AreaData area = AreaData.Get(SaveData.Instance.LastArea.ID); old = area; var meta = GetMetaForAreaData(area); if (meta?.AltSideData.IsAltSide ?? false) { area = AreaData.Get(meta.AltSideData.For) ?? area; if (area != null) { newArea = area; SaveData.Instance.LastArea.ID = area.ID; int returningSide = 0; //last unlocked mode if (!area.Interlude_Safe && area.HasMode(AreaMode.BSide) && (SaveData.Instance.Areas_Safe[area.ID].Cassette || SaveData.Instance.DebugMode || SaveData.Instance.CheatMode)) { returningSide++; } if (!area.Interlude_Safe && area.HasMode(AreaMode.CSide) && SaveData.Instance.UnlockedModes >= 3) { returningSide++; } var asideAltSideMeta = GetMetaForAreaData(area); foreach (var mode in asideAltSideMeta.Sides) { if (!mode.OverrideVanillaSideData) { returningSide++; if (mode.Map.Equals(old.GetSID())) { break; } } } returningAltSide = returningSide; SaveData.Instance.LastArea_Safe.ID = old.ID; } } } var ret = orig(self, overworld, start); if (newArea != null) { //self.Data = newArea; SaveData.Instance.LastArea_Safe.ID = newArea.ID; shouldResetStats = false; resetMethod.Invoke(self, new object[] { }); shouldResetStats = true; } returningAltSide = -1; return(ret); }
private void EnterToRandoMenu(On.Celeste.OverworldLoader.orig_ctor orig, OverworldLoader self, Overworld.StartMode startMode, HiresSnow snow) { if ((startMode == Overworld.StartMode.MainMenu || startMode == Overworld.StartMode.AreaComplete) && this.InRandomizer) { startMode = RandoModule.STARTMODE_RANDOMIZER; } orig(self, startMode, snow); }
public void EnterToRandoMenu(On.Celeste.OverworldLoader.orig_ctor orig, OverworldLoader self, Overworld.StartMode startMode, HiresSnow snow) { if ((startMode == Overworld.StartMode.MainMenu || startMode == Overworld.StartMode.AreaComplete) && this.InRandomizer) { startMode = (Overworld.StartMode) 55; } orig(self, startMode, snow); }