mirror of
https://git.do.srb2.org/KartKrew/Kart-Public.git
synced 2025-01-08 10:50:42 +00:00
Merge remote-tracking branch 'remotes/pub/next' into followme
# Conflicts: # src/dehacked.c # src/info.c # src/info.h
This commit is contained in:
commit
b216f743e2
22 changed files with 519 additions and 145 deletions
|
@ -354,6 +354,7 @@ typedef enum
|
||||||
k_getsparks, // Disable drift sparks at low speed, JUST enough to give acceleration the actual headstart above speed
|
k_getsparks, // Disable drift sparks at low speed, JUST enough to give acceleration the actual headstart above speed
|
||||||
k_jawztargetdelay, // Delay for Jawz target switching, to make it less twitchy
|
k_jawztargetdelay, // Delay for Jawz target switching, to make it less twitchy
|
||||||
k_spectatewait, // How long have you been waiting as a spectator
|
k_spectatewait, // How long have you been waiting as a spectator
|
||||||
|
k_growcancel, // Hold the item button down to cancel Grow
|
||||||
|
|
||||||
NUMKARTSTUFF
|
NUMKARTSTUFF
|
||||||
} kartstufftype_t;
|
} kartstufftype_t;
|
||||||
|
|
|
@ -7393,6 +7393,13 @@ static const char *const STATE_LIST[] = { // array length left dynamic for sanit
|
||||||
"S_KARMAFIREWORK4",
|
"S_KARMAFIREWORK4",
|
||||||
"S_KARMAFIREWORKTRAIL",
|
"S_KARMAFIREWORKTRAIL",
|
||||||
|
|
||||||
|
// Opaque smoke version, to prevent lag
|
||||||
|
"S_OPAQUESMOKE1",
|
||||||
|
"S_OPAQUESMOKE2",
|
||||||
|
"S_OPAQUESMOKE3",
|
||||||
|
"S_OPAQUESMOKE4",
|
||||||
|
"S_OPAQUESMOKE5",
|
||||||
|
|
||||||
"S_GCHAOIDLE",
|
"S_GCHAOIDLE",
|
||||||
"S_GCHAOFLY",
|
"S_GCHAOFLY",
|
||||||
"S_GCHAOSAD1",
|
"S_GCHAOSAD1",
|
||||||
|
@ -8407,6 +8414,8 @@ 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
|
||||||
|
"FAIRY", // SKINCOLOR_FAIRY
|
||||||
|
"POPCORN", // SKINCOLOR_POPCORN
|
||||||
"SEPIA", // SKINCOLOR_SEPIA
|
"SEPIA", // SKINCOLOR_SEPIA
|
||||||
"BEIGE", // SKINCOLOR_BEIGE
|
"BEIGE", // SKINCOLOR_BEIGE
|
||||||
"BROWN", // SKINCOLOR_BROWN
|
"BROWN", // SKINCOLOR_BROWN
|
||||||
|
@ -8414,15 +8423,18 @@ static const char *COLOR_ENUMS[] = { // Rejigged for Kart.
|
||||||
"SALMON", // SKINCOLOR_SALMON
|
"SALMON", // SKINCOLOR_SALMON
|
||||||
"PINK", // SKINCOLOR_PINK
|
"PINK", // SKINCOLOR_PINK
|
||||||
"ROSE", // SKINCOLOR_ROSE
|
"ROSE", // SKINCOLOR_ROSE
|
||||||
|
"BRICK", // SKINCOLOR_BRICK
|
||||||
"RUBY", // SKINCOLOR_RUBY
|
"RUBY", // SKINCOLOR_RUBY
|
||||||
"RASPBERRY", // SKINCOLOR_RASPBERRY
|
"RASPBERRY", // SKINCOLOR_RASPBERRY
|
||||||
"CHERRY", // SKINCOLOR_CHERRY
|
"CHERRY", // SKINCOLOR_CHERRY
|
||||||
"RED", // SKINCOLOR_RED
|
"RED", // SKINCOLOR_RED
|
||||||
"SCARLET", // SKINCOLOR_SCARLET
|
|
||||||
"CRIMSON", // SKINCOLOR_CRIMSON
|
"CRIMSON", // SKINCOLOR_CRIMSON
|
||||||
"NOVA", // SKINCOLOR_NOVA
|
"MAROON", // SKINCOLOR_MAROON
|
||||||
|
"FLAME", // SKINCOLOR_FLAME
|
||||||
|
"SCARLET", // SKINCOLOR_SCARLET
|
||||||
"KETCHUP", // SKINCOLOR_KETCHUP
|
"KETCHUP", // SKINCOLOR_KETCHUP
|
||||||
"DAWN", // SKINCOLOR_DAWN
|
"DAWN", // SKINCOLOR_DAWN
|
||||||
|
"SUNSET", // SKINCOLOR_SUNSET
|
||||||
"CREAMSICLE", // SKINCOLOR_CREAMSICLE
|
"CREAMSICLE", // SKINCOLOR_CREAMSICLE
|
||||||
"ORANGE", // SKINCOLOR_ORANGE
|
"ORANGE", // SKINCOLOR_ORANGE
|
||||||
"PUMPKIN", // SKINCOLOR_PUMPKIN
|
"PUMPKIN", // SKINCOLOR_PUMPKIN
|
||||||
|
@ -8433,6 +8445,7 @@ static const char *COLOR_ENUMS[] = { // Rejigged for Kart.
|
||||||
"CARAMEL", // SKINCOLOR_CARAMEL
|
"CARAMEL", // SKINCOLOR_CARAMEL
|
||||||
"CREAM", // SKINCOLOR_CREAM
|
"CREAM", // SKINCOLOR_CREAM
|
||||||
"GOLD", // SKINCOLOR_GOLD
|
"GOLD", // SKINCOLOR_GOLD
|
||||||
|
"ROYAL", // SKINCOLOR_ROYAL
|
||||||
"BRONZE", // SKINCOLOR_BRONZE
|
"BRONZE", // SKINCOLOR_BRONZE
|
||||||
"COPPER", // SKINCOLOR_COPPER
|
"COPPER", // SKINCOLOR_COPPER
|
||||||
"YELLOW", // SKINCOLOR_YELLOW
|
"YELLOW", // SKINCOLOR_YELLOW
|
||||||
|
@ -8444,35 +8457,45 @@ static const char *COLOR_ENUMS[] = { // Rejigged for Kart.
|
||||||
"HANDHELD", // SKINCOLOR_HANDHELD
|
"HANDHELD", // SKINCOLOR_HANDHELD
|
||||||
"TEA", // SKINCOLOR_TEA
|
"TEA", // SKINCOLOR_TEA
|
||||||
"PISTACHIO", // SKINCOLOR_PISTACHIO
|
"PISTACHIO", // SKINCOLOR_PISTACHIO
|
||||||
"ROBOHOOD", // SKINCOLOR_ROBOHOOD
|
|
||||||
"MOSS", // SKINCOLOR_MOSS
|
"MOSS", // SKINCOLOR_MOSS
|
||||||
|
"CAMOUFLAGE", // SKINCOLOR_CAMOUFLAGE
|
||||||
|
"ROBOHOOD", // SKINCOLOR_ROBOHOOD
|
||||||
"MINT", // SKINCOLOR_MINT
|
"MINT", // SKINCOLOR_MINT
|
||||||
"GREEN", // SKINCOLOR_GREEN
|
"GREEN", // SKINCOLOR_GREEN
|
||||||
"PINETREE", // SKINCOLOR_PINETREE
|
"PINETREE", // SKINCOLOR_PINETREE
|
||||||
"EMERALD", // SKINCOLOR_EMERALD
|
"EMERALD", // SKINCOLOR_EMERALD
|
||||||
"SWAMP", // SKINCOLOR_SWAMP
|
"SWAMP", // SKINCOLOR_SWAMP
|
||||||
"DREAM", // SKINCOLOR_DREAM
|
"DREAM", // SKINCOLOR_DREAM
|
||||||
|
"PLAGUE", // SKINCOLOR_PLAGUE
|
||||||
"ALGAE", // SKINCOLOR_ALGAE
|
"ALGAE", // SKINCOLOR_ALGAE
|
||||||
|
"CARIBBEAN", // SKINCOLOR_CARIBBEAN
|
||||||
"AQUA", // SKINCOLOR_AQUA
|
"AQUA", // SKINCOLOR_AQUA
|
||||||
"TEAL", // SKINCOLOR_TEAL
|
"TEAL", // SKINCOLOR_TEAL
|
||||||
"CYAN", // SKINCOLOR_CYAN
|
"CYAN", // SKINCOLOR_CYAN
|
||||||
"JAWZ", // SKINCOLOR_JAWZ
|
"JAWZ", // SKINCOLOR_JAWZ
|
||||||
"CERULEAN", // SKINCOLOR_CERULEAN
|
"CERULEAN", // SKINCOLOR_CERULEAN
|
||||||
"NAVY", // SKINCOLOR_NAVY
|
"NAVY", // SKINCOLOR_NAVY
|
||||||
|
"PLATINUM", // SKINCOLOR_PLATINUM
|
||||||
"SLATE", // SKINCOLOR_SLATE
|
"SLATE", // SKINCOLOR_SLATE
|
||||||
"STEEL", // SKINCOLOR_STEEL
|
"STEEL", // SKINCOLOR_STEEL
|
||||||
|
"RUST", // SKINCOLOR_RUST
|
||||||
"JET", // SKINCOLOR_JET
|
"JET", // SKINCOLOR_JET
|
||||||
"SAPPHIRE", // SKINCOLOR_SAPPHIRE
|
"SAPPHIRE", // SKINCOLOR_SAPPHIRE
|
||||||
"PERIWINKLE", // SKINCOLOR_PERIWINKLE
|
"PERIWINKLE", // SKINCOLOR_PERIWINKLE
|
||||||
"BLUE", // SKINCOLOR_BLUE
|
"BLUE", // SKINCOLOR_BLUE
|
||||||
"BLUEBERRY", // SKINCOLOR_BLUEBERRY
|
"BLUEBERRY", // SKINCOLOR_BLUEBERRY
|
||||||
|
"NOVA", // SKINCOLOR_NOVA
|
||||||
"PASTEL", // SKINCOLOR_PASTEL
|
"PASTEL", // SKINCOLOR_PASTEL
|
||||||
|
"MOONSLAM", // SKINCOLOR_MOONSLAM
|
||||||
|
"ULTRAVIOLET", // SKINCOLOR_ULTRAVIOLET
|
||||||
"DUSK", // SKINCOLOR_DUSK
|
"DUSK", // SKINCOLOR_DUSK
|
||||||
|
"BUBBLEGUM", // SKINCOLOR_BUBBLEGUM
|
||||||
"PURPLE", // SKINCOLOR_PURPLE
|
"PURPLE", // SKINCOLOR_PURPLE
|
||||||
"FUCHSIA", // SKINCOLOR_FUCHSIA
|
"FUCHSIA", // SKINCOLOR_FUCHSIA
|
||||||
"TOXIC", // SKINCOLOR_TOXIC
|
"TOXIC", // SKINCOLOR_TOXIC
|
||||||
"LAVENDER", // SKINCOLOR_LAVENDER
|
"LAVENDER", // SKINCOLOR_LAVENDER
|
||||||
"BYZANTIUM", // SKINCOLOR_BYZANTIUM
|
"BYZANTIUM", // SKINCOLOR_BYZANTIUM
|
||||||
|
"MAUVE", // SKINCOLOR_MAUVE
|
||||||
"POMEGRANATE", // SKINCOLOR_POMEGRANATE
|
"POMEGRANATE", // SKINCOLOR_POMEGRANATE
|
||||||
"LILAC", // SKINCOLOR_LILAC
|
"LILAC", // SKINCOLOR_LILAC
|
||||||
|
|
||||||
|
@ -8507,6 +8530,12 @@ static const char *COLOR_ENUMS[] = { // Rejigged for Kart.
|
||||||
"BSUPER3", // SKINCOLOR_BSUPER3,
|
"BSUPER3", // SKINCOLOR_BSUPER3,
|
||||||
"BSUPER4", // SKINCOLOR_BSUPER4,
|
"BSUPER4", // SKINCOLOR_BSUPER4,
|
||||||
"BSUPER5" // SKINCOLOR_BSUPER5,
|
"BSUPER5" // SKINCOLOR_BSUPER5,
|
||||||
|
// Aqua Super
|
||||||
|
"ASUPER1", // SKINCOLOR_ASUPER1,
|
||||||
|
"ASUPER2", // SKINCOLOR_ASUPER2,
|
||||||
|
"ASUPER3", // SKINCOLOR_ASUPER3,
|
||||||
|
"ASUPER4", // SKINCOLOR_ASUPER4,
|
||||||
|
"ASUPER5", // SKINCOLOR_ASUPER5,
|
||||||
// Hyper Sonic Green
|
// Hyper Sonic Green
|
||||||
"GSUPER1", // SKINCOLOR_GSUPER1,
|
"GSUPER1", // SKINCOLOR_GSUPER1,
|
||||||
"GSUPER2", // SKINCOLOR_GSUPER2,
|
"GSUPER2", // SKINCOLOR_GSUPER2,
|
||||||
|
@ -8524,13 +8553,7 @@ static const char *COLOR_ENUMS[] = { // Rejigged for Kart.
|
||||||
"CSUPER2", // SKINCOLOR_CSUPER2,
|
"CSUPER2", // SKINCOLOR_CSUPER2,
|
||||||
"CSUPER3", // SKINCOLOR_CSUPER3,
|
"CSUPER3", // SKINCOLOR_CSUPER3,
|
||||||
"CSUPER4", // SKINCOLOR_CSUPER4,
|
"CSUPER4", // SKINCOLOR_CSUPER4,
|
||||||
"CSUPER5", // SKINCOLOR_CSUPER5,
|
"CSUPER5" // SKINCOLOR_CSUPER5,
|
||||||
// Aqua Super
|
|
||||||
"ASUPER1", // SKINCOLOR_ASUPER1,
|
|
||||||
"ASUPER2", // SKINCOLOR_ASUPER2,
|
|
||||||
"ASUPER3", // SKINCOLOR_ASUPER3,
|
|
||||||
"ASUPER4", // SKINCOLOR_ASUPER4,
|
|
||||||
"ASUPER5" // SKINCOLOR_ASUPER5,
|
|
||||||
};
|
};
|
||||||
|
|
||||||
static const char *const POWERS_LIST[] = {
|
static const char *const POWERS_LIST[] = {
|
||||||
|
@ -8650,7 +8673,8 @@ static const char *const KARTSTUFF_LIST[] = {
|
||||||
"ITEMBLINKMODE",
|
"ITEMBLINKMODE",
|
||||||
"GETSPARKS",
|
"GETSPARKS",
|
||||||
"JAWZTARGETDELAY",
|
"JAWZTARGETDELAY",
|
||||||
"SPECTATEWAIT"
|
"SPECTATEWAIT",
|
||||||
|
"GROWCANCEL"
|
||||||
};
|
};
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
|
@ -10154,6 +10178,9 @@ static inline int lib_getenum(lua_State *L)
|
||||||
} else if (fastcmp(word,"indirectitemcooldown")) {
|
} else if (fastcmp(word,"indirectitemcooldown")) {
|
||||||
lua_pushinteger(L, indirectitemcooldown);
|
lua_pushinteger(L, indirectitemcooldown);
|
||||||
return 1;
|
return 1;
|
||||||
|
} else if (fastcmp(word,"hyubgone")) {
|
||||||
|
lua_pushinteger(L, hyubgone);
|
||||||
|
return 1;
|
||||||
} else if (fastcmp(word,"thwompsactive")) {
|
} else if (fastcmp(word,"thwompsactive")) {
|
||||||
lua_pushboolean(L, thwompsactive);
|
lua_pushboolean(L, thwompsactive);
|
||||||
return 1;
|
return 1;
|
||||||
|
|
|
@ -256,6 +256,8 @@ typedef enum
|
||||||
SKINCOLOR_GREY,
|
SKINCOLOR_GREY,
|
||||||
SKINCOLOR_NICKEL,
|
SKINCOLOR_NICKEL,
|
||||||
SKINCOLOR_BLACK,
|
SKINCOLOR_BLACK,
|
||||||
|
SKINCOLOR_POPCORN,
|
||||||
|
SKINCOLOR_FAIRY,
|
||||||
SKINCOLOR_SEPIA,
|
SKINCOLOR_SEPIA,
|
||||||
SKINCOLOR_BEIGE,
|
SKINCOLOR_BEIGE,
|
||||||
SKINCOLOR_BROWN,
|
SKINCOLOR_BROWN,
|
||||||
|
@ -263,15 +265,18 @@ typedef enum
|
||||||
SKINCOLOR_SALMON,
|
SKINCOLOR_SALMON,
|
||||||
SKINCOLOR_PINK,
|
SKINCOLOR_PINK,
|
||||||
SKINCOLOR_ROSE,
|
SKINCOLOR_ROSE,
|
||||||
|
SKINCOLOR_BRICK,
|
||||||
SKINCOLOR_RUBY,
|
SKINCOLOR_RUBY,
|
||||||
SKINCOLOR_RASPBERRY,
|
SKINCOLOR_RASPBERRY,
|
||||||
SKINCOLOR_CHERRY,
|
SKINCOLOR_CHERRY,
|
||||||
SKINCOLOR_RED,
|
SKINCOLOR_RED,
|
||||||
SKINCOLOR_SCARLET,
|
|
||||||
SKINCOLOR_CRIMSON,
|
SKINCOLOR_CRIMSON,
|
||||||
SKINCOLOR_NOVA,
|
SKINCOLOR_MAROON,
|
||||||
|
SKINCOLOR_FLAME,
|
||||||
|
SKINCOLOR_SCARLET,
|
||||||
SKINCOLOR_KETCHUP,
|
SKINCOLOR_KETCHUP,
|
||||||
SKINCOLOR_DAWN,
|
SKINCOLOR_DAWN,
|
||||||
|
SKINCOLOR_SUNSET,
|
||||||
SKINCOLOR_CREAMSICLE,
|
SKINCOLOR_CREAMSICLE,
|
||||||
SKINCOLOR_ORANGE,
|
SKINCOLOR_ORANGE,
|
||||||
SKINCOLOR_PUMPKIN,
|
SKINCOLOR_PUMPKIN,
|
||||||
|
@ -282,6 +287,7 @@ typedef enum
|
||||||
SKINCOLOR_CARAMEL,
|
SKINCOLOR_CARAMEL,
|
||||||
SKINCOLOR_CREAM,
|
SKINCOLOR_CREAM,
|
||||||
SKINCOLOR_GOLD,
|
SKINCOLOR_GOLD,
|
||||||
|
SKINCOLOR_ROYAL,
|
||||||
SKINCOLOR_BRONZE,
|
SKINCOLOR_BRONZE,
|
||||||
SKINCOLOR_COPPER,
|
SKINCOLOR_COPPER,
|
||||||
SKINCOLOR_YELLOW,
|
SKINCOLOR_YELLOW,
|
||||||
|
@ -293,39 +299,50 @@ typedef enum
|
||||||
SKINCOLOR_HANDHELD,
|
SKINCOLOR_HANDHELD,
|
||||||
SKINCOLOR_TEA,
|
SKINCOLOR_TEA,
|
||||||
SKINCOLOR_PISTACHIO,
|
SKINCOLOR_PISTACHIO,
|
||||||
SKINCOLOR_ROBOHOOD,
|
|
||||||
SKINCOLOR_MOSS,
|
SKINCOLOR_MOSS,
|
||||||
|
SKINCOLOR_CAMOUFLAGE,
|
||||||
|
SKINCOLOR_ROBOHOOD,
|
||||||
SKINCOLOR_MINT,
|
SKINCOLOR_MINT,
|
||||||
SKINCOLOR_GREEN,
|
SKINCOLOR_GREEN,
|
||||||
SKINCOLOR_PINETREE,
|
SKINCOLOR_PINETREE,
|
||||||
SKINCOLOR_EMERALD,
|
SKINCOLOR_EMERALD,
|
||||||
SKINCOLOR_SWAMP,
|
SKINCOLOR_SWAMP,
|
||||||
SKINCOLOR_DREAM,
|
SKINCOLOR_DREAM,
|
||||||
|
SKINCOLOR_PLAGUE,
|
||||||
SKINCOLOR_ALGAE,
|
SKINCOLOR_ALGAE,
|
||||||
|
SKINCOLOR_CARIBBEAN,
|
||||||
SKINCOLOR_AQUA,
|
SKINCOLOR_AQUA,
|
||||||
SKINCOLOR_TEAL,
|
SKINCOLOR_TEAL,
|
||||||
SKINCOLOR_CYAN,
|
SKINCOLOR_CYAN,
|
||||||
SKINCOLOR_JAWZ, // Oni's torment
|
SKINCOLOR_JAWZ, // Oni's torment
|
||||||
SKINCOLOR_CERULEAN,
|
SKINCOLOR_CERULEAN,
|
||||||
SKINCOLOR_NAVY,
|
SKINCOLOR_NAVY,
|
||||||
|
SKINCOLOR_PLATINUM,
|
||||||
SKINCOLOR_SLATE,
|
SKINCOLOR_SLATE,
|
||||||
SKINCOLOR_STEEL,
|
SKINCOLOR_STEEL,
|
||||||
|
SKINCOLOR_RUST,
|
||||||
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_PERIWINKLE,
|
SKINCOLOR_PERIWINKLE,
|
||||||
SKINCOLOR_BLUE,
|
SKINCOLOR_BLUE,
|
||||||
SKINCOLOR_BLUEBERRY,
|
SKINCOLOR_BLUEBERRY,
|
||||||
|
SKINCOLOR_NOVA,
|
||||||
SKINCOLOR_PASTEL,
|
SKINCOLOR_PASTEL,
|
||||||
|
SKINCOLOR_MOONSLAM,
|
||||||
|
SKINCOLOR_ULTRAVIOLET,
|
||||||
SKINCOLOR_DUSK,
|
SKINCOLOR_DUSK,
|
||||||
|
SKINCOLOR_BUBBLEGUM,
|
||||||
SKINCOLOR_PURPLE,
|
SKINCOLOR_PURPLE,
|
||||||
SKINCOLOR_FUCHSIA,
|
SKINCOLOR_FUCHSIA,
|
||||||
SKINCOLOR_TOXIC,
|
SKINCOLOR_TOXIC,
|
||||||
|
SKINCOLOR_MAUVE,
|
||||||
SKINCOLOR_LAVENDER,
|
SKINCOLOR_LAVENDER,
|
||||||
SKINCOLOR_BYZANTIUM,
|
SKINCOLOR_BYZANTIUM,
|
||||||
SKINCOLOR_POMEGRANATE,
|
SKINCOLOR_POMEGRANATE,
|
||||||
SKINCOLOR_LILAC,
|
SKINCOLOR_LILAC,
|
||||||
|
|
||||||
// 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.)
|
||||||
MAXSKINCOLORS,
|
MAXSKINCOLORS,
|
||||||
|
|
||||||
// Super special awesome Super flashing colors!
|
// Super special awesome Super flashing colors!
|
||||||
|
@ -364,6 +381,13 @@ typedef enum
|
||||||
SKINCOLOR_BSUPER4,
|
SKINCOLOR_BSUPER4,
|
||||||
SKINCOLOR_BSUPER5,
|
SKINCOLOR_BSUPER5,
|
||||||
|
|
||||||
|
// Aqua Super
|
||||||
|
SKINCOLOR_ASUPER1,
|
||||||
|
SKINCOLOR_ASUPER2,
|
||||||
|
SKINCOLOR_ASUPER3,
|
||||||
|
SKINCOLOR_ASUPER4,
|
||||||
|
SKINCOLOR_ASUPER5,
|
||||||
|
|
||||||
// Hyper Sonic Green
|
// Hyper Sonic Green
|
||||||
SKINCOLOR_GSUPER1,
|
SKINCOLOR_GSUPER1,
|
||||||
SKINCOLOR_GSUPER2,
|
SKINCOLOR_GSUPER2,
|
||||||
|
@ -385,13 +409,6 @@ typedef enum
|
||||||
SKINCOLOR_CSUPER4,
|
SKINCOLOR_CSUPER4,
|
||||||
SKINCOLOR_CSUPER5,
|
SKINCOLOR_CSUPER5,
|
||||||
|
|
||||||
// Aqua Super
|
|
||||||
SKINCOLOR_ASUPER1,
|
|
||||||
SKINCOLOR_ASUPER2,
|
|
||||||
SKINCOLOR_ASUPER3,
|
|
||||||
SKINCOLOR_ASUPER4,
|
|
||||||
SKINCOLOR_ASUPER5,
|
|
||||||
|
|
||||||
MAXTRANSLATIONS
|
MAXTRANSLATIONS
|
||||||
} skincolors_t;
|
} skincolors_t;
|
||||||
|
|
||||||
|
@ -524,13 +541,17 @@ INT32 I_GetKey(void);
|
||||||
#define max(x, y) (((x) > (y)) ? (x) : (y))
|
#define max(x, y) (((x) > (y)) ? (x) : (y))
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
|
#ifndef M_PIl
|
||||||
|
#define M_PIl 3.1415926535897932384626433832795029L
|
||||||
|
#endif
|
||||||
|
|
||||||
// Floating point comparison epsilons from float.h
|
// Floating point comparison epsilons from float.h
|
||||||
#ifndef FLT_EPSILON
|
#ifndef FLT_EPSILON
|
||||||
#define FLT_EPSILON 1.1920928955078125e-7f
|
#define FLT_EPSILON 1.1920928955078125e-7f
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
#ifndef DBL_EPSILON
|
#ifndef DBL_EPSILON
|
||||||
#define DBL_EPSILON 2.2204460492503131e-16
|
#define DBL_EPSILON 2.2204460492503131e-16l
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
// An assert-type mechanism.
|
// An assert-type mechanism.
|
||||||
|
|
|
@ -468,6 +468,7 @@ extern boolean comeback;
|
||||||
extern SINT8 battlewanted[4];
|
extern SINT8 battlewanted[4];
|
||||||
extern tic_t wantedcalcdelay;
|
extern tic_t wantedcalcdelay;
|
||||||
extern tic_t indirectitemcooldown;
|
extern tic_t indirectitemcooldown;
|
||||||
|
extern tic_t hyubgone;
|
||||||
extern tic_t mapreset;
|
extern tic_t mapreset;
|
||||||
extern UINT8 nospectategrief;
|
extern UINT8 nospectategrief;
|
||||||
extern boolean thwompsactive;
|
extern boolean thwompsactive;
|
||||||
|
|
|
@ -267,6 +267,7 @@ SINT8 pickedvote; // What vote the host rolls
|
||||||
SINT8 battlewanted[4]; // WANTED players in battle, worth x2 points
|
SINT8 battlewanted[4]; // WANTED players in battle, worth x2 points
|
||||||
tic_t wantedcalcdelay; // Time before it recalculates WANTED
|
tic_t wantedcalcdelay; // Time before it recalculates WANTED
|
||||||
tic_t indirectitemcooldown; // Cooldown before any more Shrink, SPB, or any other item that works indirectly is awarded
|
tic_t indirectitemcooldown; // Cooldown before any more Shrink, SPB, or any other item that works indirectly is awarded
|
||||||
|
tic_t hyubgone; // Cooldown before hyudoro is allowed to be rerolled
|
||||||
tic_t mapreset; // Map reset delay when enough players have joined an empty game
|
tic_t mapreset; // Map reset delay when enough players have joined an empty game
|
||||||
UINT8 nospectategrief; // How many players need to be in-game to eliminate last; for preventing spectate griefing
|
UINT8 nospectategrief; // How many players need to be in-game to eliminate last; for preventing spectate griefing
|
||||||
boolean thwompsactive; // Thwomps activate on lap 2
|
boolean thwompsactive; // Thwomps activate on lap 2
|
||||||
|
|
|
@ -201,7 +201,7 @@ static polyvertex_t *fracdivline(fdivline_t *bsp, polyvertex_t *v1,
|
||||||
// (do not accept hit with the extensions)
|
// (do not accept hit with the extensions)
|
||||||
num = (v2x - v1x)*v2dy + (v1y - v2y)*v2dx;
|
num = (v2x - v1x)*v2dy + (v1y - v2y)*v2dx;
|
||||||
frac = num / den;
|
frac = num / den;
|
||||||
if (frac < 0.0 || frac > 1.0)
|
if (frac < 0.0l || frac > 1.0l)
|
||||||
return NULL;
|
return NULL;
|
||||||
|
|
||||||
// now get the frac along the BSP line
|
// now get the frac along the BSP line
|
||||||
|
|
|
@ -61,9 +61,6 @@ typedef void (*I_Error_t) (const char *error, ...) FUNCIERROR;
|
||||||
// ==========================================================================
|
// ==========================================================================
|
||||||
|
|
||||||
// Constants
|
// Constants
|
||||||
#ifndef M_PIl
|
|
||||||
#define M_PIl 3.1415926535897932384626433832795029L
|
|
||||||
#endif
|
|
||||||
#define DEGREE (0.017453292519943295769236907684883l) // 2*PI/360
|
#define DEGREE (0.017453292519943295769236907684883l) // 2*PI/360
|
||||||
|
|
||||||
void DBG_Printf(const char *lpFmt, ...) /*FUNCPRINTF*/;
|
void DBG_Printf(const char *lpFmt, ...) /*FUNCPRINTF*/;
|
||||||
|
|
|
@ -2088,7 +2088,7 @@ EXPORT void HWRAPI(SetTransform) (FTransform *stransform)
|
||||||
pglLoadIdentity();
|
pglLoadIdentity();
|
||||||
if (special_splitscreen)
|
if (special_splitscreen)
|
||||||
{
|
{
|
||||||
used_fov = atan(tan(used_fov*M_PIl/360)*0.8)*360/M_PIl;
|
used_fov = atan(tan(used_fov*M_PIl/360.0l)*0.8l)*360/M_PIl;
|
||||||
GLPerspective(used_fov, 2*ASPECT_RATIO);
|
GLPerspective(used_fov, 2*ASPECT_RATIO);
|
||||||
}
|
}
|
||||||
else
|
else
|
||||||
|
|
163
src/hu_stuff.c
163
src/hu_stuff.c
|
@ -778,44 +778,139 @@ static void Got_Saycmd(UINT8 **p, INT32 playernum)
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
else
|
else
|
||||||
{
|
{
|
||||||
const UINT8 color = players[playernum].skincolor;
|
const UINT8 color = players[playernum].skincolor;
|
||||||
|
|
||||||
cstart = "\x83";
|
cstart = "\x83";
|
||||||
|
|
||||||
if (color <= SKINCOLOR_SILVER || color == SKINCOLOR_SLATE)
|
switch (color)
|
||||||
cstart = "\x80"; // white
|
{
|
||||||
else if (color <= SKINCOLOR_BLACK || color == SKINCOLOR_JET)
|
case SKINCOLOR_WHITE:
|
||||||
cstart = "\x86"; // V_GRAYMAP
|
case SKINCOLOR_SILVER:
|
||||||
else if (color <= SKINCOLOR_LEATHER)
|
case SKINCOLOR_SLATE:
|
||||||
cstart = "\x8e"; // V_BROWNMAP
|
cstart = "\x80"; // White
|
||||||
else if (color <= SKINCOLOR_ROSE || color == SKINCOLOR_LILAC)
|
break;
|
||||||
cstart = "\x8d"; // V_PINKMAP
|
case SKINCOLOR_GREY:
|
||||||
else if (color <= SKINCOLOR_KETCHUP)
|
case SKINCOLOR_NICKEL:
|
||||||
cstart = "\x85"; // V_REDMAP
|
case SKINCOLOR_BLACK:
|
||||||
else if (color <= SKINCOLOR_TANGERINE)
|
case SKINCOLOR_JET:
|
||||||
cstart = "\x87"; // V_ORANGEMAP
|
cstart = "\x86"; // V_GRAYMAP
|
||||||
else if (color <= SKINCOLOR_CREAM)
|
break;
|
||||||
cstart = "\x8f"; // V_PEACHMAP
|
case SKINCOLOR_SEPIA:
|
||||||
else if (color <= SKINCOLOR_COPPER)
|
case SKINCOLOR_BEIGE:
|
||||||
cstart = "\x8A"; // V_GOLDMAP
|
case SKINCOLOR_BROWN:
|
||||||
else if (color <= SKINCOLOR_OLIVE)
|
case SKINCOLOR_LEATHER:
|
||||||
cstart = "\x82"; // V_YELLOWMAP
|
case SKINCOLOR_RUST:
|
||||||
else if (color <= SKINCOLOR_PISTACHIO)
|
cstart = "\x8e"; // V_BROWNMAP
|
||||||
cstart = "\x8b"; // V_TEAMAP
|
break;
|
||||||
else if (color <= SKINCOLOR_ALGAE || color == SKINCOLOR_LIME || color == SKINCOLOR_HANDHELD)
|
case SKINCOLOR_FAIRY:
|
||||||
cstart = "\x83"; // V_GREENMAP
|
case SKINCOLOR_SALMON:
|
||||||
else if (color <= SKINCOLOR_NAVY || color == SKINCOLOR_SAPPHIRE)
|
case SKINCOLOR_PINK:
|
||||||
cstart = "\x88"; // V_SKYMAP
|
case SKINCOLOR_ROSE:
|
||||||
else if (color <= SKINCOLOR_STEEL)
|
case SKINCOLOR_BRICK:
|
||||||
cstart = "\x8c"; // V_STEELMAP
|
case SKINCOLOR_BUBBLEGUM:
|
||||||
else if (color <= SKINCOLOR_BLUEBERRY)
|
case SKINCOLOR_LILAC:
|
||||||
cstart = "\x84"; // V_BLUEMAP
|
cstart = "\x8d"; // V_PINKMAP
|
||||||
else if (color == SKINCOLOR_PURPLE)
|
break;
|
||||||
cstart = "\x81"; // V_PURPLEMAP
|
case SKINCOLOR_RUBY:
|
||||||
else //if (color <= SKINCOLOR_POMEGRANATE)
|
case SKINCOLOR_RASPBERRY:
|
||||||
cstart = "\x89"; // V_LAVENDERMAP
|
case SKINCOLOR_CHERRY:
|
||||||
}
|
case SKINCOLOR_RED:
|
||||||
|
case SKINCOLOR_CRIMSON:
|
||||||
|
case SKINCOLOR_MAROON:
|
||||||
|
case SKINCOLOR_FLAME:
|
||||||
|
case SKINCOLOR_SCARLET:
|
||||||
|
case SKINCOLOR_KETCHUP:
|
||||||
|
cstart = "\x85"; // V_REDMAP
|
||||||
|
break;
|
||||||
|
case SKINCOLOR_DAWN:
|
||||||
|
case SKINCOLOR_SUNSET:
|
||||||
|
case SKINCOLOR_CREAMSICLE:
|
||||||
|
case SKINCOLOR_ORANGE:
|
||||||
|
case SKINCOLOR_PUMPKIN:
|
||||||
|
case SKINCOLOR_ROSEWOOD:
|
||||||
|
case SKINCOLOR_BURGUNDY:
|
||||||
|
case SKINCOLOR_TANGERINE:
|
||||||
|
cstart = "\x87"; // V_ORANGEMAP
|
||||||
|
break;
|
||||||
|
case SKINCOLOR_PEACH:
|
||||||
|
case SKINCOLOR_CARAMEL:
|
||||||
|
case SKINCOLOR_CREAM:
|
||||||
|
cstart = "\x8f"; // V_PEACHMAP
|
||||||
|
break;
|
||||||
|
case SKINCOLOR_GOLD:
|
||||||
|
case SKINCOLOR_ROYAL:
|
||||||
|
case SKINCOLOR_BRONZE:
|
||||||
|
case SKINCOLOR_COPPER:
|
||||||
|
cstart = "\x8A"; // V_GOLDMAP
|
||||||
|
break;
|
||||||
|
case SKINCOLOR_POPCORN:
|
||||||
|
case SKINCOLOR_YELLOW:
|
||||||
|
case SKINCOLOR_MUSTARD:
|
||||||
|
case SKINCOLOR_OLIVE:
|
||||||
|
cstart = "\x82"; // V_YELLOWMAP
|
||||||
|
break;
|
||||||
|
case SKINCOLOR_VOMIT:
|
||||||
|
case SKINCOLOR_GARDEN:
|
||||||
|
case SKINCOLOR_TEA:
|
||||||
|
case SKINCOLOR_PISTACHIO:
|
||||||
|
cstart = "\x8b"; // V_TEAMAP
|
||||||
|
break;
|
||||||
|
case SKINCOLOR_LIME:
|
||||||
|
case SKINCOLOR_HANDHELD:
|
||||||
|
case SKINCOLOR_MOSS:
|
||||||
|
case SKINCOLOR_CAMOUFLAGE:
|
||||||
|
case SKINCOLOR_ROBOHOOD:
|
||||||
|
case SKINCOLOR_MINT:
|
||||||
|
case SKINCOLOR_GREEN:
|
||||||
|
case SKINCOLOR_PINETREE:
|
||||||
|
case SKINCOLOR_EMERALD:
|
||||||
|
case SKINCOLOR_SWAMP:
|
||||||
|
case SKINCOLOR_DREAM:
|
||||||
|
case SKINCOLOR_PLAGUE:
|
||||||
|
case SKINCOLOR_ALGAE:
|
||||||
|
cstart = "\x83"; // V_GREENMAP
|
||||||
|
break;
|
||||||
|
case SKINCOLOR_CARIBBEAN:
|
||||||
|
case SKINCOLOR_AQUA:
|
||||||
|
case SKINCOLOR_TEAL:
|
||||||
|
case SKINCOLOR_CYAN:
|
||||||
|
case SKINCOLOR_JAWZ:
|
||||||
|
case SKINCOLOR_CERULEAN:
|
||||||
|
case SKINCOLOR_NAVY:
|
||||||
|
case SKINCOLOR_SAPPHIRE:
|
||||||
|
cstart = "\x88"; // V_SKYMAP
|
||||||
|
break;
|
||||||
|
case SKINCOLOR_PLATINUM:
|
||||||
|
case SKINCOLOR_STEEL:
|
||||||
|
cstart = "\x8c"; // V_STEELMAP
|
||||||
|
break;
|
||||||
|
case SKINCOLOR_PERIWINKLE:
|
||||||
|
case SKINCOLOR_BLUE:
|
||||||
|
case SKINCOLOR_BLUEBERRY:
|
||||||
|
case SKINCOLOR_NOVA:
|
||||||
|
cstart = "\x84"; // V_BLUEMAP
|
||||||
|
break;
|
||||||
|
case SKINCOLOR_ULTRAVIOLET:
|
||||||
|
case SKINCOLOR_PURPLE:
|
||||||
|
case SKINCOLOR_FUCHSIA:
|
||||||
|
cstart = "\x81"; // V_PURPLEMAP
|
||||||
|
break;
|
||||||
|
case SKINCOLOR_PASTEL:
|
||||||
|
case SKINCOLOR_MOONSLAM:
|
||||||
|
case SKINCOLOR_DUSK:
|
||||||
|
case SKINCOLOR_TOXIC:
|
||||||
|
case SKINCOLOR_MAUVE:
|
||||||
|
case SKINCOLOR_LAVENDER:
|
||||||
|
case SKINCOLOR_BYZANTIUM:
|
||||||
|
case SKINCOLOR_POMEGRANATE:
|
||||||
|
cstart = "\x89"; // V_LAVENDERMAP
|
||||||
|
break;
|
||||||
|
default:
|
||||||
|
break;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
prefix = cstart;
|
prefix = cstart;
|
||||||
|
|
||||||
// Give admins and remote admins their symbols.
|
// Give admins and remote admins their symbols.
|
||||||
|
|
19
src/info.c
19
src/info.c
|
@ -3140,11 +3140,11 @@ state_t states[NUMSTATES] =
|
||||||
{SPR_NULL, 0, 1, {A_FZBoomSmoke}, 1, 0, S_FZEROBOOM12}, // S_FZEROBOOM11
|
{SPR_NULL, 0, 1, {A_FZBoomSmoke}, 1, 0, S_FZEROBOOM12}, // S_FZEROBOOM11
|
||||||
{SPR_NULL, 0, 1, {A_FZBoomSmoke}, 0, 0, S_NULL}, // S_FZEROBOOM12
|
{SPR_NULL, 0, 1, {A_FZBoomSmoke}, 0, 0, S_NULL}, // S_FZEROBOOM12
|
||||||
|
|
||||||
{SPR_SMOK, FF_TRANS30, 30, {NULL}, 0, 0, S_FZSLOWSMOKE2}, // S_FZSLOWSMOKE1
|
{SPR_SMOK, 0, 30, {NULL}, 0, 0, S_FZSLOWSMOKE2}, // S_FZSLOWSMOKE1
|
||||||
{SPR_SMOK, FF_TRANS30|1, 30, {NULL}, 0, 0, S_FZSLOWSMOKE3}, // S_FZSLOWSMOKE2
|
{SPR_SMOK, 1, 30, {NULL}, 0, 0, S_FZSLOWSMOKE3}, // S_FZSLOWSMOKE2
|
||||||
{SPR_SMOK, FF_TRANS30|2, 30, {NULL}, 0, 0, S_FZSLOWSMOKE4}, // S_FZSLOWSMOKE3
|
{SPR_SMOK, 2, 30, {NULL}, 0, 0, S_FZSLOWSMOKE4}, // S_FZSLOWSMOKE3
|
||||||
{SPR_SMOK, FF_TRANS30|3, 30, {NULL}, 0, 0, S_FZSLOWSMOKE5}, // S_FZSLOWSMOKE4
|
{SPR_SMOK, 3, 30, {NULL}, 0, 0, S_FZSLOWSMOKE5}, // S_FZSLOWSMOKE4
|
||||||
{SPR_SMOK, FF_TRANS30|4, 30, {NULL}, 0, 0, S_NULL}, // S_FZSLOWSMOKE5
|
{SPR_SMOK, 4, 30, {NULL}, 0, 0, S_NULL}, // S_FZSLOWSMOKE5
|
||||||
|
|
||||||
// Various plants
|
// Various plants
|
||||||
{SPR_SBUS, 0, -1, {NULL}, 0, 0, S_NULL}, // S_SONICBUSH
|
{SPR_SBUS, 0, -1, {NULL}, 0, 0, S_NULL}, // S_SONICBUSH
|
||||||
|
@ -3394,6 +3394,13 @@ state_t states[NUMSTATES] =
|
||||||
{SPR_FWRK, 3|FF_FULLBRIGHT, 2, {NULL}, 0, 0, S_KARMAFIREWORK1}, // S_KARMAFIREWORK4
|
{SPR_FWRK, 3|FF_FULLBRIGHT, 2, {NULL}, 0, 0, S_KARMAFIREWORK1}, // S_KARMAFIREWORK4
|
||||||
{SPR_FWRK, 4|FF_FULLBRIGHT, TICRATE, {NULL}, 0, 0, S_NULL}, // S_KARMAFIREWORKTRAIL
|
{SPR_FWRK, 4|FF_FULLBRIGHT, TICRATE, {NULL}, 0, 0, S_NULL}, // S_KARMAFIREWORKTRAIL
|
||||||
|
|
||||||
|
// Opaque smoke
|
||||||
|
{SPR_SMOK, 0, 4, {NULL}, 0, 0, S_OPAQUESMOKE2}, // S_OPAQUESMOKE1
|
||||||
|
{SPR_SMOK, 1, 5, {NULL}, 0, 0, S_OPAQUESMOKE3}, // S_OPAQUESMOKE2
|
||||||
|
{SPR_SMOK, 2, 6, {NULL}, 0, 0, S_OPAQUESMOKE4}, // S_OPAQUESMOKE3
|
||||||
|
{SPR_SMOK, 3, 7, {NULL}, 0, 0, S_OPAQUESMOKE5}, // S_OPAQUESMOKE4
|
||||||
|
{SPR_SMOK, 4, 8, {NULL}, 0, 0, S_NULL}, // S_OPAQUESMOKE5
|
||||||
|
|
||||||
// followers:
|
// followers:
|
||||||
|
|
||||||
// generic chao:
|
// generic chao:
|
||||||
|
@ -15600,7 +15607,7 @@ mobjinfo_t mobjinfo[NUMMOBJTYPES] =
|
||||||
1, // spawnhealth
|
1, // spawnhealth
|
||||||
S_NULL, // seestate
|
S_NULL, // seestate
|
||||||
sfx_tossed, // seesound
|
sfx_tossed, // seesound
|
||||||
6*TICRATE, // reactiontime
|
0, // reactiontime
|
||||||
sfx_None, // attacksound
|
sfx_None, // attacksound
|
||||||
S_NULL, // painstate
|
S_NULL, // painstate
|
||||||
192*FRACUNIT, // painchance
|
192*FRACUNIT, // painchance
|
||||||
|
|
|
@ -4055,6 +4055,12 @@ typedef enum state
|
||||||
S_KARMAFIREWORK4,
|
S_KARMAFIREWORK4,
|
||||||
S_KARMAFIREWORKTRAIL,
|
S_KARMAFIREWORKTRAIL,
|
||||||
|
|
||||||
|
S_OPAQUESMOKE1,
|
||||||
|
S_OPAQUESMOKE2,
|
||||||
|
S_OPAQUESMOKE3,
|
||||||
|
S_OPAQUESMOKE4,
|
||||||
|
S_OPAQUESMOKE5,
|
||||||
|
|
||||||
// followers:
|
// followers:
|
||||||
|
|
||||||
// generic chao:
|
// generic chao:
|
||||||
|
|
303
src/k_kart.c
303
src/k_kart.c
|
@ -49,6 +49,8 @@ const char *KartColor_Names[MAXSKINCOLORS] =
|
||||||
"Grey", // SKINCOLOR_GREY
|
"Grey", // SKINCOLOR_GREY
|
||||||
"Nickel", // SKINCOLOR_NICKEL
|
"Nickel", // SKINCOLOR_NICKEL
|
||||||
"Black", // SKINCOLOR_BLACK
|
"Black", // SKINCOLOR_BLACK
|
||||||
|
"Fairy", // SKINCOLOR_FAIRY
|
||||||
|
"Popcorn", // SKINCOLOR_POPCORN
|
||||||
"Sepia", // SKINCOLOR_SEPIA
|
"Sepia", // SKINCOLOR_SEPIA
|
||||||
"Beige", // SKINCOLOR_BEIGE
|
"Beige", // SKINCOLOR_BEIGE
|
||||||
"Brown", // SKINCOLOR_BROWN
|
"Brown", // SKINCOLOR_BROWN
|
||||||
|
@ -56,15 +58,18 @@ const char *KartColor_Names[MAXSKINCOLORS] =
|
||||||
"Salmon", // SKINCOLOR_SALMON
|
"Salmon", // SKINCOLOR_SALMON
|
||||||
"Pink", // SKINCOLOR_PINK
|
"Pink", // SKINCOLOR_PINK
|
||||||
"Rose", // SKINCOLOR_ROSE
|
"Rose", // SKINCOLOR_ROSE
|
||||||
|
"Brick", // SKINCOLOR_BRICK
|
||||||
"Ruby", // SKINCOLOR_RUBY
|
"Ruby", // SKINCOLOR_RUBY
|
||||||
"Raspberry", // SKINCOLOR_RASPBERRY
|
"Raspberry", // SKINCOLOR_RASPBERRY
|
||||||
"Cherry", // SKINCOLOR_CHERRY
|
"Cherry", // SKINCOLOR_CHERRY
|
||||||
"Red", // SKINCOLOR_RED
|
"Red", // SKINCOLOR_RED
|
||||||
"Scarlet", // SKINCOLOR_SCARLET
|
|
||||||
"Crimson", // SKINCOLOR_CRIMSON
|
"Crimson", // SKINCOLOR_CRIMSON
|
||||||
"Nova", // SKINCOLOR_NOVA
|
"Maroon", // SKINCOLOR_MAROON
|
||||||
|
"Flame", // SKINCOLOR_FLAME
|
||||||
|
"Scarlet", // SKINCOLOR_SCARLET
|
||||||
"Ketchup", // SKINCOLOR_KETCHUP
|
"Ketchup", // SKINCOLOR_KETCHUP
|
||||||
"Dawn", // SKINCOLOR_DAWN
|
"Dawn", // SKINCOLOR_DAWN
|
||||||
|
"Sunset", // SKINCOLOR_SUNSET
|
||||||
"Creamsicle", // SKINCOLOR_CREAMSICLE
|
"Creamsicle", // SKINCOLOR_CREAMSICLE
|
||||||
"Orange", // SKINCOLOR_ORANGE
|
"Orange", // SKINCOLOR_ORANGE
|
||||||
"Pumpkin", // SKINCOLOR_PUMPKIN
|
"Pumpkin", // SKINCOLOR_PUMPKIN
|
||||||
|
@ -75,6 +80,7 @@ const char *KartColor_Names[MAXSKINCOLORS] =
|
||||||
"Caramel", // SKINCOLOR_CARAMEL
|
"Caramel", // SKINCOLOR_CARAMEL
|
||||||
"Cream", // SKINCOLOR_CREAM
|
"Cream", // SKINCOLOR_CREAM
|
||||||
"Gold", // SKINCOLOR_GOLD
|
"Gold", // SKINCOLOR_GOLD
|
||||||
|
"Royal", // SKINCOLOR_ROYAL
|
||||||
"Bronze", // SKINCOLOR_BRONZE
|
"Bronze", // SKINCOLOR_BRONZE
|
||||||
"Copper", // SKINCOLOR_COPPER
|
"Copper", // SKINCOLOR_COPPER
|
||||||
"Yellow", // SKINCOLOR_YELLOW
|
"Yellow", // SKINCOLOR_YELLOW
|
||||||
|
@ -86,33 +92,43 @@ const char *KartColor_Names[MAXSKINCOLORS] =
|
||||||
"Handheld", // SKINCOLOR_HANDHELD
|
"Handheld", // SKINCOLOR_HANDHELD
|
||||||
"Tea", // SKINCOLOR_TEA
|
"Tea", // SKINCOLOR_TEA
|
||||||
"Pistachio", // SKINCOLOR_PISTACHIO
|
"Pistachio", // SKINCOLOR_PISTACHIO
|
||||||
"Robo-Hood", // SKINCOLOR_ROBOHOOD
|
|
||||||
"Moss", // SKINCOLOR_MOSS
|
"Moss", // SKINCOLOR_MOSS
|
||||||
|
"Camouflage", // SKINCOLOR_CAMOUFLAGE
|
||||||
|
"Robo-Hood", // SKINCOLOR_ROBOHOOD
|
||||||
"Mint", // SKINCOLOR_MINT
|
"Mint", // SKINCOLOR_MINT
|
||||||
"Green", // SKINCOLOR_GREEN
|
"Green", // SKINCOLOR_GREEN
|
||||||
"Pinetree", // SKINCOLOR_PINETREE
|
"Pinetree", // SKINCOLOR_PINETREE
|
||||||
"Emerald", // SKINCOLOR_EMERALD
|
"Emerald", // SKINCOLOR_EMERALD
|
||||||
"Swamp", // SKINCOLOR_SWAMP
|
"Swamp", // SKINCOLOR_SWAMP
|
||||||
"Dream", // SKINCOLOR_DREAM
|
"Dream", // SKINCOLOR_DREAM
|
||||||
|
"Plague", // SKINCOLOR_PLAGUE
|
||||||
"Algae", // SKINCOLOR_ALGAE
|
"Algae", // SKINCOLOR_ALGAE
|
||||||
|
"Caribbean", // SKINCOLOR_CARIBBEAN
|
||||||
"Aqua", // SKINCOLOR_AQUA
|
"Aqua", // SKINCOLOR_AQUA
|
||||||
"Teal", // SKINCOLOR_TEAL
|
"Teal", // SKINCOLOR_TEAL
|
||||||
"Cyan", // SKINCOLOR_CYAN
|
"Cyan", // SKINCOLOR_CYAN
|
||||||
"Jawz", // SKINCOLOR_JAWZ
|
"Jawz", // SKINCOLOR_JAWZ
|
||||||
"Cerulean", // SKINCOLOR_CERULEAN
|
"Cerulean", // SKINCOLOR_CERULEAN
|
||||||
"Navy", // SKINCOLOR_NAVY
|
"Navy", // SKINCOLOR_NAVY
|
||||||
|
"Platinum", // SKINCOLOR_PLATINUM
|
||||||
"Slate", // SKINCOLOR_SLATE
|
"Slate", // SKINCOLOR_SLATE
|
||||||
"Steel", // SKINCOLOR_STEEL
|
"Steel", // SKINCOLOR_STEEL
|
||||||
|
"Rust", // SKINCOLOR_RUST
|
||||||
"Jet", // SKINCOLOR_JET
|
"Jet", // SKINCOLOR_JET
|
||||||
"Sapphire", // SKINCOLOR_SAPPHIRE
|
"Sapphire", // SKINCOLOR_SAPPHIRE
|
||||||
"Periwinkle", // SKINCOLOR_PERIWINKLE
|
"Periwinkle", // SKINCOLOR_PERIWINKLE
|
||||||
"Blue", // SKINCOLOR_BLUE
|
"Blue", // SKINCOLOR_BLUE
|
||||||
"Blueberry", // SKINCOLOR_BLUEBERRY
|
"Blueberry", // SKINCOLOR_BLUEBERRY
|
||||||
|
"Nova", // SKINCOLOR_NOVA
|
||||||
"Pastel", // SKINCOLOR_PASTEL
|
"Pastel", // SKINCOLOR_PASTEL
|
||||||
|
"Moonslam", // SKINCOLOR_MOONSLAM
|
||||||
|
"Ultraviolet", // SKINCOLOR_ULTRAVIOLET
|
||||||
"Dusk", // SKINCOLOR_DUSK
|
"Dusk", // SKINCOLOR_DUSK
|
||||||
|
"Bubblegum", // SKINCOLOR_BUBBLEGUM
|
||||||
"Purple", // SKINCOLOR_PURPLE
|
"Purple", // SKINCOLOR_PURPLE
|
||||||
"Fuchsia", // SKINCOLOR_FUCHSIA
|
"Fuchsia", // SKINCOLOR_FUCHSIA
|
||||||
"Toxic", // SKINCOLOR_TOXIC
|
"Toxic", // SKINCOLOR_TOXIC
|
||||||
|
"Mauve", // SKINCOLOR_MAUVE
|
||||||
"Lavender", // SKINCOLOR_LAVENDER
|
"Lavender", // SKINCOLOR_LAVENDER
|
||||||
"Byzantium", // SKINCOLOR_BYZANTIUM
|
"Byzantium", // SKINCOLOR_BYZANTIUM
|
||||||
"Pomegranate", // SKINCOLOR_POMEGRANATE
|
"Pomegranate", // SKINCOLOR_POMEGRANATE
|
||||||
|
@ -128,6 +144,8 @@ 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_CAMOUFLAGE,8, // SKINCOLOR_FAIRY
|
||||||
|
SKINCOLOR_BUBBLEGUM,8, // SKINCOLOR_POPCORN
|
||||||
SKINCOLOR_LEATHER,6, // SKINCOLOR_SEPIA
|
SKINCOLOR_LEATHER,6, // SKINCOLOR_SEPIA
|
||||||
SKINCOLOR_BROWN,2, // SKINCOLOR_BEIGE
|
SKINCOLOR_BROWN,2, // SKINCOLOR_BEIGE
|
||||||
SKINCOLOR_BEIGE,8, // SKINCOLOR_BROWN
|
SKINCOLOR_BEIGE,8, // SKINCOLOR_BROWN
|
||||||
|
@ -135,15 +153,18 @@ const UINT8 KartColor_Opposite[MAXSKINCOLORS*2] =
|
||||||
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_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_HANDHELD,10, // SKINCOLOR_CHERRY
|
||||||
SKINCOLOR_GREEN,6, // SKINCOLOR_RED
|
SKINCOLOR_GREEN,6, // SKINCOLOR_RED
|
||||||
SKINCOLOR_PINETREE,6, // SKINCOLOR_SCARLET
|
SKINCOLOR_PINETREE,6, // SKINCOLOR_CRIMSON
|
||||||
SKINCOLOR_TOXIC,8, // SKINCOLOR_CRIMSON
|
SKINCOLOR_TOXIC,8, // SKINCOLOR_MAROON
|
||||||
SKINCOLOR_ALGAE,10, // SKINCOLOR_NOVA
|
SKINCOLOR_CARIBBEAN,10, // SKINCOLOR_FLAME
|
||||||
|
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_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,8, // SKINCOLOR_PUMPKIN
|
||||||
|
@ -154,6 +175,7 @@ const UINT8 KartColor_Opposite[MAXSKINCOLORS*2] =
|
||||||
SKINCOLOR_CERULEAN,8, // SKINCOLOR_CARAMEL
|
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_STEEL,8, // SKINCOLOR_BRONZE
|
SKINCOLOR_STEEL,8, // SKINCOLOR_BRONZE
|
||||||
SKINCOLOR_CREAM,6, // SKINCOLOR_COPPER
|
SKINCOLOR_CREAM,6, // SKINCOLOR_COPPER
|
||||||
SKINCOLOR_AQUA,8, // SKINCOLOR_YELLOW
|
SKINCOLOR_AQUA,8, // SKINCOLOR_YELLOW
|
||||||
|
@ -165,33 +187,42 @@ const UINT8 KartColor_Opposite[MAXSKINCOLORS*2] =
|
||||||
SKINCOLOR_CHERRY,8, // SKINCOLOR_HANDHELD
|
SKINCOLOR_CHERRY,8, // SKINCOLOR_HANDHELD
|
||||||
SKINCOLOR_SALMON,8, // SKINCOLOR_TEA
|
SKINCOLOR_SALMON,8, // SKINCOLOR_TEA
|
||||||
SKINCOLOR_PINK,6, // SKINCOLOR_PISTACHIO
|
SKINCOLOR_PINK,6, // SKINCOLOR_PISTACHIO
|
||||||
SKINCOLOR_VOMIT,8, // SKINCOLOR_ROBOHOOD
|
|
||||||
SKINCOLOR_ROSE,8, // SKINCOLOR_MOSS
|
SKINCOLOR_ROSE,8, // SKINCOLOR_MOSS
|
||||||
|
SKINCOLOR_FAIRY,10, // SKINCOLOR_CAMOUFLAGE
|
||||||
|
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_SCARLET,8, // SKINCOLOR_PINETREE
|
SKINCOLOR_CRIMSON,8, // SKINCOLOR_PINETREE
|
||||||
SKINCOLOR_PURPLE,8, // SKINCOLOR_EMERALD
|
SKINCOLOR_PURPLE,8, // SKINCOLOR_EMERALD
|
||||||
SKINCOLOR_BYZANTIUM,8, // SKINCOLOR_SWAMP
|
SKINCOLOR_BYZANTIUM,8, // SKINCOLOR_SWAMP
|
||||||
SKINCOLOR_POMEGRANATE,8, // SKINCOLOR_DREAM
|
SKINCOLOR_POMEGRANATE,8, // SKINCOLOR_DREAM
|
||||||
SKINCOLOR_NOVA,10, // SKINCOLOR_ALGAE
|
SKINCOLOR_NOVA,8, // SKINCOLOR_PLAGUE
|
||||||
|
SKINCOLOR_SCARLET,10, // SKINCOLOR_ALGAE
|
||||||
|
SKINCOLOR_FLAME,8, // SKINCOLOR_CARIBBEAN
|
||||||
SKINCOLOR_YELLOW,8, // SKINCOLOR_AQUA
|
SKINCOLOR_YELLOW,8, // SKINCOLOR_AQUA
|
||||||
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_ROSEWOOD,8, // SKINCOLOR_NAVY
|
||||||
|
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_BRICK,10, // SKINCOLOR_RUST
|
||||||
SKINCOLOR_BURGUNDY,8, // SKINCOLOR_JET
|
SKINCOLOR_BURGUNDY,8, // SKINCOLOR_JET
|
||||||
SKINCOLOR_RUBY,6, // SKINCOLOR_SAPPHIRE
|
SKINCOLOR_RUBY,6, // SKINCOLOR_SAPPHIRE
|
||||||
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_PUMPKIN,8, // SKINCOLOR_BLUEBERRY
|
||||||
|
SKINCOLOR_PLAGUE,10, // SKINCOLOR_NOVA
|
||||||
SKINCOLOR_FUCHSIA,11, // SKINCOLOR_PASTEL
|
SKINCOLOR_FUCHSIA,11, // SKINCOLOR_PASTEL
|
||||||
|
SKINCOLOR_SUNSET,10, // SKINCOLOR_MOONSLAM
|
||||||
|
SKINCOLOR_MAUVE,10, // SKINCOLOR_ULTRAVIOLET
|
||||||
SKINCOLOR_DAWN,6, // SKINCOLOR_DUSK
|
SKINCOLOR_DAWN,6, // SKINCOLOR_DUSK
|
||||||
SKINCOLOR_EMERALD,8, // SKINCOLOR_PURPLE
|
SKINCOLOR_EMERALD,8, // SKINCOLOR_PURPLE
|
||||||
SKINCOLOR_PASTEL,11, // SKINCOLOR_FUCHSIA
|
SKINCOLOR_PASTEL,11, // SKINCOLOR_FUCHSIA
|
||||||
SKINCOLOR_CRIMSON,8, // SKINCOLOR_TOXIC
|
SKINCOLOR_MAROON,8, // SKINCOLOR_TOXIC
|
||||||
|
SKINCOLOR_ULTRAVIOLET,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
|
||||||
|
@ -205,6 +236,8 @@ UINT8 colortranslations[MAXTRANSLATIONS][16] = {
|
||||||
{ 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, 121, 121, 122, 123, 10, 14, 16, 18, 20, 22, 24, 26, 28, 31}, // SKINCOLOR_FAIRY
|
||||||
|
{120, 96, 97, 98, 99, 71, 32, 11, 13, 16, 18, 21, 23, 26, 28, 31}, // SKINCOLOR_POPCORN
|
||||||
{ 0, 1, 3, 5, 7, 9, 34, 36, 38, 40, 42, 44, 60, 61, 62, 63}, // SKINCOLOR_SEPIA
|
{ 0, 1, 3, 5, 7, 9, 34, 36, 38, 40, 42, 44, 60, 61, 62, 63}, // SKINCOLOR_SEPIA
|
||||||
{120, 65, 67, 69, 32, 34, 36, 38, 40, 42, 44, 45, 46, 47, 62, 63}, // SKINCOLOR_BEIGE
|
{120, 65, 67, 69, 32, 34, 36, 38, 40, 42, 44, 45, 46, 47, 62, 63}, // SKINCOLOR_BEIGE
|
||||||
{ 67, 70, 73, 76, 48, 49, 51, 53, 54, 56, 58, 59, 61, 63, 29, 30}, // SKINCOLOR_BROWN
|
{ 67, 70, 73, 76, 48, 49, 51, 53, 54, 56, 58, 59, 61, 63, 29, 30}, // SKINCOLOR_BROWN
|
||||||
|
@ -212,15 +245,18 @@ UINT8 colortranslations[MAXTRANSLATIONS][16] = {
|
||||||
{120, 120, 120, 121, 121, 122, 123, 124, 126, 127, 129, 131, 133, 135, 137, 139}, // SKINCOLOR_SALMON
|
{120, 120, 120, 121, 121, 122, 123, 124, 126, 127, 129, 131, 133, 135, 137, 139}, // SKINCOLOR_SALMON
|
||||||
{120, 121, 121, 122, 144, 145, 146, 147, 148, 149, 150, 151, 134, 136, 138, 140}, // SKINCOLOR_PINK
|
{120, 121, 121, 122, 144, 145, 146, 147, 148, 149, 150, 151, 134, 136, 138, 140}, // SKINCOLOR_PINK
|
||||||
{144, 145, 146, 147, 148, 149, 150, 151, 134, 135, 136, 137, 138, 139, 140, 141}, // SKINCOLOR_ROSE
|
{144, 145, 146, 147, 148, 149, 150, 151, 134, 135, 136, 137, 138, 139, 140, 141}, // SKINCOLOR_ROSE
|
||||||
|
{ 64, 67, 70, 73, 146, 147, 148, 150, 118, 118, 119, 119, 156, 159, 141, 143}, // SKINCOLOR_BRICK
|
||||||
{120, 121, 144, 145, 147, 149, 132, 133, 134, 136, 198, 198, 199, 255, 30, 31}, // SKINCOLOR_RUBY
|
{120, 121, 144, 145, 147, 149, 132, 133, 134, 136, 198, 198, 199, 255, 30, 31}, // SKINCOLOR_RUBY
|
||||||
{120, 121, 122, 123, 124, 125, 126, 127, 128, 130, 131, 134, 136, 137, 139, 140}, // SKINCOLOR_RASPBERRY
|
{120, 121, 122, 123, 124, 125, 126, 127, 128, 130, 131, 134, 136, 137, 139, 140}, // SKINCOLOR_RASPBERRY
|
||||||
{120, 65, 67, 69, 71, 124, 125, 127, 132, 133, 135, 136, 138, 139, 140, 141}, // SKINCOLOR_CHERRY
|
{120, 65, 67, 69, 71, 124, 125, 127, 132, 133, 135, 136, 138, 139, 140, 141}, // SKINCOLOR_CHERRY
|
||||||
{122, 123, 124, 126, 129, 132, 133, 134, 135, 136, 137, 138, 139, 140, 141, 142}, // SKINCOLOR_RED
|
{122, 123, 124, 126, 129, 132, 133, 134, 135, 136, 137, 138, 139, 140, 141, 142}, // SKINCOLOR_RED
|
||||||
{123, 125, 128, 131, 133, 135, 136, 138, 140, 140, 141, 141, 142, 142, 143, 31}, // SKINCOLOR_SCARLET
|
{123, 125, 128, 131, 133, 135, 136, 138, 140, 140, 141, 141, 142, 142, 143, 31}, // SKINCOLOR_CRIMSON
|
||||||
{123, 124, 126, 128, 132, 135, 137, 63, 28, 28, 28, 29, 29, 30, 30, 31}, // SKINCOLOR_CRIMSON
|
{123, 124, 126, 128, 132, 135, 137, 27, 28, 28, 28, 29, 29, 30, 30, 31}, // SKINCOLOR_MAROON
|
||||||
{ 99, 113, 113, 84, 85, 87, 126, 128, 130, 196, 197, 198, 199, 240, 243, 246}, // SKINCOLOR_NOVA
|
{120, 97, 112, 113, 113, 85, 87, 126, 149, 150, 151, 252, 253, 254, 255, 29}, // SKINCOLOR_FLAME
|
||||||
{104, 113, 113, 85, 86, 88, 128, 129, 131, 133, 134, 136, 138, 139, 141, 143}, // SKINCOLOR_KETCHUP
|
{ 99, 113, 113, 84, 85, 87, 126, 128, 130, 196, 197, 198, 199, 240, 243, 246}, // SKINCOLOR_SCARLET
|
||||||
|
{103, 113, 113, 84, 85, 88, 127, 130, 131, 133, 134, 136, 138, 139, 141, 143}, // SKINCOLOR_KETCHUP
|
||||||
{120, 121, 122, 123, 124, 147, 147, 148, 90, 91, 92, 93, 94, 95, 152, 154}, // SKINCOLOR_DAWN
|
{120, 121, 122, 123, 124, 147, 147, 148, 90, 91, 92, 93, 94, 95, 152, 154}, // SKINCOLOR_DAWN
|
||||||
|
{ 98, 112, 113, 84, 85, 87, 89, 149, 150, 251, 252, 206, 238, 240, 243, 246}, // SKINCOLOR_SUNSET
|
||||||
{120, 120, 80, 80, 81, 82, 83, 83, 84, 85, 86, 88, 89, 91, 93, 95}, // SKINCOLOR_CREAMSICLE
|
{120, 120, 80, 80, 81, 82, 83, 83, 84, 85, 86, 88, 89, 91, 93, 95}, // SKINCOLOR_CREAMSICLE
|
||||||
{ 80, 81, 82, 83, 84, 85, 86, 88, 89, 91, 94, 95, 154, 156, 158, 159}, // SKINCOLOR_ORANGE
|
{ 80, 81, 82, 83, 84, 85, 86, 88, 89, 91, 94, 95, 154, 156, 158, 159}, // SKINCOLOR_ORANGE
|
||||||
{ 82, 83, 84, 85, 87, 89, 90, 92, 94, 152, 153, 155, 157, 159, 141, 142}, // SKINCOLOR_PUMPKIN
|
{ 82, 83, 84, 85, 87, 89, 90, 92, 94, 152, 153, 155, 157, 159, 141, 142}, // SKINCOLOR_PUMPKIN
|
||||||
|
@ -231,6 +267,7 @@ UINT8 colortranslations[MAXTRANSLATIONS][16] = {
|
||||||
{ 64, 66, 68, 70, 72, 74, 76, 78, 48, 50, 52, 54, 56, 58, 60, 62}, // SKINCOLOR_CARAMEL
|
{ 64, 66, 68, 70, 72, 74, 76, 78, 48, 50, 52, 54, 56, 58, 60, 62}, // SKINCOLOR_CARAMEL
|
||||||
{120, 120, 96, 96, 97, 82, 84, 77, 50, 54, 57, 59, 61, 63, 29, 31}, // SKINCOLOR_CREAM
|
{120, 120, 96, 96, 97, 82, 84, 77, 50, 54, 57, 59, 61, 63, 29, 31}, // SKINCOLOR_CREAM
|
||||||
{112, 112, 112, 113, 113, 114, 114, 115, 115, 116, 116, 117, 117, 118, 118, 119}, // SKINCOLOR_GOLD
|
{112, 112, 112, 113, 113, 114, 114, 115, 115, 116, 116, 117, 117, 118, 118, 119}, // SKINCOLOR_GOLD
|
||||||
|
{ 97, 112, 113, 113, 114, 78, 53, 252, 252, 253, 253, 254, 255, 29, 30, 31}, // SKINCOLOR_ROYAL
|
||||||
{112, 113, 114, 115, 116, 117, 118, 119, 156, 157, 158, 159, 141, 141, 142, 143}, // SKINCOLOR_BRONZE
|
{112, 113, 114, 115, 116, 117, 118, 119, 156, 157, 158, 159, 141, 141, 142, 143}, // SKINCOLOR_BRONZE
|
||||||
{120, 99, 113, 114, 116, 117, 119, 61, 63, 28, 28, 29, 29, 30, 30, 31}, // SKINCOLOR_COPPER
|
{120, 99, 113, 114, 116, 117, 119, 61, 63, 28, 28, 29, 29, 30, 30, 31}, // SKINCOLOR_COPPER
|
||||||
{ 96, 97, 98, 100, 101, 102, 104, 113, 114, 115, 116, 117, 118, 119, 156, 159}, // SKINCOLOR_YELLOW
|
{ 96, 97, 98, 100, 101, 102, 104, 113, 114, 115, 116, 117, 118, 119, 156, 159}, // SKINCOLOR_YELLOW
|
||||||
|
@ -242,38 +279,47 @@ UINT8 colortranslations[MAXTRANSLATIONS][16] = {
|
||||||
{ 98, 104, 105, 105, 106, 167, 168, 169, 170, 171, 172, 173, 174, 175, 30, 31}, // SKINCOLOR_HANDHELD
|
{ 98, 104, 105, 105, 106, 167, 168, 169, 170, 171, 172, 173, 174, 175, 30, 31}, // SKINCOLOR_HANDHELD
|
||||||
{120, 120, 176, 176, 176, 177, 177, 178, 178, 179, 179, 180, 180, 181, 182, 183}, // SKINCOLOR_TEA
|
{120, 120, 176, 176, 176, 177, 177, 178, 178, 179, 179, 180, 180, 181, 182, 183}, // SKINCOLOR_TEA
|
||||||
{120, 120, 176, 176, 177, 177, 178, 179, 165, 166, 167, 168, 169, 170, 171, 172}, // SKINCOLOR_PISTACHIO
|
{120, 120, 176, 176, 177, 177, 178, 179, 165, 166, 167, 168, 169, 170, 171, 172}, // SKINCOLOR_PISTACHIO
|
||||||
{120, 176, 178, 165, 167, 168, 169, 182, 182, 171, 171, 172, 173, 174, 175, 30}, // SKINCOLOR_ROBOHOOD
|
|
||||||
{178, 178, 178, 179, 179, 180, 181, 182, 183, 172, 172, 173, 173, 174, 174, 175}, // SKINCOLOR_MOSS
|
{178, 178, 178, 179, 179, 180, 181, 182, 183, 172, 172, 173, 173, 174, 174, 175}, // SKINCOLOR_MOSS
|
||||||
|
{ 64, 66, 69, 32, 34, 37, 40, 182, 171, 172, 172, 173, 173, 174, 174, 175}, // SKINCOLOR_CAMOUFLAGE
|
||||||
|
{120, 176, 160, 165, 167, 168, 169, 182, 182, 171, 60, 61, 63, 29, 30, 31}, // SKINCOLOR_ROBOHOOD
|
||||||
{120, 176, 176, 176, 177, 163, 164, 165, 167, 221, 221, 222, 223, 207, 207, 31}, // SKINCOLOR_MINT
|
{120, 176, 176, 176, 177, 163, 164, 165, 167, 221, 221, 222, 223, 207, 207, 31}, // SKINCOLOR_MINT
|
||||||
{160, 161, 162, 163, 164, 165, 166, 167, 168, 169, 170, 171, 172, 173, 174, 175}, // SKINCOLOR_GREEN
|
{160, 161, 162, 163, 164, 165, 166, 167, 168, 169, 170, 171, 172, 173, 174, 175}, // SKINCOLOR_GREEN
|
||||||
{161, 163, 165, 166, 167, 168, 169, 170, 171, 172, 173, 174, 175, 30, 30, 31}, // SKINCOLOR_PINETREE
|
{161, 163, 165, 166, 167, 168, 169, 170, 171, 172, 173, 174, 175, 30, 30, 31}, // SKINCOLOR_PINETREE
|
||||||
{160, 184, 184, 185, 185, 186, 186, 187, 187, 188, 188, 189, 189, 190, 191, 175}, // SKINCOLOR_EMERALD
|
{160, 184, 184, 185, 185, 186, 186, 187, 187, 188, 188, 189, 189, 190, 191, 175}, // SKINCOLOR_EMERALD
|
||||||
{160, 184, 185, 186, 187, 188, 189, 190, 191, 191, 29, 29, 30, 30, 31, 31}, // SKINCOLOR_SWAMP
|
{160, 184, 185, 186, 187, 188, 189, 190, 191, 191, 29, 29, 30, 30, 31, 31}, // SKINCOLOR_SWAMP
|
||||||
{120, 120, 80, 80, 81, 177, 162, 164, 228, 228, 204, 204, 205, 205, 206, 207}, // SKINCOLOR_DREAM
|
{120, 120, 80, 80, 81, 177, 162, 164, 228, 228, 204, 204, 205, 205, 206, 207}, // SKINCOLOR_DREAM
|
||||||
|
{176, 160, 184, 185, 186, 187, 188, 230, 230, 206, 206, 207, 28, 29, 30, 31}, // SKINCOLOR_PLAGUE
|
||||||
{208, 209, 210, 211, 213, 220, 216, 167, 168, 188, 188, 189, 190, 191, 30, 31}, // SKINCOLOR_ALGAE
|
{208, 209, 210, 211, 213, 220, 216, 167, 168, 188, 188, 189, 190, 191, 30, 31}, // SKINCOLOR_ALGAE
|
||||||
|
{120, 176, 177, 160, 185, 220, 216, 217, 221, 230, 206, 206, 254, 255, 29, 31}, // SKINCOLOR_CARIBBEAN
|
||||||
{120, 208, 208, 210, 212, 214, 220, 220, 220, 221, 221, 222, 222, 223, 223, 191}, // SKINCOLOR_AQUA
|
{120, 208, 208, 210, 212, 214, 220, 220, 220, 221, 221, 222, 222, 223, 223, 191}, // SKINCOLOR_AQUA
|
||||||
{210, 213, 220, 220, 220, 216, 216, 221, 221, 221, 222, 222, 223, 223, 191, 31}, // SKINCOLOR_TEAL
|
{210, 213, 220, 220, 220, 216, 216, 221, 221, 221, 222, 222, 223, 223, 191, 31}, // SKINCOLOR_TEAL
|
||||||
{120, 120, 208, 208, 209, 210, 211, 212, 213, 215, 216, 217, 218, 219, 222, 223}, // SKINCOLOR_CYAN
|
{120, 120, 208, 208, 209, 210, 211, 212, 213, 215, 216, 217, 218, 219, 222, 223}, // SKINCOLOR_CYAN
|
||||||
{120, 120, 208, 209, 210, 226, 215, 216, 217, 229, 229, 205, 205, 206, 207, 31}, // SKINCOLOR_JAWZ
|
{120, 120, 208, 209, 210, 226, 215, 216, 217, 229, 229, 205, 205, 206, 207, 31}, // SKINCOLOR_JAWZ
|
||||||
{208, 209, 211, 213, 215, 216, 216, 217, 217, 218, 218, 219, 205, 206, 207, 207}, // SKINCOLOR_CERULEAN
|
{208, 209, 211, 213, 215, 216, 216, 217, 217, 218, 218, 219, 205, 206, 207, 207}, // SKINCOLOR_CERULEAN
|
||||||
{211, 212, 213, 215, 216, 218, 219, 205, 206, 206, 207, 207, 28, 29, 30, 31}, // SKINCOLOR_NAVY
|
{211, 212, 213, 215, 216, 218, 219, 205, 206, 206, 207, 207, 28, 29, 30, 31}, // SKINCOLOR_NAVY
|
||||||
|
{120, 0, 0, 200, 200, 201, 11, 14, 17, 218, 222, 223, 238, 240, 243, 246}, // SKINCOLOR_PLATINUM
|
||||||
{120, 120, 200, 200, 200, 201, 201, 201, 202, 202, 202, 203, 204, 205, 206, 207}, // SKINCOLOR_SLATE
|
{120, 120, 200, 200, 200, 201, 201, 201, 202, 202, 202, 203, 204, 205, 206, 207}, // SKINCOLOR_SLATE
|
||||||
{120, 200, 200, 201, 201, 202, 202, 203, 203, 204, 204, 205, 205, 206, 207, 31}, // SKINCOLOR_STEEL
|
{120, 200, 200, 201, 201, 202, 202, 203, 203, 204, 204, 205, 205, 206, 207, 31}, // SKINCOLOR_STEEL
|
||||||
|
{ 64, 66, 68, 70, 32, 34, 36, 203, 204, 205, 24, 25, 26, 28, 29, 31}, // SKINCOLOR_RUST
|
||||||
{225, 226, 227, 228, 229, 205, 205, 206, 207, 207, 28, 28, 29, 29, 30, 31}, // SKINCOLOR_JET
|
{225, 226, 227, 228, 229, 205, 205, 206, 207, 207, 28, 28, 29, 29, 30, 31}, // SKINCOLOR_JET
|
||||||
{208, 209, 211, 213, 215, 217, 229, 230, 232, 234, 236, 238, 240, 242, 244, 246}, // SKINCOLOR_SAPPHIRE
|
{208, 209, 211, 213, 215, 217, 229, 230, 232, 234, 236, 238, 240, 242, 244, 246}, // SKINCOLOR_SAPPHIRE
|
||||||
{120, 120, 224, 225, 226, 202, 227, 228, 229, 230, 231, 233, 235, 237, 239, 241}, // SKINCOLOR_PERIWINKLE
|
{120, 120, 224, 225, 226, 202, 227, 228, 229, 230, 231, 233, 235, 237, 239, 241}, // SKINCOLOR_PERIWINKLE
|
||||||
{224, 225, 226, 227, 228, 229, 230, 231, 232, 233, 235, 236, 238, 242, 244, 246}, // SKINCOLOR_BLUE
|
{224, 225, 226, 227, 228, 229, 230, 231, 232, 233, 235, 236, 238, 242, 244, 246}, // SKINCOLOR_BLUE
|
||||||
{226, 228, 229, 230, 232, 233, 235, 237, 239, 240, 242, 244, 246, 31, 31, 31}, // SKINCOLOR_BLUEBERRY
|
{226, 228, 229, 230, 232, 233, 235, 237, 239, 240, 242, 244, 246, 31, 31, 31}, // SKINCOLOR_BLUEBERRY
|
||||||
|
{120, 112, 82, 83, 84, 124, 248, 228, 228, 204, 205, 206, 207, 29, 30, 31}, // SKINCOLOR_NOVA
|
||||||
{120, 208, 209, 210, 211, 226, 202, 249, 194, 195, 196, 197, 198, 199, 255, 30}, // SKINCOLOR_PASTEL
|
{120, 208, 209, 210, 211, 226, 202, 249, 194, 195, 196, 197, 198, 199, 255, 30}, // SKINCOLOR_PASTEL
|
||||||
|
{120, 224, 201, 226, 202, 249, 250, 196, 197, 198, 199, 140, 141, 142, 143, 31}, // SKINCOLOR_MOONSLAM
|
||||||
|
{120, 64, 81, 122, 192, 249, 203, 221, 221, 219, 219, 223, 223, 191, 191, 31}, // SKINCOLOR_ULTRAVIOLET
|
||||||
{121, 145, 192, 249, 250, 251, 204, 204, 205, 205, 206, 206, 207, 29, 30, 31}, // SKINCOLOR_DUSK
|
{121, 145, 192, 249, 250, 251, 204, 204, 205, 205, 206, 206, 207, 29, 30, 31}, // SKINCOLOR_DUSK
|
||||||
|
{120, 96, 64, 121, 67, 144, 123, 192, 193, 194, 195, 196, 197, 198, 199, 30}, // SKINCOLOR_BUBBLEGUM
|
||||||
{121, 145, 192, 192, 193, 194, 195, 196, 196, 197, 197, 198, 198, 199, 30, 31}, // SKINCOLOR_PURPLE
|
{121, 145, 192, 192, 193, 194, 195, 196, 196, 197, 197, 198, 198, 199, 30, 31}, // SKINCOLOR_PURPLE
|
||||||
{120, 122, 124, 125, 126, 150, 196, 197, 198, 198, 199, 199, 240, 242, 244, 246}, // SKINCOLOR_FUCHSIA
|
{120, 122, 124, 125, 126, 150, 196, 197, 198, 198, 199, 199, 240, 242, 244, 246}, // SKINCOLOR_FUCHSIA
|
||||||
{120, 120, 176, 176, 177, 6, 8, 10, 249, 250, 196, 197, 198, 199, 143, 31}, // SKINCOLOR_TOXIC
|
{120, 120, 176, 176, 177, 6, 8, 10, 249, 250, 196, 197, 198, 199, 143, 31}, // SKINCOLOR_TOXIC
|
||||||
|
{ 96, 97, 98, 112, 113, 73, 146, 248, 249, 251, 205, 205, 206, 207, 29, 31}, // SKINCOLOR_MAUVE
|
||||||
{121, 145, 192, 248, 249, 250, 251, 252, 252, 253, 253, 254, 254, 255, 30, 31}, // SKINCOLOR_LAVENDER
|
{121, 145, 192, 248, 249, 250, 251, 252, 252, 253, 253, 254, 254, 255, 30, 31}, // SKINCOLOR_LAVENDER
|
||||||
{144, 248, 249, 250, 251, 252, 253, 254, 255, 255, 29, 29, 30, 30, 31, 31}, // SKINCOLOR_BYZANTIUM
|
{144, 248, 249, 250, 251, 252, 253, 254, 255, 255, 29, 29, 30, 30, 31, 31}, // SKINCOLOR_BYZANTIUM
|
||||||
{144, 145, 146, 147, 148, 149, 150, 251, 251, 252, 252, 253, 254, 255, 29, 30}, // SKINCOLOR_POMEGRANATE
|
{144, 145, 146, 147, 148, 149, 150, 251, 251, 252, 252, 253, 254, 255, 29, 30}, // SKINCOLOR_POMEGRANATE
|
||||||
{120, 120, 120, 121, 121, 122, 122, 123, 192, 248, 249, 250, 251, 252, 253, 254}, // SKINCOLOR_LILAC
|
{120, 120, 120, 121, 121, 122, 122, 123, 192, 248, 249, 250, 251, 252, 253, 254}, // SKINCOLOR_LILAC
|
||||||
// MAXSKINCOLORS
|
|
||||||
{120, 120, 120, 120, 120, 120, 120, 120, 120, 120, 96, 100, 104, 113, 116, 119}, // SKINCOLOR_SUPER1
|
{120, 120, 120, 120, 120, 120, 120, 120, 120, 120, 96, 100, 104, 113, 116, 119}, // SKINCOLOR_SUPER1
|
||||||
{120, 120, 120, 120, 120, 120, 120, 120, 96, 98, 101, 104, 113, 115, 117, 119}, // SKINCOLOR_SUPER2
|
{120, 120, 120, 120, 120, 120, 120, 120, 96, 98, 101, 104, 113, 115, 117, 119}, // SKINCOLOR_SUPER2
|
||||||
{120, 120, 120, 120, 120, 120, 96, 98, 100, 102, 104, 113, 114, 116, 117, 119}, // SKINCOLOR_SUPER3
|
{120, 120, 120, 120, 120, 120, 96, 98, 100, 102, 104, 113, 114, 116, 117, 119}, // SKINCOLOR_SUPER3
|
||||||
|
@ -299,6 +345,11 @@ UINT8 colortranslations[MAXTRANSLATIONS][16] = {
|
||||||
{120, 120, 120, 120, 120, 120, 224, 224, 225, 226, 227, 228, 229, 230, 231, 232}, // SKINCOLOR_BSUPER3
|
{120, 120, 120, 120, 120, 120, 224, 224, 225, 226, 227, 228, 229, 230, 231, 232}, // SKINCOLOR_BSUPER3
|
||||||
{120, 120, 120, 120, 224, 224, 225, 226, 226, 227, 228, 229, 229, 230, 231, 232}, // SKINCOLOR_BSUPER4
|
{120, 120, 120, 120, 224, 224, 225, 226, 226, 227, 228, 229, 229, 230, 231, 232}, // SKINCOLOR_BSUPER4
|
||||||
{120, 120, 224, 224, 225, 225, 226, 227, 227, 228, 228, 229, 230, 230, 231, 232}, // SKINCOLOR_BSUPER5
|
{120, 120, 224, 224, 225, 225, 226, 227, 227, 228, 228, 229, 230, 230, 231, 232}, // SKINCOLOR_BSUPER5
|
||||||
|
{120, 120, 120, 120, 120, 120, 120, 120, 120, 120, 208, 210, 212, 215, 220, 222}, // SKINCOLOR_ASUPER1
|
||||||
|
{120, 120, 120, 120, 120, 120, 120, 120, 208, 209, 211, 213, 215, 220, 221, 223}, // SKINCOLOR_ASUPER2
|
||||||
|
{120, 120, 120, 120, 120, 120, 208, 209, 210, 211, 212, 213, 215, 220, 221, 223}, // SKINCOLOR_ASUPER3
|
||||||
|
{120, 120, 120, 120, 208, 209, 210, 211, 212, 213, 214, 215, 220, 221, 222, 223}, // SKINCOLOR_ASUPER4
|
||||||
|
{120, 120, 208, 208, 209, 210, 211, 211, 212, 213, 214, 215, 220, 221, 222, 223}, // SKINCOLOR_ASUPER5
|
||||||
{120, 120, 120, 120, 120, 120, 120, 120, 120, 120, 176, 160, 163, 167, 171, 175}, // SKINCOLOR_GSUPER1
|
{120, 120, 120, 120, 120, 120, 120, 120, 120, 120, 176, 160, 163, 167, 171, 175}, // SKINCOLOR_GSUPER1
|
||||||
{120, 120, 120, 120, 120, 120, 120, 120, 176, 176, 160, 163, 166, 169, 172, 175}, // SKINCOLOR_GSUPER2
|
{120, 120, 120, 120, 120, 120, 120, 120, 176, 176, 160, 163, 166, 169, 172, 175}, // SKINCOLOR_GSUPER2
|
||||||
{120, 120, 120, 120, 120, 120, 176, 176, 160, 162, 164, 166, 168, 170, 172, 175}, // SKINCOLOR_GSUPER3
|
{120, 120, 120, 120, 120, 120, 176, 176, 160, 162, 164, 166, 168, 170, 172, 175}, // SKINCOLOR_GSUPER3
|
||||||
|
@ -314,12 +365,6 @@ UINT8 colortranslations[MAXTRANSLATIONS][16] = {
|
||||||
{120, 120, 120, 120, 120, 120, 96, 97, 98, 99, 81, 81, 70, 73, 76, 79}, // SKINCOLOR_CSUPER3
|
{120, 120, 120, 120, 120, 120, 96, 97, 98, 99, 81, 81, 70, 73, 76, 79}, // SKINCOLOR_CSUPER3
|
||||||
{120, 120, 120, 120, 96, 96, 97, 98, 99, 81, 81, 70, 72, 74, 76, 79}, // SKINCOLOR_CSUPER4
|
{120, 120, 120, 120, 96, 96, 97, 98, 99, 81, 81, 70, 72, 74, 76, 79}, // SKINCOLOR_CSUPER4
|
||||||
{120, 120, 96, 96, 97, 98, 98, 99, 81, 81, 69, 71, 73, 75, 77, 79}, // SKINCOLOR_CSUPER5
|
{120, 120, 96, 96, 97, 98, 98, 99, 81, 81, 69, 71, 73, 75, 77, 79}, // SKINCOLOR_CSUPER5
|
||||||
{120, 120, 120, 120, 120, 120, 120, 120, 120, 120, 208, 210, 212, 215, 220, 222}, // SKINCOLOR_ASUPER1
|
|
||||||
{120, 120, 120, 120, 120, 120, 120, 120, 208, 209, 211, 213, 215, 220, 221, 223}, // SKINCOLOR_ASUPER2
|
|
||||||
{120, 120, 120, 120, 120, 120, 208, 209, 210, 211, 212, 213, 215, 220, 221, 223}, // SKINCOLOR_ASUPER3
|
|
||||||
{120, 120, 120, 120, 208, 209, 210, 211, 212, 213, 214, 215, 220, 221, 222, 223}, // SKINCOLOR_ASUPER4
|
|
||||||
{120, 120, 208, 208, 209, 210, 211, 211, 212, 213, 214, 215, 220, 221, 222, 223}, // SKINCOLOR_ASUPER5
|
|
||||||
// MAXTRANSLATIONS
|
|
||||||
};
|
};
|
||||||
|
|
||||||
// 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.
|
||||||
|
@ -622,6 +667,11 @@ static INT32 K_KartItemOddsBattle[NUMKARTRESULTS][6] =
|
||||||
*/
|
*/
|
||||||
static void K_KartGetItemResult(player_t *player, SINT8 getitem)
|
static void K_KartGetItemResult(player_t *player, SINT8 getitem)
|
||||||
{
|
{
|
||||||
|
if (getitem == KITEM_SPB || getitem == KITEM_SHRINK) // Indirect items
|
||||||
|
indirectitemcooldown = 20*TICRATE;
|
||||||
|
if (getitem == KITEM_HYUDORO) // Hyudoro cooldown
|
||||||
|
hyubgone = 5*TICRATE;
|
||||||
|
|
||||||
switch (getitem)
|
switch (getitem)
|
||||||
{
|
{
|
||||||
// Special roulettes first, then the generic ones are handled by default
|
// Special roulettes first, then the generic ones are handled by default
|
||||||
|
@ -649,10 +699,6 @@ static void K_KartGetItemResult(player_t *player, SINT8 getitem)
|
||||||
player->kartstuff[k_itemtype] = KITEM_JAWZ;
|
player->kartstuff[k_itemtype] = KITEM_JAWZ;
|
||||||
player->kartstuff[k_itemamount] = 2;
|
player->kartstuff[k_itemamount] = 2;
|
||||||
break;
|
break;
|
||||||
case KITEM_SPB:
|
|
||||||
case KITEM_SHRINK: // Indirect items
|
|
||||||
indirectitemcooldown = 20*TICRATE;
|
|
||||||
/* FALLTHRU */
|
|
||||||
default:
|
default:
|
||||||
if (getitem <= 0 || getitem >= NUMKARTRESULTS) // Sad (Fallback)
|
if (getitem <= 0 || getitem >= NUMKARTRESULTS) // Sad (Fallback)
|
||||||
{
|
{
|
||||||
|
@ -674,12 +720,13 @@ static void K_KartGetItemResult(player_t *player, SINT8 getitem)
|
||||||
\return void
|
\return void
|
||||||
*/
|
*/
|
||||||
|
|
||||||
static INT32 K_KartGetItemOdds(UINT8 pos, SINT8 item, fixed_t mashed)
|
static INT32 K_KartGetItemOdds(UINT8 pos, SINT8 item, fixed_t mashed, boolean spbrush)
|
||||||
{
|
{
|
||||||
const INT32 distvar = (64*14);
|
const INT32 distvar = (64*14);
|
||||||
INT32 newodds;
|
INT32 newodds;
|
||||||
INT32 i;
|
INT32 i;
|
||||||
UINT8 pingame = 0, pexiting = 0, pinvin = 0;
|
UINT8 pingame = 0, pexiting = 0, pinvin = 0;
|
||||||
|
boolean thunderisout = false;
|
||||||
SINT8 first = -1, second = -1;
|
SINT8 first = -1, second = -1;
|
||||||
INT32 secondist = 0;
|
INT32 secondist = 0;
|
||||||
boolean itemenabled[NUMKARTRESULTS-1] = {
|
boolean itemenabled[NUMKARTRESULTS-1] = {
|
||||||
|
@ -724,10 +771,13 @@ static INT32 K_KartGetItemOdds(UINT8 pos, SINT8 item, fixed_t mashed)
|
||||||
{
|
{
|
||||||
if (!playeringame[i] || players[i].spectator)
|
if (!playeringame[i] || players[i].spectator)
|
||||||
continue;
|
continue;
|
||||||
|
|
||||||
if (!G_BattleGametype() || players[i].kartstuff[k_bumper])
|
if (!G_BattleGametype() || players[i].kartstuff[k_bumper])
|
||||||
pingame++;
|
pingame++;
|
||||||
|
|
||||||
if (players[i].exiting)
|
if (players[i].exiting)
|
||||||
pexiting++;
|
pexiting++;
|
||||||
|
|
||||||
if (players[i].mo)
|
if (players[i].mo)
|
||||||
{
|
{
|
||||||
if (players[i].kartstuff[k_itemtype] == KITEM_INVINCIBILITY
|
if (players[i].kartstuff[k_itemtype] == KITEM_INVINCIBILITY
|
||||||
|
@ -735,6 +785,10 @@ static INT32 K_KartGetItemOdds(UINT8 pos, SINT8 item, fixed_t mashed)
|
||||||
|| players[i].kartstuff[k_invincibilitytimer]
|
|| players[i].kartstuff[k_invincibilitytimer]
|
||||||
|| players[i].kartstuff[k_growshrinktimer] > 0)
|
|| players[i].kartstuff[k_growshrinktimer] > 0)
|
||||||
pinvin++;
|
pinvin++;
|
||||||
|
|
||||||
|
if (players[i].kartstuff[k_itemtype] == KITEM_THUNDERSHIELD)
|
||||||
|
thunderisout = true;
|
||||||
|
|
||||||
if (!G_BattleGametype())
|
if (!G_BattleGametype())
|
||||||
{
|
{
|
||||||
if (players[i].kartstuff[k_position] == 1 && first == -1)
|
if (players[i].kartstuff[k_position] == 1 && first == -1)
|
||||||
|
@ -758,29 +812,35 @@ static INT32 K_KartGetItemOdds(UINT8 pos, SINT8 item, fixed_t mashed)
|
||||||
// POWERITEMODDS handles all of the "frantic item" related functionality, for all of our powerful items.
|
// POWERITEMODDS handles all of the "frantic item" related functionality, for all of our powerful items.
|
||||||
// First, it multiplies it by 2 if franticitems is true; easy-peasy.
|
// First, it multiplies it by 2 if franticitems is true; easy-peasy.
|
||||||
// Next, it multiplies it again if it's in SPB mode and 2nd needs to apply pressure to 1st.
|
// Next, it multiplies it again if it's in SPB mode and 2nd needs to apply pressure to 1st.
|
||||||
// Then, it multiplies it further if there's less than 5 players in game.
|
// Then, it multiplies it further if the player count isn't equal to 8.
|
||||||
// This is done to make low player count races more fair & interesting. (2P normal would be about halfway between 8P normal and 8P frantic)
|
// This is done to make low player count races more interesting and high player count rates more fair.
|
||||||
// Lastly, it *divides* it by your mashed value, which was determined in K_KartItemRoulette, to punish those who are impatient.
|
// (2P normal would be about halfway between 8P normal and 8P frantic.)
|
||||||
|
// (This scaling is not done for SPB Rush, so that catchup strength is not weakened.)
|
||||||
|
// Lastly, it *divides* it by your mashed value, which was determined in K_KartItemRoulette, for lesser items needed in a pinch.
|
||||||
|
|
||||||
|
#define PLAYERSCALING (8 - (spbrush ? 2 : pingame))
|
||||||
|
|
||||||
#define POWERITEMODDS(odds) \
|
#define POWERITEMODDS(odds) \
|
||||||
if (franticitems) \
|
if (franticitems) \
|
||||||
odds <<= 1; \
|
odds <<= 1; \
|
||||||
odds = FixedMul(odds<<FRACBITS, FRACUNIT + ((8-pingame) * (FRACUNIT/25))) >> FRACBITS; \
|
odds = FixedMul(odds<<FRACBITS, FRACUNIT + ((PLAYERSCALING << FRACBITS) / 25)) >> FRACBITS; \
|
||||||
if (mashed > 0) \
|
if (mashed > 0) \
|
||||||
odds = FixedDiv(odds<<FRACBITS, FRACUNIT + mashed) >> FRACBITS \
|
odds = FixedDiv(odds<<FRACBITS, FRACUNIT + mashed) >> FRACBITS \
|
||||||
|
|
||||||
|
#define COOLDOWNONSTART (leveltime < (30*TICRATE)+starttime)
|
||||||
|
|
||||||
switch (item)
|
switch (item)
|
||||||
{
|
{
|
||||||
case KITEM_INVINCIBILITY:
|
case KITEM_INVINCIBILITY:
|
||||||
case KITEM_GROW:
|
case KITEM_GROW:
|
||||||
if (pinvin >= max(1, (pingame+2) / 4))
|
if (pinvin >= max(1, (pingame+3) / 4) || COOLDOWNONSTART)
|
||||||
newodds = 0;
|
newodds = 0;
|
||||||
else
|
else
|
||||||
/* FALLTHRU */
|
POWERITEMODDS(newodds);
|
||||||
|
break;
|
||||||
case KITEM_ROCKETSNEAKER:
|
case KITEM_ROCKETSNEAKER:
|
||||||
case KITEM_JAWZ:
|
case KITEM_JAWZ:
|
||||||
case KITEM_MINE:
|
|
||||||
case KITEM_BALLHOG:
|
case KITEM_BALLHOG:
|
||||||
case KITEM_THUNDERSHIELD:
|
|
||||||
case KRITEM_TRIPLESNEAKER:
|
case KRITEM_TRIPLESNEAKER:
|
||||||
case KRITEM_TRIPLEBANANA:
|
case KRITEM_TRIPLEBANANA:
|
||||||
case KRITEM_TENFOLDBANANA:
|
case KRITEM_TENFOLDBANANA:
|
||||||
|
@ -789,17 +849,32 @@ static INT32 K_KartGetItemOdds(UINT8 pos, SINT8 item, fixed_t mashed)
|
||||||
case KRITEM_DUALJAWZ:
|
case KRITEM_DUALJAWZ:
|
||||||
POWERITEMODDS(newodds);
|
POWERITEMODDS(newodds);
|
||||||
break;
|
break;
|
||||||
|
case KITEM_MINE:
|
||||||
|
if (COOLDOWNONSTART)
|
||||||
|
newodds = 0;
|
||||||
|
else
|
||||||
|
POWERITEMODDS(newodds);
|
||||||
|
break;
|
||||||
case KITEM_SPB:
|
case KITEM_SPB:
|
||||||
//POWERITEMODDS(newodds);
|
|
||||||
if (((indirectitemcooldown > 0) || (pexiting > 0) || (secondist/distvar < 3))
|
if (((indirectitemcooldown > 0) || (pexiting > 0) || (secondist/distvar < 3))
|
||||||
&& (pos != 9)) // Force SPB
|
&& (pos != 9)) // Force SPB
|
||||||
newodds = 0;
|
newodds = 0;
|
||||||
else
|
else
|
||||||
newodds *= min((secondist/distvar)-4, 3);
|
newodds *= min((secondist/distvar)-4, 3); // POWERITEMODDS(newodds);
|
||||||
break;
|
break;
|
||||||
case KITEM_SHRINK:
|
case KITEM_SHRINK:
|
||||||
POWERITEMODDS(newodds);
|
if ((indirectitemcooldown > 0) || (pingame-1 <= pexiting) || COOLDOWNONSTART)
|
||||||
if ((indirectitemcooldown > 0) || (pingame-1 <= pexiting))
|
newodds = 0;
|
||||||
|
else
|
||||||
|
POWERITEMODDS(newodds);
|
||||||
|
break;
|
||||||
|
case KITEM_THUNDERSHIELD:
|
||||||
|
if (thunderisout)
|
||||||
|
newodds = 0;
|
||||||
|
else
|
||||||
|
POWERITEMODDS(newodds);
|
||||||
|
case KITEM_HYUDORO:
|
||||||
|
if ((hyubgone > 0) || COOLDOWNONSTART)
|
||||||
newodds = 0;
|
newodds = 0;
|
||||||
break;
|
break;
|
||||||
default:
|
default:
|
||||||
|
@ -835,7 +910,7 @@ static INT32 K_FindUseodds(player_t *player, fixed_t mashed, INT32 pingame, INT3
|
||||||
|
|
||||||
for (j = 1; j < NUMKARTRESULTS; j++)
|
for (j = 1; j < NUMKARTRESULTS; j++)
|
||||||
{
|
{
|
||||||
if (K_KartGetItemOdds(i, j, mashed) > 0)
|
if (K_KartGetItemOdds(i, j, mashed, spbrush) > 0)
|
||||||
{
|
{
|
||||||
available = true;
|
available = true;
|
||||||
break;
|
break;
|
||||||
|
@ -941,6 +1016,7 @@ static void K_KartItemRoulette(player_t *player, ticcmd_t *cmd)
|
||||||
INT32 bestbumper = 0;
|
INT32 bestbumper = 0;
|
||||||
fixed_t mashed = 0;
|
fixed_t mashed = 0;
|
||||||
boolean dontforcespb = false;
|
boolean dontforcespb = false;
|
||||||
|
boolean spbrush = false;
|
||||||
|
|
||||||
// This makes the roulette cycle through items - if this is 0, you shouldn't be here.
|
// This makes the roulette cycle through items - if this is 0, you shouldn't be here.
|
||||||
if (player->kartstuff[k_itemroulette])
|
if (player->kartstuff[k_itemroulette])
|
||||||
|
@ -1033,15 +1109,18 @@ static void K_KartItemRoulette(player_t *player, ticcmd_t *cmd)
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
if (G_RaceGametype())
|
||||||
|
spbrush = (spbplace != -1 && player->kartstuff[k_position] == spbplace+1);
|
||||||
|
|
||||||
// Initializes existing spawnchance values
|
// Initializes existing spawnchance values
|
||||||
for (i = 0; i < NUMKARTRESULTS; i++)
|
for (i = 0; i < NUMKARTRESULTS; i++)
|
||||||
spawnchance[i] = 0;
|
spawnchance[i] = 0;
|
||||||
|
|
||||||
// Split into another function for a debug function below
|
// Split into another function for a debug function below
|
||||||
useodds = K_FindUseodds(player, mashed, pingame, bestbumper, (spbplace != -1 && player->kartstuff[k_position] == spbplace+1), dontforcespb);
|
useodds = K_FindUseodds(player, mashed, pingame, bestbumper, spbrush, dontforcespb);
|
||||||
|
|
||||||
for (i = 1; i < NUMKARTRESULTS; i++)
|
for (i = 1; i < NUMKARTRESULTS; i++)
|
||||||
spawnchance[i] = (totalspawnchance += K_KartGetItemOdds(useodds, i, mashed));
|
spawnchance[i] = (totalspawnchance += K_KartGetItemOdds(useodds, i, mashed, spbrush));
|
||||||
|
|
||||||
// Award the player whatever power is rolled
|
// Award the player whatever power is rolled
|
||||||
if (totalspawnchance > 0)
|
if (totalspawnchance > 0)
|
||||||
|
@ -2050,16 +2129,19 @@ void K_SpinPlayer(player_t *player, mobj_t *source, INT32 type, mobj_t *inflicto
|
||||||
static void K_RemoveGrowShrink(player_t *player)
|
static void K_RemoveGrowShrink(player_t *player)
|
||||||
{
|
{
|
||||||
player->kartstuff[k_growshrinktimer] = 0;
|
player->kartstuff[k_growshrinktimer] = 0;
|
||||||
|
player->kartstuff[k_growcancel] = 0;
|
||||||
|
|
||||||
if (player->mo && !P_MobjWasRemoved(player->mo))
|
if (player->mo && !P_MobjWasRemoved(player->mo))
|
||||||
{
|
{
|
||||||
if (player->kartstuff[k_invincibilitytimer] == 0)
|
if (player->kartstuff[k_invincibilitytimer] == 0)
|
||||||
player->mo->color = player->skincolor;
|
player->mo->color = player->skincolor;
|
||||||
|
|
||||||
player->mo->scalespeed = mapobjectscale/TICRATE;
|
player->mo->scalespeed = mapobjectscale/TICRATE;
|
||||||
player->mo->destscale = mapobjectscale;
|
player->mo->destscale = mapobjectscale;
|
||||||
if (cv_kartdebugshrink.value && !modeattacking && !player->bot)
|
if (cv_kartdebugshrink.value && !modeattacking && !player->bot)
|
||||||
player->mo->destscale = (6*player->mo->destscale)/8;
|
player->mo->destscale = (6*player->mo->destscale)/8;
|
||||||
}
|
}
|
||||||
|
|
||||||
P_RestoreMusic(player);
|
P_RestoreMusic(player);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -2187,6 +2269,7 @@ void K_ExplodePlayer(player_t *player, mobj_t *source, mobj_t *inflictor) // A b
|
||||||
#ifdef HAVE_BLUA
|
#ifdef HAVE_BLUA
|
||||||
boolean force = false; // Used to check if Lua ShouldExplode should get us damaged reguardless of flashtics or heck knows what.
|
boolean force = false; // Used to check if Lua ShouldExplode should get us damaged reguardless of flashtics or heck knows what.
|
||||||
UINT8 shouldForce = LUAh_ShouldExplode(player, inflictor, source);
|
UINT8 shouldForce = LUAh_ShouldExplode(player, inflictor, source);
|
||||||
|
|
||||||
if (P_MobjWasRemoved(player->mo))
|
if (P_MobjWasRemoved(player->mo))
|
||||||
return; // mobj was removed (in theory that shouldn't happen)
|
return; // mobj was removed (in theory that shouldn't happen)
|
||||||
if (shouldForce == 1)
|
if (shouldForce == 1)
|
||||||
|
@ -2197,6 +2280,7 @@ void K_ExplodePlayer(player_t *player, mobj_t *source, mobj_t *inflictor) // A b
|
||||||
#else
|
#else
|
||||||
static const boolean force = false;
|
static const boolean force = false;
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
if (G_BattleGametype())
|
if (G_BattleGametype())
|
||||||
{
|
{
|
||||||
if (K_IsPlayerWanted(player))
|
if (K_IsPlayerWanted(player))
|
||||||
|
@ -2278,13 +2362,13 @@ void K_ExplodePlayer(player_t *player, mobj_t *source, mobj_t *inflictor) // A b
|
||||||
}
|
}
|
||||||
|
|
||||||
player->kartstuff[k_spinouttype] = 1;
|
player->kartstuff[k_spinouttype] = 1;
|
||||||
player->kartstuff[k_spinouttimer] = 2*TICRATE+(TICRATE/2);
|
player->kartstuff[k_spinouttimer] = (3*TICRATE/2)+2;
|
||||||
|
|
||||||
player->powers[pw_flashing] = K_GetKartFlashing(player);
|
player->powers[pw_flashing] = K_GetKartFlashing(player);
|
||||||
|
|
||||||
if (inflictor && inflictor->type == MT_SPBEXPLOSION && inflictor->extravalue1)
|
if (inflictor && inflictor->type == MT_SPBEXPLOSION && inflictor->extravalue1)
|
||||||
{
|
{
|
||||||
player->kartstuff[k_spinouttimer] = ((3*player->kartstuff[k_spinouttimer])/2)+1;
|
player->kartstuff[k_spinouttimer] = ((5*player->kartstuff[k_spinouttimer])/2)+1;
|
||||||
player->mo->momz *= 2;
|
player->mo->momz *= 2;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -2483,6 +2567,7 @@ void K_SpawnMineExplosion(mobj_t *source, UINT8 color)
|
||||||
for (i = 0; i < 32; i++)
|
for (i = 0; i < 32; i++)
|
||||||
{
|
{
|
||||||
dust = P_SpawnMobj(source->x, source->y, source->z, MT_SMOKE);
|
dust = P_SpawnMobj(source->x, source->y, source->z, MT_SMOKE);
|
||||||
|
P_SetMobjState(dust, S_OPAQUESMOKE1);
|
||||||
dust->angle = (ANGLE_180/16) * i;
|
dust->angle = (ANGLE_180/16) * i;
|
||||||
P_SetScale(dust, source->scale);
|
P_SetScale(dust, source->scale);
|
||||||
dust->destscale = source->scale*10;
|
dust->destscale = source->scale*10;
|
||||||
|
@ -2510,6 +2595,7 @@ void K_SpawnMineExplosion(mobj_t *source, UINT8 color)
|
||||||
dust = P_SpawnMobj(source->x + P_RandomRange(-radius, radius)*FRACUNIT,
|
dust = P_SpawnMobj(source->x + P_RandomRange(-radius, radius)*FRACUNIT,
|
||||||
source->y + P_RandomRange(-radius, radius)*FRACUNIT,
|
source->y + P_RandomRange(-radius, radius)*FRACUNIT,
|
||||||
source->z + P_RandomRange(0, height)*FRACUNIT, MT_SMOKE);
|
source->z + P_RandomRange(0, height)*FRACUNIT, MT_SMOKE);
|
||||||
|
P_SetMobjState(dust, S_OPAQUESMOKE1);
|
||||||
P_SetScale(dust, source->scale);
|
P_SetScale(dust, source->scale);
|
||||||
dust->destscale = source->scale*10;
|
dust->destscale = source->scale*10;
|
||||||
dust->scalespeed = source->scale/12;
|
dust->scalespeed = source->scale/12;
|
||||||
|
@ -2979,7 +3065,8 @@ static mobj_t *K_FindLastTrailMobj(player_t *player)
|
||||||
static mobj_t *K_ThrowKartItem(player_t *player, boolean missile, mobjtype_t mapthing, INT32 defaultDir, INT32 altthrow)
|
static mobj_t *K_ThrowKartItem(player_t *player, boolean missile, mobjtype_t mapthing, INT32 defaultDir, INT32 altthrow)
|
||||||
{
|
{
|
||||||
mobj_t *mo;
|
mobj_t *mo;
|
||||||
INT32 dir, PROJSPEED;
|
INT32 dir;
|
||||||
|
fixed_t PROJSPEED;
|
||||||
angle_t newangle;
|
angle_t newangle;
|
||||||
fixed_t newx, newy, newz;
|
fixed_t newx, newy, newz;
|
||||||
mobj_t *throwmo;
|
mobj_t *throwmo;
|
||||||
|
@ -3017,12 +3104,19 @@ static mobj_t *K_ThrowKartItem(player_t *player, boolean missile, mobjtype_t map
|
||||||
{
|
{
|
||||||
if (altthrow == 2) // Kitchen sink throwing
|
if (altthrow == 2) // Kitchen sink throwing
|
||||||
{
|
{
|
||||||
|
#if 0
|
||||||
if (player->kartstuff[k_throwdir] == 1)
|
if (player->kartstuff[k_throwdir] == 1)
|
||||||
dir = 3;
|
dir = 3;
|
||||||
else if (player->kartstuff[k_throwdir] == -1)
|
else if (player->kartstuff[k_throwdir] == -1)
|
||||||
dir = 1;
|
dir = 1;
|
||||||
else
|
else
|
||||||
dir = 2;
|
dir = 2;
|
||||||
|
#else
|
||||||
|
if (player->kartstuff[k_throwdir] == 1)
|
||||||
|
dir = 2;
|
||||||
|
else
|
||||||
|
dir = 1;
|
||||||
|
#endif
|
||||||
}
|
}
|
||||||
else
|
else
|
||||||
{
|
{
|
||||||
|
@ -3096,12 +3190,14 @@ static mobj_t *K_ThrowKartItem(player_t *player, boolean missile, mobjtype_t map
|
||||||
if (mo)
|
if (mo)
|
||||||
{
|
{
|
||||||
angle_t fa = player->mo->angle>>ANGLETOFINESHIFT;
|
angle_t fa = player->mo->angle>>ANGLETOFINESHIFT;
|
||||||
INT32 HEIGHT = (20 + (dir*10))*mapobjectscale + player->mo->momz;
|
fixed_t HEIGHT = (20 + (dir*10))*mapobjectscale + player->mo->momz;
|
||||||
|
|
||||||
mo->momx = player->mo->momx + FixedMul(FINECOSINE(fa), (altthrow == 2 ? 2*PROJSPEED/3 : PROJSPEED));
|
mo->momx = player->mo->momx + FixedMul(FINECOSINE(fa), PROJSPEED*dir);
|
||||||
mo->momy = player->mo->momy + FixedMul(FINESINE(fa), (altthrow == 2 ? 2*PROJSPEED/3 : PROJSPEED));
|
mo->momy = player->mo->momy + FixedMul(FINESINE(fa), PROJSPEED*dir);
|
||||||
mo->momz = P_MobjFlip(player->mo) * HEIGHT;
|
mo->momz = P_MobjFlip(player->mo) * HEIGHT;
|
||||||
|
|
||||||
|
mo->extravalue2 = dir;
|
||||||
|
|
||||||
if (mo->eflags & MFE_UNDERWATER)
|
if (mo->eflags & MFE_UNDERWATER)
|
||||||
mo->momz = (117 * mo->momz) / 200;
|
mo->momz = (117 * mo->momz) / 200;
|
||||||
|
|
||||||
|
@ -3169,12 +3265,68 @@ static mobj_t *K_ThrowKartItem(player_t *player, boolean missile, mobjtype_t map
|
||||||
|
|
||||||
if (player->mo->eflags & MFE_VERTICALFLIP)
|
if (player->mo->eflags & MFE_VERTICALFLIP)
|
||||||
mo->eflags |= MFE_VERTICALFLIP;
|
mo->eflags |= MFE_VERTICALFLIP;
|
||||||
|
|
||||||
|
if (mapthing == MT_SSMINE)
|
||||||
|
mo->extravalue1 = 49; // Pads the start-up length from 21 frames to a full 2 seconds
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
return mo;
|
return mo;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
void K_PuntMine(mobj_t *thismine, mobj_t *punter)
|
||||||
|
{
|
||||||
|
angle_t fa = R_PointToAngle2(0, 0, punter->momx, punter->momy) >> ANGLETOFINESHIFT;
|
||||||
|
fixed_t z = 30*mapobjectscale + punter->momz;
|
||||||
|
fixed_t spd;
|
||||||
|
mobj_t *mine;
|
||||||
|
|
||||||
|
if (!thismine || P_MobjWasRemoved(thismine))
|
||||||
|
return;
|
||||||
|
|
||||||
|
if (thismine->type == MT_SSMINE_SHIELD) // Create a new mine
|
||||||
|
{
|
||||||
|
mine = P_SpawnMobj(thismine->x, thismine->y, thismine->z, MT_SSMINE);
|
||||||
|
P_SetTarget(&mine->target, thismine->target);
|
||||||
|
mine->angle = thismine->angle;
|
||||||
|
mine->flags2 = thismine->flags2;
|
||||||
|
mine->floorz = thismine->floorz;
|
||||||
|
mine->ceilingz = thismine->ceilingz;
|
||||||
|
P_RemoveMobj(thismine);
|
||||||
|
}
|
||||||
|
else
|
||||||
|
mine = thismine;
|
||||||
|
|
||||||
|
if (!mine || P_MobjWasRemoved(mine))
|
||||||
|
return;
|
||||||
|
|
||||||
|
switch (gamespeed)
|
||||||
|
{
|
||||||
|
case 0:
|
||||||
|
spd = 68*mapobjectscale; // Avg Speed is 34
|
||||||
|
break;
|
||||||
|
case 2:
|
||||||
|
spd = 96*mapobjectscale; // Avg Speed is 48
|
||||||
|
break;
|
||||||
|
default:
|
||||||
|
spd = 82*mapobjectscale; // Avg Speed is 41
|
||||||
|
break;
|
||||||
|
}
|
||||||
|
|
||||||
|
mine->flags |= MF_NOCLIPTHING;
|
||||||
|
|
||||||
|
P_SetMobjState(mine, S_SSMINE_AIR1);
|
||||||
|
mine->threshold = 10;
|
||||||
|
mine->extravalue1 = 0;
|
||||||
|
mine->reactiontime = mine->info->reactiontime;
|
||||||
|
|
||||||
|
mine->momx = punter->momx + FixedMul(FINECOSINE(fa), spd);
|
||||||
|
mine->momy = punter->momy + FixedMul(FINESINE(fa), spd);
|
||||||
|
mine->momz = P_MobjFlip(mine) * z;
|
||||||
|
|
||||||
|
mine->flags &= ~MF_NOCLIPTHING;
|
||||||
|
}
|
||||||
|
|
||||||
#define THUNDERRADIUS 320
|
#define THUNDERRADIUS 320
|
||||||
|
|
||||||
static void K_DoThunderShield(player_t *player)
|
static void K_DoThunderShield(player_t *player)
|
||||||
|
@ -3389,14 +3541,14 @@ static void K_DoShrink(player_t *user)
|
||||||
{
|
{
|
||||||
// Start shrinking!
|
// Start shrinking!
|
||||||
K_DropItems(&players[i]);
|
K_DropItems(&players[i]);
|
||||||
|
players[i].kartstuff[k_growshrinktimer] = -(20*TICRATE);
|
||||||
|
|
||||||
if (!P_MobjWasRemoved(players[i].mo))
|
if (players[i].mo && !P_MobjWasRemoved(players[i].mo))
|
||||||
{
|
{
|
||||||
players[i].mo->scalespeed = mapobjectscale/TICRATE;
|
players[i].mo->scalespeed = mapobjectscale/TICRATE;
|
||||||
players[i].mo->destscale = (6*mapobjectscale)/8;
|
players[i].mo->destscale = (6*mapobjectscale)/8;
|
||||||
if (cv_kartdebugshrink.value && !modeattacking && !players[i].bot)
|
if (cv_kartdebugshrink.value && !modeattacking && !players[i].bot)
|
||||||
players[i].mo->destscale = (6*players[i].mo->destscale)/8;
|
players[i].mo->destscale = (6*players[i].mo->destscale)/8;
|
||||||
players[i].kartstuff[k_growshrinktimer] = -(200+(40*(MAXPLAYERS-players[i].kartstuff[k_position])));
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -4325,7 +4477,7 @@ void K_KartPlayerThink(player_t *player, ticcmd_t *cmd)
|
||||||
else
|
else
|
||||||
{
|
{
|
||||||
player->mo->colorized = true;
|
player->mo->colorized = true;
|
||||||
player->mo->color = SKINCOLOR_SCARLET;
|
player->mo->color = SKINCOLOR_CRIMSON;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
else if (player->kartstuff[k_invincibilitytimer]) // setting players to use the star colormap and spawning afterimages
|
else if (player->kartstuff[k_invincibilitytimer]) // setting players to use the star colormap and spawning afterimages
|
||||||
|
@ -5134,6 +5286,18 @@ void K_MoveKartPlayer(player_t *player, boolean onground)
|
||||||
if (player->kartstuff[k_rocketsneakertimer] < 1)
|
if (player->kartstuff[k_rocketsneakertimer] < 1)
|
||||||
player->kartstuff[k_rocketsneakertimer] = 1;
|
player->kartstuff[k_rocketsneakertimer] = 1;
|
||||||
}
|
}
|
||||||
|
// Grow Canceling
|
||||||
|
else if (player->kartstuff[k_growshrinktimer] > 0)
|
||||||
|
{
|
||||||
|
if (cmd->buttons & BT_ATTACK)
|
||||||
|
{
|
||||||
|
player->kartstuff[k_growcancel]++;
|
||||||
|
if (player->kartstuff[k_growcancel] > 26)
|
||||||
|
K_RemoveGrowShrink(player);
|
||||||
|
}
|
||||||
|
else
|
||||||
|
player->kartstuff[k_growcancel] = 0;
|
||||||
|
}
|
||||||
else if (player->kartstuff[k_itemamount] <= 0)
|
else if (player->kartstuff[k_itemamount] <= 0)
|
||||||
{
|
{
|
||||||
player->kartstuff[k_itemamount] = player->kartstuff[k_itemheld] = 0;
|
player->kartstuff[k_itemamount] = player->kartstuff[k_itemheld] = 0;
|
||||||
|
@ -5490,6 +5654,9 @@ void K_MoveKartPlayer(player_t *player, boolean onground)
|
||||||
if (player->kartstuff[k_itemtype] != KITEM_THUNDERSHIELD)
|
if (player->kartstuff[k_itemtype] != KITEM_THUNDERSHIELD)
|
||||||
player->kartstuff[k_curshield] = 0;
|
player->kartstuff[k_curshield] = 0;
|
||||||
|
|
||||||
|
if (player->kartstuff[k_growshrinktimer] <= 0)
|
||||||
|
player->kartstuff[k_growcancel] = 0;
|
||||||
|
|
||||||
if (player->kartstuff[k_itemtype] == KITEM_SPB
|
if (player->kartstuff[k_itemtype] == KITEM_SPB
|
||||||
|| player->kartstuff[k_itemtype] == KITEM_SHRINK
|
|| player->kartstuff[k_itemtype] == KITEM_SHRINK
|
||||||
|| player->kartstuff[k_growshrinktimer] < 0)
|
|| player->kartstuff[k_growshrinktimer] < 0)
|
||||||
|
@ -6554,6 +6721,8 @@ static void K_drawKartItem(void)
|
||||||
//INT32 splitflags = K_calcSplitFlags(V_SNAPTOTOP|V_SNAPTOLEFT);
|
//INT32 splitflags = K_calcSplitFlags(V_SNAPTOTOP|V_SNAPTOLEFT);
|
||||||
const INT32 numberdisplaymin = ((!offset && stplyr->kartstuff[k_itemtype] == KITEM_ORBINAUT) ? 5 : 2);
|
const INT32 numberdisplaymin = ((!offset && stplyr->kartstuff[k_itemtype] == KITEM_ORBINAUT) ? 5 : 2);
|
||||||
INT32 itembar = 0;
|
INT32 itembar = 0;
|
||||||
|
INT32 maxl = 0; // itembar's normal highest value
|
||||||
|
const INT32 barlength = (splitscreen > 1 ? 12 : 26);
|
||||||
UINT8 localcolor = SKINCOLOR_NONE;
|
UINT8 localcolor = SKINCOLOR_NONE;
|
||||||
SINT8 colormode = TC_RAINBOW;
|
SINT8 colormode = TC_RAINBOW;
|
||||||
UINT8 *colmap = NULL;
|
UINT8 *colmap = NULL;
|
||||||
|
@ -6662,6 +6831,8 @@ static void K_drawKartItem(void)
|
||||||
else if (stplyr->kartstuff[k_rocketsneakertimer] > 1)
|
else if (stplyr->kartstuff[k_rocketsneakertimer] > 1)
|
||||||
{
|
{
|
||||||
itembar = stplyr->kartstuff[k_rocketsneakertimer];
|
itembar = stplyr->kartstuff[k_rocketsneakertimer];
|
||||||
|
maxl = (itemtime*3) - barlength;
|
||||||
|
|
||||||
if (leveltime & 1)
|
if (leveltime & 1)
|
||||||
localpatch = kp_rocketsneaker[offset];
|
localpatch = kp_rocketsneaker[offset];
|
||||||
else
|
else
|
||||||
|
@ -6669,6 +6840,12 @@ static void K_drawKartItem(void)
|
||||||
}
|
}
|
||||||
else if (stplyr->kartstuff[k_growshrinktimer] > 0)
|
else if (stplyr->kartstuff[k_growshrinktimer] > 0)
|
||||||
{
|
{
|
||||||
|
if (stplyr->kartstuff[k_growcancel])
|
||||||
|
{
|
||||||
|
itembar = stplyr->kartstuff[k_growcancel];
|
||||||
|
maxl = 26;
|
||||||
|
}
|
||||||
|
|
||||||
if (leveltime & 1)
|
if (leveltime & 1)
|
||||||
localpatch = kp_grow[offset];
|
localpatch = kp_grow[offset];
|
||||||
else
|
else
|
||||||
|
@ -6820,8 +6997,6 @@ static void K_drawKartItem(void)
|
||||||
// Extensible meter, currently only used for rocket sneaker...
|
// Extensible meter, currently only used for rocket sneaker...
|
||||||
if (itembar && hudtrans)
|
if (itembar && hudtrans)
|
||||||
{
|
{
|
||||||
const INT32 barlength = (splitscreen > 1 ? 12 : 26);
|
|
||||||
const INT32 maxl = (itemtime*3) - barlength; // timer's normal highest value
|
|
||||||
const INT32 fill = ((itembar*barlength)/maxl);
|
const INT32 fill = ((itembar*barlength)/maxl);
|
||||||
const INT32 length = min(barlength, fill);
|
const INT32 length = min(barlength, fill);
|
||||||
const INT32 height = (offset ? 1 : 2);
|
const INT32 height = (offset ? 1 : 2);
|
||||||
|
@ -7758,8 +7933,12 @@ static void K_drawKartMinimapHead(mobj_t *mo, INT32 x, INT32 y, INT32 flags, pat
|
||||||
else
|
else
|
||||||
colormap = R_GetTranslationColormap(skin, mo->color, GTC_CACHE);
|
colormap = R_GetTranslationColormap(skin, mo->color, GTC_CACHE);
|
||||||
V_DrawFixedPatch(amxpos, amypos, FRACUNIT, flags, facemmapprefix[skin], colormap);
|
V_DrawFixedPatch(amxpos, amypos, FRACUNIT, flags, facemmapprefix[skin], colormap);
|
||||||
if (mo->player && K_IsPlayerWanted(mo->player))
|
if (mo->player
|
||||||
|
&& ((G_RaceGametype() && mo->player->kartstuff[k_position] == spbplace)
|
||||||
|
|| (G_BattleGametype() && K_IsPlayerWanted(mo->player))))
|
||||||
|
{
|
||||||
V_DrawFixedPatch(amxpos - (4<<FRACBITS), amypos - (4<<FRACBITS), FRACUNIT, flags, kp_wantedreticle, NULL);
|
V_DrawFixedPatch(amxpos - (4<<FRACBITS), amypos - (4<<FRACBITS), FRACUNIT, flags, kp_wantedreticle, NULL);
|
||||||
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -8435,6 +8614,7 @@ static void K_drawDistributionDebugger(void)
|
||||||
INT32 i;
|
INT32 i;
|
||||||
INT32 x = -9, y = -9;
|
INT32 x = -9, y = -9;
|
||||||
boolean dontforcespb = false;
|
boolean dontforcespb = false;
|
||||||
|
boolean spbrush = false;
|
||||||
|
|
||||||
if (stplyr != &players[displayplayer]) // only for p1
|
if (stplyr != &players[displayplayer]) // only for p1
|
||||||
return;
|
return;
|
||||||
|
@ -8451,11 +8631,14 @@ static void K_drawDistributionDebugger(void)
|
||||||
bestbumper = players[i].kartstuff[k_bumper];
|
bestbumper = players[i].kartstuff[k_bumper];
|
||||||
}
|
}
|
||||||
|
|
||||||
useodds = K_FindUseodds(stplyr, 0, pingame, bestbumper, (spbplace != -1 && stplyr->kartstuff[k_position] == spbplace+1), dontforcespb);
|
if (G_RaceGametype())
|
||||||
|
spbrush = (spbplace != -1 && stplyr->kartstuff[k_position] == spbplace+1);
|
||||||
|
|
||||||
|
useodds = K_FindUseodds(stplyr, 0, pingame, bestbumper, spbrush, dontforcespb);
|
||||||
|
|
||||||
for (i = 1; i < NUMKARTRESULTS; i++)
|
for (i = 1; i < NUMKARTRESULTS; i++)
|
||||||
{
|
{
|
||||||
const INT32 itemodds = K_KartGetItemOdds(useodds, i, 0);
|
const INT32 itemodds = K_KartGetItemOdds(useodds, i, 0, spbrush);
|
||||||
if (itemodds <= 0)
|
if (itemodds <= 0)
|
||||||
continue;
|
continue;
|
||||||
|
|
||||||
|
@ -8706,13 +8889,13 @@ void K_drawKartHUD(void)
|
||||||
for (c = 1; c < MAXSKINCOLORS; c++)
|
for (c = 1; c < MAXSKINCOLORS; c++)
|
||||||
{
|
{
|
||||||
UINT8 *cm = R_GetTranslationColormap(TC_RAINBOW, c, 0);
|
UINT8 *cm = R_GetTranslationColormap(TC_RAINBOW, c, 0);
|
||||||
V_DrawFixedPatch(x<<FRACBITS, y<<FRACBITS, FRACUNIT, 0, facewantprefix[stplyr->skin], cm);
|
V_DrawFixedPatch(x<<FRACBITS, y<<FRACBITS, FRACUNIT>>1, 0, facewantprefix[stplyr->skin], cm);
|
||||||
|
|
||||||
x += 30;
|
x += 16;
|
||||||
if (x > BASEVIDWIDTH-30)
|
if (x > BASEVIDWIDTH-16)
|
||||||
{
|
{
|
||||||
x = 0;
|
x = 0;
|
||||||
y += 30;
|
y += 16;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
|
@ -41,6 +41,7 @@ void K_SpawnBoostTrail(player_t *player);
|
||||||
void K_SpawnSparkleTrail(mobj_t *mo);
|
void K_SpawnSparkleTrail(mobj_t *mo);
|
||||||
void K_SpawnWipeoutTrail(mobj_t *mo, boolean translucent);
|
void K_SpawnWipeoutTrail(mobj_t *mo, boolean translucent);
|
||||||
void K_DriftDustHandling(mobj_t *spawner);
|
void K_DriftDustHandling(mobj_t *spawner);
|
||||||
|
void K_PuntMine(mobj_t *mine, mobj_t *punter);
|
||||||
void K_DoSneaker(player_t *player, INT32 type);
|
void K_DoSneaker(player_t *player, INT32 type);
|
||||||
void K_DoPogoSpring(mobj_t *mo, fixed_t vertispeed, UINT8 sound);
|
void K_DoPogoSpring(mobj_t *mo, fixed_t vertispeed, UINT8 sound);
|
||||||
void K_KillBananaChain(mobj_t *banana, mobj_t *inflictor, mobj_t *source);
|
void K_KillBananaChain(mobj_t *banana, mobj_t *inflictor, mobj_t *source);
|
||||||
|
|
|
@ -411,6 +411,12 @@ void P_TouchSpecialThing(mobj_t *special, mobj_t *toucher, boolean heightcheck)
|
||||||
player->kartstuff[k_roulettetype] = 2;
|
player->kartstuff[k_roulettetype] = 2;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
#if 0
|
||||||
|
// Eggbox snipe!
|
||||||
|
if (special->type == MT_EGGMANITEM && special->health > 1)
|
||||||
|
S_StartSound(toucher, sfx_bsnipe);
|
||||||
|
#endif
|
||||||
|
|
||||||
{
|
{
|
||||||
mobj_t *poof = P_SpawnMobj(special->x, special->y, special->z, MT_EXPLODE);
|
mobj_t *poof = P_SpawnMobj(special->x, special->y, special->z, MT_EXPLODE);
|
||||||
S_StartSound(poof, special->info->deathsound);
|
S_StartSound(poof, special->info->deathsound);
|
||||||
|
|
24
src/p_map.c
24
src/p_map.c
|
@ -853,7 +853,7 @@ static boolean PIT_CheckThing(mobj_t *thing)
|
||||||
|
|
||||||
if (thing->type == MT_PLAYER)
|
if (thing->type == MT_PLAYER)
|
||||||
{
|
{
|
||||||
S_StartSound(NULL, sfx_cgot); //let all players hear it.
|
S_StartSound(NULL, sfx_bsnipe); //let all players hear it.
|
||||||
HU_SetCEchoFlags(0);
|
HU_SetCEchoFlags(0);
|
||||||
HU_SetCEchoDuration(5);
|
HU_SetCEchoDuration(5);
|
||||||
HU_DoCEcho(va("%s\\was hit by a kitchen sink.\\\\\\\\", player_names[thing->player-players]));
|
HU_DoCEcho(va("%s\\was hit by a kitchen sink.\\\\\\\\", player_names[thing->player-players]));
|
||||||
|
@ -915,6 +915,10 @@ static boolean PIT_CheckThing(mobj_t *thing)
|
||||||
|
|
||||||
if (thing->type == MT_PLAYER)
|
if (thing->type == MT_PLAYER)
|
||||||
{
|
{
|
||||||
|
// Banana snipe!
|
||||||
|
if (tmthing->type == MT_BANANA && tmthing->health > 1)
|
||||||
|
S_StartSound(thing, sfx_bsnipe);
|
||||||
|
|
||||||
// Player Damage
|
// Player Damage
|
||||||
K_SpinPlayer(thing->player, tmthing->target, 0, tmthing, (tmthing->type == MT_BANANA || tmthing->type == MT_BANANA_SHIELD));
|
K_SpinPlayer(thing->player, tmthing->target, 0, tmthing, (tmthing->type == MT_BANANA || tmthing->type == MT_BANANA_SHIELD));
|
||||||
|
|
||||||
|
@ -983,7 +987,12 @@ static boolean PIT_CheckThing(mobj_t *thing)
|
||||||
|
|
||||||
if (thing->type == MT_PLAYER)
|
if (thing->type == MT_PLAYER)
|
||||||
{
|
{
|
||||||
P_KillMobj(tmthing, thing, thing);
|
// Bomb punting
|
||||||
|
if ((tmthing->state >= &states[S_SSMINE1] && tmthing->state <= &states[S_SSMINE4])
|
||||||
|
|| (tmthing->state >= &states[S_SSMINE_DEPLOY8] && tmthing->state <= &states[S_SSMINE_DEPLOY13]))
|
||||||
|
P_KillMobj(tmthing, thing, thing);
|
||||||
|
else
|
||||||
|
K_PuntMine(tmthing, thing);
|
||||||
}
|
}
|
||||||
else if (thing->type == MT_ORBINAUT || thing->type == MT_JAWZ || thing->type == MT_JAWZ_DUD
|
else if (thing->type == MT_ORBINAUT || thing->type == MT_JAWZ || thing->type == MT_JAWZ_DUD
|
||||||
|| thing->type == MT_ORBINAUT_SHIELD || thing->type == MT_JAWZ_SHIELD)
|
|| thing->type == MT_ORBINAUT_SHIELD || thing->type == MT_JAWZ_SHIELD)
|
||||||
|
@ -1062,6 +1071,10 @@ static boolean PIT_CheckThing(mobj_t *thing)
|
||||||
if (tmthing->health <= 0 || thing->health <= 0)
|
if (tmthing->health <= 0 || thing->health <= 0)
|
||||||
return true;
|
return true;
|
||||||
|
|
||||||
|
// Banana snipe!
|
||||||
|
if (thing->type == MT_BANANA && thing->health > 1)
|
||||||
|
S_StartSound(tmthing, sfx_bsnipe);
|
||||||
|
|
||||||
// Player Damage
|
// Player Damage
|
||||||
K_SpinPlayer(tmthing->player, thing->target, 0, tmthing, (thing->type == MT_BANANA || thing->type == MT_BANANA_SHIELD));
|
K_SpinPlayer(tmthing->player, thing->target, 0, tmthing, (thing->type == MT_BANANA || thing->type == MT_BANANA_SHIELD));
|
||||||
|
|
||||||
|
@ -1085,7 +1098,12 @@ static boolean PIT_CheckThing(mobj_t *thing)
|
||||||
if (tmthing->health <= 0 || thing->health <= 0)
|
if (tmthing->health <= 0 || thing->health <= 0)
|
||||||
return true;
|
return true;
|
||||||
|
|
||||||
P_KillMobj(thing, tmthing, tmthing);
|
// Bomb punting
|
||||||
|
if ((thing->state >= &states[S_SSMINE1] && thing->state <= &states[S_SSMINE4])
|
||||||
|
|| (thing->state >= &states[S_SSMINE_DEPLOY8] && thing->state <= &states[S_SSMINE_DEPLOY13]))
|
||||||
|
P_KillMobj(thing, tmthing, tmthing);
|
||||||
|
else
|
||||||
|
K_PuntMine(thing, tmthing);
|
||||||
}
|
}
|
||||||
else if (thing->type == MT_MINEEXPLOSION && tmthing->player)
|
else if (thing->type == MT_MINEEXPLOSION && tmthing->player)
|
||||||
{
|
{
|
||||||
|
|
29
src/p_mobj.c
29
src/p_mobj.c
|
@ -1404,11 +1404,14 @@ fixed_t P_GetMobjGravity(mobj_t *mo)
|
||||||
break;
|
break;
|
||||||
case MT_BANANA:
|
case MT_BANANA:
|
||||||
case MT_EGGMANITEM:
|
case MT_EGGMANITEM:
|
||||||
|
case MT_SSMINE:
|
||||||
|
case MT_SINK:
|
||||||
|
if (mo->extravalue2 > 0)
|
||||||
|
gravityadd *= mo->extravalue2;
|
||||||
|
/* FALLTHRU */
|
||||||
case MT_ORBINAUT:
|
case MT_ORBINAUT:
|
||||||
case MT_JAWZ:
|
case MT_JAWZ:
|
||||||
case MT_JAWZ_DUD:
|
case MT_JAWZ_DUD:
|
||||||
case MT_SSMINE:
|
|
||||||
case MT_SINK:
|
|
||||||
gravityadd = (5*gravityadd)/2;
|
gravityadd = (5*gravityadd)/2;
|
||||||
break;
|
break;
|
||||||
case MT_SIGN:
|
case MT_SIGN:
|
||||||
|
@ -6658,6 +6661,7 @@ void P_MobjThinker(mobj_t *mobj)
|
||||||
fixed_t y = P_RandomRange(-35, 35)*mobj->scale;
|
fixed_t y = P_RandomRange(-35, 35)*mobj->scale;
|
||||||
fixed_t z = P_RandomRange(0, 70)*mobj->scale;
|
fixed_t z = P_RandomRange(0, 70)*mobj->scale;
|
||||||
mobj_t *smoke = P_SpawnMobj(mobj->x + x, mobj->y + y, mobj->z + z, MT_SMOKE);
|
mobj_t *smoke = P_SpawnMobj(mobj->x + x, mobj->y + y, mobj->z + z, MT_SMOKE);
|
||||||
|
P_SetMobjState(smoke, S_OPAQUESMOKE1);
|
||||||
smoke->scale = mobj->scale * 2;
|
smoke->scale = mobj->scale * 2;
|
||||||
smoke->destscale = mobj->scale * 6;
|
smoke->destscale = mobj->scale * 6;
|
||||||
smoke->momz = P_RandomRange(4, 9)*FRACUNIT;
|
smoke->momz = P_RandomRange(4, 9)*FRACUNIT;
|
||||||
|
@ -6679,6 +6683,7 @@ void P_MobjThinker(mobj_t *mobj)
|
||||||
else
|
else
|
||||||
{
|
{
|
||||||
mobj_t *smoke = P_SpawnMobj(mobj->x + x, mobj->y + y, mobj->z + z, MT_SMOKE);
|
mobj_t *smoke = P_SpawnMobj(mobj->x + x, mobj->y + y, mobj->z + z, MT_SMOKE);
|
||||||
|
P_SetMobjState(smoke, S_OPAQUESMOKE1);
|
||||||
smoke->scale = mobj->scale;
|
smoke->scale = mobj->scale;
|
||||||
smoke->destscale = mobj->scale*2;
|
smoke->destscale = mobj->scale*2;
|
||||||
}
|
}
|
||||||
|
@ -8197,28 +8202,26 @@ void P_MobjThinker(mobj_t *mobj)
|
||||||
mobj->color = mobj->target->player->skincolor;
|
mobj->color = mobj->target->player->skincolor;
|
||||||
else
|
else
|
||||||
mobj->color = SKINCOLOR_KETCHUP;
|
mobj->color = SKINCOLOR_KETCHUP;
|
||||||
|
|
||||||
if (mobj->momx || mobj->momy)
|
if (mobj->momx || mobj->momy)
|
||||||
P_SpawnGhostMobj(mobj);
|
P_SpawnGhostMobj(mobj);
|
||||||
if (P_IsObjectOnGround(mobj))
|
|
||||||
|
if (P_IsObjectOnGround(mobj) && (mobj->state == &states[S_SSMINE_AIR1] || mobj->state == &states[S_SSMINE_AIR2]))
|
||||||
{
|
{
|
||||||
if (mobj->state == &states[S_SSMINE_AIR1] || mobj->state == &states[S_SSMINE_AIR2])
|
if (mobj->extravalue1 > 0)
|
||||||
P_SetMobjState(mobj, S_SSMINE_DEPLOY1);
|
mobj->extravalue1--;
|
||||||
if (mobj->reactiontime >= mobj->info->reactiontime)
|
else
|
||||||
{
|
{
|
||||||
mobj->momx = mobj->momy = 0;
|
mobj->momx = mobj->momy = 0;
|
||||||
S_StartSound(mobj, mobj->info->activesound);
|
S_StartSound(mobj, mobj->info->activesound);
|
||||||
mobj->reactiontime--;
|
P_SetMobjState(mobj, S_SSMINE_DEPLOY1);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
if (mobj->reactiontime && mobj->reactiontime < mobj->info->reactiontime)
|
|
||||||
{
|
|
||||||
mobj->reactiontime--;
|
|
||||||
if (!mobj->reactiontime)
|
|
||||||
P_KillMobj(mobj, NULL, NULL);
|
|
||||||
}
|
|
||||||
if ((mobj->state >= &states[S_SSMINE1] && mobj->state <= &states[S_SSMINE4])
|
if ((mobj->state >= &states[S_SSMINE1] && mobj->state <= &states[S_SSMINE4])
|
||||||
|| (mobj->state >= &states[S_SSMINE_DEPLOY8] && mobj->state <= &states[S_SSMINE_DEPLOY13]))
|
|| (mobj->state >= &states[S_SSMINE_DEPLOY8] && mobj->state <= &states[S_SSMINE_DEPLOY13]))
|
||||||
A_GrenadeRing(mobj);
|
A_GrenadeRing(mobj);
|
||||||
|
|
||||||
if (mobj->threshold > 0)
|
if (mobj->threshold > 0)
|
||||||
mobj->threshold--;
|
mobj->threshold--;
|
||||||
break;
|
break;
|
||||||
|
|
|
@ -3348,6 +3348,7 @@ static void P_NetArchiveMisc(void)
|
||||||
|
|
||||||
WRITEUINT32(save_p, wantedcalcdelay);
|
WRITEUINT32(save_p, wantedcalcdelay);
|
||||||
WRITEUINT32(save_p, indirectitemcooldown);
|
WRITEUINT32(save_p, indirectitemcooldown);
|
||||||
|
WRITEUINT32(save_p, hyubgone);
|
||||||
WRITEUINT32(save_p, mapreset);
|
WRITEUINT32(save_p, mapreset);
|
||||||
WRITEUINT8(save_p, nospectategrief);
|
WRITEUINT8(save_p, nospectategrief);
|
||||||
WRITEUINT8(save_p, thwompsactive);
|
WRITEUINT8(save_p, thwompsactive);
|
||||||
|
@ -3456,6 +3457,7 @@ static inline boolean P_NetUnArchiveMisc(void)
|
||||||
|
|
||||||
wantedcalcdelay = READUINT32(save_p);
|
wantedcalcdelay = READUINT32(save_p);
|
||||||
indirectitemcooldown = READUINT32(save_p);
|
indirectitemcooldown = READUINT32(save_p);
|
||||||
|
hyubgone = READUINT32(save_p);
|
||||||
mapreset = READUINT32(save_p);
|
mapreset = READUINT32(save_p);
|
||||||
nospectategrief = READUINT8(save_p);
|
nospectategrief = READUINT8(save_p);
|
||||||
thwompsactive = (boolean)READUINT8(save_p);
|
thwompsactive = (boolean)READUINT8(save_p);
|
||||||
|
|
|
@ -3246,6 +3246,7 @@ boolean P_SetupLevel(boolean skipprecip)
|
||||||
|
|
||||||
wantedcalcdelay = wantedfrequency*2;
|
wantedcalcdelay = wantedfrequency*2;
|
||||||
indirectitemcooldown = 0;
|
indirectitemcooldown = 0;
|
||||||
|
hyubgone = 0;
|
||||||
mapreset = 0;
|
mapreset = 0;
|
||||||
nospectategrief = 0;
|
nospectategrief = 0;
|
||||||
thwompsactive = false;
|
thwompsactive = false;
|
||||||
|
|
|
@ -680,6 +680,8 @@ void P_Ticker(boolean run)
|
||||||
|
|
||||||
if (indirectitemcooldown)
|
if (indirectitemcooldown)
|
||||||
indirectitemcooldown--;
|
indirectitemcooldown--;
|
||||||
|
if (hyubgone)
|
||||||
|
hyubgone--;
|
||||||
|
|
||||||
if (G_BattleGametype())
|
if (G_BattleGametype())
|
||||||
{
|
{
|
||||||
|
|
|
@ -1051,7 +1051,7 @@ void R_DrawSinglePlane(visplane_t *pl)
|
||||||
temp = P_GetZAt(pl->slope, pl->viewx, pl->viewy);
|
temp = P_GetZAt(pl->slope, pl->viewx, pl->viewy);
|
||||||
zeroheight = FIXED_TO_FLOAT(temp);
|
zeroheight = FIXED_TO_FLOAT(temp);
|
||||||
|
|
||||||
#define ANG2RAD(angle) ((float)((angle)*M_PI)/ANGLE_180)
|
#define ANG2RAD(angle) ((float)((angle)*M_PIl)/ANGLE_180)
|
||||||
|
|
||||||
// p is the texture origin in view space
|
// p is the texture origin in view space
|
||||||
// Don't add in the offsets at this stage, because doing so can result in
|
// Don't add in the offsets at this stage, because doing so can result in
|
||||||
|
|
|
@ -815,6 +815,7 @@ sfxinfo_t S_sfx[NUMSFX] =
|
||||||
{"chain", false, 255, 8, -1, NULL, 0, -1, -1, LUMPERROR}, // Mementos Reaper
|
{"chain", false, 255, 8, -1, NULL, 0, -1, -1, LUMPERROR}, // Mementos Reaper
|
||||||
{"mkuma", false, 96, 8, -1, NULL, 0, -1, -1, LUMPERROR}, // Trigger Happy Havoc Monokuma
|
{"mkuma", false, 96, 8, -1, NULL, 0, -1, -1, LUMPERROR}, // Trigger Happy Havoc Monokuma
|
||||||
{"toada", false, 64, 0, -1, NULL, 0, -1, -1, LUMPERROR}, // Arid Sands Toad scream
|
{"toada", false, 64, 0, -1, NULL, 0, -1, -1, LUMPERROR}, // Arid Sands Toad scream
|
||||||
|
{"bsnipe", false, 96, 8, -1, NULL, 0, -1, -1, LUMPERROR}, // Banana sniping
|
||||||
{"itfree", false, 64, 0, -1, NULL, 0, -1, -1, LUMPERROR}, // :shitsfree:
|
{"itfree", false, 64, 0, -1, NULL, 0, -1, -1, LUMPERROR}, // :shitsfree:
|
||||||
{"dbgsal", false, 255, 8, -1, NULL, 0, -1, -1, LUMPERROR}, // Debug notification
|
{"dbgsal", false, 255, 8, -1, NULL, 0, -1, -1, LUMPERROR}, // Debug notification
|
||||||
|
|
||||||
|
|
|
@ -890,6 +890,7 @@ typedef enum
|
||||||
sfx_chain,
|
sfx_chain,
|
||||||
sfx_mkuma,
|
sfx_mkuma,
|
||||||
sfx_toada,
|
sfx_toada,
|
||||||
|
sfx_bsnipe,
|
||||||
sfx_itfree,
|
sfx_itfree,
|
||||||
sfx_dbgsal,
|
sfx_dbgsal,
|
||||||
|
|
||||||
|
|
Loading…
Reference in a new issue