Merge branch 'master' into rings

This commit is contained in:
TehRealSalt 2019-05-14 22:26:22 -04:00
commit bb6fe9fc54
31 changed files with 492 additions and 938 deletions

View file

@ -13,12 +13,12 @@ set(SRB2_ASSET_DIRECTORY "${CMAKE_CURRENT_SOURCE_DIR}/installer"
CACHE STRING "Path to directory that contains all asset files for the installer.") CACHE STRING "Path to directory that contains all asset files for the installer.")
set(SRB2_ASSET_HASHED set(SRB2_ASSET_HASHED
"srb2.srb;\ "main.kart;\
patch.kart;\ gfx.pk3;\
gfx.kart;\ textures.pk3;\
textures.kart;\ chars.pk3;\
chars.kart;\ maps.wad;\
maps.kart" patch.pk3"
CACHE STRING "Asset filenames to apply MD5 checks. No spaces between entries!" CACHE STRING "Asset filenames to apply MD5 checks. No spaces between entries!"
) )

View file

@ -83,16 +83,14 @@
# SRB2 data files # SRB2 data files
D_DIR?=../bin/Resources D_DIR?=../bin/Resources
D_FILES=$(D_DIR)/srb2.srb \ D_FILES=$(D_DIR)/main.kart \
$(D_DIR)/patch.dta \ $(D_DIR)/gfx.pk3 \
#$(D_DIR)/music.dta \ $(D_DIR)/textures.pk3 \
$(D_DIR)/gfx.kart \ $(D_DIR)/chars.pk3 \
$(D_DIR)/textures.kart \ $(D_DIR)/maps.wad \
$(D_DIR)/chars.kart \ $(D_DIR)/patch.pk3 \
$(D_DIR)/maps.kart \ $(D_DIR)/sounds.wad \
$(D_DIR)/sounds.kart \ $(D_DIR)/music.wad \
$(D_DIR)/patch.kart \
$(D_DIR)/music.kart \
PKG_CONFIG?=pkg-config PKG_CONFIG?=pkg-config

View file

@ -11,19 +11,13 @@
#ifdef CMAKECONFIG #ifdef CMAKECONFIG
// Base SRB2 hashes #define ASSET_HASH_MAIN_KART "${SRB2_ASSET_main.kart_HASH}"
#define ASSET_HASH_SRB2_SRB "${SRB2_ASSET_srb2.srb_HASH}" #define ASSET_HASH_GFX_PK3 "${SRB2_ASSET_gfx.pk3_HASH}"
#ifdef USE_PATCH_DTA #define ASSET_HASH_TEXTURES_PK3 "${SRB2_ASSET_textures.pk3_HASH}"
#define ASSET_HASH_PATCH_DTA "${SRB2_ASSET_patch.dta_HASH}" #define ASSET_HASH_CHARS_PK3 "${SRB2_ASSET_chars.pk3_HASH}"
#endif #define ASSET_HASH_MAPS_WAD "${SRB2_ASSET_maps.wad_HASH}"
#ifdef USE_PATCH_FILE
// SRB2Kart-specific hashes #define ASSET_HASH_PATCH_PK3 "${SRB2_ASSET_patch.pk3_HASH}"
#define ASSET_HASH_GFX_KART "${SRB2_ASSET_gfx.kart_HASH}"
#define ASSET_HASH_TEXTURES_KART "${SRB2_ASSET_textures.kart_HASH}"
#define ASSET_HASH_CHARS_KART "${SRB2_ASSET_chars.kart_HASH}"
#define ASSET_HASH_MAPS_KART "${SRB2_ASSET_maps.kart_HASH}"
#ifdef USE_PATCH_KART
#define ASSET_HASH_PATCH_KART "${SRB2_ASSET_patch.kart_HASH}"
#endif #endif
#define SRB2_COMP_REVISION "${SRB2_COMP_REVISION}" #define SRB2_COMP_REVISION "${SRB2_COMP_REVISION}"
@ -34,25 +28,17 @@
#else #else
/* Manually defined asset hashes for non-CMake builds /* Manually defined asset hashes for non-CMake builds
* Last updated 2015 / 05 / 03 - SRB2 v2.1.15 - srb2.srb
* Last updated 2018 / 12 / 23 - SRB2 v2.1.22 - patch.dta
* Last updated 2019 / 01 / 18 - Kart v1.0.2 - Main assets * Last updated 2019 / 01 / 18 - Kart v1.0.2 - Main assets
* Last updated 2019 / 05 / 06 - Kart v1.1.0 - patch.kart * Last updated 2019 / 05 / 06 - Kart v1.1.0 - patch.kart
*/ */
// Base SRB2 hashes #define ASSET_HASH_MAIN_KART "00000000000000000000000000000000"
#define ASSET_HASH_SRB2_SRB "c1b9577687f8a795104aef4600720ea7" #define ASSET_HASH_GFX_PK3 "99c39f223d84ebc78e67ab68f3bead95"
#ifdef USE_PATCH_DTA #define ASSET_HASH_TEXTURES_PK3 "ec8e9b7535cf585afe72ef277b08f490"
#define ASSET_HASH_PATCH_DTA "b04fd9624bfd94dc96dcf4f400f7deb4" #define ASSET_HASH_CHARS_PK3 "e2c428347dde52858a3dacd29fc5b964"
#endif #define ASSET_HASH_MAPS_WAD "1335cd064656aedca359cfbb5233ac4a"
#ifdef USE_PATCH_FILE
// SRB2Kart-specific hashes #define ASSET_HASH_PATCH_PK3 "6461b30bb20754a16a1b582120f55842"
#define ASSET_HASH_GFX_KART "99c39f223d84ebc78e67ab68f3bead95"
#define ASSET_HASH_TEXTURES_KART "ec8e9b7535cf585afe72ef277b08f490"
#define ASSET_HASH_CHARS_KART "e2c428347dde52858a3dacd29fc5b964"
#define ASSET_HASH_MAPS_KART "1335cd064656aedca359cfbb5233ac4a"
#ifdef USE_PATCH_KART
#define ASSET_HASH_PATCH_KART "6461b30bb20754a16a1b582120f55842"
#endif #endif
#endif #endif

View file

