Difference between revisions of "KCL flag"
Maczkopeti (talk | contribs) m (→Solid Fall (0x0A): these are incorrect for sure) |
m (Renamed due to misuse.) |
||
Line 148: | Line 148: | ||
| align=center | 0.7 | | align=center | 0.7 | ||
|- | |- | ||
− | |[[# | + | |[[#Gravity Road (0x16)|0x16]] |
|A | |A | ||
− | | | + | |Gravity Road |
| align=center | 1.0 | | align=center | 1.0 | ||
| align=center | 0.7 | | align=center | 0.7 | ||
Line 837: | Line 837: | ||
|} | |} | ||
− | === | + | ===Gravity Road (0x16)=== |
+ | A type of road that applies a strong gravitational pull downward on players. | ||
{| class="wikitable" | {| class="wikitable" | ||
|- | |- |
Revision as of 05:42, 2 February 2016
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 | Does nothing | 1.0 | 0.7 |
0x1A | unknown | Does nothing | 1.0 | 0.7 |
0x1B | unknown | Does nothing | 1.0 | 0.7 |
0x1C | unknown | Does nothing | 1.0 | 0.7 |
0x1D | A | 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 |
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 | Metal |
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 | unknown |
3 | unknown |
4 | unused |
5 | unknown |
6-7 | unused |
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 |
Moving Water (0x0B)
Basic effect (Z, octal) | What is it? |
---|---|
0 | unknown |
1 | unknown |
2 | unknown |
3 | unknown |
4-7 | unused |
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 is ignored or unused.
ID | What is it? |
---|---|
000 | Normal |
001 | Rock |
002 | Metal |
003 | Wood |
004 | Ice |
005 | Bush |
006 | Bush without leaf effect |
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 | unknown |
2 | unknown |
3 | unknown |
4 | unused |
5 | unknown |
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? |
---|---|
0 | unknown |
1-7 | unused |
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 | 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 | Guard |
004 | Short tree sound effect (unused) |
005 | Tree (unused) |
006 | Tree without leaf effect (unused) |
007 | Rubber |
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 3.2 (Koopa Cape)
ID | What is it? |
---|---|
000 | Music change (Normal) |
001 | Unknown or nothing (but tested) |
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.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 | unknown |
1 | unknown |
2 | water splash (pocha)[1] |
3 | unused |
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 |
Unknown (0x1C)
Nintendo use this type only in Bowser's Castle with variant value 0x020 and Funky Stadium with variant value 0x000.
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 effect (unused) |
6 | Sand (unused) |
7 | Dirt (unused) |
Special Walls (0x1E)
Basic effect (Z, octal) | Visual | Sound | Effect |
---|---|---|---|
0 | 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 (unused) | Fast: spark | Fast: nothing | Fast: bump |
Slow: nothing | Slow: nothing | 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.) |