Commit Graph

230 Commits

Author SHA1 Message Date
Léo Lam ea13bac74a ksys: move AS setting, RootAi and three others to match link order
Each file moves to where its code is linked, and namespaces follow the
new paths. ASSettingMgr is an unofficial name.

| Old | New |
|---|---|
| act::ASSetting (ActorSystem/actASSetting) | res::ASSettingMgr (Resource/Actor/resResourceASSettingMgr) |
| Resource/resResourceASSetting, Resource/Actor/resResourceASResourceExtension | Resource/Actor/resResourceASSetting |
| ksys::DebugFinder (System/DebugFinder) | ksys::act::DebugFinder (ActorSystem/actDebugFinder) |
| ActorSystem/LOD/actLodState | ActorSystem/actLodState |
| ActorSystem/actAiRoot | ActorSystem/aiRootAi |
| Map/mapStagePreActorCache | System/StagePreActorCache (ksys) |

(AI assisted using Claude Fable 5.1 and Claude Opus 5.5)
2026-10-13 03:33:27 +02:00
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 6e9afd0f7d ksys/act: rename the actor accessor to ActorLinkConstDataAccess
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-11 04:13:20 +02:00
Léo Lam 9d6a597e91 Actor: ActorFactory is game, CurrentResNameMgr is ksys
ActorFactory's static initialiser fills its table with uking actor
ctors. CurrentResNameMgr (0x71010b770c) links in KingSystem/System right
before GameConfig.

(AI assisted using Claude Fable 5.1 and Claude Opus 5.5)
2026-10-06 03:19:39 +02:00
Léo Lam 98f0c80f1d The task and thread families are plain ksys::
They link in the same block as the plain-ksys:: Message family.
getItemValue and applyScreenFade sit in engine UI TUs, hence ksys::ui.

(AI assisted using Claude Fable 5.1 and Claude Opus 5.5)
2026-10-06 03:19:39 +02:00
Léo Lam 8002f122c8 ActorSystem: Fork AIs, DemoRootAI and queries are ksys
They form one run in the ActorSystem block (DemoRootAI at 0x7100d61e68,
right after VillagerMgr).

(AI assisted using Claude Fable 5.1 and Claude Opus 5.5)
2026-10-06 03:19:39 +02:00
Léo Lam 4a6239bbbf ksys: small declaration fixes
setCamera's only caller passes the camera actor, a ksys::act::Actor;
ksys::act::Camera is only forward-declared.

(AI assisted using Claude Fable 5.1 and Claude Opus 5.5)
2026-10-06 03:19:38 +02:00
Léo Lam d8da4fc5f2 Actor: PlayerInfo/PlayerBase are game, GameConfig ksys
Every decomp user of PlayerInfo is game code, and PlayerBase sits right
above Player. GameConfig.h models the engine base that
links at GameConfig's slot in KingSystem/System.

