Difference between revisions of "KCL flag"
Line 562: | Line 562: | ||
*2 = ''unknown'' | *2 = ''unknown'' | ||
It also uses two settings in the AREA: | It also uses two settings in the AREA: | ||
− | *At 0x28 = | + | *At 0x28 = Acceleration/Deceleration |
− | *At 0x2A = | + | *At 0x2A = Route Speed (speed at which the route pulls the player). |
|- | |- | ||
|3 | |3 |
Revision as of 20:57, 21 July 2018
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. The numerical relation is:
FLAG = TYPE | VARIANT << 5
Wiimm has made a statistical analysis about the usage of flags in all 32 tracks: kcl-types.txt
Collision Types (basic type)
Type | Variant type | What is it? | Speed factor[1] | Second factor[1] with unknown impact |
---|---|---|---|---|
0x00 | A | Road | 1.0 | 0.7 |
0x01 | A | Slippery Road 1 | 1.0 | 0.050 – 0.105 |
0x02 | A | Weak Off-road | 0.550 – 0.909 | 0.080 – 0.157 |
0x03 | A | Off-road | 0.325 – 0.712 | 0.050 – 0.105 |
0x04 | A | Heavy Off-road | 0.185 – 0.422 | 0.050 – 0.105 |
0x05 | A | Slippery Road 2 | 0.881 – 0.999 | 0.030 – 0.074 |
0x06 | A | Boost Pad | 1.0 | 0.7 |
0x07 | A | Boost Ramp | 1.0 | 0.7 |
0x08 | A | Jump Pad | 1.0 | 0.7 |
0x09 | A | Item Road | 1.0 | 0.7 |
0x0A | A | Solid Fall | 1.0 | 0.7 |
0x0B | B | Moving Water | 1.0 | 0.7 |
0x0C | unknown | Wall | 1.0 | 0.7 |
0x0D | unknown | Invisible Wall | 1.0 | 0.7 |
0x0E | unknown | Item Wall | 1.0 | 0.7 |
0x0F | unknown | Wall 3 | 1.0 | 0.7 |
0x10 | unknown | Fall Boundary | 1.0 | 0.7 |
0x11 | B | Cannon Activator | 1.0 | 0.7 |
0x12 | unknown | Force Recalculation | 1.0 | 0.7 |
0x13 | unknown | Half-pipe Ramp | 1.0 | 0.7 |
0x14 | unknown | Wall | 1.0 | 0.7 |
0x15 | B | Moving Road | 1.0 | 0.7 |
0x16 | A | Gravity Road | 1.0 | 0.7 |
0x17 | A | Road | 1.0 | 0.7 |
0x18 | unknown | Sound Trigger | 1.0 | 0.7 |
0x19 | unknown | Unknown | 1.0 | 0.7 |
0x1A | unknown | Effect Trigger | 1.0 | 0.7 |
0x1B | unknown | Unknown | 1.0 | 0.7 |
0x1C | unknown | Unknown | 1.0 | 0.7 |
0x1D | A | Moving Road | 1.0 | 0.7 |
0x1E | unknown | Special Walls | 1.0 | 0.7 |
0x1F | unknown | Wall 5 | 1.0 | 0.7 |
- [1] : Notes for Speed factor
- Each vehicle and driver combinations has it's own basic speed. The Speed factor is always ≤1.0 and defines the relative KCL type dependent speed.
- The impact of the second factors column is unknown. The first assumption small vehicles is wrong.
- The values are calculated after analysing different Mario Kart Wii files. The ranges depends on the possible driver and vehicle combinations.
- The different basic speed of the vehicles (75.00 – 85.07) and the driver modifications of the basic speed (add 0 – 0.53) are not part of this speed factor calculations.
- Some values are senseless (e.g. walls, fall down, effects). But the values are available in the MKWii tables.
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 |
Cheat Sheet
This image sums up the basic effects and variants for finding them more quickly.
Basic Effects (for type A, and type A-like variants)
Road (0x00)
A type of road that's solid for both players and items.
Basic effect (Z, octal) | What is it? |
---|---|
0 | Normal |
1 | Dirt, GFX on slots 7.3 and 8.3 |
2 | Dirt, no GFX (used for brick/stone roads) |
3 | Smooth |
4 | Wood |
5 | Snow with GFX |
6 | Metal grid |
7 | Normal, but the sound cuts off and returns immediately when triggered |
Slippery Road 1 (0x01)
A type of road that is slippery, but does not slow you down.
Basic effect (Z, octal) | What is it? |
---|---|
0 | Beach sand |
1 | Dirt[1] |
2 | Water (unused) |
3 | Snow (unused) |
4 | Grass (unused) |
5 | Desert sand |
6 | Sand, no GFX (unused) |
7 | Dirt, no GFX (unused) |
Weak Off-road (0x02)
Basic effect (Z, octal) | What is it? |
---|---|
0 | Sand |
1 | Dirt |
2 | Water |
3 | Grass |
4 | White sand |
5 | Sand/Gravel |
6 | Gravel |
7 | Gravel, different sound |
Off-road (0x03)
Basic effect (Z, octal) | What is it? |
---|---|
0 | Sand[1] |
1 | Dirt |
2 | Mud[1] |
3 | Water |
4 | Grass[1] |
5 | Sand |
6 | Gravel |
7 | Sand/Gravel |
Heavy Off-road (0x04)
Basic effect (Z, octal) | What is it? |
---|---|
0 | Sand |
1 | Dirt |
2 | Mud |
3 | Flowers |
4 | Grass |
5 | Snow |
6 | Sand |
7 | Dirt, no effect |
Slippery Road 2 (0x05)
A type of road that is slippery and slightly slows you down.
Basic effect (Z, octal) | What is it? |
---|---|
0 | Ice |
1 | Mud (unused) |
2-5 | Water (unused) |
6-7 | Normal road, different sound (unused) |
Boost Pad (0x06)
Basic effect (Z, octal) | What is it? |
---|---|
0 | unknown |
1 | used in Chain Chomp Wheel |
2-7 | unused |
Boost Ramp (0x07)
Higher stages mean longer air time and more landing boost time.
Basic effect (Z, octal) | What is it? |
---|---|
0 | Stage 3 (2 flips) |
1 | Stage 2 (1 flip) |
2-7 | Stage 1 (no flips, unused) |
Jump Pad (0x08)
Basic effect (Z, octal) | What is it? |
---|---|
0 | used in GBA Bowser Castle 3 |
1 | used in SNES Ghost Valley 2 |
2 | used in GBA Shy Guy Beach |
3 | used in Mushroom Gorge[1] |
4 | Bouncy mushroom[2] |
5 | used in Chain Chomp Wheel |
6 | used in DS Yoshi Falls and Funky Stadium |
7 | unused |
- ↑ This flag causes the Off-Road Glitch.
- ↑ SFX always work in the kinoko_bend object KCL, but require slot 1.3 for other KCL.
Item Road (0x09)
A type of road that's solid for items only.
Basic effect (Z, octal) | What is it? |
---|---|
0 | unknown |
1 | unknown |
2 | Used in metal paths, unknown effect |
3 | Used in wooden paths/grass/mushrooms, unknown effect |
4 | unused |
5 | Used in grass/bushes, unknown effect |
6-7 | unused |
Solid Fall (0x0A)
Basic effect (Z, octal) | What is it? |
---|---|
0 | Default/Sand |
1 | Underwater |
2 | unknown |
3 | Ice |
4 | Dirt/Pipe from Wario's Gold Mine |
5 | Grass |
6 | Wood |
7 | unknown |
Moving Road (0x0B)
This is a kind of road that moves the player to a direction. It is activated when entering an AREA type 0x3.
Basic effect (Z, octal) | What is it? |
---|---|
0 | moving water that follows a route. Route settings:
|
1 | moving water that follows a route and strongly pulls the player downwards, making it hard to drive. Route settings:
|
2 | moving water that follows a route from the start of the path to the end of it, while the water pulls you down to the left or right (unsure how). Route settings:
It also uses two settings in the AREA:
|
3 | moving water with no route. It pulls you down and you can't move from it. |
4 | moving asphalt, unused. Unknown settings. |
5 | moving asphalt, unused. Unknown settings. |
6 | moving road, unused. Unknown settings. |
7 | unused, unknown. |
Wall (0x0C)
A type of wall that's solid for both players and items. 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 have an unknown usage.
ID | What is it? |
---|---|
000 | Normal |
001 | Rock |
002 | Metal |
003 | Wood |
004 | Ice |
005 | Bush |
006 | Rope |
007 | Mushroom |
40x | The "bump" depends on the angle you hit the wall. |
Invisible Wall (0x0D)
A type of wall that's solid for players only.
Basic effect (Z, octal) | What is it? |
---|---|
0 | unknown |
1-7 | unused |
Item Wall (0x0E)
A type of wall that's solid for items only.
Basic effect (Z, octal) | What is it? |
---|---|
0 | unknown |
1 | Used in rock walls, unknown effect |
2 | Used in metal walls, unknown effect |
3 | unknown |
4 | unused |
5 | Used in grass/bushes, unknown effect |
6-7 | unused |
Wall 3 (0x0F)
Basic effect (Z, octal) | What is it? |
---|---|
0 | unknown |
1 | unknown |
2 | unknown |
3 | unknown |
4 | unknown |
5 | unused |
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). Different variants can refer to the same index, but only one Y value will be selected.
Formula: 0x8Y + Z
Y = index
Z = basic type
Basic effect (Z, octal) | What is it? |
---|---|
0 | Air fall |
1 | Water (pocha), setting 1 refers to the index in KMP. |
2 | Lava (pochaYogan), setting 1 refers to the index in KMP. |
3 | Icy water (pocha, ice on respawn), setting 1 refers to the index in KMP.[1] |
4 | Lava, no GFX |
5 | Burning air fall (entry) |
6 | Quicksand (used in object quicksand) |
7 | Short fall |
Cannon Activator (0x11)
Basic effect (Z, octal) | What is it? |
---|---|
0 | To point 0 |
1 | To point 1 |
2 | To point 2 |
3 | To point 3 (unused) |
4 | To point 4 (unused) |
5 | To point 5 (unused) |
6 | To point 6 (unused) |
7 | To point 7 (unused) |
Force Recalculation (0x12)
Forces an enemy/item route recalculation when triggered.
Basic effect (Z, octal) | What is it? |
---|---|
N | Link to N'th element (zero based) of KMP/AREA (AREA type 4). The position and rotation is used as base for the new route calculation. |
Half-pipe Ramp (0x13)
Best used with Invisible Wall (0x0D), although that is not needed for this flag to function.
Basic effect (Z, octal) | What is it? |
---|---|
0 | unknown |
1 | A state which the boost pad is added to the value 0. Used in Bowser's Castle. |
2-7 | unused |
Wall (0x14)
Allows objects to pass through it like 0x0D, with the same properties as 0x0C.
ID | What is it? |
---|---|
000 | Normal (unused) |
001 | Rock (unused) |
002 | Metal (unused) |
003 | Wood |
004 | Short tree sound effect (unused) |
005 | Tree (unused) |
006 | Tree without leaf effect (unused) |
007 | Wooden plank |
40x | The "bump" depends on the angle you hit the wall. |
Moving Road (0x15)
Unlike moving water, moving road is not controlled by routes in the KMP, but rather by specific objects. The positioning of them works similar to an AREA point, however it is unknown exactly how large this area is. It is large enough to cause objects outside of the first tunnel in Toad's Factory to be affected when BeltCrossing is at its normal position inside the tunnel.
Basic effect (Z, octal) | What is it? |
---|---|
0 | Moves west with BeltCrossing and escalator. The latter only works with escalator.kcl. |
1 | Moves east with BeltCrossing and west with escalator. The latter only works with escalator.kcl. |
2 | Moves east with BeltEasy. |
3 | Moves west with BeltEasy. |
4 | Rotates around BeltCurveA clockwise. |
5 | Rotates around BeltCurveA counterclockwise. |
6-7 | unused |
Gravity Road (0x16)
A type of road that applies a strong gravitational pull downward on players.
Basic effect (Z, octal) | What is it? |
---|---|
0 | Wood |
1 | Sand/Gravel |
2 | Carpet |
3 | Dirt |
4 | Sand/Gravel |
5 | Normal road, SFX on slot 4.4 |
6 | Normal road |
7 | Mud |
Road (0x17)
Basic effect (Z, octal) | What is it? |
---|---|
0 | Normal road, different sound |
1 | Carpet |
2 | Grass |
3 | Mushroom |
4 | Grass |
5 | Glass road with SFX |
6 | Dirt |
7 | Normal road, SFX on slot 4.4 |
Sound Trigger (0x18)
Slot 1.4 (Toad's Factory)
ID | What is it? |
---|---|
000 | Sounds off |
001 | Hydraulic press area |
002 | Shipping dock area |
003 | Moving belt area |
004 | Steam room |
005 | Restart music at beginning |
006 | Bulldozer area |
007 | Audience area |
Slot 2.4 (Wario's Gold Mine)
ID | What is it? |
---|---|
000 | Music change (outside) |
001 | Music change (cave) + gentle echo |
002 | Echo |
003 | Strong echo |
004 | ? |
005 | ? |
006 | ? |
007 | ? |
Slot 3.2 (Koopa Cape)
ID | What is it? |
---|---|
000 | Music change (normal) |
001 | Weak echo |
002 | Unknown or nothing (but tested) |
003 | Music change (underwater) |
004 | Water tunnel echo |
005 | Deactivate all + echo |
006 | Music change (riverside) |
007 | Back to normal + echo (unused) |
Slot 4.1 (Dry Dry Ruins)
ID | What is it? |
---|---|
000 | Music change (normal) |
001 | Music change (in doors where the bats come from the sides) |
002 | Music change (in doors where the halfpipes are) |
003 | Music change (in doors where the pokeys are) |
004 | ? |
005 | ? |
006 | ? |
007 | ? |
Slot 4.3 (Bowser's Castle)
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 + koopaBall/koopaFigure SFX. |
005 | Deactivate koopaBall/koopaFigure SFX. |
006 | Add drums without echo. |
007 | Back to normal - Allow reuse for one time use sound trigger. |
In order to have Thwomp SFX, just disable every sound trigger (put 003 then 007).
Slot 4.4 (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) |
Sound triggers are easy to use if you know how to use them.
Here's a good example:
- 000 → 001 → 002 → 003 → 004 → 005 → 000
- That's how the original Rainbow Road uses the triggers. All the triggers will play once and won't replay until you reach a "000" turn-off button.
Here's a way to play the first gate more than once:
- 000 → 001 → 000 → 001 → etc.
- Note that 000 → 002 won't play, and 001 → 001 will only play once. Every sound trigger must be one more than the one before it, in order for it to work.
The tunnel trigger works similarly. Use "000" to stop it.
Slot 8.4 (N64 Bowser's Castle)
ID | What is it? |
---|---|
000 | Disable one time use sound trigger (like Bowser Howl). |
001 | ? |
002 | Bowser's howl. Put 000 at the end of a turn to be able to reuse this. |
003 | ? |
004 | ? |
005 | ? |
006 | ? |
Unknown (0x19)
Nintendo use this type in Wario's Gold Mine and Rainbow Road with variant values 0x400 and 0x410.
Basic effect (Z, octal) | What is it? |
---|---|
0 | unknown |
1-7 | unused |
Effect Trigger (0x1A)
Nintendo use this type in 21 different tracks with variant values 0x000, 0x001, 0x002, 0x004, 0x005, 0x006, 0x009, 0x00A, 0x011, 0x012, 0x019, 0x01C, 0x022 and 0x02A.
Basic effect (Z, octal) | What is it? |
---|---|
0 | BRSTM reset |
1 | unknown |
2 | water splash (pocha)[1] |
3 | starGate door activation |
4 | unknown |
5 | unknown |
6 | unknown |
7 | unused |
- ↑ Reusable only if a fall boundary is triggered.
Unknown (0x1B)
Nintendo use this type only in Toad's Factory with variant value 0x008.
Basic effect (Z, octal) | What is it? |
---|---|
0 | unknown |
1-7 | unused |
Half-Pipe Invisible Wall (0x1C)
Nintendo only uses this type in Bowser's Castle with variant value 0x020 and in Funky Stadium with variant value 0x000. It consists of an invisible wall used only while being in air after a half-pipe jump.
Basic effect (Z, octal) | What is it? |
---|---|
0 | unknown |
1-7 | unused |
Moving Road (0x1D)
If casino_roulette is present, the road slowly rotates everything around it counterclockwise.
Basic effect (Z, octal) | What is it? |
---|---|
0 | Gravel |
1 | Dirt, different sound |
2 | Normal road |
3 | Glass road |
4 | Gravel, different sound |
5 | No sound, Star ring spark SFX on slot 4.4 (requires starGate) |
6 | Sand (unused) |
7 | Dirt (unused) |
Special Walls (0x1E)
Basic effect (Z, octal) | Visual | Sound | Effect |
---|---|---|---|
0 (cacti effect) | Fast: spark (stars) | Fast: nothing | Fast: bump |
Slow: spark (stars) | Slow: nothing | Slow: bump | |
1 | Fast: nothing | Fast: nothing | Fast: bump (rubber wall) |
Slow: nothing | Slow: nothing | Slow: nothing | |
2 (unused) | Fast: spark | Fast: hollow | Fast: bump |
Slow: nothing | Slow: nothing | Slow: many bumps (rubber wall) | |
3 | Fast: nothing | Fast: nothing | Fast: bump |
Slow: nothing | Slow: nothing | Slow: nothing | |
4, SFX on slot 4.4 | Fast: spark | Fast: nothing | Fast: bump |
Slow: nothing | Slow: nothing | Slow: nothing | |
5 | Fast: spark | Fast: cracking | Fast: bump |
Slow: nothing | Slow: nothing | Slow: nothing | |
6 | Fast: spark | Fast: metal | Fast: bump |
Slow: nothing | Slow: nothing | Slow: nothing | |
7 | Fast: spark | Fast: star ring crash (requires starGate) | Fast: bump |
Slow: nothing | Slow: star ring crash (requires starGate) | Slow: nothing |
Wall 5 (0x1F)
Basic effect (Z, octal) | Speed | Visual | Sound | Effect |
---|---|---|---|---|
0 1-7 (unused) |
Fast: | nothing | nothing | bump (Players can't go through it, items can.) |
Slow: | nothing | nothing | nothing (Players can't go through it, items can.) |