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
Levels/L1Data/SklKngT.dun
Levels/L2Data/BonechaT.dun
NLevels/L5Data/cornerstone.dun
NLevels/L5Data/uberroom.dun
ui_art/black_diablo.pcx
ui_art/black_hellfire.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 "engine/load_file.hpp"
#include "engine/point.hpp"
#include "items.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 {
// clang-format off
VWall = 1,
@ -707,18 +684,22 @@ void SetCryptRoom()
IsUberRoomOpened = 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()
{
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()

4
test/drlg_l1_test.cpp

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

Loading…
Cancel
Save