diff options
Diffstat (limited to '')
| -rw-r--r-- | project/dclib/lib-mkw.c | 155 |
1 files changed, 142 insertions, 13 deletions
diff --git a/project/dclib/lib-mkw.c b/project/dclib/lib-mkw.c index a97b8e2..bdbf80b 100644 --- a/project/dclib/lib-mkw.c +++ b/project/dclib/lib-mkw.c @@ -1171,33 +1171,33 @@ const mkw_driver_t mkw_driver_attrib[MKW_N_DRIVER+1] = { 1, 0, "Peac", "Peac", "Peach", "Peach" }, // M2 #16 { 1, 0, "Bird", "Bird", "Birdo", "Birdo" }, // M5 { 1, 0, "DidK", "DidK", "Diddy Kong", "Diddy Kong" }, // M6 - { 2, 0, "KBoo", "BuHu", "King Boo", "König Buu Huu" }, // L4 + { 2, 0, "KBoo", "BuHu", "King Boo", "König Buu Huu" }, // L4 { 1, 0, "B.Jr", "B.Jr", "Bowser Jr.", "Bowser Jr." }, // M7 #20 { 2, 0, "DBow", "KnBo", "Dry Bowser", "Knochen-Bowser" }, // L7 { 2, 0, "Funk", "Funk", "Funky Kong", "Funky Kong" }, // L6 { 2, 0, "Rosa", "Rosa", "Rosalina", "Rosalina" }, // L5 - { 0, 1, "MAsm", "MAkm", "Mii A (small,male)", "Mii A (klein,männ)" }, // S8 #24 + { 0, 1, "MAsm", "MAkm", "Mii A (small,male)", "Mii A (klein,männ)" }, // S8 #24 { 0, 1, "MAsf", "MAkw", "Mii A (small,female)", "Mii A (klein,weib)" }, // S9 - { 0, 2, "MBsm", "MBkm", "Mii B (small,male)", "Mii B (klein,männ)" }, // S10 + { 0, 2, "MBsm", "MBkm", "Mii B (small,male)", "Mii B (klein,männ)" }, // S10 { 0, 2, "MBsf", "MBkw", "Mii B (small,female)", "Mii B (klein,weib)" }, // S11 - { 0, 3, "MCsm", "MCkm", "Mii C (small,male)", "Mii C (klein,männ)" }, // 0x11c + { 0, 3, "MCsm", "MCkm", "Mii C (small,male)", "Mii C (klein,männ)" }, // 0x11c { 0, 3, "MCsf", "MCkw", "Mii C (small,female)", "Mii C (klein,weib)" }, // 0x11d - { 1, 1, "MAmm", "MAmm", "Mii A (medium,male)", "Mii A (mittel,männ)" },// M8 #30 + { 1, 1, "MAmm", "MAmm", "Mii A (medium,male)", "Mii A (mittel,männ)" },// M8 #30 { 1, 1, "MAmf", "MAmw", "Mii A (medium,female)","Mii A (mittel,weib)" },// M9 - { 1, 2, "MBmm", "MBmm", "Mii B (medium,male)", "Mii B (mittel,männ)" },// M10 + { 1, 2, "MBmm", "MBmm", "Mii B (medium,male)", "Mii B (mittel,männ)" },// M10 { 1, 2, "MBmf", "MBmw", "Mii B (medium,female)","Mii B (mittel,weib)" },// M11 - { 1, 3, "MCmm", "MCmm", "Mii C (medium,male)", "Mii C (mittel,männ)" },// 0x122 + { 1, 3, "MCmm", "MCmm", "Mii C (medium,male)", "Mii C (mittel,männ)" },// 0x122 { 1, 3, "MCmf", "MCmw", "Mii C (medium,female)","Mii C (mittel,weib)" },// 0x123 - { 2, 1, "MAlm", "MAgm", "Mii A (large,male)", "Mii A (groß,männ)" }, // L8 #36 - { 2, 1, "MAlf", "MAgw", "Mii A (large,female)", "Mii A (groß,weib)" }, // L9 - { 2, 2, "MBlm", "MBgm", "Mii B (large,male)", "Mii B (groß,männ)" }, // L10 - { 2, 2, "MBlf", "MBgw", "Mii B (large,female)", "Mii B (groß,weib)" }, // L11 - { 2, 3, "MClm", "MCgm", "Mii C (large,male)", "Mii C (groß,männ)" }, // 0x128 - { 2, 3, "MClf", "MCgw", "Mii C (large,female)", "Mii C (groß,weib)" }, // 0x129 + { 2, 1, "MAlm", "MAgm", "Mii A (large,male)", "Mii A (groß,männ)" }, // L8 #36 + { 2, 1, "MAlf", "MAgw", "Mii A (large,female)", "Mii A (groß,weib)" }, // L9 + { 2, 2, "MBlm", "MBgm", "Mii B (large,male)", "Mii B (groß,männ)" }, // L10 + { 2, 2, "MBlf", "MBgw", "Mii B (large,female)", "Mii B (groß,weib)" }, // L11 + { 2, 3, "MClm", "MCgm", "Mii C (large,male)", "Mii C (groß,männ)" }, // 0x128 + { 2, 3, "MClf", "MCgw", "Mii C (large,female)", "Mii C (groß,weib)" }, // 0x129 {0,0,"","",0,0} // TERM #42 }; @@ -1319,6 +1319,134 @@ ccp GetVehicleName4 ( u8 vehicle ) // /////////////////////////////////////////////////////////////////////////////// +/////////////// LE-CODE track flags /////////////// +/////////////////////////////////////////////////////////////////////////////// + +le_flags_t ScanLEFL ( ccp text ) +{ + // automatic flags are not scannend! + + le_flags_t res = 0; + if (text) + { + if ( strchr(text,'N') || strchr(text,'n') ) res |= G_LEFL_NEW; + if ( strchr(text,'H') || strchr(text,'h') ) res |= G_LEFL_RND_HEAD; + if ( strchr(text,'G') || strchr(text,'g') ) res |= G_LEFL_RND_GROUP; + if ( strchr(text,'X') || strchr(text,'x') ) res |= G_LEFL_RND_HEAD | G_LEFL_RND_GROUP; + if ( strchr(text,'A') || strchr(text,'a') ) res |= G_LEFL_ALIAS; + if ( strchr(text,'T') || strchr(text,'t') ) res |= G_LEFL_TEXTURE; + if ( strchr(text,'2') ) res |= G_LEFL_ALIAS | G_LEFL_TEXTURE; + if ( strchr(text,'I') || strchr(text,'i') ) res |= G_LEFL_HIDDEN; + } + return res; +} + +/////////////////////////////////////////////////////////////////////////////// + +ccp PrintLEFL8 ( le_flags_t flags, bool aligned ) +{ + char *buf = GetCircBuf(7); + flags &= 0xff; + + if ( flags & ~G_LEFL__ALL ) + snprintf(buf,7,"?0x%02x ",flags); + else if (aligned) + { + buf[0] = flags & G_LEFL_NEW ? 'N' : '-'; + buf[1] = flags & G_LEFL_RND_HEAD ? 'H' : '-'; + buf[2] = flags & G_LEFL_RND_GROUP ? 'G' : '-'; + buf[3] = flags & G_LEFL_ALIAS ? 'A' : '-'; + buf[4] = flags & G_LEFL_TEXTURE ? 'T' : '-'; + buf[5] = flags & G_LEFL_HIDDEN ? 'i' : '-'; + buf[6] = 0; + } + else + { + char *d = buf; + if ( flags & G_LEFL_NEW ) *d++ = 'N'; + if ( flags & G_LEFL_RND_HEAD ) *d++ = 'H'; + if ( flags & G_LEFL_RND_GROUP ) *d++ = 'G'; + if ( flags & G_LEFL_ALIAS ) *d++ = 'A'; + if ( flags & G_LEFL_TEXTURE ) *d++ = 'T'; + if ( flags & G_LEFL_HIDDEN ) *d++ = 'i'; + if ( d == buf ) + *d++ = '-'; + *d = 0; + } + return buf; +} + +/////////////////////////////////////////////////////////////////////////////// + +ccp PrintLEFL16 ( le_flags_t flags, bool aligned ) +{ + char *buf = GetCircBuf(7); + + if ( flags & ~G_LEFL__XALL ) + { + snprintf(buf,7,"?0x%03x ",flags); + return buf; + } + + char *d = buf; + switch ( flags & (G_LEFL_BATTLE|G_LEFL_VERSUS|G_LEFL_RANDOM) ) + { + case G_LEFL_BATTLE: *d++ = 'B'; break; + case G_LEFL_VERSUS: *d++ = 'V'; break; + case G_LEFL_RANDOM: *d++ = 'r'; break; + default: + if ( aligned ) + *d++ = '-'; + } + + switch ( flags & (G_LEFL_ORIG_CUP|G_LEFL_CUSTOM_CUP) ) + { + case G_LEFL_ORIG_CUP: *d++ = 'o'; break; + case G_LEFL_CUSTOM_CUP: *d++ = 'c'; break; + case G_LEFL_ORIG_CUP | G_LEFL_CUSTOM_CUP: *d++ = 'b'; break; + default: + if ( aligned ) + *d++ = '-'; + } + + switch ( flags & (G_LEFL_RND_HEAD|G_LEFL_RND_GROUP) ) + { + case G_LEFL_RND_HEAD: *d++ = 'H'; break; + case G_LEFL_RND_GROUP: *d++ = 'G'; break; + case G_LEFL_RND_HEAD | G_LEFL_RND_GROUP: *d++ = 'X'; break; + default: + if ( aligned ) + *d++ = '-'; + } + + switch ( flags & (G_LEFL_NEW|G_LEFL_TEXTURE) ) + { + case G_LEFL_NEW: *d++ = 'N'; break; + case G_LEFL_TEXTURE: *d++ = 'T'; break; + case G_LEFL_NEW | G_LEFL_TEXTURE: *d++ = '2'; break; + default: + if ( aligned ) + *d++ = '-'; + } + + if (aligned) + { + *d++ = flags & G_LEFL_ALIAS ? 'A' : '-'; + *d++ = flags & G_LEFL_HIDDEN ? 'i' : '-'; + } + else + { + if ( flags & G_LEFL_ALIAS ) *d++ = 'A'; + if ( flags & G_LEFL_HIDDEN ) *d++ = 'i'; + if ( d == buf ) + *d++ = '-'; + } + *d = 0; + return buf; +} + +// +/////////////////////////////////////////////////////////////////////////////// /////////////// random slots /////////////// /////////////////////////////////////////////////////////////////////////////// @@ -1350,6 +1478,7 @@ ccp GetLecodeRandomInfo ( uint slot, ccp return_on_err ) : return_on_err; } + // /////////////////////////////////////////////////////////////////////////////// /////////////// sizeof_info_t: mkw /////////////// |
