From 7bd5592d2ec59f49d55f407c9236e89a5e3f5309 Mon Sep 17 00:00:00 2001 From: Relintai Date: Sat, 27 Jun 2020 19:00:46 +0200 Subject: [PATCH] Moved PropVoxelmanLight here from the props module, and renamed it VoxelmanLight. --- SCsub | 1 + config.py | 1 + nodes/voxelman_light.cpp | 9 +++++++ nodes/voxelman_light.h | 54 ++++++++++++++++++++++++++++++++++++++++ register_types.cpp | 3 +++ 5 files changed, 68 insertions(+) create mode 100644 nodes/voxelman_light.cpp create mode 100644 nodes/voxelman_light.h diff --git a/SCsub b/SCsub index 8be5b02..183a49a 100644 --- a/SCsub +++ b/SCsub @@ -22,6 +22,7 @@ sources = [ "library/voxelman_library.cpp", "library/voxelman_library_simple.cpp", + "nodes/voxelman_light.cpp", "library/voxel_surface.cpp", "library/voxel_surface_simple.cpp", diff --git a/config.py b/config.py index e31ecb2..95cfe3a 100644 --- a/config.py +++ b/config.py @@ -13,6 +13,7 @@ def get_doc_classes(): "WorldArea", "VoxelLight", + "VoxelmanLight", "VoxelmanLevelGenerator", "VoxelmanLevelGeneratorFlat", diff --git a/nodes/voxelman_light.cpp b/nodes/voxelman_light.cpp new file mode 100644 index 0000000..a0748ee --- /dev/null +++ b/nodes/voxelman_light.cpp @@ -0,0 +1,9 @@ +#include "voxelman_light.h" + +VoxelmanLight::VoxelmanLight() { +} +VoxelmanLight::~VoxelmanLight() { +} + +void VoxelmanLight::_bind_methods() { +} diff --git a/nodes/voxelman_light.h b/nodes/voxelman_light.h new file mode 100644 index 0000000..2ea0d74 --- /dev/null +++ b/nodes/voxelman_light.h @@ -0,0 +1,54 @@ +/* +Copyright (c) 2020 Péter Magyar + +Permission is hereby granted, free of charge, to any person obtaining a copy +of this software and associated documentation files (the "Software"), to deal +in the Software without restriction, including without limitation the rights +to use, copy, modify, merge, publish, distribute, sublicense, and/or sell +copies of the Software, and to permit persons to whom the Software is +furnished to do so, subject to the following conditions: + +The above copyright notice and this permission notice shall be included in all +copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER +LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, +OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE +SOFTWARE. +*/ + +#ifndef VOXELMAN_LIGHT_H +#define VOXELMAN_LIGHT_H + +#include "core/version.h" + +#if VERSION_MAJOR < 4 +#include "scene/3d/spatial.h" +#else +#include "scene/3d/node_3d.h" + +#define Spatial Node3D +#endif + +#include "core/math/vector3.h" + +class VoxelmanLight : public Spatial { + GDCLASS(VoxelmanLight, Spatial); + OBJ_CATEGORY("Props"); + +public: + //make it turn into a normal light if voxelman isn't present? + + VoxelmanLight(); + ~VoxelmanLight(); + +protected: + static void _bind_methods(); + +private: +}; + +#endif diff --git a/register_types.cpp b/register_types.cpp index 9aa0b4e..59b332a 100644 --- a/register_types.cpp +++ b/register_types.cpp @@ -71,6 +71,8 @@ SOFTWARE. #include "world/marching_cubes/voxel_chunk_marching_cubes.h" #include "world/marching_cubes/voxel_world_marching_cubes.h" +#include "nodes/voxelman_light.h" + void register_voxelman_types() { ClassDB::register_class(); ClassDB::register_class(); @@ -90,6 +92,7 @@ void register_voxelman_types() { #endif ClassDB::register_class(); + ClassDB::register_class(); ClassDB::register_class(); ClassDB::register_class();