feat: TU19 (Dec 2014) Features & Content (#155)
* 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>
This commit is contained in:
93
Minecraft.World/StructureFeatureIO.h
Normal file
93
Minecraft.World/StructureFeatureIO.h
Normal file
@@ -0,0 +1,93 @@
|
||||
#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);
|
||||
};
|
||||
Reference in New Issue
Block a user