XML:BINA/OBJC/PART: Difference between revisions

From OniGalore
< XML:BINA‎ | OBJC
Jump to navigation Jump to search
m (cleaning up page)
mNo edit summary
Line 1: Line 1:
{{Template:XMLModdingHints}}
'''general information'''
'''general information'''
* '''BINACJBOParticle.oni''' is level specific. (It can be found in edition/GameDataFolder/level''XX''_... )
* '''BINACJBOParticle.oni''' is level specific. (It can be found in edition/GameDataFolder/level''XX''_... )
* See [[XML basic tutorial|HERE]] if you don't know how to convert an oni file into XML and vice versa.
* See [[OBD_talk:BINA/OBJC|HERE]] if you are searching for more general information such as how to handle object coordinates.





Revision as of 11:33, 7 August 2011

Template:XMLModdingHints

general information

  • BINACJBOParticle.oni is level specific. (It can be found in edition/GameDataFolder/levelXX_... )


BSL support

following command can kill different particle with same tag at once but only one of each, so don't double spawn

  • particle particle_name kill (kill counts also as die event)

following command reset particle

  • particle particle_name reset

following commands depend on particle events

particle particle_name update p3_callevent particle_name 0
particle particle_name pulse p3_callevent particle_name 1
particle particle_name start p3_callevent particle_name 2
particle particle_name stop p3_callevent particle_name 3
particle particle_name bgfx_start p3_callevent particle_name 4
particle particle_name bgfx_stop p3_callevent particle_name 5
particle particle_name hit_wall p3_callevent particle_name 6
particle particle_name hit_char p3_callevent particle_name 7
particle particle_name lifetime p3_callevent particle_name 8
particle particle_name explode p3_callevent particle_name 9
particle particle_name brokenlink p3_callevent particle_name 10
particle particle_name create (create counts also as update event) p3_callevent particle_name 11
particle particle_name die p3_callevent particle_name 12
particle particle_name newattractor p3_callevent particle_name 13
particle particle_name delay_start p3_callevent particle_name 14
particle particle_name delay_stop p3_callevent particle_name 15


note about wannabe-damaging particle

Damaging particles would make characters "flinch" no matter how little the damage. So, particle are responsible for visualizing the danger and a trigger volume for dealing the damage.

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> :
1 - unknown, looks dead
2 - not initially created
4 - unknown, looks dead, might have been sound related in the past
8 - unknown, looks dead
  • <Decal>
<XScale> : (horizontal scaling; float value ("1" seems to show image in original size))
<YScale> : (vertical scaling; float value)