GodotECS / godex

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

Godex doesn't seem to build against Godot 3.3.3: KeyError: 'float': #260

Open leetNightshade opened 3 years ago

leetNightshade commented 3 years ago

Godex's SCsub access of env_ecs["float"] is triggering a build error for me. I see bulletphysics does that same check, but idk that I'm using bullet or that it's building. Idk why this is happening.

Is this a project or my local godot configuration issue?

Here's my output:

> Executing task in folder code: scons -j5 platform=x11 use_llvm=yes use_lld=yes <

scons: Reading SConscript files ...
Enabling ALSA
Enabling PulseAudio
Enabling udev support
KeyError: 'float':
  File "/home/ln/projects/warp-godot/godot/SConstruct", line 648:
    SConscript("modules/SCsub")
  File "/usr/lib/scons/SCons/Script/SConscript.py", line 614:
    return method(*args, **kw)
  File "/usr/lib/scons/SCons/Script/SConscript.py", line 551:
    return _SConscript(self.fs, *files, **subst_kw)
  File "/usr/lib/scons/SCons/Script/SConscript.py", line 256:
    call_stack[-1].globals)
  File "/home/ln/projects/warp-godot/godot/modules/SCsub", line 21:
    SConscript(name + "/SCsub")  # Built-in.
  File "/usr/lib/scons/SCons/Script/SConscript.py", line 614:
    return method(*args, **kw)
  File "/usr/lib/scons/SCons/Script/SConscript.py", line 551:
    return _SConscript(self.fs, *files, **subst_kw)
  File "/usr/lib/scons/SCons/Script/SConscript.py", line 256:
    call_stack[-1].globals)
  File "/home/ln/projects/warp-godot/godot/modules/godex/SCsub", line 9:
    if env_ecs["float"] == "64":
  File "/usr/lib/scons/SCons/Environment.py", line 410:
    return self._dict[key]
The terminal process "fish '-c', 'scons -j5 platform=x11 use_llvm=yes use_lld=yes'" terminated with exit code: 2.

Does your project require Godot 4 and not work with Godot 3? A comment in your main ReadMe seems to indicate you only build against Main, which would explain this.

If the Godot version is the cause of the error, how hard would it be to make it work with 3.3.3?

leetNightshade commented 3 years ago

After starting to make patch changes for 3.3.3 for Godex and to Godex, I start to see there's a lot that would need to be patched up. So, it seems like Godex has a hard dependency on Godot 4.

It would be nice if you can make that dependency explicitly known. I know it says you've only tested against main, but still. You're building Godex against an unstable engine branch, so I guess you're warning of this not being ready for release is legit.

AndreaCatania commented 3 years ago

Hello, thanks for the issue. Right now I'm focusing on integrating Godex for 4.0, but if someone want to port it to 3.x it's fine for me and I'm available for support, in case anyone has questions. However, discover and list all the Godot 4 features used in godex, would steal a lot of time already, so I'm afraid but I can't do that right now. Though, port godex to 3.x is really welcome, and if you have any question you can join on discord for a much faster response.