From 3662a97475d0d182724770c72216efef93af8c5a Mon Sep 17 00:00:00 2001 From: Kayne Ruse Date: Sat, 21 Jun 2014 18:10:57 +1000 Subject: [PATCH] Added mapType to BaseGenerator --- server/mapgen/generators/base_generator.cpp | 3 ++- server/mapgen/generators/base_generator.hpp | 8 +++++++- server/mapgen/generators/caves_generator.cpp | 2 +- server/mapgen/generators/caves_generator.hpp | 2 -- server/mapgen/generators/forests_generator.cpp | 2 +- server/mapgen/generators/forests_generator.hpp | 2 -- server/mapgen/generators/overworld_generator.cpp | 2 +- server/mapgen/generators/overworld_generator.hpp | 2 -- server/mapgen/generators/ruins_generator.cpp | 2 +- server/mapgen/generators/ruins_generator.hpp | 2 -- server/mapgen/generators/towers_generator.cpp | 2 +- server/mapgen/generators/towers_generator.hpp | 2 -- server/mapgen/map_type.hpp | 11 ++++++----- 13 files changed, 20 insertions(+), 22 deletions(-) diff --git a/server/mapgen/generators/base_generator.cpp b/server/mapgen/generators/base_generator.cpp index 8ea5974..9afab6b 100644 --- a/server/mapgen/generators/base_generator.cpp +++ b/server/mapgen/generators/base_generator.cpp @@ -21,7 +21,8 @@ */ #include "base_generator.hpp" -BaseGenerator::BaseGenerator() { +BaseGenerator::BaseGenerator(MapType t) { + mapType = t; for (int i = 0; i < MAP_WIDTH; i++) { for (int j = 0; j < MAP_HEIGHT; j++) { chunks[i][j].type = TerrainType::NONE; diff --git a/server/mapgen/generators/base_generator.hpp b/server/mapgen/generators/base_generator.hpp index ef93c38..6d629cd 100644 --- a/server/mapgen/generators/base_generator.hpp +++ b/server/mapgen/generators/base_generator.hpp @@ -22,6 +22,7 @@ #ifndef BASEGENERATOR_HPP_ #define BASEGENERATOR_HPP_ +#include "map_type.hpp" #include "chunk_data.hpp" #include "lua/lua.hpp" @@ -31,17 +32,22 @@ constexpr int MAP_HEIGHT = 256; class BaseGenerator { public: - BaseGenerator(); virtual ~BaseGenerator(); //accessors and mutators virtual ChunkData* GetChunk(int x, int y) { return &chunks[x][y]; } + MapType GetMapType() { return mapType; } + lua_State* SetLuaState(lua_State* L) { return luaState = L; } lua_State* GetLuaState() { return luaState; } protected: + BaseGenerator() = delete; + BaseGenerator(MapType t); + ChunkData chunks[MAP_WIDTH][MAP_HEIGHT]; + MapType mapType = MapType::NONE; lua_State* luaState = nullptr; }; diff --git a/server/mapgen/generators/caves_generator.cpp b/server/mapgen/generators/caves_generator.cpp index a2cbaed..0019bf5 100644 --- a/server/mapgen/generators/caves_generator.cpp +++ b/server/mapgen/generators/caves_generator.cpp @@ -21,7 +21,7 @@ */ #include "caves_generator.hpp" -CavesGenerator::CavesGenerator() { +CavesGenerator::CavesGenerator() : BaseGenerator(MapType::CAVES) { // } diff --git a/server/mapgen/generators/caves_generator.hpp b/server/mapgen/generators/caves_generator.hpp index 975ed8c..062a86d 100644 --- a/server/mapgen/generators/caves_generator.hpp +++ b/server/mapgen/generators/caves_generator.hpp @@ -24,8 +24,6 @@ #include "base_generator.hpp" -#define CAVES_GENERATOR_PSEUDOINDEX "CavesGenerator" - class CavesGenerator : public BaseGenerator { public: CavesGenerator(); diff --git a/server/mapgen/generators/forests_generator.cpp b/server/mapgen/generators/forests_generator.cpp index 5ff8127..cbff079 100644 --- a/server/mapgen/generators/forests_generator.cpp +++ b/server/mapgen/generators/forests_generator.cpp @@ -21,7 +21,7 @@ */ #include "forests_generator.hpp" -ForestsGenerator::ForestsGenerator() { +ForestsGenerator::ForestsGenerator() : BaseGenerator(MapType::FORESTS) { // } diff --git a/server/mapgen/generators/forests_generator.hpp b/server/mapgen/generators/forests_generator.hpp index e87d89e..459428f 100644 --- a/server/mapgen/generators/forests_generator.hpp +++ b/server/mapgen/generators/forests_generator.hpp @@ -24,8 +24,6 @@ #include "base_generator.hpp" -#define FORESTS_GENERATOR_PSEUDOINDEX "ForestsGenerator" - class ForestsGenerator : public BaseGenerator { public: ForestsGenerator(); diff --git a/server/mapgen/generators/overworld_generator.cpp b/server/mapgen/generators/overworld_generator.cpp index 8119158..7bcd1c5 100644 --- a/server/mapgen/generators/overworld_generator.cpp +++ b/server/mapgen/generators/overworld_generator.cpp @@ -21,7 +21,7 @@ */ #include "overworld_generator.hpp" -OverworldGenerator::OverworldGenerator() { +OverworldGenerator::OverworldGenerator() : BaseGenerator(MapType::OVERWORLD) { // } diff --git a/server/mapgen/generators/overworld_generator.hpp b/server/mapgen/generators/overworld_generator.hpp index e47026d..63fd418 100644 --- a/server/mapgen/generators/overworld_generator.hpp +++ b/server/mapgen/generators/overworld_generator.hpp @@ -24,8 +24,6 @@ #include "base_generator.hpp" -#define OVERWORLD_GENERATOR_PSEUDOINDEX "OverworldGenerator" - class OverworldGenerator : public BaseGenerator { public: OverworldGenerator(); diff --git a/server/mapgen/generators/ruins_generator.cpp b/server/mapgen/generators/ruins_generator.cpp index 24a7c3e..164de89 100644 --- a/server/mapgen/generators/ruins_generator.cpp +++ b/server/mapgen/generators/ruins_generator.cpp @@ -21,7 +21,7 @@ */ #include "ruins_generator.hpp" -RuinsGenerator::RuinsGenerator() { +RuinsGenerator::RuinsGenerator() : BaseGenerator(MapType::RUINS) { // } diff --git a/server/mapgen/generators/ruins_generator.hpp b/server/mapgen/generators/ruins_generator.hpp index 309bf45..fbc0518 100644 --- a/server/mapgen/generators/ruins_generator.hpp +++ b/server/mapgen/generators/ruins_generator.hpp @@ -24,8 +24,6 @@ #include "base_generator.hpp" -#define RUINS_GENERATOR_PSEUDOINDEX "RuinsGenerator" - class RuinsGenerator : public BaseGenerator { public: RuinsGenerator(); diff --git a/server/mapgen/generators/towers_generator.cpp b/server/mapgen/generators/towers_generator.cpp index 3e8a2c6..ad50a09 100644 --- a/server/mapgen/generators/towers_generator.cpp +++ b/server/mapgen/generators/towers_generator.cpp @@ -21,7 +21,7 @@ */ #include "towers_generator.hpp" -TowersGenerator::TowersGenerator() { +TowersGenerator::TowersGenerator() : BaseGenerator(MapType::TOWERS) { // } diff --git a/server/mapgen/generators/towers_generator.hpp b/server/mapgen/generators/towers_generator.hpp index 0dcb9d9..48a29bb 100644 --- a/server/mapgen/generators/towers_generator.hpp +++ b/server/mapgen/generators/towers_generator.hpp @@ -24,8 +24,6 @@ #include "base_generator.hpp" -#define TOWERS_GENERATOR_PSEUDOINDEX "TowersGenerator" - class TowersGenerator : public BaseGenerator { public: TowersGenerator(); diff --git a/server/mapgen/map_type.hpp b/server/mapgen/map_type.hpp index 3127e1a..e56b924 100644 --- a/server/mapgen/map_type.hpp +++ b/server/mapgen/map_type.hpp @@ -23,11 +23,12 @@ #define MAPTYPE_HPP_ enum class MapType { - OVERWORLD = 0, - RUINS = 1, - TOWERS = 2, - FORESTS = 3, - CAVES = 4, + NONE, + OVERWORLD, + RUINS, + TOWERS, + FORESTS, + CAVES, }; #endif \ No newline at end of file