GodotECS / godex

Godex is a Godot Engine ECS library.
MIT License
1.2k stars 68 forks source link

Compiling against current Godot master fails #284

Closed avionix-g closed 2 years ago

avionix-g commented 2 years ago

Compilation fails for me against current Godot master (1fbd498307103d0f80f0c780bbb647214dfed4b0). The last tested version in the readme (9f058674acebf9a7a0704cdbc26dc9f6d853b16e) does compile for me.

I'm using: Arch Linux 5.16.12-arch1-1 SCons 4.3.0 GCC 11.2.0

Output of git apply ../godex/patches/add_custom_iterator.patch --reject --ignore-space-change --ignore-whitespace

Checking patch SConstruct...
Hunk #1 succeeded at 696 (offset 50 lines).
Checking patch core/config/engine.h...
Hunk #1 succeeded at 94 (offset 2 lines).
Checking patch main/main.cpp...
Hunk #1 succeeded at 2641 (offset 27 lines).
Hunk #2 succeeded at 2690 (offset 27 lines).
Hunk #3 succeeded at 2724 (offset 27 lines).
Checking patch main/main.h...
Applied patch SConstruct cleanly.
Applied patch core/config/engine.h cleanly.
Applied patch main/main.cpp cleanly.
Applied patch main/main.h cleanly.

Output of scons -j$(nproc) platform=linuxbsd target=release_debug custom_modules="../godex":

scons: Reading SConscript files ...
This file `./systems/system_structs.gen.h` is already generated.
This file `./systems/system_exe_funcs.gen.h` is already generated.
This file `./systems/system_dispatcher_exe_funcs.gen.h` is already generated.
This file `./systems/temporary_system_exe_funcs.gen.h` is already generated.
Checking for C header file mntent.h... (cached) yes
scons: done reading SConscript files.
scons: Building targets ...
Compiling /home/avionixg/godex/modules/godot/register_types.cpp ...
Compiling /home/avionixg/godex/modules/godot/editor_plugins/components_gizmo_3d.cpp ...
Compiling /home/avionixg/godex/modules/godot/editor_plugins/components_mesh_gizmo_3d.cpp ...
Compiling /home/avionixg/godex/modules/godot/editor_plugins/components_transform_gizmo_3d.cpp ...
Compiling /home/avionixg/godex/modules/godot/editor_plugins/editor_world_ecs.cpp ...
Compiling /home/avionixg/godex/modules/godot/editor_plugins/entity_editor_plugin.cpp ...
Compiling /home/avionixg/godex/modules/godot/nodes/entity.cpp ...
Compiling /home/avionixg/godex/modules/godot/nodes/script_ecs.cpp ...
In file included from /home/avionixg/godex/modules/godot/editor_plugins/components_gizmo_3d.cpp:1:
/home/avionixg/godex/modules/godot/editor_plugins/components_gizmo_3d.h:38:24: error: 'virtual String Components3DGizmoPlugin::get_handle_name(const EditorNode3DGizmo*, int) const' marked 'override', but does not override
   38 |         virtual String get_handle_name(const EditorNode3DGizmo *p_gizmo, int p_idx) const override;
      |                        ^~~~~~~~~~~~~~~
/home/avionixg/godex/modules/godot/editor_plugins/components_gizmo_3d.h:39:25: error: 'virtual Variant Components3DGizmoPlugin::get_handle_value(const EditorNode3DGizmo*, int) const' marked 'override', but does not override
   39 |         virtual Variant get_handle_value(const EditorNode3DGizmo *p_gizmo, int p_idx) const override;
      |                         ^~~~~~~~~~~~~~~~
/home/avionixg/godex/modules/godot/editor_plugins/components_gizmo_3d.h:40:22: error: 'virtual void Components3DGizmoPlugin::set_handle(const EditorNode3DGizmo*, int, Camera3D*, const Point2&)' marked 'override', but does not override
   40 |         virtual void set_handle(const EditorNode3DGizmo *p_gizmo, int p_idx, Camera3D *p_camera, const Point2 &p_point) override;
      |                      ^~~~~~~~~~
