ODE Middleware

This means it’s most probably related to the CCD. At least in part. Since it only happens for the box, ball and shotgun, it must be the specific settings on those objects that cause this crash.

To verify, you could change it to use dynamicObjectNoCCD instead of dynamicObjectCCD. This should be trivial (although, now that I think about it, I don’t remember how much effort I put into making sure dynamicObjectNoCCD actually works… I focused on the CCD). It should only require you to go into the odeWorldManager file, go to line 970 and change it like this:

global dynamicObject
dynamicObject = dynamicObjectNoCCD

This will make everything fall through everything, but at least it will make it clear that the problem is found. Then, it might be a matter of tweaking the CCD settings. At least I hope it’s nothing more serious than that, but since it works for some objects and doesn’t for some others, it should be that.

EDIT:
About the grenades. This could be the same problem. If the CCD doesn’t want to work with your build (I still think it might be some rouge setting, it happened a few times to me), then it may be causing problems when stuff is pushed by explosions.

If it’s not that, though, I’d like to know if you notice anything spinning or speeding up out of control right before the game crashes after a grenade explosion? If so, that might be a common ODE problem, although I’m almost certain I’ve eliminated it in 1.2. I might be wrong, though and I will check it later. Right now, let’s focus on the main objective.

EDIT #2:
It seems like I haven’t changed it. If the explosion crash isn’t caused by the CCD (and it’s possible that it is), then another possible cause might be the common ODE problem with spinning long and thin box bodies. Fortunately, there’s a rather simple solution that seems to work – instead of box bodies, use sphere bodies.