From 0c3b434d7687aad31101014731ac7beec28c0ada Mon Sep 17 00:00:00 2001 From: obligaron Date: Sat, 17 Dec 2022 19:04:48 +0100 Subject: [PATCH] Make debug command restart compatible with multiplayer --- Source/debug.cpp | 1 + Source/msg.cpp | 6 ++++++ Source/msg.h | 1 + 3 files changed, 8 insertions(+) diff --git a/Source/debug.cpp b/Source/debug.cpp index f31a19a58..a6e65e4ee 100644 --- a/Source/debug.cpp +++ b/Source/debug.cpp @@ -432,6 +432,7 @@ std::string DebugCmdResetLevel(const string_view parameter) if (level < 0 || level > (gbIsHellfire ? 24 : 16)) return StrCat("Level ", level, " is not known. Do you want to write an extension mod?"); myPlayer._pLvlVisited[level] = false; + DeltaClearLevel(level); if (std::getline(paramsStream, singleParameter, ' ')) { uint32_t seed = static_cast(std::stoul(singleParameter)); diff --git a/Source/msg.cpp b/Source/msg.cpp index ad4d43cff..1c4d694d5 100644 --- a/Source/msg.cpp +++ b/Source/msg.cpp @@ -2649,6 +2649,12 @@ void delta_init() LocalLevels.clear(); } +void DeltaClearLevel(uint8_t level) +{ + DeltaLevels.erase(level); + LocalLevels.erase(level); +} + void delta_kill_monster(const Monster &monster, Point position, const Player &player) { if (!gbIsMultiplayer) diff --git a/Source/msg.h b/Source/msg.h index 6f260b1ff..8cd2a0cc4 100644 --- a/Source/msg.h +++ b/Source/msg.h @@ -743,6 +743,7 @@ void run_delta_info(); void DeltaExportData(int pnum); void DeltaSyncJunk(); void delta_init(); +void DeltaClearLevel(uint8_t level); void delta_kill_monster(const Monster &monster, Point position, const Player &player); void delta_monster_hp(const Monster &monster, const Player &player); void delta_sync_monster(const TSyncMonster &monsterSync, uint8_t level);