|
|
|
|
@ -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() |
|
|
|
|
|