summaryrefslogtreecommitdiffstats
path: root/src/Generating/GridStructGen.h
diff options
context:
space:
mode:
Diffstat (limited to 'src/Generating/GridStructGen.h')
-rw-r--r--src/Generating/GridStructGen.h20
1 files changed, 16 insertions, 4 deletions
diff --git a/src/Generating/GridStructGen.h b/src/Generating/GridStructGen.h
index b92fb2e9d..b27f218f4 100644
--- a/src/Generating/GridStructGen.h
+++ b/src/Generating/GridStructGen.h
@@ -85,9 +85,24 @@ public:
int a_MaxStructureSizeX, int a_MaxStructureSizeZ,
size_t a_MaxCacheSize
);
+
+ /** Creates a new instance that has the generation parameters set to defaults.
+ This is used for instances that are later loaded from a file. */
+ cGridStructGen(int a_Seed);
+
+ /** Sets the generator params based on the dictionary passed in.
+ Note that this must not be called anymore after generating a chunk. */
+ void SetGeneratorParams(const AStringMap & a_GeneratorParams);
+
+ // cFinishGen override:
+ virtual void GenFinish(cChunkDesc & a_ChunkDesc) override;
protected:
- /** Seed for generating grid offsets and also available for descendants. */
+ /** Base seed of the world for which the generator generates chunk. */
+ int m_BaseSeed;
+
+ /** Seed for generating grid offsets and also available for descendants.
+ Calculated from m_BaseSeed by adding the SeedOffset parameter loaded from the cubeset file (if applicable); otherwise the same as m_BaseSeed. */
int m_Seed;
/** The noise used for generating grid offsets. */
@@ -131,9 +146,6 @@ protected:
around their gridpoint intersects the chunk. */
void GetStructuresForChunk(int a_ChunkX, int a_ChunkZ, cStructurePtrs & a_Structures);
- // cFinishGen overrides:
- virtual void GenFinish(cChunkDesc & a_ChunkDesc) override;
-
// Functions for the descendants to override:
/** Create a new structure at the specified gridpoint */
virtual cStructurePtr CreateStructure(int a_GridX, int a_GridZ, int a_OriginX, int a_OriginZ) = 0;