mirror of
https://github.com/Relintai/voxelman.git
synced 2025-02-14 16:40:06 +01:00
Fix build for 4.0.
This commit is contained in:
parent
9fe51572f4
commit
073e1aeb97
@ -24,6 +24,14 @@ SOFTWARE.
|
|||||||
|
|
||||||
#include "voxelman_library_merger.h"
|
#include "voxelman_library_merger.h"
|
||||||
|
|
||||||
|
#include "core/version.h"
|
||||||
|
|
||||||
|
#if VERSION_MAJOR >= 4
|
||||||
|
#define Texture Texture2D
|
||||||
|
|
||||||
|
typedef class StandardMaterial3D SpatialMaterial;
|
||||||
|
#endif
|
||||||
|
|
||||||
Ref<AtlasTexture> VoxelSurfaceMerger::get_region(const VoxelSurfaceSides side) {
|
Ref<AtlasTexture> VoxelSurfaceMerger::get_region(const VoxelSurfaceSides side) {
|
||||||
return _regions[side];
|
return _regions[side];
|
||||||
}
|
}
|
||||||
@ -41,7 +49,7 @@ void VoxelSurfaceMerger::set_texture(const VoxelSurfaceSides side, Ref<Texture>
|
|||||||
void VoxelSurfaceMerger::refresh_rects() {
|
void VoxelSurfaceMerger::refresh_rects() {
|
||||||
VoxelmanLibraryMerger *lib = Object::cast_to<VoxelmanLibraryMerger>(_library);
|
VoxelmanLibraryMerger *lib = Object::cast_to<VoxelmanLibraryMerger>(_library);
|
||||||
|
|
||||||
ERR_FAIL_COND(!ObjectDB::instance_validate(lib));
|
ERR_FAIL_COND(lib == NULL);
|
||||||
|
|
||||||
for (int i = 0; i < VOXEL_SIDES_COUNT; ++i) {
|
for (int i = 0; i < VOXEL_SIDES_COUNT; ++i) {
|
||||||
if (!_regions[i].is_valid()) {
|
if (!_regions[i].is_valid()) {
|
||||||
|
@ -29,6 +29,12 @@ SOFTWARE.
|
|||||||
|
|
||||||
#include "../../texture_packer/texture_packer.h"
|
#include "../../texture_packer/texture_packer.h"
|
||||||
|
|
||||||
|
#include "core/version.h"
|
||||||
|
|
||||||
|
#if VERSION_MAJOR >= 4
|
||||||
|
#define Texture Texture2D
|
||||||
|
#endif
|
||||||
|
|
||||||
class VoxelSurfaceMerger : public VoxelSurface {
|
class VoxelSurfaceMerger : public VoxelSurface {
|
||||||
GDCLASS(VoxelSurfaceMerger, VoxelSurface)
|
GDCLASS(VoxelSurfaceMerger, VoxelSurface)
|
||||||
|
|
||||||
|
@ -49,7 +49,7 @@ void VoxelSurfaceSimple::set_atlas_y(const VoxelSurfaceSides side, int value) {
|
|||||||
void VoxelSurfaceSimple::refresh_rects() {
|
void VoxelSurfaceSimple::refresh_rects() {
|
||||||
VoxelmanLibrarySimple *lib = Object::cast_to<VoxelmanLibrarySimple>(_library);
|
VoxelmanLibrarySimple *lib = Object::cast_to<VoxelmanLibrarySimple>(_library);
|
||||||
|
|
||||||
ERR_FAIL_COND(!ObjectDB::instance_validate(lib));
|
ERR_FAIL_COND(lib == NULL);
|
||||||
|
|
||||||
for (int i = 0; i < VOXEL_SIDES_COUNT; ++i) {
|
for (int i = 0; i < VOXEL_SIDES_COUNT; ++i) {
|
||||||
float culomn = 1.0 / static_cast<float>(lib->get_atlas_columns());
|
float culomn = 1.0 / static_cast<float>(lib->get_atlas_columns());
|
||||||
|
@ -24,6 +24,8 @@ SOFTWARE.
|
|||||||
|
|
||||||
#include "scene/resources/packed_scene.h"
|
#include "scene/resources/packed_scene.h"
|
||||||
|
|
||||||
|
#include "core/version.h"
|
||||||
|
|
||||||
//Materials
|
//Materials
|
||||||
Ref<Material> VoxelmanLibrary::get_material(const int index) {
|
Ref<Material> VoxelmanLibrary::get_material(const int index) {
|
||||||
ERR_FAIL_INDEX_V(index, _materials.size(), Ref<VoxelSurface>(NULL));
|
ERR_FAIL_INDEX_V(index, _materials.size(), Ref<VoxelSurface>(NULL));
|
||||||
@ -58,7 +60,11 @@ void VoxelmanLibrary::clear_materials() {
|
|||||||
Vector<Variant> VoxelmanLibrary::get_materials() {
|
Vector<Variant> VoxelmanLibrary::get_materials() {
|
||||||
Vector<Variant> r;
|
Vector<Variant> r;
|
||||||
for (int i = 0; i < _materials.size(); i++) {
|
for (int i = 0; i < _materials.size(); i++) {
|
||||||
|
#if VERSION_MAJOR < 4
|
||||||
r.push_back(_materials[i].get_ref_ptr());
|
r.push_back(_materials[i].get_ref_ptr());
|
||||||
|
#else
|
||||||
|
r.push_back(_materials[i]);
|
||||||
|
#endif
|
||||||
}
|
}
|
||||||
return r;
|
return r;
|
||||||
}
|
}
|
||||||
@ -107,7 +113,11 @@ void VoxelmanLibrary::clear_liquid_materials() {
|
|||||||
Vector<Variant> VoxelmanLibrary::get_liquid_materials() {
|
Vector<Variant> VoxelmanLibrary::get_liquid_materials() {
|
||||||
Vector<Variant> r;
|
Vector<Variant> r;
|
||||||
for (int i = 0; i < _liquid_materials.size(); i++) {
|
for (int i = 0; i < _liquid_materials.size(); i++) {
|
||||||
|
#if VERSION_MAJOR < 4
|
||||||
r.push_back(_liquid_materials[i].get_ref_ptr());
|
r.push_back(_liquid_materials[i].get_ref_ptr());
|
||||||
|
#else
|
||||||
|
r.push_back(_liquid_materials[i]);
|
||||||
|
#endif
|
||||||
}
|
}
|
||||||
return r;
|
return r;
|
||||||
}
|
}
|
||||||
|
@ -23,9 +23,14 @@ SOFTWARE.
|
|||||||
#include "voxelman_library_merger.h"
|
#include "voxelman_library_merger.h"
|
||||||
|
|
||||||
#include "scene/resources/packed_scene.h"
|
#include "scene/resources/packed_scene.h"
|
||||||
|
|
||||||
#include "scene/resources/texture.h"
|
#include "scene/resources/texture.h"
|
||||||
|
|
||||||
|
#include "core/version.h"
|
||||||
|
|
||||||
|
#if VERSION_MAJOR >= 4
|
||||||
|
#define SpatialMaterial StandardMaterial3D
|
||||||
|
#endif
|
||||||
|
|
||||||
int VoxelmanLibraryMerger::get_texture_flags() const {
|
int VoxelmanLibraryMerger::get_texture_flags() const {
|
||||||
return _packer->get_texture_flags();
|
return _packer->get_texture_flags();
|
||||||
}
|
}
|
||||||
@ -130,7 +135,11 @@ void VoxelmanLibraryMerger::clear_surfaces() {
|
|||||||
Vector<Variant> VoxelmanLibraryMerger::get_voxel_surfaces() {
|
Vector<Variant> VoxelmanLibraryMerger::get_voxel_surfaces() {
|
||||||
Vector<Variant> r;
|
Vector<Variant> r;
|
||||||
for (int i = 0; i < _voxel_surfaces.size(); i++) {
|
for (int i = 0; i < _voxel_surfaces.size(); i++) {
|
||||||
|
#if VERSION_MAJOR < 4
|
||||||
r.push_back(_voxel_surfaces[i].get_ref_ptr());
|
r.push_back(_voxel_surfaces[i].get_ref_ptr());
|
||||||
|
#else
|
||||||
|
r.push_back(_voxel_surfaces[i]);
|
||||||
|
#endif
|
||||||
}
|
}
|
||||||
return r;
|
return r;
|
||||||
}
|
}
|
||||||
@ -208,7 +217,11 @@ void VoxelmanLibraryMerger::clear_liquid_surfaces() {
|
|||||||
Vector<Variant> VoxelmanLibraryMerger::get_liquid_voxel_surfaces() {
|
Vector<Variant> VoxelmanLibraryMerger::get_liquid_voxel_surfaces() {
|
||||||
Vector<Variant> r;
|
Vector<Variant> r;
|
||||||
for (int i = 0; i < _liquid_surfaces.size(); i++) {
|
for (int i = 0; i < _liquid_surfaces.size(); i++) {
|
||||||
|
#if VERSION_MAJOR < 4
|
||||||
r.push_back(_liquid_surfaces[i].get_ref_ptr());
|
r.push_back(_liquid_surfaces[i].get_ref_ptr());
|
||||||
|
#else
|
||||||
|
r.push_back(_liquid_surfaces[i]);
|
||||||
|
#endif
|
||||||
}
|
}
|
||||||
return r;
|
return r;
|
||||||
}
|
}
|
||||||
@ -373,7 +386,13 @@ void VoxelmanLibraryMerger::_setup_material_albedo(int material_index, Ref<Textu
|
|||||||
|
|
||||||
VoxelmanLibraryMerger::VoxelmanLibraryMerger() {
|
VoxelmanLibraryMerger::VoxelmanLibraryMerger() {
|
||||||
_packer.instance();
|
_packer.instance();
|
||||||
|
|
||||||
|
#if VERSION_MAJOR < 4
|
||||||
_packer->set_texture_flags(Texture::FLAG_MIPMAPS | Texture::FLAG_FILTER);
|
_packer->set_texture_flags(Texture::FLAG_MIPMAPS | Texture::FLAG_FILTER);
|
||||||
|
#else
|
||||||
|
//nyi
|
||||||
|
#endif
|
||||||
|
|
||||||
_packer->set_max_atlas_size(1024);
|
_packer->set_max_atlas_size(1024);
|
||||||
_packer->set_keep_original_atlases(false);
|
_packer->set_keep_original_atlases(false);
|
||||||
_packer->set_margin(0);
|
_packer->set_margin(0);
|
||||||
|
@ -22,6 +22,8 @@ SOFTWARE.
|
|||||||
|
|
||||||
#include "voxelman_library_simple.h"
|
#include "voxelman_library_simple.h"
|
||||||
|
|
||||||
|
#include "core/version.h"
|
||||||
|
|
||||||
int VoxelmanLibrarySimple::get_atlas_columns() const {
|
int VoxelmanLibrarySimple::get_atlas_columns() const {
|
||||||
return _atlas_columns;
|
return _atlas_columns;
|
||||||
}
|
}
|
||||||
@ -89,7 +91,11 @@ void VoxelmanLibrarySimple::clear_surfaces() {
|
|||||||
Vector<Variant> VoxelmanLibrarySimple::get_voxel_surfaces() {
|
Vector<Variant> VoxelmanLibrarySimple::get_voxel_surfaces() {
|
||||||
Vector<Variant> r;
|
Vector<Variant> r;
|
||||||
for (int i = 0; i < _voxel_surfaces.size(); i++) {
|
for (int i = 0; i < _voxel_surfaces.size(); i++) {
|
||||||
|
#if VERSION_MAJOR < 4
|
||||||
r.push_back(_voxel_surfaces[i].get_ref_ptr());
|
r.push_back(_voxel_surfaces[i].get_ref_ptr());
|
||||||
|
#else
|
||||||
|
r.push_back(_voxel_surfaces[i]);
|
||||||
|
#endif
|
||||||
}
|
}
|
||||||
return r;
|
return r;
|
||||||
}
|
}
|
||||||
@ -158,7 +164,11 @@ void VoxelmanLibrarySimple::clear_liquid_surfaces() {
|
|||||||
Vector<Variant> VoxelmanLibrarySimple::get_liquid_voxel_surfaces() {
|
Vector<Variant> VoxelmanLibrarySimple::get_liquid_voxel_surfaces() {
|
||||||
Vector<Variant> r;
|
Vector<Variant> r;
|
||||||
for (int i = 0; i < _liquid_surfaces.size(); i++) {
|
for (int i = 0; i < _liquid_surfaces.size(); i++) {
|
||||||
|
#if VERSION_MAJOR < 4
|
||||||
r.push_back(_liquid_surfaces[i].get_ref_ptr());
|
r.push_back(_liquid_surfaces[i].get_ref_ptr());
|
||||||
|
#else
|
||||||
|
r.push_back(_liquid_surfaces[i]);
|
||||||
|
#endif
|
||||||
}
|
}
|
||||||
return r;
|
return r;
|
||||||
}
|
}
|
||||||
|
@ -24,6 +24,16 @@ SOFTWARE.
|
|||||||
|
|
||||||
#include "../../world/default/voxel_chunk_default.h"
|
#include "../../world/default/voxel_chunk_default.h"
|
||||||
|
|
||||||
|
#if VERSION_MAJOR < 4
|
||||||
|
#include "servers/visual_server.h"
|
||||||
|
#else
|
||||||
|
#include "servers/rendering_server.h"
|
||||||
|
|
||||||
|
typedef class RenderingServer VisualServer;
|
||||||
|
typedef class RenderingServer VS;
|
||||||
|
#endif
|
||||||
|
|
||||||
|
|
||||||
void VoxelMesherCubic::_add_chunk(Ref<VoxelChunk> p_chunk) {
|
void VoxelMesherCubic::_add_chunk(Ref<VoxelChunk> p_chunk) {
|
||||||
Ref<VoxelChunkDefault> chunk = p_chunk;
|
Ref<VoxelChunkDefault> chunk = p_chunk;
|
||||||
|
|
||||||
|
@ -24,6 +24,19 @@ SOFTWARE.
|
|||||||
|
|
||||||
#include "../../world/default/voxel_chunk_default.h"
|
#include "../../world/default/voxel_chunk_default.h"
|
||||||
|
|
||||||
|
#if VERSION_MAJOR < 4
|
||||||
|
#include "servers/visual_server.h"
|
||||||
|
|
||||||
|
#include "scene/3d/mesh_instance.h"
|
||||||
|
#else
|
||||||
|
#include "servers/rendering_server.h"
|
||||||
|
|
||||||
|
typedef class RenderingServer VisualServer;
|
||||||
|
typedef class RenderingServer VS;
|
||||||
|
|
||||||
|
#include "scene/3d/mesh_instance_3d.h"
|
||||||
|
#endif
|
||||||
|
|
||||||
_FORCE_INLINE_ int VoxelMesherDefault::get_build_flags() const {
|
_FORCE_INLINE_ int VoxelMesherDefault::get_build_flags() const {
|
||||||
return _build_flags;
|
return _build_flags;
|
||||||
}
|
}
|
||||||
|
@ -26,7 +26,16 @@ SOFTWARE.
|
|||||||
#include "../../world/voxel_chunk.h"
|
#include "../../world/voxel_chunk.h"
|
||||||
#include "core/array.h"
|
#include "core/array.h"
|
||||||
#include "core/dictionary.h"
|
#include "core/dictionary.h"
|
||||||
|
|
||||||
|
#include "core/version.h"
|
||||||
|
|
||||||
|
#if VERSION_MAJOR < 4
|
||||||
#include "servers/visual_server.h"
|
#include "servers/visual_server.h"
|
||||||
|
#else
|
||||||
|
#include "servers/rendering_server.h"
|
||||||
|
|
||||||
|
typedef class RenderingServer VisualServer;
|
||||||
|
#endif
|
||||||
|
|
||||||
int VoxelMesherUVTransvoxel::get_texture_scale() const {
|
int VoxelMesherUVTransvoxel::get_texture_scale() const {
|
||||||
return _texture_scale;
|
return _texture_scale;
|
||||||
|
@ -22,6 +22,23 @@ SOFTWARE.
|
|||||||
|
|
||||||
#include "voxel_mesher.h"
|
#include "voxel_mesher.h"
|
||||||
|
|
||||||
|
#include "core/version.h"
|
||||||
|
|
||||||
|
#if VERSION_MAJOR < 4
|
||||||
|
#include "servers/visual_server.h"
|
||||||
|
|
||||||
|
#include "scene/3d/mesh_instance.h"
|
||||||
|
#else
|
||||||
|
#include "servers/rendering_server.h"
|
||||||
|
|
||||||
|
typedef class RenderingServer VisualServer;
|
||||||
|
typedef class RenderingServer VS;
|
||||||
|
|
||||||
|
#include "scene/3d/mesh_instance_3d.h"
|
||||||
|
|
||||||
|
#define REAL FLOAT
|
||||||
|
#endif
|
||||||
|
|
||||||
#include "../world/default/voxel_chunk_default.h"
|
#include "../world/default/voxel_chunk_default.h"
|
||||||
#include "../world/voxel_chunk.h"
|
#include "../world/voxel_chunk.h"
|
||||||
|
|
||||||
@ -150,13 +167,18 @@ Array VoxelMesher::build_mesh() {
|
|||||||
{
|
{
|
||||||
PoolVector<Vector3> array;
|
PoolVector<Vector3> array;
|
||||||
array.resize(_vertices.size());
|
array.resize(_vertices.size());
|
||||||
|
#if VERSION_MAJOR < 4
|
||||||
PoolVector<Vector3>::Write w = array.write();
|
PoolVector<Vector3>::Write w = array.write();
|
||||||
|
#endif
|
||||||
|
|
||||||
for (int i = 0; i < _vertices.size(); ++i) {
|
for (int i = 0; i < _vertices.size(); ++i) {
|
||||||
array.set(i, _vertices[i].vertex);
|
array.set(i, _vertices[i].vertex);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
#if VERSION_MAJOR < 4
|
||||||
w.release();
|
w.release();
|
||||||
|
#endif
|
||||||
|
|
||||||
a[VisualServer::ARRAY_VERTEX] = array;
|
a[VisualServer::ARRAY_VERTEX] = array;
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -167,65 +189,86 @@ Array VoxelMesher::build_mesh() {
|
|||||||
{
|
{
|
||||||
PoolVector<Vector3> array;
|
PoolVector<Vector3> array;
|
||||||
array.resize(_vertices.size());
|
array.resize(_vertices.size());
|
||||||
|
#if VERSION_MAJOR < 4
|
||||||
PoolVector<Vector3>::Write w = array.write();
|
PoolVector<Vector3>::Write w = array.write();
|
||||||
|
#endif
|
||||||
|
|
||||||
for (int i = 0; i < _vertices.size(); ++i) {
|
for (int i = 0; i < _vertices.size(); ++i) {
|
||||||
array.set(i, _vertices[i].normal);
|
array.set(i, _vertices[i].normal);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
#if VERSION_MAJOR < 4
|
||||||
w.release();
|
w.release();
|
||||||
|
#endif
|
||||||
a[VisualServer::ARRAY_NORMAL] = array;
|
a[VisualServer::ARRAY_NORMAL] = array;
|
||||||
}
|
}
|
||||||
|
|
||||||
if ((_format & VisualServer::ARRAY_FORMAT_COLOR) != 0) {
|
if ((_format & VisualServer::ARRAY_FORMAT_COLOR) != 0) {
|
||||||
PoolVector<Color> array;
|
PoolVector<Color> array;
|
||||||
array.resize(_vertices.size());
|
array.resize(_vertices.size());
|
||||||
|
#if VERSION_MAJOR < 4
|
||||||
PoolVector<Color>::Write w = array.write();
|
PoolVector<Color>::Write w = array.write();
|
||||||
|
#endif
|
||||||
|
|
||||||
for (int i = 0; i < _vertices.size(); ++i) {
|
for (int i = 0; i < _vertices.size(); ++i) {
|
||||||
array.set(i, _vertices[i].color);
|
array.set(i, _vertices[i].color);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
#if VERSION_MAJOR < 4
|
||||||
w.release();
|
w.release();
|
||||||
|
#endif
|
||||||
a[VisualServer::ARRAY_COLOR] = array;
|
a[VisualServer::ARRAY_COLOR] = array;
|
||||||
}
|
}
|
||||||
|
|
||||||
if ((_format & VisualServer::ARRAY_FORMAT_TEX_UV) != 0) {
|
if ((_format & VisualServer::ARRAY_FORMAT_TEX_UV) != 0) {
|
||||||
PoolVector<Vector2> array;
|
PoolVector<Vector2> array;
|
||||||
array.resize(_vertices.size());
|
array.resize(_vertices.size());
|
||||||
|
#if VERSION_MAJOR < 4
|
||||||
PoolVector<Vector2>::Write w = array.write();
|
PoolVector<Vector2>::Write w = array.write();
|
||||||
|
#endif
|
||||||
|
|
||||||
for (int i = 0; i < _vertices.size(); ++i) {
|
for (int i = 0; i < _vertices.size(); ++i) {
|
||||||
array.set(i, _vertices[i].uv);
|
array.set(i, _vertices[i].uv);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
#if VERSION_MAJOR < 4
|
||||||
w.release();
|
w.release();
|
||||||
|
#endif
|
||||||
|
|
||||||
a[VisualServer::ARRAY_TEX_UV] = array;
|
a[VisualServer::ARRAY_TEX_UV] = array;
|
||||||
}
|
}
|
||||||
|
|
||||||
if ((_format & VisualServer::ARRAY_FORMAT_TEX_UV2) != 0) {
|
if ((_format & VisualServer::ARRAY_FORMAT_TEX_UV2) != 0) {
|
||||||
PoolVector<Vector2> array;
|
PoolVector<Vector2> array;
|
||||||
array.resize(_vertices.size());
|
array.resize(_vertices.size());
|
||||||
|
#if VERSION_MAJOR < 4
|
||||||
PoolVector<Vector2>::Write w = array.write();
|
PoolVector<Vector2>::Write w = array.write();
|
||||||
|
#endif
|
||||||
|
|
||||||
for (int i = 0; i < _vertices.size(); ++i) {
|
for (int i = 0; i < _vertices.size(); ++i) {
|
||||||
array.set(i, _vertices[i].uv2);
|
array.set(i, _vertices[i].uv2);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
#if VERSION_MAJOR < 4
|
||||||
w.release();
|
w.release();
|
||||||
|
#endif
|
||||||
a[VisualServer::ARRAY_TEX_UV2] = array;
|
a[VisualServer::ARRAY_TEX_UV2] = array;
|
||||||
}
|
}
|
||||||
|
|
||||||
if (_indices.size() > 0) {
|
if (_indices.size() > 0) {
|
||||||
PoolVector<int> array;
|
PoolVector<int> array;
|
||||||
array.resize(_indices.size());
|
array.resize(_indices.size());
|
||||||
|
#if VERSION_MAJOR < 4
|
||||||
PoolVector<int>::Write w = array.write();
|
PoolVector<int>::Write w = array.write();
|
||||||
|
#endif
|
||||||
|
|
||||||
for (int i = 0; i < _indices.size(); ++i) {
|
for (int i = 0; i < _indices.size(); ++i) {
|
||||||
array.set(i, _indices[i]);
|
array.set(i, _indices[i]);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
#if VERSION_MAJOR < 4
|
||||||
w.release();
|
w.release();
|
||||||
|
#endif
|
||||||
a[VisualServer::ARRAY_INDEX] = array;
|
a[VisualServer::ARRAY_INDEX] = array;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -23,18 +23,30 @@ SOFTWARE.
|
|||||||
#ifndef VOXEL_TOOLS_H
|
#ifndef VOXEL_TOOLS_H
|
||||||
#define VOXEL_TOOLS_H
|
#define VOXEL_TOOLS_H
|
||||||
|
|
||||||
|
#include "core/reference.h"
|
||||||
|
|
||||||
|
#include "core/version.h"
|
||||||
|
|
||||||
|
#if VERSION_MAJOR < 4
|
||||||
|
#include "core/pool_vector.h"
|
||||||
|
#else
|
||||||
|
#include "core/vector.h"
|
||||||
|
|
||||||
|
template <class N>
|
||||||
|
using PoolVector = Vector<N>;
|
||||||
|
|
||||||
|
typedef PackedByteArray PoolByteArray;
|
||||||
|
|
||||||
|
class MeshInstance3D;
|
||||||
|
typedef MeshInstance3D MeshInstance;
|
||||||
|
#endif
|
||||||
|
|
||||||
#include "core/color.h"
|
#include "core/color.h"
|
||||||
#include "core/math/rect2.h"
|
#include "core/math/rect2.h"
|
||||||
#include "core/math/vector2.h"
|
#include "core/math/vector2.h"
|
||||||
#include "core/math/vector3.h"
|
#include "core/math/vector3.h"
|
||||||
#include "core/pool_vector.h"
|
|
||||||
#include "core/reference.h"
|
|
||||||
#include "core/vector.h"
|
#include "core/vector.h"
|
||||||
#include "scene/3d/immediate_geometry.h"
|
|
||||||
#include "scene/3d/mesh_instance.h"
|
|
||||||
#include "scene/3d/spatial.h"
|
|
||||||
#include "scene/main/node.h"
|
#include "scene/main/node.h"
|
||||||
#include "scene/resources/concave_polygon_shape.h"
|
|
||||||
#include "scene/resources/material.h"
|
#include "scene/resources/material.h"
|
||||||
#include "scene/resources/mesh.h"
|
#include "scene/resources/mesh.h"
|
||||||
|
|
||||||
|
@ -25,8 +25,17 @@ SOFTWARE.
|
|||||||
|
|
||||||
#include "voxel_structure.h"
|
#include "voxel_structure.h"
|
||||||
|
|
||||||
#include "core/hash_map.h"
|
#include "core/version.h"
|
||||||
|
|
||||||
|
#if VERSION_MAJOR < 4
|
||||||
#include "core/pool_vector.h"
|
#include "core/pool_vector.h"
|
||||||
|
#else
|
||||||
|
#include "core/vector.h"
|
||||||
|
|
||||||
|
typedef PackedByteArray PoolByteArray;
|
||||||
|
#endif
|
||||||
|
|
||||||
|
#include "core/hash_map.h"
|
||||||
#include "voxel_chunk.h"
|
#include "voxel_chunk.h"
|
||||||
|
|
||||||
class BlockVoxelStructure : public VoxelStructure {
|
class BlockVoxelStructure : public VoxelStructure {
|
||||||
|
@ -24,6 +24,14 @@ SOFTWARE.
|
|||||||
|
|
||||||
#include "../../meshers/blocky/voxel_mesher_blocky.h"
|
#include "../../meshers/blocky/voxel_mesher_blocky.h"
|
||||||
|
|
||||||
|
|
||||||
|
#include "core/version.h"
|
||||||
|
|
||||||
|
#if VERSION_MAJOR >= 4
|
||||||
|
#define POOL_BYTE_ARRAY PACKED_BYTE_ARRAY
|
||||||
|
#endif
|
||||||
|
|
||||||
|
|
||||||
VoxelChunkBlocky::VoxelChunkBlocky() {
|
VoxelChunkBlocky::VoxelChunkBlocky() {
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -54,7 +62,7 @@ void VoxelChunkBlocky::_create_meshers() {
|
|||||||
}
|
}
|
||||||
|
|
||||||
void VoxelChunkBlocky::_bind_methods() {
|
void VoxelChunkBlocky::_bind_methods() {
|
||||||
ADD_PROPERTYI(PropertyInfo(Variant::POOL_BYTE_ARRAY, "data_channel"), "set_channel_compressed", "get_channel_compressed", 0);
|
ADD_PROPERTYI(PropertyInfo(Variant::PACKED_BYTE_ARRAY, "data_channel"), "set_channel_compressed", "get_channel_compressed", 0);
|
||||||
|
|
||||||
//ClassDB::bind_method(D_METHOD("get_channel_compressed", "channel_index"), &VoxelChunk::get_channel_compressed);
|
//ClassDB::bind_method(D_METHOD("get_channel_compressed", "channel_index"), &VoxelChunk::get_channel_compressed);
|
||||||
//ClassDB::bind_method(D_METHOD("set_channel_compressed", "channel_index", "array"), &VoxelChunk::set_channel_compressed);
|
//ClassDB::bind_method(D_METHOD("set_channel_compressed", "channel_index", "array"), &VoxelChunk::set_channel_compressed);
|
||||||
|
@ -22,10 +22,25 @@ SOFTWARE.
|
|||||||
|
|
||||||
#include "voxel_chunk_default.h"
|
#include "voxel_chunk_default.h"
|
||||||
|
|
||||||
|
#include "core/version.h"
|
||||||
|
|
||||||
|
#if VERSION_MAJOR < 4
|
||||||
|
#include "servers/visual_server.h"
|
||||||
|
#else
|
||||||
|
#include "servers/rendering_server.h"
|
||||||
|
|
||||||
|
typedef class RenderingServer VisualServer;
|
||||||
|
typedef class RenderingServer VS;
|
||||||
|
|
||||||
|
#include "servers/physics_server_3d.h"
|
||||||
|
|
||||||
|
typedef class PhysicsServer3D PhysicsServer;
|
||||||
|
|
||||||
|
typedef class StandardMaterial3D SpatialMaterial;
|
||||||
|
#endif
|
||||||
|
|
||||||
#include "../voxel_world.h"
|
#include "../voxel_world.h"
|
||||||
|
|
||||||
#include "../../meshers/default/voxel_mesher_default.h"
|
#include "../../meshers/default/voxel_mesher_default.h"
|
||||||
|
|
||||||
#include "../../../opensimplex/open_simplex_noise.h"
|
#include "../../../opensimplex/open_simplex_noise.h"
|
||||||
|
|
||||||
const String VoxelChunkDefault::BINDING_STRING_ACTIVE_BUILD_PHASE_TYPE = "Normal,Process,Physics Process";
|
const String VoxelChunkDefault::BINDING_STRING_ACTIVE_BUILD_PHASE_TYPE = "Normal,Process,Physics Process";
|
||||||
@ -706,7 +721,7 @@ void VoxelChunkDefault::create_debug_immediate_geometry() {
|
|||||||
}
|
}
|
||||||
|
|
||||||
void VoxelChunkDefault::free_debug_immediate_geometry() {
|
void VoxelChunkDefault::free_debug_immediate_geometry() {
|
||||||
if (ObjectDB::instance_validate(_debug_drawer)) {
|
if (_debug_drawer != NULL) {
|
||||||
_debug_drawer->queue_delete();
|
_debug_drawer->queue_delete();
|
||||||
|
|
||||||
_debug_drawer = NULL;
|
_debug_drawer = NULL;
|
||||||
|
@ -25,7 +25,16 @@ SOFTWARE.
|
|||||||
|
|
||||||
#include "../voxel_chunk.h"
|
#include "../voxel_chunk.h"
|
||||||
|
|
||||||
#include "scene/3d/spatial.h"
|
#include "core/version.h"
|
||||||
|
|
||||||
|
#if VERSION_MAJOR < 4
|
||||||
|
#include "scene/3d/immediate_geometry.h"
|
||||||
|
#else
|
||||||
|
#include "scene/3d/immediate_geometry_3d.h"
|
||||||
|
|
||||||
|
typedef class ImmediateGeometry3D ImmediateGeometry;
|
||||||
|
#endif
|
||||||
|
|
||||||
|
|
||||||
#include "core/engine.h"
|
#include "core/engine.h"
|
||||||
#include "core/os/mutex.h"
|
#include "core/os/mutex.h"
|
||||||
@ -34,12 +43,7 @@ SOFTWARE.
|
|||||||
#include "core/ustring.h"
|
#include "core/ustring.h"
|
||||||
|
|
||||||
#include "core/array.h"
|
#include "core/array.h"
|
||||||
#include "core/pool_vector.h"
|
|
||||||
#include "scene/3d/collision_shape.h"
|
|
||||||
#include "scene/3d/mesh_instance.h"
|
|
||||||
#include "scene/3d/physics_body.h"
|
|
||||||
#include "scene/3d/spatial.h"
|
|
||||||
#include "scene/resources/concave_polygon_shape.h"
|
|
||||||
#include "scene/resources/packed_scene.h"
|
#include "scene/resources/packed_scene.h"
|
||||||
|
|
||||||
#include "../voxel_world.h"
|
#include "../voxel_world.h"
|
||||||
|
@ -22,6 +22,12 @@ SOFTWARE.
|
|||||||
|
|
||||||
#include "environment_data.h"
|
#include "environment_data.h"
|
||||||
|
|
||||||
|
#include "core/version.h"
|
||||||
|
|
||||||
|
#if VERSION_MAJOR >= 4
|
||||||
|
#define REAL FLOAT
|
||||||
|
#endif
|
||||||
|
|
||||||
Ref<Environment> EnvironmentData::get_environment() {
|
Ref<Environment> EnvironmentData::get_environment() {
|
||||||
return _environment;
|
return _environment;
|
||||||
}
|
}
|
||||||
|
@ -23,9 +23,19 @@ SOFTWARE.
|
|||||||
#ifndef ENVIRONMENT_DATA_H
|
#ifndef ENVIRONMENT_DATA_H
|
||||||
#define ENVIRONMENT_DATA_H
|
#define ENVIRONMENT_DATA_H
|
||||||
|
|
||||||
|
#include "core/version.h"
|
||||||
|
|
||||||
|
#if VERSION_MAJOR < 4
|
||||||
|
#include "scene/3d/light.h"
|
||||||
|
#else
|
||||||
|
#include "scene/3d/light_3d.h"
|
||||||
|
|
||||||
|
typedef class DirectionalLight3D DirectionalLight;
|
||||||
|
#endif
|
||||||
|
|
||||||
#include "core/color.h"
|
#include "core/color.h"
|
||||||
#include "core/resource.h"
|
#include "core/resource.h"
|
||||||
#include "scene/3d/light.h"
|
|
||||||
#include "scene/3d/world_environment.h"
|
#include "scene/3d/world_environment.h"
|
||||||
#include "scene/main/node.h"
|
#include "scene/main/node.h"
|
||||||
|
|
||||||
|
@ -26,6 +26,22 @@ SOFTWARE.
|
|||||||
|
|
||||||
#include "../thirdparty/lz4/lz4.h"
|
#include "../thirdparty/lz4/lz4.h"
|
||||||
|
|
||||||
|
#if VERSION_MAJOR < 4
|
||||||
|
#include "servers/visual_server.h"
|
||||||
|
#else
|
||||||
|
#include "servers/rendering_server.h"
|
||||||
|
|
||||||
|
typedef class RenderingServer VisualServer;
|
||||||
|
typedef class RenderingServer VS;
|
||||||
|
|
||||||
|
#define REAL FLOAT
|
||||||
|
|
||||||
|
typedef PackedVector3Array PoolVector3Array;
|
||||||
|
typedef PackedVector2Array PoolVector2Array;
|
||||||
|
typedef PackedColorArray PoolColorArray;
|
||||||
|
typedef PackedInt32Array PoolIntArray;
|
||||||
|
#endif
|
||||||
|
|
||||||
_FORCE_INLINE_ bool VoxelChunk::get_process() const {
|
_FORCE_INLINE_ bool VoxelChunk::get_process() const {
|
||||||
return _is_processing;
|
return _is_processing;
|
||||||
}
|
}
|
||||||
@ -429,11 +445,15 @@ PoolByteArray VoxelChunk::get_channel_compressed(int channel_index) const {
|
|||||||
int bound = LZ4_compressBound(size);
|
int bound = LZ4_compressBound(size);
|
||||||
arr.resize(bound);
|
arr.resize(bound);
|
||||||
|
|
||||||
|
#if VERSION_MAJOR < 4
|
||||||
PoolByteArray::Write w = arr.write();
|
PoolByteArray::Write w = arr.write();
|
||||||
|
|
||||||
int ns = LZ4_compress_default(reinterpret_cast<char *>(ch), reinterpret_cast<char *>(w.ptr()), size, bound);
|
int ns = LZ4_compress_default(reinterpret_cast<char *>(ch), reinterpret_cast<char *>(w.ptr()), size, bound);
|
||||||
|
|
||||||
w.release();
|
w.release();
|
||||||
|
#else
|
||||||
|
int ns = LZ4_compress_default(reinterpret_cast<char *>(ch), reinterpret_cast<char *>(arr.ptrw()), size, bound);
|
||||||
|
#endif
|
||||||
arr.resize(ns);
|
arr.resize(ns);
|
||||||
|
|
||||||
return arr;
|
return arr;
|
||||||
@ -459,12 +479,19 @@ void VoxelChunk::set_channel_compressed(int channel_index, const PoolByteArray &
|
|||||||
|
|
||||||
int ds = data.size();
|
int ds = data.size();
|
||||||
|
|
||||||
|
#if VERSION_MAJOR < 4
|
||||||
PoolByteArray::Read r = data.read();
|
PoolByteArray::Read r = data.read();
|
||||||
|
|
||||||
//We are not going to write to it
|
//We are not going to write to it
|
||||||
uint8_t *data_arr = const_cast<uint8_t *>(r.ptr());
|
uint8_t *data_arr = const_cast<uint8_t *>(r.ptr());
|
||||||
|
|
||||||
LZ4_decompress_safe(reinterpret_cast<char *>(data_arr), reinterpret_cast<char *>(ch), ds, size);
|
LZ4_decompress_safe(reinterpret_cast<char *>(data_arr), reinterpret_cast<char *>(ch), ds, size);
|
||||||
|
#else
|
||||||
|
//We are not going to write to it
|
||||||
|
uint8_t *data_arr = const_cast<uint8_t *>(data.ptr());
|
||||||
|
|
||||||
|
LZ4_decompress_safe(reinterpret_cast<char *>(data_arr), reinterpret_cast<char *>(ch), ds, size);
|
||||||
|
#endif
|
||||||
}
|
}
|
||||||
|
|
||||||
_FORCE_INLINE_ int VoxelChunk::get_index(const int x, const int y, const int z) const {
|
_FORCE_INLINE_ int VoxelChunk::get_index(const int x, const int y, const int z) const {
|
||||||
@ -561,7 +588,9 @@ Array VoxelChunk::bake_mesh_array_uv(Array arr, Ref<Texture> tex, float mul_colo
|
|||||||
PoolVector2Array uvs = arr[VisualServer::ARRAY_TEX_UV];
|
PoolVector2Array uvs = arr[VisualServer::ARRAY_TEX_UV];
|
||||||
PoolColorArray colors = arr[VisualServer::ARRAY_COLOR];
|
PoolColorArray colors = arr[VisualServer::ARRAY_COLOR];
|
||||||
|
|
||||||
|
#if VERSION_MAJOR < 4
|
||||||
img->lock();
|
img->lock();
|
||||||
|
#endif
|
||||||
|
|
||||||
for (int i = 0; i < uvs.size(); ++i) {
|
for (int i = 0; i < uvs.size(); ++i) {
|
||||||
Vector2 uv = uvs[i];
|
Vector2 uv = uvs[i];
|
||||||
@ -572,7 +601,9 @@ Array VoxelChunk::bake_mesh_array_uv(Array arr, Ref<Texture> tex, float mul_colo
|
|||||||
colors.set(i, colors[i] * c * mul_color);
|
colors.set(i, colors[i] * c * mul_color);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
#if VERSION_MAJOR < 4
|
||||||
img->unlock();
|
img->unlock();
|
||||||
|
#endif
|
||||||
|
|
||||||
arr[VisualServer::ARRAY_COLOR] = colors;
|
arr[VisualServer::ARRAY_COLOR] = colors;
|
||||||
|
|
||||||
|
@ -25,6 +25,14 @@ SOFTWARE.
|
|||||||
|
|
||||||
#include "core/resource.h"
|
#include "core/resource.h"
|
||||||
|
|
||||||
|
#include "core/version.h"
|
||||||
|
|
||||||
|
#if VERSION_MAJOR < 4
|
||||||
|
#include "core/pool_vector.h"
|
||||||
|
#else
|
||||||
|
#include "core/vector.h"
|
||||||
|
#endif
|
||||||
|
|
||||||
#include "core/engine.h"
|
#include "core/engine.h"
|
||||||
#include "core/os/mutex.h"
|
#include "core/os/mutex.h"
|
||||||
#include "core/os/thread.h"
|
#include "core/os/thread.h"
|
||||||
@ -32,12 +40,7 @@ SOFTWARE.
|
|||||||
#include "core/ustring.h"
|
#include "core/ustring.h"
|
||||||
|
|
||||||
#include "core/array.h"
|
#include "core/array.h"
|
||||||
#include "core/pool_vector.h"
|
|
||||||
#include "scene/3d/collision_shape.h"
|
|
||||||
#include "scene/3d/mesh_instance.h"
|
|
||||||
#include "scene/3d/physics_body.h"
|
|
||||||
#include "scene/3d/spatial.h"
|
|
||||||
#include "scene/resources/concave_polygon_shape.h"
|
|
||||||
#include "scene/resources/packed_scene.h"
|
#include "scene/resources/packed_scene.h"
|
||||||
|
|
||||||
#include "voxel_world.h"
|
#include "voxel_world.h"
|
||||||
@ -52,8 +55,15 @@ SOFTWARE.
|
|||||||
|
|
||||||
#include "voxel_chunk_prop_data.h"
|
#include "voxel_chunk_prop_data.h"
|
||||||
|
|
||||||
|
#include "core/version.h"
|
||||||
|
|
||||||
|
#if VERSION_MAJOR >= 4
|
||||||
|
#define Texture Texture2D
|
||||||
|
#endif
|
||||||
|
|
||||||
class VoxelWorld;
|
class VoxelWorld;
|
||||||
|
|
||||||
|
|
||||||
class VoxelChunk : public Resource {
|
class VoxelChunk : public Resource {
|
||||||
GDCLASS(VoxelChunk, Resource);
|
GDCLASS(VoxelChunk, Resource);
|
||||||
|
|
||||||
|
@ -58,7 +58,7 @@ void VoxelStructure::set_world_position_z(const int value) {
|
|||||||
}
|
}
|
||||||
|
|
||||||
void VoxelStructure::write_to_chunk(Node *chunk) {
|
void VoxelStructure::write_to_chunk(Node *chunk) {
|
||||||
ERR_FAIL_COND(!ObjectDB::instance_validate(Object::cast_to<VoxelChunk>(chunk)));
|
ERR_FAIL_COND(Object::cast_to<VoxelChunk>(chunk) == NULL);
|
||||||
|
|
||||||
if (has_method("_write_to_chunk"))
|
if (has_method("_write_to_chunk"))
|
||||||
call("_write_to_chunk", chunk);
|
call("_write_to_chunk", chunk);
|
||||||
|
@ -25,9 +25,19 @@ SOFTWARE.
|
|||||||
|
|
||||||
#include "core/reference.h"
|
#include "core/reference.h"
|
||||||
|
|
||||||
|
#include "core/version.h"
|
||||||
|
|
||||||
|
#if VERSION_MAJOR < 4
|
||||||
|
#include "core/pool_vector.h"
|
||||||
|
#else
|
||||||
|
#include "core/vector.h"
|
||||||
|
|
||||||
|
template <class N>
|
||||||
|
using PoolVector = Vector<N>;
|
||||||
|
#endif
|
||||||
|
|
||||||
#include "core/hash_map.h"
|
#include "core/hash_map.h"
|
||||||
#include "core/math/aabb.h"
|
#include "core/math/aabb.h"
|
||||||
#include "core/pool_vector.h"
|
|
||||||
#include "voxel_chunk.h"
|
#include "voxel_chunk.h"
|
||||||
|
|
||||||
class VoxelStructure : public Reference {
|
class VoxelStructure : public Reference {
|
||||||
|
@ -24,6 +24,12 @@ SOFTWARE.
|
|||||||
|
|
||||||
#include "voxel_chunk.h"
|
#include "voxel_chunk.h"
|
||||||
|
|
||||||
|
#include "core/version.h"
|
||||||
|
|
||||||
|
#if VERSION_MAJOR >= 4
|
||||||
|
#define REAL FLOAT
|
||||||
|
#endif
|
||||||
|
|
||||||
bool VoxelWorld::get_editable() const {
|
bool VoxelWorld::get_editable() const {
|
||||||
return _editable;
|
return _editable;
|
||||||
}
|
}
|
||||||
@ -361,7 +367,11 @@ void VoxelWorld::on_chunk_mesh_generation_finished(Ref<VoxelChunk> p_chunk) {
|
|||||||
Vector<Variant> VoxelWorld::get_chunks() {
|
Vector<Variant> VoxelWorld::get_chunks() {
|
||||||
Vector<Variant> r;
|
Vector<Variant> r;
|
||||||
for (int i = 0; i < _chunks_vector.size(); i++) {
|
for (int i = 0; i < _chunks_vector.size(); i++) {
|
||||||
|
#if VERSION_MAJOR < 4
|
||||||
r.push_back(_chunks_vector[i].get_ref_ptr());
|
r.push_back(_chunks_vector[i].get_ref_ptr());
|
||||||
|
#else
|
||||||
|
r.push_back(_chunks_vector[i]);
|
||||||
|
#endif
|
||||||
}
|
}
|
||||||
return r;
|
return r;
|
||||||
}
|
}
|
||||||
|
@ -23,9 +23,21 @@ SOFTWARE.
|
|||||||
#ifndef VOXEL_WORLD_H
|
#ifndef VOXEL_WORLD_H
|
||||||
#define VOXEL_WORLD_H
|
#define VOXEL_WORLD_H
|
||||||
|
|
||||||
|
#include "core/version.h"
|
||||||
|
|
||||||
|
#if VERSION_MAJOR < 4
|
||||||
|
#include "scene/3d/navigation.h"
|
||||||
|
#include "scene/3d/spatial.h"
|
||||||
|
#else
|
||||||
|
#include "scene/3d/navigation_3d.h"
|
||||||
|
#include "scene/3d/node_3d.h"
|
||||||
|
|
||||||
|
typedef class Navigation3D Navigation;
|
||||||
|
typedef class Node3D Spatial;
|
||||||
|
#endif
|
||||||
|
|
||||||
#include "core/engine.h"
|
#include "core/engine.h"
|
||||||
#include "core/hash_map.h"
|
#include "core/hash_map.h"
|
||||||
#include "scene/3d/navigation.h"
|
|
||||||
|
|
||||||
#include "../areas/world_area.h"
|
#include "../areas/world_area.h"
|
||||||
#include "../level_generator/voxelman_level_generator.h"
|
#include "../level_generator/voxelman_level_generator.h"
|
||||||
|
@ -22,11 +22,13 @@ SOFTWARE.
|
|||||||
|
|
||||||
#include "voxel_world_editor.h"
|
#include "voxel_world_editor.h"
|
||||||
|
|
||||||
#include "core/os/input.h"
|
#include "core/version.h"
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
#include "editor/editor_scale.h"
|
#include "editor/editor_scale.h"
|
||||||
#include "editor/editor_settings.h"
|
#include "editor/editor_settings.h"
|
||||||
#include "editor/plugins/spatial_editor_plugin.h"
|
|
||||||
#include "scene/3d/camera.h"
|
|
||||||
#include "voxel_world.h"
|
#include "voxel_world.h"
|
||||||
|
|
||||||
#include "core/math/geometry.h"
|
#include "core/math/geometry.h"
|
||||||
@ -34,6 +36,26 @@ SOFTWARE.
|
|||||||
|
|
||||||
#include "voxel_chunk.h"
|
#include "voxel_chunk.h"
|
||||||
|
|
||||||
|
#include "core/version.h"
|
||||||
|
|
||||||
|
#if VERSION_MAJOR < 4
|
||||||
|
|
||||||
|
#include "core/os/input.h"
|
||||||
|
#include "editor/plugins/spatial_editor_plugin.h"
|
||||||
|
#include "scene/3d/camera.h"
|
||||||
|
|
||||||
|
#else
|
||||||
|
|
||||||
|
#include "core/input/input_event.h"
|
||||||
|
#include "editor/plugins/node_3d_editor_plugin.h"
|
||||||
|
#include "scene/3d/camera_3d.h"
|
||||||
|
|
||||||
|
#define PhysicsDirectSpaceState PhysicsDirectSpaceState3D
|
||||||
|
#define SpatialEditor Node3DEditor
|
||||||
|
#define SpatialEditorPlugin Node3DEditorPlugin
|
||||||
|
|
||||||
|
#endif
|
||||||
|
|
||||||
bool VoxelWorldEditor::forward_spatial_input_event(Camera *p_camera, const Ref<InputEvent> &p_event) {
|
bool VoxelWorldEditor::forward_spatial_input_event(Camera *p_camera, const Ref<InputEvent> &p_event) {
|
||||||
if (!_world || !_world->get_editable()) {
|
if (!_world || !_world->get_editable()) {
|
||||||
return false;
|
return false;
|
||||||
|
@ -26,6 +26,15 @@ SOFTWARE.
|
|||||||
#include "editor/editor_node.h"
|
#include "editor/editor_node.h"
|
||||||
#include "editor/editor_plugin.h"
|
#include "editor/editor_plugin.h"
|
||||||
|
|
||||||
|
#include "core/version.h"
|
||||||
|
|
||||||
|
#if VERSION_MAJOR >= 4
|
||||||
|
#define Camera Camera3D
|
||||||
|
#define PhysicsDirectSpaceState PhysicsDirectSpaceState3D
|
||||||
|
#define SpatialEditor Node3DEditor
|
||||||
|
#define SpatialEditorPlugin Node3DEditorPlugin
|
||||||
|
#endif
|
||||||
|
|
||||||
class VoxelWorld;
|
class VoxelWorld;
|
||||||
class SpatialEditorPlugin;
|
class SpatialEditorPlugin;
|
||||||
|
|
||||||
|
Loading…
Reference in New Issue
Block a user