Removing Sumo? WAIT! Re: [Bf-committers] CVS commit: blender/source/gameengine/Ketsji KX_SumoPhysicsController.cpp KX_SumoPhysicsController.h

bf-committers@blender.org bf-committers@blender.org
Tue, 5 Nov 2002 13:36:21 +0000


On Mon, Nov 04, 2002 at 10:47:38PM +0100, Unprivileged User wrote:
> nobody      2002/11/04 22:47:37 CET
> 
>   Removed files:
>     blender/source/gameengine/Ketsji KX_SumoPhysicsController.cpp 
>                                      KX_SumoPhysicsController.h 
>   
>   Log:
>   Forgot to remove sumo physics controllers
>   Maarten (mail@maartengribnau.com)

As I said in a previous mail, Blender DOES compile with Sumo, it just fails
to link (because of the missing SOLID library). As I said, I think writing a
replacement SOLID based off of the free SOLID 2.0 could make Sumo work again
in Blender, in a backwards-compatible way. This way, Sumo physics would be
the backwards-compatible physics engine, and ODE would be the new physics
engine (you can select the physics engine in the WorldButtons).

Therefore I consider it a poor move to be removing the KX_Sumo* files, and
to delete references in the Makefiles. KX_SumoPhysicsController works!
I don't want to (or want anyone else to) have to rewrite it if/when we re-enable
Sumo for backwards-compatibility.

I think we should leave the KX_Sumo* stuff *in*. There is a #define USE_SUMO_SOLID
which, if I recall correctly, when unset allows empty files to be built.
Only when USE_SUMO_SOLID is defined will the actual Sumo stuff be built.
So the current existence of the Sumo files harms nothing. They can be built
in "empty" mode for the current Blender release. For later Blender releases,
once we reprogram a SOLID-3 compatible replacement using SOLID-2, then we
just need to #define USE_SUMO_SOLID and everything will work (as I said, I
tried this myself, and everything compiled and almost linked).

In a similar vein we should not (IMHO) be deleting references to Sumo in the
Makefiles, but (a) redirecting them from the old toplevel blender/source/sumo
directory to the new blender/source/gameengine/Physics/Sumo directory and/or
(b) commenting out the link steps if necessary. In other words, make it as easy
as possible to later re-enable Sumo.

If we delete this Sumo stuff and remove all Makefile references to it, then it
will be twice as much work to reprogram it later and rework it into the Makefiles.
Unless the decision has already been made, "no Sumo physics, ever again," we
shouldn't be surgically removing this code at this early stage.

-Norman