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 CDunGenXMLReader;
22 class CDungeonGenerator;
23 class CMaterialProvider;
31 CDunGen(irr::IrrlichtDevice* irrDevice);
47 void ClearRoomsAndCorridors();
58 unsigned int CreateLSystemDerivation(
unsigned int desiredIteration);
63 void CreateVoxelCave();
67 void ErodeVoxelCave(
double erosionLikelihood);
70 void RemoveHoveringVoxelFragments();
75 void CreateMeshCave();
85 bool CreateRoom(
unsigned int roompatternIndex,
const irr::core::vector3d<double>& position,
86 const irr::core::vector3d<double>& rotation,
const irr::core::vector3d<double>& scaleFactor);
101 bool CreateCorridorRoomRoom(
unsigned int room0,
unsigned int dockingSite0,
double distance0,
double strenght0,
102 unsigned int room1,
unsigned int dockingSite1,
double distance1,
double strenght1,
103 bool& sightBlocking);
117 bool CreateCorridorRoomCave(
unsigned int room0,
unsigned int dockingSite0,
double distance0,
double strenght0,
118 const irr::core::vector3d<unsigned int>& minVox1,
const irr::core::vector3d<unsigned int>& maxVox1,
120 bool& sightBlocking);
135 bool CreateCorridorCaveCave(
const irr::core::vector3d<unsigned int>& minVox0,
const irr::core::vector3d<unsigned int>& maxVox0,
137 const irr::core::vector3d<unsigned int>& minVox1,
const irr::core::vector3d<unsigned int>& maxVox1,
139 bool& sightBlocking);
146 bool ReadDungeonFromFile(
const irr::io::path& filename);
151 void AddDungeon(irr::scene::ISceneNode* parentNode, irr::scene::ISceneManager* sceneManager);
162 void RandomGeneratorSetParameters(
unsigned int seed,
unsigned int a,
unsigned int c,
unsigned int m);
169 void LSystemAddRule(
char symbol,
const std::string& substitution);
172 void LSystemDeleteRules();
176 void LSystemSetStart(
const std::string& start);
188 void VoxelCaveSetParameters(
unsigned int border,
unsigned int mindrawradius);
192 unsigned int VoxelCaveEstimateMeshComplexity()
const;
201 void MeshCaveSetWarpParameters(
bool warpEnabled,
bool smoothEnabled,
unsigned int warpRandomSeed,
double warpStrength);
212 void CorridorSetDistances(
double distance,
double textureDistance);
218 void CorrdidorAddPoint(
double x,
double y,
double textureX);
221 void CorrdidorRemovePoints();
228 void CorrdidorRemoveDetailobjects();
232 void RoomPatternLoad(
const irr::io::path filename);
240 void MaterialSetCorridor(
const irr::io::path& textureFilename,
bool backFaceCulling,
bool antiAliasing);
246 void MaterialSetCaveSingleColor(
const irr::video::SColorf& color,
bool backFaceCulling,
bool antiAliasing);
251 void MaterialSetCaveMultiColor(
bool backFaceCulling,
bool antiAliasing);
255 void SetPrintToConsole(
bool value);
278 CDungeonGenerator* DungeonGenerator;
281 CMaterialProvider* MaterialProvider;
284 CDunGenXMLReader* DunGenXMLReader;
287 irr::IrrlichtDevice* IrrDevice;
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:26