GodotECS / godex

Godex is a Godot Engine ECS library.
MIT License
1.22k stars 67 forks source link

Adding custom iterator to Godot not working #306

Open MyStarrySpace opened 1 year ago

MyStarrySpace commented 1 year ago

Hi there,

I am setting up the Godot ECS for the first time, and it seems to not be working. When I run the code, I get the following:

PS C:\Users\hayan\LocalDocuments\GodotCustom\godot> git apply ../godex/patches/add_custom_iterator.patch --reject --ignore-space-change --ignore-whitespace
Checking patch SConstruct...
error: while searching for:
                env.module_icons_paths.append(path + "/" + "icons")?
            modules_enabled[name] = path?
?
        sys.path.remove(path)?
        sys.modules.pop("config")?
?

error: patch failed: SConstruct:646
Checking patch core/config/engine.h...
error: while searching for:
?
        uint64_t get_frames_drawn();?
?
        uint64_t get_physics_frames() const { return _physics_frames; }?
        uint64_t get_process_frames() const { return _process_frames; }?
        bool is_in_physics_frame() const { return _in_physics; }?
        uint64_t get_frame_ticks() const { return _frame_ticks; }?
        double get_process_step() const { return _process_step; }?

error: patch failed: core/config/engine.h:92
Checking patch main/main.cpp...
error: while searching for:
        // process all our active interfaces?
        XRServer::get_singleton()->_process();?
?
        for (int iters = 0; iters < advance.physics_steps; ++iters) {?
                if (Input::get_singleton()->is_using_input_buffering() && agile_input_event_flushing) {?
                        Input::get_singleton()->flush_buffered_events();?

error: patch failed: main/main.cpp:2639
error: while searching for:
        if (Input::get_singleton()->is_using_input_buffering() && agile_input_event_flushing) {?
                Input::get_singleton()->flush_buffered_events();?
        }?
?
        uint64_t process_begin = OS::get_singleton()->get_ticks_usec();?
?

error: patch failed: main/main.cpp:2681
error: while searching for:
                ScriptServer::get_language(i)->frame();?
        }?
?
        AudioServer::get_singleton()->update();?
?
        if (EngineDebugger::is_active()) {?
                EngineDebugger::get_singleton()->iteration(frame_time, process_ticks, physics_process_ticks, physics_step);?

error: patch failed: main/main.cpp:2713
Checking patch main/main.h...
error: while searching for:
#endif?
        static bool start();?
?
        static bool iteration();?
        static void force_redraw();?
?

error: patch failed: main/main.h:56
Applying patch SConstruct with 1 reject...
Rejected hunk #1.
Applying patch core/config/engine.h with 1 reject...
Rejected hunk #1.
Applying patch main/main.cpp with 3 rejects...
Rejected hunk #1.
Rejected hunk #2.
Rejected hunk #3.
Applying patch main/main.h with 1 reject...
Rejected hunk #1.

After trying to build Godot, I then get the following:

PS C:\Users\hayan\LocalDocuments\GodotCustom\godot> scons custom_modules="../godex"
scons: Reading SConscript files ...
Automatically detected platform: windows
Auto-detected 12 CPU cores available for build parallelism. Using 11 cores by default. You can override it with the -j argument.
Found MSVC version 14.3, arch x86_64
Building for platform "windows", architecture "x86_64", target "editor".
KeyError: 'float':
  File "C:\Users\hayan\LocalDocuments\GodotCustom\godot\SConstruct", line 922:
    SConscript("modules/SCsub")
  File "C:\Python310\lib\site-packages\SCons\Script\SConscript.py", line 660:
    return method(*args, **kw)
  File "C:\Python310\lib\site-packages\SCons\Script\SConscript.py", line 597:
    return _SConscript(self.fs, *files, **subst_kw)
  File "C:\Python310\lib\site-packages\SCons\Script\SConscript.py", line 285:
    exec(compile(scriptdata, scriptname, 'exec'), call_stack[-1].globals)
  File "C:\Users\hayan\LocalDocuments\GodotCustom\godot\modules\SCsub", line 34:
    SConscript(base_path + "/SCsub")
  File "C:\Python310\lib\site-packages\SCons\Script\SConscript.py", line 660:
    return method(*args, **kw)
  File "C:\Python310\lib\site-packages\SCons\Script\SConscript.py", line 597:
    return _SConscript(self.fs, *files, **subst_kw)
  File "C:\Python310\lib\site-packages\SCons\Script\SConscript.py", line 285:
    exec(compile(scriptdata, scriptname, 'exec'), call_stack[-1].globals)
  File "C:\Users\hayan\LocalDocuments\GodotCustom\godex\SCsub", line 9:
    if env_ecs["float"] == "64":
  File "C:\Python310\lib\site-packages\SCons\Environment.py", line 387:
    return self._dict[key]
PS C:\Users\hayan\LocalDocuments\GodotCustom\godot>

I am on Windows 11

Treeways commented 1 year ago

Can confirm on Linux as well - following the Setup page, a similar KeyError happens after applying the patch.