WorldMgr: Difference between revisions

540 bytes added ,  4 years ago
Marked this version for translation
mNo edit summary
(Marked this version for translation)
Line 1: Line 1:
<languages/>
<languages/>
<!--T:1-->
<!--T:1-->
{{Subsystem infobox|name=WorldMgr|init_addr_switch150=00000071010F2920|is_name_official=1|description=<translate>Manages world state (time, blood moons, climates, weather, etc.)</translate>}}
{{Subsystem infobox|name=WorldMgr|init_addr_switch150=00000071010F2920|is_name_official=1|description=<translate><!--T:41--> Manages world state (time, blood moons, climates, weather, etc.)</translate>}}


<translate>
<translate>
Line 12: Line 12:
== WorldMgr == <!--T:4-->
== WorldMgr == <!--T:4-->


=== Sub-managers ===
=== Sub-managers === <!--T:42-->
Sub-managers are created in WorldMgr::init (0x71010F43C0) and inserted into a pointer array (@WorldMgr+0x5c0). All names below are unofficial.
Sub-managers are created in WorldMgr::init (0x71010F43C0) and inserted into a pointer array (@WorldMgr+0x5c0). All names below are unofficial.
</translate>
</translate>
Line 18: Line 18:
<!--T:5-->
<!--T:5-->
{|class="wikitable"
{|class="wikitable"
|+ <translate>Sub-managers by ID</translate>
|+ <translate><!--T:43--> Sub-managers by ID</translate>
! <translate>ID</translate> !! <translate>Description</translate>
! <translate><!--T:44--> ID</translate> !! <translate><!--T:45--> Description</translate>
|-
|-
| 0 || <translate>TimeMgr: Handles time, blood moons, Lord of the Mountain.</translate>
| 0 || <translate><!--T:46--> TimeMgr: Handles time, blood moons, Lord of the Mountain.</translate>
|-
|-
| 1 || <translate>CloudPrMgr: Handles cloud procedural generation.</translate>
| 1 || <translate><!--T:47--> CloudPrMgr: Handles cloud procedural generation.</translate>
|-
|-
| 2 || <translate>ShootingStarMgr: Manages shooting stars and (in 1.3.3+) special shooting stars for the Xenoblade 2 quest.</translate>
| 2 || <translate><!--T:48--> ShootingStarMgr: Manages shooting stars and (in 1.3.3+) special shooting stars for the Xenoblade 2 quest.</translate>
|-
|-
| 3 || <translate>WeatherMgr: Handles "rain splash" and climate weathers.</translate>
| 3 || <translate><!--T:49--> WeatherMgr: Handles "rain splash" and climate weathers.</translate>
|-
|-
| 4 || <translate>TempMgr: Handles world temperature{{check}}.</translate>
| 4 || <translate><!--T:50--> TempMgr: Handles world temperature{{check}}.</translate>
|-
|-
| 5 || ?
| 5 || ?
|-
|-
| 6 || <translate>SkyMgr: Handles sky and fog{{check}}. Holds the configuration for all EnvPalettes, EnvAttributes, WeatherInfluences, Remains palettes, Indoor palettes and dungeon fogs.</translate>
| 6 || <translate><!--T:51--> SkyMgr: Handles sky and fog{{check}}. Holds the configuration for all EnvPalettes, EnvAttributes, WeatherInfluences, Remains palettes, Indoor palettes and dungeon fogs.</translate>
|-
|-
| 7 || <translate>DofMgr: Handles depth of field{{check}}. Holds depth of field related parameters.</translate>
| 7 || <translate><!--T:52--> DofMgr: Handles depth of field{{check}}. Holds depth of field related parameters.</translate>
|-
|-
| 8 || ?
| 8 || ?
Line 74: Line 74:
</translate>
</translate>
{|class="wikitable"
{|class="wikitable"
! <translate>Mode</translate> !! <translate>Description</translate>
! <translate><!--T:53--> Mode</translate> !! <translate><!--T:54--> Description</translate>
|-
|-
| 0 || <translate>
| 0 || <translate>
<!--T:55-->
If Demo103_0 or Demo997_0 have been played, and if there is no active event (cutscene):
If Demo103_0 or Demo997_0 have been played, and if there is no active event (cutscene):
* Add (0.0083333 * elapsed frames) to the Time of Day timer. Effectively, this means that 1 in-game minute = 1 real-life second.
* Add (0.0083333 * elapsed frames) to the Time of Day timer. Effectively, this means that 1 in-game minute = 1 real-life second.
Line 84: Line 85:
</translate>
</translate>
|-
|-
| 1, 13, 35 || <translate>Freeze time to 04:00</translate>
| 1, 13, 35 || <translate><!--T:56--> Freeze time to 04:00</translate>
|-
|-
| 2, 14 || <translate>Freeze time to 05:00</translate>
| 2, 14 || <translate><!--T:57--> Freeze time to 05:00</translate>
|-
|-
| 3, 16, 36 || <translate>Freeze time to 07:00</translate>
| 3, 16, 36 || <translate><!--T:58--> Freeze time to 07:00</translate>
|-
|-
| 4, 19, 37 || <translate>Freeze time to 10:00</translate>
| 4, 19, 37 || <translate><!--T:59--> Freeze time to 10:00</translate>
|-
|-
| 5, 26, 39 || <translate>Freeze time to 17:00</translate>
| 5, 26, 39 || <translate><!--T:60--> Freeze time to 17:00</translate>
|-
|-
| 6, 28, 40 || <translate>Freeze time to 19:00</translate>
| 6, 28, 40 || <translate><!--T:61--> Freeze time to 19:00</translate>
|-
|-
| 7, 30, 41 || <translate>Freeze time to 21:00</translate>
| 7, 30, 41 || <translate><!--T:62--> Freeze time to 21:00</translate>
|-
|-
| 8, 11 || <translate>Freeze time to 02:00</translate>
| 8, 11 || <translate><!--T:63--> Freeze time to 02:00</translate>
|-
|-
| 9, 42 || <translate>Freeze time to 00:00</translate>
| 9, 42 || <translate><!--T:64--> Freeze time to 00:00</translate>
|-
|-
| 10 || <translate>Freeze time to 01:00</translate>
| 10 || <translate><!--T:65--> Freeze time to 01:00</translate>
|-
|-
| 12 || <translate>Freeze time to 03:00</translate>
| 12 || <translate><!--T:66--> Freeze time to 03:00</translate>
|-
|-
| 15 || <translate>Freeze time to 06:00</translate>
| 15 || <translate><!--T:67--> Freeze time to 06:00</translate>
|-
|-
| 17 || <translate>Freeze time to 08:00</translate>
| 17 || <translate><!--T:68--> Freeze time to 08:00</translate>
|-
|-
| 18 || <translate>Freeze time to 09:00</translate>
| 18 || <translate><!--T:69--> Freeze time to 09:00</translate>
|-
|-
| 20 || <translate>Freeze time to 11:00</translate>
| 20 || <translate><!--T:70--> Freeze time to 11:00</translate>
|-
|-
| 21 || <translate>Freeze time to 12:00</translate>
| 21 || <translate><!--T:71--> Freeze time to 12:00</translate>
|-
|-
| 22, 38 || <translate>Freeze time to 13:00</translate>
| 22, 38 || <translate><!--T:72--> Freeze time to 13:00</translate>
|-
|-
| 23 || <translate>Freeze time to 14:00</translate>
| 23 || <translate><!--T:73--> Freeze time to 14:00</translate>
|-
|-
| 24 || <translate>Freeze time to 15:00</translate>
| 24 || <translate><!--T:74--> Freeze time to 15:00</translate>
|-
|-
| 25 || <translate>Freeze time to 16:00</translate>
| 25 || <translate><!--T:75--> Freeze time to 16:00</translate>
|-
|-
| 27 || <translate>Freeze time to 18:00</translate>
| 27 || <translate><!--T:76--> Freeze time to 18:00</translate>
|-
|-
| 29 || <translate>Freeze time to 20:00</translate>
| 29 || <translate><!--T:77--> Freeze time to 20:00</translate>
|-
|-
| 31 || <translate>Freeze time to 22:00</translate>
| 31 || <translate><!--T:78--> Freeze time to 22:00</translate>
|-
|-
| 32 || <translate>Freeze time to 23:00</translate>
| 32 || <translate><!--T:79--> Freeze time to 23:00</translate>
|-
|-
| 34 ||<translate>
| 34 ||<translate>
<!--T:80-->
* Add (0.0083333 * elapsed frames) to the Time of Day timer.
* Add (0.0083333 * elapsed frames) to the Time of Day timer.
* If the timer is >= 360.0, which means that a day has passed, the game subtracts 360 from the timer.
* If the timer is >= 360.0, which means that a day has passed, the game subtracts 360 from the timer.
Line 192: Line 194:
=== Time division, IsMorning, IsNoon, etc. === <!--T:26-->
=== Time division, IsMorning, IsNoon, etc. === <!--T:26-->
{|class="wikitable"
{|class="wikitable"
! <translate>Start</translate> !! <translate>End</translate> !! Division !! Time type (1) !! Time type (2)
! <translate><!--T:81--> Start</translate> !! <translate><!--T:82--> End</translate> !! Division !! Time type (1) !! Time type (2)
|-
|-
| 04:00 || 05:00 || 0 || MorningA || Morning_A1
| 04:00 || 05:00 || 0 || MorningA || Morning_A1
Line 214: Line 216:


<translate>
<translate>
<!--T:83-->
Note: all intervals include the start time and exclude the end time.
Note: all intervals include the start time and exclude the end time.


Line 260: Line 263:
</translate>
</translate>
{|class="wikitable"
{|class="wikitable"
! <translate>Value</translate> !! <translate>Name</translate>
! <translate><!--T:84--> Value</translate> !! <translate><!--T:85--> Name</translate>
|-
|-
| 0 || Bluesky
| 0 || Bluesky