@ -131,12 +131,12 @@ static CV_PossibleValue_t backpic_cons_t[] = {{0, "translucent"}, {1, "picture"}
static consvar_t cons_backpic = {"con_backpic", "translucent", CV_SAVE, backpic_cons_t, NULL, 0, NULL, NULL, 0, 0, NULL}; static consvar_t cons_backpic = {"con_backpic", "translucent", CV_SAVE, backpic_cons_t, NULL, 0, NULL, NULL, 0, 0, NULL};
static CV_PossibleValue_t backcolor_cons_t[] = {{0, "White"}, {1, "Black"}, {2, "Sepia"}, static CV_PossibleValue_t backcolor_cons_t[] = {{0, "White"}, {1, "Black"}, {2, "Sepia"},
{3, "Brown"}, {4, "Pink"}, {5, "Raspberry"}, {3, "Brown"}, {4, "Pink"}, {5, "Red"},
{6, "Red"}, {7, "Creamsicle"}, {8, "Orange"}, {6, "Orange"}, {7, "Gold"}, {8, "Yellow"},
{9, "Gold"}, {10,"Yellow"}, {11,"Emerald"}, {9, "Peridot"}, {10,"Green"}, {11,"Aquamarine"},
{12,"Green"}, {13,"Cyan"}, {14,"Steel"}, {12,"Cyan"}, {13,"Steel"}, {14,"Blue"},
{15,"Periwinkle"}, {16,"Blue"}, {17,"Purple"}, {15,"Purple"}, {16,"Magenta"}, {17,"Lavender"},
{18,"Lavender"}, {18,"Rose"},
{0, NULL}}; {0, NULL}};
consvar_t cons_backcolor = {"con_backcolor", "Black", CV_CALL|CV_SAVE, backcolor_cons_t, CONS_backcolor_Change, 0, NULL, NULL, 0, 0, NULL}; consvar_t cons_backcolor = {"con_backcolor", "Black", CV_CALL|CV_SAVE, backcolor_cons_t, CONS_backcolor_Change, 0, NULL, NULL, 0, 0, NULL};
@ -153,11 +153,11 @@ static CV_PossibleValue_t menuhighlight_cons_t[] =
{V_SKYMAP, "Always sky-blue"}, {V_SKYMAP, "Always sky-blue"},
{V_GOLDMAP, "Always gold"}, {V_GOLDMAP, "Always gold"},
{V_LAVENDERMAP, "Always lavender"}, {V_LAVENDERMAP, "Always lavender"},
{V_TEAMAP, "Always tea-green"}, {V_AQUAMAP, "Always aqua-green"},
{V_STEELMAP, "Always steel-blue"}, {V_MAGENTAMAP, "Always magenta"},
{V_PINKMAP, "Always pink"}, {V_PINKMAP, "Always pink"},
{V_BROWNMAP, "Always brown"}, {V_BROWNMAP, "Always brown"},
{V_PEACHMAP, "Always peach"}, {V_TANMAP, "Always tan"},
{0, NULL} {0, NULL}
}; };
consvar_t cons_menuhighlight = {"menuhighlight", "Game type", CV_SAVE, menuhighlight_cons_t, NULL, 0, NULL, NULL, 0, 0, NULL}; consvar_t cons_menuhighlight = {"menuhighlight", "Game type", CV_SAVE, menuhighlight_cons_t, NULL, 0, NULL, NULL, 0, 0, NULL};
@ -262,27 +262,27 @@ void CON_SetupBackColormap(void)
switch (cons_backcolor.value) switch (cons_backcolor.value)
{ {
case 0: palindex = 15; break; // White case 0: palindex = 15; break; // White
case 1: palindex = 31; break; // Gray case 1: palindex = 31; break; // Black
case 2: palindex = 47; break; // Sepia case 2: palindex = 251; break; // Sepia
case 3: palindex = 63; break; // Brown case 3: palindex = 239; break; // Brown
case 4: palindex = 150; shift = 7; break; // Pink case 4: palindex = 214; shift = 7; break; // Pink
case 5: palindex = 127; shift = 7; break; // Raspberry case 5: palindex = 47; break; // Red
case 6: palindex = 143; break; // Red case 6: palindex = 63; break; // Orange
case 7: palindex = 86; shift = 7; break; // Creamsicle case 7: palindex = 71; shift = 7; break; // Gold
case 8: palindex = 95; break; // Orange case 8: palindex = 79; shift = 7; break; // Yellow
case 9: palindex = 119; shift = 7; break; // Gold case 9: palindex = 191; shift = 8; break; // Peridot
case 10: palindex = 111; break; // Yellow case 10: palindex = 111; break; // Green
case 11: palindex = 191; shift = 7; break; // Emerald case 11: palindex = 127; shift = 7; break; // Aquamarine
case 12: palindex = 175; break; // Green case 12: palindex = 139; break; // Cyan
case 13: palindex = 219; break; // Cyan case 13: palindex = 175; shift = 7; break; // Steel
case 14: palindex = 207; shift = 7; break; // Steel case 14: palindex = 159; break; // Blue
case 15: palindex = 230; shift = 7; break; // Periwinkle case 15: palindex = 169; break; // Purple
case 16: palindex = 239; break; // Blue case 16: palindex = 187; break; // Magenta
case 17: palindex = 199; shift = 7; break; // Purple case 17: palindex = 199; shift = 7; break; // Lavender
case 18: palindex = 255; shift = 7; break; // Lavender case 18: palindex = 207; shift = 7; break; // Rose
// Default green // Default black
default: palindex = 175; break; default: palindex = 31; break;
} }
@ -303,7 +303,7 @@ static void CONS_backcolor_Change(void)
// TODO: This could probably be improved somehow... // TODO: This could probably be improved somehow...
// These colormaps are 99% identical, with just a few changed bytes // These colormaps are 99% identical, with just a few changed bytes
UINT8 *yellowmap, *purplemap, *greenmap, *bluemap, *graymap, *redmap, *orangemap,\ UINT8 *yellowmap, *purplemap, *greenmap, *bluemap, *graymap, *redmap, *orangemap,\
*skymap, *goldmap, *lavendermap, *teamap, *steelmap, *pinkmap, *brownmap, *peachmap; *skymap, *goldmap, *lavendermap, *aquamap, *magentamap, *pinkmap, *brownmap, *tanmap;
static void CON_SetupColormaps(void) static void CON_SetupColormaps(void)
{ {
@ -320,11 +320,11 @@ static void CON_SetupColormaps(void)
skymap = (orangemap+256); skymap = (orangemap+256);
lavendermap = (skymap+256); lavendermap = (skymap+256);
goldmap = (lavendermap+256); goldmap = (lavendermap+256);
teamap = (goldmap+256); aquamap = (goldmap+256);
steelmap = (teamap+256); magentamap = (aquamap+256);
pinkmap = (steelmap+256); pinkmap = (magentamap+256);
brownmap = (pinkmap+256); brownmap = (pinkmap+256);
peachmap = (brownmap+256); tanmap = (brownmap+256);
// setup the other colormaps, for console text // setup the other colormaps, for console text
@ -335,21 +335,21 @@ static void CON_SetupColormaps(void)
*memorysrc = (UINT8)(i & 0xFF); // remap each color to itself... *memorysrc = (UINT8)(i & 0xFF); // remap each color to itself...
// SRB2Kart: Different console font, new colors // SRB2Kart: Different console font, new colors
purplemap[120] = (UINT8)194; purplemap[0] = (UINT8)163;
yellowmap[120] = (UINT8)103; yellowmap[0] = (UINT8)73;
greenmap[120] = (UINT8)162; greenmap[0] = (UINT8)98;
bluemap[120] = (UINT8)228; bluemap[0] = (UINT8)148;
redmap[120] = (UINT8)126; // battle redmap[0] = (UINT8)34; // battle
graymap[120] = (UINT8)10; graymap[0] = (UINT8)10;
orangemap[120] = (UINT8)85; // record attack orangemap[0] = (UINT8)52; // record attack
skymap[120] = (UINT8)214; // race skymap[0] = (UINT8)132; // race
lavendermap[120] = (UINT8)248; lavendermap[0] = (UINT8)192;
goldmap[120] = (UINT8)114; goldmap[0] = (UINT8)65;
teamap[120] = (UINT8)177; aquamap[0] = (UINT8)121;
steelmap[120] = (UINT8)201; magentamap[0] = (UINT8)182;
pinkmap[120] = (UINT8)145; pinkmap[0] = (UINT8)210;
brownmap[120] = (UINT8)48; brownmap[0] = (UINT8)224;
peachmap[120] = (UINT8)69; // nice tanmap[0] = (UINT8)217; // no longer nice :(
// Init back colormap // Init back colormap
CON_SetupBackColormap(); CON_SetupBackColormap();
@ -1472,7 +1472,7 @@ static void CON_DrawInput(void)
{ {
x -= charwidth*3; x -= charwidth*3;
if (input_sel < c) if (input_sel < c)
V_DrawFill(x, y, charwidth*3, (10 * con_scalefactor), 107 | V_NOSCALESTART); V_DrawFill(x, y, charwidth*3, (10 * con_scalefactor), 77 | V_NOSCALESTART);
for (i = 0; i < 3; ++i, x += charwidth) for (i = 0; i < 3; ++i, x += charwidth)
V_DrawCharacter(x, y, '.' | cv_constextsize.value | V_GRAYMAP | V_NOSCALESTART, !cv_allcaps.value); V_DrawCharacter(x, y, '.' | cv_constextsize.value | V_GRAYMAP | V_NOSCALESTART, !cv_allcaps.value);
} }
@ -1483,7 +1483,7 @@ static void CON_DrawInput(void)
{ {
if ((input_sel > c && input_cur <= c) || (input_sel <= c && input_cur > c)) if ((input_sel > c && input_cur <= c) || (input_sel <= c && input_cur > c))
{ {
V_DrawFill(x, y, charwidth, (10 * con_scalefactor), 107 | V_NOSCALESTART); V_DrawFill(x, y, charwidth, (10 * con_scalefactor), 77 | V_NOSCALESTART);
V_DrawCharacter(x, y, p[c] | cv_constextsize.value | V_YELLOWMAP | V_NOSCALESTART, !cv_allcaps.value); V_DrawCharacter(x, y, p[c] | cv_constextsize.value | V_YELLOWMAP | V_NOSCALESTART, !cv_allcaps.value);
} }
else else
@ -1497,7 +1497,7 @@ static void CON_DrawInput(void)
if (rellip) if (rellip)
{ {
if (input_sel > cend) if (input_sel > cend)
V_DrawFill(x, y, charwidth*3, (10 * con_scalefactor), 107 | V_NOSCALESTART); V_DrawFill(x, y, charwidth*3, (10 * con_scalefactor), 77 | V_NOSCALESTART);
for (i = 0; i < 3; ++i, x += charwidth) for (i = 0; i < 3; ++i, x += charwidth)
V_DrawCharacter(x, y, '.' | cv_constextsize.value | V_GRAYMAP | V_NOSCALESTART, !cv_allcaps.value); V_DrawCharacter(x, y, '.' | cv_constextsize.value | V_GRAYMAP | V_NOSCALESTART, !cv_allcaps.value);
} }

View file

@ -39,7 +39,7 @@ extern UINT32 con_scalefactor; // console text scale factor
extern consvar_t cons_backcolor, cons_menuhighlight; extern consvar_t cons_backcolor, cons_menuhighlight;
extern UINT8 *yellowmap, *purplemap, *greenmap, *bluemap, *graymap, *redmap, *orangemap,\ extern UINT8 *yellowmap, *purplemap, *greenmap, *bluemap, *graymap, *redmap, *orangemap,\
*skymap, *goldmap, *lavendermap, *teamap, *steelmap, *pinkmap, *brownmap, *peachmap; *skymap, *goldmap, *lavendermap, *aquamap, *magentamap, *pinkmap, *brownmap, *tanmap;
// Console bg color (auto updated to match) // Console bg color (auto updated to match)
extern UINT8 *consolebgmap; extern UINT8 *consolebgmap;

View file

@ -1175,7 +1175,7 @@ static inline void CL_DrawConnectionStatus(void)
if (cl_mode != CL_DOWNLOADFILES) if (cl_mode != CL_DOWNLOADFILES)
{ {
INT32 i, animtime = ((ccstime / 4) & 15) + 16; INT32 i, animtime = ((ccstime / 4) & 15) + 16;
UINT8 palstart = (cl_mode == CL_SEARCHING) ? 128 : 160; UINT8 palstart = (cl_mode == CL_SEARCHING) ? 32 : 96;
// 15 pal entries total. // 15 pal entries total.
const char *cltext; const char *cltext;
@ -1259,8 +1259,8 @@ static inline void CL_DrawConnectionStatus(void)
dldlength = (INT32)((file->currentsize/(double)file->totalsize) * 256); dldlength = (INT32)((file->currentsize/(double)file->totalsize) * 256);
if (dldlength > 256) if (dldlength > 256)
dldlength = 256; dldlength = 256;
V_DrawFill(BASEVIDWIDTH/2-128, BASEVIDHEIGHT-24, 256, 8, 175); V_DrawFill(BASEVIDWIDTH/2-128, BASEVIDHEIGHT-24, 256, 8, 111);
V_DrawFill(BASEVIDWIDTH/2-128, BASEVIDHEIGHT-24, dldlength, 8, 160); V_DrawFill(BASEVIDWIDTH/2-128, BASEVIDHEIGHT-24, dldlength, 8, 96);
memset(tempname, 0, sizeof(tempname)); memset(tempname, 0, sizeof(tempname));
// offset filename to just the name only part // offset filename to just the name only part

View file

@ -836,11 +836,11 @@ static inline void D_CleanFile(char **filearray)
static void IdentifyVersion(void) static void IdentifyVersion(void)
{ {
char *srb2wad1, *srb2wad2; char *mainresource;
const char *srb2waddir = NULL; const char *srb2waddir = NULL;
#if (defined (__unix__) && !defined (MSDOS)) || defined (UNIXCOMMON) || defined (HAVE_SDL) #if (defined (__unix__) && !defined (MSDOS)) || defined (UNIXCOMMON) || defined (HAVE_SDL)
// change to the directory where 'srb2.srb' is found // change to the directory where 'main.kart' is found
srb2waddir = I_LocateWad(); srb2waddir = I_LocateWad();
#endif #endif
@ -871,46 +871,34 @@ static void IdentifyVersion(void)
srb2waddir = I_GetWadDir(); srb2waddir = I_GetWadDir();
#endif #endif
// Commercial. // Commercial.
srb2wad1 = malloc(strlen(srb2waddir)+1+8+1); mainresource = malloc(strlen(srb2waddir)+1+9+1);
srb2wad2 = malloc(strlen(srb2waddir)+1+8+1); if (mainresource == NULL)
if (srb2wad1 == NULL && srb2wad2 == NULL)
I_Error("No more free memory to look in %s", srb2waddir); I_Error("No more free memory to look in %s", srb2waddir);
if (srb2wad1 != NULL) if (mainresource != NULL)
sprintf(srb2wad1, pandf, srb2waddir, "srb2.srb"); sprintf(mainresource, pandf, srb2waddir, "main.kart");
if (srb2wad2 != NULL)
sprintf(srb2wad2, pandf, srb2waddir, "srb2.wad");
// will be overwritten in case of -cdrom or unix/win home // will be overwritten in case of -cdrom or unix/win home
snprintf(configfile, sizeof configfile, "%s" PATHSEP CONFIGFILENAME, srb2waddir); snprintf(configfile, sizeof configfile, "%s" PATHSEP CONFIGFILENAME, srb2waddir);
configfile[sizeof configfile - 1] = '\0'; configfile[sizeof configfile - 1] = '\0';
// Load the IWAD // Load the IWAD
if (srb2wad2 != NULL && FIL_ReadFileOK(srb2wad2)) if (mainresource != NULL && FIL_ReadFileOK(mainresource))
D_AddFile(srb2wad2, startupwadfiles); D_AddFile(mainresource, startupwadfiles);
else if (srb2wad1 != NULL && FIL_ReadFileOK(srb2wad1))
D_AddFile(srb2wad1, startupwadfiles);
else else
I_Error("SRB2.SRB/SRB2.WAD not found! Expected in %s, ss files: %s or %s\n", srb2waddir, srb2wad1, srb2wad2); I_Error("MAIN.KART not found! Expected in %s, ss file: %s \n", srb2waddir, mainresource);
if (srb2wad1) if (mainresource)
free(srb2wad1); free(mainresource);
if (srb2wad2)
free(srb2wad2);
// if you change the ordering of this or add/remove a file, be sure to update the md5 // if you change the ordering of this or add/remove a file, be sure to update the md5
// checking in D_SRB2Main // checking in D_SRB2Main
#ifdef USE_PATCH_DTA D_AddFile(va(pandf,srb2waddir,"gfx.pk3"), startupwadfiles);
// Add our crappy patches to fix our bugs D_AddFile(va(pandf,srb2waddir,"textures.pk3"), startupwadfiles);
D_AddFile(va(pandf,srb2waddir,"patch.dta")); D_AddFile(va(pandf,srb2waddir,"chars.pk3"), startupwadfiles);
#endif D_AddFile(va(pandf,srb2waddir,"maps.wad"), startupwadfiles); // TODO: make this a pk3 too!
#ifdef USE_PATCH_FILE
D_AddFile(va(pandf,srb2waddir,"gfx.kart"), startupwadfiles); D_AddFile(va(pandf,srb2waddir,"patch.pk3"), startupwadfiles);
D_AddFile(va(pandf,srb2waddir,"textures.kart"), startupwadfiles);
D_AddFile(va(pandf,srb2waddir,"chars.kart"), startupwadfiles);
D_AddFile(va(pandf,srb2waddir,"maps.kart"), startupwadfiles);
#ifdef USE_PATCH_KART
D_AddFile(va(pandf,srb2waddir,"patch.kart"), startupwadfiles);
#endif #endif
#if !defined (HAVE_SDL) || defined (HAVE_MIXER) #if !defined (HAVE_SDL) || defined (HAVE_MIXER)
@ -923,8 +911,8 @@ static void IdentifyVersion(void)
else if (ms == 0) \ else if (ms == 0) \
I_Error("File "str" has been modified with non-music/sound lumps"); \ I_Error("File "str" has been modified with non-music/sound lumps"); \
} }
MUSICTEST("sounds.kart") MUSICTEST("sounds.wad")
MUSICTEST("music.kart") MUSICTEST("music.wad")
#undef MUSICTEST #undef MUSICTEST
#endif #endif
} }
@ -1208,27 +1196,21 @@ void D_SRB2Main(void)
#ifndef DEVELOP #ifndef DEVELOP
// Check MD5s of autoloaded files // Check MD5s of autoloaded files
// Note: Do not add any files that ignore MD5! // Note: Do not add any files that ignore MD5!
W_VerifyFileMD5(mainwads, ASSET_HASH_SRB2_SRB); // srb2.srb/srb2.wad W_VerifyFileMD5(mainwads, ASSET_HASH_MAIN_KART); // main.kart
#ifdef USE_PATCH_DTA mainwads++; W_VerifyFileMD5(mainwads, ASSET_HASH_GFX_PK3); // gfx.pk3
mainwads++; W_VerifyFileMD5(mainwads, ASSET_HASH_PATCH_DTA); // patch.dta mainwads++; W_VerifyFileMD5(mainwads, ASSET_HASH_TEXTURES_PK3); // textures.pk3
#endif mainwads++; W_VerifyFileMD5(mainwads, ASSET_HASH_CHARS_PK3); // chars.pk3
mainwads++; W_VerifyFileMD5(mainwads, ASSET_HASH_GFX_KART); // gfx.kart mainwads++; W_VerifyFileMD5(mainwads, ASSET_HASH_MAPS_WAD); // maps.wad -- 4 - If you touch this, make sure to touch up the majormods stuff below.
mainwads++; W_VerifyFileMD5(mainwads, ASSET_HASH_TEXTURES_KART); // textures.kart #ifdef USE_PATCH_FILE
mainwads++; W_VerifyFileMD5(mainwads, ASSET_HASH_CHARS_KART); // chars.kart mainwads++; W_VerifyFileMD5(mainwads, ASSET_HASH_PATCH_PK3); // patch.pk3
mainwads++; W_VerifyFileMD5(mainwads, ASSET_HASH_MAPS_KART); // maps.kart -- 4 - If you touch this, make sure to touch up the majormods stuff below.
#ifdef USE_PATCH_KART
mainwads++; W_VerifyFileMD5(mainwads, ASSET_HASH_PATCH_KART); // patch.kart
#endif #endif
#else #else
#ifdef USE_PATCH_DTA mainwads++; // gfx.pk3
mainwads++; // patch.dta mainwads++; // textures.pk3
#endif mainwads++; // chars.pk3
mainwads++; // gfx.kart mainwads++; // maps.wad
mainwads++; // textures.kart #ifdef USE_PATCH_FILE
mainwads++; // chars.kart mainwads++; // patch.pk3
mainwads++; // maps.kart
#ifdef USE_PATCH_KART
mainwads++; // patch.kart
#endif #endif
#endif //ifndef DEVELOP #endif //ifndef DEVELOP

View file

@ -358,7 +358,6 @@ INT32 CL_CheckFiles(void)
// return 1; // return 1;
// the first is the iwad (the main wad file) // the first is the iwad (the main wad file)
// we don't care if it's called srb2.srb or srb2.wad.
// Never download the IWAD, just assume it's there and identical // Never download the IWAD, just assume it's there and identical
// ...No! Why were we sending the base wads to begin with?? // ...No! Why were we sending the base wads to begin with??
//fileneeded[0].status = FS_OPEN; //fileneeded[0].status = FS_OPEN;
@ -774,17 +773,14 @@ void Got_Filetxpak(void)
char *filename = file->filename; char *filename = file->filename;
static INT32 filetime = 0; static INT32 filetime = 0;
if (!(strcmp(filename, "srb2.srb") if (!(strcmp(filename, "main.kart")
&& strcmp(filename, "srb2.wad") && strcmp(filename, "gfx.pk3")
&& strcmp(filename, "patch.dta") && strcmp(filename, "textures.pk3")
//&& strcmp(filename, "music.dta") && strcmp(filename, "chars.pk3")
&& strcmp(filename, "gfx.kart") && strcmp(filename, "maps.wad")
&& strcmp(filename, "textures.kart") && strcmp(filename, "patch.pk3")
&& strcmp(filename, "chars.kart") && strcmp(filename, "sounds.wad")
&& strcmp(filename, "maps.kart") && strcmp(filename, "music.wad")
&& strcmp(filename, "sounds.kart")
&& strcmp(filename, "music.kart")
&& strcmp(filename, "patch.kart")
)) ))
I_Error("Tried to download \"%s\"", filename); I_Error("Tried to download \"%s\"", filename);

View file

@ -3749,8 +3749,7 @@ static void DEH_LoadDehackedFile(MYFILE *f, UINT16 wad)
} }
else if (fastcmp(word, "SRB2")) else if (fastcmp(word, "SRB2"))
{ {
if (mainwads) // srb2.srb triggers this warning otherwise deh_warning("Patch is only compatible with base SRB2.");
deh_warning("Patch is only compatible with base SRB2.");
} }
// Clear all data in certain locations (mostly for unlocks) // Clear all data in certain locations (mostly for unlocks)
// Unless you REALLY want to piss people off, // Unless you REALLY want to piss people off,
@ -8192,51 +8191,46 @@ static const char *COLOR_ENUMS[] = { // Rejigged for Kart.
"GREY", // SKINCOLOR_GREY "GREY", // SKINCOLOR_GREY
"NICKEL", // SKINCOLOR_NICKEL "NICKEL", // SKINCOLOR_NICKEL
"BLACK", // SKINCOLOR_BLACK "BLACK", // SKINCOLOR_BLACK
"SKUNK", // SKINCOLOR_SKUNK
"FAIRY", // SKINCOLOR_FAIRY "FAIRY", // SKINCOLOR_FAIRY
"POPCORN", // SKINCOLOR_POPCORN "POPCORN", // SKINCOLOR_POPCORN
"ARTICHOKE", // SKINCOLOR_ARTICHOKE "ARTICHOKE", // SKINCOLOR_ARTICHOKE
"PIGEON", // SKINCOLOR_PIGEON "PIGEON", // SKINCOLOR_PIGEON
"SEPIA", // SKINCOLOR_SEPIA "SEPIA", // SKINCOLOR_SEPIA
"BEIGE", // SKINCOLOR_BEIGE "BEIGE", // SKINCOLOR_BEIGE
"WALNUT", // SKINCOLOR_WALNUT "CARAMEL", // SKINCOLOR_CARAMEL
"PEACH", // SKINCOLOR_PEACH
"BROWN", // SKINCOLOR_BROWN "BROWN", // SKINCOLOR_BROWN
"LEATHER", // SKINCOLOR_LEATHER "LEATHER", // SKINCOLOR_LEATHER
"SALMON", // SKINCOLOR_SALMON "SALMON", // SKINCOLOR_SALMON
"PINK", // SKINCOLOR_PINK "PINK", // SKINCOLOR_PINK
"ROSE", // SKINCOLOR_ROSE "ROSE", // SKINCOLOR_ROSE
"BRICK", // SKINCOLOR_BRICK
"CINNAMON", // SKINCOLOR_CINNAMON "CINNAMON", // SKINCOLOR_CINNAMON
"RUBY", // SKINCOLOR_RUBY "RUBY", // SKINCOLOR_RUBY
"RASPBERRY", // SKINCOLOR_RASPBERRY "RASPBERRY", // SKINCOLOR_RASPBERRY
"CHERRY", // SKINCOLOR_CHERRY
"RED", // SKINCOLOR_RED "RED", // SKINCOLOR_RED
"CRIMSON", // SKINCOLOR_CRIMSON "CRIMSON", // SKINCOLOR_CRIMSON
"MAROON", // SKINCOLOR_MAROON "MAROON", // SKINCOLOR_MAROON
"LEMONADE", // SKINCOLOR_LEMONADE "LEMONADE", // SKINCOLOR_LEMONADE
"FLAME", // SKINCOLOR_FLAME
"SCARLET", // SKINCOLOR_SCARLET "SCARLET", // SKINCOLOR_SCARLET
"KETCHUP", // SKINCOLOR_KETCHUP "KETCHUP", // SKINCOLOR_KETCHUP
"DAWN", // SKINCOLOR_DAWN "DAWN", // SKINCOLOR_DAWN
"SUNSET", // SKINCOLOR_SUNSET "SUNSET", // SKINCOLOR_SUNSET
"CREAMSICLE", // SKINCOLOR_CREAMSICLE "CREAMSICLE", // SKINCOLOR_CREAMSICLE
"ORANGE", // SKINCOLOR_ORANGE "ORANGE", // SKINCOLOR_ORANGE
"PUMPKIN", // SKINCOLOR_PUMPKIN
"ROSEWOOD", // SKINCOLOR_ROSEWOOD "ROSEWOOD", // SKINCOLOR_ROSEWOOD
"BURGUNDY", // SKINCOLOR_BURGUNDY
"TANGERINE", // SKINCOLOR_TANGERINE "TANGERINE", // SKINCOLOR_TANGERINE
"PEACH", // SKINCOLOR_PEACH "TAN", // SKINCOLOR_TAN
"CARAMEL", // SKINCOLOR_CARAMEL
"CREAM", // SKINCOLOR_CREAM "CREAM", // SKINCOLOR_CREAM
"GOLD", // SKINCOLOR_GOLD "GOLD", // SKINCOLOR_GOLD
"ROYAL", // SKINCOLOR_ROYAL "ROYAL", // SKINCOLOR_ROYAL
"BRONZE", // SKINCOLOR_BRONZE "BRONZE", // SKINCOLOR_BRONZE
"COPPER", // SKINCOLOR_COPPER "COPPER", // SKINCOLOR_COPPER
"QUARRY", // SKINCOLOR_QUARRY
"YELLOW", // SKINCOLOR_YELLOW "YELLOW", // SKINCOLOR_YELLOW
"MUSTARD", // SKINCOLOR_MUSTARD "MUSTARD", // SKINCOLOR_MUSTARD
"CROCODILE", // SKINCOLOR_CROCODILE "BANANA", // SKINCOLOR_BANANA
"OLIVE", // SKINCOLOR_OLIVE "OLIVE", // SKINCOLOR_OLIVE
"CROCODILE", // SKINCOLOR_CROCODILE
"PERIDOT", // SKINCOLOR_PERIDOT
"VOMIT", // SKINCOLOR_VOMIT "VOMIT", // SKINCOLOR_VOMIT
"GARDEN", // SKINCOLOR_GARDEN "GARDEN", // SKINCOLOR_GARDEN
"LIME", // SKINCOLOR_LIME "LIME", // SKINCOLOR_LIME
@ -8249,14 +8243,16 @@ static const char *COLOR_ENUMS[] = { // Rejigged for Kart.
"MINT", // SKINCOLOR_MINT "MINT", // SKINCOLOR_MINT
"GREEN", // SKINCOLOR_GREEN "GREEN", // SKINCOLOR_GREEN
"PINETREE", // SKINCOLOR_PINETREE "PINETREE", // SKINCOLOR_PINETREE
"EMERALD", // SKINCOLOR_EMERALD "TURTLE", // SKINCOLOR_TURTLE
"SWAMP", // SKINCOLOR_SWAMP "SWAMP", // SKINCOLOR_SWAMP
"DREAM", // SKINCOLOR_DREAM "DREAM", // SKINCOLOR_DREAM
"PLAGUE", // SKINCOLOR_PLAGUE "PLAGUE", // SKINCOLOR_PLAGUE
"EMERALD", // SKINCOLOR_EMERALD
"ALGAE", // SKINCOLOR_ALGAE "ALGAE", // SKINCOLOR_ALGAE
"CARIBBEAN", // SKINCOLOR_CARIBBEAN "CARIBBEAN", // SKINCOLOR_CARIBBEAN
"AZURE", // SKINCOLOR_AZURE "AZURE", // SKINCOLOR_AZURE
"AQUA", // SKINCOLOR_AQUA "AQUAMARINE", // SKINCOLOR_AQUAMARINE
"TURQUOISE", // SKINCOLOR_TURQUOISE
"TEAL", // SKINCOLOR_TEAL "TEAL", // SKINCOLOR_TEAL
"CYAN", // SKINCOLOR_CYAN "CYAN", // SKINCOLOR_CYAN
"JAWZ", // SKINCOLOR_JAWZ "JAWZ", // SKINCOLOR_JAWZ
@ -8266,20 +8262,22 @@ static const char *COLOR_ENUMS[] = { // Rejigged for Kart.
"SLATE", // SKINCOLOR_SLATE "SLATE", // SKINCOLOR_SLATE
"STEEL", // SKINCOLOR_STEEL "STEEL", // SKINCOLOR_STEEL
"THUNDER", // SKINCOLOR_THUNDER "THUNDER", // SKINCOLOR_THUNDER
"NOVA", // SKINCOLOR_NOVA
"RUST", // SKINCOLOR_RUST "RUST", // SKINCOLOR_RUST
"WRISTWATCH", // SKINCOLOR_WRISTWATCH "WRISTWATCH", // SKINCOLOR_WRISTWATCH
"JET", // SKINCOLOR_JET "JET", // SKINCOLOR_JET
"SAPPHIRE", // SKINCOLOR_SAPPHIRE "SAPPHIRE", // SKINCOLOR_SAPPHIRE
"ULTRAMARINE", // SKINCOLOR_ULTRAMARINE
"PERIWINKLE", // SKINCOLOR_PERIWINKLE "PERIWINKLE", // SKINCOLOR_PERIWINKLE
"BLUE", // SKINCOLOR_BLUE "BLUE", // SKINCOLOR_BLUE
"BLUEBERRY", // SKINCOLOR_BLUEBERRY "BLUEBERRY", // SKINCOLOR_BLUEBERRY
"NOVA", // SKINCOLOR_NOVA "THISTLE", // SKINCOLOR_THISTLE
"PURPLE", // SKINCOLOR_PURPLE
"PASTEL", // SKINCOLOR_PASTEL "PASTEL", // SKINCOLOR_PASTEL
"MOONSLAM", // SKINCOLOR_MOONSLAM "MOONSLAM", // SKINCOLOR_MOONSLAM
"ULTRAVIOLET", // SKINCOLOR_ULTRAVIOLET
"DUSK", // SKINCOLOR_DUSK "DUSK", // SKINCOLOR_DUSK
"BUBBLEGUM", // SKINCOLOR_BUBBLEGUM "BUBBLEGUM", // SKINCOLOR_BUBBLEGUM
"PURPLE", // SKINCOLOR_PURPLE "MAGENTA", // SKINCOLOR_MAGENTA
"FUCHSIA", // SKINCOLOR_FUCHSIA "FUCHSIA", // SKINCOLOR_FUCHSIA
"TOXIC", // SKINCOLOR_TOXIC "TOXIC", // SKINCOLOR_TOXIC
"MAUVE", // SKINCOLOR_MAUVE "MAUVE", // SKINCOLOR_MAUVE
@ -8287,6 +8285,7 @@ static const char *COLOR_ENUMS[] = { // Rejigged for Kart.
"BYZANTIUM", // SKINCOLOR_BYZANTIUM "BYZANTIUM", // SKINCOLOR_BYZANTIUM
"POMEGRANATE", // SKINCOLOR_POMEGRANATE "POMEGRANATE", // SKINCOLOR_POMEGRANATE
"LILAC", // SKINCOLOR_LILAC "LILAC", // SKINCOLOR_LILAC
"TAFFY", // SKINCOLOR_TAFFY
// Special super colors // Special super colors
// Super Sonic Yellow // Super Sonic Yellow
@ -8929,11 +8928,11 @@ struct {
{"V_SKYMAP",V_SKYMAP}, {"V_SKYMAP",V_SKYMAP},
{"V_LAVENDERMAP",V_LAVENDERMAP}, {"V_LAVENDERMAP",V_LAVENDERMAP},
{"V_GOLDMAP",V_GOLDMAP}, {"V_GOLDMAP",V_GOLDMAP},
{"V_TEAMAP",V_TEAMAP}, {"V_AQUAMAP",V_AQUAMAP},
{"V_STEELMAP",V_STEELMAP}, {"V_MAGENTAMAP",V_MAGENTAMAP},
{"V_PINKMAP",V_PINKMAP}, {"V_PINKMAP",V_PINKMAP},
{"V_BROWNMAP",V_BROWNMAP}, {"V_BROWNMAP",V_BROWNMAP},
{"V_PEACHMAP",V_PEACHMAP}, {"V_TANMAP",V_TANMAP},
{"V_TRANSLUCENT",V_TRANSLUCENT}, {"V_TRANSLUCENT",V_TRANSLUCENT},
{"V_10TRANS",V_10TRANS}, {"V_10TRANS",V_10TRANS},
{"V_20TRANS",V_20TRANS}, {"V_20TRANS",V_20TRANS},

View file

@ -163,10 +163,7 @@ extern FILE *logstream;
// Does this version require an added patch file? // Does this version require an added patch file?
// Comment or uncomment this as necessary. // Comment or uncomment this as necessary.
//#define USE_PATCH_DTA //#define USE_PATCH_FILE
// Kart has it's own, as well.
#define USE_PATCH_KART
// Use .kart extension addons // Use .kart extension addons
#define USE_KART #define USE_KART
@ -260,51 +257,46 @@ typedef enum
SKINCOLOR_GREY, SKINCOLOR_GREY,
SKINCOLOR_NICKEL, SKINCOLOR_NICKEL,
SKINCOLOR_BLACK, SKINCOLOR_BLACK,
SKINCOLOR_SKUNK,
SKINCOLOR_FAIRY, SKINCOLOR_FAIRY,
SKINCOLOR_POPCORN, SKINCOLOR_POPCORN,
SKINCOLOR_ARTICHOKE, SKINCOLOR_ARTICHOKE,
SKINCOLOR_PIGEON, SKINCOLOR_PIGEON,
SKINCOLOR_SEPIA, SKINCOLOR_SEPIA,
SKINCOLOR_BEIGE, SKINCOLOR_BEIGE,
SKINCOLOR_WALNUT, SKINCOLOR_CARAMEL,
SKINCOLOR_PEACH,
SKINCOLOR_BROWN, SKINCOLOR_BROWN,
SKINCOLOR_LEATHER, SKINCOLOR_LEATHER,
SKINCOLOR_SALMON, SKINCOLOR_SALMON,
SKINCOLOR_PINK, SKINCOLOR_PINK,
SKINCOLOR_ROSE, SKINCOLOR_ROSE,
SKINCOLOR_BRICK,
SKINCOLOR_CINNAMON, SKINCOLOR_CINNAMON,
SKINCOLOR_RUBY, SKINCOLOR_RUBY,
SKINCOLOR_RASPBERRY, SKINCOLOR_RASPBERRY,
SKINCOLOR_CHERRY,
SKINCOLOR_RED, SKINCOLOR_RED,
SKINCOLOR_CRIMSON, SKINCOLOR_CRIMSON,
SKINCOLOR_MAROON, SKINCOLOR_MAROON,
SKINCOLOR_LEMONADE, SKINCOLOR_LEMONADE,
SKINCOLOR_FLAME,
SKINCOLOR_SCARLET, SKINCOLOR_SCARLET,
SKINCOLOR_KETCHUP, SKINCOLOR_KETCHUP,
SKINCOLOR_DAWN, SKINCOLOR_DAWN,
SKINCOLOR_SUNSET, SKINCOLOR_SUNSET,
SKINCOLOR_CREAMSICLE, SKINCOLOR_CREAMSICLE,
SKINCOLOR_ORANGE, SKINCOLOR_ORANGE,
SKINCOLOR_PUMPKIN,
SKINCOLOR_ROSEWOOD, SKINCOLOR_ROSEWOOD,
SKINCOLOR_BURGUNDY,
SKINCOLOR_TANGERINE, SKINCOLOR_TANGERINE,
SKINCOLOR_PEACH, SKINCOLOR_TAN,
SKINCOLOR_CARAMEL,
SKINCOLOR_CREAM, SKINCOLOR_CREAM,
SKINCOLOR_GOLD, SKINCOLOR_GOLD,
SKINCOLOR_ROYAL, SKINCOLOR_ROYAL,
SKINCOLOR_BRONZE, SKINCOLOR_BRONZE,
SKINCOLOR_COPPER, SKINCOLOR_COPPER,
SKINCOLOR_QUARRY,
SKINCOLOR_YELLOW, SKINCOLOR_YELLOW,
SKINCOLOR_MUSTARD, SKINCOLOR_MUSTARD,
SKINCOLOR_CROCODILE, SKINCOLOR_BANANA,
SKINCOLOR_OLIVE, SKINCOLOR_OLIVE,
SKINCOLOR_CROCODILE,
SKINCOLOR_PERIDOT,
SKINCOLOR_VOMIT, SKINCOLOR_VOMIT,
SKINCOLOR_GARDEN, SKINCOLOR_GARDEN,
SKINCOLOR_LIME, SKINCOLOR_LIME,
@ -317,14 +309,16 @@ typedef enum
SKINCOLOR_MINT, SKINCOLOR_MINT,
SKINCOLOR_GREEN, SKINCOLOR_GREEN,
SKINCOLOR_PINETREE, SKINCOLOR_PINETREE,
SKINCOLOR_EMERALD, SKINCOLOR_TURTLE,
SKINCOLOR_SWAMP, SKINCOLOR_SWAMP,
SKINCOLOR_DREAM, SKINCOLOR_DREAM,
SKINCOLOR_PLAGUE, SKINCOLOR_PLAGUE,
SKINCOLOR_EMERALD,
SKINCOLOR_ALGAE, SKINCOLOR_ALGAE,
SKINCOLOR_CARIBBEAN, SKINCOLOR_CARIBBEAN,
SKINCOLOR_AZURE, SKINCOLOR_AZURE,
SKINCOLOR_AQUA, SKINCOLOR_AQUAMARINE,
SKINCOLOR_TURQUOISE,
SKINCOLOR_TEAL, SKINCOLOR_TEAL,
SKINCOLOR_CYAN, SKINCOLOR_CYAN,
SKINCOLOR_JAWZ, // Oni's torment SKINCOLOR_JAWZ, // Oni's torment
@ -334,20 +328,22 @@ typedef enum
SKINCOLOR_SLATE, SKINCOLOR_SLATE,
SKINCOLOR_STEEL, SKINCOLOR_STEEL,
SKINCOLOR_THUNDER, SKINCOLOR_THUNDER,
SKINCOLOR_NOVA,
SKINCOLOR_RUST, SKINCOLOR_RUST,
SKINCOLOR_WRISTWATCH, SKINCOLOR_WRISTWATCH,
SKINCOLOR_JET, SKINCOLOR_JET,
SKINCOLOR_SAPPHIRE, // sweet mother, i cannot weave - slender aphrodite has overcome me with longing for a girl SKINCOLOR_SAPPHIRE, // sweet mother, i cannot weave - slender aphrodite has overcome me with longing for a girl
SKINCOLOR_ULTRAMARINE,
SKINCOLOR_PERIWINKLE, SKINCOLOR_PERIWINKLE,
SKINCOLOR_BLUE, SKINCOLOR_BLUE,
SKINCOLOR_BLUEBERRY, SKINCOLOR_BLUEBERRY,
SKINCOLOR_NOVA, SKINCOLOR_THISTLE,
SKINCOLOR_PURPLE,
SKINCOLOR_PASTEL, SKINCOLOR_PASTEL,
SKINCOLOR_MOONSLAM, SKINCOLOR_MOONSLAM,
SKINCOLOR_ULTRAVIOLET,
SKINCOLOR_DUSK, SKINCOLOR_DUSK,
SKINCOLOR_BUBBLEGUM, SKINCOLOR_BUBBLEGUM,
SKINCOLOR_PURPLE, SKINCOLOR_MAGENTA,
SKINCOLOR_FUCHSIA, SKINCOLOR_FUCHSIA,
SKINCOLOR_TOXIC, SKINCOLOR_TOXIC,
SKINCOLOR_MAUVE, SKINCOLOR_MAUVE,
@ -355,6 +351,7 @@ typedef enum
SKINCOLOR_BYZANTIUM, SKINCOLOR_BYZANTIUM,
SKINCOLOR_POMEGRANATE, SKINCOLOR_POMEGRANATE,
SKINCOLOR_LILAC, SKINCOLOR_LILAC,
SKINCOLOR_TAFFY,
// "Careful! MAXSKINCOLORS cannot be greater than 0x40 -- Which it is now." // "Careful! MAXSKINCOLORS cannot be greater than 0x40 -- Which it is now."
// (This comment is a dirty liar! This is only limited by the integer type, so 255 for UINT8.) // (This comment is a dirty liar! This is only limited by the integer type, so 255 for UINT8.)

View file

@ -173,7 +173,7 @@ static void F_SkyScroll(INT32 scrollspeed)
// SRB2Kart: F_DrawPatchCol is over-engineered; recoded to be less shitty and error-prone // SRB2Kart: F_DrawPatchCol is over-engineered; recoded to be less shitty and error-prone
if (rendermode != render_none) if (rendermode != render_none)
{ {
V_DrawFill(0, 0, BASEVIDWIDTH, BASEVIDHEIGHT, 120); V_DrawFill(0, 0, BASEVIDWIDTH, BASEVIDHEIGHT, 0);
x = -((INT32)animtimer); x = -((INT32)animtimer);
y = 0; y = 0;
@ -274,7 +274,7 @@ static void F_IntroDrawScene(void)
highres = true; highres = true;
} }
V_DrawFill(0, 0, BASEVIDWIDTH, BASEVIDHEIGHT, 120); V_DrawFill(0, 0, BASEVIDWIDTH, BASEVIDHEIGHT, 0);
if (background) if (background)
{ {
@ -459,9 +459,13 @@ static const char *credits[] = {
"\"ZarroTsu\"", "\"ZarroTsu\"",
"", "",
"\1External Artists", "\1External Artists",
"\"1-Up Mason\"",
"\"Chengi\"",
"\"Chrispy\"", "\"Chrispy\"",
"\"DirkTheHusky\"", "\"DirkTheHusky\"",
"\"LJSTAR\"",
"\"MotorRoach\"", "\"MotorRoach\"",
"\"Mr. McScrewup\"",
"\"Nev3r\"", "\"Nev3r\"",
"\"Ritz\"", "\"Ritz\"",
"\"Rob\"", "\"Rob\"",
@ -470,6 +474,7 @@ static const char *credits[] = {
"\"Spherallic\"", "\"Spherallic\"",
"\"VAdaPEGA\"", "\"VAdaPEGA\"",
"\"Virt\"", "\"Virt\"",
"\"Voltrix\"",
"\"zxyspku\"", "\"zxyspku\"",
"", "",
"\1Sound Design", "\1Sound Design",
@ -965,7 +970,7 @@ void F_TitleScreenDrawer(void)
} }
else if (finalecount < 52) else if (finalecount < 52)
{ {
V_DrawFill(0, 0, BASEVIDWIDTH, BASEVIDHEIGHT, 120); V_DrawFill(0, 0, BASEVIDWIDTH, BASEVIDHEIGHT, 0);
V_DrawSmallScaledPatch(84, 36, 0, ttkflash); V_DrawSmallScaledPatch(84, 36, 0, ttkflash);
} }
else else
@ -981,7 +986,7 @@ void F_TitleScreenDrawer(void)
V_DrawSciencePatch(280<<FRACBITS, -(40<<FRACBITS) + FixedMul(40<<FRACBITS, FixedDiv(finalecount%70, 70)), V_SNAPTOTOP|V_SNAPTORIGHT, ttcheckers, FRACUNIT); V_DrawSciencePatch(280<<FRACBITS, -(40<<FRACBITS) + FixedMul(40<<FRACBITS, FixedDiv(finalecount%70, 70)), V_SNAPTOTOP|V_SNAPTORIGHT, ttcheckers, FRACUNIT);
if (transval) if (transval)
V_DrawFadeScreen(120, 10 - transval); V_DrawFadeScreen(0, 10 - transval);
V_DrawSmallScaledPatch(84, 36, 0, ttbanner); V_DrawSmallScaledPatch(84, 36, 0, ttbanner);

View file

@ -1249,7 +1249,11 @@ void G_BuildTiccmd(ticcmd_t *cmd, INT32 realtics, UINT8 ssplayer)
if (demo.playback) return; if (demo.playback) return;
player = &players[displayplayers[ssplayer-1]]; if (ssplayer == 1)
player = &players[consoleplayer];
else
player = &players[displayplayers[ssplayer-1]];
if (ssplayer == 2) if (ssplayer == 2)
thiscam = (player->bot == 2 ? &camera[0] : &camera[ssplayer-1]); thiscam = (player->bot == 2 ? &camera[0] : &camera[ssplayer-1]);
else else
@ -3441,12 +3445,12 @@ UINT8 G_GetGametypeColor(INT16 gt)
{ {
if (modeattacking // == ATTACKING_RECORD if (modeattacking // == ATTACKING_RECORD
|| gamestate == GS_TIMEATTACK) || gamestate == GS_TIMEATTACK)
return orangemap[120]; return orangemap[0];
if (gt == GT_MATCH) if (gt == GT_MATCH)
return redmap[120]; return redmap[0];
if (gt == GT_RACE) if (gt == GT_RACE)
return skymap[120]; return skymap[0];
return 247; // FALLBACK return 255; // FALLBACK
} }
// //
@ -5947,7 +5951,8 @@ void G_StoreRewindInfo(void)
void G_PreviewRewind(tic_t previewtime) void G_PreviewRewind(tic_t previewtime)
{ {
size_t i, j; SINT8 i;
size_t j;
fixed_t tweenvalue = 0; fixed_t tweenvalue = 0;
rewindinfo_t *info = rewindhead, *next_info = rewindhead; rewindinfo_t *info = rewindhead, *next_info = rewindhead;
@ -6007,13 +6012,14 @@ void G_PreviewRewind(tic_t previewtime)
players[i].kartstuff[j] = info->playerinfo[i].player.kartstuff[j]; players[i].kartstuff[j] = info->playerinfo[i].player.kartstuff[j];
} }
for (i = splitscreen+1; i > 0; i--) for (i = splitscreen; i >= 0; i--)
P_ResetCamera(&players[displayplayers[i]], &camera[i]); P_ResetCamera(&players[displayplayers[i]], &camera[i]);
} }
void G_ConfirmRewind(tic_t rewindtime) void G_ConfirmRewind(tic_t rewindtime)
{ {
tic_t i; SINT8 i;
tic_t j;
boolean oldmenuactive = menuactive, oldsounddisabled = sound_disabled; boolean oldmenuactive = menuactive, oldsounddisabled = sound_disabled;
INT32 olddp1 = displayplayers[0], olddp2 = displayplayers[1], olddp3 = displayplayers[2], olddp4 = displayplayers[3]; INT32 olddp1 = displayplayers[0], olddp2 = displayplayers[1], olddp3 = displayplayers[2], olddp4 = displayplayers[3];
@ -6033,10 +6039,10 @@ void G_ConfirmRewind(tic_t rewindtime)
G_DoPlayDemo(NULL); // Restart the current demo G_DoPlayDemo(NULL); // Restart the current demo
for (i = 0; i < rewindtime && leveltime < rewindtime; i++) for (j = 0; j < rewindtime && leveltime < rewindtime; i++)
{ {
//TryRunTics(1); //TryRunTics(1);
G_Ticker((i % NEWTICRATERATIO) == 0); G_Ticker((j % NEWTICRATERATIO) == 0);
} }
demo.rewinding = false; demo.rewinding = false;
@ -6055,7 +6061,7 @@ void G_ConfirmRewind(tic_t rewindtime)
R_ExecuteSetViewSize(); R_ExecuteSetViewSize();
G_ResetViews(); G_ResetViews();
for (i = splitscreen+1; i > 0; i--) for (i = splitscreen; i >= 0; i--)
P_ResetCamera(&players[displayplayers[i]], &camera[i]); P_ResetCamera(&players[displayplayers[i]], &camera[i]);
} }

View file

@ -46,8 +46,8 @@ typedef unsigned char FBOOLEAN;
#define HWR_PATCHES_CHROMAKEY_COLORINDEX 0 #define HWR_PATCHES_CHROMAKEY_COLORINDEX 0
#define HWR_CHROMAKEY_EQUIVALENTCOLORINDEX 1 #define HWR_CHROMAKEY_EQUIVALENTCOLORINDEX 1
#else #else
#define HWR_PATCHES_CHROMAKEY_COLORINDEX 247 #define HWR_PATCHES_CHROMAKEY_COLORINDEX 255
#define HWR_CHROMAKEY_EQUIVALENTCOLORINDEX 220 #define HWR_CHROMAKEY_EQUIVALENTCOLORINDEX 130
#endif #endif
// the chroma key color shows on border sprites, set it to black // the chroma key color shows on border sprites, set it to black

View file

@ -793,13 +793,14 @@ static void Got_Saycmd(UINT8 **p, INT32 playernum)
case SKINCOLOR_GREY: case SKINCOLOR_GREY:
case SKINCOLOR_NICKEL: case SKINCOLOR_NICKEL:
case SKINCOLOR_BLACK: case SKINCOLOR_BLACK:
case SKINCOLOR_SKUNK: case SKINCOLOR_PLATINUM:
case SKINCOLOR_JET: case SKINCOLOR_JET:
cstart = "\x86"; // V_GRAYMAP cstart = "\x86"; // V_GRAYMAP
break; break;
case SKINCOLOR_SEPIA: case SKINCOLOR_SEPIA:
case SKINCOLOR_BEIGE: case SKINCOLOR_BEIGE:
case SKINCOLOR_WALNUT: case SKINCOLOR_CARAMEL:
case SKINCOLOR_PEACH:
case SKINCOLOR_BROWN: case SKINCOLOR_BROWN:
case SKINCOLOR_LEATHER: case SKINCOLOR_LEATHER:
case SKINCOLOR_RUST: case SKINCOLOR_RUST:
@ -810,20 +811,18 @@ static void Got_Saycmd(UINT8 **p, INT32 playernum)
case SKINCOLOR_SALMON: case SKINCOLOR_SALMON:
case SKINCOLOR_PINK: case SKINCOLOR_PINK:
case SKINCOLOR_ROSE: case SKINCOLOR_ROSE:
case SKINCOLOR_BRICK:
case SKINCOLOR_LEMONADE: case SKINCOLOR_LEMONADE:
case SKINCOLOR_BUBBLEGUM: case SKINCOLOR_BUBBLEGUM:
case SKINCOLOR_LILAC: case SKINCOLOR_LILAC:
case SKINCOLOR_TAFFY:
cstart = "\x8d"; // V_PINKMAP cstart = "\x8d"; // V_PINKMAP
break; break;
case SKINCOLOR_CINNAMON: case SKINCOLOR_CINNAMON:
case SKINCOLOR_RUBY: case SKINCOLOR_RUBY:
case SKINCOLOR_RASPBERRY: case SKINCOLOR_RASPBERRY:
case SKINCOLOR_CHERRY:
case SKINCOLOR_RED: case SKINCOLOR_RED:
case SKINCOLOR_CRIMSON: case SKINCOLOR_CRIMSON:
case SKINCOLOR_MAROON: case SKINCOLOR_MAROON:
case SKINCOLOR_FLAME:
case SKINCOLOR_SCARLET: case SKINCOLOR_SCARLET:
case SKINCOLOR_KETCHUP: case SKINCOLOR_KETCHUP:
cstart = "\x85"; // V_REDMAP cstart = "\x85"; // V_REDMAP
@ -832,16 +831,13 @@ static void Got_Saycmd(UINT8 **p, INT32 playernum)
case SKINCOLOR_SUNSET: case SKINCOLOR_SUNSET:
case SKINCOLOR_CREAMSICLE: case SKINCOLOR_CREAMSICLE:
case SKINCOLOR_ORANGE: case SKINCOLOR_ORANGE:
case SKINCOLOR_PUMPKIN:
case SKINCOLOR_ROSEWOOD: case SKINCOLOR_ROSEWOOD:
case SKINCOLOR_BURGUNDY:
case SKINCOLOR_TANGERINE: case SKINCOLOR_TANGERINE:
cstart = "\x87"; // V_ORANGEMAP cstart = "\x87"; // V_ORANGEMAP
break; break;
case SKINCOLOR_PEACH: case SKINCOLOR_TAN:
case SKINCOLOR_CARAMEL:
case SKINCOLOR_CREAM: case SKINCOLOR_CREAM:
cstart = "\x8f"; // V_PEACHMAP cstart = "\x8f"; // V_TANMAP
break; break;
case SKINCOLOR_GOLD: case SKINCOLOR_GOLD:
case SKINCOLOR_ROYAL: case SKINCOLOR_ROYAL:
@ -851,39 +847,43 @@ static void Got_Saycmd(UINT8 **p, INT32 playernum)
cstart = "\x8A"; // V_GOLDMAP cstart = "\x8A"; // V_GOLDMAP
break; break;
case SKINCOLOR_POPCORN: case SKINCOLOR_POPCORN:
case SKINCOLOR_QUARRY:
case SKINCOLOR_YELLOW: case SKINCOLOR_YELLOW:
case SKINCOLOR_MUSTARD: case SKINCOLOR_MUSTARD:
case SKINCOLOR_CROCODILE: case SKINCOLOR_BANANA:
case SKINCOLOR_OLIVE: case SKINCOLOR_OLIVE:
case SKINCOLOR_CROCODILE:
cstart = "\x82"; // V_YELLOWMAP cstart = "\x82"; // V_YELLOWMAP
break; break;
case SKINCOLOR_ARTICHOKE: case SKINCOLOR_ARTICHOKE:
case SKINCOLOR_PERIDOT:
case SKINCOLOR_VOMIT: case SKINCOLOR_VOMIT:
case SKINCOLOR_GARDEN: case SKINCOLOR_GARDEN:
case SKINCOLOR_TEA:
case SKINCOLOR_PISTACHIO:
cstart = "\x8b"; // V_TEAMAP
break;
case SKINCOLOR_LIME: case SKINCOLOR_LIME:
case SKINCOLOR_HANDHELD: case SKINCOLOR_HANDHELD:
case SKINCOLOR_TEA:
case SKINCOLOR_PISTACHIO:
case SKINCOLOR_MOSS: case SKINCOLOR_MOSS:
case SKINCOLOR_CAMOUFLAGE: case SKINCOLOR_CAMOUFLAGE:
case SKINCOLOR_ROBOHOOD: case SKINCOLOR_ROBOHOOD:
case SKINCOLOR_MINT: case SKINCOLOR_MINT:
case SKINCOLOR_GREEN: case SKINCOLOR_GREEN:
case SKINCOLOR_PINETREE: case SKINCOLOR_PINETREE:
case SKINCOLOR_EMERALD: case SKINCOLOR_TURTLE:
case SKINCOLOR_SWAMP: case SKINCOLOR_SWAMP:
case SKINCOLOR_DREAM: case SKINCOLOR_DREAM:
case SKINCOLOR_PLAGUE: case SKINCOLOR_PLAGUE:
case SKINCOLOR_EMERALD:
case SKINCOLOR_ALGAE: case SKINCOLOR_ALGAE:
cstart = "\x83"; // V_GREENMAP cstart = "\x83"; // V_GREENMAP
break; break;
case SKINCOLOR_CARIBBEAN: case SKINCOLOR_CARIBBEAN:
case SKINCOLOR_AZURE: case SKINCOLOR_AZURE:
case SKINCOLOR_AQUA: case SKINCOLOR_AQUAMARINE:
case SKINCOLOR_TURQUOISE:
case SKINCOLOR_TEAL: case SKINCOLOR_TEAL:
cstart = "\x8b"; // V_AQUAMAP
break;
case SKINCOLOR_PIGEON:
case SKINCOLOR_CYAN: case SKINCOLOR_CYAN:
case SKINCOLOR_JAWZ: case SKINCOLOR_JAWZ:
case SKINCOLOR_CERULEAN: case SKINCOLOR_CERULEAN:
@ -891,24 +891,24 @@ static void Got_Saycmd(UINT8 **p, INT32 playernum)
case SKINCOLOR_SAPPHIRE: case SKINCOLOR_SAPPHIRE:
cstart = "\x88"; // V_SKYMAP cstart = "\x88"; // V_SKYMAP
break; break;
case SKINCOLOR_PIGEON:
case SKINCOLOR_PLATINUM:
case SKINCOLOR_STEEL: case SKINCOLOR_STEEL:
cstart = "\x8c"; // V_STEELMAP case SKINCOLOR_ULTRAMARINE:
break;
case SKINCOLOR_PERIWINKLE: case SKINCOLOR_PERIWINKLE:
case SKINCOLOR_BLUE: case SKINCOLOR_BLUE:
case SKINCOLOR_BLUEBERRY: case SKINCOLOR_BLUEBERRY:
case SKINCOLOR_NOVA: case SKINCOLOR_NOVA:
cstart = "\x84"; // V_BLUEMAP cstart = "\x84"; // V_BLUEMAP
break; break;
case SKINCOLOR_ULTRAVIOLET: case SKINCOLOR_THISTLE:
case SKINCOLOR_PURPLE: case SKINCOLOR_PURPLE:
case SKINCOLOR_FUCHSIA: case SKINCOLOR_PASTEL:
cstart = "\x81"; // V_PURPLEMAP cstart = "\x81"; // V_PURPLEMAP
break; break;
case SKINCOLOR_PASTEL: case SKINCOLOR_MAGENTA:
case SKINCOLOR_FUCHSIA:
case SKINCOLOR_MOONSLAM: case SKINCOLOR_MOONSLAM:
cstart = "\x8c"; // V_MAGENTAMAP
break;
case SKINCOLOR_DUSK: case SKINCOLOR_DUSK:
case SKINCOLOR_TOXIC: case SKINCOLOR_TOXIC:
case SKINCOLOR_MAUVE: case SKINCOLOR_MAUVE:
@ -1581,7 +1581,7 @@ static void HU_drawMiniChat(void)
else else
{ {
if (cv_chatbacktint.value) // on request of wolfy if (cv_chatbacktint.value) // on request of wolfy
V_DrawFillConsoleMap(x + dx + 2, y+dy, charwidth, charheight, 239|V_SNAPTOBOTTOM|V_SNAPTOLEFT); V_DrawFillConsoleMap(x + dx + 2, y+dy, charwidth, charheight, 159|V_SNAPTOBOTTOM|V_SNAPTOLEFT);
V_DrawChatCharacter(x + dx + 2, y+dy, msg[j++] |V_SNAPTOBOTTOM|V_SNAPTOLEFT|transflag, !cv_allcaps.value, colormap); V_DrawChatCharacter(x + dx + 2, y+dy, msg[j++] |V_SNAPTOBOTTOM|V_SNAPTOLEFT|transflag, !cv_allcaps.value, colormap);
} }
@ -1645,7 +1645,7 @@ static void HU_drawChatLog(INT32 offset)
chat_topy = y + chat_scroll*charheight; chat_topy = y + chat_scroll*charheight;
chat_bottomy = chat_topy + boxh*charheight; chat_bottomy = chat_topy + boxh*charheight;
V_DrawFillConsoleMap(chatx, chat_topy, boxw, boxh*charheight +2, 239|V_SNAPTOBOTTOM|V_SNAPTOLEFT); // log box V_DrawFillConsoleMap(chatx, chat_topy, boxw, boxh*charheight +2, 159|V_SNAPTOBOTTOM|V_SNAPTOLEFT); // log box
for (i=0; i<chat_nummsg_log; i++) // iterate through our chatlog for (i=0; i<chat_nummsg_log; i++) // iterate through our chatlog
{ {
@ -1770,7 +1770,7 @@ static void HU_DrawChat(void)
cflag = V_GRAYMAP; // set text in gray if chat is muted. cflag = V_GRAYMAP; // set text in gray if chat is muted.
} }
V_DrawFillConsoleMap(chatx, y-1, boxw, (typelines*charheight), 239 | V_SNAPTOBOTTOM | V_SNAPTOLEFT); V_DrawFillConsoleMap(chatx, y-1, boxw, (typelines*charheight), 159 | V_SNAPTOBOTTOM | V_SNAPTOLEFT);
while (talk[i]) while (talk[i])
{ {
@ -1897,14 +1897,14 @@ static void HU_DrawChat(void)
{ {
char name[MAXPLAYERNAME+1]; char name[MAXPLAYERNAME+1];
strlcpy(name, player_names[i], 7); // shorten name to 7 characters. strlcpy(name, player_names[i], 7); // shorten name to 7 characters.
V_DrawFillConsoleMap(chatx+ boxw + 2, p_dispy- (6*count), 48, 6, 239 | V_SNAPTOBOTTOM | V_SNAPTOLEFT); // fill it like the chat so the text doesn't become hard to read because of the hud. V_DrawFillConsoleMap(chatx+ boxw + 2, p_dispy- (6*count), 48, 6, 159 | V_SNAPTOBOTTOM | V_SNAPTOLEFT); // fill it like the chat so the text doesn't become hard to read because of the hud.
V_DrawSmallString(chatx+ boxw + 4, p_dispy- (6*count), V_SNAPTOBOTTOM|V_SNAPTOLEFT|V_ALLOWLOWERCASE, va("\x82%d\x80 - %s", i, name)); V_DrawSmallString(chatx+ boxw + 4, p_dispy- (6*count), V_SNAPTOBOTTOM|V_SNAPTOLEFT|V_ALLOWLOWERCASE, va("\x82%d\x80 - %s", i, name));
count++; count++;
} }
} }
if (count == 0) // no results. if (count == 0) // no results.
{ {
V_DrawFillConsoleMap(chatx+boxw+2, p_dispy- (6*count), 48, 6, 239 | V_SNAPTOBOTTOM | V_SNAPTOLEFT); // fill it like the chat so the text doesn't become hard to read because of the hud. V_DrawFillConsoleMap(chatx+boxw+2, p_dispy- (6*count), 48, 6, 159 | V_SNAPTOBOTTOM | V_SNAPTOLEFT); // fill it like the chat so the text doesn't become hard to read because of the hud.
V_DrawSmallString(chatx+boxw+4, p_dispy- (6*count), V_SNAPTOBOTTOM|V_SNAPTOLEFT|V_ALLOWLOWERCASE, "NO RESULT."); V_DrawSmallString(chatx+boxw+4, p_dispy- (6*count), V_SNAPTOBOTTOM|V_SNAPTOLEFT|V_ALLOWLOWERCASE, "NO RESULT.");
} }
} }

View file

@ -37,7 +37,7 @@
//{ SRB2kart Color Code //{ SRB2kart Color Code
#define SKIN_RAMP_LENGTH 16 #define SKIN_RAMP_LENGTH 16
#define DEFAULT_STARTTRANSCOLOR 160 #define DEFAULT_STARTTRANSCOLOR 96
#define NUM_PALETTE_ENTRIES 256 #define NUM_PALETTE_ENTRIES 256
// These should be within 14 characters to fit on the character select screen // These should be within 14 characters to fit on the character select screen
@ -49,51 +49,46 @@ const char *KartColor_Names[MAXSKINCOLORS] =
"Grey", // SKINCOLOR_GREY "Grey", // SKINCOLOR_GREY
"Nickel", // SKINCOLOR_NICKEL "Nickel", // SKINCOLOR_NICKEL
"Black", // SKINCOLOR_BLACK "Black", // SKINCOLOR_BLACK
"Skunk", // SKINCOLOR_SKUNK
"Fairy", // SKINCOLOR_FAIRY "Fairy", // SKINCOLOR_FAIRY
"Popcorn", // SKINCOLOR_POPCORN "Popcorn", // SKINCOLOR_POPCORN
"Artichoke", // SKINCOLOR_ARTICHOKE "Artichoke", // SKINCOLOR_ARTICHOKE
"Pigeon", // SKINCOLOR_PIGEON "Pigeon", // SKINCOLOR_PIGEON
"Sepia", // SKINCOLOR_SEPIA "Sepia", // SKINCOLOR_SEPIA
"Beige", // SKINCOLOR_BEIGE "Beige", // SKINCOLOR_BEIGE
"Walnut", // SKINCOLOR_WALNUT "Caramel", // SKINCOLOR_CARAMEL
"Peach", // SKINCOLOR_PEACH
"Brown", // SKINCOLOR_BROWN "Brown", // SKINCOLOR_BROWN
"Leather", // SKINCOLOR_LEATHER "Leather", // SKINCOLOR_LEATHER
"Salmon", // SKINCOLOR_SALMON "Salmon", // SKINCOLOR_SALMON
"Pink", // SKINCOLOR_PINK "Pink", // SKINCOLOR_PINK
"Rose", // SKINCOLOR_ROSE "Rose", // SKINCOLOR_ROSE
"Brick", // SKINCOLOR_BRICK
"Cinnamon", // SKINCOLOR_CINNAMON "Cinnamon", // SKINCOLOR_CINNAMON
"Ruby", // SKINCOLOR_RUBY "Ruby", // SKINCOLOR_RUBY
"Raspberry", // SKINCOLOR_RASPBERRY "Raspberry", // SKINCOLOR_RASPBERRY
"Cherry", // SKINCOLOR_CHERRY
"Red", // SKINCOLOR_RED "Red", // SKINCOLOR_RED
"Crimson", // SKINCOLOR_CRIMSON "Crimson", // SKINCOLOR_CRIMSON
"Maroon", // SKINCOLOR_MAROON "Maroon", // SKINCOLOR_MAROON
"Lemonade", // SKINCOLOR_LEMONADE "Lemonade", // SKINCOLOR_LEMONADE
"Flame", // SKINCOLOR_FLAME
"Scarlet", // SKINCOLOR_SCARLET "Scarlet", // SKINCOLOR_SCARLET
"Ketchup", // SKINCOLOR_KETCHUP "Ketchup", // SKINCOLOR_KETCHUP
"Dawn", // SKINCOLOR_DAWN "Dawn", // SKINCOLOR_DAWN
"Sunset", // SKINCOLOR_SUNSET "Sunset", // SKINCOLOR_SUNSET
"Creamsicle", // SKINCOLOR_CREAMSICLE "Creamsicle", // SKINCOLOR_CREAMSICLE
"Orange", // SKINCOLOR_ORANGE "Orange", // SKINCOLOR_ORANGE
"Pumpkin", // SKINCOLOR_PUMPKIN
"Rosewood", // SKINCOLOR_ROSEWOOD "Rosewood", // SKINCOLOR_ROSEWOOD
"Burgundy", // SKINCOLOR_BURGUNDY
"Tangerine", // SKINCOLOR_TANGERINE "Tangerine", // SKINCOLOR_TANGERINE
"Peach", // SKINCOLOR_PEACH "Tan", // SKINCOLOR_TAN
"Caramel", // SKINCOLOR_CARAMEL
"Cream", // SKINCOLOR_CREAM "Cream", // SKINCOLOR_CREAM
"Gold", // SKINCOLOR_GOLD "Gold", // SKINCOLOR_GOLD
"Royal", // SKINCOLOR_ROYAL "Royal", // SKINCOLOR_ROYAL
"Bronze", // SKINCOLOR_BRONZE "Bronze", // SKINCOLOR_BRONZE
"Copper", // SKINCOLOR_COPPER "Copper", // SKINCOLOR_COPPER
"Quarry", // SKINCOLOR_QUARRY
"Yellow", // SKINCOLOR_YELLOW "Yellow", // SKINCOLOR_YELLOW
"Mustard", // SKINCOLOR_MUSTARD "Mustard", // SKINCOLOR_MUSTARD
"Crocodile", // SKINCOLOR_CROCODILE "Banana", // SKINCOLOR_BANANA
"Olive", // SKINCOLOR_OLIVE "Olive", // SKINCOLOR_OLIVE
"Crocodile", // SKINCOLOR_CROCODILE
"Peridot", // SKINCOLOR_PERIDOT
"Vomit", // SKINCOLOR_VOMIT "Vomit", // SKINCOLOR_VOMIT
"Garden", // SKINCOLOR_GARDEN "Garden", // SKINCOLOR_GARDEN
"Lime", // SKINCOLOR_LIME "Lime", // SKINCOLOR_LIME
@ -106,14 +101,16 @@ const char *KartColor_Names[MAXSKINCOLORS] =
"Mint", // SKINCOLOR_MINT "Mint", // SKINCOLOR_MINT
"Green", // SKINCOLOR_GREEN "Green", // SKINCOLOR_GREEN
"Pinetree", // SKINCOLOR_PINETREE "Pinetree", // SKINCOLOR_PINETREE
"Emerald", // SKINCOLOR_EMERALD "Turtle", // SKINCOLOR_TURTLE
"Swamp", // SKINCOLOR_SWAMP "Swamp", // SKINCOLOR_SWAMP
"Dream", // SKINCOLOR_DREAM "Dream", // SKINCOLOR_DREAM
"Plague", // SKINCOLOR_PLAGUE "Plague", // SKINCOLOR_PLAGUE
"Emerald", // SKINCOLOR_EMERALD
"Algae", // SKINCOLOR_ALGAE "Algae", // SKINCOLOR_ALGAE
"Caribbean", // SKINCOLOR_CARIBBEAN "Caribbean", // SKINCOLOR_CARIBBEAN
"Azure", // SKINCOLOR_AZURE "Azure", // SKINCOLOR_AZURE
"Aqua", // SKINCOLOR_AQUA "Aquamarine", // SKINCOLOR_AQUAMARINE
"Turquoise", // SKINCOLOR_TURQUOISE
"Teal", // SKINCOLOR_TEAL "Teal", // SKINCOLOR_TEAL
"Cyan", // SKINCOLOR_CYAN "Cyan", // SKINCOLOR_CYAN
"Jawz", // SKINCOLOR_JAWZ "Jawz", // SKINCOLOR_JAWZ
@ -123,27 +120,30 @@ const char *KartColor_Names[MAXSKINCOLORS] =
"Slate", // SKINCOLOR_SLATE "Slate", // SKINCOLOR_SLATE
"Steel", // SKINCOLOR_STEEL "Steel", // SKINCOLOR_STEEL
"Thunder", // SKINCOLOR_THUNDER "Thunder", // SKINCOLOR_THUNDER
"Nova", // SKINCOLOR_NOVA
"Rust", // SKINCOLOR_RUST "Rust", // SKINCOLOR_RUST
"Wristwatch", // SKINCOLOR_WRISTWATCH "Wristwatch", // SKINCOLOR_WRISTWATCH
"Jet", // SKINCOLOR_JET "Jet", // SKINCOLOR_JET
"Sapphire", // SKINCOLOR_SAPPHIRE "Sapphire", // SKINCOLOR_SAPPHIRE
"Ultramarine", // SKINCOLOR_ULTRAMARINE
"Periwinkle", // SKINCOLOR_PERIWINKLE "Periwinkle", // SKINCOLOR_PERIWINKLE
"Blue", // SKINCOLOR_BLUE "Blue", // SKINCOLOR_BLUE
"Blueberry", // SKINCOLOR_BLUEBERRY "Blueberry", // SKINCOLOR_BLUEBERRY
"Nova", // SKINCOLOR_NOVA "Thistle", // SKINCOLOR_THISTLE
"Purple", // SKINCOLOR_PURPLE
"Pastel", // SKINCOLOR_PASTEL "Pastel", // SKINCOLOR_PASTEL
"Moonslam", // SKINCOLOR_MOONSLAM "Moonslam", // SKINCOLOR_MOONSLAM
"Ultraviolet", // SKINCOLOR_ULTRAVIOLET
"Dusk", // SKINCOLOR_DUSK "Dusk", // SKINCOLOR_DUSK
"Bubblegum", // SKINCOLOR_BUBBLEGUM "Bubblegum", // SKINCOLOR_BUBBLEGUM
"Purple", // SKINCOLOR_PURPLE "Magenta", // SKINCOLOR_MAGENTA
"Fuchsia", // SKINCOLOR_FUCHSIA "Fuchsia", // SKINCOLOR_FUCHSIA
"Toxic", // SKINCOLOR_TOXIC "Toxic", // SKINCOLOR_TOXIC
"Mauve", // SKINCOLOR_MAUVE "Mauve", // SKINCOLOR_MAUVE
"Lavender", // SKINCOLOR_LAVENDER "Lavender", // SKINCOLOR_LAVENDER
"Byzantium", // SKINCOLOR_BYZANTIUM "Byzantium", // SKINCOLOR_BYZANTIUM
"Pomegranate", // SKINCOLOR_POMEGRANATE "Pomegranate", // SKINCOLOR_POMEGRANATE
"Lilac" // SKINCOLOR_LILAC "Lilac", // SKINCOLOR_LILAC
"Taffy" // SKINCOLOR_TAFFY
}; };
// Color_Opposite replacement; frame setting has not been changed from 8 for most, should be done later // Color_Opposite replacement; frame setting has not been changed from 8 for most, should be done later
@ -155,251 +155,252 @@ const UINT8 KartColor_Opposite[MAXSKINCOLORS*2] =
SKINCOLOR_GREY,8, // SKINCOLOR_GREY SKINCOLOR_GREY,8, // SKINCOLOR_GREY
SKINCOLOR_SILVER,8, // SKINCOLOR_NICKEL SKINCOLOR_SILVER,8, // SKINCOLOR_NICKEL
SKINCOLOR_WHITE,8, // SKINCOLOR_BLACK SKINCOLOR_WHITE,8, // SKINCOLOR_BLACK
SKINCOLOR_SKUNK,8, // SKINCOLOR_SKUNK
SKINCOLOR_ARTICHOKE,12, // SKINCOLOR_FAIRY SKINCOLOR_ARTICHOKE,12, // SKINCOLOR_FAIRY
SKINCOLOR_PIGEON,12, // SKINCOLOR_POPCORN SKINCOLOR_PIGEON,12, // SKINCOLOR_POPCORN
SKINCOLOR_FAIRY,12, // SKINCOLOR_ARTICHOKE SKINCOLOR_FAIRY,12, // SKINCOLOR_ARTICHOKE
SKINCOLOR_POPCORN,12, // SKINCOLOR_PIGEON SKINCOLOR_POPCORN,12, // SKINCOLOR_PIGEON
SKINCOLOR_LEATHER,6, // SKINCOLOR_SEPIA SKINCOLOR_LEATHER,6, // SKINCOLOR_SEPIA
SKINCOLOR_BROWN,2, // SKINCOLOR_BEIGE SKINCOLOR_BROWN,2, // SKINCOLOR_BEIGE
SKINCOLOR_CAMOUFLAGE,8, // SKINCOLOR_WALNUT SKINCOLOR_CERULEAN,8, // SKINCOLOR_CARAMEL
SKINCOLOR_CYAN,8, // SKINCOLOR_PEACH
SKINCOLOR_BEIGE,8, // SKINCOLOR_BROWN SKINCOLOR_BEIGE,8, // SKINCOLOR_BROWN
SKINCOLOR_SEPIA,8, // SKINCOLOR_LEATHER SKINCOLOR_SEPIA,8, // SKINCOLOR_LEATHER
SKINCOLOR_TEA,8, // SKINCOLOR_SALMON SKINCOLOR_TEA,8, // SKINCOLOR_SALMON
SKINCOLOR_PISTACHIO,8, // SKINCOLOR_PINK SKINCOLOR_PISTACHIO,8, // SKINCOLOR_PINK
SKINCOLOR_MOSS,8, // SKINCOLOR_ROSE SKINCOLOR_MOSS,8, // SKINCOLOR_ROSE
SKINCOLOR_RUST,8, // SKINCOLOR_BRICK
SKINCOLOR_WRISTWATCH,6, // SKINCOLOR_CINNAMON SKINCOLOR_WRISTWATCH,6, // SKINCOLOR_CINNAMON
SKINCOLOR_SAPPHIRE,8, // SKINCOLOR_RUBY SKINCOLOR_SAPPHIRE,8, // SKINCOLOR_RUBY
SKINCOLOR_MINT,8, // SKINCOLOR_RASPBERRY SKINCOLOR_MINT,8, // SKINCOLOR_RASPBERRY
SKINCOLOR_HANDHELD,10, // SKINCOLOR_CHERRY
SKINCOLOR_GREEN,6, // SKINCOLOR_RED SKINCOLOR_GREEN,6, // SKINCOLOR_RED
SKINCOLOR_PINETREE,6, // SKINCOLOR_CRIMSON SKINCOLOR_PINETREE,6, // SKINCOLOR_CRIMSON
SKINCOLOR_TOXIC,8, // SKINCOLOR_MAROON SKINCOLOR_TOXIC,8, // SKINCOLOR_MAROON
SKINCOLOR_THUNDER,8, // SKINCOLOR_LEMONADE SKINCOLOR_THUNDER,8, // SKINCOLOR_LEMONADE
SKINCOLOR_CARIBBEAN,10, // SKINCOLOR_FLAME
SKINCOLOR_ALGAE,10, // SKINCOLOR_SCARLET SKINCOLOR_ALGAE,10, // SKINCOLOR_SCARLET
SKINCOLOR_MUSTARD,10, // SKINCOLOR_KETCHUP SKINCOLOR_MUSTARD,10, // SKINCOLOR_KETCHUP
SKINCOLOR_DUSK,8, // SKINCOLOR_DAWN SKINCOLOR_DUSK,8, // SKINCOLOR_DAWN
SKINCOLOR_MOONSLAM,8, // SKINCOLOR_SUNSET SKINCOLOR_MOONSLAM,8, // SKINCOLOR_SUNSET
SKINCOLOR_PERIWINKLE,8, // SKINCOLOR_CREAMSICLE SKINCOLOR_PERIWINKLE,8, // SKINCOLOR_CREAMSICLE
SKINCOLOR_BLUE,8, // SKINCOLOR_ORANGE SKINCOLOR_BLUE,8, // SKINCOLOR_ORANGE
SKINCOLOR_BLUEBERRY,8, // SKINCOLOR_PUMPKIN SKINCOLOR_BLUEBERRY,6, // SKINCOLOR_ROSEWOOD
SKINCOLOR_NAVY,6, // SKINCOLOR_ROSEWOOD
SKINCOLOR_JET,8, // SKINCOLOR_BURGUNDY
SKINCOLOR_LIME,8, // SKINCOLOR_TANGERINE SKINCOLOR_LIME,8, // SKINCOLOR_TANGERINE
SKINCOLOR_CYAN,8, // SKINCOLOR_PEACH SKINCOLOR_RUST,8, // SKINCOLOR_TAN
SKINCOLOR_CERULEAN,8, // SKINCOLOR_CARAMEL
SKINCOLOR_COPPER,10, // SKINCOLOR_CREAM SKINCOLOR_COPPER,10, // SKINCOLOR_CREAM
SKINCOLOR_SLATE,8, // SKINCOLOR_GOLD SKINCOLOR_SLATE,8, // SKINCOLOR_GOLD
SKINCOLOR_PLATINUM,6, // SKINCOLOR_ROYAL SKINCOLOR_PLATINUM,6, // SKINCOLOR_ROYAL
SKINCOLOR_STEEL,8, // SKINCOLOR_BRONZE SKINCOLOR_STEEL,8, // SKINCOLOR_BRONZE
SKINCOLOR_CREAM,6, // SKINCOLOR_COPPER SKINCOLOR_CREAM,6, // SKINCOLOR_COPPER
SKINCOLOR_AZURE,8, // SKINCOLOR_QUARRY SKINCOLOR_AQUAMARINE,8, // SKINCOLOR_YELLOW
SKINCOLOR_AQUA,8, // SKINCOLOR_YELLOW
SKINCOLOR_KETCHUP,8, // SKINCOLOR_MUSTARD SKINCOLOR_KETCHUP,8, // SKINCOLOR_MUSTARD
SKINCOLOR_BUBBLEGUM,8, // SKINCOLOR_CROCODILE SKINCOLOR_EMERALD,8, // SKINCOLOR_BANANA
SKINCOLOR_TEAL,8, // SKINCOLOR_OLIVE SKINCOLOR_TEAL,8, // SKINCOLOR_OLIVE
SKINCOLOR_BUBBLEGUM,8, // SKINCOLOR_CROCODILE
SKINCOLOR_NAVY,6, // SKINCOLOR_PERIDOT
SKINCOLOR_ROBOHOOD,8, // SKINCOLOR_VOMIT SKINCOLOR_ROBOHOOD,8, // SKINCOLOR_VOMIT
SKINCOLOR_LAVENDER,6, // SKINCOLOR_GARDEN SKINCOLOR_LAVENDER,6, // SKINCOLOR_GARDEN
SKINCOLOR_TANGERINE,8, // SKINCOLOR_LIME SKINCOLOR_TANGERINE,8, // SKINCOLOR_LIME
SKINCOLOR_CHERRY,8, // SKINCOLOR_HANDHELD SKINCOLOR_ULTRAMARINE,8, // SKINCOLOR_HANDHELD
SKINCOLOR_SALMON,8, // SKINCOLOR_TEA SKINCOLOR_SALMON,8, // SKINCOLOR_TEA
SKINCOLOR_PINK,6, // SKINCOLOR_PISTACHIO SKINCOLOR_PINK,6, // SKINCOLOR_PISTACHIO
SKINCOLOR_ROSE,8, // SKINCOLOR_MOSS SKINCOLOR_ROSE,8, // SKINCOLOR_MOSS
SKINCOLOR_WALNUT,8, // SKINCOLOR_CAMOUFLAGE SKINCOLOR_CAMOUFLAGE,8, // SKINCOLOR_CAMOUFLAGE
SKINCOLOR_VOMIT,8, // SKINCOLOR_ROBOHOOD SKINCOLOR_VOMIT,8, // SKINCOLOR_ROBOHOOD
SKINCOLOR_RASPBERRY,8, // SKINCOLOR_MINT SKINCOLOR_RASPBERRY,8, // SKINCOLOR_MINT
SKINCOLOR_RED,8, // SKINCOLOR_GREEN SKINCOLOR_RED,8, // SKINCOLOR_GREEN
SKINCOLOR_CRIMSON,8, // SKINCOLOR_PINETREE SKINCOLOR_CRIMSON,8, // SKINCOLOR_PINETREE
SKINCOLOR_PURPLE,8, // SKINCOLOR_EMERALD SKINCOLOR_MAGENTA,8, // SKINCOLOR_TURTLE
SKINCOLOR_BYZANTIUM,8, // SKINCOLOR_SWAMP SKINCOLOR_BYZANTIUM,8, // SKINCOLOR_SWAMP
SKINCOLOR_POMEGRANATE,8, // SKINCOLOR_DREAM SKINCOLOR_POMEGRANATE,8, // SKINCOLOR_DREAM
SKINCOLOR_NOVA,8, // SKINCOLOR_PLAGUE SKINCOLOR_NOVA,8, // SKINCOLOR_PLAGUE
SKINCOLOR_BANANA,8, // SKINCOLOR_EMERALD
SKINCOLOR_SCARLET,10, // SKINCOLOR_ALGAE SKINCOLOR_SCARLET,10, // SKINCOLOR_ALGAE
SKINCOLOR_FLAME,8, // SKINCOLOR_CARIBBEAN SKINCOLOR_PURPLE,8, // SKINCOLOR_CARIBBEAN
SKINCOLOR_QUARRY,8, // SKINCOLOR_AZURE SKINCOLOR_THISTLE,8, // SKINCOLOR_AZURE
SKINCOLOR_YELLOW,8, // SKINCOLOR_AQUA SKINCOLOR_YELLOW,8, // SKINCOLOR_AQUAMARINE
SKINCOLOR_MAUVE,10, // SKINCOLOR_TURQUOISE
SKINCOLOR_OLIVE,8, // SKINCOLOR_TEAL SKINCOLOR_OLIVE,8, // SKINCOLOR_TEAL
SKINCOLOR_PEACH,8, // SKINCOLOR_CYAN SKINCOLOR_PEACH,8, // SKINCOLOR_CYAN
SKINCOLOR_LILAC,10, // SKINCOLOR_JAWZ SKINCOLOR_LILAC,10, // SKINCOLOR_JAWZ
SKINCOLOR_CARAMEL,8, // SKINCOLOR_CERULEAN SKINCOLOR_CARAMEL,8, // SKINCOLOR_CERULEAN
SKINCOLOR_ROSEWOOD,8, // SKINCOLOR_NAVY SKINCOLOR_PERIDOT,8, // SKINCOLOR_NAVY
SKINCOLOR_ROYAL,8, // SKINCOLOR_PLATINUM SKINCOLOR_ROYAL,8, // SKINCOLOR_PLATINUM
SKINCOLOR_GOLD,10, // SKINCOLOR_SLATE SKINCOLOR_GOLD,10, // SKINCOLOR_SLATE
SKINCOLOR_BRONZE,10, // SKINCOLOR_STEEL SKINCOLOR_BRONZE,10, // SKINCOLOR_STEEL
SKINCOLOR_LEMONADE,8, // SKINCOLOR_THUNDER SKINCOLOR_LEMONADE,8, // SKINCOLOR_THUNDER
SKINCOLOR_BRICK,10, // SKINCOLOR_RUST SKINCOLOR_PLAGUE,10, // SKINCOLOR_NOVA
SKINCOLOR_TAN,8, // SKINCOLOR_RUST
SKINCOLOR_CINNAMON,8, // SKINCOLOR_WRISTWATCH SKINCOLOR_CINNAMON,8, // SKINCOLOR_WRISTWATCH
SKINCOLOR_BURGUNDY,8, // SKINCOLOR_JET SKINCOLOR_TAFFY,8, // SKINCOLOR_JET
SKINCOLOR_RUBY,6, // SKINCOLOR_SAPPHIRE SKINCOLOR_RUBY,6, // SKINCOLOR_SAPPHIRE
SKINCOLOR_HANDHELD,10, // SKINCOLOR_ULTRAMARINE
SKINCOLOR_CREAMSICLE,8, // SKINCOLOR_PERIWINKLE SKINCOLOR_CREAMSICLE,8, // SKINCOLOR_PERIWINKLE
SKINCOLOR_ORANGE,8, // SKINCOLOR_BLUE SKINCOLOR_ORANGE,8, // SKINCOLOR_BLUE
SKINCOLOR_PUMPKIN,8, // SKINCOLOR_BLUEBERRY SKINCOLOR_ROSEWOOD,8, // SKINCOLOR_BLUEBERRY
SKINCOLOR_PLAGUE,10, // SKINCOLOR_NOVA SKINCOLOR_AZURE,8, // SKINCOLOR_THISTLE
SKINCOLOR_CARIBBEAN,10, // SKINCOLOR_PURPLE
SKINCOLOR_FUCHSIA,11, // SKINCOLOR_PASTEL SKINCOLOR_FUCHSIA,11, // SKINCOLOR_PASTEL
SKINCOLOR_SUNSET,10, // SKINCOLOR_MOONSLAM SKINCOLOR_SUNSET,10, // SKINCOLOR_MOONSLAM
SKINCOLOR_MAUVE,10, // SKINCOLOR_ULTRAVIOLET
SKINCOLOR_DAWN,6, // SKINCOLOR_DUSK SKINCOLOR_DAWN,6, // SKINCOLOR_DUSK
SKINCOLOR_CROCODILE,8, // SKINCOLOR_BUBBLEGUM SKINCOLOR_CROCODILE,8, // SKINCOLOR_BUBBLEGUM
SKINCOLOR_EMERALD,8, // SKINCOLOR_PURPLE SKINCOLOR_TURTLE,8, // SKINCOLOR_MAGENTA
SKINCOLOR_PASTEL,11, // SKINCOLOR_FUCHSIA SKINCOLOR_PASTEL,11, // SKINCOLOR_FUCHSIA
SKINCOLOR_MAROON,8, // SKINCOLOR_TOXIC SKINCOLOR_MAROON,8, // SKINCOLOR_TOXIC
SKINCOLOR_ULTRAVIOLET,8, // SKINCOLOR_MAUVE SKINCOLOR_TURQUOISE,8, // SKINCOLOR_MAUVE
SKINCOLOR_GARDEN,6, // SKINCOLOR_LAVENDER SKINCOLOR_GARDEN,6, // SKINCOLOR_LAVENDER
SKINCOLOR_SWAMP,8, // SKINCOLOR_BYZANTIUM SKINCOLOR_SWAMP,8, // SKINCOLOR_BYZANTIUM
SKINCOLOR_DREAM,8, // SKINCOLOR_POMEGRANATE SKINCOLOR_DREAM,8, // SKINCOLOR_POMEGRANATE
SKINCOLOR_JAWZ,6 // SKINCOLOR_LILAC SKINCOLOR_JAWZ,6, // SKINCOLOR_LILAC
SKINCOLOR_JET,8 // SKINCOLOR_TAFFY
}; };
UINT8 colortranslations[MAXTRANSLATIONS][16] = { UINT8 colortranslations[MAXTRANSLATIONS][16] = {
{ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0}, // SKINCOLOR_NONE { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0}, // SKINCOLOR_NONE
{120, 120, 120, 120, 0, 2, 5, 8, 9, 11, 14, 17, 20, 22, 25, 28}, // SKINCOLOR_WHITE { 0, 0, 0, 0, 1, 2, 5, 8, 9, 11, 14, 17, 20, 22, 25, 28}, // SKINCOLOR_WHITE
{ 0, 1, 2, 3, 5, 7, 9, 12, 13, 15, 18, 20, 23, 25, 27, 30}, // SKINCOLOR_SILVER { 0, 1, 2, 3, 5, 7, 9, 12, 13, 15, 18, 20, 23, 25, 27, 30}, // SKINCOLOR_SILVER
{ 1, 3, 5, 7, 9, 11, 13, 15, 17, 19, 21, 23, 25, 27, 29, 31}, // SKINCOLOR_GREY { 1, 3, 5, 7, 9, 11, 13, 15, 17, 19, 21, 23, 25, 27, 29, 31}, // SKINCOLOR_GREY
{ 3, 5, 8, 11, 15, 17, 19, 21, 23, 24, 25, 26, 27, 29, 30, 31}, // SKINCOLOR_NICKEL { 3, 5, 8, 11, 15, 17, 19, 21, 23, 24, 25, 26, 27, 29, 30, 31}, // SKINCOLOR_NICKEL
{ 4, 7, 11, 15, 20, 22, 24, 27, 28, 28, 28, 29, 29, 30, 30, 31}, // SKINCOLOR_BLACK { 4, 7, 11, 15, 20, 22, 24, 27, 28, 28, 28, 29, 29, 30, 30, 31}, // SKINCOLOR_BLACK
{120, 120, 0, 2, 4, 10, 16, 22, 23, 24, 25, 26, 27, 28, 29, 31}, // SKINCOLOR_SKUNK { 0, 1, 208, 208, 209, 210, 10, 14, 16, 18, 20, 22, 24, 26, 28, 31}, // SKINCOLOR_FAIRY
{120, 120, 121, 121, 122, 123, 10, 14, 16, 18, 20, 22, 24, 26, 28, 31}, // SKINCOLOR_FAIRY { 0, 80, 80, 81, 82, 218, 240, 11, 13, 16, 18, 21, 23, 26, 28, 31}, // SKINCOLOR_POPCORN
{120, 96, 97, 98, 99, 71, 32, 11, 13, 16, 18, 21, 23, 26, 28, 31}, // SKINCOLOR_POPCORN { 80, 88, 89, 98, 99, 91, 12, 14, 16, 18, 20, 22, 24, 26, 28, 31}, // SKINCOLOR_ARTICHOKE
{ 97, 176, 177, 162, 163, 179, 12, 14, 16, 18, 20, 22, 24, 26, 28, 31}, // SKINCOLOR_ARTICHOKE { 0, 128, 129, 130, 146, 170, 14, 15, 17, 19, 21, 23, 25, 27, 29, 31}, // SKINCOLOR_PIGEON
{ 0, 208, 209, 211, 226, 202, 14, 15, 17, 19, 21, 23, 25, 27, 29, 31}, // SKINCOLOR_PIGEON { 0, 1, 3, 5, 7, 9, 241, 242, 243, 245, 247, 249, 236, 237, 238, 239}, // SKINCOLOR_SEPIA
{ 0, 1, 3, 5, 7, 9, 34, 36, 38, 40, 42, 44, 60, 61, 62, 63}, // SKINCOLOR_SEPIA { 0, 208, 216, 217, 240, 241, 242, 243, 245, 247, 249, 250, 251, 237, 238, 239}, // SKINCOLOR_BEIGE
{120, 65, 67, 69, 32, 34, 36, 38, 40, 42, 44, 45, 46, 47, 62, 63}, // SKINCOLOR_BEIGE {208, 48, 216, 217, 218, 220, 221, 223, 224, 226, 228, 230, 232, 234, 236, 239}, // SKINCOLOR_CARAMEL
{ 3, 6, 32, 33, 35, 37, 51, 52, 54, 55, 57, 58, 60, 61, 63, 30}, // SKINCOLOR_WALNUT { 0, 208, 48, 216, 218, 221, 212, 213, 214, 215, 206, 207, 197, 198, 199, 254}, // SKINCOLOR_PEACH
{ 67, 70, 73, 76, 48, 49, 51, 53, 54, 56, 58, 59, 61, 63, 29, 30}, // SKINCOLOR_BROWN {216, 217, 219, 221, 224, 225, 227, 229, 230, 232, 234, 235, 237, 239, 29, 30}, // SKINCOLOR_BROWN
{ 72, 76, 48, 51, 53, 55, 57, 59, 61, 63, 28, 28, 29, 29, 30, 31}, // SKINCOLOR_LEATHER {218, 221, 224, 227, 229, 231, 233, 235, 237, 239, 28, 28, 29, 29, 30, 31}, // SKINCOLOR_LEATHER
{120, 120, 120, 121, 121, 122, 123, 124, 126, 127, 129, 131, 133, 135, 137, 139}, // SKINCOLOR_SALMON { 0, 0, 0, 208, 208, 209, 210, 32, 34, 35, 36, 38, 40, 42, 44, 46}, // SKINCOLOR_SALMON
{120, 121, 121, 122, 144, 145, 146, 147, 148, 149, 150, 151, 134, 136, 138, 140}, // SKINCOLOR_PINK { 0, 208, 208, 209, 209, 210, 211, 211, 212, 213, 214, 215, 41, 43, 45, 46}, // SKINCOLOR_PINK
{144, 145, 146, 147, 148, 149, 150, 151, 134, 135, 136, 137, 138, 139, 140, 141}, // SKINCOLOR_ROSE {209, 210, 211, 211, 212, 213, 214, 215, 41, 42, 43, 44, 45, 71, 46, 47}, // SKINCOLOR_ROSE
{ 64, 67, 70, 73, 146, 147, 148, 150, 118, 118, 119, 119, 156, 159, 141, 143}, // SKINCOLOR_BRICK {216, 221, 224, 226, 228, 60, 61, 43, 44, 45, 71, 46, 47, 29, 30, 31}, // SKINCOLOR_CINNAMON
{ 68, 75, 48, 50, 52, 94, 152, 136, 137, 138, 139, 140, 141, 142, 143, 31}, // SKINCOLOR_CINNAMON { 0, 208, 209, 210, 211, 213, 39, 40, 41, 43, 186, 186, 169, 169, 253, 254}, // SKINCOLOR_RUBY
{120, 121, 144, 145, 147, 149, 132, 133, 134, 136, 198, 198, 199, 255, 30, 31}, // SKINCOLOR_RUBY { 0, 208, 209, 210, 32, 33, 34, 35, 37, 39, 41, 43, 44, 45, 46, 47}, // SKINCOLOR_RASPBERRY
{120, 121, 122, 123, 124, 125, 126, 127, 128, 130, 131, 134, 136, 137, 139, 140}, // SKINCOLOR_RASPBERRY {209, 210, 32, 34, 36, 38, 39, 40, 41, 42, 43, 44 , 45, 71, 46, 47}, // SKINCOLOR_RED
{120, 65, 67, 69, 71, 124, 125, 127, 132, 133, 135, 136, 138, 139, 140, 141}, // SKINCOLOR_CHERRY {210, 33, 35, 38, 40, 42, 43, 45, 71, 71, 46, 46, 47, 47, 30, 31}, // SKINCOLOR_CRIMSON
{122, 123, 124, 126, 129, 132, 133, 134, 135, 136, 137, 138, 139, 140, 141, 142}, // SKINCOLOR_RED { 32, 33, 35, 37, 39, 41, 43, 237, 26, 26, 27, 27, 28, 29, 30, 31}, // SKINCOLOR_MAROON
{123, 125, 128, 131, 133, 135, 136, 138, 140, 140, 141, 141, 142, 142, 143, 31}, // SKINCOLOR_CRIMSON { 0, 80, 81, 82, 83, 216, 210, 211, 212, 213, 214, 215, 43, 44, 71, 47}, // SKINCOLOR_LEMONADE
{123, 124, 126, 128, 132, 135, 137, 27, 28, 28, 28, 29, 29, 30, 30, 31}, // SKINCOLOR_MAROON { 48, 49, 50, 51, 53, 34, 36, 38, 184, 185, 168, 168, 169, 169, 254, 31}, // SKINCOLOR_SCARLET
{120, 96, 97, 98, 99, 65, 122, 144, 123, 124, 147, 149, 151, 153, 156, 159}, // SKINCOLOR_LEMONADE { 72, 73, 64, 51, 52, 54, 34, 36, 38, 40, 42, 43, 44, 71, 46, 47}, // SKINCOLOR_KETCHUP
{120, 97, 112, 113, 113, 85, 87, 126, 149, 150, 151, 252, 253, 254, 255, 29}, // SKINCOLOR_FLAME { 0, 208, 216, 209, 210, 211, 212, 57, 58, 59, 60, 61, 63, 71, 47, 31}, // SKINCOLOR_DAWN
{ 99, 113, 113, 84, 85, 87, 126, 128, 130, 196, 197, 198, 199, 240, 243, 246}, // SKINCOLOR_SCARLET { 82, 72, 73, 64, 51, 53, 55, 213, 214, 195, 195, 173, 174, 175, 253, 254}, // SKINCOLOR_SUNSET
{103, 113, 113, 84, 85, 88, 127, 130, 131, 133, 134, 136, 138, 139, 141, 143}, // SKINCOLOR_KETCHUP { 0, 0, 208, 208, 48, 49, 50, 52, 53, 54, 56, 57, 58, 60, 61, 63}, // SKINCOLOR_CREAMSICLE
{120, 121, 122, 123, 124, 147, 148, 91, 93, 95, 152, 154, 156, 159, 141, 143}, // SKINCOLOR_DAWN {208, 48, 49, 50, 51, 52, 53, 54, 55, 57, 59, 60, 62, 44, 71, 47}, // SKINCOLOR_ORANGE
{ 98, 112, 113, 84, 85, 87, 89, 149, 150, 251, 251, 205, 206, 207, 29, 31}, // SKINCOLOR_SUNSET { 50, 52, 55, 56, 58, 59, 60, 61, 62, 63, 44, 45, 71, 46, 47, 30}, // SKINCOLOR_ROSEWOOD
{120, 120, 80, 80, 81, 82, 83, 83, 84, 85, 86, 88, 89, 91, 93, 95}, // SKINCOLOR_CREAMSICLE { 80, 81, 82, 83, 64, 51, 52, 54, 55, 57, 58, 60, 61, 63, 71, 47}, // SKINCOLOR_TANGERINE
{ 80, 81, 82, 83, 84, 85, 86, 88, 89, 91, 94, 95, 154, 156, 158, 159}, // SKINCOLOR_ORANGE { 0, 80, 81, 82, 83, 84, 85, 86, 87, 245, 246, 248, 249, 251, 237, 239}, // SKINCOLOR_TAN
{ 82, 83, 84, 85, 87, 89, 90, 92, 94, 152, 153, 155, 157, 159, 141, 142}, // SKINCOLOR_PUMPKIN { 0, 80, 80, 81, 81, 49, 51, 222, 224, 227, 230, 233, 236, 239, 29, 31}, // SKINCOLOR_CREAM
{ 83, 85, 88, 90, 92, 94, 152, 153, 154, 156, 157, 159, 140, 141, 142, 143}, // SKINCOLOR_ROSEWOOD { 0, 80, 81, 83, 64, 65, 66, 67, 68, 215, 69, 70, 44, 71, 46, 47}, // SKINCOLOR_GOLD
{ 84, 86, 89, 91, 152, 154, 155, 157, 158, 159, 140, 141, 142, 143, 31, 31}, // SKINCOLOR_BURGUNDY { 80, 81, 83, 64, 65, 223, 229, 196, 196, 197, 197, 198, 199, 29, 30, 31}, // SKINCOLOR_ROYAL
{ 98, 98, 112, 112, 113, 113, 84, 85, 87, 89, 91, 93, 95, 153, 156, 159}, // SKINCOLOR_TANGERINE { 83, 64, 65, 66, 67, 215, 69, 70, 44, 44, 45, 71, 46, 47, 29, 31}, // SKINCOLOR_BRONZE
{120, 80, 66, 70, 72, 76, 148, 149, 150, 151, 153, 154, 156, 61, 62, 63}, // SKINCOLOR_PEACH { 0, 82, 64, 65, 67, 68, 70, 237, 239, 28, 28, 29, 29, 30, 30, 31}, // SKINCOLOR_COPPER
{ 64, 66, 68, 70, 72, 74, 76, 78, 48, 50, 52, 54, 56, 58, 60, 62}, // SKINCOLOR_CARAMEL { 0, 80, 81, 82, 83, 73, 84, 74, 64, 65, 66, 67, 68, 69, 70, 71}, // SKINCOLOR_YELLOW
{120, 96, 96, 97, 98, 82, 84, 77, 50, 54, 57, 59, 61, 63, 29, 31}, // SKINCOLOR_CREAM { 80, 81, 82, 83, 64, 65, 65, 76, 76, 77, 77, 78, 79, 237, 239, 29}, // SKINCOLOR_MUSTARD
{ 96, 97, 98, 112, 113, 114, 115, 116, 117, 151, 118, 119, 157, 159, 140, 143}, // SKINCOLOR_GOLD { 80, 81, 83, 72, 73, 74, 75, 76, 77, 78, 79, 236, 237, 238, 239, 30}, // SKINCOLOR_BANANA
{ 97, 112, 113, 113, 114, 78, 53, 252, 252, 253, 253, 254, 255, 29, 30, 31}, // SKINCOLOR_ROYAL { 80, 82, 73, 74, 75, 76, 77, 78, 79, 236, 237, 238, 239, 28, 29, 31}, // SKINCOLOR_OLIVE
{112, 113, 114, 115, 116, 117, 118, 119, 156, 157, 158, 159, 141, 141, 142, 143}, // SKINCOLOR_BRONZE { 0, 80, 81, 88, 88, 188, 189, 76, 76, 77, 78, 79, 236, 237, 238, 239}, // SKINCOLOR_CROCODILE
{120, 99, 113, 114, 116, 117, 119, 61, 63, 28, 28, 29, 29, 30, 30, 31}, // SKINCOLOR_COPPER { 0, 80, 81, 88, 188, 189, 190, 191, 94, 94, 95, 95, 109, 110, 111, 31}, // SKINCOLOR_PERIDOT
{ 96, 97, 98, 99, 104, 105, 106, 107, 117, 152, 154, 156, 159, 141, 142, 143}, // SKINCOLOR_QUARRY { 0, 208, 216, 209, 218, 51, 65, 76, 191, 191, 126, 143, 138, 175, 169, 254}, // SKINCOLOR_VOMIT
{ 96, 97, 98, 100, 101, 102, 104, 113, 114, 115, 116, 117, 118, 119, 156, 159}, // SKINCOLOR_YELLOW { 81, 82, 83, 73, 64, 65, 66, 92, 92, 93, 93, 94, 95, 173, 174, 175}, // SKINCOLOR_GARDEN
{ 96, 98, 99, 112, 113, 114, 114, 106, 106, 107, 107, 108, 108, 109, 110, 111}, // SKINCOLOR_MUSTARD { 0, 80, 81, 82, 83, 88, 89, 99, 100, 102, 104, 126, 143, 138, 139, 31}, // SKINCOLOR_LIME
{120, 96, 97, 98, 176, 113, 114, 106, 115, 107, 108, 109, 110, 174, 175, 31}, // SKINCOLOR_CROCODILE { 83, 72, 73, 74, 75, 76, 102, 104, 105, 106, 107, 108, 109, 110, 111, 31}, // SKINCOLOR_HANDHELD
{ 98, 101, 104, 105, 106, 115, 107, 108, 182, 109, 183, 110, 174, 111, 30, 31}, // SKINCOLOR_OLIVE { 0, 80, 80, 81, 88, 89, 90, 91, 92, 93, 94, 95, 109, 110, 111, 31}, // SKINCOLOR_TEA
{ 0, 121, 122, 144, 71, 84, 114, 115, 107, 108, 109, 183, 223, 207, 30, 246}, // SKINCOLOR_VOMIT { 0, 80, 88, 88, 89, 90, 91, 102, 103, 104, 105, 106, 107, 108, 109, 110}, // SKINCOLOR_PISTACHIO
{ 98, 99, 112, 101, 113, 114, 106, 179, 180, 180, 181, 182, 183, 173, 174, 175}, // SKINCOLOR_GARDEN { 88, 89, 90, 91, 91, 92, 93, 94, 107, 107, 108, 108, 109, 109, 110, 111}, // SKINCOLOR_MOSS
{120, 96, 97, 98, 99, 176, 177, 163, 164, 166, 168, 170, 223, 207, 243, 31}, // SKINCOLOR_LIME {208, 84, 85, 240, 241, 243, 245, 94, 107, 108, 108, 109, 109, 110, 110, 111}, // SKINCOLOR_CAMOUFLAGE
{ 98, 104, 105, 105, 106, 167, 168, 169, 170, 171, 172, 173, 174, 175, 30, 31}, // SKINCOLOR_HANDHELD { 0, 88, 98, 101, 103, 104, 105, 94, 94, 107, 95, 109, 110, 111, 30, 31}, // SKINCOLOR_ROBOHOOD
{120, 120, 176, 176, 176, 177, 177, 178, 178, 179, 179, 180, 180, 181, 182, 183}, // SKINCOLOR_TEA { 0, 88, 88, 89, 89, 100, 101, 102, 125, 126, 143, 143, 138, 175, 169, 254}, // SKINCOLOR_MINT
{120, 120, 176, 176, 177, 177, 178, 179, 165, 166, 167, 168, 169, 170, 171, 172}, // SKINCOLOR_PISTACHIO { 96, 97, 98, 99, 100, 101, 102, 103, 104, 105, 106, 107, 108, 109, 110, 111}, // SKINCOLOR_GREEN
{178, 178, 178, 179, 179, 180, 181, 182, 183, 172, 172, 173, 173, 174, 174, 175}, // SKINCOLOR_MOSS { 97, 99, 101, 102, 103, 104, 105, 106, 107, 108, 109, 110, 111, 30, 30, 31}, // SKINCOLOR_PINETREE
{ 64, 66, 69, 32, 34, 37, 40, 182, 171, 172, 172, 173, 173, 174, 174, 175}, // SKINCOLOR_CAMOUFLAGE { 96, 112, 112, 113, 113, 114, 114, 115, 115, 116, 116, 117, 117, 118, 119, 111}, // SKINCOLOR_TURTLE
{120, 176, 160, 165, 167, 168, 169, 182, 182, 171, 60, 61, 63, 29, 30, 31}, // SKINCOLOR_ROBOHOOD { 96, 112, 113, 114, 115, 116, 117, 118, 119, 119, 29, 29, 30, 30, 31, 31}, // SKINCOLOR_SWAMP
{120, 176, 176, 176, 177, 163, 164, 165, 167, 221, 221, 222, 223, 207, 207, 31}, // SKINCOLOR_MINT { 0, 0, 208, 208, 48, 89, 98, 100, 148, 148, 172, 172, 173, 173, 174, 175}, // SKINCOLOR_DREAM
{160, 161, 162, 163, 164, 165, 166, 167, 168, 169, 170, 171, 172, 173, 174, 175}, // SKINCOLOR_GREEN { 80, 88, 96, 112, 113, 124, 142, 149, 149, 173, 174, 175, 169, 253, 254, 31}, // SKINCOLOR_PLAGUE
{161, 163, 165, 166, 167, 168, 169, 170, 171, 172, 173, 174, 175, 30, 30, 31}, // SKINCOLOR_PINETREE { 0, 120, 121, 112, 113, 114, 115, 125, 125, 126, 126, 127, 138, 175, 253, 254}, // SKINCOLOR_EMERALD
{160, 184, 184, 185, 185, 186, 186, 187, 187, 188, 188, 189, 189, 190, 191, 175}, // SKINCOLOR_EMERALD {128, 128, 129, 129, 130, 140, 124, 103, 104, 116, 116, 117, 118, 119, 111, 31}, // SKINCOLOR_ALGAE
{160, 184, 185, 186, 187, 188, 189, 190, 191, 191, 29, 29, 30, 30, 31, 31}, // SKINCOLOR_SWAMP { 0, 88, 89, 97, 113, 141, 135, 136, 136, 173, 173, 174, 174, 175, 199, 31}, // SKINCOLOR_CARIBBEAN
{120, 120, 80, 80, 81, 177, 162, 164, 228, 228, 204, 204, 205, 205, 206, 207}, // SKINCOLOR_DREAM { 0, 80, 81, 82, 89, 140, 134, 135, 136, 172, 196, 197, 198, 199, 30, 31}, // SKINCOLOR_AZURE
{ 97, 176, 160, 184, 185, 186, 187, 229, 229, 205, 206, 207, 28, 29, 30, 31}, // SKINCOLOR_PLAGUE { 0, 128, 120, 121, 122, 123, 124, 125, 126, 126, 127, 127, 118, 118, 119, 111}, // SKINCOLOR_AQUAMARINE
{208, 209, 210, 211, 213, 220, 216, 167, 168, 188, 188, 189, 190, 191, 30, 31}, // SKINCOLOR_ALGAE {128, 120, 121, 122, 123, 141, 141, 142, 142, 143, 143, 138, 138, 139, 139, 31}, // SKINCOLOR_TURQUOISE
{120, 176, 177, 160, 185, 220, 216, 217, 229, 229, 204, 205, 206, 254, 255, 31}, // SKINCOLOR_CARIBBEAN { 0, 120, 120, 121, 140, 141, 142, 143, 143, 138, 138, 139, 139, 254, 254, 31}, // SKINCOLOR_TEAL
{120, 96, 97, 98, 177, 220, 216, 217, 218, 204, 252, 253, 254, 255, 30, 31}, // SKINCOLOR_AZURE { 0, 0, 128, 128, 255, 131, 132, 134, 142, 142, 143, 127, 118, 119, 110, 111}, // SKINCOLOR_CYAN
{120, 208, 208, 210, 212, 214, 220, 220, 220, 221, 221, 222, 222, 223, 223, 191}, // SKINCOLOR_AQUA { 0, 0, 128, 128, 129, 146, 133, 134, 135, 149, 149, 173, 173, 174, 175, 31}, // SKINCOLOR_JAWZ
{210, 213, 220, 220, 220, 216, 216, 221, 221, 221, 222, 222, 223, 223, 191, 31}, // SKINCOLOR_TEAL { 0, 128, 129, 130, 131, 132, 133, 135, 136, 136, 137, 137, 138, 138, 139, 31}, // SKINCOLOR_CERULEAN
{120, 120, 208, 208, 209, 210, 211, 212, 213, 215, 216, 217, 218, 219, 222, 223}, // SKINCOLOR_CYAN {128, 129, 130, 132, 134, 135, 136, 137, 137, 138, 138, 139, 139, 29, 30, 31}, // SKINCOLOR_NAVY
{120, 120, 208, 209, 210, 226, 215, 216, 217, 229, 229, 205, 205, 206, 207, 31}, // SKINCOLOR_JAWZ { 0, 0, 0, 144, 144, 145, 9, 11, 14, 142, 136, 137, 138, 138, 139, 31}, // SKINCOLOR_PLATINUM
{208, 209, 211, 213, 215, 216, 216, 217, 217, 218, 218, 219, 205, 206, 207, 207}, // SKINCOLOR_CERULEAN { 0, 0, 144, 144, 144, 145, 145, 145, 170, 170, 171, 171, 172, 173, 174, 175}, // SKINCOLOR_SLATE
{211, 212, 213, 215, 216, 218, 219, 205, 206, 206, 207, 207, 28, 29, 30, 31}, // SKINCOLOR_NAVY { 0, 144, 144, 145, 145, 170, 170, 171, 171, 172, 172, 173, 173, 174, 175, 31}, // SKINCOLOR_STEEL
{120, 0, 0, 200, 200, 201, 11, 14, 17, 218, 222, 223, 238, 240, 243, 246}, // SKINCOLOR_PLATINUM { 80, 81, 82, 83, 64, 65, 11, 171, 172, 173, 173, 157, 158, 159, 254, 31}, // SKINCOLOR_THUNDER
{120, 120, 200, 200, 200, 201, 201, 201, 202, 202, 202, 203, 204, 205, 206, 207}, // SKINCOLOR_SLATE { 0, 83, 49, 50, 51, 32, 192, 148, 148, 172, 173, 174, 175, 29, 30, 31}, // SKINCOLOR_NOVA
{120, 200, 200, 201, 201, 202, 202, 203, 203, 204, 204, 205, 205, 206, 207, 31}, // SKINCOLOR_STEEL {208, 48, 216, 217, 240, 241, 242, 171, 172, 173, 24, 25, 26, 28, 29, 31}, // SKINCOLOR_RUST
{ 96, 97, 98, 112, 113, 114, 11, 203, 204, 205, 205, 237, 239, 241, 243, 246}, // SKINCOLOR_THUNDER { 48, 218, 221, 224, 227, 231, 196, 173, 173, 174, 159, 159, 253, 253, 254, 31}, // SKINCOLOR_WRISTWATCH
{ 64, 66, 68, 70, 32, 34, 36, 203, 204, 205, 24, 25, 26, 28, 29, 31}, // SKINCOLOR_RUST {145, 146, 147, 148, 149, 173, 173, 174, 175, 175, 28, 28, 29, 29, 30, 31}, // SKINCOLOR_JET
{ 81, 72, 76, 48, 51, 55, 252, 205, 205, 206, 240, 241, 242, 243, 244, 246}, // SKINCOLOR_WRISTWATCH { 0, 128, 129, 131, 133, 135, 149, 150, 152, 154, 156, 158, 159, 253, 254, 31}, // SKINCOLOR_SAPPHIRE
{225, 226, 227, 228, 229, 205, 205, 206, 207, 207, 28, 28, 29, 29, 30, 31}, // SKINCOLOR_JET { 0, 0, 120, 120, 121, 133, 135, 149, 149, 166, 166, 167, 168, 169, 254, 31}, // SKINCOLOR_ULTRAMARINE
{208, 209, 211, 213, 215, 217, 229, 230, 232, 234, 236, 238, 240, 242, 244, 246}, // SKINCOLOR_SAPPHIRE { 0, 0, 144, 144, 145, 146, 147, 149, 150, 152, 154, 155, 157, 159, 253, 254}, // SKINCOLOR_PERIWINKLE
{120, 120, 224, 225, 226, 202, 227, 228, 229, 230, 231, 233, 235, 237, 239, 241}, // SKINCOLOR_PERIWINKLE {144, 145, 146, 147, 148, 149, 150, 151, 152, 153, 155, 156, 158, 253, 254, 31}, // SKINCOLOR_BLUE
{224, 225, 226, 227, 228, 229, 230, 231, 232, 233, 235, 236, 238, 242, 244, 246}, // SKINCOLOR_BLUE {146, 148, 149, 150, 152, 153, 155, 157, 159, 253, 253, 254, 254, 31, 31, 31}, // SKINCOLOR_BLUEBERRY
{226, 228, 229, 230, 232, 233, 235, 237, 239, 240, 242, 244, 246, 31, 31, 31}, // SKINCOLOR_BLUEBERRY { 0, 0, 0, 252, 252, 160, 161, 162, 163, 164, 165, 166, 167, 168, 169, 254}, // SKINCOLOR_THISTLE
{120, 112, 82, 83, 84, 124, 248, 228, 228, 204, 205, 206, 207, 29, 30, 31}, // SKINCOLOR_NOVA { 0, 252, 160, 161, 162, 163, 164, 165, 166, 167, 168, 168, 169, 169, 253, 254}, // SKINCOLOR_PURPLE
{120, 208, 209, 210, 211, 226, 202, 249, 194, 195, 196, 197, 198, 199, 255, 30}, // SKINCOLOR_PASTEL { 0, 128, 128, 129, 129, 146, 170, 162, 163, 164, 165, 166, 167, 168, 169, 254}, // SKINCOLOR_PASTEL
{120, 224, 201, 226, 202, 249, 250, 196, 197, 198, 199, 140, 141, 142, 143, 31}, // SKINCOLOR_MOONSLAM { 0, 144, 145, 146, 170, 162, 163, 184, 184, 207, 207, 44, 45, 46, 47, 31}, // SKINCOLOR_MOONSLAM
{120, 64, 81, 122, 192, 249, 203, 221, 221, 219, 219, 223, 223, 191, 191, 31}, // SKINCOLOR_ULTRAVIOLET {252, 200, 201, 192, 193, 194, 172, 172, 173, 173, 174, 174, 175, 169, 253, 254}, // SKINCOLOR_DUSK
{121, 145, 192, 249, 250, 251, 204, 204, 205, 205, 206, 206, 207, 29, 30, 31}, // SKINCOLOR_DUSK { 0, 252, 252, 200, 201, 181, 182, 183, 184, 166, 167, 168, 169, 253, 254, 31}, // SKINCOLOR_BUBBLEGUM
{120, 96, 64, 121, 67, 144, 123, 192, 193, 194, 195, 196, 197, 198, 199, 30}, // SKINCOLOR_BUBBLEGUM {176, 177, 178, 179, 180, 181, 182, 183, 184, 184, 185, 185, 186, 187, 30, 31}, // SKINCOLOR_MAGENTA
{121, 145, 192, 192, 193, 194, 195, 196, 196, 197, 197, 198, 198, 199, 30, 31}, // SKINCOLOR_PURPLE {208, 209, 209, 32, 33, 182, 183, 184, 185, 185, 186, 186, 187, 253, 254, 31}, // SKINCOLOR_FUCHSIA
{120, 122, 124, 125, 126, 150, 196, 197, 198, 198, 199, 199, 240, 242, 244, 246}, // SKINCOLOR_FUCHSIA { 0, 0, 88, 88, 89, 6, 8, 10, 193, 194, 195, 184, 185, 186, 187, 31}, // SKINCOLOR_TOXIC
{120, 120, 176, 176, 177, 6, 8, 10, 249, 250, 196, 197, 198, 199, 143, 31}, // SKINCOLOR_TOXIC { 80, 81, 82, 83, 64, 50, 201, 192, 193, 194, 195, 173, 174, 175, 253, 254}, // SKINCOLOR_MAUVE
{ 96, 97, 98, 112, 113, 73, 146, 248, 249, 251, 205, 205, 206, 207, 29, 31}, // SKINCOLOR_MAUVE {252, 177, 179, 192, 193, 194, 195, 196, 196, 197, 197, 198, 198, 199, 30, 31}, // SKINCOLOR_LAVENDER
{121, 145, 192, 248, 249, 250, 251, 252, 252, 253, 253, 254, 254, 255, 30, 31}, // SKINCOLOR_LAVENDER {145, 192, 193, 194, 195, 196, 197, 198, 199, 199, 29, 29, 30, 30, 31, 31}, // SKINCOLOR_BYZANTIUM
{201, 248, 249, 250, 251, 252, 253, 254, 255, 255, 29, 29, 30, 30, 31, 31}, // SKINCOLOR_BYZANTIUM {208, 209, 210, 211, 212, 213, 214, 195, 195, 196, 196, 197, 198, 199, 29, 30}, // SKINCOLOR_POMEGRANATE
{144, 145, 146, 147, 148, 149, 150, 251, 251, 252, 252, 253, 254, 255, 29, 30}, // SKINCOLOR_POMEGRANATE { 0, 0, 0, 252, 252, 176, 200, 201, 179, 192, 193, 194, 195, 196, 197, 198}, // SKINCOLOR_LILAC
{120, 120, 120, 121, 121, 122, 122, 123, 192, 248, 249, 250, 251, 252, 253, 254}, // SKINCOLOR_LILAC { 0, 252, 252, 200, 200, 201, 202, 203, 204, 204, 205, 206, 207, 43, 45, 47}, // SKINCOLOR_TAFFY
{120, 120, 120, 120, 120, 120, 120, 120, 120, 120, 96, 100, 104, 113, 116, 119}, // SKINCOLOR_SUPER1 // THESE STILL NEED CONVERTED!!!
{120, 120, 120, 120, 120, 120, 120, 120, 96, 98, 101, 104, 113, 115, 117, 119}, // SKINCOLOR_SUPER2 { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 96, 100, 104, 113, 116, 119}, // SKINCOLOR_SUPER1
{120, 120, 120, 120, 120, 120, 96, 98, 100, 102, 104, 113, 114, 116, 117, 119}, // SKINCOLOR_SUPER3 { 0, 0, 0, 0, 0, 0, 0, 0, 96, 98, 101, 104, 113, 115, 117, 119}, // SKINCOLOR_SUPER2
{120, 120, 120, 120, 96, 97, 99, 100, 102, 104, 113, 114, 115, 116, 117, 119}, // SKINCOLOR_SUPER4 { 0, 0, 0, 0, 0, 0, 96, 98, 100, 102, 104, 113, 114, 116, 117, 119}, // SKINCOLOR_SUPER3
{120, 120, 96, 120, 120, 120, 120, 120, 104, 113, 114, 115, 116, 117, 118, 119}, // SKINCOLOR_SUPER5 { 0, 0, 0, 0, 96, 97, 99, 100, 102, 104, 113, 114, 115, 116, 117, 119}, // SKINCOLOR_SUPER4
{120, 120, 120, 120, 120, 120, 120, 120, 120, 120, 80, 82, 85, 115, 117, 119}, // SKINCOLOR_TSUPER1 { 0, 0, 96, 0, 0, 0, 0, 0, 104, 113, 114, 115, 116, 117, 118, 119}, // SKINCOLOR_SUPER5
{120, 120, 120, 120, 120, 120, 120, 120, 80, 81, 83, 85, 115, 116, 117, 119}, // SKINCOLOR_TSUPER2 { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 80, 82, 85, 115, 117, 119}, // SKINCOLOR_TSUPER1
{120, 120, 120, 120, 120, 120, 80, 81, 82, 83, 85, 115, 116, 117, 118, 119}, // SKINCOLOR_TSUPER3 { 0, 0, 0, 0, 0, 0, 0, 0, 80, 81, 83, 85, 115, 116, 117, 119}, // SKINCOLOR_TSUPER2
{120, 120, 120, 120, 80, 81, 82, 83, 84, 85, 115, 115, 116, 117, 118, 119}, // SKINCOLOR_TSUPER4 { 0, 0, 0, 0, 0, 0, 80, 81, 82, 83, 85, 115, 116, 117, 118, 119}, // SKINCOLOR_TSUPER3
{120, 120, 80, 80, 81, 82, 83, 84, 85, 115, 115, 116, 117, 117, 118, 119}, // SKINCOLOR_TSUPER5 { 0, 0, 0, 0, 80, 81, 82, 83, 84, 85, 115, 115, 116, 117, 118, 119}, // SKINCOLOR_TSUPER4
{120, 120, 120, 120, 120, 120, 120, 120, 120, 120, 121, 123, 125, 127, 129, 132}, // SKINCOLOR_KSUPER1 { 0, 0, 80, 80, 81, 82, 83, 84, 85, 115, 115, 116, 117, 117, 118, 119}, // SKINCOLOR_TSUPER5
{120, 120, 120, 120, 120, 120, 120, 120, 121, 122, 124, 125, 127, 128, 130, 132}, // SKINCOLOR_KSUPER2 { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 121, 123, 125, 127, 129, 132}, // SKINCOLOR_KSUPER1
{120, 120, 120, 120, 120, 120, 121, 122, 123, 124, 125, 127, 128, 129, 130, 132}, // SKINCOLOR_KSUPER3 { 0, 0, 0, 0, 0, 0, 0, 0, 121, 122, 124, 125, 127, 128, 130, 132}, // SKINCOLOR_KSUPER2
{120, 120, 120, 120, 121, 122, 123, 124, 125, 126, 127, 128, 129, 130, 131, 132}, // SKINCOLOR_KSUPER4 { 0, 0, 0, 0, 0, 0, 121, 122, 123, 124, 125, 127, 128, 129, 130, 132}, // SKINCOLOR_KSUPER3
{120, 120, 121, 121, 122, 123, 124, 125, 126, 126, 127, 128, 129, 130, 131, 132}, // SKINCOLOR_KSUPER5 { 0, 0, 0, 0, 121, 122, 123, 124, 125, 126, 127, 128, 129, 130, 131, 132}, // SKINCOLOR_KSUPER4
{120, 120, 120, 120, 120, 120, 120, 120, 120, 120, 0, 122, 124, 248, 251, 255}, // SKINCOLOR_PSUPER1 { 0, 0, 121, 121, 122, 123, 124, 125, 126, 126, 127, 128, 129, 130, 131, 132}, // SKINCOLOR_KSUPER5
{120, 120, 120, 120, 120, 120, 120, 120, 0, 121, 122, 124, 248, 250, 252, 255}, // SKINCOLOR_PSUPER2 { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 122, 124, 248, 251, 255}, // SKINCOLOR_PSUPER1
{120, 120, 120, 120, 120, 120, 0, 121, 122, 123, 124, 248, 249, 251, 253, 255}, // SKINCOLOR_PSUPER3 { 0, 0, 0, 0, 0, 0, 0, 0, 1, 121, 122, 124, 248, 250, 252, 255}, // SKINCOLOR_PSUPER2
{120, 120, 120, 120, 0, 121, 122, 123, 124, 248, 249, 250, 251, 252, 253, 255}, // SKINCOLOR_PSUPER4 { 0, 0, 0, 0, 0, 0, 1, 121, 122, 123, 124, 248, 249, 251, 253, 255}, // SKINCOLOR_PSUPER3
{120, 120, 0, 121, 122, 123, 124, 248, 248, 249, 250, 251, 252, 253, 254, 255}, // SKINCOLOR_PSUPER5 { 0, 0, 0, 0, 1, 121, 122, 123, 124, 248, 249, 250, 251, 252, 253, 255}, // SKINCOLOR_PSUPER4
{120, 120, 120, 120, 120, 120, 120, 120, 120, 120, 224, 225, 227, 228, 230, 232}, // SKINCOLOR_BSUPER1 { 0, 0, 1, 121, 122, 123, 124, 248, 248, 249, 250, 251, 252, 253, 254, 255}, // SKINCOLOR_PSUPER5
{120, 120, 120, 120, 120, 120, 120, 120, 224, 225, 226, 227, 228, 229, 230, 232}, // SKINCOLOR_BSUPER2 { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 224, 225, 227, 228, 230, 232}, // SKINCOLOR_BSUPER1
{120, 120, 120, 120, 120, 120, 224, 224, 225, 226, 227, 228, 229, 230, 231, 232}, // SKINCOLOR_BSUPER3 { 0, 0, 0, 0, 0, 0, 0, 0, 224, 225, 226, 227, 228, 229, 230, 232}, // SKINCOLOR_BSUPER2
{120, 120, 120, 120, 224, 224, 225, 226, 226, 227, 228, 229, 229, 230, 231, 232}, // SKINCOLOR_BSUPER4 { 0, 0, 0, 0, 0, 0, 224, 224, 225, 226, 227, 228, 229, 230, 231, 232}, // SKINCOLOR_BSUPER3
{120, 120, 224, 224, 225, 225, 226, 227, 227, 228, 228, 229, 230, 230, 231, 232}, // SKINCOLOR_BSUPER5 { 0, 0, 0, 0, 224, 224, 225, 226, 226, 227, 228, 229, 229, 230, 231, 232}, // SKINCOLOR_BSUPER4
{120, 120, 120, 120, 120, 120, 120, 120, 120, 120, 208, 210, 212, 215, 220, 222}, // SKINCOLOR_ASUPER1 { 0, 0, 224, 224, 225, 225, 226, 227, 227, 228, 228, 229, 230, 230, 231, 232}, // SKINCOLOR_BSUPER5
{120, 120, 120, 120, 120, 120, 120, 120, 208, 209, 211, 213, 215, 220, 221, 223}, // SKINCOLOR_ASUPER2 { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 208, 210, 212, 215, 220, 222}, // SKINCOLOR_ASUPER1
{120, 120, 120, 120, 120, 120, 208, 209, 210, 211, 212, 213, 215, 220, 221, 223}, // SKINCOLOR_ASUPER3 { 0, 0, 0, 0, 0, 0, 0, 0, 208, 209, 211, 213, 215, 220, 221, 223}, // SKINCOLOR_ASUPER2
{120, 120, 120, 120, 208, 209, 210, 211, 212, 213, 214, 215, 220, 221, 222, 223}, // SKINCOLOR_ASUPER4 { 0, 0, 0, 0, 0, 0, 208, 209, 210, 211, 212, 213, 215, 220, 221, 223}, // SKINCOLOR_ASUPER3
{120, 120, 208, 208, 209, 210, 211, 211, 212, 213, 214, 215, 220, 221, 222, 223}, // SKINCOLOR_ASUPER5 { 0, 0, 0, 0, 208, 209, 210, 211, 212, 213, 214, 215, 220, 221, 222, 223}, // SKINCOLOR_ASUPER4
{120, 120, 120, 120, 120, 120, 120, 120, 120, 120, 176, 160, 163, 167, 171, 175}, // SKINCOLOR_GSUPER1 { 0, 0, 208, 208, 209, 210, 211, 211, 212, 213, 214, 215, 220, 221, 222, 223}, // SKINCOLOR_ASUPER5
{120, 120, 120, 120, 120, 120, 120, 120, 176, 176, 160, 163, 166, 169, 172, 175}, // SKINCOLOR_GSUPER2 { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 176, 160, 163, 167, 171, 175}, // SKINCOLOR_GSUPER1
{120, 120, 120, 120, 120, 120, 176, 176, 160, 162, 164, 166, 168, 170, 172, 175}, // SKINCOLOR_GSUPER3 { 0, 0, 0, 0, 0, 0, 0, 0, 176, 176, 160, 163, 166, 169, 172, 175}, // SKINCOLOR_GSUPER2
{120, 120, 120, 120, 176, 176, 176, 160, 161, 163, 165, 167, 169, 171, 173, 175}, // SKINCOLOR_GSUPER4 { 0, 0, 0, 0, 0, 0, 176, 176, 160, 162, 164, 166, 168, 170, 172, 175}, // SKINCOLOR_GSUPER3
{120, 120, 176, 176, 176, 160, 161, 163, 164, 166, 167, 169, 170, 172, 173, 175}, // SKINCOLOR_GSUPER5 { 0, 0, 0, 0, 176, 176, 176, 160, 161, 163, 165, 167, 169, 171, 173, 175}, // SKINCOLOR_GSUPER4
{120, 120, 120, 120, 120, 120, 120, 120, 120, 120, 120, 120, 120, 120, 120, 120}, // SKINCOLOR_WSUPER1 { 0, 0, 176, 176, 176, 160, 161, 163, 164, 166, 167, 169, 170, 172, 173, 175}, // SKINCOLOR_GSUPER5
{120, 120, 120, 120, 120, 120, 120, 120, 120, 120, 120, 120, 120, 0, 4, 9}, // SKINCOLOR_WSUPER2 { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0}, // SKINCOLOR_WSUPER1
{120, 120, 120, 120, 120, 120, 120, 120, 120, 120, 0, 2, 4, 6, 8, 11}, // SKINCOLOR_WSUPER3 { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 4, 9}, // SKINCOLOR_WSUPER2
{120, 120, 120, 120, 120, 120, 120, 0, 1, 3, 4, 6, 8, 9, 11, 13}, // SKINCOLOR_WSUPER4 { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 2, 4, 6, 8, 11}, // SKINCOLOR_WSUPER3
{120, 120, 120, 120, 0, 1, 2, 4, 5, 6, 8, 9, 10, 12, 13, 15}, // SKINCOLOR_WSUPER5 { 0, 0, 0, 0, 0, 0, 0, 1, 1, 3, 4, 6, 8, 9, 11, 13}, // SKINCOLOR_WSUPER4
{120, 120, 120, 120, 120, 120, 120, 120, 120, 120, 96, 98, 99, 81, 73, 79}, // SKINCOLOR_CSUPER1 { 0, 0, 0, 0, 1, 1, 2, 4, 5, 6, 8, 9, 10, 12, 13, 15}, // SKINCOLOR_WSUPER5
{120, 120, 120, 120, 120, 120, 120, 120, 96, 97, 98, 81, 81, 71, 75, 79}, // SKINCOLOR_CSUPER2 { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 96, 98, 99, 81, 73, 79}, // SKINCOLOR_CSUPER1
{120, 120, 120, 120, 120, 120, 96, 97, 98, 99, 81, 81, 70, 73, 76, 79}, // SKINCOLOR_CSUPER3 { 0, 0, 0, 0, 0, 0, 0, 0, 96, 97, 98, 81, 81, 71, 75, 79}, // SKINCOLOR_CSUPER2
{120, 120, 120, 120, 96, 96, 97, 98, 99, 81, 81, 70, 72, 74, 76, 79}, // SKINCOLOR_CSUPER4 { 0, 0, 0, 0, 0, 0, 96, 97, 98, 99, 81, 81, 70, 73, 76, 79}, // SKINCOLOR_CSUPER3
{120, 120, 96, 96, 97, 98, 98, 99, 81, 81, 69, 71, 73, 75, 77, 79}, // SKINCOLOR_CSUPER5 { 0, 0, 0, 0, 96, 96, 97, 98, 99, 81, 81, 70, 72, 74, 76, 79}, // SKINCOLOR_CSUPER4
{ 0, 0, 96, 96, 97, 98, 98, 99, 81, 81, 69, 71, 73, 75, 77, 79}, // SKINCOLOR_CSUPER5
}; };
// Define for getting accurate color brightness readings according to how the human eye sees them. // Define for getting accurate color brightness readings according to how the human eye sees them.
@ -436,7 +437,7 @@ void K_RainbowColormap(UINT8 *dest_colormap, UINT8 skincolor)
// next, for every colour in the palette, choose the transcolor that has the closest brightness // next, for every colour in the palette, choose the transcolor that has the closest brightness
for (i = 0; i < NUM_PALETTE_ENTRIES; i++) for (i = 0; i < NUM_PALETTE_ENTRIES; i++)
{ {
if (i == 0 || i == 31 || i == 120) // pure black and pure white don't change if (i == 0 || i == 31) // pure black and pure white don't change
{ {
dest_colormap[i] = (UINT8)i; dest_colormap[i] = (UINT8)i;
continue; continue;
@ -492,7 +493,7 @@ void K_GenerateKartColormap(UINT8 *dest_colormap, INT32 skinnum, UINT8 color)
if (skinnum == TC_BOSS) if (skinnum == TC_BOSS)
dest_colormap[31] = 0; dest_colormap[31] = 0;
else if (skinnum == TC_METALSONIC) else if (skinnum == TC_METALSONIC)
dest_colormap[239] = 0; dest_colormap[143] = 0;
return; return;
} }
@ -7839,7 +7840,7 @@ static void K_drawKartItem(void)
V_DrawFill(fx+x+length, fy+y+1, 1, height, 12|fflags); // the right one V_DrawFill(fx+x+length, fy+y+1, 1, height, 12|fflags); // the right one
if (height == 2) if (height == 2)
V_DrawFill(fx+x+2, fy+y+2, length-2, 1, 8|fflags); // the dulled underside V_DrawFill(fx+x+2, fy+y+2, length-2, 1, 8|fflags); // the dulled underside
V_DrawFill(fx+x+2, fy+y+1, length-2, 1, 120|fflags); // the shine V_DrawFill(fx+x+2, fy+y+1, length-2, 1, 0|fflags); // the shine
} }
} }

