XML:BINA/OBJC/PART
Jump to navigation
Jump to search
general information
- See HERE if you don't know how to convert an oni file into XML and vice versa.
- See HERE if you are searching for more general information such as how to handle object coordinates.
- This file is level specific.
BSL support
- a theory: following commands might depend on particle events (not checked yet)
- particle particle_name pulse
- particle particle_name start
- particle particle_name stop
- particle particle_name explode
- particle particle_name create
- kill as die ?
- particle particle_name kill
note about wannabe-damaging particle
Fire and gas particle alone are useless until you try inserting a damage effect right there. In original game it's made with a trigger volume.
particle auto1fire start ### TV inside function func void fire_damage(string ai_name) { dprint fire_hurt_konoko ### ignore the "fire_hurt_konoko" ### all characters get damage because the TV is registered for all teams (255) ### ps: this damage cannot be absorbed by a shield chr_poison (ai_name, 5, 30, 30); }
XML structure
<?xml version="1.0" encoding="utf-8"?> <Oni Version="0.9.28.0"> <ObjectCollection> [...] </ObjectCollection> </Oni>
[...] means at least one particle. Paste all particle data into there (this includes <Object ...> and </Object> tag).
example
<Object Id="8463" Type="PART"> <Header> <Flags>0</Flags> <Position>-1050 45 1610</Position> <Rotation>0 0 0</Rotation> </Header> <OSD> <Class>env_fire9_e01</Class> <Tag>auto1fire</Tag> <Flags>13</Flags> <Decal> <XScale>1</XScale> <YScale>1</YScale> </Decal> </OSD> </Object>
tags
- <Flags> : (unknown, usually 0)
- <Position> : (particle is created at this xyz-position)
- <Rotation> : (particle has xyz-rotation (in degrees))
- <Class> : (file name, can have up to 64 characters)
- <Tag> : (name for BSL use, can have up to 48 characters)
- <Flags> :
- (? = real meaning is unknown)
- 4 - ?, used by <Class>env_shinzom_sound</Class> <Tag>zombient</Tag>
- 5 - ?, used only once and that's in compound and it doesn't even work because the file is missing (<Class>env_sturm_sound</Class> <Tag>sturm_ambient</Tag>) but nevertheless used in the BSL file
- 7 - ?, used by yellow objective circles, mad bomber particle in level 3 bio lab, dish elavator red warning env_emlite_e01
- 12 - ?, used for non-animated particles (e.g. lamp lights, images and captions like the level 1 training room captions)
- 13 - ?, used for animated images (e.g. fire) and moving particles (e.g. falling snow, forcefield and compound dish particle)
- 15 - ?, used for <Class>objective_e01</Class> <Tag>fight</Tag> and <Class>env_splash_e02</Class> <Tag>OutroSplash</Tag>
- <Decal>
- <XScale> : (horizontal scaling; float value ("1" seems to show image in original size))
- <YScale> : (vertical scaling; float value)