Difference between revisions of "Xml File Formats"
m |
(→Material XML) |
||
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 08:20, 4 September 2023
Contents
- 1 TODO:
- 2 Actor XML
- 3 Asset Preload XML
- 4 Attachment XML
- 5 Attack XML
- 6 Character XML
- 7 Decal XML
- 8 Events XML
- 9 Hotspot XML
- 10 Item XML
- 11 Layered Song XML
- 12 Level Meta XML
- 13 Material XML
- 14 Mod XML
- 15 Music XML
- 16 Nav Mesh Meta XML
- 17 Object XML
- 18 Particle XML
- 19 Path XML
- 20 Reaction XML
- 21 Retarget XML
- 22 Rig XML
- 23 Shader Preload XML
- 24 Sound Group XML
- 25 Synced Animation Group XML
- 26 Version Manifest XML
- 27 Voice XML
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: