XML:BINA/OBJC/PART

From OniGalore
< XML:BINA‎ | OBJC
Revision as of 12:24, 3 January 2009 by Paradox-01 (talk | contribs) (.)
(diff) ← Older revision | Latest revision (diff) | Newer revision → (diff)
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

fire_preview.png

       <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)