Browse Source

Move two basic crypt setpices in to dun files

pull/5173/head
Anders Jenbo 4 years ago
parent
commit
efe6b18900
  1. 2
      CMake/Assets.cmake
  2. BIN
      Packaging/resources/assets/NLevels/L5Data/cornerstone.dun
  3. BIN
      Packaging/resources/assets/NLevels/L5Data/uberroom.dun
  4. 37
      Source/levels/crypt.cpp
  5. 4
      test/drlg_l1_test.cpp

2
CMake/Assets.cmake

@ -159,6 +159,8 @@ set(devilutionx_assets
gendata/cutstartw.pcx gendata/cutstartw.pcx
Levels/L1Data/SklKngT.dun Levels/L1Data/SklKngT.dun
Levels/L2Data/BonechaT.dun Levels/L2Data/BonechaT.dun
NLevels/L5Data/cornerstone.dun
NLevels/L5Data/uberroom.dun
ui_art/black_diablo.pcx ui_art/black_diablo.pcx
ui_art/black_hellfire.pcx ui_art/black_hellfire.pcx
ui_art/creditsw.pcx ui_art/creditsw.pcx

BIN
Packaging/resources/assets/NLevels/L5Data/cornerstone.dun

Binary file not shown.

BIN
Packaging/resources/assets/NLevels/L5Data/uberroom.dun

Binary file not shown.

37
Source/levels/crypt.cpp

@ -1,5 +1,6 @@
#include "levels/crypt.h" #include "levels/crypt.h"
#include "engine/load_file.hpp"
#include "engine/point.hpp" #include "engine/point.hpp"
#include "items.h" #include "items.h"
#include "levels/drlg_l1.h" #include "levels/drlg_l1.h"
@ -192,30 +193,6 @@ const Miniset CryptStar {
} }
}; };
const Miniset UberRoomPattern {
{ 4, 6 },
{},
{
{ 115, 130, 6, 13 },
{ 129, 108, 1, 13 },
{ 1, 107, 103, 13 },
{ 146, 106, 102, 13 },
{ 129, 168, 1, 13 },
{ 7, 2, 3, 13 },
}
};
const Miniset CornerstoneRoomPattern {
{ 5, 5 },
{},
{
{ 4, 2, 2, 2, 6 },
{ 1, 111, 172, 13, 1 },
{ 1, 172, 13, 13, 25 },
{ 1, 13, 13, 13, 1 },
{ 7, 2, 2, 2, 3 },
}
};
enum Tile : uint8_t { enum Tile : uint8_t {
// clang-format off // clang-format off
VWall = 1, VWall = 1,
@ -707,18 +684,22 @@ void SetCryptRoom()
IsUberRoomOpened = false; IsUberRoomOpened = false;
IsUberLeverActivated = false; IsUberLeverActivated = false;
SetPiece = { position, UberRoomPattern.size }; auto dunData = LoadFileInMem<uint16_t>("NLevels\\L5Data\\uberroom.dun");
UberRoomPattern.place(position, true); SetPiece = { position, { dunData[0], dunData[1] } };
PlaceDunTiles(dunData.get(), position, 0);
} }
void SetCornerRoom() void SetCornerRoom()
{ {
Point position = SelectChamber(); Point position = SelectChamber();
SetPiece = { position, CornerstoneRoomPattern.size }; auto dunData = LoadFileInMem<uint16_t>("NLevels\\L5Data\\cornerstone.dun");
SetPiece = { position, { dunData[0], dunData[1] } };
CornerstoneRoomPattern.place(position, true); PlaceDunTiles(dunData.get(), position, 0);
} }
void FixCryptDirtTiles() void FixCryptDirtTiles()

4
test/drlg_l1_test.cpp

@ -190,6 +190,8 @@ TEST(Drlg_l1, CreateL5Dungeon_crypt_1_2122696790)
{ {
LoadExpectedLevelData("hellfire/21-2122696790.dun"); LoadExpectedLevelData("hellfire/21-2122696790.dun");
paths::SetAssetsPath(paths::BasePath() + "/assets");
TestCreateDungeon(21, 2122696790, ENTRY_TWARPDN); TestCreateDungeon(21, 2122696790, ENTRY_TWARPDN);
EXPECT_EQ(ViewPosition, Point(61, 81)); EXPECT_EQ(ViewPosition, Point(61, 81));
TestCreateDungeon(21, 2122696790, ENTRY_PREV); TestCreateDungeon(21, 2122696790, ENTRY_PREV);
@ -224,6 +226,8 @@ TEST(Drlg_l1, CreateL5Dungeon_crypt_4_1324803725)
{ {
LoadExpectedLevelData("hellfire/24-1324803725.dun"); LoadExpectedLevelData("hellfire/24-1324803725.dun");
paths::SetAssetsPath(paths::BasePath() + "/assets");
TestCreateDungeon(24, 1324803725, ENTRY_MAIN); TestCreateDungeon(24, 1324803725, ENTRY_MAIN);
EXPECT_EQ(ViewPosition, Point(79, 47)); EXPECT_EQ(ViewPosition, Point(79, 47));
} }

Loading…
Cancel
Save