View file

@ -443,26 +443,26 @@ static int libd_drawFill(lua_State *L)
static int libd_fadeScreen(lua_State *L) static int libd_fadeScreen(lua_State *L)
{ {
UINT16 color = luaL_checkinteger(L, 1); UINT16 color = luaL_checkinteger(L, 1);
UINT8 strength = luaL_checkinteger(L, 2); UINT8 strength = luaL_checkinteger(L, 2);
const UINT8 maxstrength = ((color & 0xFF00) ? 32 : 10); const UINT8 maxstrength = ((color & 0xFF00) ? 32 : 10);
HUDONLY HUDONLY
if (!strength) if (!strength)
return 0; return 0;
if (strength > maxstrength) if (strength > maxstrength)
return luaL_error(L, "%s fade strength %d out of range (0 - %d)", ((color & 0xFF00) ? "COLORMAP" : "TRANSMAP"), strength, maxstrength); return luaL_error(L, "%s fade strength %d out of range (0 - %d)", ((color & 0xFF00) ? "COLORMAP" : "TRANSMAP"), strength, maxstrength);
if (strength == maxstrength) // Allow as a shortcut for drawfill... if (strength == maxstrength) // Allow as a shortcut for drawfill...
{ {
V_DrawFill(0, 0, BASEVIDWIDTH, BASEVIDHEIGHT, ((color & 0xFF00) ? 31 : color)); V_DrawFill(0, 0, BASEVIDWIDTH, BASEVIDHEIGHT, ((color & 0xFF00) ? 31 : color));
return 0; return 0;
} }
V_DrawFadeScreen(color, strength); V_DrawFadeScreen(color, strength);
return 0; return 0;
} }
static int libd_drawString(lua_State *L) static int libd_drawString(lua_State *L)

