Subsystems: Difference between revisions

Jump to navigation Jump to search
10,559 bytes removed ,  3 years ago
add a small description for subsystems
imported>Leoetlino
No edit summary
(add a small description for subsystems)
(7 intermediate revisions by one other user not shown)
Line 1: Line 1:
Note: the following list does not include external libraries. Addresses are only correct for Switch 1.5.0.
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:description
|table=width=100% class="wikitable sortable",-,Name,Official name,Init (Switch 1.5.0),Description
|tablerow=[[%PAGE%|%%]],²{#ifexpr:%%{{!}}Yes{{!}}No}²,%%,%%
}}


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

Navigation menu