mirror of
https://github.com/KartKrewDev/RingRacers.git
synced 2025-10-30 08:01:28 +00:00
More finalized Chaos Emerald visuals
This commit is contained in:
parent
0882fe2b01
commit
0dc0ff8e6f
6 changed files with 145 additions and 116 deletions
116
src/dehacked.c
116
src/dehacked.c
|
|
@ -6269,13 +6269,9 @@ static const char *const STATE_LIST[] = { // array length left dynamic for sanit
|
||||||
"S_EMBLEM26",
|
"S_EMBLEM26",
|
||||||
|
|
||||||
// Chaos Emeralds
|
// Chaos Emeralds
|
||||||
"S_EMERALD_CHAOS1",
|
"S_CHAOSEMERALD1",
|
||||||
"S_EMERALD_CHAOS2",
|
"S_CHAOSEMERALD2",
|
||||||
"S_EMERALD_CHAOS3",
|
"S_CHAOSEMERALD_UNDER",
|
||||||
"S_EMERALD_CHAOS4",
|
|
||||||
"S_EMERALD_CHAOS5",
|
|
||||||
"S_EMERALD_CHAOS6",
|
|
||||||
"S_EMERALD_CHAOS7",
|
|
||||||
|
|
||||||
// Emerald hunt shards
|
// Emerald hunt shards
|
||||||
"S_SHRD1",
|
"S_SHRD1",
|
||||||
|
|
@ -10775,67 +10771,67 @@ static const char *COLOR_ENUMS[] = { // Rejigged for Kart.
|
||||||
|
|
||||||
// Special super colors
|
// Special super colors
|
||||||
// Super Sonic Yellow
|
// Super Sonic Yellow
|
||||||
"SUPER1", // SKINCOLOR_SUPER1
|
"SUPERSILVER1",
|
||||||
"SUPER2", // SKINCOLOR_SUPER2,
|
"SUPERSILVER2",
|
||||||
"SUPER3", // SKINCOLOR_SUPER3,
|
"SUPERSILVER3",
|
||||||
"SUPER4", // SKINCOLOR_SUPER4,
|
"SUPERSILVER4",
|
||||||
"SUPER5", // SKINCOLOR_SUPER5,
|
"SUPERSILVER5",
|
||||||
|
|
||||||
// Super Tails Orange
|
"SUPERRED1",
|
||||||
"TSUPER1", // SKINCOLOR_TSUPER1,
|
"SUPERRED2",
|
||||||
"TSUPER2", // SKINCOLOR_TSUPER2,
|
"SUPERRED3",
|
||||||
"TSUPER3", // SKINCOLOR_TSUPER3,
|
"SUPERRED4",
|
||||||
"TSUPER4", // SKINCOLOR_TSUPER4,
|
"SUPERRED5",
|
||||||
"TSUPER5", // SKINCOLOR_TSUPER5,
|
|
||||||
|
|
||||||
// Super Knuckles Red
|
"SUPERORANGE1",
|
||||||
"KSUPER1", // SKINCOLOR_KSUPER1,
|
"SUPERORANGE2",
|
||||||
"KSUPER2", // SKINCOLOR_KSUPER2,
|
"SUPERORANGE3",
|
||||||
"KSUPER3", // SKINCOLOR_KSUPER3,
|
"SUPERORANGE4",
|
||||||
"KSUPER4", // SKINCOLOR_KSUPER4,
|
"SUPERORANGE5",
|
||||||
"KSUPER5", // SKINCOLOR_KSUPER5,
|
|
||||||
|
|
||||||
// Hyper Sonic Pink
|
"SUPERGOLD1",
|
||||||
"PSUPER1", // SKINCOLOR_PSUPER1,
|
"SUPERGOLD2",
|
||||||
"PSUPER2", // SKINCOLOR_PSUPER2,
|
"SUPERGOLD3",
|
||||||
"PSUPER3", // SKINCOLOR_PSUPER3,
|
"SUPERGOLD4",
|
||||||
"PSUPER4", // SKINCOLOR_PSUPER4,
|
"SUPERGOLD5",
|
||||||
"PSUPER5", // SKINCOLOR_PSUPER5,
|
|
||||||
|
|
||||||
// Hyper Sonic Blue
|
"SUPERPERIDOT1",
|
||||||
"BSUPER1", // SKINCOLOR_BSUPER1,
|
"SUPERPERIDOT2",
|
||||||
"BSUPER2", // SKINCOLOR_BSUPER2,
|
"SUPERPERIDOT3",
|
||||||
"BSUPER3", // SKINCOLOR_BSUPER3,
|
"SUPERPERIDOT4",
|
||||||
"BSUPER4", // SKINCOLOR_BSUPER4,
|
"SUPERPERIDOT5",
|
||||||
"BSUPER5", // SKINCOLOR_BSUPER5,
|
|
||||||
|
|
||||||
// Aqua Super
|
"SUPERSKY1",
|
||||||
"ASUPER1", // SKINCOLOR_ASUPER1,
|
"SUPERSKY2",
|
||||||
"ASUPER2", // SKINCOLOR_ASUPER2,
|
"SUPERSKY3",
|
||||||
"ASUPER3", // SKINCOLOR_ASUPER3,
|
"SUPERSKY4",
|
||||||
"ASUPER4", // SKINCOLOR_ASUPER4,
|
"SUPERSKY5",
|
||||||
"ASUPER5", // SKINCOLOR_ASUPER5,
|
|
||||||
|
|
||||||
// Hyper Sonic Green
|
"SUPERPURPLE1",
|
||||||
"GSUPER1", // SKINCOLOR_GSUPER1,
|
"SUPERPURPLE2",
|
||||||
"GSUPER2", // SKINCOLOR_GSUPER2,
|
"SUPERPURPLE3",
|
||||||
"GSUPER3", // SKINCOLOR_GSUPER3,
|
"SUPERPURPLE4",
|
||||||
"GSUPER4", // SKINCOLOR_GSUPER4,
|
"SUPERPURPLE5",
|
||||||
"GSUPER5", // SKINCOLOR_GSUPER5,
|
|
||||||
|
|
||||||
// Hyper Sonic White
|
"SUPERRUST1",
|
||||||
"WSUPER1", // SKINCOLOR_WSUPER1,
|
"SUPERRUST2",
|
||||||
"WSUPER2", // SKINCOLOR_WSUPER2,
|
"SUPERRUST3",
|
||||||
"WSUPER3", // SKINCOLOR_WSUPER3,
|
"SUPERRUST4",
|
||||||
"WSUPER4", // SKINCOLOR_WSUPER4,
|
"SUPERRUST5",
|
||||||
"WSUPER5", // SKINCOLOR_WSUPER5,
|
|
||||||
|
|
||||||
// Creamy Super (Shadow?)
|
"SUPERTAN1",
|
||||||
"CSUPER1", // SKINCOLOR_CSUPER1,
|
"SUPERTAN2",
|
||||||
"CSUPER2", // SKINCOLOR_CSUPER2,
|
"SUPERTAN3",
|
||||||
"CSUPER3", // SKINCOLOR_CSUPER3,
|
"SUPERTAN4",
|
||||||
"CSUPER4", // SKINCOLOR_CSUPER4,
|
"SUPERTAN5",
|
||||||
"CSUPER5" // SKINCOLOR_CSUPER5,
|
|
||||||
|
"CHAOSEMERALD1",
|
||||||
|
"CHAOSEMERALD2",
|
||||||
|
"CHAOSEMERALD3",
|
||||||
|
"CHAOSEMERALD4",
|
||||||
|
"CHAOSEMERALD5",
|
||||||
|
"CHAOSEMERALD6",
|
||||||
|
"CHAOSEMERALD7"
|
||||||
};
|
};
|
||||||
|
|
||||||
static const char *const POWERS_LIST[] = {
|
static const char *const POWERS_LIST[] = {
|
||||||
|
|
|
||||||
|
|
@ -386,6 +386,14 @@ typedef enum
|
||||||
SKINCOLOR_SUPERTAN4,
|
SKINCOLOR_SUPERTAN4,
|
||||||
SKINCOLOR_SUPERTAN5,
|
SKINCOLOR_SUPERTAN5,
|
||||||
|
|
||||||
|
SKINCOLOR_CHAOSEMERALD1,
|
||||||
|
SKINCOLOR_CHAOSEMERALD2,
|
||||||
|
SKINCOLOR_CHAOSEMERALD3,
|
||||||
|
SKINCOLOR_CHAOSEMERALD4,
|
||||||
|
SKINCOLOR_CHAOSEMERALD5,
|
||||||
|
SKINCOLOR_CHAOSEMERALD6,
|
||||||
|
SKINCOLOR_CHAOSEMERALD7,
|
||||||
|
|
||||||
SKINCOLOR_FIRSTFREESLOT,
|
SKINCOLOR_FIRSTFREESLOT,
|
||||||
SKINCOLOR_LASTFREESLOT = SKINCOLOR_FIRSTFREESLOT + NUMCOLORFREESLOTS - 1,
|
SKINCOLOR_LASTFREESLOT = SKINCOLOR_FIRSTFREESLOT + NUMCOLORFREESLOTS - 1,
|
||||||
|
|
||||||
|
|
|
||||||
48
src/info.c
48
src/info.c
|
|
@ -139,13 +139,7 @@ char sprnames[NUMSPRITES + 1][5] =
|
||||||
"NCHP", // NiGHTS chip
|
"NCHP", // NiGHTS chip
|
||||||
"NSTR", // NiGHTS star
|
"NSTR", // NiGHTS star
|
||||||
"EMBM", // Emblem
|
"EMBM", // Emblem
|
||||||
"EMC1", // Chaos Emeralds
|
"EMRC", // Chaos Emeralds
|
||||||
"EMC2",
|
|
||||||
"EMC3",
|
|
||||||
"EMC4",
|
|
||||||
"EMC5",
|
|
||||||
"EMC6",
|
|
||||||
"EMC7",
|
|
||||||
"SHRD", // Emerald Hunt
|
"SHRD", // Emerald Hunt
|
||||||
|
|
||||||
// Interactive Objects
|
// Interactive Objects
|
||||||
|
|
@ -1907,13 +1901,9 @@ state_t states[NUMSTATES] =
|
||||||
{SPR_EMBM, 25, -1, {NULL}, 0, 0, S_NULL}, // S_EMBLEM26
|
{SPR_EMBM, 25, -1, {NULL}, 0, 0, S_NULL}, // S_EMBLEM26
|
||||||
|
|
||||||
// Chaos Emeralds
|
// Chaos Emeralds
|
||||||
{SPR_EMC1, FF_FULLBRIGHT, -1, {NULL}, 0, 0, S_NULL}, // S_EMERALD_CHAOS1
|
{SPR_EMRC, FF_FULLBRIGHT, 1, {NULL}, 0, 0, S_CHAOSEMERALD2}, // S_CHAOSEMERALD1
|
||||||
{SPR_EMC2, FF_FULLBRIGHT, -1, {NULL}, 0, 0, S_NULL}, // S_EMERALD_CHAOS2
|
{SPR_EMRC, FF_FULLBRIGHT|FF_TRANSADD, 1, {NULL}, 0, 0, S_CHAOSEMERALD1}, // S_CHAOSEMERALD2
|
||||||
{SPR_EMC3, FF_FULLBRIGHT, -1, {NULL}, 0, 0, S_NULL}, // S_EMERALD_CHAOS3
|
{SPR_EMRC, FF_FULLBRIGHT|1, -1, {NULL}, 1, 0, S_NULL}, // S_CHAOSEMERALD_UNDER
|
||||||
{SPR_EMC4, FF_FULLBRIGHT, -1, {NULL}, 0, 0, S_NULL}, // S_EMERALD_CHAOS4
|
|
||||||
{SPR_EMC5, FF_FULLBRIGHT, -1, {NULL}, 0, 0, S_NULL}, // S_EMERALD_CHAOS5
|
|
||||||
{SPR_EMC6, FF_FULLBRIGHT, -1, {NULL}, 0, 0, S_NULL}, // S_EMERALD_CHAOS6
|
|
||||||
{SPR_EMC7, FF_FULLBRIGHT, -1, {NULL}, 0, 0, S_NULL}, // S_EMERALD_CHAOS7
|
|
||||||
|
|
||||||
// Emerald hunt shards
|
// Emerald hunt shards
|
||||||
{SPR_SHRD, 0, -1, {NULL}, 0, 0, S_NULL}, // S_SHRD1
|
{SPR_SHRD, 0, -1, {NULL}, 0, 0, S_NULL}, // S_SHRD1
|
||||||
|
|
@ -3757,14 +3747,14 @@ state_t states[NUMSTATES] =
|
||||||
{SPR_CAPS, 0, -1, {NULL}, 0, 0, S_NULL}, // S_EGGCAPSULE
|
{SPR_CAPS, 0, -1, {NULL}, 0, 0, S_NULL}, // S_EGGCAPSULE
|
||||||
|
|
||||||
// Orbiting Chaos Emeralds/Ideya for NiGHTS
|
// Orbiting Chaos Emeralds/Ideya for NiGHTS
|
||||||
{SPR_EMC1, FF_FULLBRIGHT, 1, {A_OrbitNights}, ANG2*2, 0, S_ORBITEM1}, // S_ORBITEM1
|
{SPR_EMRC, FF_FULLBRIGHT, 1, {A_OrbitNights}, ANG2*2, 0, S_ORBITEM1}, // S_ORBITEM1
|
||||||
{SPR_EMC2, FF_FULLBRIGHT, 1, {A_OrbitNights}, ANG2*2, 0, S_ORBITEM2}, // S_ORBITEM2
|
{SPR_EMRC, FF_FULLBRIGHT, 1, {A_OrbitNights}, ANG2*2, 0, S_ORBITEM2}, // S_ORBITEM2
|
||||||
{SPR_EMC3, FF_FULLBRIGHT, 1, {A_OrbitNights}, ANG2*2, 0, S_ORBITEM3}, // S_ORBITEM3
|
{SPR_EMRC, FF_FULLBRIGHT, 1, {A_OrbitNights}, ANG2*2, 0, S_ORBITEM3}, // S_ORBITEM3
|
||||||
{SPR_EMC4, FF_FULLBRIGHT, 1, {A_OrbitNights}, ANG2*2, 0, S_ORBITEM4}, // S_ORBITEM4
|
{SPR_EMRC, FF_FULLBRIGHT, 1, {A_OrbitNights}, ANG2*2, 0, S_ORBITEM4}, // S_ORBITEM4
|
||||||
{SPR_EMC5, FF_FULLBRIGHT, 1, {A_OrbitNights}, ANG2*2, 0, S_ORBITEM5}, // S_ORBITEM5
|
{SPR_EMRC, FF_FULLBRIGHT, 1, {A_OrbitNights}, ANG2*2, 0, S_ORBITEM5}, // S_ORBITEM5
|
||||||
{SPR_EMC6, FF_FULLBRIGHT, 1, {A_OrbitNights}, ANG2*2, 0, S_ORBITEM6}, // S_ORBITEM6
|
{SPR_EMRC, FF_FULLBRIGHT, 1, {A_OrbitNights}, ANG2*2, 0, S_ORBITEM6}, // S_ORBITEM6
|
||||||
{SPR_EMC7, FF_FULLBRIGHT, 1, {A_OrbitNights}, ANG2*2, 0, S_ORBITEM7}, // S_ORBITEM7
|
{SPR_EMRC, FF_FULLBRIGHT, 1, {A_OrbitNights}, ANG2*2, 0, S_ORBITEM7}, // S_ORBITEM7
|
||||||
{SPR_EMC1, FF_FULLBRIGHT, 1, {A_OrbitNights}, ANG2*2, 0, S_ORBITEM8}, // S_ORBITEM8
|
{SPR_EMRC, FF_FULLBRIGHT, 1, {A_OrbitNights}, ANG2*2, 0, S_ORBITEM8}, // S_ORBITEM8
|
||||||
{SPR_IDYA, FF_TRANS20|FF_FULLBRIGHT, 1, {A_OrbitNights}, ANG2*2, 0, S_ORBIDYA1}, // S_ORBIDYA1
|
{SPR_IDYA, FF_TRANS20|FF_FULLBRIGHT, 1, {A_OrbitNights}, ANG2*2, 0, S_ORBIDYA1}, // S_ORBIDYA1
|
||||||
{SPR_IDYA, FF_TRANS20|FF_FULLBRIGHT|1, 1, {A_OrbitNights}, ANG2*2, 0, S_ORBIDYA2}, // S_ORBIDYA2
|
{SPR_IDYA, FF_TRANS20|FF_FULLBRIGHT|1, 1, {A_OrbitNights}, ANG2*2, 0, S_ORBIDYA2}, // S_ORBIDYA2
|
||||||
{SPR_IDYA, FF_TRANS20|FF_FULLBRIGHT|2, 1, {A_OrbitNights}, ANG2*2, 0, S_ORBIDYA3}, // S_ORBIDYA3
|
{SPR_IDYA, FF_TRANS20|FF_FULLBRIGHT|2, 1, {A_OrbitNights}, ANG2*2, 0, S_ORBIDYA3}, // S_ORBIDYA3
|
||||||
|
|
@ -8237,7 +8227,7 @@ mobjinfo_t mobjinfo[NUMMOBJTYPES] =
|
||||||
|
|
||||||
{ // MT_EMERALD
|
{ // MT_EMERALD
|
||||||
-1, // doomednum
|
-1, // doomednum
|
||||||
S_EMERALD_CHAOS1, // spawnstate
|
S_CHAOSEMERALD1, // spawnstate
|
||||||
1000, // spawnhealth
|
1000, // spawnhealth
|
||||||
S_NULL, // seestate
|
S_NULL, // seestate
|
||||||
sfx_None, // seesound
|
sfx_None, // seesound
|
||||||
|
|
@ -18960,7 +18950,7 @@ mobjinfo_t mobjinfo[NUMMOBJTYPES] =
|
||||||
|
|
||||||
{ // MT_GOTEMERALD
|
{ // MT_GOTEMERALD
|
||||||
-1, // doomednum
|
-1, // doomednum
|
||||||
S_EMERALD_CHAOS1, // spawnstate
|
S_CHAOSEMERALD1, // spawnstate
|
||||||
1000, // spawnhealth
|
1000, // spawnhealth
|
||||||
S_NULL, // seestate
|
S_NULL, // seestate
|
||||||
sfx_None, // seesound
|
sfx_None, // seesound
|
||||||
|
|
@ -28805,7 +28795,15 @@ skincolor_t skincolors[MAXSKINCOLORS] = {
|
||||||
{"Super Tan 2", {0x00, 0x50, 0x50, 0x51, 0x51, 0x52, 0x52, 0x52, 0x54, 0x54, 0x54, 0x54, 0x55, 0x56, 0x57, 0xf5}, SKINCOLOR_BROWN, 13, V_BROWNMAP, false}, // SKINCOLOR_SUPERTAN2
|
{"Super Tan 2", {0x00, 0x50, 0x50, 0x51, 0x51, 0x52, 0x52, 0x52, 0x54, 0x54, 0x54, 0x54, 0x55, 0x56, 0x57, 0xf5}, SKINCOLOR_BROWN, 13, V_BROWNMAP, false}, // SKINCOLOR_SUPERTAN2
|
||||||
{"Super Tan 3", {0x50, 0x51, 0x51, 0x52, 0x52, 0x52, 0x54, 0x54, 0x54, 0x54, 0x55, 0x56, 0x57, 0xf5, 0xf7, 0xf9}, SKINCOLOR_BROWN, 12, V_BROWNMAP, false}, // SKINCOLOR_SUPERTAN3
|
{"Super Tan 3", {0x50, 0x51, 0x51, 0x52, 0x52, 0x52, 0x54, 0x54, 0x54, 0x54, 0x55, 0x56, 0x57, 0xf5, 0xf7, 0xf9}, SKINCOLOR_BROWN, 12, V_BROWNMAP, false}, // SKINCOLOR_SUPERTAN3
|
||||||
{"Super Tan 4", {0x51, 0x52, 0x52, 0x52, 0x52, 0x54, 0x54, 0x54, 0x55, 0x56, 0x57, 0xf5, 0xf7, 0xf9, 0xfb, 0xed}, SKINCOLOR_BROWN, 11, V_BROWNMAP, false}, // SKINCOLOR_SUPERTAN4
|
{"Super Tan 4", {0x51, 0x52, 0x52, 0x52, 0x52, 0x54, 0x54, 0x54, 0x55, 0x56, 0x57, 0xf5, 0xf7, 0xf9, 0xfb, 0xed}, SKINCOLOR_BROWN, 11, V_BROWNMAP, false}, // SKINCOLOR_SUPERTAN4
|
||||||
{"Super Tan 5", {0x52, 0x52, 0x54, 0x54, 0x54, 0x55, 0x56, 0x57, 0xf5, 0xf7, 0xf9, 0xfb, 0xed, 0xee, 0xef, 0xef}, SKINCOLOR_BROWN, 10, V_BROWNMAP, false} // SKINCOLOR_SUPERTAN5
|
{"Super Tan 5", {0x52, 0x52, 0x54, 0x54, 0x54, 0x55, 0x56, 0x57, 0xf5, 0xf7, 0xf9, 0xfb, 0xed, 0xee, 0xef, 0xef}, SKINCOLOR_BROWN, 10, V_BROWNMAP, false}, // SKINCOLOR_SUPERTAN5
|
||||||
|
|
||||||
|
{"Chaos Emerald 1", { 0, 88, 188, 98, 114, 116, 117, 119, 0, 0, 0, 0, 0, 0, 0, 0}, SKINCOLOR_NONE, 0, 0, false}, // SKINCOLOR_CHAOSEMERALD1
|
||||||
|
{"Chaos Emerald 2", { 0, 80, 82, 74, 65, 52, 56, 60, 0, 0, 0, 0, 0, 0, 0, 0}, SKINCOLOR_NONE, 0, 0, false}, // SKINCOLOR_CHAOSEMERALD2
|
||||||
|
{"Chaos Emerald 3", { 0, 252, 201, 179, 182, 183, 185, 187, 0, 0, 0, 0, 0, 0, 0, 0}, SKINCOLOR_NONE, 0, 0, false}, // SKINCOLOR_CHAOSEMERALD3
|
||||||
|
{"Chaos Emerald 4", { 0, 144, 146, 147, 149, 165, 167, 169, 0, 0, 0, 0, 0, 0, 0, 0}, SKINCOLOR_NONE, 0, 0, false}, // SKINCOLOR_CHAOSEMERALD4
|
||||||
|
{"Chaos Emerald 5", { 0, 1, 144, 4, 9, 170, 14, 21, 0, 0, 0, 0, 0, 0, 0, 0}, SKINCOLOR_NONE, 0, 0, false}, // SKINCOLOR_CHAOSEMERALD5
|
||||||
|
{"Chaos Emerald 6", { 0, 208, 50, 32, 34, 37, 40, 44, 0, 0, 0, 0, 0, 0, 0, 0}, SKINCOLOR_NONE, 0, 0, false}, // SKINCOLOR_CHAOSEMERALD6
|
||||||
|
{"Chaos Emerald 7", { 0, 120, 121, 140, 133, 135, 149, 156, 0, 0, 0, 0, 0, 0, 0, 0}, SKINCOLOR_NONE, 0, 0, false} // SKINCOLOR_CHAOSEMERALD7
|
||||||
};
|
};
|
||||||
|
|
||||||
/** Patches the mobjinfo, state, and skincolor tables.
|
/** Patches the mobjinfo, state, and skincolor tables.
|
||||||
|
|
|
||||||
18
src/info.h
18
src/info.h
|
|
@ -410,13 +410,7 @@ typedef enum sprite
|
||||||
SPR_NCHP, // NiGHTS chip
|
SPR_NCHP, // NiGHTS chip
|
||||||
SPR_NSTR, // NiGHTS star
|
SPR_NSTR, // NiGHTS star
|
||||||
SPR_EMBM, // Emblem
|
SPR_EMBM, // Emblem
|
||||||
SPR_EMC1, // Chaos Emeralds
|
SPR_EMRC, // Chaos Emeralds
|
||||||
SPR_EMC2,
|
|
||||||
SPR_EMC3,
|
|
||||||
SPR_EMC4,
|
|
||||||
SPR_EMC5,
|
|
||||||
SPR_EMC6,
|
|
||||||
SPR_EMC7,
|
|
||||||
SPR_SHRD, // Emerald Hunt
|
SPR_SHRD, // Emerald Hunt
|
||||||
|
|
||||||
// Interactive Objects
|
// Interactive Objects
|
||||||
|
|
@ -2122,13 +2116,9 @@ typedef enum state
|
||||||
S_EMBLEM26,
|
S_EMBLEM26,
|
||||||
|
|
||||||
// Chaos Emeralds
|
// Chaos Emeralds
|
||||||
S_EMERALD_CHAOS1,
|
S_CHAOSEMERALD1,
|
||||||
S_EMERALD_CHAOS2,
|
S_CHAOSEMERALD2,
|
||||||
S_EMERALD_CHAOS3,
|
S_CHAOSEMERALD_UNDER,
|
||||||
S_EMERALD_CHAOS4,
|
|
||||||
S_EMERALD_CHAOS5,
|
|
||||||
S_EMERALD_CHAOS6,
|
|
||||||
S_EMERALD_CHAOS7,
|
|
||||||
|
|
||||||
// Emerald hunt shards
|
// Emerald hunt shards
|
||||||
S_SHRD1,
|
S_SHRD1,
|
||||||
|
|
|
||||||
|
|
@ -308,6 +308,7 @@ mobj_t *K_SpawnChaosEmerald(mobj_t *parent, angle_t angle, SINT8 flip, UINT32 em
|
||||||
{
|
{
|
||||||
boolean validEmerald = true;
|
boolean validEmerald = true;
|
||||||
mobj_t *emerald = P_SpawnMobjFromMobj(parent, 0, 0, 0, MT_EMERALD);
|
mobj_t *emerald = P_SpawnMobjFromMobj(parent, 0, 0, 0, MT_EMERALD);
|
||||||
|
mobj_t *overlay;
|
||||||
|
|
||||||
P_Thrust(emerald,
|
P_Thrust(emerald,
|
||||||
FixedAngle(P_RandomFixed() * 180) + angle,
|
FixedAngle(P_RandomFixed() * 180) + angle,
|
||||||
|
|
@ -322,25 +323,25 @@ mobj_t *K_SpawnChaosEmerald(mobj_t *parent, angle_t angle, SINT8 flip, UINT32 em
|
||||||
switch (emeraldType)
|
switch (emeraldType)
|
||||||
{
|
{
|
||||||
case EMERALD_CHAOS1:
|
case EMERALD_CHAOS1:
|
||||||
P_SetMobjState(emerald, S_EMERALD_CHAOS1);
|
emerald->color = SKINCOLOR_CHAOSEMERALD1;
|
||||||
break;
|
break;
|
||||||
case EMERALD_CHAOS2:
|
case EMERALD_CHAOS2:
|
||||||
P_SetMobjState(emerald, S_EMERALD_CHAOS2);
|
emerald->color = SKINCOLOR_CHAOSEMERALD2;
|
||||||
break;
|
break;
|
||||||
case EMERALD_CHAOS3:
|
case EMERALD_CHAOS3:
|
||||||
P_SetMobjState(emerald, S_EMERALD_CHAOS3);
|
emerald->color = SKINCOLOR_CHAOSEMERALD3;
|
||||||
break;
|
break;
|
||||||
case EMERALD_CHAOS4:
|
case EMERALD_CHAOS4:
|
||||||
P_SetMobjState(emerald, S_EMERALD_CHAOS4);
|
emerald->color = SKINCOLOR_CHAOSEMERALD4;
|
||||||
break;
|
break;
|
||||||
case EMERALD_CHAOS5:
|
case EMERALD_CHAOS5:
|
||||||
P_SetMobjState(emerald, S_EMERALD_CHAOS5);
|
emerald->color = SKINCOLOR_CHAOSEMERALD5;
|
||||||
break;
|
break;
|
||||||
case EMERALD_CHAOS6:
|
case EMERALD_CHAOS6:
|
||||||
P_SetMobjState(emerald, S_EMERALD_CHAOS6);
|
emerald->color = SKINCOLOR_CHAOSEMERALD6;
|
||||||
break;
|
break;
|
||||||
case EMERALD_CHAOS7:
|
case EMERALD_CHAOS7:
|
||||||
P_SetMobjState(emerald, S_EMERALD_CHAOS7);
|
emerald->color = SKINCOLOR_CHAOSEMERALD7;
|
||||||
break;
|
break;
|
||||||
default:
|
default:
|
||||||
CONS_Printf("Invalid emerald type %d\n", emeraldType);
|
CONS_Printf("Invalid emerald type %d\n", emeraldType);
|
||||||
|
|
@ -353,6 +354,11 @@ mobj_t *K_SpawnChaosEmerald(mobj_t *parent, angle_t angle, SINT8 flip, UINT32 em
|
||||||
emerald->extravalue1 = emeraldType;
|
emerald->extravalue1 = emeraldType;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
overlay = P_SpawnMobjFromMobj(emerald, 0, 0, 0, MT_OVERLAY);
|
||||||
|
P_SetTarget(&overlay->target, emerald);
|
||||||
|
P_SetMobjState(overlay, S_CHAOSEMERALD_UNDER);
|
||||||
|
overlay->color = emerald->color;
|
||||||
|
|
||||||
return emerald;
|
return emerald;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
||||||
51
src/k_hud.c
51
src/k_hud.c
|
|
@ -88,7 +88,7 @@ static patch_t *kp_rankbumper;
|
||||||
static patch_t *kp_tinybumper[2];
|
static patch_t *kp_tinybumper[2];
|
||||||
static patch_t *kp_ranknobumpers;
|
static patch_t *kp_ranknobumpers;
|
||||||
static patch_t *kp_rankcapsule;
|
static patch_t *kp_rankcapsule;
|
||||||
static patch_t *kp_rankemeralds[7];
|
static patch_t *kp_rankemerald;
|
||||||
|
|
||||||
static patch_t *kp_battlewin;
|
static patch_t *kp_battlewin;
|
||||||
static patch_t *kp_battlecool;
|
static patch_t *kp_battlecool;
|
||||||
|
|
@ -351,13 +351,7 @@ void K_LoadKartHUDGraphics(void)
|
||||||
kp_tinybumper[1] = W_CachePatchName("K_BLNB", PU_HUDGFX);
|
kp_tinybumper[1] = W_CachePatchName("K_BLNB", PU_HUDGFX);
|
||||||
kp_ranknobumpers = W_CachePatchName("K_NOBLNS", PU_HUDGFX);
|
kp_ranknobumpers = W_CachePatchName("K_NOBLNS", PU_HUDGFX);
|
||||||
kp_rankcapsule = W_CachePatchName("K_CAPICO", PU_HUDGFX);
|
kp_rankcapsule = W_CachePatchName("K_CAPICO", PU_HUDGFX);
|
||||||
|
kp_rankemerald = W_CachePatchName("K_EMERC", PU_HUDGFX);
|
||||||
sprintf(buffer, "K_EMERCx");
|
|
||||||
for (i = 0; i < 7; i++)
|
|
||||||
{
|
|
||||||
buffer[7] = '0'+(i+1);
|
|
||||||
kp_rankemeralds[i] = (patch_t *) W_CachePatchName(buffer, PU_HUDGFX);
|
|
||||||
}
|
|
||||||
|
|
||||||
// Battle graphics
|
// Battle graphics
|
||||||
kp_battlewin = W_CachePatchName("K_BWIN", PU_HUDGFX);
|
kp_battlewin = W_CachePatchName("K_BWIN", PU_HUDGFX);
|
||||||
|
|
@ -1633,10 +1627,12 @@ static boolean K_drawKartPositionFaces(void)
|
||||||
for (j = 0; j < 7; j++)
|
for (j = 0; j < 7; j++)
|
||||||
{
|
{
|
||||||
UINT32 emeraldFlag = (1 << j);
|
UINT32 emeraldFlag = (1 << j);
|
||||||
|
UINT16 emeraldColor = SKINCOLOR_CHAOSEMERALD1 + j;
|
||||||
|
|
||||||
if (players[rankplayer[i]].powers[pw_emeralds] & emeraldFlag)
|
if (players[rankplayer[i]].powers[pw_emeralds] & emeraldFlag)
|
||||||
{
|
{
|
||||||
V_DrawScaledPatch(emeraldx, Y+7, V_HUDTRANS|V_SLIDEIN|V_SNAPTOLEFT, kp_rankemeralds[j]);
|
colormap = R_GetTranslationColormap(TC_DEFAULT, emeraldColor, GTC_CACHE);
|
||||||
|
V_DrawMappedPatch(emeraldx, Y+7, V_HUDTRANS|V_SLIDEIN|V_SNAPTOLEFT, kp_rankemerald, colormap);
|
||||||
emeraldx += 7;
|
emeraldx += 7;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
@ -1661,6 +1657,41 @@ static boolean K_drawKartPositionFaces(void)
|
||||||
return false;
|
return false;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
static void K_drawKartEmeralds(void)
|
||||||
|
{
|
||||||
|
static const INT32 emeraldOffsets[7][2] = {
|
||||||
|
{27, 0},
|
||||||
|
{18, 15},
|
||||||
|
{36, 15},
|
||||||
|
{9, 0},
|
||||||
|
{45, 0},
|
||||||
|
{0, 15},
|
||||||
|
{54, 15}
|
||||||
|
};
|
||||||
|
|
||||||
|
const INT32 startx = BASEVIDWIDTH - 88;
|
||||||
|
const INT32 starty = BASEVIDHEIGHT - 32;
|
||||||
|
|
||||||
|
UINT8 *colormap;
|
||||||
|
INT32 i;
|
||||||
|
|
||||||
|
for (i = 0; i < 7; i++)
|
||||||
|
{
|
||||||
|
UINT32 emeraldFlag = (1 << i);
|
||||||
|
UINT16 emeraldColor = SKINCOLOR_CHAOSEMERALD1 + i;
|
||||||
|
|
||||||
|
if (stplyr->powers[pw_emeralds] & emeraldFlag)
|
||||||
|
{
|
||||||
|
colormap = R_GetTranslationColormap(TC_DEFAULT, emeraldColor, GTC_CACHE);
|
||||||
|
V_DrawMappedPatch(
|
||||||
|
startx + emeraldOffsets[i][0], starty + emeraldOffsets[i][1],
|
||||||
|
V_HUDTRANS|V_SLIDEIN|V_SNAPTOBOTTOM|V_SNAPTORIGHT,
|
||||||
|
kp_rankemerald, colormap
|
||||||
|
);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
//
|
//
|
||||||
// HU_DrawTabRankings -- moved here to take advantage of kart stuff!
|
// HU_DrawTabRankings -- moved here to take advantage of kart stuff!
|
||||||
//
|
//
|
||||||
|
|
@ -4137,6 +4168,6 @@ void K_drawKartHUD(void)
|
||||||
|
|
||||||
if (gametype == GT_BATTLE)
|
if (gametype == GT_BATTLE)
|
||||||
{
|
{
|
||||||
V_DrawRightAlignedString(BASEVIDWIDTH - 10, BASEVIDHEIGHT - 18, V_SPLITSCREEN|V_SNAPTOBOTTOM|V_SNAPTORIGHT, va("Emeralds: %d / 7", K_NumEmeralds(stplyr)));
|
K_drawKartEmeralds();
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
|
||||||
Loading…
Add table
Reference in a new issue