8 #include "ArchitectCommon.h"
9 #include "CorridorCommon.h"
10 #include "LSystemCommon.h"
11 #include "MeshCaveCommon.h"
12 #include "VoxelCaveCommon.h"
16 #define DllExport __declspec(dllexport)
21 class CDungeonGenerator;
29 CDunGen(irr::IrrlichtDevice* irrDevice);
43 unsigned int CreateLSystemDerivation(
unsigned int desiredIteration);
48 void CreateVoxelCave();
52 void ErodeVoxelCave(
double erosionLikelihood);
55 void RemoveHoveringVoxelFragments();
60 void CreateMeshCave();
70 bool CreateRoom(
unsigned int roompatternIndex,
const irr::core::vector3d<double>& position,
71 const irr::core::vector3d<double>& rotation,
const irr::core::vector3d<double>& scaleFactor);
86 bool CreateCorridorRoomRoom(
unsigned int room0,
unsigned int dockingSite0,
double distance0,
double strenght0,
87 unsigned int room1,
unsigned int dockingSite1,
double distance1,
double strenght1,
102 bool CreateCorridorRoomCave(
unsigned int room0,
unsigned int dockingSite0,
double distance0,
double strenght0,
103 const irr::core::vector3d<unsigned int>& minVox1,
const irr::core::vector3d<unsigned int>& maxVox1,
105 bool& sightBlocking);
120 bool CreateCorridorCaveCave(
const irr::core::vector3d<unsigned int>& minVox0,
const irr::core::vector3d<unsigned int>& maxVox0,
122 const irr::core::vector3d<unsigned int>& minVox1,
const irr::core::vector3d<unsigned int>& maxVox1,
124 bool& sightBlocking);
131 void AddDungeon(irr::scene::ISceneNode* parentNode, irr::scene::ISceneManager* sceneManager);
142 void RandomGeneratorSetParameters(
unsigned int seed,
unsigned int a,
unsigned int c,
unsigned int m);
149 void LSystemAddRule(
char symbol,
const std::string& substitution);
152 void LSystemDeleteRules();
156 void LSystemSetStart(
const std::string& start);
168 void VoxelCaveSetParameters(
unsigned int border,
unsigned int mindrawradius);
172 unsigned int VoxelCaveEstimateMeshComplexity()
const;
181 void MeshCaveSetWarpParameters(
bool warpEnabled,
bool smoothEnabled,
unsigned int warpRandomSeed,
double warpStrength);
192 void CorridorSetDistances(
double distance,
double textureDistance);
198 void CorrdidorAddPoint(
double x,
double y,
double textureX);
201 void CorrdidorRemovePoints();
208 void CorrdidorRemoveDetailobjects();
212 void RoomPatternLoad(
const irr::io::path filename);
220 void MaterialSetCorridor(
const irr::io::path& textureFilename,
bool backFaceCulling,
bool antiAliasing);
226 void MaterialSetCaveSingleColor(
const irr::video::SColorf& color,
bool backFaceCulling,
bool antiAliasing);
231 void MaterialSetCaveMultiColor(
bool backFaceCulling,
bool antiAliasing);
235 void SetPrintToConsole(
bool value);
258 CDungeonGenerator* DungeonGenerator;
Enum
Definition: ArchitectCommon.h:13
static const unsigned int DimX
X dimension of the Voxel space.
Definition: VoxelCaveCommon.h:14
Enum
Definition: LSystemCommon.h:13
static const unsigned int DimZ
Z dimension of the Voxel space.
Definition: VoxelCaveCommon.h:18
Enum
Definition: MeshCaveCommon.h:13
static const unsigned int DimY
Y dimension of the Voxel space.
Definition: VoxelCaveCommon.h:16
The parameters of a detailobject in a corridor.
Definition: CorridorCommon.h:13
Interfaceclass for the DunGen-DungeonGenerator.
Definition: DunGen.h:24