View file

@ -3513,7 +3513,7 @@ static void M_DrawSlider(INT32 x, INT32 y, const consvar_t *cv, boolean ontop)
void M_DrawTextBox(INT32 x, INT32 y, INT32 width, INT32 boxlines) void M_DrawTextBox(INT32 x, INT32 y, INT32 width, INT32 boxlines)
{ {
// Solid color textbox. // Solid color textbox.
V_DrawFill(x+5, y+5, width*8+6, boxlines*8+6, 239); V_DrawFill(x+5, y+5, width*8+6, boxlines*8+6, 159);
//V_DrawFill(x+8, y+8, width*8, boxlines*8, 31); //V_DrawFill(x+8, y+8, width*8, boxlines*8, 31);
/* /*
patch_t *p; patch_t *p;
@ -4672,10 +4672,10 @@ static void M_DrawTemperature(INT32 x, fixed_t t)
t = (FixedMul(h<<FRACBITS, t)>>FRACBITS); t = (FixedMul(h<<FRACBITS, t)>>FRACBITS);
// border // border
V_DrawFill(x - 1, vpadding, 1, h, 120); V_DrawFill(x - 1, vpadding, 1, h, 0);
V_DrawFill(x + width, vpadding, 1, h, 120); V_DrawFill(x + width, vpadding, 1, h, 0);
V_DrawFill(x - 1, vpadding-1, width+2, 1, 120); V_DrawFill(x - 1, vpadding-1, width+2, 1, 0);
V_DrawFill(x - 1, vpadding+h, width+2, 1, 120); V_DrawFill(x - 1, vpadding+h, width+2, 1, 0);
// bar itself // bar itself
y = h; y = h;
@ -4826,14 +4826,14 @@ static void M_DrawAddons(void)
x = currentMenu->x; x = currentMenu->x;
y = currentMenu->y + 1; y = currentMenu->y + 1;
hilicol = V_GetStringColormap(highlightflags)[120]; hilicol = V_GetStringColormap(highlightflags)[0];
V_DrawString(x-21, (y - 16) + (lsheadingheight - 12), highlightflags|V_ALLOWLOWERCASE, M_AddonsHeaderPath()); V_DrawString(x-21, (y - 16) + (lsheadingheight - 12), highlightflags|V_ALLOWLOWERCASE, M_AddonsHeaderPath());
V_DrawFill(x-21, (y - 16) + (lsheadingheight - 3), MAXSTRINGLENGTH*8+6, 1, hilicol); V_DrawFill(x-21, (y - 16) + (lsheadingheight - 3), MAXSTRINGLENGTH*8+6, 1, hilicol);
V_DrawFill(x-21, (y - 16) + (lsheadingheight - 2), MAXSTRINGLENGTH*8+6, 1, 30); V_DrawFill(x-21, (y - 16) + (lsheadingheight - 2), MAXSTRINGLENGTH*8+6, 1, 30);
m = (BASEVIDHEIGHT - currentMenu->y + 2) - (y - 1); m = (BASEVIDHEIGHT - currentMenu->y + 2) - (y - 1);
V_DrawFill(x - 21, y - 1, MAXSTRINGLENGTH*8+6, m, 239); V_DrawFill(x - 21, y - 1, MAXSTRINGLENGTH*8+6, m, 159);
// scrollbar! // scrollbar!
if (sizedirmenu <= (2*numaddonsshown + 1)) if (sizedirmenu <= (2*numaddonsshown + 1))
@ -5559,8 +5559,8 @@ static void M_DrawReplayHut(void)
y = sizedirmenu*10 + currentMenu->menuitems[replaylistitem].alphaKey + 30; y = sizedirmenu*10 + currentMenu->menuitems[replaylistitem].alphaKey + 30;
if (y > SCALEDVIEWHEIGHT-80) if (y > SCALEDVIEWHEIGHT-80)
{ {
V_DrawFill(BASEVIDWIDTH-4, 75, 4, SCALEDVIEWHEIGHT-80, V_SNAPTOTOP|V_SNAPTORIGHT|239); V_DrawFill(BASEVIDWIDTH-4, 75, 4, SCALEDVIEWHEIGHT-80, V_SNAPTOTOP|V_SNAPTORIGHT|159);
V_DrawFill(BASEVIDWIDTH-3, 76 + (SCALEDVIEWHEIGHT-80) * replayhutmenuy / y, 2, (((SCALEDVIEWHEIGHT-80) * (SCALEDVIEWHEIGHT-80))-1) / y - 1, V_SNAPTOTOP|V_SNAPTORIGHT|229); V_DrawFill(BASEVIDWIDTH-3, 76 + (SCALEDVIEWHEIGHT-80) * replayhutmenuy / y, 2, (((SCALEDVIEWHEIGHT-80) * (SCALEDVIEWHEIGHT-80))-1) / y - 1, V_SNAPTOTOP|V_SNAPTORIGHT|149);
} }
// Draw the cursor // Draw the cursor
@ -5569,7 +5569,7 @@ static void M_DrawReplayHut(void)
V_DrawString(currentMenu->x, cursory, V_SNAPTOTOP|V_SNAPTOLEFT|highlightflags, currentMenu->menuitems[itemOn].text); V_DrawString(currentMenu->x, cursory, V_SNAPTOTOP|V_SNAPTOLEFT|highlightflags, currentMenu->menuitems[itemOn].text);
// Now draw some replay info! // Now draw some replay info!
V_DrawFill(10, 10, 300, 60, V_SNAPTOTOP|239); V_DrawFill(10, 10, 300, 60, V_SNAPTOTOP|159);
if (itemOn == replaylistitem) if (itemOn == replaylistitem)
{ {
@ -5651,7 +5651,7 @@ static void M_DrawReplayStartMenu(void)
} }
} }
V_DrawFill(10, 10, 300, 60, V_SNAPTOTOP|239); V_DrawFill(10, 10, 300, 60, V_SNAPTOTOP|159);
DrawReplayHutReplayInfo(); DrawReplayHutReplayInfo();
V_DrawString(10, 72, V_SNAPTOTOP|highlightflags|V_ALLOWLOWERCASE, demolist[dir_on[menudepthleft]].title); V_DrawString(10, 72, V_SNAPTOTOP|highlightflags|V_ALLOWLOWERCASE, demolist[dir_on[menudepthleft]].title);
@ -7580,7 +7580,7 @@ void M_DrawTimeAttackMenu(void)
time = mainrecords[cv_nextmap.value-1]->time; time = mainrecords[cv_nextmap.value-1]->time;
} }
V_DrawFill((BASEVIDWIDTH - dupadjust)>>1, 78, dupadjust, 36, 239); V_DrawFill((BASEVIDWIDTH - dupadjust)>>1, 78, dupadjust, 36, 159);
V_DrawRightAlignedString(149, 80, highlightflags, "BEST LAP:"); V_DrawRightAlignedString(149, 80, highlightflags, "BEST LAP:");
K_drawKartTimestamp(lap, 19, 86, 0, 2); K_drawKartTimestamp(lap, 19, 86, 0, 2);
@ -8627,7 +8627,7 @@ static void M_DrawLevelSelectOnly(boolean leftfade, boolean rightfade)
y = currentMenu->y + 130 + 8 - i; y = currentMenu->y + 130 + 8 - i;
if (currentMenu->menuitems[itemOn].itemaction == &cv_nextmap && skullAnimCounter < 4) if (currentMenu->menuitems[itemOn].itemaction == &cv_nextmap && skullAnimCounter < 4)
trans = 120; trans = 0;
else else
trans = G_GetGametypeColor(cv_newgametype.value); trans = G_GetGametypeColor(cv_newgametype.value);
@ -8819,7 +8819,7 @@ Update the maxplayers label...
#ifndef NONET #ifndef NONET
y += MP_MainMenu[8].alphaKey; y += MP_MainMenu[8].alphaKey;
V_DrawFill(x+5, y+4+5, /*16*8 + 6,*/ BASEVIDWIDTH - 2*(x+5), 8+6, 239); V_DrawFill(x+5, y+4+5, /*16*8 + 6,*/ BASEVIDWIDTH - 2*(x+5), 8+6, 159);
// draw name string // draw name string
V_DrawString(x+8,y+12, V_ALLOWLOWERCASE, setupm_ip); V_DrawString(x+8,y+12, V_ALLOWLOWERCASE, setupm_ip);
@ -9293,7 +9293,7 @@ static void M_DrawSetupMultiPlayerMenu(void)
flags |= V_FLIP; // This sprite is left/right flipped! flags |= V_FLIP; // This sprite is left/right flipped!
// draw box around guy // draw box around guy
V_DrawFill(mx + 43 - (charw/2), my+65, charw, 84, 239); V_DrawFill(mx + 43 - (charw/2), my+65, charw, 84, 159);
// draw player sprite // draw player sprite
if (setupm_fakecolor) // inverse should never happen if (setupm_fakecolor) // inverse should never happen

View file

@ -10001,7 +10001,7 @@ mobj_t *P_SpawnMobj(fixed_t x, fixed_t y, fixed_t z, mobjtype_t type)
break; break;
} }
mobj->color = SKINCOLOR_AQUA; mobj->color = SKINCOLOR_CYAN;
break; break;
} }
case MT_MARBLETORCH: case MT_MARBLETORCH:

