OBD:ONCP: Difference between revisions

m
...
m (besser so ^^)
m (...)
 
(6 intermediate revisions by 4 users not shown)
Line 1: Line 1:
{{OBD_File_Header|align=center|type=ONCP|prev=ONCC|next=ONCV|name=Oni Character Particle Array|family=Character|onistuff=oncp}}
{{OBD_File_Header | type=ONCP | prev=ONCC | next=ONCV | name=Oni Character Particle Array | family=Character | align=center}}


http://www6.fh-eberswalde.de/user/dkriesch/onistuff/images/oncp_a.gif


==Header==
[[image:oncp_a.gif]]
{|{{OBDtable}}
 
|align=center|
 
{|{{OBDtable}}
{{Table}}
|- BGCOLOR="#FFDDBB" ALIGN=CENTER
{{OBDth}}
!Offset
{{OBDtr| 0x00 | res_id  |FF0000| 01 F9 03 00 | 1017       | 01017-.ONCP }}
!Raw hex
{{OBDtr| 0x04 | lev_id  |FFFF00| 01 00 00 06 | 3         | level 3 }}
!Value
{{OBDtr| 0x08 | char[16] |00FF00| AD DE       | dead       | padding }}
!Meaning
{{OBDtr| 0x18 | bool    |00FF00| 0          | 0          | is loaded; must be 0, set to 1 at runtime }}
|-
{{OBDtr| 0x19 | char[3]  |00FF00| AD DE      | dead      | padding }}
|0x00
{{OBDtr| 0x1C | uint32    |00FFFF| 0D 00 00 00 | 13         | array size }}
| BGCOLOR="#FF0000" | 01 F9 03 00
{{OBDtrBK}}
| 1017
{{OBDtr2|0x00 | char[16] |FFC8C8| acid                     | particle name (referenced by [[OBD:TRAM/raw0x2C|TRAM particles]]) }}
| ALIGN=LEFT | file ID : 01017-.ONCP
{{OBDtr2|0x10 | char[64] |FFFFC8| env_splash_e01a         | [[OBD:BINA/PAR3|particle class name]] }}
|-
{{OBDtr| 0x50 | uint16  |C8FFC8| FF FF      | -1         | number of the bodypart; see below }}
|0x04
{{OBDtr| 0x52 | char[2]   |C8FFFF| 5F 00      | 95         | padding }}
| BGCOLOR="#FFFF00" | 01 00 00 06
{{OBDtr| 0x54 | offset    |FFC8FF| 00 00 00 00 | 0         | raw offset of particle class; runtime only }}
| 3
| ALIGN=LEFT | level ID : level 3
|-
|0x08 - 0x1B
| BGCOLOR="#00FF00" | AD DE
| dead
| ALIGN=LEFT | blank filler
|-
|0x1C
| BGCOLOR="#00FFFF" | 0D 00 00 00
| 13
| ALIGN=LEFT | 13 particles in array (first particle is outlined in black)
|}
|}
==Particle array==
The array starts at 0x20. Every particle is 0x58=88 bytes long.
;Example:acid/env_splash_e01a
Offsets are relative to the start of a particle slot.
{|{{OBDtable}}
|align=center|
{|{{OBDtable}}
|- BGCOLOR="#FFDDBB" ALIGN=CENTER
!Offset
!Raw hex
!Value
!Meaning
|-
|0x00 - 0x0F
| BGCOLOR="#FFC8C8" COLSPAN=2 | <TT>acid</TT> + null char + garbage
| ALIGN=LEFT | label of the particle (used by [[OBD:TRAM/raw0x2C|particle tracks]] of [[OBD:TRAM|TRAM]])
|-
|0x10 - 0x4F
| BGCOLOR="#FFFFC8" COLSPAN=2 | <TT>env_splash_e01a</TT> + null char + garbage
| ALIGN=LEFT | link by name to [[OBD:BINA/Particles|3RAP]] env_splash_e01a.[[OBD:BINA|BINA]] of level 0
|-
|0x50
| BGCOLOR="#C8FFC8"| FFFF
| -1
| ALIGN=LEFT | default [[OBD:TRIA#Bones|bone]] to which particle is linked (-1 = root/none?, 32768 = ?)
|-
|0x52
| BGCOLOR="#C8FFFF"|5F00
| 95
| ALIGN=LEFT | unknown (always the same?)
|-
|0x54
| BGCOLOR="#FFC8FF"| 00000000
| 0
| ALIGN=LEFT | unknown (always the same?)
|}
|}
|}
;Note
;Note
:The ONCP is the list of all the particles (motion trails, combo flashes, etc) that will be available for the [[OBD:ONCC|ONCC]] that links to it.
:The ONCP is the list of all the particles (motion trails, combo flashes, etc) that will be available for the [[OBD:ONCC|ONCC]] that links to it.
:Nothing bad happens if an ONCC doesn't find a particle required by an animation, you just get a warning at the console.
:Nothing bad happens if an ONCC doesn't find a particle required by an animation, you just get a warning at the console.
;Default bone ID
:However, [[AE]]'s glass-breaking animations will give you a ''lot'' of warnings without the right ONCP (basically for all combat moves, not just flashy ones).
:The ones specified in the [[OBD:TRAM/raw0x2C|particle tracks]] of the [[OBD:TRAM|TRAM]] seem to have the final word.
 
:I really don't know about 0x8000=32768 (used for '''snap'''/'''h2h_snap_e01''')
;Bodypart number
*0-19 - this is a super particle attached to the specified bodypart when the character has daodan powers; the particle name must start with super for this to work; particle events are as follows:
**particle is "create"d (if absent) and "start"ed when entering overpower while the character is "active";
**particle is "stop"ped when overpower runs out;
**particle is killed (either is deleted or "die"s on its own) when/if the character goes "inactive".
*0xFFFF - the particle is attached by an animation (the animation specifies the bodypart); particle events are as follows:
**the animation can "create" multiple instances of a particle as necessary (one per bone involved), at the start of the animation;
**particle is "start"ed and "stop"ped according to the frames specified in [[OBD:TRAM/raw0x2C|TRAM]];
**particle is killed at the end of the animation
*0x8000 - the particle is attached by an animation (the animation specifies the bodypart) and it also generates a Self_Damage_Killed impact (user by back breaking animations); particle event rules are same as for 0xFFFF
 


{{OBD_File_Footer | type=ONCP | prev=ONCC | next=ONCV | name=Oni Character Particle Array  | family=Character}}


----
{{OBD}}
----
{{OBD_File_Footer|align=center|type=ONCP|prev=ONCC|next=ONCV|name=Oni Character Particle Array|family=Character|onistuff=oncp}}
281

edits