mirror of
https://github.com/Relintai/broken_seals_module.git
synced 2024-11-12 10:25:25 +01:00
Renamed BiomeBase to BiomeTerrarinGenerator, and now it's a Reference, because as it turns out inheriting a class from a different module causes crashes.
This commit is contained in:
parent
0e5c54a70f
commit
8c4b32d393
2
SCsub
2
SCsub
@ -12,7 +12,7 @@ sources = [
|
|||||||
|
|
||||||
"register_types.cpp",
|
"register_types.cpp",
|
||||||
|
|
||||||
"biome_base.cpp"
|
"biome_terrarin_generator.cpp"
|
||||||
]
|
]
|
||||||
|
|
||||||
if ARGUMENTS.get('custom_modules_shared', 'no') == 'yes':
|
if ARGUMENTS.get('custom_modules_shared', 'no') == 'yes':
|
||||||
|
@ -20,7 +20,7 @@ OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
|
|||||||
SOFTWARE.
|
SOFTWARE.
|
||||||
*/
|
*/
|
||||||
|
|
||||||
#include "biome_base.h"
|
#include "biome_terrarin_generator.h"
|
||||||
|
|
||||||
#include "core/math/math_funcs.h"
|
#include "core/math/math_funcs.h"
|
||||||
|
|
||||||
@ -33,7 +33,14 @@ SOFTWARE.
|
|||||||
#include "../entity_spell_system/spawners/ess_entity_spawner.h"
|
#include "../entity_spell_system/spawners/ess_entity_spawner.h"
|
||||||
#include "../opensimplex/open_simplex_noise.h"
|
#include "../opensimplex/open_simplex_noise.h"
|
||||||
|
|
||||||
void BiomeBase::generate_simple_terrarin(Ref<VoxelChunk> chunk, bool spawn_mobs) {
|
int BiomeTerrarinGenerator::get_current_seed() {
|
||||||
|
return _current_seed;
|
||||||
|
}
|
||||||
|
void BiomeTerrarinGenerator::set_current_seed(int value) {
|
||||||
|
_current_seed = value;
|
||||||
|
}
|
||||||
|
|
||||||
|
void BiomeTerrarinGenerator::generate_simple_terrarin(Ref<VoxelChunk> chunk, bool spawn_mobs) {
|
||||||
Ref<OpenSimplexNoise> noise;
|
Ref<OpenSimplexNoise> noise;
|
||||||
noise.instance();
|
noise.instance();
|
||||||
noise->set_seed(10 * get_current_seed());
|
noise->set_seed(10 * get_current_seed());
|
||||||
@ -106,12 +113,17 @@ void BiomeBase::generate_simple_terrarin(Ref<VoxelChunk> chunk, bool spawn_mobs)
|
|||||||
// }
|
// }
|
||||||
}
|
}
|
||||||
|
|
||||||
BiomeBase::BiomeBase() {
|
BiomeTerrarinGenerator::BiomeTerrarinGenerator() {
|
||||||
|
_current_seed = 0;
|
||||||
}
|
}
|
||||||
|
|
||||||
BiomeBase::~BiomeBase() {
|
BiomeTerrarinGenerator::~BiomeTerrarinGenerator() {
|
||||||
}
|
}
|
||||||
|
|
||||||
void BiomeBase::_bind_methods() {
|
void BiomeTerrarinGenerator::_bind_methods() {
|
||||||
ClassDB::bind_method(D_METHOD("generate_simple_terrarin", "chunk", "spawn_mobs"), &BiomeBase::generate_simple_terrarin);
|
ClassDB::bind_method(D_METHOD("get_current_seed"), &BiomeTerrarinGenerator::get_current_seed);
|
||||||
|
ClassDB::bind_method(D_METHOD("set_current_seed", "value"), &BiomeTerrarinGenerator::set_current_seed);
|
||||||
|
ADD_PROPERTY(PropertyInfo(Variant::INT, "current_seed"), "set_current_seed", "get_current_seed");
|
||||||
|
|
||||||
|
ClassDB::bind_method(D_METHOD("generate_simple_terrarin", "chunk", "spawn_mobs"), &BiomeTerrarinGenerator::generate_simple_terrarin);
|
||||||
}
|
}
|
@ -20,24 +20,30 @@ OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
|
|||||||
SOFTWARE.
|
SOFTWARE.
|
||||||
*/
|
*/
|
||||||
|
|
||||||
#ifndef BIOME_BASE_H
|
#ifndef BIOME_TERRARIN_GENERATOR_H
|
||||||
#define BIOME_BASE_H
|
#define BIOME_TERRARIN_GENERATOR_H
|
||||||
|
|
||||||
#include "../world_generator/main/biome.h"
|
#include "core/reference.h"
|
||||||
|
|
||||||
class VoxelChunk;
|
class VoxelChunk;
|
||||||
|
|
||||||
class BiomeBase : public Biome {
|
class BiomeTerrarinGenerator : public Reference {
|
||||||
GDCLASS(BiomeBase, Biome);
|
GDCLASS(BiomeTerrarinGenerator, Reference);
|
||||||
|
|
||||||
public:
|
public:
|
||||||
|
int get_current_seed();
|
||||||
|
void set_current_seed(int value);
|
||||||
|
|
||||||
void generate_simple_terrarin(Ref<VoxelChunk> chunk, bool spawn_mobs);
|
void generate_simple_terrarin(Ref<VoxelChunk> chunk, bool spawn_mobs);
|
||||||
|
|
||||||
BiomeBase();
|
BiomeTerrarinGenerator();
|
||||||
~BiomeBase();
|
~BiomeTerrarinGenerator();
|
||||||
|
|
||||||
protected:
|
protected:
|
||||||
static void _bind_methods();
|
static void _bind_methods();
|
||||||
|
|
||||||
|
private:
|
||||||
|
int _current_seed;
|
||||||
};
|
};
|
||||||
|
|
||||||
#endif
|
#endif
|
@ -32,7 +32,7 @@ def configure(env):
|
|||||||
|
|
||||||
def get_doc_classes():
|
def get_doc_classes():
|
||||||
return [
|
return [
|
||||||
"BiomeBase"
|
"BiomeTerrarinGenerator"
|
||||||
]
|
]
|
||||||
|
|
||||||
def get_doc_path():
|
def get_doc_path():
|
||||||
|
@ -24,10 +24,10 @@ SOFTWARE.
|
|||||||
|
|
||||||
*/
|
*/
|
||||||
|
|
||||||
#include "biome_base.h"
|
#include "biome_terrarin_generator.h"
|
||||||
|
|
||||||
void register_broken_seals_module_types() {
|
void register_broken_seals_module_types() {
|
||||||
ClassDB::register_class<BiomeBase>();
|
ClassDB::register_class<BiomeTerrarinGenerator>();
|
||||||
}
|
}
|
||||||
|
|
||||||
void unregister_broken_seals_module_types() {
|
void unregister_broken_seals_module_types() {
|
||||||
|
Loading…
Reference in New Issue
Block a user