//[Hook(HookType.AresHook, Address = 0x428EA8, Size = 5)] static public unsafe UInt32 AnimTypeClass_SDDTOR(REGISTERS *R) { var pItem = (Pointer <AnimTypeClass>)R->ECX; AnimTypeExt.ExtMap.Remove(pItem); return(0); }
//[Hook(HookType.AresHook, Address = 0x42784B, Size = 5)] static public unsafe UInt32 AnimTypeClass_CTOR(REGISTERS *R) { var pItem = (Pointer <AnimTypeClass>)R->EAX; AnimTypeExt.ExtMap.FindOrAllocate(pItem); return(0); }
//[Hook(HookType.AresHook, Address = 0x4665E9, Size = 0xA)] static public unsafe UInt32 BulletClass_DTOR(REGISTERS *R) { var pItem = (Pointer <BulletClass>)R->ESI; BulletExt.ExtMap.Remove(pItem); return(0); }
//[Hook(HookType.AresHook, Address = 0x4664BA, Size = 5)] static public unsafe UInt32 BulletClass_CTOR(REGISTERS *R) { var pItem = (Pointer <BulletClass>)R->ESI; BulletExt.ExtMap.FindOrAllocate(pItem); return(0); }
//[Hook(HookType.AresHook, Address = 0x6F3260, Size = 5)] static public unsafe UInt32 TechnoClass_CTOR(REGISTERS *R) { var pItem = (Pointer <TechnoClass>)R->ESI; TechnoExt.ExtMap.FindOrAllocate(pItem); return(0); }
//[Hook(HookType.AresHook, Address = 0x711AE0, Size = 5)] static public unsafe UInt32 TechnoTypeClass_DTOR(REGISTERS *R) { var pItem = (Pointer <TechnoTypeClass>)R->ECX; TechnoTypeExt.ExtMap.Remove(pItem); return(0); }
//[Hook(HookType.AresHook, Address = 0x716132, Size = 5)] //[Hook(HookType.AresHook, Address = 0x716123, Size = 5)] static public unsafe UInt32 TechnoTypeClass_LoadFromINI(REGISTERS *R) { var pItem = (Pointer <TechnoTypeClass>)R->EBP; var pINI = R->Stack <Pointer <CCINIClass> >(0x380); TechnoTypeExt.ExtMap.LoadFromINI(pItem, pINI); return(0); }
//[Hook(HookType.AresHook, Address = 0x4287E9, Size = 0xA)] //[Hook(HookType.AresHook, Address = 0x4287DC, Size = 0xA)] static public unsafe UInt32 AnimTypeClass_LoadFromINI(REGISTERS *R) { var pItem = (Pointer <AnimTypeClass>)R->ESI; var pINI = R->Stack <Pointer <CCINIClass> >(0xBC); AnimTypeExt.ExtMap.LoadFromINI(pItem, pINI); return(0); }
//[Hook(HookType.AresHook, Address = 0x428970, Size = 8)] //[Hook(HookType.AresHook, Address = 0x428800, Size = 0xA)] static public unsafe UInt32 AnimTypeClass_SaveLoad_Prefix(REGISTERS *R) { var pItem = R->Stack <Pointer <AnimTypeClass> >(0x4); var pStm = R->Stack <Pointer <IStream> >(0x8); IStream stream = Marshal.GetObjectForIUnknown(pStm) as IStream; AnimTypeExt.ExtMap.PrepareStream(pItem, stream); return(0); }
static public unsafe UInt32 TechnoClass_Remove_Script(REGISTERS *R) { Pointer <TechnoClass> pTechno = (IntPtr)R->ECX; TechnoExt ext = TechnoExt.ExtMap.Find(pTechno); ext.Scriptable?.OnRemove(); return(0); }
static public unsafe UInt32 OnUpdate(REGISTERS *R) { try { return(TechnoDecorative.OnUpdate(R)); } catch (Exception e) { Logger.PrintException(e); return((uint)0); } }
static public unsafe UInt32 TechnoClass_Update(REGISTERS *R) { try{ return(ScriptManager.TechnoClass_Update_Script(R)); } catch (Exception e) { Logger.PrintException(e); return((uint)0); } }
static public unsafe UInt32 TechnoClass_Put_Script(REGISTERS *R) { Pointer <TechnoClass> pTechno = (IntPtr)R->ECX; var pCoord = R->Stack <Pointer <CoordStruct> >(0x4); var faceDir = R->Stack <Direction>(0x8); TechnoExt ext = TechnoExt.ExtMap.Find(pTechno); ext.Scriptable?.OnPut(pCoord.Data, faceDir); return(0); }
static public unsafe UInt32 TechnoClass_ReceiveDamage_Script(REGISTERS *R) { Pointer <TechnoClass> pTechno = (IntPtr)R->ECX; var pDamage = R->Stack <Pointer <int> >(0x4); var distanceFromEpicenter = R->Stack <int>(0x8); var pWH = R->Stack <Pointer <WarheadTypeClass> >(0xC); var pAttacker = R->Stack <Pointer <ObjectClass> >(0x10); var ignoreDefenses = R->Stack <bool>(0x14); var preventPassengerEscape = R->Stack <bool>(0x18); var pAttackingHouse = R->Stack <Pointer <HouseClass> >(0x1C); TechnoExt ext = TechnoExt.ExtMap.Find(pTechno); ext.Scriptable?.OnReceiveDamage(pDamage, distanceFromEpicenter, pWH, pAttacker, ignoreDefenses, preventPassengerEscape, pAttackingHouse); return(0); }
static public unsafe UInt32 BulletClass_SaveLoad_Prefix(REGISTERS *R) { return(BulletExt.BulletClass_SaveLoad_Prefix(R)); }
static public unsafe UInt32 TechnoClass_Save_Suffix(REGISTERS *R) { return(TechnoExt.TechnoClass_Save_Suffix(R)); }
static public unsafe UInt32 BulletTypeClass_Save_Suffix(REGISTERS *R) { return(BulletTypeExt.BulletTypeClass_Save_Suffix(R)); }
static public unsafe UInt32 Synchronize(REGISTERS *R) { semaphore.Release(); semaphore.WaitOne(); return(0); }
static public unsafe UInt32 TechnoClass_DTOR(REGISTERS *R) { return(TechnoExt.TechnoClass_DTOR(R)); }
//[Hook(HookType.AresHook, Address = 0x46AF97, Size = 7)] //[Hook(HookType.AresHook, Address = 0x46AF9E, Size = 7)] static public unsafe UInt32 BulletClass_Load_Suffix(REGISTERS *R) { BulletExt.ExtMap.LoadStatic(); return(0); }
//[Hook(HookType.AresHook, Address = 0x42898A, Size = 3)] static public unsafe UInt32 AnimTypeClass_Save_Suffix(REGISTERS *R) { AnimTypeExt.ExtMap.SaveStatic(); return(0); }
static public unsafe UInt32 AnimTypeClass_Save_Suffix(REGISTERS *R) { return(AnimTypeExt.AnimTypeClass_Save_Suffix(R)); }
static public unsafe UInt32 BulletTypeClass_LoadFromINI(REGISTERS *R) { return(BulletTypeExt.BulletTypeClass_LoadFromINI(R)); }
static public unsafe UInt32 BulletClass_Load_Suffix(REGISTERS *R) { return(BulletExt.BulletClass_Load_Suffix(R)); }
//[Hook(HookType.AresHook, Address = 0x6FCFA0, Size = 5)] static public unsafe UInt32 ShowFirer_Test(REGISTERS *R) { ref TechnoClass rTechno = ref ((Pointer <TechnoClass>)R->ESI).Ref;
//[Hook(HookType.AresHook, Address = 0x70C264, Size = 5)] static public unsafe UInt32 TechnoClass_Save_Suffix(REGISTERS *R) { TechnoExt.ExtMap.SaveStatic(); return(0); }
static public unsafe UInt32 AnimTypeClass_LoadFromINI(REGISTERS *R) { return(AnimTypeExt.AnimTypeClass_LoadFromINI(R)); }
//[Hook(HookType.AresHook, Address = 0x716DAC, Size = 0xA)] static public unsafe UInt32 TechnoTypeClass_Load_Suffix(REGISTERS *R) { TechnoTypeExt.ExtMap.LoadStatic(); return(0); }
static public unsafe UInt32 BulletClass_DTOR(REGISTERS *R) { return(BulletExt.BulletClass_DTOR(R)); }
static public unsafe UInt32 BulletTypeClass_SDDTOR(REGISTERS *R) { return(BulletTypeExt.BulletTypeClass_SDDTOR(R)); }