diff options
Diffstat (limited to 'project/src/db-kcl.c')
| -rw-r--r-- | project/src/db-kcl.c | 881 |
1 files changed, 881 insertions, 0 deletions
diff --git a/project/src/db-kcl.c b/project/src/db-kcl.c new file mode 100644 index 0000000..220a8b1 --- /dev/null +++ b/project/src/db-kcl.c @@ -0,0 +1,881 @@ + +// +/////////////////////////////////////////////////////////////////////////////// +////// This file is created by a script. Modifications will be lost! ////// +/////////////////////////////////////////////////////////////////////////////// + +#include "db-kcl.h" + + +// +/////////////////////////////////////////////////////////////////////////////// +//////////////////////////// kcl_attrib_name[] //////////////////////////// +/////////////////////////////////////////////////////////////////////////////// + +const kcl_attrib_name_t kcl_attrib_name[N_KCL_ATTRIB+1] = +{ + { KCLT_C_ROAD, "C_ROAD" }, + { KCLT_C_OFFROAD, "C_OFFROAD" }, + { KCLT_C_FAST, "C_FAST" }, + { KCLT_C_HALFPIPE, "C_HALFPIPE" }, + { KCLT_C_MOVING, "C_MOVING" }, + { KCLT_C_WATER, "C_WATER" }, + { KCLT_C_CANNON, "C_CANNON" }, + { KCLT_C_WALL, "C_WALL" }, + { KCLT_C_FALL, "C_FALL" }, + { KCLT_C_EFFECT, "C_EFFECT" }, + { KCLT_C_ITEM, "C_ITEM" }, + { KCLT_C_UNKNOWN, "C_UNKNOWN" }, + { KCLT_BORDER, "BORDER" }, + { KCLT_DRIVE, "DRIVE" }, + { KCLT_BOOST, "BOOST" }, + { KCLT_TRICK, "TRICK" }, + { KCLT_SOUND, "SOUND" }, + { KCLT_ITEM, "ITEM" }, + { KCLT_UNKNOWN, "UNKNOWN" }, + {0,0} +}; + + +// +/////////////////////////////////////////////////////////////////////////////// +/////////////////////////////// kcl_class[] /////////////////////////////// +/////////////////////////////////////////////////////////////////////////////// + +const kcl_class_t kcl_class[N_KCL_CLASS+1] = +{ + { 0, 16, 0x0a0, "road", "normal road", + KCLT_C_ROAD | KCLT_BORDER | KCLT_DRIVE }, + + { 1, 16, 0x0b0, "offroad", "offroad", + KCLT_C_OFFROAD | KCLT_BORDER | KCLT_DRIVE }, + + { 2, 6, 0x0c0, "fast", "boost and trick", + KCLT_C_FAST | KCLT_BORDER | KCLT_DRIVE }, + + { 3, 5, 0x0c6, "halfpipe", "halfpipe", + KCLT_C_HALFPIPE | KCLT_BORDER | KCLT_DRIVE }, + + { 4, 5, 0x0cb, "moving", "moving terrain", + KCLT_C_MOVING | KCLT_BORDER | KCLT_DRIVE }, + + { 5, 8, 0x0d0, "water", "shallow water", + KCLT_C_WATER | KCLT_BORDER | KCLT_DRIVE }, + + { 6, 5, 0x0d8, "cannon", "cannon activator", + KCLT_C_CANNON }, + + { 7, 16, 0x0dd, "wall", "wall", + KCLT_C_WALL | KCLT_BORDER }, + + { 8, 10, 0x0ed, "fall", "fall or out of bounds", + KCLT_C_FALL }, + + { 9, 10, 0x0f7, "effect", "sound trigger and other effects", + KCLT_C_EFFECT }, + + { 10, 5, 0x101, "item", "for items only", + KCLT_C_ITEM | KCLT_ITEM }, + + { 11, 10, 0x106, "unknown", "unknown type", + KCLT_C_UNKNOWN }, + + {0,0,0} +}; + + +// +/////////////////////////////////////////////////////////////////////////////// +/////////////////////////////// kcl_color[] /////////////////////////////// +/////////////////////////////////////////////////////////////////////////////// + +const u8 kcl_color[N_KCL_COLORS][4] = +{ + {0,0,0,0}, // 0x000 unknown + {0xc0,0x00,0x00,0xff}, // 0x001 kmp_ckpt_warning + {0xc0,0x00,0x00,0xb0}, // 0x002 kmp_ckpt_warning_t + {0xc0,0x00,0x00,0x70}, // 0x003 kmp_ckpt_warning_tt + {0x20,0x00,0x80,0xff}, // 0x004 kmp_ckpt_lap + {0x20,0x00,0x80,0xb0}, // 0x005 kmp_ckpt_lap_t + {0x20,0x00,0x80,0x70}, // 0x006 kmp_ckpt_lap_tt + {0x00,0x00,0xc0,0xff}, // 0x007 kmp_ckpt_mandatory + {0x00,0x00,0xc0,0xb0}, // 0x008 kmp_ckpt_mandatory_t + {0x00,0x00,0xc0,0x70}, // 0x009 kmp_ckpt_mandatory_tt + {0x00,0x00,0x40,0xff}, // 0x00a kmp_ckpt_mandatory5 + {0x00,0x00,0x40,0xb0}, // 0x00b kmp_ckpt_mandatory5_t + {0x00,0x00,0x40,0x70}, // 0x00c kmp_ckpt_mandatory5_tt + {0x00,0xc0,0xc0,0xff}, // 0x00d kmp_ckpt_etc + {0x00,0xc0,0xc0,0xb0}, // 0x00e kmp_ckpt_etc_t + {0x00,0xc0,0xc0,0x70}, // 0x00f kmp_ckpt_etc_tt + {0x80,0x00,0x00,0xff}, // 0x010 kmp_ckpt_tie_lt + {0x00,0x80,0x00,0xff}, // 0x011 kmp_ckpt_tie_rt + {0x40,0x00,0x00,0xff}, // 0x012 kmp_ckpt_tie_group_lt + {0x00,0x40,0x00,0xff}, // 0x013 kmp_ckpt_tie_group_rt + {0x50,0x00,0x30,0xff}, // 0x014 kmp_ckpt_tie_next_lt + {0x00,0x50,0x50,0xff}, // 0x015 kmp_ckpt_tie_next_rt + {0x00,0x80,0x00,0xff}, // 0x016 kmp_ckpt_jgpt + {0x00,0x40,0x00,0xff}, // 0x017 kmp_jgpt + {0x20,0xa0,0x20,0x80}, // 0x018 kmp_jgpt_area + {0x00,0x00,0x00,0xff}, // 0x019 kmp_ktpt + {0x80,0x80,0x80,0x80}, // 0x01a kmp_ktpt_area + {0x00,0x00,0x80,0xc0}, // 0x01b kmp_enpt + {0x00,0x00,0x80,0xc0}, // 0x01c kmp_enpt_single + {0x00,0x40,0xa0,0xc0}, // 0x01d kmp_enpt_tie_bi + {0x00,0x60,0xb0,0xc0}, // 0x01e kmp_enpt_tie_next + {0x00,0xb0,0xb0,0xc0}, // 0x01f kmp_enpt_tie_prev + {0x00,0x80,0xc0,0xff}, // 0x020 kmp_enpt_dispatch + {0x40,0x00,0x00,0xc0}, // 0x021 kmp_itpt + {0x40,0x00,0x00,0xc0}, // 0x022 kmp_itpt_single + {0x60,0x00,0x40,0xc0}, // 0x023 kmp_itpt_tie_bi + {0x80,0x00,0x50,0xc0}, // 0x024 kmp_itpt_tie_next + {0xa0,0x00,0xa0,0xc0}, // 0x025 kmp_itpt_tie_prev + {0xe0,0x00,0x80,0xff}, // 0x026 kmp_itpt_dispatch + {0xff,0x80,0xff,0xff}, // 0x027 kmp_cnpt_landing + {0xff,0xa0,0xff,0xff}, // 0x028 kmp_cnpt_way + {0x80,0x80,0x00,0xff}, // 0x029 kmp_area_arrow + {0x80,0x80,0x00,0x40}, // 0x02a kmp_area_border + {0x00,0x80,0x00,0xc0}, // 0x02b kmp_poti0 + {0x00,0x92,0x49,0xc0}, // 0x02c kmp_poti1 + {0x24,0xa4,0x12,0xc0}, // 0x02d kmp_poti2 + {0x24,0xa4,0x12,0xc0}, // 0x02e kmp_poti3 + {0x70,0x70,0x70,0xff}, // 0x02f kmp_itembox + {0x40,0x40,0x40,0xff}, // 0x030 kmp_itembox_enemy + {0x40,0x10,0x10,0xff}, // 0x031 kmp_itembox_player + {0x60,0xa0,0x60,0xe0}, // 0x032 kmp_itemroute + {0x30,0x70,0x30,0xe0}, // 0x033 kmp_itemroute_enemy + {0x50,0x10,0x10,0xe0}, // 0x034 kmp_itemroute_player + {0x00,0x70,0x00,0xff}, // 0x035 kmp_kinoko_green + {0x90,0x18,0x00,0xff}, // 0x036 kmp_kinoko_red + {0x70,0x40,0x60,0xff}, // 0x037 kmp_bridge + {0x10,0x7b,0x18,0xff}, // 0x038 kmp_dokan + {0xde,0x82,0x31,0xff}, // 0x039 kmp_karehayama + {0x70,0x5e,0x36,0xff}, // 0x03a kmp_obakeblock + {0x00,0x80,0x00,0x40}, // 0x03b kmp_tree_crown + {0x58,0x32,0x10,0xff}, // 0x03c kmp_tree_trunk + {0x9c,0x69,0x21,0xff}, // 0x03d kmp_woodbox + {0xe0,0xb0,0x00,0xff}, // 0x03e kmp_coin_start + {0xff,0xd7,0x00,0xff}, // 0x03f kmp_coin_respawn + {0xff,0xb0,0x00,0xff}, // 0x040 kmp_coin_invalid + {0x40,0x40,0x80,0xff}, // 0x041 kmp_solid_object + {0x20,0x80,0x80,0xe0}, // 0x042 kmp_solid_route + {0x80,0x00,0xff,0xc0}, // 0x043 kmp_deco_object + {0x10,0x10,0x10,0xff}, // 0x044 kmp_zero_ground_black + {0xf0,0xf0,0xf0,0xff}, // 0x045 kmp_zero_ground_white + {0xff,0x20,0x20,0xff}, // 0x046 red + {0xff,0x20,0x20,0xb0}, // 0x047 red_t + {0xff,0x20,0x20,0x70}, // 0x048 red_tt + {0xff,0x60,0x10,0xff}, // 0x049 red_orange + {0xff,0x60,0x10,0xb0}, // 0x04a red_orange_t + {0xff,0x60,0x10,0x70}, // 0x04b red_orange_tt + {0xff,0xa0,0x00,0xff}, // 0x04c orange + {0xff,0xa0,0x00,0xb0}, // 0x04d orange_t + {0xff,0xa0,0x00,0x70}, // 0x04e orange_tt + {0xf8,0xc8,0x00,0xff}, // 0x04f orange_yellow + {0xf8,0xc8,0x00,0xb0}, // 0x050 orange_yellow_t + {0xf8,0xc8,0x00,0x70}, // 0x051 orange_yellow_tt + {0xf0,0xf0,0x00,0xff}, // 0x052 yellow + {0xf0,0xf0,0x00,0xb0}, // 0x053 yellow_t + {0xf0,0xf0,0x00,0x70}, // 0x054 yellow_tt + {0xa0,0xf0,0x00,0xff}, // 0x055 yellow_green + {0xa0,0xf0,0x00,0xb0}, // 0x056 yellow_green_t + {0xa0,0xf0,0x00,0x70}, // 0x057 yellow_green_tt + {0x00,0xff,0x00,0xff}, // 0x058 green + {0x00,0xff,0x00,0xb0}, // 0x059 green_t + {0x00,0xff,0x00,0x70}, // 0x05a green_tt + {0x00,0xff,0xa0,0xff}, // 0x05b green_cyan + {0x00,0xff,0xa0,0xb0}, // 0x05c green_cyan_t + {0x00,0xff,0xa0,0x70}, // 0x05d green_cyan_tt + {0x00,0xff,0xff,0xff}, // 0x05e cyan + {0x00,0xff,0xff,0xb0}, // 0x05f cyan_t + {0x00,0xff,0xff,0x70}, // 0x060 cyan_tt + {0x10,0x90,0xff,0xff}, // 0x061 cyan_blue + {0x10,0x90,0xff,0xb0}, // 0x062 cyan_blue_t + {0x10,0x90,0xff,0x70}, // 0x063 cyan_blue_tt + {0x20,0x20,0xff,0xff}, // 0x064 blue + {0x20,0x20,0xff,0xb0}, // 0x065 blue_t + {0x20,0x20,0xff,0x70}, // 0x066 blue_tt + {0x80,0x00,0xff,0xff}, // 0x067 blue_magenta + {0x80,0x00,0xff,0xb0}, // 0x068 blue_magenta_t + {0x80,0x00,0xff,0x70}, // 0x069 blue_magenta_tt + {0xff,0x00,0xff,0xff}, // 0x06a magenta + {0xff,0x00,0xff,0xb0}, // 0x06b magenta_t + {0xff,0x00,0xff,0x70}, // 0x06c magenta_tt + {0xff,0x00,0x80,0xff}, // 0x06d magenta_red + {0xff,0x00,0x80,0xb0}, // 0x06e magenta_red_t + {0xff,0x00,0x80,0x70}, // 0x06f magenta_red_tt + {0x80,0x50,0x10,0xff}, // 0x070 brown + {0x80,0x50,0x10,0xb0}, // 0x071 brown_t + {0x80,0x50,0x10,0x70}, // 0x072 brown_tt + {0xff,0xff,0xff,0xff}, // 0x073 white + {0xff,0xff,0xff,0xb0}, // 0x074 white_t + {0xff,0xff,0xff,0x70}, // 0x075 white_tt + {0xa0,0xa0,0xa0,0xff}, // 0x076 grey + {0xa0,0xa0,0xa0,0xb0}, // 0x077 grey_t + {0xa0,0xa0,0xa0,0x70}, // 0x078 grey_tt + {0x01,0x01,0x01,0xff}, // 0x079 black + {0x01,0x01,0x01,0xb0}, // 0x07a black_t + {0x01,0x01,0x01,0x70}, // 0x07b black_tt + {0xff,0xd7,0x00,0xff}, // 0x07c gold + {0xff,0xd7,0x00,0xb0}, // 0x07d gold_t + {0xff,0xd7,0x00,0x70}, // 0x07e gold_tt + {0xc0,0xc0,0xc0,0xff}, // 0x07f silver + {0xc0,0xc0,0xc0,0xb0}, // 0x080 silver_t + {0xc0,0xc0,0xc0,0x70}, // 0x081 silver_tt + {0xd8,0xb0,0x80,0xff}, // 0x082 bronze + {0xd8,0xb0,0x80,0xb0}, // 0x083 bronze_t + {0xd8,0xb0,0x80,0x70}, // 0x084 bronze_tt + {0x00,0xd0,0xff,0xff}, // 0x085 test0 + {0x00,0xd0,0xff,0xb0}, // 0x086 test0_t + {0x00,0xd0,0xff,0x70}, // 0x087 test0_tt + {0x00,0xff,0xd0,0xff}, // 0x088 test1 + {0x00,0xff,0xd0,0xb0}, // 0x089 test1_t + {0x00,0xff,0xd0,0x70}, // 0x08a test1_tt + {0x60,0xff,0x00,0xff}, // 0x08b test2 + {0x60,0xff,0x00,0xb0}, // 0x08c test2_t + {0x60,0xff,0x00,0x70}, // 0x08d test2_tt + {0xf0,0xf0,0x00,0xff}, // 0x08e test3 + {0xf0,0xf0,0x00,0xb0}, // 0x08f test3_t + {0xf0,0xf0,0x00,0x70}, // 0x090 test3_tt + {0xff,0xa0,0x00,0xff}, // 0x091 test4 + {0xff,0xa0,0x00,0xb0}, // 0x092 test4_t + {0xff,0xa0,0x00,0x70}, // 0x093 test4_tt + {0xff,0x60,0x10,0xff}, // 0x094 test5 + {0xff,0x60,0x10,0xb0}, // 0x095 test5_t + {0xff,0x60,0x10,0x70}, // 0x096 test5_tt + {0xff,0x20,0x20,0xff}, // 0x097 test6 + {0xff,0x20,0x20,0xb0}, // 0x098 test6_t + {0xff,0x20,0x20,0x70}, // 0x099 test6_tt + {0xff,0x00,0x80,0xff}, // 0x09a test7 + {0xff,0x00,0x80,0xb0}, // 0x09b test7_t + {0xff,0x00,0x80,0x70}, // 0x09c test7_tt + {0xff,0x00,0xff,0xff}, // 0x09d test8 + {0xff,0x00,0xff,0xb0}, // 0x09e test8_t + {0xff,0x00,0xff,0x70}, // 0x09f test8_tt + + {0xff,0x00,0x00,0xff}, // 0x0a0 road_1 + {0xe8,0x00,0xe8,0xff}, // 0x0a1 road_2 + {0xda,0x00,0x00,0xff}, // 0x0a2 road_3 + {0xba,0x00,0xba,0xff}, // 0x0a3 road_4 + {0xb6,0x00,0x00,0xff}, // 0x0a4 road_5 + {0x8d,0x00,0x8d,0xff}, // 0x0a5 road_6 + {0x92,0x00,0x00,0xff}, // 0x0a6 road_7 + {0x60,0x00,0x60,0xff}, // 0x0a7 road_8 + {0xff,0x00,0xff,0xff}, // 0x0a8 road_9 + {0xec,0x00,0x00,0xff}, // 0x0a9 road_10 + {0xd1,0x00,0xd1,0xff}, // 0x0aa road_11 + {0xc8,0x00,0x00,0xff}, // 0x0ab road_12 + {0xa4,0x00,0xa4,0xff}, // 0x0ac road_13 + {0xa4,0x00,0x00,0xff}, // 0x0ad road_14 + {0x76,0x00,0x76,0xff}, // 0x0ae road_15 + {0x80,0x00,0x00,0xff}, // 0x0af road_16 + {0xc0,0x60,0x60,0xff}, // 0x0b0 offroad_1 + {0xf1,0x40,0x00,0xff}, // 0x0b1 offroad_2 + {0xa4,0x4d,0x44,0xff}, // 0x0b2 offroad_3 + {0xd6,0x40,0x00,0xff}, // 0x0b3 offroad_4 + {0x89,0x3b,0x29,0xff}, // 0x0b4 offroad_5 + {0xbb,0x40,0x00,0xff}, // 0x0b5 offroad_6 + {0x6d,0x29,0x0d,0xff}, // 0x0b6 offroad_7 + {0xa0,0x40,0x00,0xff}, // 0x0b7 offroad_8 + {0xff,0x40,0x00,0xff}, // 0x0b8 offroad_9 + {0xb2,0x56,0x52,0xff}, // 0x0b9 offroad_10 + {0xe3,0x40,0x00,0xff}, // 0x0ba offroad_11 + {0x96,0x44,0x36,0xff}, // 0x0bb offroad_12 + {0xc8,0x40,0x00,0xff}, // 0x0bc offroad_13 + {0x7b,0x32,0x1b,0xff}, // 0x0bd offroad_14 + {0xad,0x40,0x00,0xff}, // 0x0be offroad_15 + {0x60,0x20,0x00,0xff}, // 0x0bf offroad_16 + {0xff,0xa0,0x30,0xff}, // 0x0c0 fast_1 + {0xe6,0x79,0x23,0xff}, // 0x0c1 fast_2 + {0xf2,0x8c,0x29,0xff}, // 0x0c2 fast_3 + {0xf8,0x96,0x2c,0xff}, // 0x0c3 fast_4 + {0xe0,0x70,0x20,0xff}, // 0x0c4 fast_5 + {0xec,0x83,0x26,0xff}, // 0x0c5 fast_6 + {0x00,0x80,0xff,0xff}, // 0x0c6 halfpipe_1 + {0x00,0x68,0xcf,0xff}, // 0x0c7 halfpipe_2 + {0x00,0x78,0xef,0xff}, // 0x0c8 halfpipe_3 + {0x00,0x60,0xc0,0xff}, // 0x0c9 halfpipe_4 + {0x00,0x70,0xdf,0xff}, // 0x0ca halfpipe_5 + {0xff,0x00,0x60,0xff}, // 0x0cb moving_1 + {0xcf,0x00,0x60,0xff}, // 0x0cc moving_2 + {0xef,0x00,0x60,0xff}, // 0x0cd moving_3 + {0xc0,0x00,0x60,0xff}, // 0x0ce moving_4 + {0xdf,0x00,0x60,0xff}, // 0x0cf moving_5 + {0x00,0x00,0xff,0xff}, // 0x0d0 water_1 + {0x00,0x00,0xa4,0xff}, // 0x0d1 water_2 + {0x00,0x00,0xda,0xff}, // 0x0d2 water_3 + {0x00,0x00,0x80,0xff}, // 0x0d3 water_4 + {0x00,0x00,0xb6,0xff}, // 0x0d4 water_5 + {0x00,0x00,0xec,0xff}, // 0x0d5 water_6 + {0x00,0x00,0x92,0xff}, // 0x0d6 water_7 + {0x00,0x00,0xc8,0xff}, // 0x0d7 water_8 + {0xff,0x80,0xff,0xff}, // 0x0d8 cannon_1 + {0x9f,0x50,0x9f,0xff}, // 0x0d9 cannon_2 + {0xdf,0x70,0xdf,0xff}, // 0x0da cannon_3 + {0x80,0x40,0x80,0xff}, // 0x0db cannon_4 + {0xbf,0x60,0xbf,0xff}, // 0x0dc cannon_5 + {0x00,0x80,0x00,0xa0}, // 0x0dd wall_1 + {0x00,0x92,0x49,0xa0}, // 0x0de wall_2 + {0x24,0xa4,0x12,0xa0}, // 0x0df wall_3 + {0x00,0xb6,0x5b,0xa0}, // 0x0e0 wall_4 + {0x49,0xc8,0x24,0xa0}, // 0x0e1 wall_5 + {0x00,0xda,0x6d,0xa0}, // 0x0e2 wall_6 + {0x6d,0xec,0x36,0xa0}, // 0x0e3 wall_7 + {0x00,0xff,0x80,0xa0}, // 0x0e4 wall_8 + {0x00,0x80,0x40,0xa0}, // 0x0e5 wall_9 + {0x12,0x92,0x09,0xa0}, // 0x0e6 wall_10 + {0x00,0xa4,0x52,0xa0}, // 0x0e7 wall_11 + {0x36,0xb6,0x1b,0xa0}, // 0x0e8 wall_12 + {0x00,0xc8,0x64,0xa0}, // 0x0e9 wall_13 + {0x5b,0xda,0x2d,0xa0}, // 0x0ea wall_14 + {0x00,0xec,0x76,0xa0}, // 0x0eb wall_15 + {0x80,0xff,0x40,0xa0}, // 0x0ec wall_16 + {0x00,0x00,0x00,0xff}, // 0x0ed fall_1 + {0x30,0x10,0x10,0xff}, // 0x0ee fall_2 + {0x20,0x20,0x20,0xff}, // 0x0ef fall_3 + {0x50,0x30,0x30,0xff}, // 0x0f0 fall_4 + {0x40,0x40,0x40,0xff}, // 0x0f1 fall_5 + {0x10,0x10,0x10,0xff}, // 0x0f2 fall_6 + {0x40,0x20,0x20,0xff}, // 0x0f3 fall_7 + {0x30,0x30,0x30,0xff}, // 0x0f4 fall_8 + {0x60,0x40,0x40,0xff}, // 0x0f5 fall_9 + {0x20,0x00,0x00,0xff}, // 0x0f6 fall_10 + {0x00,0xff,0xff,0xa0}, // 0x0f7 effect_1 + {0x15,0xaa,0xaa,0xa0}, // 0x0f8 effect_2 + {0x07,0xe2,0xe2,0xa0}, // 0x0f9 effect_3 + {0x1c,0x8e,0x8e,0xa0}, // 0x0fa effect_4 + {0x0e,0xc6,0xc6,0xa0}, // 0x0fb effect_5 + {0x03,0xf0,0xf0,0xa0}, // 0x0fc effect_6 + {0x18,0x9c,0x9c,0xa0}, // 0x0fd effect_7 + {0x0a,0xd4,0xd4,0xa0}, // 0x0fe effect_8 + {0x20,0x80,0x80,0xa0}, // 0x0ff effect_9 + {0x11,0xb8,0xb8,0xa0}, // 0x100 effect_10 + {0x30,0xff,0x80,0xff}, // 0x101 item_1 + {0x1e,0xcf,0x68,0xff}, // 0x102 item_2 + {0x2a,0xef,0x78,0xff}, // 0x103 item_3 + {0x18,0xc0,0x60,0xff}, // 0x104 item_4 + {0x24,0xdf,0x70,0xff}, // 0x105 item_5 + {0xff,0xff,0xff,0xa0}, // 0x106 unknown_1 + {0xd0,0xd0,0xef,0xa0}, // 0x107 unknown_2 + {0xdf,0xdf,0xdf,0xa0}, // 0x108 unknown_3 + {0xb0,0xb0,0xcf,0xa0}, // 0x109 unknown_4 + {0xbf,0xbf,0xbf,0xa0}, // 0x10a unknown_5 + {0xef,0xef,0xef,0xa0}, // 0x10b unknown_6 + {0xc0,0xc0,0xdf,0xa0}, // 0x10c unknown_7 + {0xcf,0xcf,0xcf,0xa0}, // 0x10d unknown_8 + {0xa0,0xa0,0xbf,0xa0}, // 0x10e unknown_9 + {0xe0,0xe0,0xff,0xa0}, // 0x10f unknown_10 +}; + + +// +/////////////////////////////////////////////////////////////////////////////// +/////////////////////////////// kcl_type[] //////////////////////////////// +/////////////////////////////////////////////////////////////////////////////// + +const kcl_type_t kcl_type[N_KCL_TYPE+1] = +{ + { 0x00, 0, "Road", + KCLT_C_ROAD | KCLT_BORDER | KCLT_DRIVE }, + + { 0x01, 1, "Slippery Road 1", + KCLT_C_OFFROAD | KCLT_BORDER | KCLT_DRIVE }, + + { 0x02, 1, "Weak Off-road", + KCLT_C_OFFROAD | KCLT_BORDER | KCLT_DRIVE }, + + { 0x03, 1, "Off-road", + KCLT_C_OFFROAD | KCLT_BORDER | KCLT_DRIVE }, + + { 0x04, 1, "Heavy Off-road", + KCLT_C_OFFROAD | KCLT_BORDER | KCLT_DRIVE }, + + { 0x05, 1, "Slippery Road 2", + KCLT_C_OFFROAD | KCLT_BORDER | KCLT_DRIVE }, + + { 0x06, 2, "Boost Pad", + KCLT_C_FAST | KCLT_BORDER | KCLT_DRIVE | KCLT_BOOST }, + + { 0x07, 2, "Boost Ramp", + KCLT_C_FAST | KCLT_BORDER | KCLT_DRIVE | KCLT_BOOST | KCLT_TRICK }, + + { 0x08, 2, "Jump Pad", + KCLT_C_FAST | KCLT_BORDER | KCLT_DRIVE | KCLT_TRICK }, + + { 0x09, 10, "Item Road", + KCLT_C_ITEM | KCLT_ITEM }, + + { 0x0a, 8, "Solid Fall", + KCLT_C_FALL }, + + { 0x0b, 5, "Moving Water", + KCLT_C_WATER | KCLT_BORDER | KCLT_DRIVE }, + + { 0x0c, 7, "Wall", + KCLT_C_WALL | KCLT_BORDER }, + + { 0x0d, 7, "Invisible Wall", + KCLT_C_WALL | KCLT_BORDER | KCLT_ITEM }, + + { 0x0e, 10, "Item Wall", + KCLT_C_ITEM | KCLT_ITEM }, + + { 0x0f, 7, "Wall", + KCLT_C_WALL | KCLT_BORDER }, + + { 0x10, 8, "Fall Boundary", + KCLT_C_FALL }, + + { 0x11, 6, "Cannon Activator", + KCLT_C_CANNON }, + + { 0x12, 9, "Recalculation", + KCLT_C_EFFECT }, + + { 0x13, 3, "Half-pipe Ramp", + KCLT_C_HALFPIPE | KCLT_BORDER | KCLT_DRIVE }, + + { 0x14, 7, "Wall", + KCLT_C_WALL | KCLT_BORDER }, + + { 0x15, 4, "Moving Road", + KCLT_C_MOVING | KCLT_BORDER | KCLT_DRIVE }, + + { 0x16, 0, "Gravity Road", + KCLT_C_ROAD | KCLT_BORDER | KCLT_DRIVE }, + + { 0x17, 0, "Road", + KCLT_C_ROAD | KCLT_BORDER | KCLT_DRIVE }, + + { 0x18, 9, "Sound Trigger", + KCLT_C_EFFECT | KCLT_SOUND }, + + { 0x19, 11, "Unknown", + KCLT_C_UNKNOWN | KCLT_UNKNOWN }, + + { 0x1a, 9, "Effect Trigger", + KCLT_C_EFFECT }, + + { 0x1b, 11, "Unknown", + KCLT_C_UNKNOWN | KCLT_UNKNOWN }, + + { 0x1c, 11, "Unknown", + KCLT_C_UNKNOWN | KCLT_UNKNOWN }, + + { 0x1d, 0, "Moving Road", + KCLT_C_ROAD | KCLT_BORDER | KCLT_DRIVE }, + + { 0x1e, 7, "Special Wall", + KCLT_C_WALL | KCLT_BORDER }, + + { 0x1f, 7, "Wall", + KCLT_C_WALL | KCLT_BORDER }, + + {0,0,0,0} +}; + + +// +/////////////////////////////////////////////////////////////////////////////// +////////////////////////////// GetFlagName() ////////////////////////////// +/////////////////////////////////////////////////////////////////////////////// + +ccp GetFlagName ( uint kcl_flag ) +{ + static ccp tab[] = + { + "UNKNOWN", + "CKPT_WARNING", + "CKPT_WARNING_T", + "CKPT_WARNING_TT", + "CKPT_LC", + "CKPT_LC_T", + "CKPT_LC_TT", + "CKPT_MD", + "CKPT_MD_T", + "CKPT_MD_TT", + "CKPT_MD5", + "CKPT_MD5_T", + "CKPT_MD5_TT", + "CKPT_ETC", + "CKPT_ETC_T", + "CKPT_ETC_TT", + "CKPT_TIE_LT", + "CKPT_TIE_RT", + "CKPT_TIE_GROUP_LT", + "CKPT_TIE_GROUP_RT", + "CKPT_TIE_NEXT_LT", + "CKPT_TIE_NEXT_RT", + "CKPT_JGPT", + "JGPT", + "JGPT_AREA", + "KTPT", + "KTPT_AREA", + "ENPT", + "ENPT_SINGLE", + "ENPT_TIE_BI", + "ENPT_TIE_NEXT", + "ENPT_TIE_PREV", + "ENPT_DISPATCH", + "ITPT", + "ITPT_SINGLE", + "ITPT_TIE_BI", + "ITPT_TIE_NEXT", + "ITPT_TIE_PREV", + "ITPT_DISPATCH", + "CNPT_LANDING", + "CNPT_WAY", + "AREA_ARROW", + "AREA_BORDER", + "POTI0", + "POTI1", + "POTI2", + "POTI3", + "ITEMBOX", + "ITEMBOX_ENEMY", + "ITEMBOX_PLAYER", + "ITEMROUTE", + "ITEMROUTE_ENEMY", + "ITEMROUTE_PLAYER", + "KINOKO_GREEN", + "KINOKO_RED", + "BRIDGE", + "DOKAN", + "KAREHAYAMA", + "OBAKEBLOCK", + "TREE_CROWN", + "TREE_TRUNK", + "WOODBOX", + "COIN_START", + "COIN_RESPAWN", + "COIN_INVALID", + "SOLIDOBJ", + "SOLID_ROUTE", + "DECORATION", + "ZERO_GROUND_BLACK", + "ZERO_GROUND_WHITE", + "RED", + "RED_T", + "RED_TT", + "RED_ORANGE", + "RED_ORANGE_T", + "RED_ORANGE_TT", + "ORANGE", + "ORANGE_T", + "ORANGE_TT", + "ORANGE_YELLOW", + "ORANGE_YELLOW_T", + "ORANGE_YELLOW_TT", + "YELLOW", + "YELLOW_T", + "YELLOW_TT", + "YELLOW_GREEN", + "YELLOW_GREEN_T", + "YELLOW_GREEN_TT", + "GREEN", + "GREEN_T", + "GREEN_TT", + "GREEN_CYAN", + "GREEN_CYAN_T", + "GREEN_CYAN_TT", + "CYAN", + "CYAN_T", + "CYAN_TT", + "CYAN_BLUE", + "CYAN_BLUE_T", + "CYAN_BLUE_TT", + "BLUE", + "BLUE_T", + "BLUE_TT", + "BLUE_MAGENTA", + "BLUE_MAGENTA_T", + "BLUE_MAGENTA_TT", + "MAGENTA", + "MAGENTA_T", + "MAGENTA_TT", + "MAGENTA_RED", + "MAGENTA_RED_T", + "MAGENTA_RED_TT", + "BROWN", + "BROWN_T", + "BROWN_TT", + "WHITE", + "WHITE_T", + "WHITE_TT", + "GREY", + "GREY_T", + "GREY_TT", + "BLACK", + "BLACK_T", + "BLACK_TT", + "GOLD", + "GOLD_T", + "GOLD_TT", + "SILVER", + "SILVER_T", + "SILVER_TT", + "BRONZE", + "BRONZE_T", + "BRONZE_TT", + "TEST0", + "TEST0_T", + "TEST0_TT", + "TEST1", + "TEST1_T", + "TEST1_TT", + "TEST2", + "TEST2_T", + "TEST2_TT", + "TEST3", + "TEST3_T", + "TEST3_TT", + "TEST4", + "TEST4_T", + "TEST4_TT", + "TEST5", + "TEST5_T", + "TEST5_TT", + "TEST6", + "TEST6_T", + "TEST6_TT", + "TEST7", + "TEST7_T", + "TEST7_TT", + "TEST8", + "TEST8_T", + "TEST8_TT", + }; + + return tab[ kcl_flag > N_KCL_FLAG && kcl_flag < NN_KCL_FLAG + ? kcl_flag - N_KCL_FLAG : 0 ]; +}; + + +// +/////////////////////////////////////////////////////////////////////////////// +/////////////////////////// GetFlagGroupName() //////////////////////////// +/////////////////////////////////////////////////////////////////////////////// + +ccp GetFlagGroupName ( uint kcl_flag ) +{ + static ccp tab[] = + { + "unknown", + "kmp_ckpt_warning", + "kmp_ckpt_warning_t", + "kmp_ckpt_warning_tt", + "kmp_ckpt_lap", + "kmp_ckpt_lap_t", + "kmp_ckpt_lap_tt", + "kmp_ckpt_mandatory", + "kmp_ckpt_mandatory_t", + "kmp_ckpt_mandatory_tt", + "kmp_ckpt_mandatory5", + "kmp_ckpt_mandatory5_t", + "kmp_ckpt_mandatory5_tt", + "kmp_ckpt_etc", + "kmp_ckpt_etc_t", + "kmp_ckpt_etc_tt", + "kmp_ckpt_tie_lt", + "kmp_ckpt_tie_rt", + "kmp_ckpt_tie_group_lt", + "kmp_ckpt_tie_group_rt", + "kmp_ckpt_tie_next_lt", + "kmp_ckpt_tie_next_rt", + "kmp_ckpt_jgpt", + "kmp_jgpt", + "kmp_jgpt_area", + "kmp_ktpt", + "kmp_ktpt_area", + "kmp_enpt", + "kmp_enpt_single", + "kmp_enpt_tie_bi", + "kmp_enpt_tie_next", + "kmp_enpt_tie_prev", + "kmp_enpt_dispatch", + "kmp_itpt", + "kmp_itpt_single", + "kmp_itpt_tie_bi", + "kmp_itpt_tie_next", + "kmp_itpt_tie_prev", + "kmp_itpt_dispatch", + "kmp_cnpt_landing", + "kmp_cnpt_way", + "kmp_area_arrow", + "kmp_area_border", + "kmp_poti0", + "kmp_poti1", + "kmp_poti2", + "kmp_poti3", + "kmp_itembox", + "kmp_itembox_enemy", + "kmp_itembox_player", + "kmp_itemroute", + "kmp_itemroute_enemy", + "kmp_itemroute_player", + "kmp_kinoko_green", + "kmp_kinoko_red", + "kmp_bridge", + "kmp_dokan", + "kmp_karehayama", + "kmp_obakeblock", + "kmp_tree_crown", + "kmp_tree_trunk", + "kmp_woodbox", + "kmp_coin_start", + "kmp_coin_respawn", + "kmp_coin_invalid", + "kmp_solid_object", + "kmp_solid_route", + "kmp_deco_object", + "kmp_zero_ground_black", + "kmp_zero_ground_white", + "red", + "red_t", + "red_tt", + "red_orange", + "red_orange_t", + "red_orange_tt", + "orange", + "orange_t", + "orange_tt", + "orange_yellow", + "orange_yellow_t", + "orange_yellow_tt", + "yellow", + "yellow_t", + "yellow_tt", + "yellow_green", + "yellow_green_t", + "yellow_green_tt", + "green", + "green_t", + "green_tt", + "green_cyan", + "green_cyan_t", + "green_cyan_tt", + "cyan", + "cyan_t", + "cyan_tt", + "cyan_blue", + "cyan_blue_t", + "cyan_blue_tt", + "blue", + "blue_t", + "blue_tt", + "blue_magenta", + "blue_magenta_t", + "blue_magenta_tt", + "magenta", + "magenta_t", + "magenta_tt", + "magenta_red", + "magenta_red_t", + "magenta_red_tt", + "brown", + "brown_t", + "brown_tt", + "white", + "white_t", + "white_tt", + "grey", + "grey_t", + "grey_tt", + "black", + "black_t", + "black_tt", + "gold", + "gold_t", + "gold_tt", + "silver", + "silver_t", + "silver_tt", + "bronze", + "bronze_t", + "bronze_tt", + "test0", + "test0_t", + "test0_tt", + "test1", + "test1_t", + "test1_tt", + "test2", + "test2_t", + "test2_tt", + "test3", + "test3_t", + "test3_tt", + "test4", + "test4_t", + "test4_tt", + "test5", + "test5_t", + "test5_tt", + "test6", + "test6_t", + "test6_tt", + "test7", + "test7_t", + "test7_tt", + "test8", + "test8_t", + "test8_tt", + }; + + return tab[ kcl_flag > N_KCL_FLAG && kcl_flag < NN_KCL_FLAG + ? kcl_flag - N_KCL_FLAG : 0 ]; +}; + + +// +/////////////////////////////////////////////////////////////////////////////// +/////////////////////////// kcl_color_key_tab[] /////////////////////////// +/////////////////////////////////////////////////////////////////////////////// + +const KeywordTab_t kcl_color_key_tab[] = +{ + { KCL_FLAG_BLACK, "BLACK", 0, 1 }, + { KCL_FLAG_BLUE, "BLUE", 0, 1 }, + { KCL_FLAG_BLUE_MAGENTA, "BLUE-MAGENTA", "BLUEMAGENTA", 1 }, + { KCL_FLAG_BLUE_MAGENTA, "MAGENTA-BLUE", "MAGENTABLUE", 1 }, + { KCL_FLAG_BRONZE, "BRONZE", 0, 1 }, + { KCL_FLAG_BROWN, "BROWN", 0, 1 }, + { KCL_FLAG_CYAN, "CYAN", 0, 1 }, + { KCL_FLAG_CYAN_BLUE, "CYAN-BLUE", "CYANBLUE", 1 }, + { KCL_FLAG_CYAN_BLUE, "BLUE-CYAN", "BLUECYAN", 1 }, + { KCL_FLAG_GOLD, "GOLD", 0, 1 }, + { KCL_FLAG_GREEN, "GREEN", 0, 1 }, + { KCL_FLAG_GREEN_CYAN, "GREEN-CYAN", "GREENCYAN", 1 }, + { KCL_FLAG_GREEN_CYAN, "CYAN-GREEN", "CYANGREEN", 1 }, + { KCL_FLAG_GREY, "GREY", 0, 1 }, + { KCL_FLAG_MAGENTA, "MAGENTA", 0, 1 }, + { KCL_FLAG_MAGENTA_RED, "MAGENTA-RED", "MAGENTARED", 1 }, + { KCL_FLAG_MAGENTA_RED, "RED-MAGENTA", "REDMAGENTA", 1 }, + { KCL_FLAG_ORANGE, "ORANGE", 0, 1 }, + { KCL_FLAG_ORANGE_YELLOW, "ORANGE-YELLOW", "ORANGEYELLOW", 1 }, + { KCL_FLAG_ORANGE_YELLOW, "YELLOW-ORANGE", "YELLOWORANGE", 1 }, + { KCL_FLAG_RED, "RED", 0, 1 }, + { KCL_FLAG_RED_ORANGE, "RED-ORANGE", "REDORANGE", 1 }, + { KCL_FLAG_RED_ORANGE, "ORANGE-RED", "ORANGERED", 1 }, + { KCL_FLAG_SILVER, "SILVER", 0, 1 }, + { KCL_FLAG_TEST0, "TEST0", 0, 1 }, + { KCL_FLAG_TEST1, "TEST1", 0, 1 }, + { KCL_FLAG_TEST2, "TEST2", 0, 1 }, + { KCL_FLAG_TEST3, "TEST3", 0, 1 }, + { KCL_FLAG_TEST4, "TEST4", 0, 1 }, + { KCL_FLAG_TEST5, "TEST5", 0, 1 }, + { KCL_FLAG_TEST6, "TEST6", 0, 1 }, + { KCL_FLAG_TEST7, "TEST7", 0, 1 }, + { KCL_FLAG_TEST8, "TEST8", 0, 1 }, + { KCL_FLAG_WHITE, "WHITE", 0, 1 }, + { KCL_FLAG_YELLOW, "YELLOW", 0, 1 }, + { KCL_FLAG_YELLOW_GREEN, "YELLOW-GREEN", "YELLOWGREEN", 1 }, + { KCL_FLAG_YELLOW_GREEN, "GREEN-YELLOW", "GREENYELLOW", 1 }, + {0,0,0,0} +}; + + +// +/////////////////////////////////////////////////////////////////////////////// +////////////////////////////////// E N D ////////////////////////////////// +/////////////////////////////////////////////////////////////////////////////// + |