View file

@ -2858,13 +2858,13 @@ boolean P_SetupLevel(boolean skipprecip)
S_StartSound(NULL, sfx_ruby1); S_StartSound(NULL, sfx_ruby1);
F_WipeStartScreen(); F_WipeStartScreen();
V_DrawFill(0, 0, BASEVIDWIDTH, BASEVIDHEIGHT, 122); V_DrawFill(0, 0, BASEVIDWIDTH, BASEVIDHEIGHT, 209);
F_WipeEndScreen(); F_WipeEndScreen();
F_RunWipe(wipedefs[wipe_speclevel_towhite], false); F_RunWipe(wipedefs[wipe_speclevel_towhite], false);
F_WipeStartScreen(); F_WipeStartScreen();
V_DrawFill(0, 0, BASEVIDWIDTH, BASEVIDHEIGHT, 120); V_DrawFill(0, 0, BASEVIDWIDTH, BASEVIDHEIGHT, 0);
F_WipeEndScreen(); F_WipeEndScreen();
F_RunWipe(wipedefs[wipe_level_final], false); F_RunWipe(wipedefs[wipe_level_final], false);
@ -2897,7 +2897,7 @@ boolean P_SetupLevel(boolean skipprecip)
// We should be fine starting it here. // We should be fine starting it here.
S_Start(); S_Start();
levelfadecol = (encoremode && !ranspecialwipe ? 122 : 120); levelfadecol = (encoremode && !ranspecialwipe ? 209 : 0);
// Let's fade to white here // Let's fade to white here
// But only if we didn't do the encore startup wipe // But only if we didn't do the encore startup wipe

