Ares
|
#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 |
DEFINE_HOOK | ( | 4F6532 | , |
HouseClass_CTOR | , | ||
5 | |||
) |
{ 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 | , | ||
5 | |||
) |
DEFINE_HOOK | ( | 4F7140 | , |
HouseClass_DTOR | , | ||
6 | |||
) |
{ 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; }