From 1f7cfcf945aa133274e69034ce3b731c0524dbbe Mon Sep 17 00:00:00 2001 From: Juliano Leal Goncalves Date: Sun, 27 Jun 2021 18:36:55 -0300 Subject: [PATCH] =?UTF-8?q?=E2=99=BB=EF=B8=8F=20Replace=20'ReturnLvlX'=20a?= =?UTF-8?q?nd=20'ReturnLvlY'=20globals=20with=20single=20'ReturnLvlPositio?= =?UTF-8?q?n'?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- Source/loadsave.cpp | 8 ++++---- Source/quests.cpp | 17 ++++++----------- Source/quests.h | 3 +-- 3 files changed, 11 insertions(+), 17 deletions(-) diff --git a/Source/loadsave.cpp b/Source/loadsave.cpp index 4dfc99e87..fb0951983 100644 --- a/Source/loadsave.cpp +++ b/Source/loadsave.cpp @@ -757,8 +757,8 @@ void LoadQuest(LoadHelper *file, int i) file->Skip(1); // Alignment quest._qlog = file->NextBool32(); - ReturnLvlX = file->NextBE(); - ReturnLvlY = file->NextBE(); + ReturnLvlPosition.x = file->NextBE(); + ReturnLvlPosition.y = file->NextBE(); ReturnLevel = file->NextBE(); ReturnLevelType = static_cast(file->NextBE()); file->Skip(sizeof(int32_t)); // Skip DoomQuestState @@ -1397,8 +1397,8 @@ void SaveQuest(SaveHelper *file, int i) file->Skip(1); // Alignment file->WriteLE(quest._qlog ? 1 : 0); - file->WriteBE(ReturnLvlX); - file->WriteBE(ReturnLvlY); + file->WriteBE(ReturnLvlPosition.x); + file->WriteBE(ReturnLvlPosition.y); file->WriteBE(ReturnLevel); file->WriteBE(ReturnLevelType); file->Skip(sizeof(int32_t)); // Skip DoomQuestState diff --git a/Source/quests.cpp b/Source/quests.cpp index b150d9a7b..41f445612 100644 --- a/Source/quests.cpp +++ b/Source/quests.cpp @@ -30,8 +30,7 @@ bool QuestLogIsOpen; std::optional pQLogCel; /** Contains the quests of the current game. */ Quest Quests[MAXQUESTS]; -int ReturnLvlX; -int ReturnLvlY; +Point ReturnLvlPosition; dungeon_type ReturnLevelType; int ReturnLevel; @@ -553,28 +552,24 @@ void SetReturnLvlPos() { switch (setlvlnum) { case SL_SKELKING: - ReturnLvlX = Quests[Q_SKELKING].position.x + 1; - ReturnLvlY = Quests[Q_SKELKING].position.y; + ReturnLvlPosition = Quests[Q_SKELKING].position + DIR_SE; ReturnLevel = Quests[Q_SKELKING]._qlevel; ReturnLevelType = DTYPE_CATHEDRAL; break; case SL_BONECHAMB: - ReturnLvlX = Quests[Q_SCHAMB].position.x + 1; - ReturnLvlY = Quests[Q_SCHAMB].position.y; + ReturnLvlPosition = Quests[Q_SCHAMB].position + DIR_SE; ReturnLevel = Quests[Q_SCHAMB]._qlevel; ReturnLevelType = DTYPE_CATACOMBS; break; case SL_MAZE: break; case SL_POISONWATER: - ReturnLvlX = Quests[Q_PWATER].position.x; - ReturnLvlY = Quests[Q_PWATER].position.y + 1; + ReturnLvlPosition = Quests[Q_PWATER].position + DIR_SW; ReturnLevel = Quests[Q_PWATER]._qlevel; ReturnLevelType = DTYPE_CATHEDRAL; break; case SL_VILEBETRAYER: - ReturnLvlX = Quests[Q_BETRAYER].position.x + 1; - ReturnLvlY = Quests[Q_BETRAYER].position.y - 1; + ReturnLvlPosition = Quests[Q_BETRAYER].position + DIR_E; ReturnLevel = Quests[Q_BETRAYER]._qlevel; ReturnLevelType = DTYPE_HELL; break; @@ -587,7 +582,7 @@ void GetReturnLvlPos() { if (Quests[Q_BETRAYER]._qactive == QUEST_DONE) Quests[Q_BETRAYER]._qvar2 = 2; - ViewPosition = { ReturnLvlX, ReturnLvlY }; + ViewPosition = ReturnLvlPosition; currlevel = ReturnLevel; leveltype = ReturnLevelType; } diff --git a/Source/quests.h b/Source/quests.h index fe1c9a788..92bb303a3 100644 --- a/Source/quests.h +++ b/Source/quests.h @@ -74,8 +74,7 @@ struct QuestDataStruct { extern bool QuestLogIsOpen; extern std::optional pQLogCel; extern Quest Quests[MAXQUESTS]; -extern int ReturnLvlX; -extern int ReturnLvlY; +extern Point ReturnLvlPosition; extern dungeon_type ReturnLevelType; extern int ReturnLevel;