worldGenerator.h 968 B

123456789101112131415161718192021222324252627282930313233343536373839404142
  1. #pragma once
  2. #include "blocks.h"
  3. #include <glm/vec2.hpp>
  4. #include <FastNoiseSIMD.h>
  5. #include <worldGeneratorSettings.h>
  6. #include <structure.h>
  7. #include <vector>
  8. #include <chunk.h>
  9. #include <biome.h>
  10. enum
  11. {
  12. Structure_None = 0,
  13. Structure_Tree,
  14. Structure_JungleTree,
  15. Structure_PalmTree,
  16. Structure_TreeHouse,
  17. Structure_Pyramid,
  18. Structure_Igloo,
  19. Structure_BirchTree,
  20. Structure_Spruce,
  21. };
  22. //used to report back
  23. struct StructureToGenerate
  24. {
  25. glm::ivec3 pos = {};
  26. int type = 0;
  27. float randomNumber1 = 0;
  28. float randomNumber2 = 0;
  29. float randomNumber3 = 0;
  30. float randomNumber4 = 0;
  31. bool replaceBlocks = 0;
  32. };
  33. void generateChunk(Chunk &c, WorldGenerator &wg, StructuresManager &structuresManager, BiomesManager &biomesManager
  34. ,std::vector<StructureToGenerate> &generateStructures);
  35. void generateChunk(ChunkData &c, WorldGenerator &wg, StructuresManager &structuresManager, BiomesManager &biomesManager
  36. ,std::vector<StructureToGenerate> &generateStructures);