Phobos-developers / Phobos

Ares-compatible C&C Red Alert 2: Yuri's Revenge engine extension
GNU Lesser General Public License v3.0
300 stars 95 forks source link

Optimize aircrafts actions #1366

Open CrimRecya opened 3 months ago

CrimRecya commented 3 months ago
Coronia commented 3 months ago

suggest to make these guard behaviors compatible with GuardRange instead of always tying to weapon ranges, just like infantry and units did

CrimRecya commented 3 months ago

suggest to make these guard behaviors compatible with GuardRange instead of always tying to weapon ranges, just like infantry and units did

Only the attack move action will use the weapon's range to reduce the range that search the valid target.

github-actions[bot] commented 2 months ago

Nightly build for this pull request:

This comment is automatic and is meant to allow guests to get latest nightly builds for this pull request without registering. It is updated on every successful build.

CrimRecya commented 2 months ago

TechnoClass unknown_bool_418 -> bool IsTether unknown_bool_419 -> bool IsAlternativeTether

FootClass unknown_5A0 -> AbstractClass Follow unknown_int_5C4 -> Mission MegaMission unknown_5C8 -> AbstractClass MegaDestination unknown_5CC -> AbstractClass* MegaTarget unknown_bool_5D1 -> bool HaveAttackMoveTarget

TechnoClass_vtbl bool TargetAndEstimateDamage(DWORD dwUnk, DWORD dwUnk2) -> bool TargetAndEstimateDamage(CoordStruct pSelectCrd, TargetFlags targetFlags) CellClass SelectAutoTarget(TargetFlags TargetFlags, int CurrentThreat, bool OnlyTargetHouseEnemy) -> AbstractClass SelectAutoTarget(TargetFlags targetFlags, CoordStruct pSelectCrd, bool onlyTargetHouseEnemy)

vt_entry_3B4 -> bool InAuxiliarySearchRange(AbstractClass pTarget) vt_entry_3E8 -> int GetSecondaryWeaponIndex() vt_entry_47C -> void SetFollowTarget(AbstractClass pFollow) vt_entry_4A4 -> Mission RespondMegaEventMission(EventClass pRespondTo) vt_entry_4A8 -> void ClearMegaMissionData() vt_entry_4AC -> bool HaveMegaMission() vt_entry_4B0 -> bool HaveAttackMoveTarget() vt_entry_4B4 -> Mission GetMegaMission() vt_entry_4B8 -> CoordStruct GetAttackMoveCoords(CoordStruct* pBuffer) vt_entry_4C4 -> bool MegaMissionIsAttackMove() vt_entry_4C8 -> bool ContinueMegaMission() vt_entry_4CC -> void UpdateAttackMove() vt_entry_4D0 -> bool RefreshMegaMission()