/home/avionixg/godex/modules/godot/editor_plugins/components_gizmo_3d.h:41:22: error: 'virtual void Components3DGizmoPlugin::commit_handle(const EditorNode3DGizmo*, int, const Variant&, bool)' marked 'override', but does not override
   41 |         virtual void commit_handle(const EditorNode3DGizmo *p_gizmo, int p_idx, const Variant &p_restore, bool p_cancel = false) override;
      |                      ^~~~~~~~~~~~~
In file included from /home/avionixg/godex/modules/godot/editor_plugins/components_mesh_gizmo_3d.h:4,
                 from /home/avionixg/godex/modules/godot/editor_plugins/components_mesh_gizmo_3d.cpp:1:
/home/avionixg/godex/modules/godot/editor_plugins/components_gizmo_3d.h:38:24: error: 'virtual String Components3DGizmoPlugin::get_handle_name(const EditorNode3DGizmo*, int) const' marked 'override', but does not override
   38 |         virtual String get_handle_name(const EditorNode3DGizmo *p_gizmo, int p_idx) const override;
      |                        ^~~~~~~~~~~~~~~
/home/avionixg/godex/modules/godot/editor_plugins/components_gizmo_3d.h:39:25: error: 'virtual Variant Components3DGizmoPlugin::get_handle_value(const EditorNode3DGizmo*, int) const' marked 'override', but does not override
   39 |         virtual Variant get_handle_value(const EditorNode3DGizmo *p_gizmo, int p_idx) const override;
      |                         ^~~~~~~~~~~~~~~~
/home/avionixg/godex/modules/godot/editor_plugins/components_gizmo_3d.h:40:22: error: 'virtual void Components3DGizmoPlugin::set_handle(const EditorNode3DGizmo*, int, Camera3D*, const Point2&)' marked 'override', but does not override
   40 |         virtual void set_handle(const EditorNode3DGizmo *p_gizmo, int p_idx, Camera3D *p_camera, const Point2 &p_point) override;
      |                      ^~~~~~~~~~
/home/avionixg/godex/modules/godot/editor_plugins/components_gizmo_3d.h:41:22: error: 'virtual void Components3DGizmoPlugin::commit_handle(const EditorNode3DGizmo*, int, const Variant&, bool)' marked 'override', but does not override
   41 |         virtual void commit_handle(const EditorNode3DGizmo *p_gizmo, int p_idx, const Variant &p_restore, bool p_cancel = false) override;
      |                      ^~~~~~~~~~~~~
scons: *** [/home/avionixg/godex/modules/godot/editor_plugins/components_gizmo_3d.linuxbsd.opt.tools.64.o] Error 1
scons: *** [/home/avionixg/godex/modules/godot/editor_plugins/components_mesh_gizmo_3d.linuxbsd.opt.tools.64.o] Error 1
In file included from /home/avionixg/godex/modules/godot/editor_plugins/components_mesh_gizmo_3d.h:4,
                 from /home/avionixg/godex/modules/godot/register_types.cpp:14:
/home/avionixg/godex/modules/godot/editor_plugins/components_gizmo_3d.h:38:24: error: 'virtual String Components3DGizmoPlugin::get_handle_name(const EditorNode3DGizmo*, int) const' marked 'override', but does not override
   38 |         virtual String get_handle_name(const EditorNode3DGizmo *p_gizmo, int p_idx) const override;
      |                        ^~~~~~~~~~~~~~~
/home/avionixg/godex/modules/godot/editor_plugins/components_gizmo_3d.h:39:25: error: 'virtual Variant Components3DGizmoPlugin::get_handle_value(const EditorNode3DGizmo*, int) const' marked 'override', but does not override
   39 |         virtual Variant get_handle_value(const EditorNode3DGizmo *p_gizmo, int p_idx) const override;
      |                         ^~~~~~~~~~~~~~~~
/home/avionixg/godex/modules/godot/editor_plugins/components_gizmo_3d.h:40:22: error: 'virtual void Components3DGizmoPlugin::set_handle(const EditorNode3DGizmo*, int, Camera3D*, const Point2&)' marked 'override', but does not override
   40 |         virtual void set_handle(const EditorNode3DGizmo *p_gizmo, int p_idx, Camera3D *p_camera, const Point2 &p_point) override;
      |                      ^~~~~~~~~~
