mirror of
https://git.do.srb2.org/STJr/SRB2.git
synced 2025-03-22 10:52:23 +00:00
SUPERCOLOR BONANZA COMMIT.
* Several new supercolours. - SKINCOLOR_SUPERSILVER1-5 (for fun) - "Silver" - SKINCOLOR_SUPERPERIDOT1-5 (nyeheheh) - "Peridot" - SKINCOLOR_SUPERCYAN1-5 (for fun) - "Cyan" - SKINCOLOR_SUPERPURPLE1-5 (for fun) - "Purple" - SKINCOLOR_SUPERRUST1-5 (mecha/metal sonic) - "Rust" - SKINCOLOR_SUPERTAN1-5 (shadow/silver the hedgehog) - "Tan" * SKINCOLOR_SUPER1-5 renamed to SKINCOLOR_SUPERGOLD1-5, one index for darkest is changed - "Gold" * SKINCOLOR_TSUPER1-5 renamed to SKINCOLOR_SUPERORANGE1-5, ported properly to the new palette - "Orange" * SKINCOLOR_KSUPER1-5 renamed to SKINCOLOR_SUPERRED1-5, ported properly to the new palette - "Red" * new S_SKIN attribute - supercolor - uses an entirely different function to get the names (R_GetSuperColorByName instead of R_GetColorByName) * a fun little secret - typing "god on" in the console whilst super makes the player hyper (visual only, no sparkles - just rainbow flash) - can be removed if no fun is allowed
This commit is contained in:
parent
bc7389327a
commit
810e1ec041
11 changed files with 736 additions and 100 deletions
|
@ -6895,24 +6895,61 @@ static const char *COLOR_ENUMS[] = {
|
|||
"MAGENTA", // SKINCOLOR_MAGENTA
|
||||
"PINK", // SKINCOLOR_PINK
|
||||
"ROSY", // SKINCOLOR_ROSY
|
||||
|
||||
// Super special awesome Super flashing colors!
|
||||
"SUPER1", // SKINCOLOR_SUPER1
|
||||
"SUPER2", // SKINCOLOR_SUPER2,
|
||||
"SUPER3", // SKINCOLOR_SUPER3,
|
||||
"SUPER4", // SKINCOLOR_SUPER4,
|
||||
"SUPER5", // SKINCOLOR_SUPER5,
|
||||
// Super Tails
|
||||
"TSUPER1", // SKINCOLOR_TSUPER1,
|
||||
"TSUPER2", // SKINCOLOR_TSUPER2,
|
||||
"TSUPER3", // SKINCOLOR_TSUPER3,
|
||||
"TSUPER4", // SKINCOLOR_TSUPER4,
|
||||
"TSUPER5", // SKINCOLOR_TSUPER5,
|
||||
// Super Knuckles
|
||||
"KSUPER1", // SKINCOLOR_KSUPER1,
|
||||
"KSUPER2", // SKINCOLOR_KSUPER2,
|
||||
"KSUPER3", // SKINCOLOR_KSUPER3,
|
||||
"KSUPER4", // SKINCOLOR_KSUPER4,
|
||||
"KSUPER5" // SKINCOLOR_KSUPER5,
|
||||
"SUPERSILVER1", // SKINCOLOR_SUPERSILVER1
|
||||
"SUPERSILVER2", // SKINCOLOR_SUPERSILVER2,
|
||||
"SUPERSILVER3", // SKINCOLOR_SUPERSILVER3,
|
||||
"SUPERSILVER4", // SKINCOLOR_SUPERSILVER4,
|
||||
"SUPERSILVER5", // SKINCOLOR_SUPERSILVER5,
|
||||
|
||||
"SUPERRED1", // SKINCOLOR_SUPERRED1
|
||||
"SUPERRED2", // SKINCOLOR_SUPERRED2,
|
||||
"SUPERRED3", // SKINCOLOR_SUPERRED3,
|
||||
"SUPERRED4", // SKINCOLOR_SUPERRED4,
|
||||
"SUPERRED5", // SKINCOLOR_SUPERRED5,
|
||||
|
||||
"SUPERORANGE1", // SKINCOLOR_SUPERORANGE1
|
||||
"SUPERORANGE2", // SKINCOLOR_SUPERORANGE2,
|
||||
"SUPERORANGE3", // SKINCOLOR_SUPERORANGE3,
|
||||
"SUPERORANGE4", // SKINCOLOR_SUPERORANGE4,
|
||||
"SUPERORANGE5", // SKINCOLOR_SUPERORANGE5,
|
||||
|
||||
"SUPERGOLD1", // SKINCOLOR_SUPERGOLD1
|
||||
"SUPERGOLD2", // SKINCOLOR_SUPERGOLD2,
|
||||
"SUPERGOLD3", // SKINCOLOR_SUPERGOLD3,
|
||||
"SUPERGOLD4", // SKINCOLOR_SUPERGOLD4,
|
||||
"SUPERGOLD5", // SKINCOLOR_SUPERGOLD5,
|
||||
|
||||
"SUPERPERIDOT1", // SKINCOLOR_SUPERPERIDOT1
|
||||
"SUPERPERIDOT2", // SKINCOLOR_SUPERPERIDOT2,
|
||||
"SUPERPERIDOT3", // SKINCOLOR_SUPERPERIDOT3,
|
||||
"SUPERPERIDOT4", // SKINCOLOR_SUPERPERIDOT4,
|
||||
"SUPERPERIDOT5", // SKINCOLOR_SUPERPERIDOT5,
|
||||
|
||||
"SUPERCYAN1", // SKINCOLOR_SUPERCYAN1
|
||||
"SUPERCYAN2", // SKINCOLOR_SUPERCYAN2,
|
||||
"SUPERCYAN3", // SKINCOLOR_SUPERCYAN3,
|
||||
"SUPERCYAN4", // SKINCOLOR_SUPERCYAN4,
|
||||
"SUPERCYAN5", // SKINCOLOR_SUPERCYAN5,
|
||||
|
||||
"SUPERPURPLE1", // SKINCOLOR_SUPERPURPLE1,
|
||||
"SUPERPURPLE2", // SKINCOLOR_SUPERPURPLE2,
|
||||
"SUPERPURPLE3", // SKINCOLOR_SUPERPURPLE3,
|
||||
"SUPERPURPLE4", // SKINCOLOR_SUPERPURPLE4,
|
||||
"SUPERPURPLE5", // SKINCOLOR_SUPERPURPLE5,
|
||||
|
||||
"SUPERRUST1", // SKINCOLOR_SUPERRUST1
|
||||
"SUPERRUST2", // SKINCOLOR_SUPERRUST2,
|
||||
"SUPERRUST3", // SKINCOLOR_SUPERRUST3,
|
||||
"SUPERRUST4", // SKINCOLOR_SUPERRUST4,
|
||||
"SUPERRUST5", // SKINCOLOR_SUPERRUST5,
|
||||
|
||||
"SUPERTAN1", // SKINCOLOR_SUPERTAN1
|
||||
"SUPERTAN2", // SKINCOLOR_SUPERTAN2,
|
||||
"SUPERTAN3", // SKINCOLOR_SUPERTAN3,
|
||||
"SUPERTAN4", // SKINCOLOR_SUPERTAN4,
|
||||
"SUPERTAN5" // SKINCOLOR_SUPERTAN5,
|
||||
};
|
||||
|
||||
static const char *const POWERS_LIST[] = {
|
||||
|
|
|
@ -207,7 +207,7 @@ typedef struct
|
|||
|
||||
#define ZSHIFT 4
|
||||
|
||||
extern const char *Color_Names[MAXSKINCOLORS];
|
||||
extern const char *Color_Names[MAXSKINCOLORS + NUMSUPERCOLORS];
|
||||
extern const UINT8 Color_Opposite[MAXSKINCOLORS*2];
|
||||
|
||||
#define NUMMAPS 1035
|
||||
|
|
|
@ -257,32 +257,69 @@ typedef enum
|
|||
SKINCOLOR_MAGENTA,
|
||||
SKINCOLOR_PINK,
|
||||
SKINCOLOR_ROSY,
|
||||
//SKINCOLOR_?
|
||||
//SKINCOLOR_?
|
||||
|
||||
// Careful! MAXSKINCOLORS cannot be greater than 0x20!
|
||||
// Careful! MAXSKINCOLORS cannot be greater than 0x20! Two slots left...
|
||||
MAXSKINCOLORS,
|
||||
|
||||
// Super special awesome Super flashing colors!
|
||||
SKINCOLOR_SUPER1 = MAXSKINCOLORS,
|
||||
SKINCOLOR_SUPER2,
|
||||
SKINCOLOR_SUPER3,
|
||||
SKINCOLOR_SUPER4,
|
||||
SKINCOLOR_SUPER5,
|
||||
SKINCOLOR_SUPERSILVER1 = MAXSKINCOLORS,
|
||||
SKINCOLOR_SUPERSILVER2,
|
||||
SKINCOLOR_SUPERSILVER3,
|
||||
SKINCOLOR_SUPERSILVER4,
|
||||
SKINCOLOR_SUPERSILVER5,
|
||||
|
||||
// Super Tails
|
||||
SKINCOLOR_TSUPER1,
|
||||
SKINCOLOR_TSUPER2,
|
||||
SKINCOLOR_TSUPER3,
|
||||
SKINCOLOR_TSUPER4,
|
||||
SKINCOLOR_TSUPER5,
|
||||
SKINCOLOR_SUPERRED1,
|
||||
SKINCOLOR_SUPERRED2,
|
||||
SKINCOLOR_SUPERRED3,
|
||||
SKINCOLOR_SUPERRED4,
|
||||
SKINCOLOR_SUPERRED5,
|
||||
|
||||
// Super Knuckles
|
||||
SKINCOLOR_KSUPER1,
|
||||
SKINCOLOR_KSUPER2,
|
||||
SKINCOLOR_KSUPER3,
|
||||
SKINCOLOR_KSUPER4,
|
||||
SKINCOLOR_KSUPER5,
|
||||
SKINCOLOR_SUPERORANGE1,
|
||||
SKINCOLOR_SUPERORANGE2,
|
||||
SKINCOLOR_SUPERORANGE3,
|
||||
SKINCOLOR_SUPERORANGE4,
|
||||
SKINCOLOR_SUPERORANGE5,
|
||||
|
||||
MAXTRANSLATIONS
|
||||
SKINCOLOR_SUPERGOLD1,
|
||||
SKINCOLOR_SUPERGOLD2,
|
||||
SKINCOLOR_SUPERGOLD3,
|
||||
SKINCOLOR_SUPERGOLD4,
|
||||
SKINCOLOR_SUPERGOLD5,
|
||||
|
||||
SKINCOLOR_SUPERPERIDOT1,
|
||||
SKINCOLOR_SUPERPERIDOT2,
|
||||
SKINCOLOR_SUPERPERIDOT3,
|
||||
SKINCOLOR_SUPERPERIDOT4,
|
||||
SKINCOLOR_SUPERPERIDOT5,
|
||||
|
||||
SKINCOLOR_SUPERCYAN1,
|
||||
SKINCOLOR_SUPERCYAN2,
|
||||
SKINCOLOR_SUPERCYAN3,
|
||||
SKINCOLOR_SUPERCYAN4,
|
||||
SKINCOLOR_SUPERCYAN5,
|
||||
|
||||
SKINCOLOR_SUPERPURPLE1,
|
||||
SKINCOLOR_SUPERPURPLE2,
|
||||
SKINCOLOR_SUPERPURPLE3,
|
||||
SKINCOLOR_SUPERPURPLE4,
|
||||
SKINCOLOR_SUPERPURPLE5,
|
||||
|
||||
SKINCOLOR_SUPERRUST1,
|
||||
SKINCOLOR_SUPERRUST2,
|
||||
SKINCOLOR_SUPERRUST3,
|
||||
SKINCOLOR_SUPERRUST4,
|
||||
SKINCOLOR_SUPERRUST5,
|
||||
|
||||
SKINCOLOR_SUPERTAN1,
|
||||
SKINCOLOR_SUPERTAN2,
|
||||
SKINCOLOR_SUPERTAN3,
|
||||
SKINCOLOR_SUPERTAN4,
|
||||
SKINCOLOR_SUPERTAN5,
|
||||
|
||||
MAXTRANSLATIONS,
|
||||
NUMSUPERCOLORS = ((MAXTRANSLATIONS - MAXSKINCOLORS)/5)
|
||||
} skincolors_t;
|
||||
|
||||
// State updates, number of tics / second.
|
||||
|
|
10
src/g_game.c
10
src/g_game.c
|
@ -4345,8 +4345,14 @@ void G_GhostTicker(void)
|
|||
// Tick ghost colors (Super and Mario Invincibility flashing)
|
||||
switch(g->color)
|
||||
{
|
||||
case GHC_SUPER: // Super Sonic (P_DoSuperStuff)
|
||||
g->mo->color = SKINCOLOR_SUPER1;
|
||||
case GHC_SUPER: // Super (P_DoSuperStuff)
|
||||
if (g->mo->skin)
|
||||
{
|
||||
skin_t *skin = (skin_t *)g->mo->skin;
|
||||
g->mo->color = skin->supercolor;
|
||||
}
|
||||
else
|
||||
g->mo->color = SKINCOLOR_SUPERGOLD1;
|
||||
g->mo->color += abs( ( (signed)( (unsigned)leveltime >> 1 ) % 9) - 4);
|
||||
break;
|
||||
case GHC_INVINCIBLE: // Mario invincibility (P_CheckInvincibilityTimer)
|
||||
|
|
|
@ -1035,32 +1035,151 @@ static void HWR_CreateBlendedTexture(GLPatch_t *gpatch, GLPatch_t *blendgpatch,
|
|||
case SKINCOLOR_ROSY:
|
||||
blendcolor = V_GetColor(202);
|
||||
break;
|
||||
case SKINCOLOR_SUPER1:
|
||||
|
||||
case SKINCOLOR_SUPERSILVER1: // Super white
|
||||
blendcolor = V_GetColor(0);
|
||||
break;
|
||||
case SKINCOLOR_SUPERSILVER2:
|
||||
blendcolor = V_GetColor(2);
|
||||
break;
|
||||
case SKINCOLOR_SUPERSILVER3:
|
||||
blendcolor = V_GetColor(4);
|
||||
break;
|
||||
case SKINCOLOR_SUPERSILVER4:
|
||||
blendcolor = V_GetColor(7);
|
||||
break;
|
||||
case SKINCOLOR_SUPERSILVER5:
|
||||
blendcolor = V_GetColor(10);
|
||||
break;
|
||||
|
||||
case SKINCOLOR_SUPERRED1: // Super red
|
||||
blendcolor = V_GetColor(208);
|
||||
break;
|
||||
case SKINCOLOR_SUPERRED2:
|
||||
blendcolor = V_GetColor(210);
|
||||
break;
|
||||
case SKINCOLOR_SUPERRED3:
|
||||
blendcolor = V_GetColor(32);
|
||||
break;
|
||||
case SKINCOLOR_SUPERRED4:
|
||||
blendcolor = V_GetColor(33);
|
||||
break;
|
||||
case SKINCOLOR_SUPERRED5:
|
||||
blendcolor = V_GetColor(35);
|
||||
break;
|
||||
|
||||
case SKINCOLOR_SUPERORANGE1: // Super orange
|
||||
blendcolor = V_GetColor(208);
|
||||
break;
|
||||
case SKINCOLOR_SUPERORANGE2:
|
||||
blendcolor = V_GetColor(48);
|
||||
break;
|
||||
case SKINCOLOR_SUPERORANGE3:
|
||||
blendcolor = V_GetColor(50);
|
||||
break;
|
||||
case SKINCOLOR_SUPERORANGE4:
|
||||
blendcolor = V_GetColor(54);
|
||||
break;
|
||||
case SKINCOLOR_SUPERORANGE5:
|
||||
blendcolor = V_GetColor(58);
|
||||
break;
|
||||
|
||||
case SKINCOLOR_SUPERGOLD1: // Super gold
|
||||
blendcolor = V_GetColor(80);
|
||||
break;
|
||||
case SKINCOLOR_SUPER2:
|
||||
case SKINCOLOR_SUPERGOLD2:
|
||||
blendcolor = V_GetColor(83);
|
||||
break;
|
||||
case SKINCOLOR_SUPER3:
|
||||
case SKINCOLOR_SUPERGOLD3:
|
||||
blendcolor = V_GetColor(73);
|
||||
break;
|
||||
case SKINCOLOR_SUPER4:
|
||||
case SKINCOLOR_SUPERGOLD4:
|
||||
blendcolor = V_GetColor(64);
|
||||
break;
|
||||
case SKINCOLOR_SUPER5:
|
||||
case SKINCOLOR_SUPERGOLD5:
|
||||
blendcolor = V_GetColor(67);
|
||||
break;
|
||||
|
||||
case SKINCOLOR_TSUPER1:
|
||||
case SKINCOLOR_TSUPER2:
|
||||
case SKINCOLOR_TSUPER3:
|
||||
case SKINCOLOR_TSUPER4:
|
||||
case SKINCOLOR_TSUPER5:
|
||||
case SKINCOLOR_KSUPER1:
|
||||
case SKINCOLOR_KSUPER2:
|
||||
case SKINCOLOR_KSUPER3:
|
||||
case SKINCOLOR_KSUPER4:
|
||||
case SKINCOLOR_KSUPER5:
|
||||
case SKINCOLOR_SUPERPERIDOT1: // Super peridot
|
||||
blendcolor = V_GetColor(88);
|
||||
break;
|
||||
case SKINCOLOR_SUPERPERIDOT2:
|
||||
blendcolor = V_GetColor(188);
|
||||
break;
|
||||
case SKINCOLOR_SUPERPERIDOT3:
|
||||
blendcolor = V_GetColor(189);
|
||||
break;
|
||||
case SKINCOLOR_SUPERPERIDOT4:
|
||||
blendcolor = V_GetColor(190);
|
||||
break;
|
||||
case SKINCOLOR_SUPERPERIDOT5:
|
||||
blendcolor = V_GetColor(191);
|
||||
break;
|
||||
|
||||
case SKINCOLOR_SUPERCYAN1: // Super cyan
|
||||
blendcolor = V_GetColor(128);
|
||||
break;
|
||||
case SKINCOLOR_SUPERCYAN2:
|
||||
blendcolor = V_GetColor(131);
|
||||
break;
|
||||
case SKINCOLOR_SUPERCYAN3:
|
||||
blendcolor = V_GetColor(133);
|
||||
break;
|
||||
case SKINCOLOR_SUPERCYAN4:
|
||||
blendcolor = V_GetColor(134);
|
||||
break;
|
||||
case SKINCOLOR_SUPERCYAN5:
|
||||
blendcolor = V_GetColor(136);
|
||||
break;
|
||||
|
||||
case SKINCOLOR_SUPERPURPLE1: // Super purple
|
||||
blendcolor = V_GetColor(144);
|
||||
break;
|
||||
case SKINCOLOR_SUPERPURPLE2:
|
||||
blendcolor = V_GetColor(162);
|
||||
break;
|
||||
case SKINCOLOR_SUPERPURPLE3:
|
||||
blendcolor = V_GetColor(164);
|
||||
break;
|
||||
case SKINCOLOR_SUPERPURPLE4:
|
||||
blendcolor = V_GetColor(166);
|
||||
break;
|
||||
case SKINCOLOR_SUPERPURPLE5:
|
||||
blendcolor = V_GetColor(168);
|
||||
break;
|
||||
|
||||
case SKINCOLOR_SUPERRUST1: // Super rust
|
||||
blendcolor = V_GetColor(51);
|
||||
break;
|
||||
case SKINCOLOR_SUPERRUST2:
|
||||
blendcolor = V_GetColor(54);
|
||||
break;
|
||||
case SKINCOLOR_SUPERRUST3:
|
||||
blendcolor = V_GetColor(68);
|
||||
break;
|
||||
case SKINCOLOR_SUPERRUST4:
|
||||
blendcolor = V_GetColor(70);
|
||||
break;
|
||||
case SKINCOLOR_SUPERRUST5:
|
||||
blendcolor = V_GetColor(234);
|
||||
break;
|
||||
|
||||
case SKINCOLOR_SUPERTAN1: // Super tan
|
||||
blendcolor = V_GetColor(80);
|
||||
break;
|
||||
case SKINCOLOR_SUPERTAN2:
|
||||
blendcolor = V_GetColor(82);
|
||||
break;
|
||||
case SKINCOLOR_SUPERTAN3:
|
||||
blendcolor = V_GetColor(84);
|
||||
break;
|
||||
case SKINCOLOR_SUPERTAN4:
|
||||
blendcolor = V_GetColor(87);
|
||||
break;
|
||||
case SKINCOLOR_SUPERTAN5:
|
||||
blendcolor = V_GetColor(247);
|
||||
break;
|
||||
|
||||
default:
|
||||
blendcolor = V_GetColor(255);
|
||||
break;
|
||||
|
|
11
src/p_user.c
11
src/p_user.c
|
@ -3415,14 +3415,9 @@ static void P_DoSuperStuff(player_t *player)
|
|||
player->mo->health--;
|
||||
}
|
||||
|
||||
// future todo: a skin option for this, and possibly more colors
|
||||
switch (player->skin)
|
||||
{
|
||||
case 1: /* Tails */ player->mo->color = SKINCOLOR_TSUPER1; break;
|
||||
case 2: /* Knux */ player->mo->color = SKINCOLOR_KSUPER1; break;
|
||||
default: /* everyone */ player->mo->color = SKINCOLOR_SUPER1; break;
|
||||
}
|
||||
player->mo->color += abs( ( (signed)( (unsigned)leveltime >> 1 ) % 9) - 4);
|
||||
player->mo->color = (player->pflags & PF_GODMODE)
|
||||
? (SKINCOLOR_SUPERSILVER1 + 5*((leveltime >> 1) % 7)) // A wholesome easter egg.
|
||||
: skins[player->skin].supercolor + (unsigned)abs( ( (signed)(leveltime >> 1) % 9) - 4); // This is where super flashing is handled.
|
||||
|
||||
if ((cmd->forwardmove != 0 || cmd->sidemove != 0 || player->pflags & (PF_CARRIED|PF_ROPEHANG|PF_ITEMHANG|PF_MACESPIN))
|
||||
&& !(leveltime % TICRATE) && (player->mo->momx || player->mo->momy))
|
||||
|
|
509
src/r_draw.c
509
src/r_draw.c
|
@ -135,7 +135,7 @@ static UINT8** translationtablecache[MAXSKINS + 4] = {NULL};
|
|||
|
||||
// See also the enum skincolors_t
|
||||
// TODO Callum: Can this be translated?
|
||||
const char *Color_Names[MAXSKINCOLORS] =
|
||||
const char *Color_Names[MAXSKINCOLORS + NUMSUPERCOLORS] =
|
||||
{
|
||||
"None", // SKINCOLOR_NONE
|
||||
"White", // SKINCOLOR_WHITE
|
||||
|
@ -166,7 +166,17 @@ const char *Color_Names[MAXSKINCOLORS] =
|
|||
"Lavender", // SKINCOLOR_LAVENDER
|
||||
"Magenta", // SKINCOLOR_MAGENTA
|
||||
"Pink", // SKINCOLOR_PINK
|
||||
"Rosy" // SKINCOLOR_ROSY
|
||||
"Rosy", // SKINCOLOR_ROSY
|
||||
// Super behaves by different rules (one name per 5 colours), and will be accessed exclusively via R_GetSuperColorByName instead of R_GetColorByName.
|
||||
"Silver", // SKINCOLOR_SUPERSILVER1
|
||||
"Red", // SKINCOLOR_SUPERRED1
|
||||
"Orange", // SKINCOLOR_SUPERORANGE1
|
||||
"Gold", // SKINCOLOR_SUPERGOLD1
|
||||
"Peridot", // SKINCOLOR_SUPERPERIDOT1
|
||||
"Cyan", // SKINCOLOR_SUPERCYAN1
|
||||
"Purple", // SKINCOLOR_SUPERPURPLE1
|
||||
"Rust", // SKINCOLOR_SUPERRUST1
|
||||
"Tan" // SKINCOLOR_SUPERTAN1
|
||||
};
|
||||
|
||||
/*
|
||||
|
@ -573,49 +583,186 @@ static void R_GenerateTranslationColormap(UINT8 *dest_colormap, INT32 skinnum, U
|
|||
break;
|
||||
|
||||
// Super colors, from lightest to darkest!
|
||||
case SKINCOLOR_SUPER1:
|
||||
// Super White
|
||||
|
||||
// Super silvers.
|
||||
case SKINCOLOR_SUPERSILVER1:
|
||||
for (i = 0; i < 12; i++)
|
||||
dest_colormap[starttranscolor + i] = (UINT8)0;
|
||||
for (; i < 14; i++)
|
||||
dest_colormap[starttranscolor + i] = (UINT8)1;
|
||||
for (; i < 16; i++)
|
||||
dest_colormap[starttranscolor + i] = (UINT8)(i-12);
|
||||
break;
|
||||
|
||||
case SKINCOLOR_SUPERSILVER2:
|
||||
for (i = 0; i < 3; i++)
|
||||
dest_colormap[starttranscolor + i] = (UINT8)(i);
|
||||
dest_colormap[starttranscolor + (i++)] = (UINT8)2;
|
||||
for (; i < 8; i++)
|
||||
dest_colormap[starttranscolor + i] = (UINT8)3;
|
||||
for (; i < 14; i++)
|
||||
dest_colormap[starttranscolor + i] = (UINT8)4;
|
||||
for (; i < 16; i++)
|
||||
dest_colormap[starttranscolor + i] = (UINT8)(i-9);
|
||||
break;
|
||||
|
||||
case SKINCOLOR_SUPERSILVER3:
|
||||
dest_colormap[starttranscolor] = (UINT8)1;
|
||||
for (i = 1; i < 3; i++)
|
||||
dest_colormap[starttranscolor + i] = (UINT8)2;
|
||||
for (; i < 6; i++)
|
||||
dest_colormap[starttranscolor + i] = (UINT8)3;
|
||||
for (; i < 12; i++)
|
||||
dest_colormap[starttranscolor + i] = (UINT8)4;
|
||||
for (; i < 16; i++)
|
||||
dest_colormap[starttranscolor + i] = (UINT8)(5 + ((i-12)*2));
|
||||
break;
|
||||
|
||||
case SKINCOLOR_SUPERSILVER4:
|
||||
dest_colormap[starttranscolor] = (UINT8)2;
|
||||
for (i = 1; i < 3; i++)
|
||||
dest_colormap[starttranscolor + i] = (UINT8)3;
|
||||
for (; i < 9; i++)
|
||||
dest_colormap[starttranscolor + i] = (UINT8)4;
|
||||
for (; i < 16; i++)
|
||||
dest_colormap[starttranscolor + i] = (UINT8)(5 + ((i-9)*2));
|
||||
break;
|
||||
|
||||
case SKINCOLOR_SUPERSILVER5:
|
||||
for (i = 0; i < 2; i++)
|
||||
dest_colormap[starttranscolor + i] = (UINT8)3;
|
||||
for (; i < 8; i++)
|
||||
dest_colormap[starttranscolor + i] = (UINT8)4;
|
||||
for (; i < 16; i++)
|
||||
dest_colormap[starttranscolor + i] = (UINT8)(5 + ((i-8)*2));
|
||||
break;
|
||||
|
||||
// Super reds.
|
||||
case SKINCOLOR_SUPERRED1:
|
||||
for (i = 0; i < 10; i++)
|
||||
dest_colormap[starttranscolor + i] = (UINT8)0;
|
||||
for (; i < 16; i++)
|
||||
dest_colormap[starttranscolor + i] = (UINT8)(208 + ((i-10) >> 1));
|
||||
break;
|
||||
|
||||
case SKINCOLOR_SUPERRED2:
|
||||
for (i = 0; i < 3; i++)
|
||||
dest_colormap[starttranscolor + i] = (UINT8)0;
|
||||
for (; i < 12; i++)
|
||||
dest_colormap[starttranscolor + i] = (UINT8)(208 + ((i-3) / 3));
|
||||
for (; i < 16; i++)
|
||||
dest_colormap[starttranscolor + i] = (UINT8)(32 + ((i-12) >> 1));
|
||||
break;
|
||||
|
||||
case SKINCOLOR_SUPERRED3:
|
||||
for (i = 0; i < 2; i++)
|
||||
dest_colormap[starttranscolor + i] = (UINT8)0;
|
||||
for (; i < 8; i++)
|
||||
dest_colormap[starttranscolor + i] = (UINT8)(208 + ((i-2) >> 1));
|
||||
for (; i < 16; i++)
|
||||
dest_colormap[starttranscolor + i] = (UINT8)(32 + ((i-8) >> 1));
|
||||
break;
|
||||
|
||||
case SKINCOLOR_SUPERRED4:
|
||||
dest_colormap[starttranscolor] = (UINT8)0;
|
||||
for (i = 1; i < 6; i++)
|
||||
dest_colormap[starttranscolor + i] = (UINT8)(208 + (i >> 1));
|
||||
for (; i < 16; i++)
|
||||
dest_colormap[starttranscolor + i] = (UINT8)(32 + ((i-6) >> 1));
|
||||
break;
|
||||
|
||||
case SKINCOLOR_SUPERRED5:
|
||||
dest_colormap[starttranscolor] = (UINT8)208;
|
||||
for (i = 1; i < 4; i++)
|
||||
dest_colormap[starttranscolor + i] = (UINT8)(209 + (i >> 1));
|
||||
for (; i < 16; i++)
|
||||
dest_colormap[starttranscolor + i] = (UINT8)(32 + ((i-4) >> 1));
|
||||
break;
|
||||
|
||||
// Super oranges.
|
||||
case SKINCOLOR_SUPERORANGE1:
|
||||
for (i = 0; i < 10; i++)
|
||||
dest_colormap[starttranscolor + i] = (UINT8)0;
|
||||
dest_colormap[starttranscolor + (i++)] = (UINT8)208;
|
||||
for (; i < 16; i++)
|
||||
dest_colormap[starttranscolor + i] = (UINT8)(48 + (i-11));
|
||||
break;
|
||||
|
||||
case SKINCOLOR_SUPERORANGE2:
|
||||
for (i = 0; i < 4; i++)
|
||||
dest_colormap[starttranscolor + i] = (UINT8)0;
|
||||
for (; i < 6; i++)
|
||||
dest_colormap[starttranscolor + i] = (UINT8)208;
|
||||
for (; i < 16; i++)
|
||||
dest_colormap[starttranscolor + i] = (UINT8)(48 + ((i-6) >> 1));
|
||||
break;
|
||||
|
||||
case SKINCOLOR_SUPERORANGE3:
|
||||
for (i = 0; i < 2; i++)
|
||||
dest_colormap[starttranscolor + i] = (UINT8)0;
|
||||
for (; i < 4; i++)
|
||||
dest_colormap[starttranscolor + i] = (UINT8)208;
|
||||
for (; i < 16; i++)
|
||||
dest_colormap[starttranscolor + i] = (UINT8)(48 + ((i-4) >> 1));
|
||||
break;
|
||||
|
||||
case SKINCOLOR_SUPERORANGE4:
|
||||
dest_colormap[starttranscolor] = (UINT8)0;
|
||||
dest_colormap[starttranscolor + 1] = (UINT8)208;
|
||||
for (i = 2; i < 13; i++)
|
||||
dest_colormap[starttranscolor + i] = (UINT8)(48 + (i-2));
|
||||
for (; i < 16; i++)
|
||||
dest_colormap[starttranscolor + i] = (UINT8)(68 + (i-13));
|
||||
break;
|
||||
|
||||
case SKINCOLOR_SUPERORANGE5:
|
||||
dest_colormap[starttranscolor] = (UINT8)208;
|
||||
for (i = 1; i < 12; i++)
|
||||
dest_colormap[starttranscolor + i] = (UINT8)(48 + (i-1));
|
||||
for (; i < 16; i++)
|
||||
dest_colormap[starttranscolor + i] = (UINT8)(68 + (i-12));
|
||||
break;
|
||||
|
||||
// Super golds.
|
||||
case SKINCOLOR_SUPERGOLD1:
|
||||
for (i = 0; i < 10; i++)
|
||||
dest_colormap[starttranscolor + i] = (UINT8)0; // True white
|
||||
for (; i < 12; i++) // White-yellow fade
|
||||
dest_colormap[starttranscolor + i] = (UINT8)(80);
|
||||
dest_colormap[starttranscolor + i] = (UINT8)80;
|
||||
for (; i < 15; i++) // White-yellow fade
|
||||
dest_colormap[starttranscolor + i] = (UINT8)(81 + (i-12));
|
||||
dest_colormap[starttranscolor + 15] = (UINT8)(72);
|
||||
dest_colormap[starttranscolor + 15] = (UINT8)72;
|
||||
break;
|
||||
|
||||
case SKINCOLOR_SUPER2:
|
||||
// Super Bright
|
||||
case SKINCOLOR_SUPERGOLD2:
|
||||
dest_colormap[starttranscolor] = (UINT8)(0);
|
||||
for (i = 1; i < 4; i++) // White-yellow fade
|
||||
dest_colormap[starttranscolor + i] = (UINT8)(80 + (i-1));
|
||||
for (; i < 6; i++) // Yellow
|
||||
dest_colormap[starttranscolor + i] = (UINT8)(83);
|
||||
dest_colormap[starttranscolor + i] = (UINT8)83;
|
||||
for (; i < 8; i++) // Yellow
|
||||
dest_colormap[starttranscolor + i] = (UINT8)(72);
|
||||
dest_colormap[starttranscolor + i] = (UINT8)72;
|
||||
for (; i < 14; i++) // Yellow
|
||||
dest_colormap[starttranscolor + i] = (UINT8)(73);
|
||||
dest_colormap[starttranscolor + i] = (UINT8)73;
|
||||
for (; i < 16; i++) // With a fine golden finish! :3
|
||||
dest_colormap[starttranscolor + i] = (UINT8)(64 + (i-14));
|
||||
break;
|
||||
|
||||
case SKINCOLOR_SUPER3:
|
||||
// Super Yellow
|
||||
case SKINCOLOR_SUPERGOLD3:
|
||||
for (i = 0; i < 2; i++) // White-yellow fade
|
||||
dest_colormap[starttranscolor + i] = (UINT8)(81 + i);
|
||||
for (; i < 4; i++)
|
||||
dest_colormap[starttranscolor + i] = (UINT8)(83);
|
||||
dest_colormap[starttranscolor + i] = (UINT8)83;
|
||||
for (; i < 6; i++) // Yellow
|
||||
dest_colormap[starttranscolor + i] = (UINT8)(72);
|
||||
dest_colormap[starttranscolor + i] = (UINT8)72;
|
||||
for (; i < 12; i++) // Yellow
|
||||
dest_colormap[starttranscolor + i] = (UINT8)(73);
|
||||
dest_colormap[starttranscolor + i] = (UINT8)73;
|
||||
for (; i < 16; i++) // With a fine golden finish! :3
|
||||
dest_colormap[starttranscolor + i] = (UINT8)(64 + (i-12));
|
||||
break;
|
||||
|
||||
case SKINCOLOR_SUPER4:
|
||||
// "The SSNTails"
|
||||
dest_colormap[starttranscolor] = 83; // Golden shine
|
||||
case SKINCOLOR_SUPERGOLD4: // "The SSNTails"
|
||||
dest_colormap[starttranscolor] = (UINT8)83; // Golden shine
|
||||
for (i = 1; i < 3; i++) // Yellow
|
||||
dest_colormap[starttranscolor + i] = (UINT8)(72);
|
||||
for (; i < 9; i++) // Yellow
|
||||
|
@ -624,30 +771,309 @@ static void R_GenerateTranslationColormap(UINT8 *dest_colormap, INT32 skinnum, U
|
|||
dest_colormap[starttranscolor + i] = (UINT8)(64 + (i-9));
|
||||
break;
|
||||
|
||||
case SKINCOLOR_SUPER5:
|
||||
// Golden Delicious
|
||||
case SKINCOLOR_SUPERGOLD5: // Golden Delicious
|
||||
for (i = 0; i < 2; i++) // Yellow
|
||||
dest_colormap[starttranscolor + i] = (UINT8)(72);
|
||||
for (; i < 8; i++) // Yellow
|
||||
dest_colormap[starttranscolor + i] = (UINT8)(73);
|
||||
for (; i < 15; i++) // With a fine golden finish! :3
|
||||
for (; i < 16; i++) // With a fine golden finish! :3
|
||||
dest_colormap[starttranscolor + i] = (UINT8)(64 + (i-8));
|
||||
dest_colormap[starttranscolor + 15] = (UINT8)63;
|
||||
break;
|
||||
|
||||
// Super Tails and Knuckles, who really should be dummied out by now
|
||||
case SKINCOLOR_TSUPER1:
|
||||
case SKINCOLOR_TSUPER2:
|
||||
case SKINCOLOR_TSUPER3:
|
||||
case SKINCOLOR_TSUPER4:
|
||||
case SKINCOLOR_TSUPER5:
|
||||
case SKINCOLOR_KSUPER1:
|
||||
case SKINCOLOR_KSUPER2:
|
||||
case SKINCOLOR_KSUPER3:
|
||||
case SKINCOLOR_KSUPER4:
|
||||
case SKINCOLOR_KSUPER5:
|
||||
for (i = 0; i < SKIN_RAMP_LENGTH; i++)
|
||||
dest_colormap[starttranscolor + i] = 0xFF;
|
||||
// Super peridots. (nyeheheheh)
|
||||
case SKINCOLOR_SUPERPERIDOT1:
|
||||
for (i = 0; i < 10; i++)
|
||||
dest_colormap[starttranscolor + i] = (UINT8)0;
|
||||
for (; i < 13; i++)
|
||||
dest_colormap[starttranscolor + i] = (UINT8)88;
|
||||
for (; i < 16; i++)
|
||||
dest_colormap[starttranscolor + i] = (UINT8)188;
|
||||
break;
|
||||
|
||||
case SKINCOLOR_SUPERPERIDOT2:
|
||||
dest_colormap[starttranscolor] = (UINT8)(0);
|
||||
for (i = 1; i < 4; i++)
|
||||
dest_colormap[starttranscolor + i] = (UINT8)88;
|
||||
for (; i < 8; i++)
|
||||
dest_colormap[starttranscolor + i] = (UINT8)188;
|
||||
for (; i < 14; i++)
|
||||
dest_colormap[starttranscolor + i] = (UINT8)189;
|
||||
for (; i < 16; i++)
|
||||
dest_colormap[starttranscolor + i] = (UINT8)190;
|
||||
break;
|
||||
|
||||
case SKINCOLOR_SUPERPERIDOT3:
|
||||
for (i = 0; i < 2; i++)
|
||||
dest_colormap[starttranscolor + i] = (UINT8)88;
|
||||
for (; i < 6; i++)
|
||||
dest_colormap[starttranscolor + i] = (UINT8)188;
|
||||
for (; i < 12; i++)
|
||||
dest_colormap[starttranscolor + i] = (UINT8)189;
|
||||
for (; i < 16; i++)
|
||||
dest_colormap[starttranscolor + i] = (UINT8)(190 + ((i-12) >> 1));
|
||||
break;
|
||||
|
||||
case SKINCOLOR_SUPERPERIDOT4:
|
||||
dest_colormap[starttranscolor] = (UINT8)88;
|
||||
for (i = 1; i < 3; i++)
|
||||
dest_colormap[starttranscolor + i] = (UINT8)188;
|
||||
for (; i < 9; i++)
|
||||
dest_colormap[starttranscolor + i] = (UINT8)189;
|
||||
for (; i < 13; i++)
|
||||
dest_colormap[starttranscolor + i] = (UINT8)(190 + ((i-9) >> 1));
|
||||
for (; i < 15; i++)
|
||||
dest_colormap[starttranscolor + i] = (UINT8)94;
|
||||
dest_colormap[starttranscolor + i] = (UINT8)95;
|
||||
break;
|
||||
|
||||
case SKINCOLOR_SUPERPERIDOT5:
|
||||
for (i = 0; i < 2; i++)
|
||||
dest_colormap[starttranscolor + i] = (UINT8)188;
|
||||
for (; i < 8; i++)
|
||||
dest_colormap[starttranscolor + i] = (UINT8)189;
|
||||
for (; i < 12; i++)
|
||||
dest_colormap[starttranscolor + i] = (UINT8)(190 + ((i-8) >> 1));
|
||||
for (; i < 14; i++)
|
||||
dest_colormap[starttranscolor + i] = (UINT8)94;
|
||||
dest_colormap[starttranscolor + (i++)] = (UINT8)95;
|
||||
dest_colormap[starttranscolor + i] = (UINT8)119;
|
||||
break;
|
||||
|
||||
// Super cyans.
|
||||
case SKINCOLOR_SUPERCYAN1:
|
||||
for (i = 0; i < 10; i++)
|
||||
dest_colormap[starttranscolor + i] = (UINT8)0;
|
||||
for (; i < 12; i++)
|
||||
dest_colormap[starttranscolor + i] = (UINT8)128;
|
||||
for (; i < 16; i++)
|
||||
dest_colormap[starttranscolor + i] = (UINT8)(129 + (i-12));
|
||||
break;
|
||||
|
||||
case SKINCOLOR_SUPERCYAN2:
|
||||
dest_colormap[starttranscolor] = (UINT8)0;
|
||||
for (i = 1; i < 4; i++)
|
||||
dest_colormap[starttranscolor + i] = (UINT8)(128 + (i-1));
|
||||
for (; i < 8; i++)
|
||||
dest_colormap[starttranscolor + i] = (UINT8)(131 + ((i-4) >> 1));
|
||||
for (; i < 14; i++)
|
||||
dest_colormap[starttranscolor + i] = (UINT8)133;
|
||||
for (; i < 16; i++)
|
||||
dest_colormap[starttranscolor + i] = (UINT8)134;
|
||||
break;
|
||||
|
||||
case SKINCOLOR_SUPERCYAN3:
|
||||
for (i = 0; i < 2; i++)
|
||||
dest_colormap[starttranscolor + i] = (UINT8)(129 + i);
|
||||
for (; i < 6; i++)
|
||||
dest_colormap[starttranscolor + i] = (UINT8)(131 + ((i-2) >> 1));
|
||||
for (; i < 12; i++)
|
||||
dest_colormap[starttranscolor + i] = (UINT8)133;
|
||||
for (; i < 16; i++)
|
||||
dest_colormap[starttranscolor + i] = (UINT8)(134 + ((i-12) >> 1));
|
||||
break;
|
||||
|
||||
case SKINCOLOR_SUPERCYAN4:
|
||||
dest_colormap[starttranscolor] = (UINT8)131;
|
||||
for (i = 1; i < 3; i++)
|
||||
dest_colormap[starttranscolor + i] = (UINT8)132;
|
||||
for (; i < 9; i++)
|
||||
dest_colormap[starttranscolor + i] = (UINT8)133;
|
||||
for (; i < 13; i++)
|
||||
dest_colormap[starttranscolor + i] = (UINT8)(134 + ((i-9) >> 1));
|
||||
for (; i < 16; i++)
|
||||
dest_colormap[starttranscolor + i] = (UINT8)(136 + (i-13));
|
||||
break;
|
||||
|
||||
case SKINCOLOR_SUPERCYAN5:
|
||||
for (i = 0; i < 2; i++)
|
||||
dest_colormap[starttranscolor + i] = (UINT8)132;
|
||||
for (; i < 8; i++)
|
||||
dest_colormap[starttranscolor + i] = (UINT8)133;
|
||||
for (; i < 12; i++)
|
||||
dest_colormap[starttranscolor + i] = (UINT8)(134 + ((i-8) >> 1));
|
||||
for (; i < 16; i++)
|
||||
dest_colormap[starttranscolor + i] = (UINT8)(136 + (i-12));
|
||||
break;
|
||||
|
||||
// Super purples.
|
||||
case SKINCOLOR_SUPERPURPLE1:
|
||||
for (i = 0; i < 10; i++)
|
||||
dest_colormap[starttranscolor + i] = (UINT8)0;
|
||||
for (; i < 12; i++)
|
||||
dest_colormap[starttranscolor + i] = (UINT8)144;
|
||||
for (; i < 16; i++)
|
||||
dest_colormap[starttranscolor + i] = (UINT8)(160 + (i-12));
|
||||
break;
|
||||
|
||||
case SKINCOLOR_SUPERPURPLE2:
|
||||
dest_colormap[starttranscolor] = (UINT8)0;
|
||||
dest_colormap[starttranscolor + 1] = (UINT8)144;
|
||||
for (i = 2; i < 4; i++)
|
||||
dest_colormap[starttranscolor + i] = (UINT8)(160 + (i-2));
|
||||
for (; i < 8; i++)
|
||||
dest_colormap[starttranscolor + i] = (UINT8)(162 + ((i-4) >> 1));
|
||||
for (; i < 14; i++)
|
||||
dest_colormap[starttranscolor + i] = (UINT8)164;
|
||||
for (; i < 16; i++)
|
||||
dest_colormap[starttranscolor + i] = (UINT8)165;
|
||||
break;
|
||||
|
||||
case SKINCOLOR_SUPERPURPLE3:
|
||||
for (i = 0; i < 2; i++)
|
||||
dest_colormap[starttranscolor + i] = (UINT8)(160 + i);
|
||||
for (; i < 6; i++)
|
||||
dest_colormap[starttranscolor + i] = (UINT8)(162 + ((i-2) >> 1));
|
||||
for (; i < 12; i++)
|
||||
dest_colormap[starttranscolor + i] = (UINT8)164;
|
||||
for (; i < 16; i++)
|
||||
dest_colormap[starttranscolor + i] = (UINT8)(165 + ((i-12) >> 1));
|
||||
break;
|
||||
|
||||
case SKINCOLOR_SUPERPURPLE4:
|
||||
dest_colormap[starttranscolor] = (UINT8)162;
|
||||
for (i = 1; i < 3; i++)
|
||||
dest_colormap[starttranscolor + i] = (UINT8)163;
|
||||
for (; i < 9; i++)
|
||||
dest_colormap[starttranscolor + i] = (UINT8)164;
|
||||
for (; i < 13; i++)
|
||||
dest_colormap[starttranscolor + i] = (UINT8)(165 + ((i-9) >> 1));
|
||||
for (; i < 16; i++)
|
||||
dest_colormap[starttranscolor + i] = (UINT8)(167 + (i-13));
|
||||
break;
|
||||
|
||||
case SKINCOLOR_SUPERPURPLE5:
|
||||
for (i = 0; i < 2; i++)
|
||||
dest_colormap[starttranscolor + i] = (UINT8)163;
|
||||
for (; i < 8; i++)
|
||||
dest_colormap[starttranscolor + i] = (UINT8)164;
|
||||
for (; i < 12; i++)
|
||||
dest_colormap[starttranscolor + i] = (UINT8)(165 + ((i-8) >> 1));
|
||||
for (; i < 15; i++)
|
||||
dest_colormap[starttranscolor + i] = (UINT8)(167 + (i-12));
|
||||
dest_colormap[starttranscolor + i] = (UINT8)253;
|
||||
break;
|
||||
|
||||
// Super rusts.
|
||||
case SKINCOLOR_SUPERRUST1:
|
||||
for (i = 0; i < 2; i++)
|
||||
dest_colormap[starttranscolor + i] = (UINT8)0;
|
||||
for (; i < 5; i++)
|
||||
dest_colormap[starttranscolor + i] = (UINT8)208;
|
||||
for (; i < 7; i++)
|
||||
dest_colormap[starttranscolor + i] = (UINT8)48;
|
||||
for (; i < 10; i++)
|
||||
dest_colormap[starttranscolor + i] = (UINT8)(49 + (i-7));
|
||||
for (; i < 12; i++)
|
||||
dest_colormap[starttranscolor + i] = (UINT8)(55 + ((i-10)*3));
|
||||
for (; i < 16; i++)
|
||||
dest_colormap[starttranscolor + i] = (UINT8)(68 + (i-11));
|
||||
break;
|
||||
|
||||
case SKINCOLOR_SUPERRUST2:
|
||||
for (i = 0; i < 4; i++)
|
||||
dest_colormap[starttranscolor + i] = (UINT8)48;
|
||||
for (; i < 9; i++)
|
||||
dest_colormap[starttranscolor + i] = (UINT8)(49 + (i-4));
|
||||
for (; i < 11; i++)
|
||||
dest_colormap[starttranscolor + i] = (UINT8)(56 + ((i-9)*2));
|
||||
for (; i < 15; i++)
|
||||
dest_colormap[starttranscolor + i] = (UINT8)(68 + (i-11));
|
||||
dest_colormap[starttranscolor + i] = (UINT8)71;
|
||||
break;
|
||||
|
||||
case SKINCOLOR_SUPERRUST3:
|
||||
dest_colormap[starttranscolor] = (UINT8)49;
|
||||
for (i = 1; i < 3; i++)
|
||||
dest_colormap[starttranscolor + i] = (UINT8)50;
|
||||
for (; i < 5; i++)
|
||||
dest_colormap[starttranscolor + i] = (UINT8)(51 + (i-3));
|
||||
for (; i < 8; i++)
|
||||
dest_colormap[starttranscolor + i] = (UINT8)(54 + (i-5));
|
||||
dest_colormap[starttranscolor + (i++)] = (UINT8)58;
|
||||
for (; i < 15; i++)
|
||||
dest_colormap[starttranscolor + i] = (UINT8)(68 + ((i-7) >> 1));
|
||||
dest_colormap[starttranscolor + i] = (UINT8)46;
|
||||
break;
|
||||
|
||||
case SKINCOLOR_SUPERRUST4:
|
||||
dest_colormap[starttranscolor] = (UINT8)83;
|
||||
dest_colormap[starttranscolor + 1] = (UINT8)72;
|
||||
for (i = 2; i < 6; i++)
|
||||
dest_colormap[starttranscolor + i] = (UINT8)(64 + (i-2));
|
||||
for (; i < 14; i++)
|
||||
dest_colormap[starttranscolor + i] = (UINT8)(68 + ((i-6) >> 1));
|
||||
for (; i < 16; i++)
|
||||
dest_colormap[starttranscolor + i] = (UINT8)46;
|
||||
break;
|
||||
|
||||
case SKINCOLOR_SUPERRUST5:
|
||||
for (i = 0; i < 3; i++)
|
||||
dest_colormap[starttranscolor + i] = (UINT8)(64 + i);
|
||||
for (; i < 7; i++)
|
||||
dest_colormap[starttranscolor + i] = (UINT8)(67 + ((i-3) >> 1));
|
||||
for (; i < 12; i++)
|
||||
dest_colormap[starttranscolor + i] = (UINT8)(233 + (i-7));
|
||||
for (; i < 16; i++)
|
||||
dest_colormap[starttranscolor + i] = (UINT8)(238 + ((i-12) >> 1));
|
||||
break;
|
||||
|
||||
case SKINCOLOR_SUPERTAN1:
|
||||
for (i = 0; i < 10; i++)
|
||||
dest_colormap[starttranscolor + i] = (UINT8)0;
|
||||
for (; i < 16; i++)
|
||||
dest_colormap[starttranscolor + i] = (UINT8)(80 + ((i-10) >> 1));
|
||||
break;
|
||||
|
||||
case SKINCOLOR_SUPERTAN2:
|
||||
dest_colormap[starttranscolor] = (UINT8)0;
|
||||
for (i = 1; i < 7; i++)
|
||||
dest_colormap[starttranscolor + i] = (UINT8)(80 + ((i-1) >> 1));
|
||||
dest_colormap[starttranscolor + (i++)] = (UINT8)82;
|
||||
for (; i < 12; i++)
|
||||
dest_colormap[starttranscolor + i] = (UINT8)84;
|
||||
for (; i < 15; i++)
|
||||
dest_colormap[starttranscolor + i] = (UINT8)(85 + (i-12));
|
||||
dest_colormap[starttranscolor + i] = (UINT8)245;
|
||||
break;
|
||||
|
||||
case SKINCOLOR_SUPERTAN3:
|
||||
dest_colormap[starttranscolor] = (UINT8)80;
|
||||
for (i = 1; i < 5; i++)
|
||||
dest_colormap[starttranscolor + i] = (UINT8)(81 + ((i-1) >> 1));
|
||||
dest_colormap[starttranscolor + (i++)] = (UINT8)82;
|
||||
for (; i < 10; i++)
|
||||
dest_colormap[starttranscolor + i] = (UINT8)84;
|
||||
for (; i < 13; i++)
|
||||
dest_colormap[starttranscolor + i] = (UINT8)(85 + (i-10));
|
||||
for (; i < 16; i++)
|
||||
dest_colormap[starttranscolor + i] = (UINT8)(245 + ((i-13)*2));
|
||||
break;
|
||||
|
||||
case SKINCOLOR_SUPERTAN4:
|
||||
dest_colormap[starttranscolor] = (UINT8)81;
|
||||
for (i = 1; i < 5; i++)
|
||||
dest_colormap[starttranscolor + i] = (UINT8)82;
|
||||
for (; i < 8; i++)
|
||||
dest_colormap[starttranscolor + i] = (UINT8)84;
|
||||
for (; i < 11; i++)
|
||||
dest_colormap[starttranscolor + i] = (UINT8)(85 + (i-8));
|
||||
for (; i < 15; i++)
|
||||
dest_colormap[starttranscolor + i] = (UINT8)(245 + ((i-11)*2));
|
||||
dest_colormap[starttranscolor + i] = (UINT8)237;
|
||||
break;
|
||||
|
||||
case SKINCOLOR_SUPERTAN5:
|
||||
for (i = 0; i < 2; i++)
|
||||
dest_colormap[starttranscolor + i] = (UINT8)82;
|
||||
for (; i < 5; i++)
|
||||
dest_colormap[starttranscolor + i] = (UINT8)84;
|
||||
for (; i < 8; i++)
|
||||
dest_colormap[starttranscolor + i] = (UINT8)(85 + (i-5));
|
||||
for (; i < 12; i++)
|
||||
dest_colormap[starttranscolor + i] = (UINT8)(245 + (i-8));
|
||||
for (; i < 15; i++)
|
||||
dest_colormap[starttranscolor + i] = (UINT8)(237 + (i-12));
|
||||
dest_colormap[starttranscolor + i] = (UINT8)239;
|
||||
break;
|
||||
|
||||
default:
|
||||
|
@ -731,6 +1157,17 @@ UINT8 R_GetColorByName(const char *name)
|
|||
return 0;
|
||||
}
|
||||
|
||||
UINT8 R_GetSuperColorByName(const char *name)
|
||||
{
|
||||
UINT8 color = (UINT8)atoi(name);
|
||||
if (color > MAXSKINCOLORS && color < MAXTRANSLATIONS)
|
||||
return color;
|
||||
for (color = 0; color < NUMSUPERCOLORS; color++)
|
||||
if (!stricmp(Color_Names[color + MAXSKINCOLORS], name))
|
||||
return ((color*5) + MAXSKINCOLORS);
|
||||
return 0;
|
||||
}
|
||||
|
||||
// ==========================================================================
|
||||
// COMMON DRAWER FOR 8 AND 16 BIT COLOR MODES
|
||||
// ==========================================================================
|
||||
|
|
|
@ -111,6 +111,7 @@ void R_InitTranslationTables(void);
|
|||
UINT8* R_GetTranslationColormap(INT32 skinnum, skincolors_t color, UINT8 flags);
|
||||
void R_FlushTranslationColormapCache(void);
|
||||
UINT8 R_GetColorByName(const char *name);
|
||||
UINT8 R_GetSuperColorByName(const char *name);
|
||||
|
||||
// Custom player skin translation
|
||||
void R_InitViewBuffer(INT32 width, INT32 height);
|
||||
|
|
|
@ -2288,6 +2288,7 @@ static void Sk_SetDefaultValue(skin_t *skin)
|
|||
|
||||
skin->starttranscolor = 96;
|
||||
skin->prefcolor = SKINCOLOR_GREEN;
|
||||
skin->supercolor = SKINCOLOR_SUPERGOLD1;
|
||||
skin->prefoppositecolor = 0; // use tables
|
||||
|
||||
skin->normalspeed = 36<<FRACBITS;
|
||||
|
@ -2658,6 +2659,8 @@ void R_AddSkins(UINT16 wadnum)
|
|||
GETSKINCOLOR(prefcolor)
|
||||
GETSKINCOLOR(prefoppositecolor)
|
||||
#undef GETSKINCOLOR
|
||||
else if (!stricmp(stoken, "supercolor"))
|
||||
skin->supercolor = R_GetSuperColorByName(value);
|
||||
|
||||
#define GETFLOAT(field) else if (!stricmp(stoken, #field)) skin->field = FLOAT_TO_FIXED(atof(value));
|
||||
GETFLOAT(jumpfactor)
|
||||
|
|
|
@ -103,6 +103,7 @@ typedef struct
|
|||
// Definable color translation table
|
||||
UINT8 starttranscolor;
|
||||
UINT8 prefcolor;
|
||||
UINT8 supercolor;
|
||||
UINT8 prefoppositecolor; // if 0 use tables instead
|
||||
|
||||
fixed_t highresscale; // scale of highres, default is 0.5
|
||||
|
|
|
@ -893,7 +893,7 @@ static void ST_drawFirstPersonHUD(void)
|
|||
// [21:42] <+Rob> Beige - Lavender - Steel Blue - Peach - Orange - Purple - Silver - Yellow - Pink - Red - Blue - Green - Cyan - Gold
|
||||
static skincolors_t linkColor[14] =
|
||||
{SKINCOLOR_BEIGE, SKINCOLOR_LAVENDER, SKINCOLOR_AZURE, SKINCOLOR_PEACH, SKINCOLOR_ORANGE,
|
||||
SKINCOLOR_MAGENTA, SKINCOLOR_SILVER, SKINCOLOR_SUPER4, SKINCOLOR_PINK, SKINCOLOR_RED,
|
||||
SKINCOLOR_MAGENTA, SKINCOLOR_SILVER, SKINCOLOR_SUPERGOLD4, SKINCOLOR_PINK, SKINCOLOR_RED,
|
||||
SKINCOLOR_BLUE, SKINCOLOR_GREEN, SKINCOLOR_CYAN, SKINCOLOR_GOLD};
|
||||
|
||||
static void ST_drawNightsRecords(void)
|
||||
|
@ -1299,7 +1299,7 @@ static void ST_drawNiGHTSHUD(void)
|
|||
nightsnum, SKINCOLOR_RED);
|
||||
else
|
||||
ST_DrawNightsOverlayNum(160 + numbersize, STRINGY(12), SPLITFLAGS(V_SNAPTOTOP), realnightstime,
|
||||
nightsnum, SKINCOLOR_SUPER4);
|
||||
nightsnum, SKINCOLOR_SUPERGOLD4);
|
||||
|
||||
// Show exact time in debug
|
||||
if (cv_debug & DBG_NIGHTSBASIC)
|
||||
|
|
Loading…
Reference in a new issue