Ares
Functions | Variables

Body.cpp File Reference

#include "Body.h"
#include "../HouseType/Body.h"
#include "../Building/Body.h"
#include "../BuildingType/Body.h"
#include "../TechnoType/Body.h"
#include "../../Enum/Prerequisites.h"

Functions

 DEFINE_HOOK (4F6532, HouseClass_CTOR, 5)
 DEFINE_HOOK (4F7140, HouseClass_DTOR, 6)
 DEFINE_HOOK (503040, HouseClass_SaveLoad_Prefix, 5) DEFINE_HOOK_AGAIN(504080

Variables

 HouseClass_SaveLoad_Prefix

Function Documentation

DEFINE_HOOK ( 4F6532  ,
HouseClass_CTOR  ,
 
)
{
        GET(HouseClass*, pItem, EAX);

        HouseExt::ExtMap.FindOrAllocate(pItem);

        for(int i = 0; i < TechnoTypeClass::Array->Count; ++i) {
                TechnoTypeClass * Type = TechnoTypeClass::Array->GetItem(i);
                TechnoTypeExt::ExtData * TypeData = TechnoTypeExt::ExtMap.Find(Type);
                TypeData->ReversedByHouses.AddItem(false);
        }
        return 0;
}
DEFINE_HOOK ( 503040  ,
HouseClass_SaveLoad_Prefix  ,
 
)
DEFINE_HOOK ( 4F7140  ,
HouseClass_DTOR  ,
 
)
{
        GET(HouseClass*, pItem, ECX);

        int idx = HouseClass::Array->FindItemIndex(&pItem);

        if(idx != -1) {
                for(int i = 0; i < TechnoTypeClass::Array->Count; ++i) {
                        TechnoTypeClass * Type = TechnoTypeClass::Array->GetItem(i);
                        TechnoTypeExt::ExtData * TypeData = TechnoTypeExt::ExtMap.Find(Type);
                        TypeData->ReversedByHouses.RemoveItem(idx);
                }
        }

        HouseExt::ExtMap.Remove(pItem);
        return 0;
}

Variable Documentation

 All Classes Files Functions Variables Typedefs Enumerations Enumerator Defines