* try to resolve merge conflict
* feat: TU19 (Dec 2014) Features & Content (#32)
* December 2014 files
* Working release build
* Fix compilation issues
* Add sound to Windows64Media
* Add DLC content and force Tutorial DLC
* Revert "Add DLC content and force Tutorial DLC"
This reverts commit 97a4399472.
* Disable broken light packing
* Disable breakpoint during DLC texture map load
Allows DLC loading but the DLC textures are still broken
* Fix post build not working
* ...
* fix vs2022 build
* fix cmake build
---------
Co-authored-by: Loki <lokirautio@gmail.com>
93 lines
2.7 KiB
C++
93 lines
2.7 KiB
C++
#pragma once
|
|
|
|
class StructurePiece;
|
|
class StructureStart;
|
|
|
|
typedef StructurePiece *(*structurePieceCreateFn)();
|
|
typedef StructureStart *(*structureStartCreateFn)();
|
|
|
|
enum EStructureStart
|
|
{
|
|
eStructureStart_MineShaftStart,
|
|
eStructureStart_VillageStart,
|
|
eStructureStart_NetherBridgeStart,
|
|
eStructureStart_StrongholdStart,
|
|
eStructureStart_ScatteredFeatureStart,
|
|
};
|
|
|
|
enum EStructurePiece
|
|
{
|
|
eStructurePiece_MineShaftRoom,
|
|
eStructurePiece_MineShaftCorridor,
|
|
eStructurePiece_MineShaftCrossing,
|
|
eStructurePiece_MineShaftStairs,
|
|
|
|
eStructurePiece_BridgeStraight,
|
|
eStructurePiece_BridgeEndFiller,
|
|
eStructurePiece_BridgeCrossing,
|
|
eStructurePiece_RoomCrossing,
|
|
eStructurePiece_StairsRoom,
|
|
eStructurePiece_MonsterThrone,
|
|
eStructurePiece_CastleEntrance,
|
|
eStructurePiece_CastleStalkRoom,
|
|
eStructurePiece_CastleSmallCorridorPiece,
|
|
eStructurePiece_CastleSmallCorridorCrossingPiece,
|
|
eStructurePiece_CastleSmallCorridorRightTurnPiece,
|
|
eStructurePiece_CastleSmallCorridorLeftTurnPiece,
|
|
eStructurePiece_CastleCorridorStairsPiece,
|
|
eStructurePiece_CastleCorridorTBalconyPiece,
|
|
eStructurePiece_NetherBridgeStartPiece,
|
|
|
|
eStructurePiece_DesertPyramidPiece,
|
|
eStructurePiece_JunglePyramidPiece,
|
|
eStructurePiece_SwamplandHut,
|
|
|
|
eStructurePiece_FillerCorridor,
|
|
eStructurePiece_StairsDown,
|
|
eStructurePiece_Straight,
|
|
eStructurePiece_ChestCorridor,
|
|
eStructurePiece_StraightStairsDown,
|
|
eStructurePiece_LeftTurn,
|
|
eStructurePiece_RightTurn,
|
|
eStructurePiece_StrongholdRoomCrossing,
|
|
eStructurePiece_PrisonHall,
|
|
eStructurePiece_Library,
|
|
eStructurePiece_FiveCrossing,
|
|
eStructurePiece_PortalRoom,
|
|
eStructurePiece_StrongholdStartPiece,
|
|
|
|
eStructurePiece_Well,
|
|
eStructurePiece_StraightRoad,
|
|
eStructurePiece_SimpleHouse,
|
|
eStructurePiece_SmallTemple,
|
|
eStructurePiece_BookHouse,
|
|
eStructurePiece_SmallHut,
|
|
eStructurePiece_PigHouse,
|
|
eStructurePiece_TwoRoomHouse,
|
|
eStructurePiece_Smithy,
|
|
eStructurePiece_Farmland,
|
|
eStructurePiece_DoubleFarmland,
|
|
eStructurePiece_LightPost,
|
|
eStructurePiece_VillageStartPiece,
|
|
};
|
|
|
|
class StructureFeatureIO
|
|
{
|
|
private:
|
|
static unordered_map<wstring, structureStartCreateFn> startIdClassMap;
|
|
static unordered_map<unsigned int, wstring> startClassIdMap;
|
|
|
|
static unordered_map<wstring, structurePieceCreateFn> pieceIdClassMap;
|
|
static unordered_map<unsigned int, wstring> pieceClassIdMap;
|
|
|
|
public:
|
|
static void setStartId(EStructureStart clas, structureStartCreateFn createFn, const wstring &id);
|
|
static void setPieceId(EStructurePiece clas, structurePieceCreateFn createFn, const wstring &id);
|
|
|
|
public:
|
|
static void staticCtor();
|
|
static wstring getEncodeId(StructureStart *start);
|
|
static wstring getEncodeId(StructurePiece *piece);
|
|
static StructureStart *loadStaticStart(CompoundTag *tag, Level *level);
|
|
static StructurePiece *loadStaticPiece(CompoundTag *tag, Level *level);
|
|
}; |