XEV (File Format)
XEV (Xeen Event) is a filetype from Mario Kart Arcade GP DX. It defines multiple definitions of track elements.
File Format
The file byte order is always little endian.
File Header
The file starts with a header that is 0x10 bytes long.
| Offset | Type | Description |
|---|---|---|
| 0x00 | Char[4] | File magic. Always .XEV in ASCII. |
| 0x04 | Int32 | Number of events. |
| 0x08 | Byte[8] | Unknown. |
| 0x10 | End of header, start of Event Data | |
Event Data
Each event has its own format and size. They are identified by their string magic, which is always null-terminated.
ADAS SW
- Code reference: clEventDashPanelSwitchAir
TBD
ADSS SW
- Code reference: clEventDashStarPanelSwitchAir
This event defines aerial star dash activator parameters, which consists of a box pivoted to its center. It is always 0x34 bytes long.
| Offset | Type | Description |
|---|---|---|
| 0x00 | Char[7] | Event magic. Always ADSS SW in ASCII. |
| 0x07 | Byte | Padding used to delimit the null-terminated magic string. |
| 0x08 | Float[3] | XYZ position. |
| 0x14 | Float[3] | XYZ rotation in radians. |
| 0x20 | Flaot[3] | XYZ scale. |
| 0x2C | Byte[8] | Unknown. Always 0? |
ATJDGRD
- Code reference: clEventAutoJumpDriftStartGrd
TBD
BIGJUMP
- Code reference: clEventBigJump
TBD
COIN
- Code reference: clEventCoin
This event defines coin parameters. It is always 0x34 bytes long.
| Offset | Type | Description |
|---|---|---|
| 0x00 | Char[4] | Event magic. Always COIN in ASCII. |
| 0x07 | Byte[4] | Padding used to delimit the null-terminated magic string. |
| 0x08 | Float[3] | XYZ position. |
| 0x14 | Float[3] | XYZ rotation in radians. |
| 0x20 | Flaot[3] | XYZ scale. Only affects the hitbox. |
| 0x2C | Byte[8] | Unknown. Always 0? |
DAIn
- Code reference: clEventDriftAreaIn
This event defines drift area activator parameters, which consists of a box pivoted to its center. It is always 0x34 bytes long.
| Offset | Type | Description |
|---|---|---|
| 0x00 | Char[4] | Event magic. Always DAIn in ASCII. |
| 0x07 | Byte[4] | Padding used to delimit the null-terminated magic string. |
| 0x08 | Float[3] | XYZ position. |
| 0x14 | Float[3] | XYZ rotation in radians. |
| 0x20 | Flaot[3] | XYZ scale. |
| 0x2C | Byte[8] | Unknown. Always 0? |
DAOut
- Code reference: clEventDriftAreaOut
This event defines drift area deactivator parameters, which consists of a box pivoted to its center. It is always 0x34 bytes long.
| Offset | Type | Description |
|---|---|---|
| 0x00 | Char[5] | Event magic. Always DAOut in ASCII. |
| 0x07 | Byte[3] | Padding used to delimit the null-terminated magic string. |
| 0x08 | Float[3] | XYZ position. |
| 0x14 | Float[3] | XYZ rotation in radians. |
| 0x20 | Flaot[3] | XYZ scale. |
| 0x2C | Byte[8] | Unknown. Always 0? |
DASH AR
- Code reference: clEventDashArea
This event defines dash panel area parameters, which consists of a box pivoted to its center. It is always 0x34 bytes long.
| Offset | Type | Description |
|---|---|---|
| 0x00 | Char[7] | Event magic. Always DASH AR in ASCII. |
| 0x07 | Byte | Padding used to delimit the null-terminated magic string. |
| 0x08 | Float[3] | XYZ position. |
| 0x14 | Float[3] | XYZ rotation in radians. |
| 0x20 | Flaot[3] | XYZ scale. |
| 0x2C | Byte[8] | Unknown. Always 0? |
DASH SW
- Code reference: clEventDashPanelSwitch
TBD
DRUMHD
- Code reference: clEventDrumHead
TBD
DSS SW
- Code reference: clEventDashStarPanelSwitch
TBD
DUMPGRD
- Code reference: clEventDumpingGrd
TBD
H_LIMIT
- Code reference: clEventHeightLimit
TBD
ItemBox
- Code reference: clEventItembox
This event defines item box parameters. It is always 0x34 bytes long.
| Offset | Type | Description |
|---|---|---|
| 0x00 | Char[7] | Event magic. Always ItemBox in ASCII. |
| 0x07 | Byte | Padding used to delimit the null-terminated magic string. |
| 0x08 | Float[3] | XYZ position. |
| 0x14 | Float[3] | XYZ rotation in radians. |
| 0x20 | Flaot[3] | XYZ scale. Only affects the hitbox. |
| 0x2C | Byte[8] | Unknown. Always 0? |
KITE SW
- Code reference: clEventKiteSwitch
This event defines glider ramp activator parameters, which consists of a box pivoted to its center. It is always 0x34 bytes long.
| Offset | Type | Description |
|---|---|---|
| 0x00 | Char[7] | Event magic. Always KITE SW in ASCII. |
| 0x07 | Byte | Padding used to delimit the null-terminated magic string. |
| 0x08 | Float[3] | XYZ position. |
| 0x14 | Float[3] | XYZ rotation in radians. |
| 0x20 | Flaot[3] | XYZ scale. |
| 0x2C | Byte[8] | Unknown. Always 0? |
LAP
- Code reference: clEventLap
This event defines the finish line's parameters, which consists of a box pivoted to its center. It is always 0x34 bytes long.
| Offset | Type | Description |
|---|---|---|
| 0x00 | Char[3] | Event magic. Always LAP in ASCII. |
| 0x07 | Byte[5] | Padding used to delimit the null-terminated magic string. |
| 0x08 | Float[3] | XYZ position. |
| 0x14 | Float[3] | XYZ rotation in radians. |
| 0x20 | Flaot[3] | XYZ scale. |
| 0x2C | Byte[8] | Unknown. Always 0? |
LAYER
- Code reference: clEventLayerSwitch
TBD
LENS
- Code reference: clEventLensFlare
TBD
PHYS
- Code reference: clEventPhysObj
This event defines the track's specific physic attributes (?). It likely has something to do with the EventPhysObjPreset.bin file. Its position, rotation and scale seems to be irrelevant. It is always 0x60 bytes long.
| Offset | Type | Description |
|---|---|---|
| 0x00 | Char[6] | Event magic. Always SWITCH in ASCII. |
| 0x07 | Byte[2] | Padding used to delimit the null-terminated magic string. |
| 0x08 | Float[3] | XYZ position. |
| 0x14 | Float[3] | XYZ rotation in radians. |
| 0x20 | Flaot[3] | XYZ scale. |
| 0x2C | Byte[4] | Unknown. Always 0? |
| 0x30 | Int32 | Unknown. |
| 0x34 | Byte[4] | Unknown. |
| 0x38 | Byte[4] | Unknown. |
| 0x3C | Float | Unknown. |
| 0x40 | Byte[4] | Unknown. |
| 0x44 | Float | Unknown. |
| 0x48 | Byte[4] | Unknown. |
| 0x4C | Int32 | Unknown. |
| 0x50 | Int32 | Unknown. |
| 0x54 | Int32 | Unknown. |
| 0x58 | Int32 | Unknown. |
| 0x5C | Int32 | Unknown. |
PRESS
- Code reference: clEventPressure
TBD
SCR_FLR
- Code reference: clEventScrollFloor
TBD
ScrnFxA
- Code reference: clEventScreenVfxArea
This event defines screen effect area parameters, which consists of a box pivoted to its center. It is always 0x44 bytes long.
| Offset | Type | Description |
|---|---|---|
| 0x00 | Char[7] | Event magic. Always ScrnFxA in ASCII. |
| 0x07 | Byte | Padding used to delimit the null-terminated magic string. |
| 0x08 | Float[3] | XYZ position. |
| 0x14 | Float[3] | XYZ rotation in radians. |
| 0x20 | Flaot[3] | XYZ scale. |
| 0x2C | Byte[4] | Unknown. Always 0? |
| 0x30 | Int32 | Unknown. |
| 0x34 | Int32 | Unknown. |
| 0x38 | Int32 | Unknown. |
| 0x3C | Int32 | Unknown. |
| 0x40 | Int32 | Unknown. |
SIGN
- Code reference: clEventSign
This event defines turn sign area parameters, which consists of a box pivoted to its center. It is always 0x38 bytes long.
| Offset | Type | Description |
|---|---|---|
| 0x00 | Char[4] | Event magic. Always SIGN in ASCII. |
| 0x07 | Byte[4] | Padding used to delimit the null-terminated magic string. |
| 0x08 | Float[3] | XYZ position. |
| 0x14 | Float[3] | XYZ rotation in radians. |
| 0x20 | Flaot[3] | XYZ scale. |
| 0x2C | Byte[4] | Unknown. Always 0? |
| 0x30 | Int32 | Unknown. |
| 0x34 | Int32 | Unknown. Sign type? |
SPAOBJ
- Code reference: clEventActiveGrd
TBD
SPOBJ
- Code reference: clEventGrd
TBD
STEERFX
- Code reference: clEventSteerEffect
This event defines steer effect activator (?) parameters, which consists of a box pivoted to its center. It likely has something to do with the CarSteerEffectParam.bin file. It is always 0x3C bytes long.
| Offset | Type | Description |
|---|---|---|
| 0x00 | Char[7] | Event magic. Always STEERFX in ASCII. |
| 0x07 | Byte | Padding used to delimit the null-terminated magic string. |
| 0x08 | Float[3] | XYZ position. |
| 0x14 | Float[3] | XYZ rotation in radians. |
| 0x20 | Flaot[3] | XYZ scale. |
| 0x2C | Byte[4] | Unknown. Always 0? |
| 0x30 | Int32 | Unknown. |
| 0x34 | Int32 | Unknown. |
| 0x38 | Int32 | Unknown. |
SWITCH
- Code reference: clEventSwitch
This event defines ? area parameters, which consists of a box pivoted to its center. It is always 0x54 bytes long.
| Offset | Type | Description |
|---|---|---|
| 0x00 | Char[6] | Event magic. Always SWITCH in ASCII. |
| 0x07 | Byte[2] | Padding used to delimit the null-terminated magic string. |
| 0x08 | Float[3] | XYZ position. |
| 0x14 | Float[3] | XYZ rotation in radians. |
| 0x20 | Flaot[3] | XYZ scale. |
| 0x2C | Byte[4] | Unknown. Always 0? |
| 0x30 | Int32 | Unknown. |
| 0x34 | Int32 | Unknown. |
| 0x38 | Int32 | Unknown. |
| 0x3C | Int32 | Unknown. |
| 0x40 | Int32 | Unknown. |
| 0x44 | Int32 | Unknown. |
| 0x48 | Int32 | Unknown. |
| 0x4C | Int32 | Unknown. |
| 0x50 | Int32 | Unknown. |
W-IBox
- Code reference: clEventDoubleItembox
TBD
WARP
- Code reference: clEventWarp
This event defines warp area parameters, which consists of a box pivoted to its center. It is always 0x38 bytes long.
| Offset | Type | Description |
|---|---|---|
| 0x00 | Char[4] | Event magic. Always WARP in ASCII. |
| 0x07 | Byte[4] | Padding used to delimit the null-terminated magic string. |
| 0x08 | Float[3] | XYZ position. |
| 0x14 | Float[3] | XYZ rotation in radians. |
| 0x20 | Flaot[3] | XYZ scale. |
| 0x2C | Byte[4] | Unknown. Always 0? |
| 0x30 | Int32 | Unknown. |
| 0x34 | Int32 | Unknown. |
WARP2
- Code reference: clEventWarp2
TBD
WARP3
- Code reference: clEventWarp3
TBD
Wat-Pln
- Code reference: clEventWaterPlane
TBD
WatIn
- Code reference: clEventWaterIn
TBD
WatOut
- Code reference: clEventWaterOut
TBD
WatPrOu
- Code reference: clEventWaterPreOut
TBD
Tools
The following tools can handle XEV files:
- (none)