EventInfo.product.sbyml: Difference between revisions

From ZeldaMods (Breath of the Wild)
Jump to navigation Jump to search
imported>Leoetlino
No edit summary
 
(5 intermediate revisions by one other user not shown)
Line 1: Line 1:
{{resloc|locations=[[Bootup.pack]]|path=Event/EventInfo.product.byml}}
{{resloc|locations=[[Bootup.pack]]|path=Event/EventInfo.product.byml}}
<onlyinclude>'''EventInfo.product.sbyml''' is a [[Yaz0]]-compressed [[BYML]] file that stores information about all game [[event]]s. It is used by the [[event manager]] to load events.</onlyinclude>
<onlyinclude>
'''EventInfo.product.sbyml''' is a [[Yaz0]]-compressed [[BYML]] file that stores information about all game [[event]]s. It is used by the [[event manager]] to load events.
</onlyinclude>


EventInfo is a machine generated file. It is not meant to be edited directly; much of the information it includes are either automatically generated or copied from event flows and other source-only files.
EventInfo is a machine generated file. It is not meant to be edited directly; much of the information it includes are either automatically generated or copied from event flows and other source-only files.
Line 6: Line 8:
The top level node is a map. Each entry corresponds to an event, with the key being <code>EventName<EntryPointName></code> and the value being the associated event properties. The list of properties in this article is known to be complete as of [[version]] 1.6.0.
The top level node is a map. Each entry corresponds to an event, with the key being <code>EventName<EntryPointName></code> and the value being the associated event properties. The list of properties in this article is known to be complete as of [[version]] 1.6.0.


