Skip to content

Conversation

c08oprkiua
Copy link
Collaborator

This does several changes to how the engine handles physics servers for both 2D and 3D, including:

  • Making it possible to compile the engine without one or both of the servers to save on code space
  • Moving the default physics server implementations into modules, as godot_physics_2d and godot_physics_3d (since afaik these are the unaltered physics implementations as what was shipped with Godot 1.0 originally)
    • Making it possible to make other physics server implementations (eg. a 2D server backed by Box2D) in modules
    • Move physics server initialization outside of the platform's scope, and into the scope of the module which would implement them

CODE (probably) DOES NOT COMPILE, THIS IS AN INCREMENTAL COMMIT
* Renamed Physics2DServer to PhysicsServer2D
* renamed _3D_DISABLED to NODE_3D_DISABLED, added a NODE_2D_DISABLED
* More work on making the different physics server implementations work
Once this works, it should make it so that physics calls can globally be disabled no matter what code is changed or edited in the future
* Engine successfully compiles with PhysicsServer2DSW and PhysicsServer3DSW in modules
* Currently this edits what was previously platform-dependent code; X11 no longer initializes the Physics servers. THIS NEEDS TO BE CHANGED FOR ALL THE OTHER PLATFORMS AS WELL
* This bumps module registration to happen before server registration, in order to function. Optimally, in the future there would be separate registration functions for modules depending on when in the startup cycle the registration of their types needs to happen.
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

1 participant