/home/avionixg/godex/modules/godot/editor_plugins/components_gizmo_3d.h:41:22: error: 'virtual void Components3DGizmoPlugin::commit_handle(const EditorNode3DGizmo*, int, const Variant&, bool)' marked 'override', but does not override
   41 |         virtual void commit_handle(const EditorNode3DGizmo *p_gizmo, int p_idx, const Variant &p_restore, bool p_cancel = false) override;
      |                      ^~~~~~~~~~~~~
In file included from /home/avionixg/godex/modules/godot/editor_plugins/entity_editor_plugin.cpp:1:
/home/avionixg/godex/modules/godot/editor_plugins/entity_editor_plugin.h:19:9: error: 'OAHashMap' does not name a type; did you mean 'HashMap'?
   19 |         OAHashMap<StringName, OAHashMap<StringName, EditorProperty *>> components_properties;
      |         ^~~~~~~~~
      |         HashMap
/home/avionixg/godex/modules/godot/editor_plugins/entity_editor_plugin.h:44:15: error: 'OAHashMap' does not name a type; did you mean 'HashMap'?
   44 |         const OAHashMap<StringName, Ref<ComponentDepot>> &entity_get_components_data() const;
      |               ^~~~~~~~~
      |               HashMap
In file included from /home/avionixg/godex/modules/godot/editor_plugins/components_transform_gizmo_3d.h:4,
                 from /home/avionixg/godex/modules/godot/editor_plugins/components_transform_gizmo_3d.cpp:1:
/home/avionixg/godex/modules/godot/editor_plugins/components_gizmo_3d.h:38:24: error: 'virtual String Components3DGizmoPlugin::get_handle_name(const EditorNode3DGizmo*, int) const' marked 'override', but does not override
   38 |         virtual String get_handle_name(const EditorNode3DGizmo *p_gizmo, int p_idx) const override;
      |                        ^~~~~~~~~~~~~~~
/home/avionixg/godex/modules/godot/editor_plugins/components_gizmo_3d.h:39:25: error: 'virtual Variant Components3DGizmoPlugin::get_handle_value(const EditorNode3DGizmo*, int) const' marked 'override', but does not override
   39 |         virtual Variant get_handle_value(const EditorNode3DGizmo *p_gizmo, int p_idx) const override;
      |                         ^~~~~~~~~~~~~~~~
/home/avionixg/godex/modules/godot/editor_plugins/components_gizmo_3d.h:40:22: error: 'virtual void Components3DGizmoPlugin::set_handle(const EditorNode3DGizmo*, int, Camera3D*, const Point2&)' marked 'override', but does not override
   40 |         virtual void set_handle(const EditorNode3DGizmo *p_gizmo, int p_idx, Camera3D *p_camera, const Point2 &p_point) override;
      |                      ^~~~~~~~~~
/home/avionixg/godex/modules/godot/editor_plugins/components_gizmo_3d.h:41:22: error: 'virtual void Components3DGizmoPlugin::commit_handle(const EditorNode3DGizmo*, int, const Variant&, bool)' marked 'override', but does not override
   41 |         virtual void commit_handle(const EditorNode3DGizmo *p_gizmo, int p_idx, const Variant &p_restore, bool p_cancel = false) override;
      |                      ^~~~~~~~~~~~~
/home/avionixg/godex/modules/godot/editor_plugins/editor_world_ecs.cpp: In member function 'void EditorWorldECS::_notification(int)':
/home/avionixg/godex/modules/godot/editor_plugins/editor_world_ecs.cpp:758:43: error: incomplete type 'EditorFileSystem' used in nested name specifier
  758 |                         EditorFileSystem::get_singleton()->connect(SNAME("filesystem_changed"), callable_mp(this, &EditorWorldECS::_filesystem_changed));
      |                                           ^~~~~~~~~~~~~
/home/avionixg/godex/modules/godot/editor_plugins/entity_editor_plugin.cpp: In member function 'void EntityEditor::update_editors()':
/home/avionixg/godex/modules/godot/editor_plugins/entity_editor_plugin.cpp:72:17: error: 'components_properties' was not declared in this scope; did you mean 'components_section'?
   72 |                 components_properties.clear();
      |                 ^~~~~~~~~~~~~~~~~~~~~
      |                 components_section
/home/avionixg/godex/modules/godot/editor_plugins/entity_editor_plugin.cpp:74:80: error: 'entity_get_components_data' was not declared in this scope; did you mean 'entity_get_component_props_data'?
   74 |                 const OAHashMap<StringName, Ref<ComponentDepot>> &components = entity_get_components_data();
      |                                                                                ^~~~~~~~~~~~~~~~~~~~~~~~~~
      |                                                                                entity_get_component_props_data
