OBD:BINA/OBJC/MELE: Difference between revisions
Jump to navigation
Jump to search
(→Technique part: One mystery is solved, another one appears) |
m (OBJC means "Objects", not "Object Collection") |
||
Line 7: | Line 7: | ||
{{Table}} | {{Table}} | ||
{{OBDth}} | {{OBDth}} | ||
{{OBDtr| 0x00 | char[4] |FF0000| 43 4A 42 4F | OBJC | | {{OBDtr| 0x00 | char[4] |FF0000| 43 4A 42 4F | OBJC | objects }} | ||
{{OBDtr| 0x04 | int32 |FFFF00| 84 75 02 00 | 161156 | size of the complete melee part from this | {{OBDtr| 0x04 | int32 |FFFF00| 84 75 02 00 | 161156 | size of the complete melee part from this position in bytes }} | ||
{{OBDtr| 0x08 | int32 |00FF00| 27 00 00 00 | 39 | object | {{OBDtr| 0x08 | int32 |00FF00| 27 00 00 00 | 39 | object list version }} | ||
{{OBDtr| 0x0C | int32 |00FFFF| 28 15 00 00 | 5416 | size of the following element in bytes }} | {{OBDtr| 0x0C | int32 |00FFFF| 28 15 00 00 | 5416 | size of the following element in bytes }} | ||
{{OBDtrBK}} | {{OBDtrBK}} | ||
Line 163: | Line 163: | ||
If you know something else, feel free to complete it. The question about this "trademark" moves is: is it specified in the ONCC or somewhere else ??? | If you know something else, feel free to complete it. The question about this "trademark" moves is: is it specified in the ONCC or somewhere else ??? | ||
====All profiles in order of appearance in the | ====All profiles in order of appearance in the list==== | ||
{{Table}} | {{Table}} | ||
|- ALIGN=CENTER BGCOLOR="#E9E9E9" | |- ALIGN=CENTER BGCOLOR="#E9E9E9" |
Revision as of 15:12, 19 July 2014
|
General settings
Offset | Type | Raw Hex | Value | Description |
---|---|---|---|---|
0x00 | char[4] | 43 4A 42 4F | OBJC | objects |
0x04 | int32 | 84 75 02 00 | 161156 | size of the complete melee part from this position in bytes |
0x08 | int32 | 27 00 00 00 | 39 | object list version |
0x0C | int32 | 28 15 00 00 | 5416 | size of the following element in bytes |
First element (black outline) | ||||
0x00 | char[4] | 45 4C 45 4D | MELE | melee |
0x04 | int32 | 76 02 00 00 | 630 | old file ID |
0x08 | int32 | 00 00 00 00 | 0 | unknown |
0x0C | float | B3 F3 2A 43 | 170.951950 | x-position of unknown |
0x10 | float | C7 0D 71 C1 | -15.065864 | y-position (height) of unknown |
0x14 | float | CF 29 38 42 | 46.040829 | z-position of unknown |
0x18 | float | 00 00 00 00 | 0.000000 | rotation on the x-axis in degrees |
0x1C | float | 00 00 00 00 | 0.000000 | rotation on the y-axis in degrees |
0x20 | float | 00 00 00 00 | 0.000000 | rotation on the z-axis in degrees |
Profile part
Offset | Type | Raw Hex | Value | Description |
---|---|---|---|---|
0x24 | int32 | 09 00 00 00 | 9 | melee ID |
0x28 | char[64] | NINJA_Easy | space for notes | |
0x68 | char[64] | ninja_easy_1 | character class name (reference to a ninja_easy_1.ONCC file) | |
0xA8 | int32 | 64 00 00 00 | 100 | notice in percent; how often AI registeres incoming attack; without noticing it, AI will not block or dodge |
0xAC | int32 | 64 00 00 00 | 100 | Dodge base in percent; determines how often AI tries to dodge incoming attacks |
0xB0 | int32 | 1E 00 00 00 | 30 | Dodge extra in percent; adds extra chance to dodge incoming attack |
0xB4 | int32 | 05 00 00 00 | 5 | Dodge damage amount; amount of damage dealt to character (or incoming in one strong attack) for Dodge extra activation |
0xB8 | int32 | 0F 00 00 00 | 15 | 1 vs 1 blocking skill in percent; specifies how often AI blocks incoming attack when blocking one enemy |
0xBC | int32 | 14 00 00 00 | 20 | Group blocking skill in percent; looks like amount of possibility that AI will try to block attacks incoming from more enemies |
0xC0 | float | 00 00 00 40 | 2.000000 | not blocked; modifier of an AI2 chance for performing such a technique aganist its target that target is not able to block at the moment of the technique start ( striker's kick forward aganist crouching enemy or finishing off staggered enemy or simply attacking running enemy ) |
0xC4 | float | 33 33 33 3F | 0.700000 | must change stance; modifier for a chance to perform technique which will force enemy to change his stance if he wants to defend the technique( stand/crouch ) |
0xC8 | float | 00 00 C0 3F | 1.500000 | blocked but unblockable; modifier for a chance to perform technique which contains unblockable attack even if enemy is in correct defensive stance to "guard" the technique |
0xCC | float | 9A 99 99 3F | 1.200000 | blocked but has stagger; modifier for a chance to perform technique which will get blocked but target will be block-staggered |
0xD0 | float | 33 33 33 3F | 0.700000 | blocked but has blockstun; modifier for a chance to perform technique which will get blocked, but target will be block-stunned ( will be forced to stay in block pose for more than one cycle of idle block animation ) |
0xD4 | float | 00 00 00 3F | 0.500000 | blocked; modifier for a chance to perform a technique even tough this technique aims for target which is in correct stance and ready to block this technique at the moment of the technique's start |
0xD8 | float | 00 00 00 40 | 2.000000 | throw danger; still unknown but it has something to do with probability of being thrown; when set very high, AI2 with this MELE is almost unthrowable |
0xDC | int16 | 3C 00 | 60 | unknown; always the same |
0xDE | int16 | 5A 00 | 90 | unknown |
0xE0 | int32 | 1A 00 00 00 | 26 | number of attack techniques |
0xE4 | int32 | 06 00 00 00 | 6 | number of evade/dodge techniques |
0xE8 | int32 | 07 00 00 00 | 7 | number of maneuver/position techniques (sum of all techniques = amount of elements of the technique part |
0xEC | int32 | 6D 00 00 00 | 109 | number of moves (amount of elements of the move part) |
- Info about whether technique will be considered as "low", "high", "unblockable" or whether it causes block-stagger or block-stun is obtained from technique's move's TRAM's attack part (see OBD:TRAM/raw0x14).
- Techniques
- They are listed right after the profile's header. Their number is specified in the header, and their size is 88 bytes each.
- Moves
- They are listed right after the techniques. Their number is specified in the header, and their size is 16 bytes each.
Technique part
Offset | Type | Raw Hex | Value | Description |
---|---|---|---|---|
First element (grey outline) | ||||
0x00 | char[64] | Spinning Suplex | space for notes (technique's name) | |
0x40 | bitset32 | 00 00 00 00 | 0 | flags; see below |
0x44 | int32 | 50 00 00 00 | 80 | weight; techniques with higher weight are prefered by engine, if more techniques that can be used at one moment; have same weight, engine calls them in order as they are listed in MELE |
0x48 | int32 | 0A 00 00 00 | 10 | unknown |
0x4C | int32 | 58 02 00 00 | 600 | repeat delay in frames; after technique is used, it is ignored by engine for this time interval |
0x50 | int32 | 02 00 00 00 | 2 | number of moves used by this technique |
0x54 | int32 | 57 00 00 00 | 87 | position of the first move for this technique in the move part |
- Technique flags
- 00 - nothing;
- 01 - Interruptible; execution of moves in this technique is interrupted (technique is taken by engine as finished) when enemy is outside range, which specified by position move (which has to be first in the series of moves; it is the third parameter of the position moves ) or by maneuver move (again the third parameter).
- 02 - GenerousDir; here comes neccessary background for explaining its behavior:
- Melee attack or maneuver techniques are enlisted for potential use only if their position move allows it, that means for example an attack technique with CloseLeft position move will not be listed for potential use if the enemy is in front of the A.I. character. However, techniques with GenerousDir flag are listed for potential use not only when position move criteria is met, but also when the enemy is in one of the two neighbouring positions. So melee technique with CloseLeft position move and Generous Dir flag will be enlisted for potential use if the enemy is on the left side of the A.I., and also if the enemy is in the back of the A.I. or in front of the A.I. character. When the melee technique is picked for use, A.I. character positions itself to meet position move criteria (it turns its left side towards enemy in order to use a techique with CloseLeft position move).
- Meaning of this flag explains Tanker's behavior. His sidestep run kicks have this flag set, that's why Tanker can turn his left/right side towards the enemy and perform sidestep run kick attack.
- ??? 03 - Fearless ???; never used in melee profiles. Question is whether this bit really exists or if the name is just a development relic from Blue Box Beta dev files.
- For everybody's convenience, I've grouped the techniques with the 0x40 field set to 1 HERE.
- geyser 00:00, 20 November 2006 (CET)
- 0x40 set to 2
- This is true for the following techniques :
- Furies :
- Body Surf Front
- Running Kick
- Running Punch
- Ninjas :
- Lightning Stomp
- Strikers :
- Jump Kick
- Running_Kick
- Running_Punch
- Tankers :
- Circle Left
- Circle Right
- Run/Dive-Left
- Run/Dive-Right
- Run/Drop Kick
- Run/Jump Kick
- Run/Jumpkick Back
- Run/Jumpkick Left
- Run/Jumpkick Right
- Slide
- Furies :
- For an exhaustive listing (complete with actual classes), see HERE.
- That has to be either "Fearless" or "Generous Dir" (whatever that means).
- "Somebody better investigate soon." ^^
- geyser 00:00, 20 November 2006 (CET)
Move part
Offset | Type | Raw Hex | Value | Description |
---|---|---|---|---|
First element (grey outline) | ||||
0x00 | int32hb | 04 00 00 20 | 4, 32 | move id, move type
the move type comes as a high byte; the following types are possible (values in dec):
|
0x04 | float | CD CC 4C 3F | 0.800000 | move parameter 1 (in this case, "min" : something like the minimum duration of the "Pause") |
0x08 | float | 00 00 00 00 | 0 | move parameter 2 (in this case, none : "Pause" only takes one parameter) |
0x0C | float | 00 00 00 00 | 0 | move parameter 3 (in this case, none : "Pause" only takes one parameter) |
- Move types
- 00 - Attack, struct array starts at 0x140A88 in the English EXE
- 16 - Position, struct array starts at 0x1435B0 in the English EXE
- 32 - Maneuver, struct array starts at 0x143AB0 in the English EXE
- 48 - Evade, struct array starts at 0x143E30 in the English EXE
- 64 - Throw, struct array starts at 0x144370 in the English EXE
Notes
- There are 45 melee profiles.
ONCC lookup
- It seems that typing different ONCC model names here allows the melee profile to use some "trademark" moves:
- all ninjas (easy, med, hard) and super_ninja_1 ONCCs allow p_p_k_k_k_k combo
- edit: ninja easy doesn't use the p_p_k_k_k_k combo. Where did you get this from? Ssg 12:55, 24 December 2008 (CET)
- konoko_generic and all red (fury) classes allow p_p_k combo, kick/kick back/run kick behind/run kick throws, k_k_kfw combo
- all tanker classes allow kick/kick back/run kick behind/run kick throws
- muro and mutant_muro classes allow p_p_p_p combo.
If you know something else, feel free to complete it. The question about this "trademark" moves is: is it specified in the ONCC or somewhere else ???
All profiles in order of appearance in the list
1 | 2 | 3 | 4 | 5 |
---|---|---|---|---|
NINJA_Easy | Security_Guard | TCTF_Lite | STRIKER_Easy | COMGUY |
THUG_Air | STRIKER_Medium | STRIKER_Hard | TANKER_Easy2 | BLACKOPS_Lite |
BLACKOPS_Swat | TCTF_Swat | ELITE_Easy | MADBOMBER | NINJABOT_Train1 |
RED_Easy | SNIPER | RED_Medium | KONOKO | BARABAS Rsrch D |
BARABAS TCTF D | TANKER_Medium2 | TANKER_Hard2 | MURO_Dream | MURO_Final |
MURO_Mutant | NINJA_Super | NINJA_Medium | NINJA_Hard | RED_Hard |
ELITE_Medium | ELITE_Hard | GRIFFIN | STRIKER_Mini | COP Male |
COP Female | THUG_Mfg | THUG_Neuro | THUG_Pow | THUG_Wh |
NINJABOT_Train2 | NINJABOT_PowPlant | TANKER_Easy | TANKER_Medium | TANKER_Hard |
41 | 42 | 43 | 44 | 45 |
All profiles sorted by ID
The IDs start at 0 and increase by 1 for every next profile with the exception of the last 3, the IDs of which are 55, 56, 57 (instead of 42, 43, 44)
0 | 1 | 2 | 3 | 4 |
---|---|---|---|---|
Security_Guard | TCTF_Lite | STRIKER_Easy | THUG_Air | COMGUY |
STRIKER_Medium | STRIKER_Hard | TANKER_Easy | RED_Easy | NINJA_Easy |
TANKER_Medium | BLACKOPS_Lite | BLACKOPS_Swat | TCTF_Swat | ELITE_Easy |
TANKER_Hard | RED_Medium | MADBOMBER | NINJABOT_Train1 | SNIPER |
ELITE_Medium | ELITE_Hard | KONOKO | BARABAS Rsrch D | RED_Hard |
BARABAS TCTF D | NINJA_Medium | NINJA_Hard | NINJA_Super | MURO_Dream |
MURO_Final | MURO_Mutant | GRIFFIN | STRIKER_Mini | COP Male |
COP Female | THUG_Mfg | THUG_Neuro | THUG_Pow | THUG_Wh |
NINJABOT_Train2 | NINJABOT_PowPlant | TANKER_Easy2 | TANKER_Medium2 | TANKER_Hard2 |
40 | 41 | 55 | 56 | 57 |
Bluebox screenshot
ONI BINARY DATA |
---|
AKVA << Other file types >> CBPI |
BINA : Binary data |
TMBD << Other BINA >> ONIE |
OBJC : Objects |
FURN << Other OBJC >> NEUT |
MELE : Melee profile |
[[OBD:File types/{{{family}}}|{{{family}}} file]] |