Subsystems: Difference between revisions

Jump to navigation Jump to search
9,188 bytes removed ,  3 years ago
add a small description for subsystems
imported>Leoetlino
mNo edit summary
(add a small description for subsystems)
(27 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 || -
|-
| 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 || -
|-
| 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 || Yes || -
|-
| 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 flows, demos, 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
|-
| GameSceneSubsys1 || 00000071007CBA28 || No || Unknown, initialised from GameScene code
|-
| GameSceneSubsys2 || 00000071007A5CA8 || No || Unknown, initialised from GameScene code
|-
| GameSceneSubsys3 || 00000071007D20A0 || No || Unknown, initialised from GameScene code
|-
| GameSceneSubsys4 || 000000710066A204 || No || Unknown, initialised from GameScene code
|-
| GameSceneSubsys5 || 00000071009052FC || No || Unknown, initialised from GameScene code
|-
| GameSceneSubsys6 || 000000710067170C || No || Unknown, initialised from GameScene code
|-
| GameSceneSubsys7 || 00000071007D32E8 || No || Unknown, initialised from GameScene code
|-
| GameSceneSubsys8 || 0000007100E4D770 || No || Unknown, initialised from GameScene code
|-
| GameSceneSubsys9 || 0000007100674F78 || No || Unknown, initialised from GameScene code
|-
| GameSceneSubsys10 || 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
|-
| 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 || -
|-
| 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 || -
|-
| MCMgr || 0000007100DCB390 || Yes || -
|-
| MemoryProfiler || 00000071010B7D18 || Yes ||Debug tool.
|-
| MessageCapture || 00000071010B7E74 || Yes || -
|-
| ModelCreator || 0000007100F4C63C || Yes || -
|-
| ModelPicker || 00000071010B7F9C || Yes || -
|-
| 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 || -
|-
| 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
|-
| QuestMgr || 0000007100FD5770 || Yes || -
|-
| 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.)
|-
| ResourceSystem || 0000007100ECA468 || Yes ||-
|-
| 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 || -
|-
| 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 || -
|-
| 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 || -
|-
| 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