diff --git a/SCsub b/SCsub index 8bd4b57..50eb6b8 100644 --- a/SCsub +++ b/SCsub @@ -29,7 +29,12 @@ sources = [ "prop_tool/prop_tool_light.cpp", "prop_tool/prop_tool_mesh.cpp", + "prop_mesh_utils.cpp", + "prop_instance.cpp", + "prop_ess_entity.cpp", + "prop_mesh_data_instance.cpp", + "prop_voxelman_light.cpp", ] if env['tools']: diff --git a/prop_ess_entity.cpp b/prop_ess_entity.cpp new file mode 100644 index 0000000..947deb2 --- /dev/null +++ b/prop_ess_entity.cpp @@ -0,0 +1,9 @@ +#include "prop_ess_entity.h" + +PropESSEntity::PropESSEntity() { +} +PropESSEntity::~PropESSEntity() { +} + +void PropESSEntity::_bind_methods() { +} diff --git a/prop_ess_entity.h b/prop_ess_entity.h new file mode 100644 index 0000000..197dda6 --- /dev/null +++ b/prop_ess_entity.h @@ -0,0 +1,44 @@ +/* +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 PROP_ESS_ENTITY_H +#define PROP_ESS_ENTITY_H + +#include "scene/3d/spatial.h" + +#include "core/math/vector3.h" + +class PropESSEntity : public Spatial { + GDCLASS(PropESSEntity, Spatial); + OBJ_CATEGORY("Props"); + +public: + PropESSEntity(); + ~PropESSEntity(); + +protected: + static void _bind_methods(); + +private: +}; + +#endif diff --git a/prop_instance.h b/prop_instance.h index 3a61362..9e695da 100644 --- a/prop_instance.h +++ b/prop_instance.h @@ -29,6 +29,7 @@ SOFTWARE. class PropInstance : public Spatial { GDCLASS(PropInstance, Spatial); + OBJ_CATEGORY("Props"); public: bool get_snap_to_mesh() const; diff --git a/prop_mesh_data_instance.cpp b/prop_mesh_data_instance.cpp new file mode 100644 index 0000000..ff0c0a2 --- /dev/null +++ b/prop_mesh_data_instance.cpp @@ -0,0 +1,9 @@ +#include "prop_mesh_data_instance.h" + +PropMeshDataInstance::PropMeshDataInstance() { +} +PropMeshDataInstance::~PropMeshDataInstance() { +} + +void PropMeshDataInstance::_bind_methods() { +} diff --git a/prop_mesh_data_instance.h b/prop_mesh_data_instance.h new file mode 100644 index 0000000..5a0f9f4 --- /dev/null +++ b/prop_mesh_data_instance.h @@ -0,0 +1,44 @@ +/* +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 PROP_MESH_DATA_INSTANCE_H +#define PROP_MESH_DATA_INSTANCE_H + +#include "scene/3d/spatial.h" + +#include "core/math/vector3.h" + +class PropMeshDataInstance : public Spatial { + GDCLASS(PropMeshDataInstance, Spatial); + OBJ_CATEGORY("Props"); + +public: + PropMeshDataInstance(); + ~PropMeshDataInstance(); + +protected: + static void _bind_methods(); + +private: +}; + +#endif diff --git a/prop_mesh_utils.cpp b/prop_mesh_utils.cpp new file mode 100644 index 0000000..a5cc072 --- /dev/null +++ b/prop_mesh_utils.cpp @@ -0,0 +1,9 @@ +#include "prop_mesh_utils.h" + +PropMeshUtils::PropMeshUtils() { +} +PropMeshUtils::~PropMeshUtils() { +} + +void PropMeshUtils::_bind_methods() { +} diff --git a/prop_mesh_utils.h b/prop_mesh_utils.h new file mode 100644 index 0000000..3ff2691 --- /dev/null +++ b/prop_mesh_utils.h @@ -0,0 +1,41 @@ +/* +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 PROP_MESH_UTILS_H +#define PROP_MESH_UTILS_H + +#include "core/reference.h" + +#include "core/math/vector3.h" + +class PropMeshUtils : public Reference { + GDCLASS(PropMeshUtils, Reference); + +public: + PropMeshUtils(); + ~PropMeshUtils(); + +protected: + static void _bind_methods(); +}; + +#endif diff --git a/prop_voxelman_light.cpp b/prop_voxelman_light.cpp new file mode 100644 index 0000000..6bac1a6 --- /dev/null +++ b/prop_voxelman_light.cpp @@ -0,0 +1,9 @@ +#include "prop_voxelman_light.h" + +PropVoxelmanLight::PropVoxelmanLight() { +} +PropVoxelmanLight::~PropVoxelmanLight() { +} + +void PropVoxelmanLight::_bind_methods() { +} diff --git a/prop_voxelman_light.h b/prop_voxelman_light.h new file mode 100644 index 0000000..4787b83 --- /dev/null +++ b/prop_voxelman_light.h @@ -0,0 +1,46 @@ +/* +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 PROP_VOXELMAN_LIGHT_H +#define PROP_VOXELMAN_LIGHT_H + +#include "scene/3d/spatial.h" + +#include "core/math/vector3.h" + +class PropVoxelmanLight : public Spatial { + GDCLASS(PropVoxelmanLight, Spatial); + OBJ_CATEGORY("Props"); + +public: + //make it turn into a normal light if voxelman isn't present? + + PropVoxelmanLight(); + ~PropVoxelmanLight(); + +protected: + static void _bind_methods(); + +private: +}; + +#endif diff --git a/register_types.cpp b/register_types.cpp index 72b38a5..4c47dc9 100644 --- a/register_types.cpp +++ b/register_types.cpp @@ -40,7 +40,12 @@ SOFTWARE. #include "prop_tool/prop_tool_prop.h" #include "prop_tool/prop_tool_scene.h" +#include "prop_mesh_utils.h" + +#include "prop_ess_entity.h" #include "prop_instance.h" +#include "prop_mesh_data_instance.h" +#include "prop_voxelman_light.h" void register_props_types() { ClassDB::register_class(); @@ -61,7 +66,13 @@ void register_props_types() { ClassDB::register_class(); ClassDB::register_class(); + ClassDB::register_class(); + ClassDB::register_class(); + + ClassDB::register_class(); + ClassDB::register_class(); + ClassDB::register_class(); } void unregister_props_types() {