Xml File Formats: Difference between revisions
mNo edit summary |
|||
| Line 70: | Line 70: | ||
= Material XML = | = Material XML = | ||
'''TODO:''' | == Example == | ||
From ''Data/Materials/default.xml'', which is the material XML file that is used from other XMLs, if not required and not specified. | |||
<pre> | |||
<?xml version="1.0" ?> | |||
<material> | |||
<events> | |||
<leftrunstep soundgroup="Data/Sounds/concrete_foley/fs_light_concrete_run.xml" attached="true"/> | |||
<rightrunstep soundgroup="Data/Sounds/concrete_foley/fs_light_concrete_run.xml" attached="true"/> | |||
<leftwallstep soundgroup="Data/Sounds/concrete_foley/fs_light_concrete_wallrun.xml" attached="true"/> | |||
<rightwallstep soundgroup="Data/Sounds/concrete_foley/fs_light_concrete_wallrun.xml" attached="true"/> | |||
<leftwalkstep soundgroup="Data/Sounds/concrete_foley/fs_light_concrete_walk.xml" attached="true"/> | |||
<rightwalkstep soundgroup="Data/Sounds/concrete_foley/fs_light_concrete_walk.xml" attached="true"/> | |||
<leftcrouchwalkstep soundgroup="Data/Sounds/concrete_foley/fs_light_concrete_crouchwalk.xml" attached="true"/> | |||
<rightcrouchwalkstep soundgroup="Data/Sounds/concrete_foley/fs_light_concrete_crouchwalk.xml" attached="true"/> | |||
<leftcrouchwalkstep soundgroup="Data/Sounds/concrete_foley/fs_light_concrete_crouchwalk.xml" attached="true"/> | |||
<rightcrouchwalkstep soundgroup="Data/Sounds/concrete_foley/fs_light_concrete_crouchwalk.xml" attached="true"/> | |||
<land soundgroup="Data/Sounds/concrete_foley/fs_light_concrete_jump_land.xml" attached="true"/> | |||
<land_soft soundgroup="Data/Sounds/concrete_foley/fs_light_concrete_jump_land_soft.xml" attached="true"/> | |||
<land_slide soundgroup="Data/Sounds/concrete_foley/fs_light_concrete_jump_land_slide.xml" attached="true"/> | |||
<slide soundgroup="Data/Sounds/concrete_foley/slide_concrete_short.xml" attached="true"/> | |||
<kick soundgroup="Data/Sounds/concrete_foley/fs_light_concrete_kick.xml" attached="true"/> | |||
<sweep soundgroup="Data/Sounds/concrete_foley/fs_light_concrete_sweep.xml" attached="true"/> | |||
<jump soundgroup="Data/Sounds/concrete_foley/fs_light_concrete_jump.xml" attached="true"/> | |||
<roll soundgroup="Data/Sounds/concrete_foley/fs_light_concrete_roll.xml" attached="true"/> | |||
<edge_grab soundgroup="Data/Sounds/concrete_foley/fs_light_concrete_edge_grab.xml" attached="true"/> | |||
<edge_crawl soundgroup="Data/Sounds/concrete_foley/fs_light_concrete_edgecrawl.xml" attached="true"/> | |||
<bodyfall soundgroup="Data/Sounds/concrete_foley/bf_concrete.xml" attached="true"/> | |||
<bodyfall_light soundgroup="Data/Sounds/concrete_foley/bf_concrete_light.xml" attached="true"/> | |||
<bodyfall_medium soundgroup="Data/Sounds/concrete_foley/bf_concrete_medium.xml" attached="true"/> | |||
<bodyfall_heavy soundgroup="Data/Sounds/concrete_foley/bf_concrete_heavy.xml" attached="true"/> | |||
<weapon_drop_light soundgroup="Data/Sounds/weapon_foley/impact/weapon_drop_light_stone.xml" attached="true"/> | |||
<weapon_drop_medium soundgroup="Data/Sounds/weapon_foley/impact/weapon_drop_medium_stone.xml" attached="true"/> | |||
<weapon_drop_heavy soundgroup="Data/Sounds/weapon_foley/impact/weapon_drop_heavy_stone.xml" attached="true"/> | |||
<blood_spatter soundgroup="Data/Sounds/blood/spatter_hard.xml"/> | |||
<blood_drip soundgroup="Data/Sounds/blood/drip_lowpass.xml"/> | |||
</events> | |||
<events mod="heavy"> | |||
<leftrunstep soundgroup="Data/Sounds/concrete_foley/fs_heavy_concrete_run.xml" attached="true"/> | |||
<rightrunstep soundgroup="Data/Sounds/concrete_foley/fs_heavy_concrete_run.xml" attached="true"/> | |||
<leftwallstep soundgroup="Data/Sounds/concrete_foley/fs_heavy_concrete_wallrun.xml" attached="true"/> | |||
<rightwallstep soundgroup="Data/Sounds/concrete_foley/fs_heavy_concrete_wallrun.xml" attached="true"/> | |||
<leftwalkstep soundgroup="Data/Sounds/concrete_foley/fs_heavy_concrete_walk.xml" attached="true"/> | |||
<rightwalkstep soundgroup="Data/Sounds/concrete_foley/fs_heavy_concrete_walk.xml" attached="true"/> | |||
<leftcrouchwalkstep soundgroup="Data/Sounds/concrete_foley/fs_heavy_concrete_crouchwalk.xml" attached="true"/> | |||
<rightcrouchwalkstep soundgroup="Data/Sounds/concrete_foley/fs_heavy_concrete_crouchwalk.xml" attached="true"/> | |||
<leftcrouchwalkstep soundgroup="Data/Sounds/concrete_foley/fs_heavy_concrete_crouchwalk.xml" attached="true"/> | |||
<rightcrouchwalkstep soundgroup="Data/Sounds/concrete_foley/fs_heavy_concrete_crouchwalk.xml" attached="true"/> | |||
<land soundgroup="Data/Sounds/concrete_foley/fs_heavy_concrete_jump_land.xml" attached="true"/> | |||
<land_soft soundgroup="Data/Sounds/concrete_foley/fs_heavy_concrete_jump_land.xml" attached="true"/> | |||
<land_slide soundgroup="Data/Sounds/concrete_foley/fs_heavy_concrete_jump_land.xml" attached="true"/> | |||
<kick soundgroup="Data/Sounds/concrete_foley/fs_heavy_concrete_kick.xml" attached="true"/> | |||
<sweep soundgroup="Data/Sounds/concrete_foley/fs_heavy_concrete_sweep.xml" attached="true"/> | |||
<jump soundgroup="Data/Sounds/concrete_foley/fs_heavy_concrete_jump.xml" attached="true"/> | |||
<roll soundgroup="Data/Sounds/concrete_foley/fs_heavy_concrete_roll.xml" attached="true"/> | |||
<edge_grab soundgroup="Data/Sounds/concrete_foley/fs_heavy_concrete_edge_grab.xml" attached="true"/> | |||
</events> | |||
<events mod="soft"> | |||
<weapon_drop_light soundgroup="Data/Sounds/weapon_foley/impact/soft_bag_on_hard.xml" attached="true"/> | |||
<weapon_drop_medium soundgroup="Data/Sounds/weapon_foley/impact/soft_bag_on_hard.xml" attached="true"/> | |||
<weapon_drop_heavy soundgroup="Data/Sounds/weapon_foley/impact/soft_bag_on_hard.xml" attached="true"/> | |||
</events> | |||
<physics hardness = "1.0" friction = "1.0" sharp_penetration = "0.0" /> | |||
</material> | |||
</pre> | |||
From ''Data/Materials/base.xml'', which specifies the default '''max_distance''' values for all materials. | |||
<pre> | |||
<?xml version="1.0" ?> | |||
<material> | |||
<events> | |||
<leftrunstep max_distance = "40.0"/> | |||
<rightrunstep max_distance = "40.0"/> | |||
<leftwallstep max_distance = "40.0"/> | |||
<rightwallstep max_distance = "40.0"/> | |||
<leftwalkstep max_distance = "25.0"/> | |||
<rightwalkstep max_distance = "25.0"/> | |||
<leftcrouchwalkstep max_distance = "10.0"/> | |||
<rightcrouchwalkstep max_distance = "10.0"/> | |||
<land max_distance = "60.0"/> | |||
<land_soft max_distance = "30.0"/> | |||
<land_slide max_distance = "20.0"/> | |||
<slide max_distance = "30.0"/> | |||
<kick max_distance = "25.0"/> | |||
<sweep max_distance = "25.0"/> | |||
<jump max_distance = "40.0"/> | |||
<roll max_distance = "15.0"/> | |||
<edge_grab max_distance = "25.0"/> | |||
<edge_crawl max_distance = "15.0"/> | |||
<bodyfall max_distance = "80.0"/> | |||
<bodyfall_light max_distance = "40.0"/> | |||
<bodyfall_medium max_distance = "60.0"/> | |||
<bodyfall_heavy max_distance = "80.0"/> | |||
<weapon_drop_light max_distance = "80.0"/> | |||
<weapon_drop_medium max_distance = "80.0"/> | |||
<weapon_drop_heavy max_distance = "80.0"/> | |||
<blood_spatter max_distance = "30.0"/> | |||
<blood_drip max_distance = "20.0"/> | |||
<flip max_distance = "20.0"/> | |||
<choke_grab max_distance = "10.0"/>; | |||
<choke_move max_distance = "10.0"/>; | |||
<choke_fall max_distance = "10.0"/>; | |||
</events> | |||
<events mod="heavy"> | |||
<leftrunstep max_distance = "50.0"/> | |||
<rightrunstep max_distance = "50.0"/> | |||
<leftwallstep max_distance = "50.0"/> | |||
<rightwallstep max_distance = "50.0"/> | |||
<leftwalkstep max_distance = "30.0"/> | |||
<rightwalkstep max_distance = "30.0"/> | |||
<leftcrouchwalkstep max_distance = "20.0"/> | |||
<rightcrouchwalkstep max_distance = "20.0"/> | |||
<land max_distance = "80.0"/> | |||
<land_soft max_distance = "40.0"/> | |||
<land_slide max_distance = "40.0"/> | |||
<kick max_distance = "30.0"/> | |||
<sweep max_distance = "30.0"/> | |||
<jump max_distance = "50.0"/> | |||
<roll max_distance = "25.0"/> | |||
<edge_grab max_distance = "40.0"/> | |||
</events> | |||
</material> | |||
</pre> | |||
=== Events element === | |||
<pre> | |||
<material> | |||
<events mod="soft"> | |||
... | |||
</events> | |||
</material> | |||
</pre> | |||
Contains a list of event elements that override default properties for this material. | |||
==== Mod attribute ==== | |||
'''Optional''' - Specifies that this list of events only apply when the given material modifier is specified. '''TODO''': what is a material modifier? | |||
=== Event element === | |||
<pre> | |||
<material> | |||
<events> | |||
<leftrunstep soundgroup="Data/Sounds/concrete_foley/fs_light_concrete_run.xml" attached="true" max_distance = "40.0"/> | |||
... | |||
</events> | |||
</material> | |||
</pre> | |||
The sound (and physical properties of the sound) for a given material interaction event. The name of the element corresponds to the name of the event (in this example, '''leftrunstep'''). | |||
==== soundgroup attribute ==== | |||
'''Optional''' - Specifies the [[Xml File Formats#Sound Group XML|Sound Group XML]] for the material interaction event. | |||
==== attached attribute ==== | |||
'''Optional''' - Boolean value. If true, the sound (group) will be played as a sound that is attached to the character that triggered the material event. | |||
==== max_distance attribute ==== | |||
'''Optional''' - Decimal value. The max distance that the sound can be while still being made audible to the player. | |||
= Mod XML = | = Mod XML = | ||
Revision as of 01:20, 4 September 2023
TODO:
Level, Saved Object, Prefab - These have more confusing schemas, to the point where I'm not entirely sure they're distinct types from one another, and I haven't nailed them down yet -merlyn
Actor XML
Example
<?xml version="1.0" ?>
<Actor>
<Character>Data/Characters/rabbot.xml</Character>
<ControlScript>enemycontrol.as</ControlScript>
</Actor>
Character element
<Character>Data/Characters/rabbot.xml</Character>
Path to Character XML
ControlScript element
<ControlScript>enemycontrol.as</ControlScript>
Path to AI angelscript. Relative to Data/Scripts folder
Asset Preload XML
TODO:
Attachment XML
TODO:
Attack XML
TODO:
Character XML
TODO:
Decal XML
TODO:
Events XML
TODO:
Hotspot XML
TODO:
Item XML
TODO:
Layered Song XML
TODO:
Level Meta XML
TODO:
Material XML
Example
From Data/Materials/default.xml, which is the material XML file that is used from other XMLs, if not required and not specified.
<?xml version="1.0" ?>
<material>
<events>
<leftrunstep soundgroup="Data/Sounds/concrete_foley/fs_light_concrete_run.xml" attached="true"/>
<rightrunstep soundgroup="Data/Sounds/concrete_foley/fs_light_concrete_run.xml" attached="true"/>
<leftwallstep soundgroup="Data/Sounds/concrete_foley/fs_light_concrete_wallrun.xml" attached="true"/>
<rightwallstep soundgroup="Data/Sounds/concrete_foley/fs_light_concrete_wallrun.xml" attached="true"/>
<leftwalkstep soundgroup="Data/Sounds/concrete_foley/fs_light_concrete_walk.xml" attached="true"/>
<rightwalkstep soundgroup="Data/Sounds/concrete_foley/fs_light_concrete_walk.xml" attached="true"/>
<leftcrouchwalkstep soundgroup="Data/Sounds/concrete_foley/fs_light_concrete_crouchwalk.xml" attached="true"/>
<rightcrouchwalkstep soundgroup="Data/Sounds/concrete_foley/fs_light_concrete_crouchwalk.xml" attached="true"/>
<leftcrouchwalkstep soundgroup="Data/Sounds/concrete_foley/fs_light_concrete_crouchwalk.xml" attached="true"/>
<rightcrouchwalkstep soundgroup="Data/Sounds/concrete_foley/fs_light_concrete_crouchwalk.xml" attached="true"/>
<land soundgroup="Data/Sounds/concrete_foley/fs_light_concrete_jump_land.xml" attached="true"/>
<land_soft soundgroup="Data/Sounds/concrete_foley/fs_light_concrete_jump_land_soft.xml" attached="true"/>
<land_slide soundgroup="Data/Sounds/concrete_foley/fs_light_concrete_jump_land_slide.xml" attached="true"/>
<slide soundgroup="Data/Sounds/concrete_foley/slide_concrete_short.xml" attached="true"/>
<kick soundgroup="Data/Sounds/concrete_foley/fs_light_concrete_kick.xml" attached="true"/>
<sweep soundgroup="Data/Sounds/concrete_foley/fs_light_concrete_sweep.xml" attached="true"/>
<jump soundgroup="Data/Sounds/concrete_foley/fs_light_concrete_jump.xml" attached="true"/>
<roll soundgroup="Data/Sounds/concrete_foley/fs_light_concrete_roll.xml" attached="true"/>
<edge_grab soundgroup="Data/Sounds/concrete_foley/fs_light_concrete_edge_grab.xml" attached="true"/>
<edge_crawl soundgroup="Data/Sounds/concrete_foley/fs_light_concrete_edgecrawl.xml" attached="true"/>
<bodyfall soundgroup="Data/Sounds/concrete_foley/bf_concrete.xml" attached="true"/>
<bodyfall_light soundgroup="Data/Sounds/concrete_foley/bf_concrete_light.xml" attached="true"/>
<bodyfall_medium soundgroup="Data/Sounds/concrete_foley/bf_concrete_medium.xml" attached="true"/>
<bodyfall_heavy soundgroup="Data/Sounds/concrete_foley/bf_concrete_heavy.xml" attached="true"/>
<weapon_drop_light soundgroup="Data/Sounds/weapon_foley/impact/weapon_drop_light_stone.xml" attached="true"/>
<weapon_drop_medium soundgroup="Data/Sounds/weapon_foley/impact/weapon_drop_medium_stone.xml" attached="true"/>
<weapon_drop_heavy soundgroup="Data/Sounds/weapon_foley/impact/weapon_drop_heavy_stone.xml" attached="true"/>
<blood_spatter soundgroup="Data/Sounds/blood/spatter_hard.xml"/>
<blood_drip soundgroup="Data/Sounds/blood/drip_lowpass.xml"/>
</events>
<events mod="heavy">
<leftrunstep soundgroup="Data/Sounds/concrete_foley/fs_heavy_concrete_run.xml" attached="true"/>
<rightrunstep soundgroup="Data/Sounds/concrete_foley/fs_heavy_concrete_run.xml" attached="true"/>
<leftwallstep soundgroup="Data/Sounds/concrete_foley/fs_heavy_concrete_wallrun.xml" attached="true"/>
<rightwallstep soundgroup="Data/Sounds/concrete_foley/fs_heavy_concrete_wallrun.xml" attached="true"/>
<leftwalkstep soundgroup="Data/Sounds/concrete_foley/fs_heavy_concrete_walk.xml" attached="true"/>
<rightwalkstep soundgroup="Data/Sounds/concrete_foley/fs_heavy_concrete_walk.xml" attached="true"/>
<leftcrouchwalkstep soundgroup="Data/Sounds/concrete_foley/fs_heavy_concrete_crouchwalk.xml" attached="true"/>
<rightcrouchwalkstep soundgroup="Data/Sounds/concrete_foley/fs_heavy_concrete_crouchwalk.xml" attached="true"/>
<leftcrouchwalkstep soundgroup="Data/Sounds/concrete_foley/fs_heavy_concrete_crouchwalk.xml" attached="true"/>
<rightcrouchwalkstep soundgroup="Data/Sounds/concrete_foley/fs_heavy_concrete_crouchwalk.xml" attached="true"/>
<land soundgroup="Data/Sounds/concrete_foley/fs_heavy_concrete_jump_land.xml" attached="true"/>
<land_soft soundgroup="Data/Sounds/concrete_foley/fs_heavy_concrete_jump_land.xml" attached="true"/>
<land_slide soundgroup="Data/Sounds/concrete_foley/fs_heavy_concrete_jump_land.xml" attached="true"/>
<kick soundgroup="Data/Sounds/concrete_foley/fs_heavy_concrete_kick.xml" attached="true"/>
<sweep soundgroup="Data/Sounds/concrete_foley/fs_heavy_concrete_sweep.xml" attached="true"/>
<jump soundgroup="Data/Sounds/concrete_foley/fs_heavy_concrete_jump.xml" attached="true"/>
<roll soundgroup="Data/Sounds/concrete_foley/fs_heavy_concrete_roll.xml" attached="true"/>
<edge_grab soundgroup="Data/Sounds/concrete_foley/fs_heavy_concrete_edge_grab.xml" attached="true"/>
</events>
<events mod="soft">
<weapon_drop_light soundgroup="Data/Sounds/weapon_foley/impact/soft_bag_on_hard.xml" attached="true"/>
<weapon_drop_medium soundgroup="Data/Sounds/weapon_foley/impact/soft_bag_on_hard.xml" attached="true"/>
<weapon_drop_heavy soundgroup="Data/Sounds/weapon_foley/impact/soft_bag_on_hard.xml" attached="true"/>
</events>
<physics hardness = "1.0" friction = "1.0" sharp_penetration = "0.0" />
</material>
From Data/Materials/base.xml, which specifies the default max_distance values for all materials.
<?xml version="1.0" ?>
<material>
<events>
<leftrunstep max_distance = "40.0"/>
<rightrunstep max_distance = "40.0"/>
<leftwallstep max_distance = "40.0"/>
<rightwallstep max_distance = "40.0"/>
<leftwalkstep max_distance = "25.0"/>
<rightwalkstep max_distance = "25.0"/>
<leftcrouchwalkstep max_distance = "10.0"/>
<rightcrouchwalkstep max_distance = "10.0"/>
<land max_distance = "60.0"/>
<land_soft max_distance = "30.0"/>
<land_slide max_distance = "20.0"/>
<slide max_distance = "30.0"/>
<kick max_distance = "25.0"/>
<sweep max_distance = "25.0"/>
<jump max_distance = "40.0"/>
<roll max_distance = "15.0"/>
<edge_grab max_distance = "25.0"/>
<edge_crawl max_distance = "15.0"/>
<bodyfall max_distance = "80.0"/>
<bodyfall_light max_distance = "40.0"/>
<bodyfall_medium max_distance = "60.0"/>
<bodyfall_heavy max_distance = "80.0"/>
<weapon_drop_light max_distance = "80.0"/>
<weapon_drop_medium max_distance = "80.0"/>
<weapon_drop_heavy max_distance = "80.0"/>
<blood_spatter max_distance = "30.0"/>
<blood_drip max_distance = "20.0"/>
<flip max_distance = "20.0"/>
<choke_grab max_distance = "10.0"/>;
<choke_move max_distance = "10.0"/>;
<choke_fall max_distance = "10.0"/>;
</events>
<events mod="heavy">
<leftrunstep max_distance = "50.0"/>
<rightrunstep max_distance = "50.0"/>
<leftwallstep max_distance = "50.0"/>
<rightwallstep max_distance = "50.0"/>
<leftwalkstep max_distance = "30.0"/>
<rightwalkstep max_distance = "30.0"/>
<leftcrouchwalkstep max_distance = "20.0"/>
<rightcrouchwalkstep max_distance = "20.0"/>
<land max_distance = "80.0"/>
<land_soft max_distance = "40.0"/>
<land_slide max_distance = "40.0"/>
<kick max_distance = "30.0"/>
<sweep max_distance = "30.0"/>
<jump max_distance = "50.0"/>
<roll max_distance = "25.0"/>
<edge_grab max_distance = "40.0"/>
</events>
</material>
Events element
<material>
<events mod="soft">
...
</events>
</material>
Contains a list of event elements that override default properties for this material.
Mod attribute
Optional - Specifies that this list of events only apply when the given material modifier is specified. TODO: what is a material modifier?
Event element
<material>
<events>
<leftrunstep soundgroup="Data/Sounds/concrete_foley/fs_light_concrete_run.xml" attached="true" max_distance = "40.0"/>
...
</events>
</material>
The sound (and physical properties of the sound) for a given material interaction event. The name of the element corresponds to the name of the event (in this example, leftrunstep).
soundgroup attribute
Optional - Specifies the Sound Group XML for the material interaction event.
attached attribute
Optional - Boolean value. If true, the sound (group) will be played as a sound that is attached to the character that triggered the material event.
max_distance attribute
Optional - Decimal value. The max distance that the sound can be while still being made audible to the player.
Mod XML
TODO:
Music XML
TODO:
TODO:
Object XML
TODO:
Particle XML
TODO:
Path XML
TODO:
Reaction XML
TODO:
Retarget XML
TODO:
Rig XML
TODO:
Shader Preload XML
TODO:
Sound Group XML
TODO:
Synced Animation Group XML
TODO:
Version Manifest XML
TODO:
Voice XML
TODO: