WorldMgr and Help:Resolving mod conflicts: Difference between pages

From ZeldaMods (Breath of the Wild)
(Difference between pages)
Jump to navigation Jump to search
imported>Leoetlino
 
imported>NiceneNerd
mNo edit summary
 
Line 1: Line 1:
{{stub}}
Because of the way '''Breath of the Wild''' game content is structured, multiple mods often have to make incompatible changes to the same files or groups of files. Not all of this can be helped—some mods will always conflict—but many of the most common mod conflicts can be resolved. There are seven major areas of concern in resolving mod conflicts: the [[Resource_system#Resource_size_table|RSTB]], [[SARC|SARC packs]], [[Message archives|game texts]], [[gamedata.ssarc|game data]], [[SaveMgr|save data]], [[ActorInfo.product.sbyml|actor info]], and the contents generally of [[BYML]] and [[AAMP]] files.
{{Subsystem infobox|name=WorldMgr|init_addr_switch150=00000071010F2920|is_name_official=1|description=Manages world state (time, blood moons, climates, weather, etc.)}}
The '''World Manager''' (WorldMgr) is responsible for managing time, blood moons, climates, weather, fog, wind, lighting, procedural generation of clouds, whether the Lord of the Mountain appears, etc.


Because of the massive amount of state to handle, functionality is split across the main WorldMgr and 9 sub-managers.
== RSTB Conflicts ==
RSTB conflicts occur when two or more mods modify [[ResourceSizeTable.product.rsizetable]]. Unless the changes are merged, you may experience the general symptoms of RSTB problems when trying to use such mods together, which may include crashes, invisible models, missing actors, or hanging on the loading screen. Note especially that crashes which come immediately on loading the game often involve the RSTB entry for [[Bootup.pack]] or one of the message archives [[Help:Resolving_mod_conflicts#Game_text_conflicts|described below]].


== WorldMgr ==
To resolve RSTB conflicts, you must identify the RSTB changes made by each mod, which can be compared using [[Help:Tools/rstb|rstbtool]] or [[Help:Tools/Wild_Bits|Wild Bits]]. For help with this, see [[Help:Updating the RSTB]].


== Sub-managers ==
== SARC Conflicts ==
Sub-managers are created in WorldMgr::init (0x71010F43C0) and inserted into a pointer array (@WorldMgr+0x5c0). All names below are unofficial.
SARC conflicts occur when two or more mods modify the same [[SARC]] file, most frequently [[TitleBG.pack]], [[Bootup.pack]], or an [[Sbactorpack|actor pack]]. For example, if one mod changes Link's appearance and one mod changes the texture of the paraglider, each mod will contain an entire TitleBG.pack file, and they will not cooperate.


{|class="wikitable"
To resolve SARC conflicts, you must identify the changed files in each SARC and manually copy the changed files in each to a single SARC. You can extract and modify SARC archives using [[Help:Tools/sarc|sarc]] or [[Help:Tools/Wild_Bits|Wild Bits]].
|+ Sub-managers by ID
! ID !! Description
|-
| 0 || TimeMgr
|-
| 1 || CloudPr? Handles cloud procedural generation.
|-
| 2 || ???
|-
| 3 || Weather? Handles "rain splash" and climate weathers.
|-
| 4 || TemperatureMgr? (Reasonably sure about this one.)
|-
| 5 || ???
|-
| 6 || Sky and fog? Holds the configuration for all EnvPalettes, EnvAttributes, WeatherInfluences, Remains palettes, Indoor palettes and dungeon fogs.
|-
| 7 || DofMgr? Holds depth of field related parameters.
|-
| 8 || ??? (contains a BaseProcLink, so it might have something to do with actors.)
|}


=== TimeMgr ===
== Game Text Conflicts ==
TimeMgr handles everything to do with time, including Blood Moons and the Lord of the Mountain's apparition.


[[Category:Internals]]
== Game Data and Save Data Conflicts ==
[[Category:Subsystems (BotW)]]
 
== Actor Info Conflicts ==
 
== BYML and AAMP Conflicts ==
 
[[Category:Guides]]

Revision as of 18:54, 26 July 2019

Because of the way Breath of the Wild game content is structured, multiple mods often have to make incompatible changes to the same files or groups of files. Not all of this can be helped—some mods will always conflict—but many of the most common mod conflicts can be resolved. There are seven major areas of concern in resolving mod conflicts: the RSTB, SARC packs, game texts, game data, save data, actor info, and the contents generally of BYML and AAMP files.

RSTB Conflicts

RSTB conflicts occur when two or more mods modify ResourceSizeTable.product.rsizetable. Unless the changes are merged, you may experience the general symptoms of RSTB problems when trying to use such mods together, which may include crashes, invisible models, missing actors, or hanging on the loading screen. Note especially that crashes which come immediately on loading the game often involve the RSTB entry for Bootup.pack or one of the message archives described below.

To resolve RSTB conflicts, you must identify the RSTB changes made by each mod, which can be compared using rstbtool or Wild Bits. For help with this, see Help:Updating the RSTB.

SARC Conflicts

SARC conflicts occur when two or more mods modify the same SARC file, most frequently TitleBG.pack, Bootup.pack, or an actor pack. For example, if one mod changes Link's appearance and one mod changes the texture of the paraglider, each mod will contain an entire TitleBG.pack file, and they will not cooperate.

To resolve SARC conflicts, you must identify the changed files in each SARC and manually copy the changed files in each to a single SARC. You can extract and modify SARC archives using sarc or Wild Bits.

Game Text Conflicts

Game Data and Save Data Conflicts

Actor Info Conflicts

BYML and AAMP Conflicts