Difference between revisions of "KCL flag"

From Custom Mario Kart
Jump to navigation Jump to search
m (→‎Slot 4.2 (Moonview Highway): I just noticed that ID 0 represents a music change.)
Line 1,220: Line 1,220:
 
|-
 
|-
 
| 0
 
| 0
| {{Unknown-left|'''Unknown'''}}
+
| Music change
 
|-
 
|-
 
| 1
 
| 1

Revision as of 22:14, 30 August 2019

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] Handling factor[1]
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 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.

KCL Cheat Sheet.png


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)
  1. GFX is a lighter color on slot 8.2.

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
  1. 1.0 1.1 1.2 GFX can be a different color on different slots.

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 Default
1 Unknown. Used in Chain Chomp Wheel
2-7 Unknown. 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 Unknown. Used in GBA Bowser Castle 3
1 Unknown. Used in SNES Ghost Valley 2
2 Unknown. Used in GBA Shy Guy Beach
3 Unknown. Used in Mushroom Gorge[1]
4 Bouncy mushroom[2]
5 Unknown. Used in Chain Chomp Wheel
6 Unknown. Used in DS Yoshi Falls and Funky Stadium
7 Unknown. Unused
  1. This flag causes the Off-Road Glitch.
  2. 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. Used on metal paths
3 Unknown. Used on wooden paths/grass/mushrooms
4 Unknown. Unused
5 Unknown. Used on grass/bushes
6-7 Unknown. 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 = speed
  • 2 = unknown
1 Moving water that follows a route and strongly pulls the player downwards, making it hard to drive. Route settings:
  • 1 = speed
  • 2 = unknown
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:
  • 1 = unknown
  • 2 = unknown

It also uses two settings in the AREA:

  • At 0x28 = acceleration/deceleration
  • At 0x2A = route speed (speed at which the route pulls the player)
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 Unknown. 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 have an unknown usage.

ID What is it?
0 Normal
1 Rock
2 Metal
3 Wood
4 Ice
5 Bush
6 Rope
7 Rubber

Invisible Wall (0x0D)

A type of wall that's solid for players only.

Basic effect (Z, octal) What is it?
0 No spark and no character wall hit voice
1-2 Spark and character wall hit voice (unused)
3-7 Unknown. Same as 0? (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. Used on rock walls
2 Unknown. Used on metal walls
3 Unknown
4 Unknown. Unused
5 Unknown. Used on grass/bushes
6-7 Unknown. Unused

Wall 3 (0x0F)

Basic effect (Z, octal) What is it?
0 Normal
1 Rock
2 Metal
3 Wood
4 Ice
5 Bush (unused)
6 Rope
7 Rubber

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 pochas). 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
  1. Requires slot 6.1.

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 Default
1 A state which the boost pad is added to the value 0. Used in Bowser's Castle
2-7 Unknown. Unused

Wall (0x14)

Allows objects to pass through it like 0x0D, with the same properties as 0x0C.

ID What is it?
0 Normal (unused)
1 Rock (unused)
2 Metal (unused)
3 Wood
4 Ice (unused)
5 Bush (unused)
6 Rope (unused)
7 Rubber

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 Unknown. 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.1 (Luigi Circuit)

ID What is it?
0 No audience noise
1 Soft audience noise
2 Audience noise. The race starts with this sound
3 Loud audience noise
4 Unknown
5 Unknown
6 Unknown
7 Unknown

Slot 1.3 (Mushroom Gorge)

ID What is it?
0 Unknown
1 Unknown
2 Unknown
3 Unknown