/home/avionixg/godex/modules/godot/editor_plugins/entity_editor_plugin.cpp: In member function 'void EntityEditor::create_component_inspector(StringName, const Ref<ComponentDepot>&, VBoxContainer*)':
/home/avionixg/godex/modules/godot/editor_plugins/entity_editor_plugin.cpp:113:17: error: 'components_properties' was not declared in this scope; did you mean 'components_section'?
  113 |                 components_properties.insert(p_component_name, editor_properties);
      |                 ^~~~~~~~~~~~~~~~~~~~~
      |                 components_section
/home/avionixg/godex/modules/godot/editor_plugins/entity_editor_plugin.cpp:636:17: error: 'components_properties' was not declared in this scope; did you mean 'components_section'?
  636 |                 components_properties.insert(p_component_name, editor_properties);
      |                 ^~~~~~~~~~~~~~~~~~~~~
      |                 components_section
/home/avionixg/godex/modules/godot/editor_plugins/entity_editor_plugin.cpp: In member function 'void EntityEditor::update_component_inspector(StringName)':
/home/avionixg/godex/modules/godot/editor_plugins/entity_editor_plugin.cpp:641:58: error: 'components_properties' was not declared in this scope; did you mean 'components_section'?
  641 |         OAHashMap<StringName, EditorProperty *> *props = components_properties.lookup_ptr(p_component_name);
      |                                                          ^~~~~~~~~~~~~~~~~~~~~
      |                                                          components_section
/home/avionixg/godex/modules/godot/editor_plugins/entity_editor_plugin.cpp: At global scope:
/home/avionixg/godex/modules/godot/editor_plugins/entity_editor_plugin.cpp:705:51: error: no declaration matches 'const OAHashMap<StringName, Ref<ComponentDepot> >& EntityEditor::entity_get_components_data() const'
  705 | const OAHashMap<StringName, Ref<ComponentDepot>> &EntityEditor::entity_get_components_data() const {
      |                                                   ^~~~~~~~~~~~
/home/avionixg/godex/modules/godot/editor_plugins/entity_editor_plugin.cpp:705:51: note: no functions named 'const OAHashMap<StringName, Ref<ComponentDepot> >& EntityEditor::entity_get_components_data() const'
In file included from /home/avionixg/godex/modules/godot/editor_plugins/entity_editor_plugin.cpp:1:
/home/avionixg/godex/modules/godot/editor_plugins/entity_editor_plugin.h:12:7: note: 'class EntityEditor' defined here
   12 | class EntityEditor : public VBoxContainer {
      |       ^~~~~~~~~~~~
/home/avionixg/godex/modules/godot/editor_plugins/components_transform_gizmo_3d.cpp: In member function 'virtual void TransformComponentGizmo::init()':
/home/avionixg/godex/modules/godot/editor_plugins/components_transform_gizmo_3d.cpp:7:37: error: 'EDITOR_DEF' was not declared in this scope
    7 |         const Color gizmo_color_x = EDITOR_DEF("editors/3d_gizmos/gizmo_colors/x", Color(0.98, 0.1, 0.1));
      |                                     ^~~~~~~~~~
scons: *** [/home/avionixg/godex/modules/godot/editor_plugins/editor_world_ecs.linuxbsd.opt.tools.64.o] Error 1
scons: *** [/home/avionixg/godex/modules/godot/editor_plugins/entity_editor_plugin.linuxbsd.opt.tools.64.o] Error 1
scons: *** [/home/avionixg/godex/modules/godot/editor_plugins/components_transform_gizmo_3d.linuxbsd.opt.tools.64.o] Error 1
scons: *** [/home/avionixg/godex/modules/godot/register_types.linuxbsd.opt.tools.64.o] Error 1
scons: building terminated because of errors.
[Time elapsed: 00:00:07.263]
AndreaCatania commented 2 years ago

Yes, those functions were renamed, it's necessary to rename those too. Right now Godex is compatible with this version: 9f058674acebf9a7a0704cdbc26dc9f6d853b16e

AndreaCatania commented 2 years ago

This issue is already fixed, thx for opening it!