changeset 1495:990fadbaac18

Cleanup of LevelDecoration. (2)
author yoctozepto
date Sun, 01 Sep 2013 11:57:07 +0200
parents 3efe35df79c3
children ac7599089b78
files Level/Decoration.cpp
diffstat 1 files changed, 19 insertions(+), 15 deletions(-) [+]
line wrap: on
line diff
--- a/Level/Decoration.cpp	Sun Sep 01 11:53:41 2013 +0200
+++ b/Level/Decoration.cpp	Sun Sep 01 11:57:07 2013 +0200
@@ -119,22 +119,26 @@
   //bool v1; // ebx@1
   //LevelDecoration *v2; // edi@1
 
+  static const std::array<const PARTY_QUEST_BITS, 14> aObeliskQuests = {
+    PARTY_QUEST_OBELISK_HARMONDALE,
+    PARTY_QUEST_OBELISK_ERATHIA,
+    PARTY_QUEST_OBELISK_TULAREAN_FOREST,
+    PARTY_QUEST_OBELISK_DEYJA,
+    PARTY_QUEST_OBELISK_BRACADA_DESERT,
+    PARTY_QUEST_OBELISK_CELESTE,
+    PARTY_QUEST_OBELISK_THE_PIT,
+    PARTY_QUEST_OBELISK_EVENMORN_ISLAND,
+    PARTY_QUEST_OBELISK_MOUNT_NIGHON,
+    PARTY_QUEST_OBELISK_BARROW_DOWNS,
+    PARTY_QUEST_OBELISK_LAND_OF_THE_GIANTS,
+    PARTY_QUEST_OBELISK_TATALIA,
+    PARTY_QUEST_OBELISK_AVLEE,
+    PARTY_QUEST_OBELISK_STONE_CITY
+  };
+
   if (pParty->uCurrentHour == 0
-      && !_449B57_test_bit(pParty->_quest_bits, 178)
-      && _449B57_test_bit(pParty->_quest_bits, 164)
-      && _449B57_test_bit(pParty->_quest_bits, 165)
-      && _449B57_test_bit(pParty->_quest_bits, 166)
-      && _449B57_test_bit(pParty->_quest_bits, 167)
-      && _449B57_test_bit(pParty->_quest_bits, 168)
-      && _449B57_test_bit(pParty->_quest_bits, 169)
-      && _449B57_test_bit(pParty->_quest_bits, 170)
-      && _449B57_test_bit(pParty->_quest_bits, 171)
-      && _449B57_test_bit(pParty->_quest_bits, 172)
-      && _449B57_test_bit(pParty->_quest_bits, 173)
-      && _449B57_test_bit(pParty->_quest_bits, 174)
-      && _449B57_test_bit(pParty->_quest_bits, 175)
-      && _449B57_test_bit(pParty->_quest_bits, 176)
-      && _449B57_test_bit(pParty->_quest_bits, 177))
+      && !TestPartyQuestBit(PARTY_QUEST_OBELISK_TREASURE_FOUND)
+      && std::all_of(aObeliskQuests.begin(), aObeliskQuests.end(), TestPartyQuestBit))
   {
     this->uFlags &= ~LEVEL_DECORATION_INVISIBLE;
     return true;