This page describes the flags of KCL files.
Mario Kart Wii Collision Flags
In Mario Kart Wii the collision flag values are normally split. The 5 least significant bits determine the basic type of the flag. The next 11 bits determine the variation upon the type. The list below describes these types and their variants.
Collision Types (basic type)
Type
|
Variant type
|
What is it?
|
0x00
|
A
|
Road
|
0x01
|
A
|
Weak offroad
|
0x02
|
A
|
Very weak offroad
|
0x03
|
A
|
Offroad
|
0x04
|
A
|
Heavy offroad
|
0x05
|
A
|
Offroad
|
0x06
|
unknown
|
Boost
|
0x07
|
unknown
|
Fast trick
|
0x08
|
unknown
|
Trick ramp
|
0x09
|
unknown
|
Out of bounds
|
0x0A
|
unknown
|
Solid fall
|
0x0B
|
B
|
Moving Water
|
0x0C
|
A-like
|
Wall
|
0x0D
|
unknown
|
Wall
|
0x0E
|
unknown
|
Does nothing
|
0x0F
|
unknown
|
Wall
|
0x10
|
A-like
|
Fall boundary
|
0x11
|
B
|
Cannon Activator
|
0x12
|
unknown
|
Does nothing
|
0x13
|
unknown
|
Blue ramp
|
0x14
|
unknown
|
Wall
|
0x15
|
B
|
Moving terrain
|
0x16
|
A
|
Sticky road
|
0x17
|
A
|
Road
|
0x18
|
unknown
|
Sound Trigger
|
0x19
|
unknown
|
Does nothing
|
0x1A
|
unknown
|
Does nothing
|
0x1B
|
unknown
|
Does nothing
|
0x1C
|
unknown
|
Does nothing
|
0x1D
|
A
|
Road
|
0x1E
|
unknown
|
Special Walls
|
0x1F
|
unknown
|
Wall
|
Variant types
Type A
Variant type A is split in 4 bit-groups.
The first and last 2 groups are 3 bits each, and the second group is 2 bits.
|
Group W
|
Group X
|
Group Y
|
Group Z
|
Amount of bits
|
3
|
2
|
3
|
3
|
Function
|
Collision effect
|
Intensity
|
Shadow effect
|
Basic effect
|
To write this structure down, you can write each group as an octal number, but be aware of the 2-bits group, calculating hex to octal will not work right. A good way to get the right variant in hex is this:
- write down each group in octal (X can be max. 3)
- convert each group to binary (X is 2 bits, others 3 bits)
- write them in the order: wxyz, you'll get www|xx|yyy|zzz in binary, you can convert that number to hex.
Note: hex shows only W right, octal only Y and Z.
So, www in binary controls the collision effect, xx controls intensity, yyy controls shadow effect, and zzz controls the basic effect (such as grass vs. dirt). For example, www represents a binary number of three digits. This 3-digit number controls which effect is used. The same applies to yyy and zzz, except xx can only go up to 3 as there are only 2 binary digits. A complete string of binary numbers (wwwxxyyyzzz in that order) is converted as a whole to hex to get the variant that is entered into the SZS Modifier or CTools.
Another way is using the following formula:
Variant (in hexadecimals) = 0x100W+0x40X+0x8Y+Z
Of course is this formula basic on the theory stated above.
Functions:
Collision effect:
Bit
|
Effect
|
0
|
0 = Not trickable 1 = Trickable
|
1
|
0 = Drivable 1 = Not drivable. Forces a player to change direction which makes the player unable to drive on that surface.
|
2
|
Value 1 is used for walls that don't make you bounce when colliding on them
|
Intensity:
Exact values unknown
Shadow effect:
All light effects pertain to the light IDs in posteffect.blight. These colors can be modified by hex editing it in the SZS file (./posteffect/posteffect.blight).
Basic effect:
Different for each basic flag
Type B
Variant type B refers to an ID in the kmp file, which section is different for each flag:
"Triggers" means that it's variant refers to a group or point of the specified section.
Type (value)
|
Triggers
|
Moving road (0x0B)
|
AREA entry
|
If the area has a route it makes the water follow the route, else it moves towards the area point.
|
Cannon activator (0x11)
|
Cannon (CNPT entry)
|
|
Moving road (0x15)
|
Object
|
|
Basic Effects (for type A, and type A-like variants)
Road (0x00)
Basic effect (Z, octal)
|
What is it?
|
0
|
Normal Road
|
1
|
Dirt Road
|
2
|
Sand/Carpet
|
3
|
Slippery Road
|
4
|
Wood Road
|
5
|
Snow Road
|
6
|
Metal Grid/Chain Link Road
|
7
|
Another Normal Road
|
Weak offroad (0x01)
Basic effect (Z, octal)
|
What is it?
|
0
|
Sand with spike sounds
|
1
|
Sand
|
2
|
unknown
|
3
|
unknown
|
4
|
unknown
|
5
|
Sand
|
6
|
unknown
|
7
|
unknown
|
Very weak offroad (0x02)
Basic effect (Z, octal)
|
What is it?
|
0
|
unknown
|
1
|
unknown
|
2
|
unknown
|
3
|
unknown
|
4
|
unknown
|
5
|
Sherbet Land ice
|
6
|
unknown
|
7
|
unknown
|
Offroad (0x03)
Basic effect (Z, octal)
|
What is it?
|
0
|
Dirt
|
1
|
Acts like Dirt Road
|
2
|
Mud
|
3
|
Water, a little offroad effect.
|
4
|
Grass
|
5
|
Sand
|
6
|
Sand Water
|
7
|
Gravel
|
Heavy offroad (0x04)
Basic effect (Z, octal)
|
What is it?
|
0
|
unknown
|
1
|
unknown
|
2
|
unknown
|
3
|
unknown
|
4
|
unknown
|
5
|
unknown
|
6
|
unknown
|
7
|
unknown
|
Offroad (0x05)
Basic effect (Z, octal)
|
What is it?
|
0
|
unknown
|
1
|
unknown
|
2
|
unknown
|
3
|
unknown
|
4
|
unknown
|
5
|
unknown
|
6
|
unknown
|
7
|
unknown
|
Boost (0x06)
Basic effect (Z, octal)
|
What is it?
|
0
|
unknown
|
1
|
unknown
|
2
|
unknown
|
3
|
unknown
|
4
|
unknown
|
5
|
unknown
|
6
|
unknown
|
7
|
unknown
|
Fast Trick (0x07)
Basic effect (Z, octal)
|
What is it?
|
0
|
normal
|
1
|
unknown (it's in Mdush.kcl)
|
2
|
unknown
|
3
|
unknown
|
4
|
unknown
|
5
|
a little bit lower (with other jump effects)
|
6
|
unknown
|
7
|
unknown
|
Trick ramp (0x08)
Basic effect (Z, octal)
|
What is it?
|
0
|
unknown
|
1
|
unknown
|
2
|
unknown
|
3
|
unknown
|
4
|
unknown
|
5
|
unknown
|
6
|
unknown
|
7
|
unknown
|
Out of bounds (0x09)
Basic effect (Z, octal)
|
What is it?
|
0
|
unknown
|
1
|
unknown
|
2
|
unknown
|
3
|
unknown
|
4
|
unknown
|
5
|
unknown
|
6
|
unknown
|
7
|
unknown
|
Solid fall (0x0A)
Basic effect (Z, octal)
|
What is it?
|
0
|
unknown
|
1
|
unknown
|
2
|
unknown
|
3
|
unknown
|
4
|
unknown
|
5
|
unknown
|
6
|
unknown
|
7
|
unknown
|
Shallow water (0x0B)
Basic effect (Z, octal)
|
What is it?
|
0
|
unknown
|
1
|
unknown
|
2
|
unknown
|
3
|
unknown
|
4
|
unknown
|
5
|
unknown
|
6
|
unknown
|
7
|
unknown
|
Wall (0x0C)
Similar to A as the last 3 bits are the basic effect and the first 3 bits are the collision effect. Shadow effect and intensity is ignored or unused.
ID
|
What is it?
|
000
|
Normal Wall
|
001
|
Rock Wall
|
002
|
Metal Wall
|
003
|
Guard Rail
|
004
|
Short tree wall sound effect
|
005
|
Tree Wall
|
006
|
Tree Wall without leaf effect
|
007
|
Rubber Wall
|
008
|
Hollow Wall
|
009
|
Wall without being bumped
|
40x
|
The "bump" depends on the angle you hit the wall.
|
Wall 2 (0x0D)
Basic effect (Z, octal)
|
What is it?
|
0
|
unknown
|
1
|
unknown
|
2
|
unknown
|
3
|
unknown
|
4
|
unknown
|
5
|
unknown
|
6
|
unknown
|
7
|
unknown
|
Does nothing (0x0E)
Basic effect (Z, octal)
|
What is it?
|
0
|
unknown
|
1
|
unknown
|
2
|
unknown
|
3
|
unknown
|
4
|
unknown
|
5
|
unknown
|
6
|
unknown
|
7
|
unknown
|
Wall 3 (0x0F)
Basic effect (Z, octal)
|
What is it?
|
0
|
unknown
|
1
|
unknown
|
2
|
unknown
|
3
|
unknown
|
4
|
unknown
|
5
|
unknown
|
6
|
unknown
|
7
|
unknown
|
Fall boundary (0x10)
Note: this is an A-like variant type kcl.
Probably it's divided in 2 sections of 8 and 3 bits.
The 3 bits one is the basic type (column Z)
The 8 bits section defines the index, KMP can also refer to this index. (only for the pocha's)
Formula: 0x8Y + Z
Y = index
Z = basic type
Basic effect (Z, octal)
|
What is it?
|
0
|
Air fall
|
1
|
Water (pocha.brres), Setting 1 refers to the index in KMP.
|
2
|
Lava (pochaYogan.brres), Setting 1 refers to the index in KMP.
|
3
|
Water (used in MT).
|
4
|
Ice Water (pocha.brres, ice.brres on respawn), Setting 1 refers to the index in KMP.
|
5
|
Air Fall but with entry a burning air fall.
|
6
|
Quicksand
|
7
|
|
Cannon Activator (0x11)
Basic effect (Z, octal)
|
What is it?
|
0
|
unknown
|
1
|
unknown
|
2
|
unknown
|
3
|
unknown
|
4
|
unknown
|
5
|
unknown
|
6
|
unknown
|
7
|
unknown
|
Does nothing (0x12)
Basic effect (Z, octal)
|
What is it?
|
0
|
unknown
|
1
|
unknown
|
2
|
unknown
|
3
|
unknown
|
4
|
unknown
|
5
|
unknown
|
6
|
unknown
|
7
|
unknown
|
Half-Pipe (0x13)
Basic effect (Z, octal)
|
What is it?
|
0
|
unknown
|
1
|
unknown
|
2
|
unknown
|
3
|
unknown
|
4
|
unknown
|
5
|
unknown
|
6
|
unknown
|
7
|
unknown
|
Wall 4 (0x14)
Basic effect (Z, octal)
|
What is it?
|
0
|
unknown
|
1
|
unknown
|
2
|
unknown
|
3
|
unknown
|
4
|
unknown
|
5
|
unknown
|
6
|
unknown
|
7
|
unknown
|
Moving terrain (0x15)
Basic effect (Z, octal)
|
What is it?
|
0
|
unknown
|
1
|
unknown
|
2
|
unknown
|
3
|
unknown
|
4
|
unknown
|
5
|
unknown
|
6
|
unknown
|
7
|
unknown
|
Sticky road (0x16)
Basic effect (Z, octal)
|
What is it?
|
0
|
Wood Road
|
1
|
Sand Road
|
2
|
Gravel
|
3
|
Dirt Road
|
4
|
Sand/Gravel
|
5
|
Slot-bound drift sound effect, normal road.
|
6
|
"Normal Road" Road
|
7
|
_
|
Road (0x17)
Basic effect (Z, octal)
|
What is it?
|
0
|
Normal road, little bit different than 0x00
|
1
|
Sand
|
2
|
Sand sound, with dirt effect
|
3
|
Glass road
|
4
|
Sand
|
5
|
Glass road with sound-effect
|
6
|
Sand
|
7
|
Dirt effect with no sound
|
Does nothing (0x19)
Basic effect (Z, octal)
|
What is it?
|
0
|
unknown
|
1
|
unknown
|
2
|
unknown
|
3
|
unknown
|
4
|
unknown
|
5
|
unknown
|
6
|
unknown
|
7
|
unknown
|
Does nothing (0x1A)
Basic effect (Z, octal)
|
What is it?
|
0
|
unknown
|
1
|
unknown
|
2
|
unknown
|
3
|
unknown
|
4
|
unknown
|
5
|
unknown
|
6
|
unknown
|
7
|
unknown
|
Does nothing (0x1B)
Basic effect (Z, octal)
|
What is it?
|
0
|
unknown
|
1
|
unknown
|
2
|
unknown
|
3
|
unknown
|
4
|
unknown
|
5
|
unknown
|
6
|
unknown
|
7
|
unknown
|
Does nothing (0x1C)
Basic effect (Z, octal)
|
What is it?
|
0
|
unknown
|
1
|
unknown
|
2
|
unknown
|
3
|
unknown
|
4
|
unknown
|
5
|
unknown
|
6
|
unknown
|
7
|
unknown
|
Road (0x1D)
Basic effect (Z, octal)
|
What is it?
|
0
|
Gravel
|
1
|
Dirt effect with no sound
|
2
|
Normal road (like 0x00)
|
3
|
Glass road with echo
|
4
|
Gravel, different sound
|
5
|
No sound effect
|
6
|
No sound effect
|
7
|
Normal Gravel
|
Wall 5 (0x1F)
Basic effect (Z, octal)
|
What is it?
|
0
|
unknown
|
1
|
unknown
|
2
|
unknown
|
3
|
unknown
|
4
|
unknown
|
5
|
unknown
|
6
|
unknown
|
7
|
unknown
|
Sound Trigger (0x18)
Bowser Castle Wii
ID
|
What is it?
|
000
|
Disable one time use Sound Trigger (like Bowser Howl).
|
001
|
Bowser's Howl + Echo (put 007 at the end of a turn to be able to reuse Bowser Howl!)
|
002
|
Sound Distortion + Echo.
|
003
|
Deactivate above.
|
004
|
Add Drums + Echo on music + Koopa ball / koopa figure sound
|
005
|
Unknown or nothing (but tested.)
|
006
|
Add Drums without Echo
|
007
|
Back to normal - Allow reuse for one time use Sound Trigger.
|
Little Info in order to have Twromp effect just disable every sound trigger (put 003 then 007).
Koopa Cape
ID
|
What is it?
|
000
|
Unknown or nothing (but tested.)
|
001
|
Unknown or nothing (but tested.)
|
002
|
Unknown or nothing (but tested.)
|
003
|
Music change (water tunnel music)
|
004
|
Music Change + Echo + Water Background sound.
|
005
|
Deactivate all only keep Echo.
|
006
|
Music Change 2
|
007
|
Add Echo on every trigger.
|
008
|
Back To normal.
|
009
|
Unknown or nothing (but tested.)
|
00A
|
Unknown or nothing (but tested.)
|
00B
|
Unknown or nothing (but tested.)
|
00C
|
Music Change (Water Tunnel)
|
00D
|
Music change + echo + water sound.
|
00E
|
music normal + echo + water sound
|
00F
|
Back to normal + echo
|
Rainbow Road
ID
|
What is it?
|
000
|
Turn Off button.
|
001
|
Gate Sound 1 (Add a turn off button before and after if you use only one gate.
|
002
|
Gate Sound 2
|
003
|
Gate Sound 3
|
004
|
Gate Sound 4
|
005
|
Gate Sound 5
|
006
|
Tunnel Sound (Add a turn off button to stop it)
|
007
|
Nothing or unknown.
|
Little info about that gate it seem easy but it need little Logic.
Here a good example : 000 -> 001 -> 002 -> 003 -> 004 -> 005 -> 000
That how original Rainbow Road do , That play all get when you pass them and don't play back until you don't have reach the End point "000"
here an idea to make gate every time you pass it : 000 -> 001 -> 000 -> 001 -> ect...
Note: 000 -> 002 and 001 -> 001 doesn't play or play it only once.
That will play each gate every time you pass it.
You will see that really easy , same goes with the tunnel one variant to activate it one to stop it.
Good luck :3