OBD:ONCP: Difference between revisions

m
...
m (...)
 
(8 intermediate revisions by 4 users not shown)
Line 1: Line 1:
[[Main Page]] >> [[OBD:Oni Binary Data|Oni Binary Data]] >> [[OBD:File types|File types]] >> ONCP
{{OBD_File_Header | type=ONCP | prev=ONCC | next=ONCV | name=Oni Character Particle Array  | family=Character | align=center}}




<CENTER>
[[image:oncp_a.gif]]
[[OBD:ONCC|ONCC]] << [[OBD:File types|Other file types]] >> [[OBD:ONCV|ONCV]]
<br><FONT SIZE=5>ONCP : Oni Character Particle Array</FONT>
<br><FONT SIZE=2>[[OBD:File types/Character|Character file]]</FONT>
</CENTER>




http://www6.fh-eberswalde.de/user/dkriesch/onistuff/images/oncp_a.gif
{{Table}}
{{OBDth}}
{{OBDtr| 0x00 | res_id  |FF0000| 01 F9 03 00 | 1017      | 01017-.ONCP }}
{{OBDtr| 0x04 | lev_id  |FFFF00| 01 00 00 06 | 3          | level 3 }}
{{OBDtr| 0x08 | char[16] |00FF00| AD DE      | dead      | padding }}
{{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 }}
{{OBDtr| 0x1C | uint32    |00FFFF| 0D 00 00 00 | 13        | array size }}
{{OBDtrBK}}
{{OBDtr2|0x00 | char[16] |FFC8C8| acid                    | particle name (referenced by [[OBD:TRAM/raw0x2C|TRAM particles]]) }}
{{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 }}
{{OBDtr| 0x52 | char[2]    |C8FFFF| 5F 00      | 95        | padding }}
{{OBDtr| 0x54 | offset    |FFC8FF| 00 00 00 00 | 0          | raw offset of particle class; runtime only }}
|}


==Header==
{| BORDER=1 WIDTH=100% CELLPADDING=2 CELLSPACING=0
|- BGCOLOR="#FFDDBB" ALIGN=CENTER
!Offset
!Raw hex
!Value
!Meaning
|- ALIGN=CENTER VALIGN=TOP BGCOLOR="#FFEEDD"
|0x00
| BGCOLOR="#FF0000" | 01 F9 03 00
| 1017
| ALIGN=LEFT | file ID : 01017-.ONCP
|- ALIGN=CENTER VALIGN=TOP BGCOLOR="#FFEEDD"
|0x04
| BGCOLOR="#FFFF00" | 01 00 00 06
| 3
| ALIGN=LEFT | level ID : level 3
|- ALIGN=CENTER VALIGN=TOP BGCOLOR="#FFEEDD"
|0x08 - 0x1B
| BGCOLOR="#00FF00" | AD DE
| dead
| ALIGN=LEFT | blank filler
|- ALIGN=CENTER VALIGN=TOP BGCOLOR="#FFEEDD"
|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.
{| BORDER=1 WIDTH=100% CELLPADDING=2 CELLSPACING=0
|- BGCOLOR="#FFDDBB" ALIGN=CENTER
!Offset
!Raw hex
!Value
!Meaning
|- ALIGN=CENTER VALIGN=TOP BGCOLOR="#FFEEDD"
|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]])
|- ALIGN=CENTER VALIGN=TOP BGCOLOR="#FFEEDD"
|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
|- ALIGN=CENTER VALIGN=TOP BGCOLOR="#FFEEDD"
|0x50
| BGCOLOR="#C8FFC8"| FFFF
| -1
| ALIGN=LEFT | default [[OBD:TRIA#Bones|bone]] to which particle is linked (-1 = root/none?, 32768 = ?)
|- ALIGN=CENTER VALIGN=TOP BGCOLOR="#FFEEDD"
|0x52
| BGCOLOR="#C8FFFF"|5F00
| 95
| ALIGN=LEFT | unknown (always the same?)
|- ALIGN=CENTER VALIGN=TOP BGCOLOR="#FFEEDD"
|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


<HR>
<CENTER>[[OBD:ONCC|ONCC]] << '''ONCP''' >> [[OBD:ONCV|ONCV]]</CENTER>
<HR>


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


[[Main Page]] >> [[OBD:Oni Binary Data|Oni Binary Data]] >> [[OBD:File types|File types]] >> ONCP
{{OBD}}
281

edits