View file

@ -139,75 +139,12 @@ UINT32 nflatxshift, nflatyshift, nflatshiftup, nflatmask;
#define BLINK_TT_CACHE_INDEX (MAXSKINS + 5) #define BLINK_TT_CACHE_INDEX (MAXSKINS + 5)
#define TT_CACHE_SIZE (MAXSKINS + 6) #define TT_CACHE_SIZE (MAXSKINS + 6)
#define SKIN_RAMP_LENGTH 16 #define SKIN_RAMP_LENGTH 16
#define DEFAULT_STARTTRANSCOLOR 160 #define DEFAULT_STARTTRANSCOLOR 96
#define NUM_PALETTE_ENTRIES 256 #define NUM_PALETTE_ENTRIES 256
static UINT8** translationtablecache[TT_CACHE_SIZE] = {NULL}; static UINT8** translationtablecache[TT_CACHE_SIZE] = {NULL};
// SKINCOLOR DEFINITIONS HAVE BEEN MOVED TO K_KART.C
// See also the enum skincolors_t
// TODO Callum: Can this be translated?
/*
const char *Color_Names[MAXSKINCOLORS] =
{
"None", // SKINCOLOR_NONE
"White", // SKINCOLOR_WHITE
"Silver", // SKINCOLOR_SILVER
"Grey", // SKINCOLOR_GREY
"Black", // SKINCOLOR_BLACK
"Cyan", // SKINCOLOR_CYAN
"Teal", // SKINCOLOR_TEAL
"Steel_Blue",// SKINCOLOR_STEEL
"Blue", // SKINCOLOR_BLUE
"Peach", // SKINCOLOR_PEACH
"Tan", // SKINCOLOR_TAN
"Pink", // SKINCOLOR_PINK
"Lavender", // SKINCOLOR_LAVENDER
"Purple", // SKINCOLOR_PURPLE
"Orange", // SKINCOLOR_ORANGE
"Rosewood", // SKINCOLOR_ROSEWOOD
"Beige", // SKINCOLOR_BEIGE
"Brown", // SKINCOLOR_BROWN
"Red", // SKINCOLOR_RED
"Dark_Red", // SKINCOLOR_DARKRED
"Neon_Green",// SKINCOLOR_NEONGREEN
"Green", // SKINCOLOR_GREEN
"Zim", // SKINCOLOR_ZIM
"Olive", // SKINCOLOR_OLIVE
"Yellow", // SKINCOLOR_YELLOW
"Gold" // SKINCOLOR_GOLD
};
const UINT8 Color_Opposite[MAXSKINCOLORS*2] =
{
SKINCOLOR_NONE,8, // SKINCOLOR_NONE
SKINCOLOR_BLACK,10, // SKINCOLOR_WHITE
SKINCOLOR_GREY,4, // SKINCOLOR_SILVER
SKINCOLOR_SILVER,12,// SKINCOLOR_GREY
SKINCOLOR_WHITE,8, // SKINCOLOR_BLACK
SKINCOLOR_NONE,8, // SKINCOLOR_CYAN
SKINCOLOR_NONE,8, // SKINCOLOR_TEAL
SKINCOLOR_NONE,8, // SKINCOLOR_STEEL
SKINCOLOR_ORANGE,9, // SKINCOLOR_BLUE
SKINCOLOR_NONE,8, // SKINCOLOR_PEACH
SKINCOLOR_NONE,8, // SKINCOLOR_TAN
SKINCOLOR_NONE,8, // SKINCOLOR_PINK
SKINCOLOR_NONE,8, // SKINCOLOR_LAVENDER
SKINCOLOR_NONE,8, // SKINCOLOR_PURPLE
SKINCOLOR_BLUE,12, // SKINCOLOR_ORANGE
SKINCOLOR_NONE,8, // SKINCOLOR_ROSEWOOD
SKINCOLOR_NONE,8, // SKINCOLOR_BEIGE
SKINCOLOR_NONE,8, // SKINCOLOR_BROWN
SKINCOLOR_GREEN,5, // SKINCOLOR_RED
SKINCOLOR_NONE,8, // SKINCOLOR_DARKRED
SKINCOLOR_NONE,8, // SKINCOLOR_NEONGREEN
SKINCOLOR_RED,11, // SKINCOLOR_GREEN
SKINCOLOR_PURPLE,3, // SKINCOLOR_ZIM
SKINCOLOR_NONE,8, // SKINCOLOR_OLIVE
SKINCOLOR_NONE,8, // SKINCOLOR_YELLOW
SKINCOLOR_NONE,8 // SKINCOLOR_GOLD
};
*/
CV_PossibleValue_t Color_cons_t[MAXSKINCOLORS+1]; CV_PossibleValue_t Color_cons_t[MAXSKINCOLORS+1];
@ -239,280 +176,6 @@ void R_InitTranslationTables(void)
#endif #endif
} }
/** \brief Generates a translation colormap.
\param dest_colormap colormap to populate
\param skinnum number of skin, TC_DEFAULT or TC_BOSS
\param color translation color
\return void
*/
/*
static void R_GenerateTranslationColormap(UINT8 *dest_colormap, INT32 skinnum, UINT8 color)
{
// Table of indices into the palette of the first entries of each translated ramp
const UINT8 skinbasecolors[] = {
0x00, // SKINCOLOR_WHITE
0x03, // SKINCOLOR_SILVER
0x08, // SKINCOLOR_GREY
0x18, // SKINCOLOR_BLACK
0xd0, // SKINCOLOR_CYAN
0xdc, // SKINCOLOR_TEAL
0xc8, // SKINCOLOR_STEEL
0xe2, // SKINCOLOR_BLUE
0x40, // SKINCOLOR_PEACH
0x48, // SKINCOLOR_TAN
0x90, // SKINCOLOR_PINK
0xf8, // SKINCOLOR_LAVENDER
0xc0, // SKINCOLOR_PURPLE
0x52, // SKINCOLOR_ORANGE
0x5c, // SKINCOLOR_ROSEWOOD
0x20, // SKINCOLOR_BEIGE
0x30, // SKINCOLOR_BROWN
0x7d, // SKINCOLOR_RED
0x85, // SKINCOLOR_DARKRED
0xb8, // SKINCOLOR_NEONGREEN
0xa0, // SKINCOLOR_GREEN
0xb0, // SKINCOLOR_ZIM
0x69, // SKINCOLOR_OLIVE
0x67, // SKINCOLOR_YELLOW
0x70, // SKINCOLOR_GOLD
};
INT32 i;
INT32 starttranscolor;
// Handle a couple of simple special cases
if (skinnum == TC_BOSS || skinnum == TC_ALLWHITE || skinnum == TC_METALSONIC || color == SKINCOLOR_NONE)
{
for (i = 0; i < NUM_PALETTE_ENTRIES; i++)
{
if (skinnum == TC_ALLWHITE) dest_colormap[i] = 0;
else dest_colormap[i] = (UINT8)i;
}
// White!
if (skinnum == TC_BOSS)
dest_colormap[31] = 0;
else if (skinnum == TC_METALSONIC)
dest_colormap[239] = 0;
return;
}
starttranscolor = (skinnum != TC_DEFAULT) ? skins[skinnum].starttranscolor : DEFAULT_STARTTRANSCOLOR;
// Fill in the entries of the palette that are fixed
for (i = 0; i < starttranscolor; i++)
dest_colormap[i] = (UINT8)i;
for (i = (UINT8)(starttranscolor + 16); i < NUM_PALETTE_ENTRIES; i++)
dest_colormap[i] = (UINT8)i;
// Build the translated ramp
switch (color)
{
case SKINCOLOR_SILVER:
case SKINCOLOR_GREY:
case SKINCOLOR_PEACH:
case SKINCOLOR_BEIGE:
case SKINCOLOR_BROWN:
case SKINCOLOR_RED:
case SKINCOLOR_GREEN:
case SKINCOLOR_BLUE:
// 16 color ramp
for (i = 0; i < SKIN_RAMP_LENGTH; i++)
dest_colormap[starttranscolor + i] = (UINT8)(skinbasecolors[color - 1] + i);
break;
case SKINCOLOR_ORANGE:
// 14 colors of orange + brown
for (i = 0; i < SKIN_RAMP_LENGTH-2; i++)
dest_colormap[starttranscolor + i] = (UINT8)(skinbasecolors[color - 1] + i);
for (i = 0; i < 2; i++)
dest_colormap[starttranscolor + (i+SKIN_RAMP_LENGTH-2)] = (UINT8)(152 + i);
break;
case SKINCOLOR_CYAN:
// 12 color ramp
for (i = 0; i < SKIN_RAMP_LENGTH; i++)
dest_colormap[starttranscolor + i] = (UINT8)(skinbasecolors[color - 1] + (12*i/SKIN_RAMP_LENGTH));
break;
case SKINCOLOR_WHITE:
case SKINCOLOR_BLACK:
case SKINCOLOR_STEEL:
case SKINCOLOR_PINK:
case SKINCOLOR_LAVENDER:
case SKINCOLOR_PURPLE:
case SKINCOLOR_DARKRED:
case SKINCOLOR_ZIM:
case SKINCOLOR_YELLOW:
case SKINCOLOR_GOLD:
// 8 color ramp
for (i = 0; i < SKIN_RAMP_LENGTH; i++)
dest_colormap[starttranscolor + i] = (UINT8)(skinbasecolors[color - 1] + (i >> 1));
break;
case SKINCOLOR_TEAL:
// 5 color ramp
for (i = 0; i < SKIN_RAMP_LENGTH; i++)
{
if (5*i/16 == 0)
dest_colormap[starttranscolor + i] = 0xf7;
else
dest_colormap[starttranscolor + i] = (UINT8)(skinbasecolors[color - 1] + (5*i/SKIN_RAMP_LENGTH) - 1);
}
break;
case SKINCOLOR_OLIVE:
// 7 color ramp
for (i = 0; i < SKIN_RAMP_LENGTH; i++)
dest_colormap[starttranscolor + i] = (UINT8)(skinbasecolors[color - 1] + (7*i/SKIN_RAMP_LENGTH));
break;
case SKINCOLOR_TAN:
// 16 color ramp, from two color ranges
for (i = 0; i < SKIN_RAMP_LENGTH/2; i++) // Peach half
dest_colormap[starttranscolor + i] = (UINT8)(skinbasecolors[color - 1] + i);
for (i = 0; i < SKIN_RAMP_LENGTH/2; i++) // Brown half
dest_colormap[starttranscolor + (i+8)] = (UINT8)(48 + i);
break;
case SKINCOLOR_ROSEWOOD:
// 12 color ramp, from two color ranges!
for (i = 0; i < 6; i++) // Orange ...third?
dest_colormap[starttranscolor + i] = (UINT8)(skinbasecolors[color - 1] + (12*i/SKIN_RAMP_LENGTH));
for (i = 0; i < 10; i++) // Rosewood two-thirds-ish
dest_colormap[starttranscolor + (i+6)] = (UINT8)(152 + (12*i/SKIN_RAMP_LENGTH));
break;
case SKINCOLOR_NEONGREEN:
// Multi-color ramp
dest_colormap[starttranscolor] = 0xA0; // Brighter green
for (i = 0; i < SKIN_RAMP_LENGTH-1; i++) // Neon Green
dest_colormap[starttranscolor + (i+1)] = (UINT8)(skinbasecolors[color - 1] + (6*i/(SKIN_RAMP_LENGTH-1)));
break;
// Super colors, from lightest to darkest!
case SKINCOLOR_SUPER1:
// Super White
for (i = 0; i < 10; i++)
dest_colormap[starttranscolor + i] = 120; // True white
for (; i < SKIN_RAMP_LENGTH; i++) // White-yellow fade
dest_colormap[starttranscolor + i] = (UINT8)(96 + (i-10));
break;
case SKINCOLOR_SUPER2:
// Super Bright
for (i = 0; i < 5; i++) // White-yellow fade
dest_colormap[starttranscolor + i] = (UINT8)(96 + i);
dest_colormap[starttranscolor + 5] = 112; // Golden shine
for (i = 0; i < 8; i++) // Yellow
dest_colormap[starttranscolor + (i+6)] = (UINT8)(101 + (i>>1));
for (i = 0; i < 2; i++) // With a fine golden finish! :3
dest_colormap[starttranscolor + (i+14)] = (UINT8)(113 + i);
break;
case SKINCOLOR_SUPER3:
// Super Yellow
for (i = 0; i < 3; i++) // White-yellow fade
dest_colormap[starttranscolor + i] = (UINT8)(98 + i);
dest_colormap[starttranscolor + 3] = 112; // Golden shine
for (i = 0; i < 8; i++) // Yellow
dest_colormap[starttranscolor + (i+4)] = (UINT8)(101 + (i>>1));
for (i = 0; i < 4; i++) // With a fine golden finish! :3
dest_colormap[starttranscolor + (i+12)] = (UINT8)(113 + i);
break;
case SKINCOLOR_SUPER4:
// "The SSNTails"
dest_colormap[starttranscolor] = 112; // Golden shine
for (i = 0; i < 8; i++) // Yellow
dest_colormap[starttranscolor + (i+1)] = (UINT8)(101 + (i>>1));
for (i = 0; i < 7; i++) // With a fine golden finish! :3
dest_colormap[starttranscolor + (i+9)] = (UINT8)(113 + i);
break;
case SKINCOLOR_SUPER5:
// Golden Delicious
for (i = 0; i < 8; i++) // Yellow
dest_colormap[starttranscolor + i] = (UINT8)(101 + (i>>1));
for (i = 0; i < 7; i++) // With a fine golden finish! :3
dest_colormap[starttranscolor + (i+8)] = (UINT8)(113 + i);
dest_colormap[starttranscolor + 15] = 155;
break;
// Super Tails
case SKINCOLOR_TSUPER1:
for (i = 0; i < 10; i++) // white
dest_colormap[starttranscolor + i] = 120;
for (; i < SKIN_RAMP_LENGTH; i++) // orange
dest_colormap[starttranscolor + i] = (UINT8)(80 + (i-10));
break;
case SKINCOLOR_TSUPER2:
for (i = 0; i < 4; i++) // white
dest_colormap[starttranscolor + i] = 120;
for (; i < SKIN_RAMP_LENGTH; i++) // orange
dest_colormap[starttranscolor + i] = (UINT8)(80 + ((i-4)>>1));
break;
case SKINCOLOR_TSUPER3:
dest_colormap[starttranscolor] = 120; // pure white
dest_colormap[starttranscolor+1] = 120;
for (i = 2; i < SKIN_RAMP_LENGTH; i++) // orange
dest_colormap[starttranscolor + i] = (UINT8)(80 + ((i-2)>>1));
break;
case SKINCOLOR_TSUPER4:
dest_colormap[starttranscolor] = 120; // pure white
for (i = 1; i < 9; i++) // orange
dest_colormap[starttranscolor + i] = (UINT8)(80 + (i-1));
for (; i < SKIN_RAMP_LENGTH; i++) // gold
dest_colormap[starttranscolor + i] = (UINT8)(115 + (5*(i-9)/7));
break;
case SKINCOLOR_TSUPER5:
for (i = 0; i < 8; i++) // orange
dest_colormap[starttranscolor + i] = (UINT8)(80 + i);
for (; i < SKIN_RAMP_LENGTH; i++) // gold
dest_colormap[starttranscolor + i] = (UINT8)(115 + (5*(i-8)/8));
break;
// Super Knuckles
case SKINCOLOR_KSUPER1:
for (i = 0; i < SKIN_RAMP_LENGTH; i++)
dest_colormap[starttranscolor + i] = (UINT8)(120 + (i >> 2));
break;
case SKINCOLOR_KSUPER2:
for (i = 0; i < SKIN_RAMP_LENGTH; i++)
dest_colormap[starttranscolor + i] = (UINT8)(120 + (6*i/SKIN_RAMP_LENGTH));
break;
case SKINCOLOR_KSUPER3:
for (i = 0; i < SKIN_RAMP_LENGTH; i++)
dest_colormap[starttranscolor + i] = (UINT8)(120 + (i >> 1));
break;
case SKINCOLOR_KSUPER4:
for (i = 0; i < SKIN_RAMP_LENGTH; i++)
dest_colormap[starttranscolor + i] = (UINT8)(121 + (i >> 1));
break;
case SKINCOLOR_KSUPER5:
for (i = 0; i < SKIN_RAMP_LENGTH; i++)
dest_colormap[starttranscolor + i] = (UINT8)(122 + (i >> 1));
break;
default:
I_Error("Invalid skin color #%hu.", (UINT16)color);
break;
}
}
*/
/** \brief Retrieves a translation colormap from the cache. /** \brief Retrieves a translation colormap from the cache.
\param skinnum number of skin, TC_DEFAULT or TC_BOSS \param skinnum number of skin, TC_DEFAULT or TC_BOSS

View file

@ -105,7 +105,7 @@ void R_DrawColumn_8(void)
} }
} }
#define TRANSPARENTPIXEL 247 #define TRANSPARENTPIXEL 255
void R_Draw2sMultiPatchColumn_8(void) void R_Draw2sMultiPatchColumn_8(void)
{ {

View file

@ -1331,7 +1331,7 @@ void R_RenderPlayerView(player_t *player)
if (cv_homremoval.value == 1) if (cv_homremoval.value == 1)
V_DrawFill(0, 0, BASEVIDWIDTH, BASEVIDHEIGHT, 31); // No HOM effect! V_DrawFill(0, 0, BASEVIDWIDTH, BASEVIDHEIGHT, 31); // No HOM effect!
else //'development' HOM removal -- makes it blindingly obvious if HOM is spotted. else //'development' HOM removal -- makes it blindingly obvious if HOM is spotted.
V_DrawFill(0, 0, BASEVIDWIDTH, BASEVIDHEIGHT, 128+(timeinmap&15)); V_DrawFill(0, 0, BASEVIDWIDTH, BASEVIDHEIGHT, 32+(timeinmap&15));
} }
// Draw over the fourth screen so you don't have to stare at a HOM :V // Draw over the fourth screen so you don't have to stare at a HOM :V
else if (splitscreen == 2 && player == &players[displayplayers[2]]) else if (splitscreen == 2 && player == &players[displayplayers[2]])

View file

@ -42,8 +42,6 @@ int snprintf(char *str, size_t n, const char *fmt, ...);
CV_PossibleValue_t Forceskin_cons_t[MAXSKINS+2]; CV_PossibleValue_t Forceskin_cons_t[MAXSKINS+2];
static void R_InitSkins(void);
#define MINZ (FRACUNIT*4) #define MINZ (FRACUNIT*4)
#define BASEYCENTER (BASEVIDHEIGHT/2) #define BASEYCENTER (BASEVIDHEIGHT/2)
@ -585,7 +583,17 @@ void R_InitSprites(void)
// //
// it can be is do before loading config for skin cvar possible value // it can be is do before loading config for skin cvar possible value
R_InitSkins(); // (... what the fuck did you just say to me? "it can be is do"?)
#ifdef SKINVALUES
for (i = 0; i <= MAXSKINS; i++)
{
skin_cons_t[i].value = 0;
skin_cons_t[i].strvalue = NULL;
}
#endif
numskins = 0;
for (i = 0; i < numwadfiles; i++) for (i = 0; i < numwadfiles; i++)
R_AddSkins((UINT16)i); R_AddSkins((UINT16)i);
@ -2537,7 +2545,7 @@ static void Sk_SetDefaultValue(skin_t *skin)
strncpy(skin->facewant, "PLAYWANT", 9); strncpy(skin->facewant, "PLAYWANT", 9);
strncpy(skin->facemmap, "PLAYMMAP", 9); strncpy(skin->facemmap, "PLAYMMAP", 9);
skin->starttranscolor = 160; skin->starttranscolor = 96;
skin->prefcolor = SKINCOLOR_GREEN; skin->prefcolor = SKINCOLOR_GREEN;
// SRB2kart // SRB2kart
@ -2552,61 +2560,6 @@ static void Sk_SetDefaultValue(skin_t *skin)
skin->soundsid[S_sfx[i].skinsound] = i; skin->soundsid[S_sfx[i].skinsound] = i;
} }
//
// Initialize the basic skins
//
void R_InitSkins(void)
{
skin_t *skin;
#ifdef SKINVALUES
INT32 i;
for (i = 0; i <= MAXSKINS; i++)
{
skin_cons_t[i].value = 0;
skin_cons_t[i].strvalue = NULL;
}
#endif
// skin[0] = Sonic skin
skin = &skins[0];
numskins = 1;
Sk_SetDefaultValue(skin);
// Hardcoded S_SKIN customizations for Sonic.
strcpy(skin->name, DEFAULTSKIN);
#ifdef SKINVALUES
skin_cons_t[0].strvalue = skins[0].name;
#endif
skin->flags = 0;
strcpy(skin->realname, "Sonic");
strcpy(skin->hudname, "SONIC");
strncpy(skin->facerank, "PLAYRANK", 9);
strncpy(skin->facewant, "PLAYWANT", 9);
strncpy(skin->facemmap, "PLAYMMAP", 9);
skin->prefcolor = SKINCOLOR_BLUE;
// SRB2kart
skin->kartspeed = 8;
skin->kartweight = 2;
//
skin->spritedef.numframes = sprites[SPR_PLAY].numframes;
skin->spritedef.spriteframes = sprites[SPR_PLAY].spriteframes;
ST_LoadFaceGraphics(skin->facerank, skin->facewant, skin->facemmap, 0);
// Set values for Sonic skin
Forceskin_cons_t[1].value = 0;
Forceskin_cons_t[1].strvalue = skin->name;
//MD2 for sonic doesn't want to load in Linux.
#ifdef HWRENDER
if (rendermode == render_opengl)
HWR_AddPlayerMD2(0);
#endif
}
// returns true if the skin name is found (loaded from pwad) // returns true if the skin name is found (loaded from pwad)
// warning return -1 if not found // warning return -1 if not found
INT32 R_SkinAvailable(const char *name) INT32 R_SkinAvailable(const char *name)

View file

@ -131,7 +131,7 @@ typedef LPVOID (WINAPI *p_MapViewOfFile) (HANDLE, DWORD, DWORD, DWORD, SIZE_T);
#include <errno.h> #include <errno.h>
#endif #endif
// Locations for searching the srb2.srb // Locations for searching for main.kart
#if defined (__unix__) || defined(__APPLE__) || defined (UNIXCOMMON) #if defined (__unix__) || defined(__APPLE__) || defined (UNIXCOMMON)
#define DEFAULTWADLOCATION1 "/usr/local/share/games/SRB2Kart" #define DEFAULTWADLOCATION1 "/usr/local/share/games/SRB2Kart"
#define DEFAULTWADLOCATION2 "/usr/local/games/SRB2Kart" #define DEFAULTWADLOCATION2 "/usr/local/games/SRB2Kart"
@ -149,8 +149,7 @@ typedef LPVOID (WINAPI *p_MapViewOfFile) (HANDLE, DWORD, DWORD, DWORD, SIZE_T);
/** \brief WAD file to look for /** \brief WAD file to look for
*/ */
#define WADKEYWORD1 "srb2.srb" #define WADKEYWORD "main.kart"
#define WADKEYWORD2 "srb2.wad"
/** \brief holds wad path /** \brief holds wad path
*/ */
static char returnWadPath[256]; static char returnWadPath[256];
@ -3454,15 +3453,7 @@ static boolean isWadPathOk(const char *path)
if (!wad3path) if (!wad3path)
return false; return false;
sprintf(wad3path, pandf, path, WADKEYWORD1); sprintf(wad3path, pandf, path, WADKEYWORD);
if (FIL_ReadFileOK(wad3path))
{
free(wad3path);
return true;
}
sprintf(wad3path, pandf, path, WADKEYWORD2);
if (FIL_ReadFileOK(wad3path)) if (FIL_ReadFileOK(wad3path))
{ {
@ -3487,7 +3478,7 @@ static void pathonly(char *s)
} }
} }
/** \brief search for srb2.srb in the given path /** \brief search for main.kart in the given path
\param searchDir starting path \param searchDir starting path
@ -3500,7 +3491,7 @@ static const char *searchWad(const char *searchDir)
static char tempsw[256] = ""; static char tempsw[256] = "";
filestatus_t fstemp; filestatus_t fstemp;
strcpy(tempsw, WADKEYWORD1); strcpy(tempsw, WADKEYWORD);
fstemp = filesearch(tempsw,searchDir,NULL,true,20); fstemp = filesearch(tempsw,searchDir,NULL,true,20);
if (fstemp == FS_FOUND) if (fstemp == FS_FOUND)
{ {
@ -3508,19 +3499,12 @@ static const char *searchWad(const char *searchDir)
return tempsw; return tempsw;
} }
strcpy(tempsw, WADKEYWORD2);
fstemp = filesearch(tempsw, searchDir, NULL, true, 20);
if (fstemp == FS_FOUND)
{
pathonly(tempsw);
return tempsw;
}
return NULL; return NULL;
} }
/** \brief go through all possible paths and look for srb2.srb /** \brief go through all possible paths and look for main.kart
\return path to srb2.srb if any \return path to main.kart if any
*/ */
static const char *locateWad(void) static const char *locateWad(void)
{ {
@ -3649,7 +3633,7 @@ const char *I_LocateWad(void)
if (waddir) if (waddir)
{ {
// change to the directory where we found srb2.srb // change to the directory where we found main.kart
#if defined (_WIN32) #if defined (_WIN32)
SetCurrentDirectoryA(waddir); SetCurrentDirectoryA(waddir);
#else #else

View file

@ -145,7 +145,7 @@ void __set_fpscr(long); // in libgcc / kernel's startup.s?
#define O_BINARY 0 #define O_BINARY 0
#endif #endif
// Locations for searching the srb2.srb // Locations for searching the main.kart
#ifdef _arch_dreamcast #ifdef _arch_dreamcast
#define DEFAULTWADLOCATION1 "/cd" #define DEFAULTWADLOCATION1 "/cd"
#define DEFAULTWADLOCATION2 "/pc" #define DEFAULTWADLOCATION2 "/pc"
@ -217,8 +217,7 @@ void __set_fpscr(long); // in libgcc / kernel's startup.s?
/** \brief WAD file to look for /** \brief WAD file to look for
*/ */
#define WADKEYWORD1 "srb2.srb" #define WADKEYWORD "main.kart"
#define WADKEYWORD2 "srb2.wad"
/** \brief holds wad path /** \brief holds wad path
*/ */
static char returnWadPath[256]; static char returnWadPath[256];
@ -3398,15 +3397,7 @@ static boolean isWadPathOk(const char *path)
if (!wad3path) if (!wad3path)
return false; return false;
sprintf(wad3path, pandf, path, WADKEYWORD1); sprintf(wad3path, pandf, path, WADKEYWORD);
if (FIL_ReadFileOK(wad3path))
{
free(wad3path);
return true;
}
sprintf(wad3path, pandf, path, WADKEYWORD2);
if (FIL_ReadFileOK(wad3path)) if (FIL_ReadFileOK(wad3path))
{ {
@ -3431,7 +3422,7 @@ static void pathonly(char *s)
} }
} }
/** \brief search for srb2.srb in the given path /** \brief search for main.kart in the given path
\param searchDir starting path \param searchDir starting path
@ -3444,7 +3435,7 @@ static const char *searchWad(const char *searchDir)
static char tempsw[256] = ""; static char tempsw[256] = "";
filestatus_t fstemp; filestatus_t fstemp;
strcpy(tempsw, WADKEYWORD1); strcpy(tempsw, WADKEYWORD);
fstemp = filesearch(tempsw,searchDir,NULL,true,20); fstemp = filesearch(tempsw,searchDir,NULL,true,20);
if (fstemp == FS_FOUND) if (fstemp == FS_FOUND)
{ {
@ -3452,19 +3443,12 @@ static const char *searchWad(const char *searchDir)
return tempsw; return tempsw;
} }
strcpy(tempsw, WADKEYWORD2);
fstemp = filesearch(tempsw, searchDir, NULL, true, 20);
if (fstemp == FS_FOUND)
{
pathonly(tempsw);
return tempsw;
}
return NULL; return NULL;
} }
/** \brief go through all possible paths and look for srb2.srb /** \brief go through all possible paths and look for main.kart
\return path to srb2.srb if any \return path to main.kart if any
*/ */
static const char *locateWad(void) static const char *locateWad(void)
{ {
@ -3581,7 +3565,7 @@ const char *I_LocateWad(void)
if (waddir) if (waddir)
{ {
// change to the directory where we found srb2.srb // change to the directory where we found main.kart
#if (defined (_WIN32) && !defined (_WIN32_WCE)) && !defined (_XBOX) #if (defined (_WIN32) && !defined (_WIN32_WCE)) && !defined (_XBOX)
SetCurrentDirectoryA(waddir); SetCurrentDirectoryA(waddir);
#elif !defined (_WIN32_WCE) && !defined (_PS3) #elif !defined (_WIN32_WCE) && !defined (_PS3)

View file

@ -2138,8 +2138,8 @@ void ST_Drawer(void)
if (timeinmap < 15) if (timeinmap < 15)
{ {
if (timeinmap <= 5) if (timeinmap <= 5)
V_DrawFill(0,0,BASEVIDWIDTH,BASEVIDHEIGHT,120); // Pure white on first few frames, to hide SRB2's awful level load artifacts V_DrawFill(0,0,BASEVIDWIDTH,BASEVIDHEIGHT,0); // Pure white on first few frames, to hide SRB2's awful level load artifacts
else else
V_DrawFadeScreen(120, 15-timeinmap); // Then gradually fade out from there V_DrawFadeScreen(0, 15-timeinmap); // Then gradually fade out from there
} }
} }

View file

@ -17,7 +17,7 @@
[BITS 32] [BITS 32]
%define FRACBITS 16 %define FRACBITS 16
%define TRANSPARENTPIXEL 247 %define TRANSPARENTPIXEL 255
%ifdef LINUX %ifdef LINUX
%macro cextern 1 %macro cextern 1

View file

@ -18,7 +18,7 @@
[BITS 32] [BITS 32]
%define FRACBITS 16 %define FRACBITS 16
%define TRANSPARENTPIXEL 247 %define TRANSPARENTPIXEL 255
%ifdef LINUX %ifdef LINUX
%macro cextern 1 %macro cextern 1

View file

@ -1359,16 +1359,16 @@ UINT8 *V_GetStringColormap(INT32 colorflags)
return lavendermap; return lavendermap;
case 10: // 0x8A, gold case 10: // 0x8A, gold
return goldmap; return goldmap;
case 11: // 0x8B, tea-green case 11: // 0x8B, aqua-green
return teamap; return aquamap;
case 12: // 0x8C, steel case 12: // 0x8C, magenta
return steelmap; return magentamap;
case 13: // 0x8D, pink case 13: // 0x8D, pink
return pinkmap; return pinkmap;
case 14: // 0x8E, brown case 14: // 0x8E, brown
return brownmap; return brownmap;
case 15: // 0x8F, peach case 15: // 0x8F, tan
return peachmap; return tanmap;
default: // reset default: // reset
return NULL; return NULL;
} }

View file

@ -79,11 +79,11 @@ extern UINT8 hudtrans;
#define V_SKYMAP 0x00008000 #define V_SKYMAP 0x00008000
#define V_LAVENDERMAP 0x00009000 #define V_LAVENDERMAP 0x00009000
#define V_GOLDMAP 0x0000A000 #define V_GOLDMAP 0x0000A000
#define V_TEAMAP 0x0000B000 #define V_AQUAMAP 0x0000B000
#define V_STEELMAP 0x0000C000 #define V_MAGENTAMAP 0x0000C000
#define V_PINKMAP 0x0000D000 #define V_PINKMAP 0x0000D000
#define V_BROWNMAP 0x0000E000 #define V_BROWNMAP 0x0000E000
#define V_PEACHMAP 0x0000F000 #define V_TANMAP 0x0000F000
// use bits 17-20 for alpha transparency // use bits 17-20 for alpha transparency
#define V_ALPHASHIFT 16 #define V_ALPHASHIFT 16

View file

@ -1083,7 +1083,7 @@ void Y_VoteDrawer(void)
V_DrawMappedPatch(BASEVIDWIDTH-124, handy, V_SNAPTORIGHT, thiscurs, colormap); V_DrawMappedPatch(BASEVIDWIDTH-124, handy, V_SNAPTORIGHT, thiscurs, colormap);
if (votetic % 10 < 4) if (votetic % 10 < 4)
V_DrawFill(BASEVIDWIDTH-100-sizeadd, y-sizeadd, 80+(sizeadd*2), 50+(sizeadd*2), 120|V_SNAPTORIGHT); V_DrawFill(BASEVIDWIDTH-100-sizeadd, y-sizeadd, 80+(sizeadd*2), 50+(sizeadd*2), 0|V_SNAPTORIGHT);
else else
V_DrawFill(BASEVIDWIDTH-100-sizeadd, y-sizeadd, 80+(sizeadd*2), 50+(sizeadd*2), color|V_SNAPTORIGHT); V_DrawFill(BASEVIDWIDTH-100-sizeadd, y-sizeadd, 80+(sizeadd*2), 50+(sizeadd*2), color|V_SNAPTORIGHT);
@ -1154,7 +1154,7 @@ void Y_VoteDrawer(void)
{ {
V_DrawScaledPatch(x-18, y+9, V_SNAPTOLEFT, cursor); V_DrawScaledPatch(x-18, y+9, V_SNAPTOLEFT, cursor);
if (voteendtic != -1 && !(votetic % 4)) if (voteendtic != -1 && !(votetic % 4))
V_DrawFill(x-1, y-1, 42, 27, 120|V_SNAPTOLEFT); V_DrawFill(x-1, y-1, 42, 27, 0|V_SNAPTOLEFT);
else else
V_DrawFill(x-1, y-1, 42, 27, levelinfo[votes[i]].gtc|V_SNAPTOLEFT); V_DrawFill(x-1, y-1, 42, 27, levelinfo[votes[i]].gtc|V_SNAPTOLEFT);
} }