Subsystems: Difference between revisions
Jump to navigation
Jump to search
imported>Leoetlino No edit summary |
NiceneNerd (talk | contribs) (Show Wii U init addresses) |
||
(22 intermediate revisions by 2 users not shown) | |||
Line 1: | Line 1: | ||
Note: the following list does not include external libraries. | 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. | |||
{{#dpl: | |||
|category=Subsystems (BotW) | |||
|ordermethod=titlewithoutnamespace | |||
|includepage ={Subsystem infobox}:name:is_name_official:init_addr_switch150:init_addr_wiiu150:description | |||
|table=width=100% class="wikitable sortable",-,Name,Official name,Init (Switch 1.5.0),Init (Wii U 1.5.0),Description | |||
|tablerow=[[%PAGE%|%%]],²{#ifexpr:%%{{!}}Yes{{!}}No}²,%%,%% | |||
}} | |||
[[Category:Internals]] | [[Category:Internals]] |
Latest revision as of 15:11, 30 April 2021
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) | Init (Wii U 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 | 032C34A8 | 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 | 029E58FC | Handles amiibo functionality |
AnimSequence | Yes | 0000007101163CE8 | - | |
aoc2 | No | 0000007100D6CDA4 | 031696E4 | 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 | 029F976C | Runs event flow files to determine which actors to spawn on the map dynamically |
AutoPlacementMgr | Yes | 00000071006546FC | 029FB6DC | 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 | 02DB60B8 | 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 | 02A29C14 | 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 | 0310B10C | Unknown, initialised from GameScene code. Responsible for spawning actor drops when they die |
DungeonPackMgr | Yes | 00000071008A559C | 02DBDBCC | 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 | 031C8D5C | Manages all in-game events (event flows, demos, etc.) |
EventMgr1 | No | 0000007100E48658 | - | |
EventMgrMiniGame | No | 0000007100E493F0 | - | |
FadeProgress | No | 00000071007CBA28 | 02C4F6E4 | 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 | 02C23480 | 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 | 034059FC | - |
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 | 02A22378 | - |
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 | 02EADFDC | Handles player inventory and equipment synchronization. |
PhysicsMemSys | No | 0000007101213FF0 | Manages memory and custom Havok classes for the Havok library. | |
PlacementMgr | Yes | 00000071011E451C | 037C0688 | Reads map unit (mubin) files and spawns actors |
PlayReport | Yes | 0000007100FD381C | Handles play reports, i.e. telemetry data | |
PlayerInfo | No | 0000007100854298 | 02D495D8 | Holds information about the player (position, heart, stamina, etc.) |
PlayerResetPosMgr | No | 00000071007A5CA8 | 02C1E338 | Manages player reset positions |
PosTrackerUploader | Yes | 0000007100A8BC8C | Uploads position tracker data (i.e. Hero's Path data). See Telemetry. | |
QuestMgr | Yes | 0000007100FD5770 | 034E0AB0 | Holds information about game quests and steps. Interacts with GameDataMgr. |
RadarMgr | Yes | 000000710067B9C0 | - | |
Reaction | Yes | 0000007100EC0138 | - | |
Resetter | No | 00000071007D20A0 | 02C58148 | Initialised from GameScene code - Handles game system resets. |
ResidentActorMgr | Yes | 000000710090E0A0 | 02E38C4C | 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 | 02A2C034 | Initialised from GameScene code. Related to Sheikah Slate functionality (spawning bombs, scope, runes). |
SaveMgr | Yes | 0000007100E03214 | 0324E6AC | 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 | 02A3bC08 | 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 | 035eb994 | Debug tool? |
Terrain | Yes | 000000710114961C | - | |
TipsMgr | Yes | 000000710091DDD4 | Manages loading screen tips (resources, executing event flows) | |
UI | Yes | 00000071010A5714 | 035FD518 | - |
uiManager | Yes | 0000007100A6E038 | 0304A620 | - |
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 | 02A3ED90 | Handles Wolf Link related tasks |
WorkerSupportThreadMgr | Yes | 0000007100DCDFB0 | - | |
WorldMgr | Yes | 00000071010F2920 | 03672220 | 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 |