From 50a222f1a2a8e53993f3b636260c647340a994a1 Mon Sep 17 00:00:00 2001 From: Anders Jenbo Date: Mon, 6 Jun 2022 13:12:38 +0200 Subject: [PATCH] Test generating a level for the butcher quests --- Source/quests.cpp | 3 +++ test/Fixtures.cmake | 4 +++- test/drlg_l1_test.cpp | 28 +++++++++++++++++++++--- test/fixtures/Levels/L1Data/rnd6.DUN | Bin 0 -> 1228 bytes test/fixtures/hellfire/2-1180526547.dun | Bin 0 -> 54404 bytes 5 files changed, 31 insertions(+), 4 deletions(-) create mode 100644 test/fixtures/Levels/L1Data/rnd6.DUN create mode 100644 test/fixtures/hellfire/2-1180526547.dun diff --git a/Source/quests.cpp b/Source/quests.cpp index 937a4ed39..60c4ee6e4 100644 --- a/Source/quests.cpp +++ b/Source/quests.cpp @@ -121,6 +121,9 @@ int QuestGroup3[3] = { Q_MUSHROOM, Q_ZHAR, Q_ANVIL }; */ int QuestGroup4[2] = { Q_VEIL, Q_WARLORD }; +/** + * @brief There is no reason to run this, the room has already had a proper sector assigned + */ void DrawButcher() { int x = 2 * setpc_x + 16; diff --git a/test/Fixtures.cmake b/test/Fixtures.cmake index 88dd52f27..915a90d8b 100644 --- a/test/Fixtures.cmake +++ b/test/Fixtures.cmake @@ -19,11 +19,12 @@ set(devilutionx_fixtures diablo/12-2104541047.dun diablo/13-428074402.dun diablo/14-717625719.dun - diablo/15-1583642716-changed.dun diablo/15-1583642716.dun + diablo/15-1583642716-changed.dun diablo/16-741281013.dun hellfire/1-401921334.dun hellfire/2-128964898.dun + hellfire/2-1180526547.dun hellfire/3-1512491184.dun hellfire/3-1799396623.dun hellfire/4-1190318991.dun @@ -38,6 +39,7 @@ set(devilutionx_fixtures hellfire/24-1324803725.dun Levels/L1Data/Banner1.DUN Levels/L1Data/Banner2.DUN + Levels/L1Data/rnd6.DUN Levels/L1Data/SKngDO.DUN Levels/L2Data/Blind1.DUN Levels/L4Data/diab1.DUN diff --git a/test/drlg_l1_test.cpp b/test/drlg_l1_test.cpp index 39d0ac6e1..7d6e3f27f 100644 --- a/test/drlg_l1_test.cpp +++ b/test/drlg_l1_test.cpp @@ -42,7 +42,7 @@ TEST(Drlg_l1, CreateL5Dungeon_diablo_2_1383137027) MyPlayer->pOriginalCathedral = true; - Quests[Q_PWATER]._qlevel = 2; + InitQuests(); Quests[Q_PWATER]._qactive = QUEST_INIT; Quests[Q_BUTCHER]._qactive = QUEST_NOTAVAIL; @@ -95,6 +95,7 @@ TEST(Drlg_l1, CreateL5Dungeon_hellfire_2_128964898) LoadExpectedLevelData("hellfire/2-128964898.dun"); MyPlayer->pOriginalCathedral = false; + InitQuests(); Quests[Q_PWATER]._qactive = QUEST_NOTAVAIL; Quests[Q_BUTCHER]._qactive = QUEST_NOTAVAIL; @@ -104,11 +105,27 @@ TEST(Drlg_l1, CreateL5Dungeon_hellfire_2_128964898) EXPECT_EQ(ViewPosition, Point(49, 63)); } +TEST(Drlg_l1, CreateL5Dungeon_hellfire_2_1180526547) +{ + LoadExpectedLevelData("hellfire/2-1180526547.dun"); + + MyPlayer->pOriginalCathedral = false; + InitQuests(); + Quests[Q_PWATER]._qactive = QUEST_NOTAVAIL; + Quests[Q_BUTCHER]._qactive = QUEST_INIT; + + TestCreateDungeon(2, 1180526547, ENTRY_MAIN); + EXPECT_EQ(ViewPosition, Point(83, 68)); + TestCreateDungeon(2, 1180526547, ENTRY_PREV); + EXPECT_EQ(ViewPosition, Point(81, 45)); +} + TEST(Drlg_l1, CreateL5Dungeon_hellfire_3_1799396623) { LoadExpectedLevelData("hellfire/3-1799396623.dun"); MyPlayer->pOriginalCathedral = false; + InitQuests(); Quests[Q_SKELKING]._qactive = QUEST_NOTAVAIL; TestCreateDungeon(3, 1799396623, ENTRY_MAIN); @@ -122,7 +139,7 @@ TEST(Drlg_l1, CreateL5Dungeon_hellfire_3_1512491184) LoadExpectedLevelData("hellfire/3-1512491184.dun"); MyPlayer->pOriginalCathedral = false; - Quests[Q_SKELKING]._qlevel = 3; + InitQuests(); Quests[Q_SKELKING]._qactive = QUEST_INIT; TestCreateDungeon(3, 1512491184, ENTRY_MAIN); @@ -136,6 +153,7 @@ TEST(Drlg_l1, CreateL5Dungeon_hellfire_4_1190318991) LoadExpectedLevelData("hellfire/4-1190318991.dun"); MyPlayer->pOriginalCathedral = false; + InitQuests(); Quests[Q_LTBANNER]._qactive = QUEST_NOTAVAIL; TestCreateDungeon(4, 1190318991, ENTRY_MAIN); @@ -149,7 +167,7 @@ TEST(Drlg_l1, CreateL5Dungeon_hellfire_4_1924296259) LoadExpectedLevelData("hellfire/4-1924296259.dun"); MyPlayer->pOriginalCathedral = false; - Quests[Q_LTBANNER]._qlevel = 4; + InitQuests(); Quests[Q_LTBANNER]._qactive = QUEST_INIT; TestCreateDungeon(4, 1924296259, ENTRY_MAIN); @@ -172,6 +190,10 @@ TEST(Drlg_l1, CreateL5Dungeon_crypt_2_1191662129) { LoadExpectedLevelData("hellfire/22-1191662129.dun"); + InitQuests(); + Quests[Q_PWATER]._qactive = QUEST_NOTAVAIL; + Quests[Q_BUTCHER]._qactive = QUEST_NOTAVAIL; + TestCreateDungeon(22, 1191662129, ENTRY_MAIN); EXPECT_EQ(ViewPosition, Point(71, 47)); TestCreateDungeon(22, 1191662129, ENTRY_PREV); diff --git a/test/fixtures/Levels/L1Data/rnd6.DUN b/test/fixtures/Levels/L1Data/rnd6.DUN new file mode 100644 index 0000000000000000000000000000000000000000..1e53ffdf0a90febd9735ecc8ed13ee0646b2ebee GIT binary patch literal 1228 zcmZQ$U}NA#g3}p-7y`f$B<>HDsY7B{GfaewGcxosgfc`k#4toKgfonS(GVC7fzc2c Hs1N`E;7|vO literal 0 HcmV?d00001 diff --git a/test/fixtures/hellfire/2-1180526547.dun b/test/fixtures/hellfire/2-1180526547.dun new file mode 100644 index 0000000000000000000000000000000000000000..3c6046665c26a2027afa376fa24c3f9569bd8eac GIT binary patch literal 54404 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 Hs5kd5F&8cq literal 0 HcmV?d00001