Commit Graph

26 Commits

Author SHA1 Message Date
Léo Lam 419f8f46bb ksys/act: split IDamageManager out of DamageManagerBase
DamageManagerBase's root base class (previously
DamageManagerBase_UnknownBase1) holds the damage callback list, and its
code is linked among the ActorSystem objects rather than with the
Game/Actor/Damage files. It appears to be an engine-side abstract base,
so let's move it to KingSystem/ActorSystem as ksys::act::IDamageManager
(unofficial name, following the ksys IManager/Manager pattern and
Actor::getDamageMgr), together with DamageCallback and Struct20Base, and
have Actor::getDamageMgr return it. DamageManagerBase now overrides its
getters and inherits addDamageCallback/removeDamageCallback from it.

The rest of the damage code stays in Game/Actor/Damage but is regrouped
to match link order: Struct20::combineMaybe moves into
actDamageManagerBase.cpp, Struct20::reset becomes inline and
dmgStruct20.cpp becomes actDamageMgr.cpp. The uking::dmg namespace is
merged into uking::act, so the files there take the act prefix too, and
dmgInfoManager becomes actDamageInfoMgr after the class it holds.

(AI assisted using Claude Fable 5.1 and Claude Opus 5.5)
2026-10-11 04:53:08 +02:00
Léo Lam 7bc225838a Name placeholder declarations after the IDB
Keeps source and CSV from drifting from the IDB. Names are read from the
bodies, e.g. ActionBase::applyParams is what all 13 non-stub overrides
of that slot do.

(AI assisted using Claude Fable 5.1 and Claude Opus 5.5)
2026-10-06 03:19:37 +02:00
Nitr4m12 5094381e62 lib: Add xlink2 decomp as submodule 2026-07-11 23:40:06 -04:00
bomba1749 f62a726266 most of AirOctaFlyUp is done, some of AirOctaDataMgr is done (#121) 2024-03-18 01:44:47 +00:00
Martin Aguayo 78fd3c6e7a Add uking::ai::ActorWaterDepthSelect functions (#117) 2023-05-14 15:01:16 +01:00
notyourav 2f62d26424 Decompile some Action classes (#104)
* various action classes

* rename instanceset fns

* rename isFork -> isChangeable
2022-10-18 08:27:57 +02:00
Léo Lam a86fb2a9ed ksys/phys: Rename BodyGroup -> StaticCompoundRigidBodyGroup
Makes it obvious that it is related to StaticCompound stuff

Also fixes the relative ordering (BodyGroup is located after Mgr code).
2022-03-23 00:52:23 +01:00
theo3 3d1cb480c2 auto placement work 2022-03-16 17:54:50 -07:00
theo3 20f0a07ab0 AddAutoPlacementCreator action 2022-03-15 22:59:38 -07:00
Léo Lam 423eb84362 ksys/phys: Implement more StaticCompound functions
The other functions require RE'ing BodyGroup, which in turn requires
RigidBody stuff
2022-01-06 23:51:07 +01:00
Léo Lam 5580b49345 ksys/act: Add more Actor members 2021-10-17 23:32:24 +02:00
Léo Lam f726f3b68d ksys/act: Add Actor getDummyBaseProcLink() 2021-07-07 13:56:28 +02:00
theo3 60dd80779a match some ai::Query 2021-07-01 21:05:10 -07:00
Léo Lam 8e0d05234f ksys/act: Start adding LodInfo 2021-05-17 01:37:13 +02:00
Léo Lam c181eb05b7 ksys/act: Add some ActorCreator functions 2021-03-19 01:20:18 +01:00
Léo Lam d5b981a233 ksys: Add ActorMessageTransceiver 2021-02-05 22:03:02 +01:00
Léo Lam cb19f53a48 Implement some commonly used ActorConstDataAccess functions 2021-01-01 17:29:34 +01:00
Léo Lam 9269283b71 ksys/act: Add more ActionBase functions 2020-12-11 00:22:27 +01:00
Léo Lam 930b780cd1 ksys/act: Implement more Query functions 2020-12-09 20:43:22 +01:00
Léo Lam fcbe17a3f0 ksys/act: Start adding RootAi 2020-12-09 18:11:24 +01:00
Léo Lam a72a4b25c0 ksys/act: Add most remaining ParamPack functions 2020-12-06 02:38:22 +01:00
Léo Lam 5b523db03b ksys/act: Implement more ActorUtil functions 2020-12-03 01:45:28 +01:00
Léo Lam b28ba7b3ad ksys/act: Add Actor::getMaxLife and fix encapsulation 2020-11-08 23:04:14 +01:00
Wildex999 05a69f745b ksys/dmg: Implementing some of DamageManagerBase. Added some temporary classes/variables used by DamageManagerBase. 2020-10-21 00:19:48 +02:00
Léo Lam 0dc0752530 ksys/act: Implement ActorLinkConstDataAccess 2020-08-20 01:26:10 +02:00
Léo Lam 2de366be0f Initial commit 2020-08-18 22:50:25 +02:00