Esempio n. 1
0
        //[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);
        }
Esempio n. 2
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);
        }
Esempio n. 3
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);
        }
Esempio n. 4
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);
        }
Esempio n. 5
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);
        }
Esempio n. 6
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);
        }
Esempio n. 7
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);
        }
Esempio n. 8
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);
        }
Esempio n. 9
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);
        }
Esempio n. 10
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);
        }
Esempio n. 11
0
 static public unsafe UInt32 OnUpdate(REGISTERS *R)
 {
     try {
         return(TechnoDecorative.OnUpdate(R));
     }
     catch (Exception e)
     {
         Logger.PrintException(e);
         return((uint)0);
     }
 }
Esempio n. 12
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);
     }
 }
Esempio n. 13
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);
        }
Esempio n. 14
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);
        }
Esempio n. 15
0
 static public unsafe UInt32 BulletClass_SaveLoad_Prefix(REGISTERS *R)
 {
     return(BulletExt.BulletClass_SaveLoad_Prefix(R));
 }
Esempio n. 16
0
 static public unsafe UInt32 TechnoClass_Save_Suffix(REGISTERS *R)
 {
     return(TechnoExt.TechnoClass_Save_Suffix(R));
 }
Esempio n. 17
0
 static public unsafe UInt32 BulletTypeClass_Save_Suffix(REGISTERS *R)
 {
     return(BulletTypeExt.BulletTypeClass_Save_Suffix(R));
 }
Esempio n. 18
0
 static public unsafe UInt32 Synchronize(REGISTERS *R)
 {
     semaphore.Release();
     semaphore.WaitOne();
     return(0);
 }
Esempio n. 19
0
 static public unsafe UInt32 TechnoClass_DTOR(REGISTERS *R)
 {
     return(TechnoExt.TechnoClass_DTOR(R));
 }
Esempio n. 20
0
 //[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);
 }
Esempio n. 21
0
 //[Hook(HookType.AresHook, Address = 0x42898A, Size = 3)]
 static public unsafe UInt32 AnimTypeClass_Save_Suffix(REGISTERS *R)
 {
     AnimTypeExt.ExtMap.SaveStatic();
     return(0);
 }
Esempio n. 22
0
 static public unsafe UInt32 AnimTypeClass_Save_Suffix(REGISTERS *R)
 {
     return(AnimTypeExt.AnimTypeClass_Save_Suffix(R));
 }
Esempio n. 23
0
 static public unsafe UInt32 BulletTypeClass_LoadFromINI(REGISTERS *R)
 {
     return(BulletTypeExt.BulletTypeClass_LoadFromINI(R));
 }
Esempio n. 24
0
 static public unsafe UInt32 BulletClass_Load_Suffix(REGISTERS *R)
 {
     return(BulletExt.BulletClass_Load_Suffix(R));
 }
Esempio n. 25
0
 //[Hook(HookType.AresHook, Address = 0x6FCFA0, Size = 5)]
 static public unsafe UInt32 ShowFirer_Test(REGISTERS *R)
 {
     ref TechnoClass     rTechno = ref ((Pointer <TechnoClass>)R->ESI).Ref;
Esempio n. 26
0
 //[Hook(HookType.AresHook, Address = 0x70C264, Size = 5)]
 static public unsafe UInt32 TechnoClass_Save_Suffix(REGISTERS *R)
 {
     TechnoExt.ExtMap.SaveStatic();
     return(0);
 }
Esempio n. 27
0
 static public unsafe UInt32 AnimTypeClass_LoadFromINI(REGISTERS *R)
 {
     return(AnimTypeExt.AnimTypeClass_LoadFromINI(R));
 }
Esempio n. 28
0
 //[Hook(HookType.AresHook, Address = 0x716DAC, Size = 0xA)]
 static public unsafe UInt32 TechnoTypeClass_Load_Suffix(REGISTERS *R)
 {
     TechnoTypeExt.ExtMap.LoadStatic();
     return(0);
 }
Esempio n. 29
0
 static public unsafe UInt32 BulletClass_DTOR(REGISTERS *R)
 {
     return(BulletExt.BulletClass_DTOR(R));
 }
Esempio n. 30
0
 static public unsafe UInt32 BulletTypeClass_SDDTOR(REGISTERS *R)
 {
     return(BulletTypeExt.BulletTypeClass_SDDTOR(R));
 }