Gerade noch mal rein geguckt.
Gibt ja doch recht viel Code, ist aber wirklich ganz schön unübersichtlich.
Jetzt bin ich zudem erst mal mehr an C# dran und ich bin nicht sicher, ob ich später mal wieder mehr mit C++ machen werde.

Der Code ist aber auch teilweise ganz lustig:
Spoiler CRAPDOLLS:

Code:
void CActor::CrapDollize()
{
    // make sure dead AI is not affected by explosions
#ifdef CRAPDOLLS
    IPhysicalEntity* pPhysicalEntity=GetEntity()->GetPhysics();
    if (pPhysicalEntity)
    {
        pe_params_part ppp;
        ppp.flagsAND = ~(geom_colltype_explosion|geom_colltype_ray|geom_colltype_foliage_proxy);
        pPhysicalEntity->SetParams(&ppp);
    }
#endif //CRAPDOLLS
}


Also ich würde die Crapdolls zB wieder entfernen und schon wäre das Spiel wieder interessanter