Subsystems
The game code is organised into subsystems, each responsible for one technical aspect of the game. Each subsystem is typically a singleton.
Note: the following list does not include external libraries. It is also likely to be incomplete.
Name | Official name | Init (Switch 1.5.0) | Description |
---|---|---|---|
AIClassDef | Yes | 00000071011DF82C | Utilities for querying data from AIDef_Game.product.byml |
ASSetting | Yes | 00000071012F33D4 | - |
Account | Yes | 0000007100D0D958 | - |
ActorCaptureMgr | Yes | 00000071007C0F60 | Development tool. See bactcapt |
ActorCreator | No | 00000071011DBAE4 | Constructs and initialises actors |
ActorDebug | Yes | 0000007100D255F0 | Debug tool. |
ActorFactory | No | 00000071006CB940 | Holds a function pointer to the function that constructs a C++ actor by name. |
ActorHeapUtil | No | 0000007100897748 | - |
ActorInfoData | Yes | 0000007100D2E16C | Utilities for querying actor info using ActorInfo.product.sbyml, without having to load actors |
ActorLimiter | No | 0000007100E4D770 | Limits the number of spawned actors (e.g. for amiibo drops) |
ActorParam | Yes | 000000710116804C | Loads actor parameter files (such as ActorLink, AIProgram, etc.) Used by ActorCreator. |
ActorPreLoadMgr | Yes | 0000007100D585C4 | - |
ActorSystem | Yes | 0000007100D5D144 | - |
ActorTemplate | Yes | 000000710108A0A0 | Utilities for querying data from Actor/ActorTemplate.byml |
AmiiboMgr | Yes | 00000071006488A8 | Handles amiibo functionality |
AnimSequence | Yes | 0000007101163CE8 | - |
aoc2 | No | 0000007100D6CDA4 | Handles DLC1 additions (such as Master Mode) |
aoc3 | No | 000000710067F1C4 | Handles DLC2 additions |
aocManager | Yes | 0000007100D69170 | Manages AoC related flags, add-on content resource loading and packs |
Attention | Yes | 0000007100D73AA0 | - |
AutoDim | Yes | 00000071010B6878 | - |
AutoGenFrameworkA | No | 000000710127C120 | Debug only |
AutoGenFrameworkB | No | 000000710127C244 | Debug only |
AutoPlacementFlowMgr | Yes | 0000007100651F94 | Runs event flow files to determine which actors to spawn on the map dynamically |
AutoPlacementMgr | Yes | 00000071006546FC | Dynamically spawns actors on the map depending on complex conditions (areas, terrain, event flows, custom logic). |
Awareness | Yes | 0000007100D79324 | - |
BaseProcMgr | Yes | 00000071011BD0CC | BaseProc manager |
Camera | Yes | 0000007100D8C324 | - |
CameraEditor | Yes | 00000071010BA244 | - |
Chemical | Yes | 0000007100D99240 | - |
Chmres | No | 0000007100D97D74 | - |
Controller | Yes | 0000007100D9E964 | - |
CookingMgr | Yes | 000000710089FFC8 | Determines which cook item should be returned for a given set of ingredients. |
CreatePlayerEquipActorMgr | Yes | 0000007100665E1C | - |
CreatePlayerTrashActorMgr | Yes | 0000007100667494 | - |
CurrentResNameMgr | Yes | 00000071010B77A0 | Debug tool; unused in release builds. |
DamageInfoMgr | Yes | 000000710067170C | Unknown, initialised from GameScene code. Stores plenty of BaseProcLinks. |
DebugFinder | Yes | 000000710124A564 | Debug tool. |
DebugInput | Yes | 0000007101266FD8 | Debug tool. |
DragonChallengeMgr | Yes | 00000071006F9594 | [DLC2] - |
DropMgr | No | 0000007100D2B7C8 | Unknown, initialised from GameScene code. Responsible for spawning actor drops when they die |
DungeonPackMgr | Yes | 00000071008A559C | Handles dungeon pack loading when changing stages. |
E3Mgr | Yes | 00000071008A5E04 | Handles E3 demo mode (time limit). Stubbed in release builds. |
Ecosystem | Yes | 0000007100E4174C | Handles map areas, climates, auto placement parameters, difficulty scaling, etc. |
Effect | Yes | 00000071011B3FB0 | - |
EffectInfoData | Yes | 0000007101270A54 | Utilities for querying data from EffectInfo.byml |
EventActorMgr | No | 00000071008AA614 | Has to do with events and Demo_Talk actions |
EventInfoData | Yes | 0000007100DAEE4C | Utilities for querying data from EventInfo.product.byml |
EventMgr | Yes | 0000007100DAF3D8 | Manages all in-game events (event flows, demos, etc.) |
EventMgr1 | No | 0000007100E48658 | - |
EventMgrMiniGame | No | 0000007100E493F0 | - |
FadeProgress | No | 00000071007CBA28 | Initialised from GameScene code - Updates the progress gauge on the loading screen ("Fade"). |
GameConfig | Yes | 00000071008BBA94 | Holds game configuration setting values, which are hardcoded in release builds. |
GameDataMgr | Yes | 0000007100DCE964 | Manages game data flags |
GameScene | Yes | 0x71007D1DD8 | Handles the main loop and stages |
GameSceneSubsys12 | No | 00000071006623F0 | Unknown, initialised from GameScene code |
GameSceneSubsys13 | No | 00000071008A52E0 | Unknown, initialised from GameScene code |
GameSceneSubsys14 | No | 0000007100903598 | Unknown, initialised from GameScene code |
GameSceneSubsys15 | No | 000000710089469C | Unknown, initialised from GameScene code. Related to sound/BGM. |
GameSceneSubsys4 | No | 000000710066A204 | Unknown, initialised from GameScene code |
GameSceneSubsys5 | No | 00000071009052FC | Unknown, initialised from GameScene code |
GameSceneSubsys7 | No | 00000071007D32E8 | Unknown, initialised from GameScene code. Related to Tera system (responsible for creating TeraSystem and loading the TSCB). |
GameTool | Yes | 0000007100EDB87C | Debug tool. |
GlobalMessage | Yes | 00000071011F4BF0 | - |
GlobalParameter | Yes | 0000007100E4D064 | Loads the GlobalParameter parameters |
Graphics | Yes | 0000007100F2A1D0 | - |
HavokAI | Yes | 0000007100F80B20 | - |
HavokWorkerMgr | Yes | 00000071011F9C78 | - |
Hio | Yes | 000000710121367C | Link between the game and the HostIO (development) system. Stubbed in release builds. |
HorseMgr | No | 0000007100E81FB0 | Handles horse registrations and status (?) |
IceBlockMgr | No | 000000710066E984 | - |
InitResourceReload | Yes | 0000007100F3CE9C | Debug tool. |
KingEditor | Yes | 000000710122DD70 | Debug tool (?) |
LODMgr | Yes | 000000710125184C | Level of detail manager? |
LastBossMgr | No | 00000071006776D4 | - |
LayoutResourceMgr | Yes | 00000071010A2520 | Manages layout (= UI) related resources, such as message archives, fonts, etc. |
LowPrioThreadMgr | Yes | 000000710127A524 | - |
MCMgr | Yes | 0000007100DCB390 | Manages job queues for the entire game[check] |
MaskController | No | 00000071008BC0D8 | (name is only a guess) Holds a copy of controller input state. Used by AI system code (in particular AIDef:Action/WaitForFrame, AIDef:Action/WaitForKeyInput and AIDef:Query/KeyInputCheck. |
MemoryProfiler | Yes | 00000071010B7D18 | Debug tool. |
MessageCapture | Yes | 00000071010B7E74 | Debug tool. |
ModelCreator | Yes | 0000007100F4C63C | - |
ModelPicker | Yes | 00000071010B7F9C | Debug tool. |
ModelResourceDivide | Yes | 0000007100D3C978 | - |
MotorcycleMgr | No | 00000071006783F4 | Manages the Master Cycle Zero. |
MoviePlayer | Yes | 00000071010B9934 | - |
NFP | Yes | 0000007100F45988 | NFC services, used by AmiiboMgr |
NavMeshSystem | Yes | 0000007100E8E850 | - |
nxargs | Yes | 0000007100901BA4 | [Switch] Holds launch parameters (retrieved with nn::oe::TryPopLaunchParameter) |
OnUiActorMgr | Yes | 00000071009065B0 | - |
OverlayArenaSystem | Yes | 0000007100FDE3E8 | Memory utilities, used by ResourceMgr. |
Patrol | Yes | 00000071010B9EF0 | Development |
PauseMenuDataMgr | Yes | 000000710096B1CC | Handles player inventory and equipment synchronization. |
PhysicsMemSys | No | 0000007101213FF0 | Manages memory and custom Havok classes for the Havok library. |
PlacementMgr | Yes | 00000071011E451C | Reads map unit (mubin) files and spawns actors |
PlayReport | Yes | 0000007100FD381C | Handles play reports, i.e. telemetry data |
PlayerInfo | No | 0000007100854298 | Holds information about the player (position, heart, stamina, etc.) |
PlayerResetPosMgr | No | 00000071007A5CA8 | Manages player reset positions |
PosTrackerUploader | Yes | 0000007100A8BC8C | Uploads position tracker data (i.e. Hero's Path data). See Telemetry. |
QuestMgr | Yes | 0000007100FD5770 | Holds information about game quests and steps. Interacts with GameDataMgr. |
RadarMgr | Yes | 000000710067B9C0 | - |
Reaction | Yes | 0000007100EC0138 | - |
Resetter | No | 00000071007D20A0 | Initialised from GameScene code - Handles game system resets. |
ResidentActorMgr | Yes | 000000710090E0A0 | Creates and manages actors that are always kept in memory such as GameROMPlayer |
ResourceMgrTask | Yes | 0000007100ECA468 | Manages game resources (loading, unloading, caching, defragmenting, etc.). See also Resource system. |
ResourceSystem | Yes | 0000007100ECA468 | See Resource system. |
Revision | Yes | 00000071010BA104 | Holds information about the game version and source revision. Unused in release builds. |
Rumble | Yes | 0000007100897B74 | - |
RuneMgr | No | 0000007100674F78 | Initialised from GameScene code. Related to Sheikah Slate functionality (spawning bombs, scope, runes). |
SaveMgr | Yes | 0000007100E03214 | Loads game data into GameDataMgr or writes it to saves. |
SaveSystem | No | 000000710090EE60 | - |
SceneMgr | Yes | 0000007100896254 | - |
Sound | Yes | 00000071011FA364 | - |
SoundInfoData | Yes | 000000710103D5F8 | Utilities for querying data from SoundInfo.byml |
SoundResource | Yes | 00000071011FA604 | - |
StagePreActorCache | Yes | 0000007100ED912C | - |
StarterPackMgr | Yes | 0000007100EDAA98 | Handles pack loading (AocMainField, Bootup, Title, TitleBG, lang packs) during early initialisation or stage changes |
StasisMgr | No | 000000710067F3A8 | Unknown, initialised from GameScene code. Handles Stasis effects (vector arrow, sound, etc.) and more |
StatisticsMgr | Yes | 0000007100E31D1C | Manages access to precomputed map statistics (stored in Game/Stats) |
Terminal | Yes | 000000710109CC44 | Debug tool? |
Terrain | Yes | 000000710114961C | - |
TipsMgr | Yes | 000000710091DDD4 | Manages loading screen tips (resources, executing event flows) |
UI | Yes | 00000071010A5714 | - |
uiManager | Yes | 0000007100A6E038 | - |
VFR | Yes | 00000071011C0D38 | - |
Vibration | Yes | 00000071010BAEB4 | - |
VideoRecorder | Yes | 00000071010BA7EC | Leftover development tool that writes screen captures to %s/%04d.tga (?)
|
WildHorseMgr | No | 0000007100E8C1F4 | - |
WolfLinkMgr | No | 00000071006828A8 | Handles Wolf Link related tasks |
WorkerSupportThreadMgr | Yes | 0000007100DCDFB0 | - |
WorldMgr | Yes | 00000071010F2920 | Manages world state (time, blood moons, climates, weather, etc.) |
XLink | Yes | 000000710123DE44 | Wrapper around the xlink2 library (EffectLink and SoundLink) |
XLinkInfoData | Yes | 0000007101239668 | Utilities for querying data from XLinkInfo.byml |