summaryrefslogtreecommitdiff
path: root/src/Game/Actor/Damage
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-15uking/scene: move the map getters to uking::StageInfoLéo Lam
They're linked before gameStageInfo.cpp's sinit with no other sinit in between, so they belong to gameStageInfo, not gameScene, and become StageInfo statics declared in gameStageInfo.h. Their GameScene owner was a guess. (AI assisted using 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)
2026-10-11ksys/act: rename the actor accessor to ActorLinkConstDataAccessLéo Lam
The 0x18-sized accessor appears to be named ActorLinkConstDataAccess based on a source path string in the Wii U build. The 0x10-sized base class (which we had given the name to) only holds a BaseProc and its dtor/acquire functions live in a separate TU so let's rename it BaseProcAccessor (unofficial name). acquireActor is a header inline whose one copy landed in the BeamBase object. Nothing in BeamBase calls it, so the BeamBase function that used it was probably dead-stripped by the linker. (AI assisted using Claude Opus 5.5)
2026-10-06aoc: Manager is ksys, the DLC managers stay game-sideLéo Lam
aoc::Manager is created during engine start-up and called by gdt, map and StarterPackMgr; only game code uses HardModeManager and ChampionBalladManager. (AI assisted using Claude Fable 5.1 and Claude Opus 5.5)
2026-10-06Name placeholder declarations after the IDBLéo Lam
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-04Damage: move Game/Damage under Game/ActorLéo Lam
Link order: the damage code is interleaved with actor TUs inside the Game/Actor block, not in a block of its own. (AI assisted using Claude Fable 5.1 and Claude Opus 5.5)