diff --git a/SCsub b/SCsub index ba04f40..0455f55 100644 --- a/SCsub +++ b/SCsub @@ -10,6 +10,9 @@ if os.path.isdir('../entity_spell_system'): if os.path.isdir('../voxelman'): module_env.Append(CPPDEFINES=['VOXELMAN_PRESENT']) +if os.path.isdir('../fastnoise'): + module_env.Append(CPPDEFINES=['FASTNOISE_PRESENT']) + sources = [ "register_types.cpp", diff --git a/data/planet_data.cpp b/data/planet_data.cpp index 1efa3f9..59f054e 100644 --- a/data/planet_data.cpp +++ b/data/planet_data.cpp @@ -50,6 +50,7 @@ void PlanetData::set_level_range(Vector2 value) { _level_range = value; } +#ifdef FASTNOISE_PRESENT Ref PlanetData::get_humidity_noise_params() { return _humidity_noise_params; } @@ -63,6 +64,7 @@ Ref PlanetData::get_temperature_noise_params() { void PlanetData::set_temperature_noise_params(Ref value) { _temperature_noise_params = value; } +#endif //Biomes Ref PlanetData::get_biome_data(const int index) const { @@ -226,8 +228,10 @@ PlanetData::PlanetData() { _id = 0; } PlanetData::~PlanetData() { +#ifdef FASTNOISE_PRESENT _humidity_noise_params.unref(); _temperature_noise_params.unref(); +#endif _biome_datas.clear(); @@ -255,6 +259,7 @@ void PlanetData::_bind_methods() { ClassDB::bind_method(D_METHOD("set_level_range", "value"), &PlanetData::set_level_range); ADD_PROPERTY(PropertyInfo(Variant::VECTOR2, "level_range"), "set_level_range", "get_level_range"); +#ifdef FASTNOISE_PRESENT ClassDB::bind_method(D_METHOD("get_humidity_noise_params"), &PlanetData::get_humidity_noise_params); ClassDB::bind_method(D_METHOD("set_humidity_noise_params", "value"), &PlanetData::set_humidity_noise_params); ADD_PROPERTY(PropertyInfo(Variant::OBJECT, "humidity_noise_params", PROPERTY_HINT_RESOURCE_TYPE, "FastnoiseNoiseParams"), "set_humidity_noise_params", "get_humidity_noise_params"); @@ -262,6 +267,7 @@ void PlanetData::_bind_methods() { ClassDB::bind_method(D_METHOD("get_temperature_noise_params"), &PlanetData::get_temperature_noise_params); ClassDB::bind_method(D_METHOD("set_temperature_noise_params", "value"), &PlanetData::set_temperature_noise_params); ADD_PROPERTY(PropertyInfo(Variant::OBJECT, "temperature_noise_params", PROPERTY_HINT_RESOURCE_TYPE, "FastnoiseNoiseParams"), "set_temperature_noise_params", "get_temperature_noise_params"); +#endif //Biomes ClassDB::bind_method(D_METHOD("get_biome_data", "index"), &PlanetData::get_biome_data); diff --git a/data/planet_data.h b/data/planet_data.h index 134350f..1608996 100644 --- a/data/planet_data.h +++ b/data/planet_data.h @@ -27,7 +27,9 @@ SOFTWARE. #include "core/script_language.h" #include "core/ustring.h" +#ifdef FASTNOISE_PRESENT #include "../../fastnoise/fastnoise_noise_params.h" +#endif #include "../data/biome_data.h" #include "../main/planet.h" @@ -53,11 +55,13 @@ public: Vector2 get_level_range(); void set_level_range(Vector2 value); +#ifdef FASTNOISE_PRESENT Ref get_humidity_noise_params(); void set_humidity_noise_params(Ref value); Ref get_temperature_noise_params(); void set_temperature_noise_params(Ref value); +#endif //Biomes Ref get_biome_data(const int index) const; @@ -115,8 +119,11 @@ private: Vector2 _level_range; +#ifdef FASTNOISE_PRESENT Ref _humidity_noise_params; Ref _temperature_noise_params; +#endif + Vector > _biome_datas; #ifdef VOXELMAN_PRESENT diff --git a/main/biome.cpp b/main/biome.cpp index 5f25360..6ba5e61 100644 --- a/main/biome.cpp +++ b/main/biome.cpp @@ -198,7 +198,7 @@ void Biome::setup_library(Ref library) { } } -void Biome::generate_chunk(Ref chunk, bool spawn_mobs) { +void Biome::generate_chunk(Ref chunk, bool spawn_mobs) { ERR_FAIL_COND(!chunk.is_valid()); if (has_method("_generate_chunk")) { diff --git a/main/biome.h b/main/biome.h index 502bf92..02633a9 100644 --- a/main/biome.h +++ b/main/biome.h @@ -96,7 +96,7 @@ public: void setup_library(Ref library); void _setup_library(Ref library); #else - void generate_chunk(Ref chunk, bool spawn_mobs); + void generate_chunk(Ref chunk, bool spawn_mobs); void setup_library(Ref library); #endif