private void LogValues() { if (lastLogCheck == 0) { hasLog = File.Exists(LOGFILE); lastLogCheck = 300; } lastLogCheck--; if (hasLog || !Console.IsOutputRedirected) { if (mem.UIState() == UIState.PLAYING) { pdata.UpdateData(mem, WriteLogWithTime); } string prev = "", curr = ""; foreach (string key in keys) { prev = currentValues[key]; switch (key) { case "CurrentSplit": curr = currentSplit.ToString(); break; case "State": curr = state.ToString(); break; case "GameState": curr = mem.GameState().ToString(); break; case "SceneName": curr = mem.SceneName(); break; case "NextSceneName": curr = mem.NextSceneName(); break; case "Charms": curr = mem.CharmCount().ToString(); break; case "MapZone": curr = ((MapZone)mem.PlayerData <int>(Offset.mapZone)).ToString(); break; case "CameraMode": curr = mem.CameraMode().ToString(); break; case "MenuState": curr = mem.MenuState().ToString(); break; case "UIState": curr = mem.UIState().ToString(); break; case "AcceptingInput": curr = mem.AcceptingInput().ToString(); break; case "ActorState": curr = mem.HeroActorState().ToString(); break; default: curr = ""; break; } if (!prev.Equals(curr)) { WriteLogWithTime(key + ": ".PadRight(16 - key.Length, ' ') + prev.PadLeft(25, ' ') + " -> " + curr); currentValues[key] = curr; } } } }
private void LogValues() { if (lastLogCheck == 0) { hasLog = File.Exists(LOGFILE); lastLogCheck = 300; } lastLogCheck--; if (hasLog || !Console.IsOutputRedirected) { if (mem.UIState() == UIState.PLAYING) { pdata.UpdateData(mem, WriteLogWithTime); } string prev = "", curr = ""; foreach (string key in keys) { prev = currentValues[key]; switch (key) { case "CurrentSplit": curr = currentSplit.ToString(); break; case "State": curr = state.ToString(); break; case "GameState": curr = mem.GameState().ToString(); break; case "SceneName": curr = mem.SceneName(); break; case "NextSceneName": curr = mem.NextSceneName(); break; case "MapZone": curr = ((MapZone)mem.PlayerData <int>(Offset.mapZone)).ToString(); break; case "CameraMode": curr = mem.CameraMode().ToString(); break; case "MenuState": curr = mem.MenuState().ToString(); break; case "UIState": curr = mem.UIState().ToString(); break; case "AcceptingInput": curr = mem.AcceptingInput().ToString(); break; case "ActorState": curr = mem.HeroActorState().ToString(); break; case "Loading": GameState gameState = mem.GameState(); UIState uiState = mem.UIState(); string nextScene = mem.NextSceneName(); string sceneName = mem.SceneName(); bool loadingMenu = (string.IsNullOrEmpty(nextScene) && sceneName != "Menu_Title") || (nextScene == "Menu_Title" && sceneName != "Menu_Title"); curr = ((gameState == GameState.PLAYING && mem.CameraTeleporting()) || lookForTeleporting || ((gameState == GameState.PLAYING || gameState == GameState.ENTERING_LEVEL) && uiState != UIState.PLAYING) || (gameState != GameState.PLAYING && !mem.AcceptingInput()) || gameState == GameState.EXITING_LEVEL || gameState == GameState.LOADING || mem.HeroTransitionState() == HeroTransitionState.WAITING_TO_ENTER_LEVEL || (uiState != UIState.PLAYING && (uiState != UIState.PAUSED || loadingMenu) && (!string.IsNullOrEmpty(nextScene) || sceneName == "_test_charms" || loadingMenu) && nextScene != sceneName)).ToString(); break; case "Transition": curr = mem.HeroTransitionState().ToString(); break; case "Teleporting": curr = mem.CameraTeleporting().ToString(); break; case "LookFor": curr = lookForTeleporting.ToString(); break; default: curr = ""; break; } if (!prev.Equals(curr)) { WriteLogWithTime(key + ": ".PadRight(16 - key.Length, ' ') + prev.PadLeft(25, ' ') + " -> " + curr); currentValues[key] = curr; } } } }