Phobos icon indicating copy to clipboard operation
Phobos copied to clipboard

Misc Refactor: ShieldClass Pointer Invalidation, ParallelAIQueue, SWTypeExt;

Open chaserli opened this issue 2 years ago • 2 comments

I accidentally deleted #720, sorry

  1. Fix the wrong hook size and stack offset for future usage of SuperClass::Launch hook. Minor refactored limbo delivery part to improve the readability of #379

  2. Moved all ForbidParalleAIlQueue related settings to RulesExt #638 :

I noticed that [GlobalControls]->AllowParallelAIQueues is serialized in Ares, so I think these ones should be serialized as well? Need someone to elaborate on this one

  1. Changed the way to invalidate ShieldClass pointer to improve performance

Prior to this PR, ContainerMap.Find and InvalidatePointerHelper::Process<TechnoExt> are the 2 major factors that greatly impact the performance, causing significant FPS drop when objects number surpasses hundreds. This PR nullifies the pointer invalidation virtual function of TechnoExt::ExtData and introduces a static one inside ShieldClass for the invalidation of shields' idle anim.


Launch superweapons on impact

In rulesmd.ini:

[SOMEWARHEAD]                    ; Warhead
LaunchSW.IgnoreDesignators=true  ; boolean

chaserli avatar Aug 03 '22 12:08 chaserli

Nightly build for this pull request:

github-actions[bot] avatar Aug 03 '22 13:08 github-actions[bot]

This looks huge, should I detach the shield part to review/merge the rest first?

chaserli avatar Sep 04 '22 10:09 chaserli