OBD:ONCC: Difference between revisions

31,929 bytes removed ,  10 September 2007
m
finished - there's still a mistake in the shotting skill table code, 'cause wiki doesn't show the table - searching
m (saving... next: splitting)
m (finished - there's still a mistake in the shotting skill table code, 'cause wiki doesn't show the table - searching)
Line 18: Line 18:
{{OBDtr| 0x020 | float    |FF00FF| 00 00 34 42 | 45.000000  | maximal falling height without damage }}
{{OBDtr| 0x020 | float    |FF00FF| 00 00 34 42 | 45.000000  | maximal falling height without damage }}
{{OBDtr| 0x024 | float    |FF00FF| 00 00 07 43 | 135.000000  | maximal falling height with damage }}
{{OBDtr| 0x024 | float    |FF00FF| 00 00 07 43 | 135.000000  | maximal falling height with damage }}
|}
;Units:times are in frames
:heights are in world units
:velocities are in world units per frames
:accelerations are in world units per frames squared
;Downwards velocity: could correspond to the steady push experienced when neither jumping nor falling
:would be roughly equivalent to the starting velocity of a fall
:although the value .55 seems right, the "sinking" seems to be hardcoded now
;Gravity timer:Seems to be hardcoded now (could be the time until gravity switches on)
;Jetpack timer:You can press JUMP multiple times during the time window (quite fun!)
;Falling height: let FH1 be the height at 0x20
:let FH2 be the height at 0x24
:let BH be the base health of the character
:let FH be the actual falling height
:then, if FH > FH2, the character is killed
:if FH < FH1, the character takes no damage
:if FH1 < FH < FH2, the character takes damage (FH - FH1) / (FH2 - FH1) * BH
{{Table}}
{{OBDth}}
{{OBDtr| 0x028 | link    |FF8000| 01 F8 03 00 | 1016        | link to 01016-shadow1.[[OBD:TXMP|TXMP]] }}
{{OBDtr| 0x028 | link    |FF8000| 01 F8 03 00 | 1016        | link to 01016-shadow1.[[OBD:TXMP|TXMP]] }}
{{OBDtr| 0x02C | float    |FF8000| 00 00 40 41 | 12.000000  | height where the shadow fades out completely }}
{{OBDtr| 0x02C | float    |FF8000| 00 00 40 41 | 12.000000  | height where the shadow fades out completely }}
Line 71: Line 94:
{{OBDtr| 0x134 | int16    |EBEBEB| 0F 00      | 15          | minimal realize firingspread time; (???number of frames???time in miliseconds???) after which AI realizes that it is in the firing spread (and it starts dodging) }}
{{OBDtr| 0x134 | int16    |EBEBEB| 0F 00      | 15          | minimal realize firingspread time; (???number of frames???time in miliseconds???) after which AI realizes that it is in the firing spread (and it starts dodging) }}
{{OBDtr| 0x136 | int16    |EBEBEB| 00 00      | 0          | maximal realize firingspread time; (???number of frames???time in miliseconds???) }}
{{OBDtr| 0x136 | int16    |EBEBEB| 00 00      | 0          | maximal realize firingspread time; (???number of frames???time in miliseconds???) }}
|}
;AI rotation speed factor
:reference rotation speed is about 1 turn (360&#65533;) per second
:the setting is only effective if the AI is in control
:so it's a bit like the AI's mouse sensitivity :)
;General AI options bitset
:Maybe it affects more things but I know only these: startle animation play (yes/no), gunfire dodge (of yourse there has to be firing spread) when melee (yes/no) or when armed (yes/no), '''ability of backfire when dodging and have weapon''' (I knew it was somewhere mwhaha ^_^)  [[User:Loser|Loser]]
*0x01 disable startle anim? used by TCTF_swat_blackops, sniper_generic, Konokos, Griffins, Ninjas.
*0x02 enable dodge when melee? used by everyone except Barabas.
*0x04 enable dodge when armed? used by bomber, Black Ops, Comguys, Furies, Konokos, Griffins, Mukade.
*0x08 ? NOT used by Barabas, civilians, bomber, Black Ops, Comguys, Furies, Konokos, Griffins, Mukade.
*0x10 enable dodging backfire? used by Barabas, Comguys, Ninjas, Furies, Konokos, Griffins, TCTF Lites, female cops, hard Strikers.
:Observations
:*02 startle anim played, dodging enabled, dodging backfire disabled
:*17 startle anim NOT played, dodging enabled, dodging backfire enabled
{{Table}}
{{OBDth}}
{{OBDtr| 0x138 | float    |8C8CCC| 00 00 80 3F | 1.000000    | minimal firingspread dodge amount; IMO similar to maneouvre variable, it tells AI how long it should perform dodging/hiding in response to some time spent inside firing spread (so setting this very high means that once enemy starts dodging/hiding, he will perform it even after firing spread disappears) }}
{{OBDtr| 0x138 | float    |8C8CCC| 00 00 80 3F | 1.000000    | minimal firingspread dodge amount; IMO similar to maneouvre variable, it tells AI how long it should perform dodging/hiding in response to some time spent inside firing spread (so setting this very high means that once enemy starts dodging/hiding, he will perform it even after firing spread disappears) }}
{{OBDtr| 0x13C | float    |8C8CCC| 00 00 80 3F | 1.000000    | maximal firingspread dodge amount; IMO similar to maneouvre variable }}
{{OBDtr| 0x13C | float    |8C8CCC| 00 00 80 3F | 1.000000    | maximal firingspread dodge amount; IMO similar to maneouvre variable }}
Line 88: Line 132:
{{OBDtr| 0x170 | int16    |00C864| 00 00      | 0          | minimum delay between shots in frames }}
{{OBDtr| 0x170 | int16    |00C864| 00 00      | 0          | minimum delay between shots in frames }}
{{OBDtr| 0x172 | int16    |00C864| 00 00      | 0          | maximum delay between shots in frames }}
{{OBDtr| 0x172 | int16    |00C864| 00 00      | 0          | maximum delay between shots in frames }}
|}
;SHOOTING SKILLS
These can be reviewed with e.g. '''ai2_skill_select konoko_generic w1_tap''' and then either '''ai2_skill_show''' (prints to console) or '''ai2_skill_save''' (prints to file)
;Fields
:recoil compensation amount, between 0 and 1 (float)
:best aiming angle, in radians (float)
:shot grouping error (float)
:shot grouping decay (float)
:shooting inaccuracy multiplier (float)
:minimum delay between shots, in frames (short)
:maximum delay between shots, in frames (short)
The first weapon (weapon 0) is not in the game anymore, whatever that was. Muro's thunderbolt is handled as animation-bound particles, although it used to be handled as a weapon (same for Mukade's ball, except '''w10_sni''' is still available) ('''w12_ba2''' and '''w11_ba1''' are a bit mixed up : the beam is made of '''w12_ba2''' particles, and the grenade is a '''w11_ba1''' particle...)
See screenshot for the raw hex (example is '''konoko_generic''' from '''level3_Final''')
{{Table}}
|-BGCOLOR="#E0E0E0"|!Weapon |!Offset    |!recoil|!bestangle|!error|!decay|!inaccuracy|!delays
|-ALIGN=CENTER    |!w0_sec ||0x15C/0x173|| 0.0  || 0.000000|| 0.00|| 1.0 || 1.0      || 0 - 0
|-ALIGN=CENTER    |!w1_tap ||0x174/0x18B|| 0.0  || 0.000000|| 0.40|| 0.4 || 0.0      || 30 - 45
|-ALIGN=CENTER    |!w2_sap ||0x18C/0x193|| 0.3  || 0.013962|| 0.13|| 1.0 || 1.0      || 0 - 0
|-ALIGN=CENTER    |!w3_phr ||0x194/0x20B|| 0.3  || 0.010472|| 0.05|| 0.5 || 1.0      || 0 - 0
|-ALIGN=CENTER    |!w4_psm ||0x20C/0x213|| 0.3  || 0.015707|| 0.03|| 0.2 || 1.0      || 0 - 0
|-ALIGN=CENTER    |!w5_sbg ||0x214/0x22B|| 0.3  || 0.001745|| 0.00|| 0.1 || 1.0      || 0 - 0
|-ALIGN=CENTER    |!w6_vdg ||0x22C/0x233|| 0.3  || 0.001745|| 0.13|| 0.9 || 1.0      || 0 - 0
|-ALIGN=CENTER    |!w7_scc ||0x234/0x24B|| 0.3  || 0.001745|| 0.05|| 0.1 || 1.0      || 0 - 0
|-ALIGN=CENTER    |!w8_mbo ||0x24C/0x253|| 0.3  || 0.005236|| 0.01|| 0.5 || 1.0      || 0 - 0
|-ALIGN=CENTER    |!w9_scr ||0x254/0x26B|| 0.3  || 0.010472|| 0.04|| 0.5 || 1.0      || 0 - 0
|-ALIGN=CENTER    |!w10_sni||0x26C/0x273|| 0.0  || 0.000000|| 0.00|| 1.0 || 1.0      || 0 - 0
|-ALIGN=CENTER    |!w11_ba1||0x274/0x28B|| 0.0  || 0.000000|| 0.00|| 1.0 || 1.0      || 0 - 0
|-ALIGN=CENTER    |!w12_ba2||0x28B/0x293|| 0.0  || 0.000000|| 0.00|| 1.0 || 1.0      || 0 - 0
|}
|}


