summaryrefslogtreecommitdiff
path: root/src/Game/Actor/Damage/actDamageManagerBase.h
AgeCommit message (Collapse)Author
2026-10-19uking/act: replace placeholder and wrong names, fix classesLéo Lam
Most rows replace placeholders (m<N>, x_N, nullsub_N, *Stuff). In the IDB, the Actor job virtuals are named preCalc/postCalc after TotK's calc stage names, and the Player virtuals after the GParamList fields they read. Some real names turned out to be wrong too, e.g. Enemy::kill is actually deleteAndCreateDropAndEmit. Rows move into uking::act, PlayerLinkBase/PlayerLink fold into PlayerBase/Player and PlayerOrEnemy into CombatActor. Also renames resetStuff and getMaxStaminaFromPlayerActor in the headers to resetDamageInfo and getMaxStamina to match. Also takes the IDB's names for some unnamed functions, mostly helper class members (IK controllers, Guardian parts, message receivers), and for other placeholders (x_N, nullsub_N, *Stuff). Some CarriedData rows move to the IDB's CarriedDataConstraint class. (AI assisted using Claude Fable 5.1 and Claude Opus 5.5)
2026-10-15Name placeholder virtuals from their overridesLéo Lam
Each base class virtual is named after what its overrides do and how callers use it, e.g. AttCheck::calcMtx (0x710108a614) is the virtual that AttClient calls before testing its checks. (AI assisted using Claude Fable 5.1 and Claude Opus 5.5)
2026-10-11ksys/act: split IDamageManager out of DamageManagerBaseLéo Lam
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)