== Common event flow properties ==
==Common event flow properties==
{|class="wikitable sortable"
{| class="wikitable sortable"
! Name !! Type !! Description
!Name!!Type!!Description
|-
|-
| traverse_limit || float || [For scene change events only]
|traverse_limit||float||[For scene change events only]
|-
|-
| is_startable_air || bool || Whether the event can be started when the player is not "grounded for event" (essentially when he is in the air)
|is_startable_air||bool||Whether the event can be started when the player is not "grounded for event" (essentially when he is in the air)
|-
|-
| child || array || Event flows that are called by this event and must be loaded ahead-of-time.
|child||array||Event flows that are called by this event and must be loaded ahead-of-time.


This normally only includes [[Demo]] events, which are called using the CallDemo action. Sub-flows are not listed with <code>child</code> but with <code>subfile</code>.
This normally only includes [[Demo]] events, which are called using the CallDemo action. Sub-flows are not listed with <code>child</code> but with <code>subfile</code>.


{|class="wikitable sortable"
{| class="wikitable sortable"
! Name !! Type !! Description
!Name!!Type!!Description
|-
|-
| file || string || Event name (actually not a file name since this doesn't include the file extension)
|file||string||Event name (actually not a file name since this doesn't include the file extension)
|-
|-
| entry || string || Entry point name  
|entry||string||Entry point name
|}
|}


|-
|-
| is_timeline || bool || Whether the event is an event timeline (as opposed to an event flowchart) (defaults: false)
|is_timeline||bool||Whether the event is an event timeline (as opposed to an event flowchart) (defaults: false)
|-
|-
| mode || string || Values: Seamless, FullPackage, Load, Async
|mode||string||Values: Seamless, FullPackage, Load, Async
|-
|-
| next_event || string ||
|next_event||string||
|-
|-
| movie || string ||  
|movie||string||Movile file name (e.g. Demo126_0.mp4)
|-
|-
| always_movie || bool ||
|always_movie||bool||Whether this event is always played as a movie (probably for development purposes)
|-
|-
| not_found_movie || bool ||
|not_found_movie||bool||
|-
|-
| text_only_movie || bool || Is a text only movie (subset of movies)
|text_only_movie||bool||Is a text only movie (subset of movies)
|-
|-
| exist_fade_in || bool ||
|exist_fade_in||bool||
|-
|-
| exist_flag_control || bool ||
|exist_flag_control||bool||
|-
|-
| auto_save || bool ||
|auto_save||bool||
|-
|-
| exist_gimmick_reset || bool ||
|exist_gimmick_reset||bool||
|-
|-
| exist_enable_camera_input || bool ||
|exist_enable_camera_input||bool||
|-
|-
| exist_disable_camera_input || bool ||
|exist_disable_camera_input||bool||
|-
|-
| is_pause_non_demo_member || bool ||
|is_pause_non_demo_member||bool||Whether the game freezes while the event plays or not - includes the control of Link. (''false'': no freeze; ''true'': freeze).
 
''false'' also eleminates the 1ms fading out and in of the UI for small custom events that e.g. play a sound.
|-
|-
| is_hide_non_demo_member || bool ||
|is_hide_non_demo_member||bool||
|-
|-
| is_hide_non_demo_member_charactor || bool || (sic)
|is_hide_non_demo_member_charactor||bool||(sic)
|-
|-
| fade_in_color || int ||
|fade_in_color||int||
|-
|-
| fade_out_color || int ||
|fade_out_color||int||
|-
|-
| exist_disable_unequip_in_event || bool ||
|exist_disable_unequip_in_event||bool||
|-
|-
| exist_disable_unlift_in_event || bool ||
|exist_disable_unlift_in_event||bool||
|-
|-
| exist_enable_squat_in_event || bool ||
|exist_enable_squat_in_event||bool||
|-
|-
| exist_disable_getoff_sunaz_in_event || bool ||
|exist_disable_getoff_sunaz_in_event||bool||
|-
|-
| disable_event_start_interval || bool ||
|disable_event_start_interval||bool||
|-
|-
| demo_event || bool ||
|demo_event||bool||
|-
|-
| init_camera_pos || vec3 ||
|init_camera_pos||vec3||
|-
|-
| init_camera_at || vec3 ||
|init_camera_at||vec3||
|-
|-
| init_camera_fov || float ||
|init_camera_fov||float||
|-
|-
| last_camera_pos || vec3 ||
|last_camera_pos||vec3||
|-
|-
| last_camera_at || vec3 ||
|last_camera_at||vec3||
|-
|-
| last_player_pos || vec3 ||
|last_player_pos||vec3||
|-
|-
| last_player_dir || vec3 ||
|last_player_dir||vec3||
|-
|-
| last_camera_fov || float ||
|last_camera_fov||float||
|-
|-
| special_actor_name || string ||
|special_actor_name||string||
|-
|-
| last_special_actor_pos || vec3 ||
|last_special_actor_pos||vec3||
|-
|-
| last_special_actor_dir || vec3 ||
|last_special_actor_dir||vec3||
|-
|-
| wait_frame || int ||
|wait_frame||int||
|-
|-
| vanish_motorcycle || bool || Whether the motorcycle (Master Cycle Zero) should despawn when starting the event
|vanish_motorcycle||bool||Whether the motorcycle (Master Cycle Zero) should despawn when starting the event
|-
|-
| cloth_centererd_at_location || bool || (sic)
|cloth_centererd_at_location||bool||(sic)
|-
|-
| bgm || array || Background music (BGMs)
|bgm||array||Background music (BGMs)
{|class="wikitable sortable"
{| class="wikitable sortable"
! Name !! Type !! Description
!Name!!Type!!Description
|-
|-
| name || string || BGM name
|name||string||BGM name
|}
|}


|-
|-
| bgm_stop || string || Values: StopWithFade, NotStop
|bgm_stop||string||Values: StopWithFade, NotStop
|-
|-
| no_pause_actors || string || [Only for flowcharts and timelines] List of actors that should not be paused during the event (separated by ,)
|no_pause_actors||string||[Only for flowcharts and timelines] List of actors that should not be paused during the event (separated by ,)
|}
|}


== Movie properties ==
==Movie properties==
The following properties are only used for movies (including text only movies):
The following properties are only used for movies (including text only movies):


{|class="wikitable sortable"
{| class="wikitable sortable"
! Name !! Type !! Description
!Name!!Type!!Description
|-
|-
| timeline_voice || array ||
|timeline_voice||array||
|-
|-
| xlink_emits || array ||
|xlink_emits||array||
|-
|-
| ui_texts || array ||
|ui_texts||array||
|-
|-
| fade_outs || array ||
|fade_outs||array||
|-
|-
| timeline_rumble || array ||
|timeline_rumble||array||
|-
|-
|}
|}


== Event flow properties ==
==Event flow properties==
The properties in this section are only used for event flows (event timelines and flowcharts, ''not'' movies).
The properties in this section are only used for event flows (event timelines and flowcharts, ''not'' movies).


=== XLink ===
===XLink===
{|class="wikitable sortable"
{| class="wikitable sortable"
! Name !! Type !! Description
!Name!!Type!!Description
|-
|-
| elink_user || string || Name of the ELink instance to use. If specified, also causes Effect/%s.esetlist % (elink_user) to be loaded.
|elink_user||string||Name of the ELink instance to use. If specified, the game will load Effect/%s.esetlist % (elink_user).
|-
|-
| slink_user || string || Name of the SLink instance to use
|slink_user||string||Name of the SLink instance to use. If specified, the game will load the [[sound resource]] with that name (from Sound/Resource/%s.bars % (slink_user)).
|-
|-
| xlink_hidden || array || List of SLink objects to hide
|xlink_hidden||array||List of SLink objects to hide


{|class="wikitable sortable"
{| class="wikitable sortable"
! Name !! Type !! Description
!Name!!Type!!Description
|-
|-
| actor || string || Actor name
|actor||string||Actor name
|-
|-
| instance || string || XLink instance name{{check}}
|instance||string||XLink instance name{{check}}
|-
|-
| is_effect || bool ||
|is_effect||bool||
|-
|-
| is_sound || bool ||
|is_sound||bool||
|-
|-
| key || string || XLink key
|key||string||XLink key
|}
|}


Line 164: Line 168:
|}
|}


=== Demos ===
===Demos===
An event is considered to be a [[demo]] if the entry point name contains "Demo".
An event is considered to be a [[demo]] if the entry point name starts with "Demo".


When loading demo events, EventResource automatically loads "Demo/%s.bdemo" % (entry_name), and a CameraSystem instance is constructed.
When loading demo events, EventResource automatically loads "Demo/%s.bdemo" % (entry_name), and a CameraSystem instance is constructed.


{|class="wikitable sortable"
{| class="wikitable sortable"
! Name !! Type !! Description
!Name!!Type!!Description
|-
|-
| exist_extra_model || bool || Whether a demo model exists. If true, "Model/%s.bfres" % (entry_name) is loaded.
|exist_extra_model||bool||Whether a demo model exists. If true, "Model/%s.bfres" % (entry_name) is loaded.
|-
|-
|}
|}


==== CameraSystem ====
====CameraSystem====
{|class="wikitable sortable"
{| class="wikitable sortable"
! Name !! Type !! Description
!Name!!Type!!Description
|-
|-
| camera || array || List of [[Camera]] files to load.
|camera||array||List of [[Camera]] files to load.


For each entry, CameraSystem loads "Camera/%s/%s" % (entry name, camera file name).
For each entry, CameraSystem loads "Camera/%s/%s" % (entry name, camera file name).


{|class="wikitable sortable"
{| class="wikitable sortable"
! Name !! Type !! Description
!Name!!Type!!Description
|-
|-
| name || string || File name (e.g. C01-0.bcamanim)
|file||string||File name (e.g. C01-0.bcamanim)
|-
|-
|}
|}
Line 194: Line 198:
|}
|}


==== DemoAS ====
====DemoAS====
{|class="wikitable sortable"
{| class="wikitable sortable"
! Name !! Type !! Description
!Name!!Type!!Description
|-
|-
| as || array || List of [[AS]] resources to load.
|as||array||List of [[AS]] resources to load.


For each entry, DemoASLoader loads "Actor/AS/%s/%s.bas" % (entry name, AS name).
For each entry, DemoASLoader loads "Actor/AS/%s/%s.bas" % (entry name, AS name).


{|class="wikitable sortable"
{| class="wikitable sortable"
! Name !! Type !! Description
!Name!!Type!!Description
|-
|-
| name || string || AS name (e.g. Demo117_0-C00-Npc_Rito_Teba-A-0)
|file||string||AS name (e.g. Demo117_0-C00-Npc_Rito_Teba-A-0)
|-
|-
|}
|}
Line 212: Line 216:
|}
|}


=== Terrain ===
===Terrain===
{|class="wikitable sortable"
{| class="wikitable sortable"
! Name !! Type !! Description
!Name!!Type!!Description
|-
|-
| terrain_info || array || Terrain information (array length is always 1)
|terrain_info||array||Terrain information (array length is always 1)
{|class="wikitable sortable"
{| class="wikitable sortable"
! Name !! Type !! Description
!Name!!Type!!Description
|-
|-
| center || vec3 ||
|center||vec3||
|-
|-
| level || int ||
|level||int||
|-
|-
| frame || int ||
|frame||int||
|}
|}


Line 231: Line 235:




=== Flowchart properties ===
===Flowchart properties===
The following properties are only used for event [[flowchart]]s:
The following properties are only used for event [[flowchart]]s:


{|class="wikitable sortable"
{| class="wikitable sortable"
! Name !! Type !! Description
!Name!!Type!!Description
|-
|-
| subfile || array || Other flowcharts that are referenced in this flowchart and that must be loaded  
|subfile||array||Other flowcharts that are referenced in this flowchart and that must be loaded  
{|class="wikitable sortable"
{| class="wikitable sortable"
! Name !! Type !! Description
!Name!!Type!!Description
|-
|-
| file || string || Flowchart file name (e.g. Common.bfevfl)
|file||string||Flowchart file name (e.g. Common.bfevfl)
|}
|}


Line 247: Line 251:
|}
|}


=== Timeline properties ===
===Timeline properties===
The following properties are only used for event [[timeline]]s:
The following properties are only used for event [[timeline]]s:


{|class="wikitable sortable"
{| class="wikitable sortable"
! Name !! Type !! Description
!Name!!Type!!Description
|-
|-
| sub_timelines || array || Sub-timelines (see [[BFEVFL]])
|sub_timelines||array||Sub-timelines (see [[BFEVFL]])
{|class="wikitable sortable"
{| class="wikitable sortable"
! Name !! Type !! Description
!Name!!Type!!Description
|-
|-
| name || string || Sub-timeline name (e.g. Demo130_0_effect)
|name||string||Sub-timeline name (e.g. Demo130_0_effect)
|}
|}



Latest revision as of 14:05, 9 January 2021

This resource is found in Bootup.pack.

Its canonical resource path is "Event/EventInfo.product.byml".

EventInfo.product.sbyml is a Yaz0-compressed BYML file that stores information about all game events. It is used by the event manager to load events.


EventInfo is a machine generated file. It is not meant to be edited directly; much of the information it includes are either automatically generated or copied from event flows and other source-only files.

The top level node is a map. Each entry corresponds to an event, with the key being EventName<EntryPointName> and the value being the associated event properties. The list of properties in this article is known to be complete as of version 1.6.0.

Common event flow properties

Name Type Description
traverse_limit float [For scene change events only]
is_startable_air bool Whether the event can be started when the player is not "grounded for event" (essentially when he is in the air)
child array Event flows that are called by this event and must be loaded ahead-of-time.

This normally only includes Demo events, which are called using the CallDemo action. Sub-flows are not listed with child but with subfile.

Name Type Description
file string Event name (actually not a file name since this doesn't include the file extension)
entry string Entry point name
is_timeline bool Whether the event is an event timeline (as opposed to an event flowchart) (defaults: false)
mode string Values: Seamless, FullPackage, Load, Async
next_event string
movie string Movile file name (e.g. Demo126_0.mp4)
always_movie bool Whether this event is always played as a movie (probably for development purposes)
not_found_movie bool
text_only_movie bool Is a text only movie (subset of movies)
exist_fade_in bool
exist_flag_control bool
auto_save bool
exist_gimmick_reset bool
exist_enable_camera_input bool
exist_disable_camera_input bool
is_pause_non_demo_member bool Whether the game freezes while the event plays or not - includes the control of Link. (false: no freeze; true: freeze).

false also eleminates the 1ms fading out and in of the UI for small custom events that e.g. play a sound.

is_hide_non_demo_member bool
is_hide_non_demo_member_charactor bool (sic)
fade_in_color int
fade_out_color int
exist_disable_unequip_in_event bool
exist_disable_unlift_in_event bool
exist_enable_squat_in_event bool
exist_disable_getoff_sunaz_in_event bool
disable_event_start_interval bool
demo_event bool
init_camera_pos vec3
init_camera_at vec3
init_camera_fov float
last_camera_pos vec3
last_camera_at vec3
last_player_pos vec3
last_player_dir vec3
last_camera_fov float
special_actor_name string
last_special_actor_pos vec3
last_special_actor_dir vec3
wait_frame int
vanish_motorcycle bool Whether the motorcycle (Master Cycle Zero) should despawn when starting the event
cloth_centererd_at_location bool (sic)
bgm array Background music (BGMs)
Name Type Description
name string BGM name
bgm_stop string Values: StopWithFade, NotStop
no_pause_actors string [Only for flowcharts and timelines] List of actors that should not be paused during the event (separated by ,)

Movie properties

The following properties are only used for movies (including text only movies):

Name Type Description
timeline_voice array
xlink_emits array
ui_texts array
fade_outs array
timeline_rumble array

Event flow properties

The properties in this section are only used for event flows (event timelines and flowcharts, not movies).

XLink

Name Type Description
elink_user string Name of the ELink instance to use. If specified, the game will load Effect/%s.esetlist % (elink_user).
slink_user string Name of the SLink instance to use. If specified, the game will load the sound resource with that name (from Sound/Resource/%s.bars % (slink_user)).
xlink_hidden array List of SLink objects to hide
Name Type Description
actor string Actor name
instance string XLink instance name[check]
is_effect bool
is_sound bool
key string XLink key

Demos

An event is considered to be a demo if the entry point name starts with "Demo".

When loading demo events, EventResource automatically loads "Demo/%s.bdemo" % (entry_name), and a CameraSystem instance is constructed.

Name Type Description
exist_extra_model bool Whether a demo model exists. If true, "Model/%s.bfres" % (entry_name) is loaded.

CameraSystem

Name Type Description
camera array List of Camera files to load.

For each entry, CameraSystem loads "Camera/%s/%s" % (entry name, camera file name).

Name Type Description
file string File name (e.g. C01-0.bcamanim)

DemoAS

Name Type Description
as array List of AS resources to load.

For each entry, DemoASLoader loads "Actor/AS/%s/%s.bas" % (entry name, AS name).

Name Type Description
file string AS name (e.g. Demo117_0-C00-Npc_Rito_Teba-A-0)

Terrain

Name Type Description
terrain_info array Terrain information (array length is always 1)
Name Type Description
center vec3
level int
frame int


Flowchart properties

The following properties are only used for event flowcharts:

Name Type Description
subfile array Other flowcharts that are referenced in this flowchart and that must be loaded
Name Type Description
file string Flowchart file name (e.g. Common.bfevfl)

Timeline properties

The following properties are only used for event timelines:

Name Type Description
sub_timelines array Sub-timelines (see BFEVFL)
Name Type Description
name string Sub-timeline name (e.g. Demo130_0_effect)