Line 190: Line 265:




{{OBD_File_Footer | type=ONCC | prev=OFGA | next=ONCP | name=Oni Character Class | family=Character}}
{|align=right
![[OBD:Oni Binary Data|ONI BINARY DATA]]
|-
![[OBD:OFGA|OFGA]] << [[OBD:File types|Other file types]] >> [[OBD:ONCP|ONCP]]
|-
!<FONT SIZE=5>ONCC : Oni Character Class</FONT>
|-
![[OBD:File types/Character|Character file]]
|-
![http://geyser.oni2.net/OUP/ONCC.txt Struct def for OUP]
|-
![http://www6.fh-eberswalde.de/user/dkriesch/onistuff/oni_oncc.htm Overview @ Oni Stuff]
|-
!TXT overviews (672 kB each) :<br>[http://www6.fh-eberswalde.de/user/dkriesch/onistuff/subfold/text/oni_oncc_dc.txt "," decimals] or [http://www6.fh-eberswalde.de/user/dkriesch/onistuff/subfold/text/oni_oncc_dp.txt "." decimals]
|}
==0x00 - 0x27==
The examples provided are '''konoko_generic.ONCC''' from '''level3_Final'''
{| BORDER=1 WIDTH=100% CELLPADDING=2 CELLSPACING=0 BGCOLOR="#000000"
|- BGCOLOR="#FFDDBB"
!Offset
!Hex
!Translation
!Meaning
|- VALIGN=TOP ALIGN=CENTER BGCOLOR="#FFEEDD"
| 0x00
| BGCOLOR="#FF0000" | 01 '''DF 03''' 00
| 991
| ALIGN=LEFT | 00991-konoko_generic.ONCC
|- VALIGN=TOP ALIGN=CENTER BGCOLOR="#FFEEDD"
| 0x04
| BGCOLOR="#FFFF00" | 01 00 00 '''06'''
| 3
| ALIGN=LEFT | level 3
|- VALIGN=TOP ALIGN=CENTER BGCOLOR="#FFEEDD"
| 0x08
| BGCOLOR="#00FF00" | CD CC 0C 3F
| 0.550000
| ALIGN=LEFT | downwards velocity? (unknown, always 0.55)
|- VALIGN=TOP ALIGN=CENTER BGCOLOR="#FFEEDD"
| 0x0C
| BGCOLOR="#00FF00" | 8F C2 75 3D
| 0.060000
| ALIGN=LEFT | downward gravity acceleration
|- VALIGN=TOP ALIGN=CENTER BGCOLOR="#FFEEDD"
| 0x10
| BGCOLOR="#00FF00" | CD CC 8C 3F
| 1.100000
| ALIGN=LEFT | starting velocity for a simple (tap) JUMP
|- VALIGN=TOP ALIGN=CENTER BGCOLOR="#FFEEDD"
| 0x14
| BGCOLOR="#00FF00" | 00 00 80 C0
| -4.000000
| ALIGN=LEFT | limit velocity for jumping and gravity flight
|- VALIGN=TOP ALIGN=CENTER BGCOLOR="#FFEEDD"
| 0x18
| BGCOLOR="#00FF00" | 8F C2 F5 3C
| 0.030000
| ALIGN=LEFT | upward acceleration (jetpack) if you hold JUMP
|- VALIGN=TOP ALIGN=CENTER BGCOLOR="#FFEEDD"
| 0x1C
| BGCOLOR="#00FFFF" | 07 00
| 7
| ALIGN=LEFT | gravity timer? (unknown, always 7)
|- VALIGN=TOP ALIGN=CENTER BGCOLOR="#FFEEDD"
| 0x1E
| BGCOLOR="#00FFFF" | 14 00
| 20
| ALIGN=LEFT | jetpack timer; time during which you can use the jetpack
|- VALIGN=TOP ALIGN=CENTER BGCOLOR="#FFEEDD"
| 0x20
| BGCOLOR="#FFC8C8" | 00 00 34 42
| 45.000000
| ALIGN=LEFT | maximal falling height without damage
|- VALIGN=TOP ALIGN=CENTER BGCOLOR="#FFEEDD"
| 0x24
| BGCOLOR="#FFC8C8" | 00 00 07 43
| 135.000000
| ALIGN=LEFT | maximal falling height with damage
|}
;Units:times are in frames
:heights are in world units
:velocities are in world units per frames
:accelerations are in world units per frames squared
;Downwards velocity: could correspond to the steady push experienced when neither jumping nor falling
:would be roughly equivalent to the starting velocity of a fall
:although the value .55 seems right, the "sinking" seems to be hardcoded now
;Gravity timer:Seems to be hardcoded now (could be the time until gravity switches on)
;Jetpack timer:You can press JUMP multiple times during the time window (quite fun!)
;Falling height: let FH1 be the height at 0x20
:let FH2 be the height at 0x24
:let BH be the base health of the character
:let FH be the actual falling height
:then, if FH > FH2, the character is killed
:if FH < FH1, the character takes no damage
:if FH1 < FH < FH2, the character takes damage (FH - FH1) / (FH2 - FH1) * BH
==0x28-0x4B==
{| BORDER=1 WIDTH=100% CELLPADDING=2 CELLSPACING=0 BGCOLOR="#000000"
|- VALIGN=TOP ALIGN=CENTER BGCOLOR="#FFEEDD"
| 0x28
| BGCOLOR="#FF5E5E" | 01 '''F8 03''' 00
| 1016
| ALIGN=LEFT | link to 01016-shadow1.[[OBD:TXMP|TXMP]]
|- VALIGN=TOP ALIGN=CENTER BGCOLOR="#FFEEDD"
| 0x2C
| BGCOLOR="#FFEBEB" | 00 00 40 41
| 12.000000
| ALIGN=LEFT | height where the shadow fades out completely
|- VALIGN=TOP ALIGN=CENTER BGCOLOR="#FFEEDD"
| 0x30
| BGCOLOR="#FFEBEB" | 00 00 00 41
| 8.000000
| ALIGN=LEFT | height where the diameter of the shadow decreases and the shadow fades out half
|- VALIGN=TOP ALIGN=CENTER BGCOLOR="#FFEEDD"
| 0x34
| BGCOLOR="#FFEBEB" | 00 00 C0 40
| 6.000000
| ALIGN=LEFT | height where the diameter of the shadow decreases
|- VALIGN=TOP ALIGN=CENTER BGCOLOR="#FFEEDD"
| 0x38
| BGCOLOR="#FFEBEB" | 00 00 90 40
| 4.500000
| ALIGN=LEFT | height where the diameter of the shadow decreases
|- VALIGN=TOP ALIGN=CENTER BGCOLOR="#FFEEDD"
| 0x3C
| BGCOLOR="#FFEBEB" | 00 00 40 40
| 3.000000
| ALIGN=LEFT | height where the diameter of the shadow decreases
|- VALIGN=TOP ALIGN=CENTER BGCOLOR="#FFEEDD"
| 0x40
| BGCOLOR="#FF9696" | 30 00
| 48
| ALIGN=LEFT | transparency of the shadow for the first part of a jump
|- VALIGN=TOP ALIGN=CENTER BGCOLOR="#FFEEDD"
| 0x42
| BGCOLOR="#FF9696" | 30 00
| 48
| ALIGN=LEFT | transparency of the shadow for the second part of a jump
|- VALIGN=TOP ALIGN=CENTER BGCOLOR="#FFEEDD"
|0x44
| BGCOLOR="#DD0000" | 00 00 C8 41
| 25.000000
| ALIGN=LEFT | unknown; always the same
|- VALIGN=TOP ALIGN=CENTER BGCOLOR="#FFEEDD"
|0x48
| BGCOLOR="#FFFFC8" | 16
| 22
| ALIGN=LEFT | unknown
|- VALIGN=TOP ALIGN=CENTER BGCOLOR="#FFEEDD"
|0x49
| BGCOLOR="#FFFFC8" | 06
| 6
| ALIGN=LEFT | unknown; always the same
|- VALIGN=TOP ALIGN=CENTER BGCOLOR="#FFEEDD"
|0x4A
| BGCOLOR="#C8FFC8" | AD DE
| dead
| ALIGN=LEFT | blank filler (always there)
|}
==0x4C-0x67==
{| BORDER=1 WIDTH=100% CELLPADDING=2 CELLSPACING=0 BGCOLOR="#000000"
|- VALIGN=TOP ALIGN=CENTER BGCOLOR="#FFEEDD"
|0x4C
| BGCOLOR="#C8FFFF" | 00 00 20 42
| 40.000000
| ALIGN=LEFT | unknown; always the same
|- VALIGN=TOP ALIGN=CENTER BGCOLOR="#FFEEDD"
|0x50
| BGCOLOR="#C8FFFF" | 00 00 96 43
| 300.000000
| ALIGN=LEFT | unknown; always the same
|- VALIGN=TOP ALIGN=CENTER BGCOLOR="#FFEEDD"
|0x54
| BGCOLOR="#C8FFFF" | 35 FA 8E 3C
| 0.017453
| ALIGN=LEFT | unknown; always the same
|- VALIGN=TOP ALIGN=CENTER BGCOLOR="#FFEEDD"
|0x58
| BGCOLOR="#C8FFFF" | DB 0F C9 3F
| 1.570796
| ALIGN=LEFT | unknown; always the same
|- VALIGN=TOP ALIGN=CENTER BGCOLOR="#FFEEDD"
|0x5C
| BGCOLOR="#C8FFFF" | 00 00 A0 40
| 5.000000
| ALIGN=LEFT | unknown; always the same
|- VALIGN=TOP ALIGN=CENTER BGCOLOR="#FFEEDD"
|0x60
| BGCOLOR="#C8FFFF" | 00 00 80 3F
| 1.000000
| ALIGN=LEFT | unknown; always the same
|- VALIGN=TOP ALIGN=CENTER BGCOLOR="#FFEEDD"
|0x64
| BGCOLOR="#FFC8FF" | 06 00
| 6
| ALIGN=LEFT | (inverse) hypo regeneration rate in frames per hitpoint
|- VALIGN=TOP ALIGN=CENTER BGCOLOR="#FFEEDD"
|0x66
| BGCOLOR="#FFC8FF" | AD DE
| dead
| ALIGN=LEFT | blank filler (always there)
|}
;Hypo regeneration
:1 hitpoint per 6 frames is 10 hitpoints per second
:(same setting for all characters)
==0x68-0x91==
{| BORDER=1 WIDTH=100% CELLPADDING=2 CELLSPACING=0 BGCOLOR="#000000"
|- VALIGN=TOP ALIGN=CENTER BGCOLOR="#FFEEDD"
| 0x68
| BGCOLOR="#FFC800" | 00 10 3D 48
| 193600.000000
| ALIGN=LEFT | unknown; always the same
|- VALIGN=TOP ALIGN=CENTER BGCOLOR="#FFEEDD"
| 0x6C
| BGCOLOR="#FFC800" | 00 10 3D 47
| 48400.000000
| ALIGN=LEFT | unknown; always the same
|- VALIGN=TOP ALIGN=CENTER BGCOLOR="#FFEEDD"
| 0x70
| BGCOLOR="#FFC800" | 00 10 3D 46
| 12100.000000
| ALIGN=LEFT | unknown; always the same
|- VALIGN=TOP ALIGN=CENTER BGCOLOR="#FFEEDD"
| 0x74
| BGCOLOR="#FFC800" | 00 00 00 00
| 0.000000
| ALIGN=LEFT | unknown; always the same
|- VALIGN=TOP ALIGN=CENTER BGCOLOR="#FFEEDD"
| 0x78
| BGCOLOR="#FFC800" | 00 00 00 00
| 0.000000
| ALIGN=LEFT | unknown; always the same
|- VALIGN=TOP ALIGN=CENTER BGCOLOR="#FFEEDD"
| 0x7C
| BGCOLOR="#C800C8" | 23 00
| 35
| ALIGN=LEFT | unknown; always the same
|- VALIGN=TOP ALIGN=CENTER BGCOLOR="#FFEEDD"
| 0x7E
| BGCOLOR="#C800C8" | 5A 00
| 90
| ALIGN=LEFT | unknown; always the same
|- VALIGN=TOP ALIGN=CENTER BGCOLOR="#FFEEDD"
| 0x80
| BGCOLOR="#C800C8" | 0F 00
| 15
| ALIGN=LEFT | unknown; always the same
|- VALIGN=TOP ALIGN=CENTER BGCOLOR="#FFEEDD"
| 0x82
| BGCOLOR="#C800C8" | 78 00
| 120
| ALIGN=LEFT | unknown; always the same
|- VALIGN=TOP ALIGN=CENTER BGCOLOR="#FFEEDD"
| 0x84
| BGCOLOR="#C800C8" | 23 00
| 35
| ALIGN=LEFT | unknown; always the same
|- VALIGN=TOP ALIGN=CENTER BGCOLOR="#FFEEDD"
| 0x86
| BGCOLOR="#C800C8" | 01 00
| 1
| ALIGN=LEFT | unknown; always the same
|- VALIGN=TOP ALIGN=CENTER BGCOLOR="#FFEEDD"
| 0x88
| BGCOLOR="#C800C8" | 02 00
| 2
| ALIGN=LEFT | unknown; always the same
|- VALIGN=TOP ALIGN=CENTER BGCOLOR="#FFEEDD"
| 0x8A
| BGCOLOR="#C800C8" | 64 00
| 100
| ALIGN=LEFT | unknown; always the same
|- VALIGN=TOP ALIGN=CENTER BGCOLOR="#FFEEDD"
| 0x8C
| BGCOLOR="#C800C8" | 0A 00
| 10
| ALIGN=LEFT | unknown; always the same
|- VALIGN=TOP ALIGN=CENTER BGCOLOR="#FFEEDD"
| 0x8E
| BGCOLOR="#C800C8" | 0C 00
| 12
| ALIGN=LEFT | unknown; always the same
|- VALIGN=TOP ALIGN=CENTER BGCOLOR="#FFEEDD"
| 0x90
| BGCOLOR="#C800C8" | 16 00
| 22
| ALIGN=LEFT | unknown; always the same
|}
==0x92-0x127==
{| BORDER=1 WIDTH=100% CELLPADDING=2 CELLSPACING=0 BGCOLOR="#000000"
|- VALIGN=TOP ALIGN=CENTER BGCOLOR="#FFEEDD"
| 0x92
| BGCOLOR="#C87C64" | 00
| 0
| ALIGN=LEFT | runtime only: if 1 sound pointers have been set
|- VALIGN=TOP ALIGN=CENTER BGCOLOR="#FFEEDD"
| 0x93
| BGCOLOR="#C87C64" | DE
| dead
| ALIGN=LEFT | blank filler (always there)
|- VALIGN=TOP ALIGN=CENTER BGCOLOR="#FFEEDD"
| 0x94
| BGCOLOR="#B0C3D4" | 00 00 00 3F
| 0.500000
| ALIGN=LEFT | unknown; always the same (sound volume?)
|- VALIGN=TOP ALIGN=CENTER BGCOLOR="#FFEEDD"
| 0x98
| BGCOLOR="#E7CEA5" COLSPAN=2 | <TT>konoko_hurt_light</TT><BR>+ null char + blank filler
| ALIGN=LEFT | hurt light sound<BR>(08121-konoko_hurt_light.imp.[[OBD:OSBD|OSBD]] of level 0)
|- VALIGN=TOP ALIGN=CENTER BGCOLOR="#FFEEDD"
| 0xB8
| BGCOLOR="#E7CEA5" COLSPAN=2 | <TT>konoko_hurt_medium</TT><BR>+ null char + blank filler
| ALIGN=LEFT | hurt medium sound<BR>(08123-konoko_hurt_medium.imp.[[OBD:OSBD|OSBD]] of level 0)
|- VALIGN=TOP ALIGN=CENTER BGCOLOR="#FFEEDD"
| 0xD8
| BGCOLOR="#E7CEA5" COLSPAN=2 | <TT>konoko_hurt_heavy</TT><BR>+ null char + blank filler
| ALIGN=LEFT | hurt heavy sound<BR>(08119-konoko_hurt_heavy.imp.[[OBD:OSBD|OSBD]] of level 0)
|- VALIGN=TOP ALIGN=CENTER BGCOLOR="#FFEEDD"
| 0xF8
| BGCOLOR="#E7CEA5" COLSPAN=2 | <TT>konoko_death</TT><BR>+ null char + blank filler
| ALIGN=LEFT | death sound<BR>(08115-konoko_death.imp.[[OBD:OSBD|OSBD]] of level 0)
|- VALIGN=TOP ALIGN=CENTER BGCOLOR="#FFEEDD"
| 0x118
| BGCOLOR="#FFDDDD" | 00 00 00 00
| 0
| ALIGN=LEFT | runtime only: pointer to hurt light sound
|- VALIGN=TOP ALIGN=CENTER BGCOLOR="#FFEEDD"
| 0x11C
| BGCOLOR="#FFDDDD" | 00 00 00 00
| 0
| ALIGN=LEFT | runtime only: pointer to hurt medium sound
|- VALIGN=TOP ALIGN=CENTER BGCOLOR="#FFEEDD"
| 0x120
| BGCOLOR="#FFDDDD" | 00 00 00 00
| 0
| ALIGN=LEFT | runtime only: pointer to hurt heavy sound
|- VALIGN=TOP ALIGN=CENTER BGCOLOR="#FFEEDD"
| 0x124
| BGCOLOR="#FFDDDD" | 00 00 00 00
| 0
| ALIGN=LEFT | runtime only: pointer to death sound
|}
==0x128-0x137==
{| BORDER=1 WIDTH=100% CELLPADDING=2 CELLSPACING=0 BGCOLOR="#000000"
|- VALIGN=TOP ALIGN=CENTER BGCOLOR="#FFEEDD"
| 0x128
| BGCOLOR="#FFDDDD" | 17 00 00 00
| 23
| ALIGN=LEFT | general AI option bitset; see below
|- VALIGN=TOP ALIGN=CENTER BGCOLOR="#FFEEDD"
| 0x12C
| BGCOLOR="#64AAAA" | 00 00 80 3F
| 1.000000
| ALIGN=LEFT | AI rotation speed factor
|- VALIGN=TOP ALIGN=CENTER BGCOLOR="#FFEEDD"
| 0x130
| BGCOLOR="#EBEBEB" | 06 00
| 6
| ALIGN=LEFT | minimal fallen time; (???number of frames???time in miliseconds???) for which AI remains in *fallen* position when it is knockdowned
|- VALIGN=TOP ALIGN=CENTER BGCOLOR="#FFEEDD"
| 0x132
| BGCOLOR="#EBEBEB" | 18 00
| 24
| ALIGN=LEFT | maximal fallen time; (???number of frames???time in miliseconds???) for which AI remains in *fallen* position when it is knockdowned
|- VALIGN=TOP ALIGN=CENTER BGCOLOR="#FFEEDD"
| 0x134
| BGCOLOR="#EBEBEB" | 0F 00
| 15
| ALIGN=LEFT | minimal realize firingspread time; (???number of frames???time in miliseconds???) after which AI realizes that it is in the firing spread (and it starts dodging)
|- VALIGN=TOP ALIGN=CENTER BGCOLOR="#FFEEDD"
| 0x136
| BGCOLOR="#EBEBEB" | 00 00
| 0
| ALIGN=LEFT | maximal realize firingspread time; (???number of frames???time in miliseconds???)
|}
;AI rotation speed factor
:reference rotation speed is about 1 turn (360&#65533;) per second
:the setting is only effective if the AI is in control
:so it's a bit like the AI's mouse sensitivity :)
;General AI options bitset
:Maybe it affects more things but I know only these: startle animation play (yes/no), gunfire dodge (of yourse there has to be firing spread) when melee (yes/no) or when armed (yes/no), '''ability of backfire when dodging and have weapon''' (I knew it was somewhere mwhaha ^_^)  [[User:Loser|Loser]]
*0x01 disable startle anim? used by TCTF_swat_blackops, sniper_generic, Konokos, Griffins, Ninjas.
*0x02 enable dodge when melee? used by everyone except Barabas.
*0x04 enable dodge when armed? used by bomber, Black Ops, Comguys, Furies, Konokos, Griffins, Mukade.
*0x08 ? NOT used by Barabas, civilians, bomber, Black Ops, Comguys, Furies, Konokos, Griffins, Mukade.
*0x10 enable dodging backfire? used by Barabas, Comguys, Ninjas, Furies, Konokos, Griffins, TCTF Lites, female cops, hard Strikers.
:Observations
:*02 startle anim played, dodging enabled, dodging backfire disabled
:*17 startle anim NOT played, dodging enabled, dodging backfire enabled
==0x138 - 0x15B==
{| BORDER=1 WIDTH=100% CELLPADDING=2 CELLSPACING=0 BGCOLOR="#000000"
|- VALIGN=TOP ALIGN=CENTER BGCOLOR="#FFEEDD"
| 0x138
| BGCOLOR="#8C8CCC" | 00 00 80 3F
| 1.000000
| ALIGN=LEFT | minimal firingspread dodge amount; IMO similar to maneouvre variable, it tells AI how long it should perform dodging/hiding in response to some time spent inside firing spread (so setting this very high means that once enemy starts dodging/hiding, he will perform it even after firing spread disappears)
|- VALIGN=TOP ALIGN=CENTER BGCOLOR="#FFEEDD"
| 0x13C
| BGCOLOR="#8C8CCC" | 00 00 80 3F
| 1.000000
| ALIGN=LEFT | maximal firingspread dodge amount; IMO similar to maneouvre variable
|- VALIGN=TOP ALIGN=CENTER BGCOLOR="#FFEEDD"
| 0x140
| BGCOLOR="#8C8CCC" | 00 00 00 3F
| 0.500000
| ALIGN=LEFT | unknown; always the same
|- VALIGN=TOP ALIGN=CENTER BGCOLOR="#FFEEDD"
| 0x144
| BGCOLOR="#8C8CCC" | 00 00 C8 41
| 25.000000
| ALIGN=LEFT | unknown; always the same
|- VALIGN=TOP ALIGN=CENTER BGCOLOR="#FFEEDD"
| 0x148
| BGCOLOR="#8C8CCC" | 00 00 80 3F
| 1.000000
| ALIGN=LEFT | unknown;
|- VALIGN=TOP ALIGN=CENTER BGCOLOR="#FFEEDD"
| 0x14C
| BGCOLOR="#FF00C8" | 00 00 00 00
| 0
| ALIGN=LEFT | unknown
|- VALIGN=TOP ALIGN=CENTER BGCOLOR="#FFEEDD"
| 0x150
| BGCOLOR="#FF00C8" | 05 00 00 00
| 5
| ALIGN=LEFT | unknown
|- VALIGN=TOP ALIGN=CENTER BGCOLOR="#FFEEDD"
| 0x154
| BGCOLOR="#FF00C8" | 0F 00 00 00
| 15
| ALIGN=LEFT | unknown
|- VALIGN=TOP ALIGN=CENTER BGCOLOR="#FFEEDD"
| 0x158
| BGCOLOR="#FF00C8" | 3C 00 00 00
| 60
| ALIGN=LEFT | unknown
|}
==0x15C - 0x293==
;SHOOTING SKILLS
These can be reviewed with e.g. '''ai2_skill_select konoko_generic w1_tap''' and then either '''ai2_skill_show''' (prints to console) or '''ai2_skill_save''' (prints to file)
;Fields
:recoil compensation amount, between 0 and 1 (float)
:best aiming angle, in radians (float)
:shot grouping error (float)
:shot grouping decay (float)
:shooting inaccuracy multiplier (float)
:minimum delay between shots, in frames (short)
:maximum delay between shots, in frames (short)
The first weapon (weapon 0) is not in the game anymore, whatever that was. Muro's thunderbolt is handled as animation-bound particles, although it used to be handled as a weapon (same for Mukade's ball, except '''w10_sni''' is still available) ('''w12_ba2''' and '''w11_ba1''' are a bit mixed up : the beam is made of '''w12_ba2''' particles, and the grenade is a '''w11_ba1''' particle...)
See screenshot for the raw hex (example is '''konoko_generic''' from '''level3_Final''')
{| BORDER=1 CELLPADDING=2 CELLSPACING=0
|-BGCOLOR="#FFDDBB"
!Weapon
!Offset
!recoil
!bestangle
!error
!decay
!inaccuracy
!delays
|-ALIGN=CENTER BGCOLOR="#FFEEDD"
!w0_sec
|0x15C/0x173
| 0.0
| 0.000000
| 0.00
| 1.0
| 1.0
| 0 - 0
|-ALIGN=CENTER BGCOLOR="#FFEEDD"
!w1_tap
|0x174/0x18B
| 0.0
| 0.000000
| 0.40
| 0.4
| 0.0
| 30 - 45
|-ALIGN=CENTER BGCOLOR="#FFEEDD"
!w2_sap
|0x18C/0x193
| 0.3
| 0.013962
| 0.13
| 1.0
| 1.0
| 0 - 0
|-ALIGN=CENTER BGCOLOR="#FFEEDD"
!w3_phr
|0x194/0x20B
| 0.3
| 0.010472
| 0.05
| 0.5
| 1.0
| 0 - 0
|-ALIGN=CENTER BGCOLOR="#FFEEDD"
!w4_psm
|0x20C/0x213
| 0.3
| 0.015707
| 0.03
| 0.2
| 1.0
| 0 - 0
|-ALIGN=CENTER BGCOLOR="#FFEEDD"
!w5_sbg
|0x214/0x22B
| 0.3
| 0.001745
| 0.00
| 0.1
| 1.0
| 0 - 0
|-ALIGN=CENTER BGCOLOR="#FFEEDD"
!w6_vdg
|0x22C/0x233
| 0.3
| 0.001745
| 0.13
| 0.9
| 1.0
| 0 - 0
|-ALIGN=CENTER BGCOLOR="#FFEEDD"
!w7_scc
|0x234/0x24B
| 0.3
| 0.001745
| 0.05
| 0.1
| 1.0
| 0 - 0
|-ALIGN=CENTER BGCOLOR="#FFEEDD"
!w8_mbo
|0x24C/0x253
| 0.3
| 0.005236
| 0.01
| 0.5
| 1.0
| 0 - 0
|-ALIGN=CENTER BGCOLOR="#FFEEDD"
!w9_scr
|0x254/0x26B
| 0.3
| 0.010472
| 0.04
| 0.5
| 1.0
| 0 - 0
|-ALIGN=CENTER BGCOLOR="#FFEEDD"
!w10_sni
|0x26C/0x273
| 0.0
| 0.000000
| 0.00
| 1.00
| 1.00
| 0 - 0
|-ALIGN=CENTER BGCOLOR="#FFEEDD"
!w11_ba1
|0x274/0x28B
| 0.0
| 0.000000
| 0.00
| 1.0
| 1.0
| 0 - 0
|-ALIGN=CENTER BGCOLOR="#FFEEDD"
!w12_ba2
|0x28B/0x293
| 0.0
| 0.000000
| 0.00
| 1.0
| 1.0
| 0 - 0
|}
==0x294 - 0x2AF==
{| BORDER=1 WIDTH=100% CELLPADDING=2 CELLSPACING=0 BGCOLOR="#000000"
|- VALIGN=TOP ALIGN=CENTER BGCOLOR="#FFEEDD"
| 0x294
| BGCOLOR="#C80040" | 5A 00 00 00
| 90
| ALIGN=LEFT | unknown; always the same
|- VALIGN=TOP ALIGN=CENTER BGCOLOR="#FFEEDD"
| 0x298
| BGCOLOR="#C80040" | F0 00 00 00
| 240
| ALIGN=LEFT | unknown; always the same
|- VALIGN=TOP ALIGN=CENTER BGCOLOR="#FFEEDD"
| 0x29C
| BGCOLOR="#C80040" | B4 00 00 00
| 180
| ALIGN=LEFT | unknown; always the same
|- VALIGN=TOP ALIGN=CENTER BGCOLOR="#FFEEDD"
| 0x2A0
| BGCOLOR="#C80040" | 28 00 00 00
| 40
| ALIGN=LEFT | unknown; always the same
|- VALIGN=TOP ALIGN=CENTER BGCOLOR="#FFEEDD"
| 0x2A4
| BGCOLOR="#C80040" | 37 00 00 00
| 55
| ALIGN=LEFT | go for gun chance (55%); determines possibility that AI will run to some weapon and take it; can be checked in devmode by *debug_gun_behavior* command
|- VALIGN=TOP ALIGN=CENTER BGCOLOR="#FFEEDD"
| 0x2A8
| BGCOLOR="#C80040" | 3C 00 00 00
| 60
| ALIGN=LEFT | running pickup chance (60%); this value is possibility of AI running weapon pickup (acrobatics, slides) instead of normal "stop->pickup";this is calculated AFTER engine decides that AI should run for weapon
|- VALIGN=TOP ALIGN=CENTER BGCOLOR="#FFEEDD"
| 0x2AC
| BGCOLOR="#FFCD96" | 00 00
| 0
| ALIGN=LEFT | CMBT profile ID; for example it is *0D* for Mutant Muro
|- VALIGN=TOP ALIGN=CENTER BGCOLOR="#FFEEDD"
| 0x2AE
| BGCOLOR="#FFCD96" | 16 00
| 22
| ALIGN=LEFT | MELE profile ID;
|}
==0x2B0-0x3FB==
{| BORDER=1 WIDTH=100% CELLPADDING=2 CELLSPACING=0 BGCOLOR="#000000"
|- VALIGN=TOP ALIGN=CENTER BGCOLOR="#FFEEDD"
| 0x2B0
| BGCOLOR="#C8C864" | 64
| 100
| ALIGN=LEFT | "taunt" sound slot is used
|- VALIGN=TOP ALIGN=CENTER BGCOLOR="#FFEEDD"
| 0x2B1
| BGCOLOR="#C8C864" | 00
| 0
| ALIGN=LEFT | "alert" sound slot is empty
|- VALIGN=TOP ALIGN=CENTER BGCOLOR="#FFEEDD"
| 0x2B2
| BGCOLOR="#C8C864" | 00
| 0
| ALIGN=LEFT | "startle" sound slot is empty
|- VALIGN=TOP ALIGN=CENTER BGCOLOR="#FFEEDD"
| 0x2B3
| BGCOLOR="#C8C864" | 00
| 0
| ALIGN=LEFT | "checkbody" sound slot is empty
|- VALIGN=TOP ALIGN=CENTER BGCOLOR="#FFEEDD"
| 0x2B4
| BGCOLOR="#C8C864" | 00
| 0
| ALIGN=LEFT | "pursue" sound slot is empty
|- VALIGN=TOP ALIGN=CENTER BGCOLOR="#FFEEDD"
| 0x2B5
| BGCOLOR="#C8C864" | 00
| 0
| ALIGN=LEFT | "cower" sound slot is empty
|- VALIGN=TOP ALIGN=CENTER BGCOLOR="#FFEEDD"
| 0x2B6
| BGCOLOR="#C8C864" | 64
| 100
| ALIGN=LEFT | "superpunch" sound slot is used
|- VALIGN=TOP ALIGN=CENTER BGCOLOR="#FFEEDD"
| 0x2B7
| BGCOLOR="#C8C864" | 64
| 100
| ALIGN=LEFT | "superkick" sound slot is used
|- VALIGN=TOP ALIGN=CENTER BGCOLOR="#FFEEDD"
| 0x2B8
| BGCOLOR="#C8C864" | 00
| 0
| ALIGN=LEFT | "super3" sound slot is empty
|- VALIGN=TOP ALIGN=CENTER BGCOLOR="#FFEEDD"
| 0x2B9
| BGCOLOR="#C8C864" | 00
| 0
| ALIGN=LEFT | "super4" sound slot is empty (always the same)
|- VALIGN=TOP ALIGN=CENTER BGCOLOR="#FFEEDD"
| 0x2BA
| BGCOLOR="#0096C8" | 00 00
| 0
| ALIGN=LEFT | probably a blank filler (always the same)
|- VALIGN=TOP ALIGN=CENTER BGCOLOR="#FFEEDD"
| 0x2BC
| BGCOLOR="#FF80C0" COLSPAN=2 | <TT>c17_99_28konoko</TT>
| ALIGN=LEFT | "taunt" sound (04760-c17_99_28konoko.aif.[[OBD:SNDD|SNDD]] of level 0)
|- VALIGN=TOP ALIGN=CENTER BGCOLOR="#FFEEDD"
| 0x2DC
| BGCOLOR="#FF80C0" COLSPAN=2 | not used
| ALIGN=LEFT | "alert" sound
|- VALIGN=TOP ALIGN=CENTER BGCOLOR="#FFEEDD"
| 0x2FC
| BGCOLOR="#FF80C0" COLSPAN=2 | not used
| ALIGN=LEFT | "startle" sound
|- VALIGN=TOP ALIGN=CENTER BGCOLOR="#FFEEDD"
| 0x31C
| BGCOLOR="#FF80C0" COLSPAN=2 | not used
| ALIGN=LEFT | "checkbody" sound
|- VALIGN=TOP ALIGN=CENTER BGCOLOR="#FFEEDD"
| 0x33C
| BGCOLOR="#FF80C0" COLSPAN=2 | not used
| ALIGN=LEFT | "pursue" sound
|- VALIGN=TOP ALIGN=CENTER BGCOLOR="#FFEEDD"
| 0x35C
| BGCOLOR="#FF80C0" COLSPAN=2 | not used
| ALIGN=LEFT | "cower" sound
|- VALIGN=TOP ALIGN=CENTER BGCOLOR="#FFEEDD"
| 0x37C
| BGCOLOR="#FF80C0" COLSPAN=2 | <TT>c18_79_14konoko</TT>
| ALIGN=LEFT | "superpunch" sound (04766-c18_79_14konoko.aif.[[OBD:SNDD|SNDD]] of level 0)
|- VALIGN=TOP ALIGN=CENTER BGCOLOR="#FFEEDD"
| 0x39C
| BGCOLOR="#FF80C0" COLSPAN=2 | <TT>c18_79_15konoko</TT>
| ALIGN=LEFT | "superkick" sound (04767-c18_79_15konoko.aif.[[OBD:SNDD|SNDD]] of level 0)
|- VALIGN=TOP ALIGN=CENTER BGCOLOR="#FFEEDD"
| 0x3BC
| BGCOLOR="#FF80C0" COLSPAN=2 | not used
| ALIGN=LEFT | "super3" sound (only the superninja uses this slot)
|- VALIGN=TOP ALIGN=CENTER BGCOLOR="#FFEEDD"
| 0x3DC
| BGCOLOR="#FF80C0" COLSPAN=2 | not used
| ALIGN=LEFT | "super4" sound (never used in Oni)
|}
==0x3FC==
{| BORDER=1 WIDTH=100% CELLPADDING=2 CELLSPACING=0 BGCOLOR="#000000"
|- VALIGN=TOP ALIGN=CENTER BGCOLOR="#FFEEDD"
| BGCOLOR="#D0C0AF" | 00 80 ED 43
| 475.000000
| ALIGN=LEFT | central vision field range; you can make it visible with the script command <FONT COLOR="#0000FF">ai2_showvision = 1</FONT> (light blue one)
|- VALIGN=TOP ALIGN=CENTER BGCOLOR="#FFEEDD"
| BGCOLOR="#D0C0AF" | 00 00 16 43
| 150.000000
| ALIGN=LEFT | peripheral vision field range; you can make it visible with the script command <FONT COLOR="#0000FF">ai2_showvision = 1</FONT> (dark blue one)
|- VALIGN=TOP ALIGN=CENTER BGCOLOR="#FFEEDD"
| BGCOLOR="#D0C0AF" | 7D 1B 44 3F
| 0.766044
| ALIGN=LEFT | horizontal angle between two couples of "eye-rays" (one couple is left, one if right eye). Works for both vision fields.
|- VALIGN=TOP ALIGN=CENTER BGCOLOR="#FFEEDD"
| BGCOLOR="#D0C0AF" | F3 B3 51 3F
| 0.819152
| ALIGN=LEFT | vision field curve for central vision field; vision field looks like something between cone and cylinder. This value affect central angle of that. The higher this value is, the more is this field wrapped in order to achieve shaper angle. When set lower, vision field unwraps totally and it looks like radar antenna, attached to a character by two couples of straight strings(one couple left, one right).
|- VALIGN=TOP ALIGN=CENTER BGCOLOR="#FFEEDD"
| BGCOLOR="#D0C0AF" | E8 D5 12 3F
| 0.573576
| ALIGN=LEFT | vertical angle between eye-rays in one couple; this is for central vision field
|- VALIGN=TOP ALIGN=CENTER BGCOLOR="#FFEEDD"
| BGCOLOR="#D0C0AF" | D5 D0 31 3E
| 0.173648
| ALIGN=LEFT | vision field curve for peripheral vision field
|- VALIGN=TOP ALIGN=CENTER BGCOLOR="#FFEEDD"
| BGCOLOR="#D0C0AF" | 6B 61 D8 BE
| 0.422618
| ALIGN=LEFT | vertical angle between eye-rays in one couple; this is for peripheral vision field
|- VALIGN=TOP ALIGN=CENTER BGCOLOR="#FFEEDD"
| BGCOLOR="#EEDDFF" | B4 00 00 00
| 180
| ALIGN=LEFT | hostilethreat definite timer; how long will AI know exactly where its enemy is even if it can't see him with central vision-field; AI attacks him; can be checked by *ai2_report_verbose* command (this command causes random crashes, beware)
|- VALIGN=TOP ALIGN=CENTER BGCOLOR="#FFEEDD"
| BGCOLOR="#EEDDFF" | 84 03 00 00
| 900
| ALIGN=LEFT | hostilethreat strong timer; how long will AI remain in strong feeling that there is the enemy, but will not attack him but investigate; can be checked by *ai2_report_verbose* command
|- VALIGN=TOP ALIGN=CENTER BGCOLOR="#FFEEDD"
| BGCOLOR="#EEDDFF" | 10 0E 00 00
| 3600
| ALIGN=LEFT | hostilethreat weak timer; how long will AI remain in weak feeling of an enemy, just looking around aimlessly (Glance pursue mode); can be checked by *ai2_report_verbose* command
|- VALIGN=TOP ALIGN=CENTER BGCOLOR="#FFEEDD"
| BGCOLOR="#EEDDFF" | 10 0E 00 00
| 3600
| ALIGN=LEFT | friendlythreat definite timer; how long will AI know exactly where its ally (Syndicate saw Syndicate for example) is even if it can't see him with central vision-field; AI simply knows there is someone else nearby; maybe has further possibilities; can be checked by *ai2_report_verbose* command (this command causes random crashes, beware)
|- VALIGN=TOP ALIGN=CENTER BGCOLOR="#FFEEDD"
| BGCOLOR="#EEDDFF" | 50 46 00 00
| 18000
| ALIGN=LEFT | friendlythreat strong timer; how long will AI remain in strong feeling that there is someone else, but will not try to find him or look at him; can be checked by *ai2_report_verbose* command
|- VALIGN=TOP ALIGN=CENTER BGCOLOR="#FFEEDD"
| BGCOLOR="#EEDDFF" | A0 8C 00 00
| 36000
| ALIGN=LEFT | friendlythreat weak timer; how long will AI remain in weak feeling of ally, doing its usual job; can be checked by *ai2_report_verbose* command
|- VALIGN=TOP ALIGN=CENTER BGCOLOR="#FFEEDD"
| BGCOLOR="#C5FF8A" | 00 00 80 3F
| 1.000000
| ALIGN=LEFT | earshot radius; defines size of the sound-collision sphere around AI
|- VALIGN=TOP ALIGN=CENTER BGCOLOR="#FFEEDD"
| BGCOLOR="#C0C0C0" | 01 '''FB 03''' 00
| 1019
| ALIGN=LEFT | link to 01019-konoko.[[OBD:ONCV|ONCV]] : defines variants and upgrades
|- VALIGN=TOP ALIGN=CENTER BGCOLOR="#FFEEDD"
| BGCOLOR="#C0C0C0" | 01 '''F9 03''' 00
| 1017
| ALIGN=LEFT | link to 01017-.[[OBD:ONCP|ONCP]] : lists the particles available for this character (trails, flashes, etc)
|- VALIGN=TOP ALIGN=CENTER BGCOLOR="#FFEEDD"
| BGCOLOR="#C0C0C0" | 01 '''FA 03''' 00
| 1018
| ALIGN=LEFT | link to 01018-.[[OBD:ONIA|ONIA]] : lists the special impact sounds (used for special combat moves)
|- VALIGN=TOP ALIGN=CENTER BGCOLOR="#FFEEDD"
| BGCOLOR="#FF0080" | 00 00 00 00
| 0
| ALIGN=LEFT | unknown; always the same
|- VALIGN=TOP ALIGN=CENTER BGCOLOR="#FFEEDD"
| BGCOLOR="#FFFFA6" COLSPAN=2 | <TT>Light</TT>
| ALIGN=LEFT | modifier; either hardcoded or defunct (only visible in '''pm_mod_type.WMM_''', level 0)<BR>edit: WMDD says: Effects found for Impact x on Material y with Modifier: pm_mod_types
|- VALIGN=TOP ALIGN=CENTER BGCOLOR="#FFEEDD"
| BGCOLOR="#71FFB8" COLSPAN=2 | <TT>Footstep_Walk</TT>
| ALIGN=LEFT | walk impact (04124-Footstep_Walk.[[OBD:Impt|Impt]] of level 0); always the same;<BR>without the impacts you can't hear the steps of a character
|- VALIGN=TOP ALIGN=CENTER BGCOLOR="#FFEEDD"
| BGCOLOR="#71FFB8" | FF FF
| 65535
| ALIGN=LEFT | unknown; always the same
|- VALIGN=TOP ALIGN=CENTER BGCOLOR="#FFEEDD"
| BGCOLOR="#71FFB8" COLSPAN=2 | <TT>Footstep_RunMain</TT>
| ALIGN=LEFT | run impact (04129-Footstep_RunMain.[[OBD:Impt|Impt]] of level 0); always the same
|- VALIGN=TOP ALIGN=CENTER BGCOLOR="#FFEEDD"
| BGCOLOR="#71FFB8" | FF FF
| 65535
| ALIGN=LEFT | unknown; always the same
|- VALIGN=TOP ALIGN=CENTER BGCOLOR="#FFEEDD"
| BGCOLOR="#71FFB8" COLSPAN=2 | <TT>Footstep_Crouch</TT>
| ALIGN=LEFT | crouch impact (04123-Footstep_Crouch.[[OBD:Impt|Impt]] of level 0); always the same
|- VALIGN=TOP ALIGN=CENTER BGCOLOR="#FFEEDD"
| BGCOLOR="#71FFB8" | FF FF
| 65535
| ALIGN=LEFT | unknown; always the same
|- VALIGN=TOP ALIGN=CENTER BGCOLOR="#FFEEDD"
| BGCOLOR="#71FFB8" COLSPAN=2 | <TT>Fall_Slide</TT>
| ALIGN=LEFT | fall slide impact (04122-Fall_Slide.[[OBD:Impt|Impt]] of level 0); always the same
|- VALIGN=TOP ALIGN=CENTER BGCOLOR="#FFEEDD"
| BGCOLOR="#71FFB8" | FF FF
| 65535
| ALIGN=LEFT | unknown; always the same
|- VALIGN=TOP ALIGN=CENTER BGCOLOR="#FFEEDD"
| BGCOLOR="#71FFB8" COLSPAN=2 | <TT>Fall_Land</TT>
| ALIGN=LEFT | fall land impact (04119-Fall_Land.[[OBD:Impt|Impt]] of level 0); always the same
|- VALIGN=TOP ALIGN=CENTER BGCOLOR="#FFEEDD"
| BGCOLOR="#71FFB8" | FF FF
| 65535
| ALIGN=LEFT | unknown; always the same
|- VALIGN=TOP ALIGN=CENTER BGCOLOR="#FFEEDD"
| BGCOLOR="#71FFB8" COLSPAN=2 | <TT>Fall_LandHard</TT>
| ALIGN=LEFT | land hard impact (04120-Fall_LandHard.[[OBD:Impt|Impt]] of level 0); always the same
|- VALIGN=TOP ALIGN=CENTER BGCOLOR="#FFEEDD"
| BGCOLOR="#71FFB8" | FF FF
| 65535
| ALIGN=LEFT | unknown; always the same
|- VALIGN=TOP ALIGN=CENTER BGCOLOR="#FFEEDD"
| BGCOLOR="#71FFB8" COLSPAN=2 | <TT>Fall_Knockdown</TT>
| ALIGN=LEFT | fall knockdown impact (04118-Fall_Knockdown.[[OBD:Impt|Impt]] of level 0); always the same
|- VALIGN=TOP ALIGN=CENTER BGCOLOR="#FFEEDD"
| BGCOLOR="#71FFB8" | FF FF
| 65535
| ALIGN=LEFT | unknown; always the same
|- VALIGN=TOP ALIGN=CENTER BGCOLOR="#FFEEDD"
| BGCOLOR="#71FFB8" COLSPAN=2 | <TT>Fall_Knockdown</TT>
| ALIGN=LEFT | fall knockdown impact (04118-Fall_Knockdown.[[OBD:Impt|Impt]] of level 0); always the same
|- VALIGN=TOP ALIGN=CENTER BGCOLOR="#FFEEDD"
| BGCOLOR="#71FFB8" | FF FF
| 65535
| ALIGN=LEFT | unknown; always the same
|- VALIGN=TOP ALIGN=CENTER BGCOLOR="#FFEEDD"
| BGCOLOR="#71FFB8" COLSPAN=2 | <TT>Fall_Knockdown</TT>
| ALIGN=LEFT | fall knockdown impact (04118-Fall_Knockdown.[[OBD:Impt|Impt]] of level 0); always the same
|- VALIGN=TOP ALIGN=CENTER BGCOLOR="#FFEEDD"
| BGCOLOR="#71FFB8" | FF FF
| 65535
| ALIGN=LEFT | unknown; always the same
|- VALIGN=TOP ALIGN=CENTER BGCOLOR="#FFEEDD"
| BGCOLOR="#71FFB8" COLSPAN=2 | <TT>Footstep_Turn</TT>
| ALIGN=LEFT | turn impact (04135-Footstep_Turn.[[OBD:Impt|Impt]] of level 0); always the same
|- VALIGN=TOP ALIGN=CENTER BGCOLOR="#FFEEDD"
| BGCOLOR="#71FFB8" | FF FF
| 65535
| ALIGN=LEFT | unknown; always the same
|- VALIGN=TOP ALIGN=CENTER BGCOLOR="#FFEEDD"
| BGCOLOR="#71FFB8" COLSPAN=2 | <TT>Footstep_RunStart</TT>
| ALIGN=LEFT | run start impact (04131-Footstep_RunStart.[[OBD:Impt|Impt]] of level 0); always the same
|- VALIGN=TOP ALIGN=CENTER BGCOLOR="#FFEEDD"
| BGCOLOR="#71FFB8" | FF FF
| 65535
| ALIGN=LEFT | unknown; always the same
|- VALIGN=TOP ALIGN=CENTER BGCOLOR="#FFEEDD"
| BGCOLOR="#71FFB8" COLSPAN=2 | <TT>Footstep_SingleStep</TT>
| ALIGN=LEFT | single step impact (04134-Footstep_SingleStep.[[OBD:Impt|Impt]] of level 0); always the same
|- VALIGN=TOP ALIGN=CENTER BGCOLOR="#FFEEDD"
| BGCOLOR="#71FFB8" | FF FF
| 65535
| ALIGN=LEFT | unknown; always the same
|- VALIGN=TOP ALIGN=CENTER BGCOLOR="#FFEEDD"
| BGCOLOR="#71FFB8" COLSPAN=2 | <TT>Footstep_RunStop</TT>
| ALIGN=LEFT | run stop impact (04133-Footstep_RunStop.[[OBD:Impt|Impt]] of level 0); always the same
|- VALIGN=TOP ALIGN=CENTER BGCOLOR="#FFEEDD"
| BGCOLOR="#71FFB8" | FF FF
| 65535
| ALIGN=LEFT | unknown; always the same
|- VALIGN=TOP ALIGN=CENTER BGCOLOR="#FFEEDD"
| BGCOLOR="#71FFB8" COLSPAN=2 | <TT>Footstep_WalkStop</TT>
| ALIGN=LEFT | walk stop impact (04137-Footstep_WalkStop.[[OBD:Impt|Impt]] of level 0); always the same
|- VALIGN=TOP ALIGN=CENTER BGCOLOR="#FFEEDD"
| BGCOLOR="#71FFB8" | FF FF
| 65535
| ALIGN=LEFT | unknown; always the same
|- VALIGN=TOP ALIGN=CENTER BGCOLOR="#FFEEDD"
| BGCOLOR="#71FFB8" COLSPAN=2 | <TT>Footstep_RunSprint</TT>
| ALIGN=LEFT | run fast impact (04130-Footstep_RunSprint.[[OBD:Impt|Impt]] of level 0); always the same
|- VALIGN=TOP ALIGN=CENTER BGCOLOR="#FFEEDD"
| BGCOLOR="#71FFB8" | FF FF
| 65535
| ALIGN=LEFT | unknown; always the same
|- VALIGN=TOP ALIGN=CENTER BGCOLOR="#FFEEDD"
| BGCOLOR="#0000BF" | 00 00
| 0
| ALIGN=LEFT | unknown; always the same
|- VALIGN=TOP ALIGN=CENTER BGCOLOR="#FFEEDD"
| BGCOLOR="#804040" COLSPAN=2 | not used
| ALIGN=LEFT | special death particles; only the mad bomber use it
|- VALIGN=TOP ALIGN=CENTER BGCOLOR="#FFEEDD"
| BGCOLOR="#FF22FF" | 00 00 00 00
| 0
| ALIGN=LEFT | unknown; always the same
|- VALIGN=TOP ALIGN=CENTER BGCOLOR="#FFEEDD"
| BGCOLOR="#FF22FF" | 00 00 00 00
| 0
| ALIGN=LEFT | unknown; always the same
|- VALIGN=TOP ALIGN=CENTER BGCOLOR="#FFEEDD"
| BGCOLOR="#808080" | 01 '''E6 03''' 00
| 998
| ALIGN=LEFT | link to 00998-konoko_body_high.[[OBD:TRBS|TRBS]]
|- VALIGN=TOP ALIGN=CENTER BGCOLOR="#FFEEDD"
| BGCOLOR="#808080" | 01 '''E7 03''' 00
| 999
| ALIGN=LEFT | link to 00999-konoko002_high_texture_generic.[[OBD:TRMA|TRMA]]
|- VALIGN=TOP ALIGN=CENTER BGCOLOR="#FFEEDD"
| BGCOLOR="#808080" | 01 '''E8 03''' 00
| 1000
| ALIGN=LEFT | link to 01000-.[[OBD:CBPM|CBPM]]
|- VALIGN=TOP ALIGN=CENTER BGCOLOR="#FFEEDD"
| BGCOLOR="#808080" | 01 '''EC 03''' 00
| 1004
| ALIGN=LEFT | link to 01004-.[[OBD:CBPI|CBPI]]
|- VALIGN=TOP ALIGN=CENTER BGCOLOR="#FFEEDD"
| BGCOLOR="#FFAA82" | 2C 01 00 00
| 300
| ALIGN=LEFT | fight mode timer in 1/60 seconds
|- VALIGN=TOP ALIGN=CENTER BGCOLOR="#FFEEDD"
| BGCOLOR="#FFAA82" | 30 75 00 00
| 30000
| ALIGN=LEFT | 1st idle animation timer in 1/60 seconds (Thanks to Loser for this info.)
|- VALIGN=TOP ALIGN=CENTER BGCOLOR="#FFEEDD"
| BGCOLOR="#FFAA82" | 30 75 00 00
| 30000
| ALIGN=LEFT | 2nd idle animation timer in 1/60 seconds (Thanks to Loser for this info.)
|- VALIGN=TOP ALIGN=CENTER BGCOLOR="#FFEEDD"
| BGCOLOR="#FFAA82" | C8 00 00 00
| 200
| ALIGN=LEFT | basic health of the character model; extra health informations for every unique character you'll find in the [[OBD:BINA/Character|Character.BINA]] file
|- VALIGN=TOP ALIGN=CENTER BGCOLOR="#FFEEDD"
| BGCOLOR="#FFAA82" | 48 00 00 00
| 72
| ALIGN=LEFT | unknown; always the same
|- VALIGN=TOP ALIGN=CENTER BGCOLOR="#FFEEDD"
| BGCOLOR="#00D900" | 00 00 80 3F
| 1.000000
| ALIGN=LEFT | minimal body size factor (Thanks to geyser for this info.)
|- VALIGN=TOP ALIGN=CENTER BGCOLOR="#FFEEDD"
| BGCOLOR="#00D900" | 00 00 80 3F
| 1.000000
| ALIGN=LEFT | maximal body size factor (Thanks to geyser for this info.)
|- VALIGN=TOP ALIGN=CENTER BGCOLOR="#FFEEDD"
| BGCOLOR="#00D900" | 00 00 00 00
| 0.000000
| ALIGN=LEFT | unknown; always the same
|- VALIGN=TOP ALIGN=CENTER BGCOLOR="#FFEEDD"
| BGCOLOR="#00D900" | 00 00 00 00
| 0.000000
| ALIGN=LEFT | unknown; always the same
|- VALIGN=TOP ALIGN=CENTER BGCOLOR="#FFEEDD"
| BGCOLOR="#00D900" | 00 00 00 3F
| 0.500000
| ALIGN=LEFT | unknown
|- VALIGN=TOP ALIGN=CENTER BGCOLOR="#FFEEDD"
| BGCOLOR="#00D900" | 00 00 80 3E
| 0.250000
| ALIGN=LEFT | unknown
|- VALIGN=TOP ALIGN=CENTER BGCOLOR="#FFEEDD"
| BGCOLOR="#00D900" | 00 00 00 00
| 0.000000
| ALIGN=LEFT | unknown; always the same
|- VALIGN=TOP ALIGN=CENTER BGCOLOR="#FFEEDD"
| BGCOLOR="#00D900" | 00 00 00 00
| 0.000000
| ALIGN=LEFT | unknown; always the same
|- VALIGN=TOP ALIGN=CENTER BGCOLOR="#FFEEDD"
| BGCOLOR="#00D900" | 00 00 00 00
| 0.000000
| ALIGN=LEFT | unknown; always the same
|- VALIGN=TOP ALIGN=CENTER BGCOLOR="#FFEEDD"
| BGCOLOR="#00D900" | 00 00 00 3F
| 0.500000
| ALIGN=LEFT | unknown
|- VALIGN=TOP ALIGN=CENTER BGCOLOR="#FFEEDD"
| BGCOLOR="#CACAFF" | 01 ''F6 03'' 00
| 1014
| ALIGN=LEFT | link to 01014-konoko_animations.[[OBD:TRAC|TRAC]]
|- VALIGN=TOP ALIGN=CENTER BGCOLOR="#FFEEDD"
| BGCOLOR="#CACAFF" | 01 ''F7 03'' 00
| 1015
| ALIGN=LEFT | link to 01015-konoko_screens.[[OBD:TRSC|TRSC]]
|- VALIGN=TOP ALIGN=CENTER BGCOLOR="#FFEEDD"
| BGCOLOR="#F0F000" | 1E 00
| 30
| ALIGN=LEFT | unknown; always the same
|- VALIGN=TOP ALIGN=CENTER BGCOLOR="#FFEEDD"
| BGCOLOR="#F0F000" | 00 00
| 0
| ALIGN=LEFT | time between death and deletion, in frames (about 3 seconds for mad bomber)
|- VALIGN=TOP ALIGN=CENTER BGCOLOR="#FFEEDD"
| BGCOLOR="#E7FFCE" | 00
| 0
| ALIGN=LEFT | unknown
|- VALIGN=TOP ALIGN=CENTER BGCOLOR="#FFEEDD"
| BGCOLOR="#E7FFCE" | 01
| 1
| ALIGN=LEFT | unknown
|- VALIGN=TOP ALIGN=CENTER BGCOLOR="#FFEEDD"
| BGCOLOR="#E7FFCE" | 00
| 0
| ALIGN=LEFT | unknown
|- VALIGN=TOP ALIGN=CENTER BGCOLOR="#FFEEDD"
| BGCOLOR="#E7FFCE" | 00
| 0
| ALIGN=LEFT | unknown
|- VALIGN=TOP ALIGN=CENTER BGCOLOR="#FFEEDD"
| BGCOLOR="#4F7291" | AD DE AD DE
| dead
| ALIGN=LEFT | not used; always the same
|}
;Last 4 bytes before the blank filler
;Last 4 bytes before the blank filler
:Something to do with left-hand/right-hand aiming (must be consistent with TRSC link)
:Something to do with left-hand/right-hand aiming (must be consistent with TRSC link)




----
{{OBD_File_Footer | type=ONCC | prev=OFGA | next=ONCP | name=Oni Character Class | family=Character}}
 
==Overview table==
Maybe split it up and insert the pieces after every section's header.
 
http://www6.fh-eberswalde.de/user/dkriesch/onistuff/images/oncc_a.gif
 
 
http://www6.fh-eberswalde.de/user/dkriesch/onistuff/images/oncc_m.gif
 
 
http://www6.fh-eberswalde.de/user/dkriesch/onistuff/images/oncc_e.gif
 
 
----
----
{|align=center
![[OBD:Oni Binary Data|ONI BINARY DATA]]
|-
![[OBD:OFGA|OFGA]] << [[OBD:File types|Other file types]] >> [[OBD:ONCP|ONCP]]
|-
!ONCC : Oni Character Class
|}
1,051

edits