XML:BINA/OBJC/PART: Difference between revisions

From OniGalore
< XML:BINA‎ | OBJC
Jump to navigation Jump to search
mNo edit summary
mNo edit summary
Line 9: Line 9:


following command can kill different particle with same tag at once but only one of each, so don't double spawn
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)
* particle ''BSL_name'' kill (kill counts also as die event)
following command reset particle
following command reset particle
* particle ''particle_name'' reset
* particle ''BSL_name'' reset
following commands depend on [[OBD_talk:BINA/PAR3#event_types|particle events]]
following commands depend on [[OBD_talk:BINA/PAR3#event_types|particle events]]


{|
{|
{{table}}
{{table}}
|width=50% | particle ''particle_name'' update
|width=50%|
| p3_callevent ''particle_name'' 0
: <font color="#777777">BSL_name = <Tag> in BINACJBOParticle.xml / <Name> in [[OBD:ENVP|ENVP]]</font>
|
: <font color="#777777">file_name = <Class> in BINACJBOParticle.xml / <ParticleClass> in [[OBD:ENVP|ENVP]]</font>
|-
| particle ''BSL_name'' update
| p3_callevent ''file_name'' 0
|-
|-
| particle ''particle_name'' pulse
| particle ''BSL_name'' pulse
| p3_callevent ''particle_name'' 1
| p3_callevent ''file_name'' 1
|-
|-
| particle ''particle_name'' start
| particle ''BSL_name'' start
| p3_callevent ''particle_name'' 2
| p3_callevent ''file_name'' 2
|-
|-
| particle ''particle_name'' stop
| particle ''BSL_name'' stop
| p3_callevent ''particle_name'' 3
| p3_callevent ''file_name'' 3
|-
|-
| particle ''particle_name'' bgfx_start
| particle ''BSL_name'' bgfx_start
| p3_callevent ''particle_name'' 4
| p3_callevent ''file_name'' 4
|-
|-
| particle ''particle_name'' bgfx_stop
| particle ''BSL_name'' bgfx_stop
| p3_callevent ''particle_name'' 5
| p3_callevent ''file_name'' 5
|-
|-
| particle ''particle_name'' hit_wall
| particle ''BSL_name'' hit_wall
| p3_callevent ''particle_name'' 6
| p3_callevent ''file_name'' 6
|-
|-
| particle ''particle_name'' hit_char
| particle ''BSL_name'' hit_char
| p3_callevent ''particle_name'' 7
| p3_callevent ''file_name'' 7
|-
|-
| particle ''particle_name'' lifetime
| particle ''BSL_name'' lifetime
| p3_callevent ''particle_name'' 8
| p3_callevent ''file_name'' 8
|-
|-
| particle ''particle_name'' explode
| particle ''BSL_name'' explode
| p3_callevent ''particle_name'' 9
| p3_callevent ''file_name'' 9
|-
|-
| particle ''particle_name'' brokenlink
| particle ''BSL_name'' brokenlink
| p3_callevent ''particle_name'' 10
| p3_callevent ''file_name'' 10
|-
|-
| particle ''particle_name'' create <font color="#777777">(create counts also as update event)</font>
| particle ''BSL_name'' create <font color="#777777">(create counts also as update event)</font>
| p3_callevent ''particle_name'' 11
| p3_callevent ''file_name'' 11
|-
|-
| particle ''particle_name'' die
| particle ''BSL_name'' die
| p3_callevent ''particle_name'' 12
| p3_callevent ''file_name'' 12
|-
|-
| particle ''particle_name'' newattractor
| particle ''BSL_name'' newattractor
| p3_callevent ''particle_name'' 13
| p3_callevent ''file_name'' 13
|-
|-
| particle ''particle_name'' delay_start
| particle ''BSL_name'' delay_start
| p3_callevent ''particle_name'' 14
| p3_callevent ''file_name'' 14
|-
|-
| particle ''particle_name'' delay_stop
| particle ''BSL_name'' delay_stop
| p3_callevent ''particle_name'' 15
| p3_callevent ''file_name'' 15
|}
|}


Line 85: Line 90:


  <?xml version="1.0" encoding="utf-8"?>
  <?xml version="1.0" encoding="utf-8"?>
  <Oni Version="0.9.28.0">
  <Oni>
     <ObjectCollection>
     <Objects>
         '''''[...]'''''
         '''''[...]'''''
     </ObjectCollection>
     </Objects>
  </Oni>
  </Oni>


'''''[...]''''' means at least one particle. Paste all particle data into there (this includes '''<font color="#0A0"><Object ...></font>''' and '''<font color="#0A0"></Object></font>''' tag).
'''''[...]''''' means at least one particle. Paste all particle data into there (this includes '''<font color="#0A0"><PART Id="..."></font>''' and '''<font color="#0A0"></PART></font>''' tag).


'''example'''
'''example'''
Line 98: Line 103:
[http://i305.photobucket.com/albums/nn207/unknownfuture/Oni_Galore_Images/XML_modding/fire.png http://i305.photobucket.com/albums/nn207/unknownfuture/Oni_Galore_Images/XML_modding/fire_preview.png]
[http://i305.photobucket.com/albums/nn207/unknownfuture/Oni_Galore_Images/XML_modding/fire.png http://i305.photobucket.com/albums/nn207/unknownfuture/Oni_Galore_Images/XML_modding/fire_preview.png]
|}
|}
         '''<font color="#0A0"><Object Id="8463" Type="PART"></font>'''
         '''<font color="#0A0"><PART Id="8463"></font>'''
             <Header>
             <Header>
                 <Flags>0</Flags>
                 <Flags></Flags>
                 <Position>-1050 45 1610</Position>
                 <Position>-1050 45 1610</Position>
                 <Rotation>0 0 0</Rotation>
                 <Rotation>0 0 0</Rotation>
Line 108: Line 113:
                 <Tag>auto1fire</Tag>
                 <Tag>auto1fire</Tag>
                 <Flags>13</Flags>
                 <Flags>13</Flags>
                 <Decal>
                 <DecalScale>1 1</DecalScale>
                    <XScale>1</XScale>
                    <YScale>1</YScale>
                </Decal>
             </OSD>
             </OSD>
         '''<font color="#0A0"></Object></font>'''
         '''<font color="#0A0"></PART></font>'''


'''tags'''
'''tags'''
* <Flags> : (unknown, usually 0)
* <Flags> : (unknown, usually empty)
* <Position> : (particle is created at this xyz-position)
* <Position> : (particle is created at this xyz-position)
* <Rotation> : (particle has xyz-rotation (in degrees))
* <Rotation> : (particle has xyz-rotation (in degrees))
Line 122: Line 124:
* <Tag> : (name for BSL use, can have up to 48 characters)
* <Tag> : (name for BSL use, can have up to 48 characters)
* <Flags> :
* <Flags> :
: 1 - unknown, looks dead
: NotInitiallyCreated
: 2 - not initially created
* <Decal> : (first comes X (horizontal) scaling (float value), then a space, then Y (vertical) scaling (float value); "1" seems to show image in original size which can be rather small in-game if actual decal file uses also a small scale)
: 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)

Revision as of 11:32, 28 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 BSL_name kill (kill counts also as die event)

following command reset particle

  • particle BSL_name reset

following commands depend on particle events

BSL_name = <Tag> in BINACJBOParticle.xml / <Name> in ENVP
file_name = <Class> in BINACJBOParticle.xml / <ParticleClass> in ENVP
particle BSL_name update p3_callevent file_name 0
particle BSL_name pulse p3_callevent file_name 1
particle BSL_name start p3_callevent file_name 2
particle BSL_name stop p3_callevent file_name 3
particle BSL_name bgfx_start p3_callevent file_name 4
particle BSL_name bgfx_stop p3_callevent file_name 5
particle BSL_name hit_wall p3_callevent file_name 6
particle BSL_name hit_char p3_callevent file_name 7
particle BSL_name lifetime p3_callevent file_name 8
particle BSL_name explode p3_callevent file_name 9
particle BSL_name brokenlink p3_callevent file_name 10
particle BSL_name create (create counts also as update event) p3_callevent file_name 11
particle BSL_name die p3_callevent file_name 12
particle BSL_name newattractor p3_callevent file_name 13
particle BSL_name delay_start p3_callevent file_name 14
particle BSL_name delay_stop p3_callevent file_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>
   <Objects>
       [...]
   </Objects>
</Oni>

[...] means at least one particle. Paste all particle data into there (this includes <PART Id="..."> and </PART> tag).

example

fire_preview.png

       <PART Id="8463">
           <Header>
               <Flags></Flags>
               <Position>-1050 45 1610</Position>
               <Rotation>0 0 0</Rotation>
           </Header>
           <OSD>
               <Class>env_fire9_e01</Class>
               <Tag>auto1fire</Tag>
               <Flags>13</Flags>
               <DecalScale>1 1</DecalScale>
           </OSD>
       </PART>

tags

  • <Flags> : (unknown, usually empty)
  • <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> :
NotInitiallyCreated
  • <Decal> : (first comes X (horizontal) scaling (float value), then a space, then Y (vertical) scaling (float value); "1" seems to show image in original size which can be rather small in-game if actual decal file uses also a small scale)