A small struct in static data that determines spawn locations, of size [2c]. There are two contiguous instances:
805b6ae0 | slave
805b6b0c | master
|0||||location (folder string)|
|20||||? (resets to
|25||||night? (iff ==
|26||||trial? (iff ==
|28||||? (resets to
During a reload, the data from master is copied over slave. The layer in master is the forced layer – if it’s 0, the actual layer is computed from story flags and stored at the layer in slave.
|Size||0x2b0 | confirmed in
Also have a nearby helper variable:
805789fd  (static): reloadType. All reloads use the spawn data from the master spawn (above), but load different position and angle data from file FA. This data comes in triples, labelled type-1,2,3 in file docs.
80063640 | determineReload (partial decomp here) uses this flag to select data to load, then clears the flag.
- 0: normal (indirect) reload through entrance; no position+angle data used.
- 1: direct reload into type-1 position+angle from FA.
- 2: reload into type-2 position+angle from FA from higher y-coordinate (vertical) with sailcloth.
- 3: direct reload into type-3 position+angle from FA.
Files store triples (type-1,2,3) of Spawn data (area, forced layer, entrance, etc.) as well as position and angle; both Spawn and position+angle obey these dynamics:
- type-1: stored when saving a file; loaded when starting a file (with type-1 reload).
- type-2: stored when returning to sky; loading unknown (but with type-2 reload, which simulates landing from sky).
- type-3: stored when entering area; loaded when continuing after death (with type-3 reload).
|23c||reload trigger||||normally 0x2bf; triggers reload when set to 0x5|
|240||?||[2c]||a Spawn object, unknown use|
|26c||type-0 pos data||[e]||[x,y,z,θ] (float × 3, short): Link position used during a t0 pos load|
|28b||type-0 cs flag||||if 1, force cutscene on type-0 load|
|2a0||type-0 pos flag||||if 1, force position on type-0 load (and use data at 26c)|
|2a2||save-prompt flag||||if 1, display save-prompt on next reload|
801bc080: assignSpawn. Directly sets values in a Spawn object (the first arg). Breakpointing this shows some of the dynamics between the two Spawn objects and Reloader.