void injectRallyHooks() { jmpPatch(orderNewUnitToRallyWrapper, Hook_OrderNewUnitToRally); callPatch(setRallyPositionWrapper_Call, Hook_SetRallyPosition_Call); jmpPatch(setRallyPositionWrapper_Jmp1, Hook_SetRallyPosition_Jmp1); jmpPatch(setRallyPositionWrapper_Jmp2, Hook_SetRallyPosition_Jmp2); callPatch(setRallyUnitWrapper_Call, Hook_SetRallyUnit_Call); jmpPatch(setRallyUnitWrapper_Jmp1, Hook_SetRallyUnit_Jmp1); jmpPatch(setRallyUnitWrapper_Jmp2, Hook_SetRallyUnit_Jmp2); }
void injectCloakingTechHooks() { jmpPatch(cloakingTechWrapper_IsCloaked, 0x00429210); jmpPatch(cloakingTechWrapper_CanCloak, 0x004292C0); jmpPatch(cloakingTechWrapper_CMDRECV_Cloak, 0x004C0720); jmpPatch(cloakingTechWrapper_AI_cloakUnit, 0x0043B970); jmpPatch(cloakingTechWrapper_CMDRECV_Decloak, 0x004C0660); jmpPatch(getCloakingTechWrapper, 0x00491A50); jmpPatch(currentUnitSelectionCanCloakWrapper, 0x00423540); }
void injectUpdateUnitState() { jmpPatch(updateUnitStateWrapper, Hook_UpdateUnitState); }
void injectArmorBonusHook() { jmpPatch(getArmorBonusWrapper, Func_GetArmorBonus); }
void injectPsiFieldHooks() { jmpPatch(showAllPsiFieldsOnSelectWrapper, 0x004E6224); jmpPatch(hideAllPsiFieldsOnUnselectWrapper, 0x004E62BE); jmpPatch(packUnitData_PsiProvider, 0x004E3935); jmpPatch(unpackUnitData_PsiProvider, 0x004E3182); }
void injectDetectorHooks() { jmpPatch(unitCanDetectWrapper, Func_CanDetect); memoryPatch(0x0044118E, &getCloakedTargetVisibilityWrapper); memoryPatch(0x004411A6, &getCloakedTargetVisibilityWrapper); }
void injectUnitMaxEnergyHook() { jmpPatch(getUnitMaxEnergyWrapper, Func_GetMaxEnergy); }
void injectWeaponDamageHook() { jmpPatch(weaponDamageWrapper, Func_DoWeaponDamage); }
void injectWeaponFireHooks() { jmpPatch(fireWeaponWrapper, Func_FireUnitWeapon); }
void injectWeaponRangeHooks() { jmpPatch(getSeekRangeWrapper, Func_GetSeekRange); jmpPatch(getMaxWeaponRangeWrapper, Func_GetMaxWeaponRange); }
void injectSpellcasterAI() { jmpPatch(AI_spellcasterWrapper, 0x004A13C0); }
void injectUpdateUnitTimers() { jmpPatch(updateUnitTimersWrapper, Hook_UpdateUnitTimers); }