Avatar item metadata for the O2Jam NX client. See File Format Documentation for shared conventions.
Note
This layout is not exclusive to v3.82. The following clients use it unchanged:
| Client | Distribution |
|---|---|
| v2.33 | O2Jam X2 |
| v3.82 | O2Jam NX |
| v5.89 | O2JamO2 Beta |
| v5.89 | O2JamO2 Final |
Two related layouts exist. v3.10 is identical except Quantity is a single byte, and v8.02 inserts two special-item flags before the name.
| Offset | Type | Description |
|---|---|---|
| 0 | int32 |
Number of items |
| 4 | — | Item entries, repeated once per item |
Item entries are variable-length. They must be read sequentially; there is no offset table.
| Offset | Type | Description |
|---|---|---|
| +0 | int32 |
Item ID |
| +4 | byte |
Item Type (see Item Type) |
| +5 | byte |
Planet Origin (see Planet) |
| +6 | int16 |
Bitflag: Gender and New label (see Bitflag) |
| +8 | int16 |
Quantity* |
| +10 | byte |
Attributive Effect (see Attributive) |
| +11 | byte |
Attributive Category (see Attributive) |
| +12 | byte |
Payment Method (see Payment Method) |
| +13 | int32 |
Price in GEM |
| +17 | int32 |
Price in ePoint / O2Cash / Gash / MCash |
| +21 | byte |
Item Part (see Item Part) |
| +22 | int32 |
Name Length (in bytes) |
| +26 | char[] |
Item Name |
| +26+n | int32 |
Description Length (in bytes) |
| +30+n | char[] |
Item Description |
The name and description are followed by exactly 42 item sprites.
* Quantity applies to Attributive Items.
Name and description use the distribution's string encoding; standard ASCII for e-Games clients, EUC-KR for NOWCOM.
Each sprite reference is variable-length:
| Offset | Type | Description |
|---|---|---|
| +0 | byte |
Status: 0 = unused, 1 = present |
| +1 | int32 |
Filename Length (in bytes) — only when status is 1 |
| +5 | char[] |
OJS/OJI Filename — only when status is 1 |
Important
When the status is 0 (unused), the reference ends there and the next one begins immediately. The length and filename fields are skipped, not zero-filled.
A reference may carry status 1 (present) with a zero-length filename.
There are 42 sprite references per item. The order determines which body part and instrument animation the sprite will be used for:
| Index | Description |
|---|---|
| 0 | Preview / Thumbnail (Big) |
| 1 | Preview / Thumbnail (Small) |
| 2 | Body – No Instrument (Male) |
| 3 | Body – No Instrument (Female) |
| 4 | Body – Bass (Male) |
| 5 | Body – Bass (Female) |
| 6 | Body – Guitar (Male) |
| 7 | Body – Guitar (Female) |
| 8 | Body – Keyboard (Male) |
| 9 | Body – Keyboard (Female) |
| 10 | Body – Drum (Male) |
| 11 | Body – Drum (Female) |
| 12 | Left Arm – No Instrument (Male) |
| 13 | Left Arm – No Instrument (Female) |
| 14 | Left Arm – Bass (Male) |
| 15 | Left Arm – Bass (Female) |
| 16 | Left Arm – Guitar (Male) |
| 17 | Left Arm – Guitar (Female) |
| 18 | Left Arm – Keyboard (Male) |
| 19 | Left Arm – Keyboard (Female) |
| 20 | Left Arm – Drum (Male) |
| 21 | Left Arm – Drum (Female) |
| 22 | Right Arm – No Instrument (Male) |
| 23 | Right Arm – No Instrument (Female) |
| 24 | Right Arm – Bass (Male) |
| 25 | Right Arm – Bass (Female) |
| 26 | Right Arm – Guitar (Male) |
| 27 | Right Arm – Guitar (Female) |
| 28 | Right Arm – Keyboard (Male) |
| 29 | Right Arm – Keyboard (Female) |
| 30 | Right Arm – Drum (Male) |
| 31 | Right Arm – Drum (Female) |
| 32 | Back – No Instrument (Male) |
| 33 | Back – No Instrument (Female) |
| 34 | Back – Bass (Male) |
| 35 | Back – Bass (Female) |
| 36 | Back – Guitar (Male) |
| 37 | Back – Guitar (Female) |
| 38 | Back – Keyboard (Male) |
| 39 | Back – Keyboard (Female) |
| 40 | Back – Drum (Male) |
| 41 | Back – Drum (Female) |
| Value | Description |
|---|---|
| 0 | Body |
| 1 | Left Arm |
| 2 | Right Arm |
| 3 | Left Hand |
| 4 | Right Hand |
| 5 | Face |
| 6 | Hair |
| 7 | Glasses |
| 8 | Earrings |
| 9 | Necklace |
| 10 | Armlet |
| 11 | Accessories |
| 12 | Glove |
| 13 | Pants |
| 14 | Shoes |
| 15 | Instrument – Piano |
| 16 | Instrument – Bass |
| 17 | Instrument – Drum |
| 18 | Instrument – Guitar |
| 19 | Jacket |
| 20 | Wings |
| 21 | Musical Accessories |
| 22 | Pet |
| 23 | Hair Accessories |
| 24 | Attributive Item |
| Value | Description |
|---|---|
| 0 | Any |
| 1 | O2Planet |
| 2 | Aqua |
| 3 | Eliten |
| 4 | Graffiti |
| 5 | Bikini |
| 6 | Crush |
| 7 | Wonderland |
| 8 | Meganut |
| 9 | Crystal |
| 10 | Draconic |
| 11 | Event |
The int16 at +6 packs two fields:
- Gender:
(value >> 7) & 0xF - New label:
value >> 11
Gender values
| Value | Description |
|---|---|
| 0 | Female |
| 1 | Male |
| 2 | Unisex |
Describe Attributive Items (skills) and are meaningful only when Item Type is 24.
Attributive Effect
| Value | Description |
|---|---|
| 0 | None |
| 1 | Power |
| 2 | Mirror |
| 3 | Random |
| 4 | Panic |
| 5 | Hidden |
| 6 | Sudden |
| 7 | Dark |
Attributive Category
| Value | Description |
|---|---|
| 0 | None |
| 1 | Power |
| 2 | Arrangement |
| 3 | Visibility |
| Value | Description |
|---|---|
| 0 | Not for Sale |
| 1 | GEM |
| 2 | ePoint / O2Cash / Gash / MCash |
Determines which avatar slot the item occupies.
| Value | Description |
|---|---|
| 0 | Instrument |
| 1 | Hair |
| 2 | Accessories |
| 3 | Glove |
| 4 | Necklace |
| 5 | Jacket |
| 6 | Pants |
| 7 | Glasses |
| 8 | Earrings |
| 9 | Armlet |
| 10 | Shoes |
| 11 | Face |
| 12 | Wings |
| 13 | Musical Accessories |
| 14 | Pet |
| 15 | Hair Accessories |
A value of 255 means the part is derived from the Item Type instead: Body, Left Arm, Right Arm, Left Hand, Right Hand and Attributive Item map to their matching part, and anything else falls back to Body.