Slot 1.4 (Toad's Factory)

ID What is it?
0 Sounds off
1 Hydraulic press area
2 Shipping dock area
3 Moving belt area
4 Steam room
5 Restart music at beginning
6 Bulldozer area
7 Audience area

Slot 2.1 (Mario Circuit)

ID What is it?
0 Unknown
1 Unknown
2 Unknown

Slot 2.2 (Coconut Mall)

ID What is it?
0 Unknown
1 Unknown
2 Unknown
3 Unknown
4 Unknown
5 Unknown

Slot 2.3 (DK Summit)

ID What is it?
0 Unknown
1 Unknown
2 Unknown
3 Unknown
4 Unknown

Slot 2.4 (Wario's Gold Mine)

ID What is it?
0 Music change (outside)
1 Music change (cave) + gentle echo
2 Echo
3 Strong echo
4 Unknown
5 Unknown
6 Unknown
7 Unknown

Slot 3.1 (Daisy Circuit)

ID What is it?
0 Unknown
1 Unknown
2 Unknown

Slot 3.2 (Koopa Cape)

ID What is it?
0 Music change (normal)
1 Weak echo
2 Unknown
3 Music change (underwater)
4 Water tunnel echo
5 Deactivate all + echo
6 Music change (riverside)
7 Back to normal + echo (unused)

Slot 3.3 (Maple Treeway)

ID What is it?
0 Unknown
1 Unknown
2 Unknown
3 Unknown
4 Unknown

Slot 3.4 (Grumble Volcano)

ID What is it?
0 Unknown
1 Unknown
2 Unknown
3 Unknown

Slot 4.1 (Dry Dry Ruins)

ID What is it?
0 Music change (normal)
1 Music change (indoors, where the bats come from the sides)
2 Music change (indoors, where the half-pipes are)
3 Music change (indoors, where the Pokeys are)
4 Unknown
5 Unknown
6 Unknown
7 Unknown

Slot 4.2 (Moonview Highway)

ID What is it?
0 Music change
1 Unknown
2 Unknown
3 Unknown
4 Unknown
5 Unknown

Slot 4.3 (Bowser's Castle)

ID What is it?
0 Disable one-time use sound trigger (like Bowser's howl)
1 Bowser's howl + echo. Put 7 at the end of a turn to be able to reuse Bowser's howl
2 Sound distortion + echo
3 Deactivate sound distortion + echo
4 Add drums + echo on music + koopaBall/koopaFigure SFX
5 Deactivate koopaBall/koopaFigure SFX
6 Add drums without echo
7 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?
0 Deactivator
1 Gate sound 1 (add a deactivator before and after if you use only one gate)
2 Boost pad star ring sound 1
3 Boost pad star ring sound 2
4 Boost pad star ring sound 3
5 Boost pad star ring sound 4
6 Tunnel sound (add a deactivator to stop it)

Sound triggers are easy to use if you know how to use them.

Here's a good example:

  • 0 → 1 → 2 → 3 → 4 → 5 → 0
    • That's how the original Rainbow Road uses the triggers. All the triggers will play once and won't replay until you reach a deactivator.

Here's a way to play the first gate more than once:

  • 0 → 1 → 0 → 1 → etc.
  • Note that 0 → 2 won't play, and 1 → 1 will only play once. Every sound trigger must be one more time than the one before it, in order for it to work.

The tunnel trigger works similarly. Use a deactivator to stop it.

Slot 5.4 (N64 Mario Raceway)

ID What is it?
0 Unknown
1 Unknown
2 Unknown
3 Unknown

Slot 6.1 (N64 Sherbet Land)

ID What is it?
0 Unknown
1 Unknown
2 Unknown

Slot 6.3 (DS Delfino Square)

ID What is it?
0 Unknown
1 Unknown
2 Unknown
3 Unknown
4 Unknown
5 Unknown
6 Unknown
7 Unknown

Slot 7.3 (N64 DK's Jungle Parkway)

ID What is it?
0 Unknown
1 Unknown
2 Unknown
3 Unknown

Slot 7.4 (GCN Mario Circuit)

ID What is it?
0 Unknown
1 Unknown
2 Unknown

Slot 8.3 (GCN DK Mountain)

ID What is it?
0 Unknown
1 Unknown
2 Unknown

Slot 8.4 (N64 Bowser's Castle)

ID What is it?
0 Disable one-time use sound trigger (like Bowser's howl)
1 Unknown
2 Bowser's howl. Put 0 at the end of a turn to be able to reuse this
3 Unknown
4 Unknown
5 Unknown
6 Unknown

Unknown (0x19)

Nintendo use this type in Wario's Gold Mine and Rainbow Road with variant values 0x400 and 0x410. It seems to be some kind of wall that affects players, but not items.

Basic effect (Z, octal) What is it?
0 Unknown
1-7 Unknown. 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 Enable shadow effect
2 Water splash (pocha)[1]
3 starGate door activation
4 Unknown
5 Unknown
6 Unknown
7 Unknown. Unused
  1. Reusable only if a fall boundary is triggered.

Unknown (0x1B)

Nintendo uses this type only in Toad's Factory with variant value 0x008.

Basic effect (Z, octal) What is it?
0 Unknown
1-7 Unknown. 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 Unknown. 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 Wall (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)