(AI assisted using Claude Fable 5.1 and Claude Opus 5.5)
2026-10-06 03:19:38 +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
RobbyV2 ab0fe61df9 Match Actor::getCharacterController 2026-07-28 21:08:32 -04:00
Nitr4m12 5094381e62 lib: Add xlink2 decomp as submodule 2026-07-11 23:40:06 -04:00
Pistonight 3183601b59 fix new viking and update mismatches 2026-05-31 14:20:38 -07:00
Pistonight 3d92031404 CreatePlayerEquipActorMgr 2025-06-19 12:18:30 -07:00
Pistonight 4010977b94 rename _c to lane_id 2025-06-18 11:09:20 -07:00
Pistonight 4e39bb884f add at param helpers 2025-05-17 00:33:17 -07:00
Pistonight 81feab300b merge BaseProcHandle and BaseProcUnit TU 2025-05-15 11:31:51 -07:00
Pistonight 2363fbfe20 PlayerInfo stuff that doesn't require PlayerBase 2024-12-30 21:43:28 -08:00
ThePixelGamer 878f95dffb Update agl, nnSdk, sead 2024-08-28 07:41:29 -05: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
Léo Lam 6723cd5a5c Improve rebuild times by removing unnecessary includes in AI headers 2022-12-22 14:35:08 +01:00
Léo Lam 2616802996 ksys/act: Clean up RootAiFlag/RootAiFlag2 definitions and usage 2022-12-22 14:35:08 +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 15db815f86 lib: Update agl 2022-04-02 13:00:50 +02:00
Léo Lam b3c9e97e00 ksys/phys: Add RigidBodyRequestMgr::calc1 2022-03-26 17:42:31 +01: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
Léo Lam 7f5b7f67e3 ksys/phys: Add Phantom 2022-03-20 17:04:20 +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 6229e5d41a ksys/phys: Move Constraint stuff to a separate folder 2022-03-06 22:38:43 +01:00
Léo Lam 88a0a9eb69 Use sead::OffsetList::robustRange() when possible to simplify iteration 2022-03-05 19:13:06 +01:00
Léo Lam df36d65665 Revert "Add #ifdef declarations for NON_MATCHING code"
This reverts commit 42807160cf.

It makes searching for NON_MATCHING comment descriptions much less
convenient in most text editors or IDEs, and we want the function
CSV to be the single source of truth for function statuses. Having
a function marked as matching but not built because of a stray #ifdef
would be bad.
2022-02-27 12:50:52 +01:00
Léo Lam ce1b6900ab ksys/act: Fix matching issues in BaseProcJobQue 2022-02-08 22:52:51 +01:00
Léo Lam d893fd5ead Remove unnecessary usages of sead::StorageFor
Turns out they are just value-initialised aggregates.
2022-02-08 22:11:09 +01:00
ThePixelGamer 199c7d2552 ksys/map: Implement PlacementAreaMgr 2022-02-06 13:16:17 -06:00
Léo Lam 61201ca54b ksys/phys: Rename RigidBody/UserTag broadphase border callbacks 2022-01-29 12:48:38 +01:00
Léo Lam e1f3e551cb ksys/phys: Add more RigidBody functions 2022-01-27 01:54:56 +01:00
Léo Lam dcd1a856bd ksys/act: Document some BaseProcMgr iteration functions 2022-01-22 21:06:10 +01:00
Léo Lam 392c0973c7 ksys/phys: Add a bunch of easy RigidBody functions 2022-01-17 16:58:22 +01:00
Léo Lam cba2a5b8b0 ksys: Declutter Utils by creating new Utils/Container folder 2022-01-16 22:24:00 +01: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 0f3cb6e1ec ksys: Add act::getRandomAreaItem 2021-11-24 02:12:21 +01:00
Léo Lam c0a79e67ee ksys: Merge EcoUtil into ActorUtil
The "is in Satori mountain area" function actually appears to be part
of ActorUtil (which contains a bunch of actor-related helper functions)
2021-11-24 02:00:49 +01:00
Léo Lam 5580b49345 ksys/act: Add more Actor members 2021-10-17 23:32:24 +02:00
Léo Lam 8056fb3881 ksys: Forward declare Actor where possible
Reduces build times when Actor.h is modified.
2021-10-17 00:09:03 +02:00
Léo Lam 28515aceb5 ksys/act/AI: Take const ref for messages 2021-10-16 20:20:58 +02:00
Léo Lam 9b4af6eb00 ksys/act/AI: Rename AI handleMessage2_ and fix parameter type 2021-10-16 20:20:55 +02:00
Léo Lam 4b6f513606 ksys: Start adding PhysicsConstraints 2021-10-16 16:40:15 +02:00
Léo Lam 89939a2300 ksys: Start adding PhysicsUserTag 2021-10-16 16:15:18 +02:00
ThePixelGamer 20df9e7c7d Update misc files to match sead math changes 2021-10-10 05:21:18 -05:00