Merge branch 'this-is-a-sign' into 'master'

End sign on finish

See merge request KartKrew/Kart!13
This commit is contained in:
Sal 2018-09-22 20:11:05 -04:00
commit 9c361f8a19
11 changed files with 184 additions and 151 deletions

View file

@ -4791,39 +4791,7 @@ static const char *const STATE_LIST[] = { // array length left dynamic for sanit
"S_SIGN18",
"S_SIGN19",
"S_SIGN20",
"S_SIGN21",
"S_SIGN22",
"S_SIGN23",
"S_SIGN24",
"S_SIGN25",
"S_SIGN26",
"S_SIGN27",
"S_SIGN28",
"S_SIGN29",
"S_SIGN30",
"S_SIGN31",
"S_SIGN32",
"S_SIGN33",
"S_SIGN34",
"S_SIGN35",
"S_SIGN36",
"S_SIGN37",
"S_SIGN38",
"S_SIGN39",
"S_SIGN40",
"S_SIGN41",
"S_SIGN42",
"S_SIGN43",
"S_SIGN44",
"S_SIGN45",
"S_SIGN46",
"S_SIGN47",
"S_SIGN48",
"S_SIGN49",
"S_SIGN50",
"S_SIGN51",
"S_SIGN52", // Eggman
"S_SIGN53",
"S_SIGN_END",
// Steam Riser
"S_STEAM1",
@ -6237,6 +6205,19 @@ static const char *const STATE_LIST[] = { // array length left dynamic for sanit
"S_RANDOMITEMPOP4",
//}
// Signpost sparkles
"S_SIGNSPARK1",
"S_SIGNSPARK2",
"S_SIGNSPARK3",
"S_SIGNSPARK4",
"S_SIGNSPARK5",
"S_SIGNSPARK6",
"S_SIGNSPARK7",
"S_SIGNSPARK8",
"S_SIGNSPARK9",
"S_SIGNSPARK10",
"S_SIGNSPARK11",
// Drift Sparks
"S_DRIFTSPARK_A1",
"S_DRIFTSPARK_A2",
@ -7238,6 +7219,7 @@ static const char *const MOBJTYPE_LIST[] = { // array length left dynamic for s
"MT_BLUEDIAG",
"MT_RANDOMITEM",
"MT_RANDOMITEMPOP",
"MT_SIGNSPARKLE",
"MT_FASTLINE",
"MT_FASTDUST",

View file

@ -413,6 +413,8 @@ extern UINT16 extralifetics;
// SRB2kart
extern tic_t introtime;
extern tic_t starttime;
extern tic_t raceexittime;
extern tic_t battleexittime;
extern INT32 hyudorotime;
extern INT32 stealtime;
extern INT32 sneakertime;

View file

@ -209,6 +209,8 @@ UINT16 extralifetics = 4*TICRATE;
// SRB2kart
tic_t introtime = 108+5; // plus 5 for white fade
tic_t starttime = 6*TICRATE + (3*TICRATE/4);
tic_t raceexittime = 5*TICRATE + (2*TICRATE/3);
tic_t battleexittime = 8*TICRATE;
INT32 hyudorotime = 7*TICRATE;
INT32 stealtime = TICRATE/2;
INT32 sneakertime = TICRATE + (TICRATE/3);

View file

@ -55,12 +55,12 @@ char sprnames[NUMSPRITES + 1][5] =
"GWLR","SRBA","SRBB","SRBC","SRBD","SRBE","SRBF","SRBG","SRBH","SRBI",
"SRBJ","SRBK","SRBL","SRBM","SRBN","SRBO",
//SRB2kart Sprites
"SPRG","BSPR","RNDM","RPOP","FAST","DSHR","BOST","BOSM","KFRE","KINV",
"KINF","WIPD","DRIF","DUST","FITM","BANA","ORBN","JAWZ","SSMN","KRBM",
"BHOG","BHBM","BLIG","LIGH","THNS","SINK","SITR","KBLN","DEZL","POKE",
"AUDI","DECO","DOOD","SNES","GBAS","SPRS","BUZB","CHOM","SACO","CRAB",
"SHAD","BRNG","BUMP","FLEN","CLAS","PSHW","ISTA","ISTB","ARRO","ITEM",
"ITMO","ITMI","ITMN","WANT","PBOM","RETI","VIEW"
"SPRG","BSPR","RNDM","RPOP","SGNS","FAST","DSHR","BOST","BOSM","KFRE",
"KINV","KINF","WIPD","DRIF","DUST","FITM","BANA","ORBN","JAWZ","SSMN",
"KRBM","BHOG","BHBM","BLIG","LIGH","THNS","SINK","SITR","KBLN","DEZL",
"POKE","AUDI","DECO","DOOD","SNES","GBAS","SPRS","BUZB","CHOM","SACO",
"CRAB","SHAD","BRNG","BUMP","FLEN","CLAS","PSHW","ISTA","ISTB","ARRO",
"ITEM","ITMO","ITMI","ITMN","WANT","PBOM","RETI","VIEW"
};
// Doesn't work with g++, needs actionf_p1 (don't modify this comment)
@ -175,14 +175,15 @@ state_t states[NUMSTATES] =
{SPR_NULL, 0, -1, {NULL}, 0, 0, S_OBJPLACE_DUMMY}, //S_OBJPLACE_DUMMY
// 1-Up Box Sprites (uses player sprite)
{SPR_PLAY, 35, 2, {NULL}, 0, 16, S_PLAY_BOX2}, // S_PLAY_BOX1
// Kart: default to signpost just to ensure there are no missing sprite errors...
{SPR_PLAY, 24, 2, {NULL}, 0, 16, S_PLAY_BOX2}, // S_PLAY_BOX1
{SPR_NULL, 0, 1, {NULL}, 0, 0, S_PLAY_BOX1}, // S_PLAY_BOX2
{SPR_PLAY, 35, 4, {NULL}, 0, 4, S_PLAY_ICON2}, // S_PLAY_ICON1
{SPR_PLAY, 24, 4, {NULL}, 0, 4, S_PLAY_ICON2}, // S_PLAY_ICON1
{SPR_NULL, 0, 12, {NULL}, 0, 0, S_PLAY_ICON3}, // S_PLAY_ICON2
{SPR_PLAY, 35, 18, {NULL}, 0, 4, S_NULL}, // S_PLAY_ICON3
{SPR_PLAY, 24, 18, {NULL}, 0, 4, S_NULL}, // S_PLAY_ICON3
// Level end sign (uses player sprite)
{SPR_PLAY, 34, 1, {NULL}, 0, 24, S_PLAY_SIGN}, // S_PLAY_SIGN
{SPR_PLAY, 24, 1, {NULL}, 0, 24, S_PLAY_SIGN}, // S_PLAY_SIGN
// Blue Crawla
{SPR_POSS, 0, 5, {A_Look}, 0, 0, S_POSS_STND}, // S_POSS_STND
@ -1043,56 +1044,24 @@ state_t states[NUMSTATES] =
{SPR_SIGN, 0, 1, {NULL}, 0, 0, S_SIGN2}, // S_SIGN1
{SPR_SIGN, 1, 1, {NULL}, 0, 0, S_SIGN3}, // S_SIGN2
{SPR_SIGN, 2, 1, {NULL}, 0, 0, S_SIGN4}, // S_SIGN3
{SPR_SIGN, 5, 1, {NULL}, 0, 0, S_SIGN5}, // S_SIGN4
{SPR_SIGN, 3, 1, {NULL}, 0, 0, S_SIGN5}, // S_SIGN4
{SPR_SIGN, 0, 1, {NULL}, 0, 0, S_SIGN6}, // S_SIGN5
{SPR_SIGN, 1, 1, {NULL}, 0, 0, S_SIGN7}, // S_SIGN6
{SPR_SIGN, 2, 1, {NULL}, 0, 0, S_SIGN8}, // S_SIGN7
{SPR_SIGN, 3, 1, {NULL}, 0, 0, S_SIGN9}, // S_SIGN8
{SPR_SIGN, 4, 1, {NULL}, 0, 0, S_SIGN9}, // S_SIGN8
{SPR_SIGN, 0, 1, {NULL}, 0, 0, S_SIGN10}, // S_SIGN9
{SPR_SIGN, 1, 1, {NULL}, 0, 0, S_SIGN11}, // S_SIGN10
{SPR_SIGN, 2, 1, {NULL}, 0, 0, S_SIGN12}, // S_SIGN11
{SPR_SIGN, 4, 1, {NULL}, 0, 0, S_SIGN13}, // S_SIGN12
{SPR_SIGN, 5, 1, {NULL}, 0, 0, S_SIGN13}, // S_SIGN12
{SPR_SIGN, 0, 1, {NULL}, 0, 0, S_SIGN14}, // S_SIGN13
{SPR_SIGN, 1, 1, {NULL}, 0, 0, S_SIGN15}, // S_SIGN14
{SPR_SIGN, 2, 1, {NULL}, 0, 0, S_SIGN16}, // S_SIGN15
{SPR_SIGN, 3, 1, {NULL}, 0, 0, S_SIGN17}, // S_SIGN16
{SPR_SIGN, 6, 1, {NULL}, 0, 0, S_SIGN17}, // S_SIGN16
{SPR_SIGN, 0, 1, {NULL}, 0, 0, S_SIGN18}, // S_SIGN17
{SPR_SIGN, 1, 1, {NULL}, 0, 0, S_SIGN19}, // S_SIGN18
{SPR_SIGN, 2, 1, {NULL}, 0, 0, S_SIGN20}, // S_SIGN19
{SPR_SIGN, 6, 1, {NULL}, 0, 0, S_SIGN21}, // S_SIGN20
{SPR_SIGN, 0, 1, {NULL}, 0, 0, S_SIGN22}, // S_SIGN21
{SPR_SIGN, 1, 1, {NULL}, 0, 0, S_SIGN23}, // S_SIGN22
{SPR_SIGN, 2, 1, {NULL}, 0, 0, S_SIGN24}, // S_SIGN23
{SPR_SIGN, 3, 1, {NULL}, 0, 0, S_SIGN25}, // S_SIGN24
{SPR_SIGN, 0, 1, {NULL}, 0, 0, S_SIGN26}, // S_SIGN25
{SPR_SIGN, 1, 1, {NULL}, 0, 0, S_SIGN27}, // S_SIGN26
{SPR_SIGN, 2, 1, {NULL}, 0, 0, S_SIGN28}, // S_SIGN27
{SPR_SIGN, 5, 1, {NULL}, 0, 0, S_SIGN29}, // S_SIGN28
{SPR_SIGN, 0, 1, {NULL}, 0, 0, S_SIGN30}, // S_SIGN29
{SPR_SIGN, 1, 1, {NULL}, 0, 0, S_SIGN31}, // S_SIGN30
{SPR_SIGN, 2, 1, {NULL}, 0, 0, S_SIGN32}, // S_SIGN31
{SPR_SIGN, 3, 1, {NULL}, 0, 0, S_SIGN33}, // S_SIGN32
{SPR_SIGN, 0, 1, {NULL}, 0, 0, S_SIGN34}, // S_SIGN33
{SPR_SIGN, 1, 1, {NULL}, 0, 0, S_SIGN35}, // S_SIGN34
{SPR_SIGN, 2, 1, {NULL}, 0, 0, S_SIGN36}, // S_SIGN35
{SPR_SIGN, 4, 1, {NULL}, 0, 0, S_SIGN37}, // S_SIGN36
{SPR_SIGN, 0, 1, {NULL}, 0, 0, S_SIGN38}, // S_SIGN37
{SPR_SIGN, 1, 1, {NULL}, 0, 0, S_SIGN39}, // S_SIGN38
{SPR_SIGN, 2, 1, {NULL}, 0, 0, S_SIGN40}, // S_SIGN39
{SPR_SIGN, 3, 1, {NULL}, 0, 0, S_SIGN41}, // S_SIGN40
{SPR_SIGN, 0, 1, {NULL}, 0, 0, S_SIGN42}, // S_SIGN41
{SPR_SIGN, 1, 1, {NULL}, 0, 0, S_SIGN43}, // S_SIGN42
{SPR_SIGN, 2, 1, {NULL}, 0, 0, S_SIGN44}, // S_SIGN43
{SPR_SIGN, 6, 1, {NULL}, 0, 0, S_SIGN45}, // S_SIGN44
{SPR_SIGN, 0, 1, {NULL}, 0, 0, S_SIGN46}, // S_SIGN45
{SPR_SIGN, 1, 1, {NULL}, 0, 0, S_SIGN47}, // S_SIGN46
{SPR_SIGN, 2, 1, {NULL}, 0, 0, S_SIGN48}, // S_SIGN47
{SPR_SIGN, 3, 1, {NULL}, 0, 0, S_SIGN49}, // S_SIGN48
{SPR_SIGN, 0, 1, {NULL}, 0, 0, S_SIGN50}, // S_SIGN49
{SPR_SIGN, 1, 1, {NULL}, 0, 0, S_SIGN51}, // S_SIGN50
{SPR_SIGN, 2, 1, {NULL}, 0, 0, S_SIGN53}, // S_SIGN51
{SPR_SIGN, 3, -1, {NULL}, 0, 0, S_NULL}, // S_SIGN52 Eggman
{SPR_SIGN, 7, -1, {A_SignPlayer}, 0, 0, S_NULL}, // S_SIGN53 Blank
{SPR_SIGN, 7, 1, {NULL}, 0, 0, S_SIGN1}, // S_SIGN20
{SPR_SIGN, 8, -1, {A_SignPlayer}, 0, 0, S_NULL}, // S_SIGN_END
// Steam Riser
{SPR_STEM, 0, 2, {A_SetSolidSteam}, 0, 0, S_STEAM2}, // S_STEAM1
@ -2566,6 +2535,18 @@ state_t states[NUMSTATES] =
{SPR_RPOP, FF_FULLBRIGHT|2, 5, {NULL}, 0, 0, S_RANDOMITEMPOP4}, // S_RANDOMITEMPOP3
{SPR_RPOP, FF_FULLBRIGHT|3, 5, {NULL}, 0, 0, S_NULL}, // S_RANDOMITEMPOP4
{SPR_SGNS, FF_FULLBRIGHT, 1, {NULL}, 0, 0, S_SIGNSPARK2}, // S_SIGNSPARK1
{SPR_SGNS, FF_FULLBRIGHT|1, 1, {NULL}, 0, 0, S_SIGNSPARK3}, // S_SIGNSPARK2
{SPR_SGNS, FF_FULLBRIGHT|2, 1, {NULL}, 0, 0, S_SIGNSPARK4}, // S_SIGNSPARK3
{SPR_SGNS, FF_FULLBRIGHT|3, 1, {NULL}, 0, 0, S_SIGNSPARK5}, // S_SIGNSPARK4
{SPR_SGNS, FF_FULLBRIGHT|4, 1, {NULL}, 0, 0, S_SIGNSPARK6}, // S_SIGNSPARK5
{SPR_SGNS, FF_FULLBRIGHT|5, 1, {NULL}, 0, 0, S_SIGNSPARK7}, // S_SIGNSPARK6
{SPR_SGNS, FF_FULLBRIGHT|6, 1, {NULL}, 0, 0, S_SIGNSPARK8}, // S_SIGNSPARK7
{SPR_SGNS, FF_FULLBRIGHT|7, 1, {NULL}, 0, 0, S_SIGNSPARK9}, // S_SIGNSPARK8
{SPR_SGNS, FF_FULLBRIGHT|8, 1, {NULL}, 0, 0, S_SIGNSPARK10}, // S_SIGNSPARK9
{SPR_SGNS, FF_FULLBRIGHT|3, 1, {NULL}, 0, 0, S_SIGNSPARK11}, // S_SIGNSPARK10
{SPR_SGNS, FF_FULLBRIGHT|2, 1, {NULL}, 0, 0, S_NULL}, // S_SIGNSPARK11
{SPR_DRIF, FF_FULLBRIGHT|2, 2, {NULL}, 0, 0, S_DRIFTSPARK_A2}, // S_DRIFTSPARK_A1
{SPR_DRIF, FF_FULLBRIGHT|FF_TRANS20|1, 1, {NULL}, 0, 0, S_DRIFTSPARK_A3}, // S_DRIFTSPARK_A2
{SPR_DRIF, FF_FULLBRIGHT|FF_TRANS50, 1, {NULL}, 0, 0, S_NULL}, // S_DRIFTSPARK_A3
@ -5810,12 +5791,12 @@ mobjinfo_t mobjinfo[NUMMOBJTYPES] =
{ // MT_SIGN
501, // doomednum
S_SIGN52, // spawnstate
S_INVISIBLE, // spawnstate
1000, // spawnhealth
S_PLAY_SIGN, // seestate
sfx_lvpass, // seesound
sfx_s3kb8, // seesound
8, // reactiontime
sfx_None, // attacksound
sfx_s3k7e, // attacksound
S_NULL, // painstate
0, // painchance
sfx_None, // painsound
@ -5831,7 +5812,7 @@ mobjinfo_t mobjinfo[NUMMOBJTYPES] =
16, // mass
0, // damage
sfx_None, // activesound
MF_NOCLIP|MF_SCENERY|MF_DONTENCOREMAP, // flags
MF_NOCLIP|MF_NOCLIPHEIGHT|MF_NOGRAVITY|MF_DONTENCOREMAP, // flags
S_NULL // raisestate
},
@ -14416,6 +14397,33 @@ mobjinfo_t mobjinfo[NUMMOBJTYPES] =
S_NULL // raisestate
},
{ // MT_SIGNSPARKLE
-1, // doomednum
S_SIGNSPARK1, // spawnstate
1, // spawnhealth
S_NULL, // seestate
sfx_None, // seesound
8, // reactiontime
sfx_None, // attacksound
S_NULL, // painstate
0, // painchance
sfx_None, // painsound
S_NULL, // meleestate
S_NULL, // missilestate
S_NULL, // deathstate
S_NULL, // xdeathstate
sfx_None, // deathsound
8, // speed
14*FRACUNIT, // radius
14*FRACUNIT, // height
0, // display offset
100, // mass
0, // damage
sfx_None, // activesound
MF_NOBLOCKMAP|MF_NOCLIP|MF_NOCLIPHEIGHT|MF_NOGRAVITY|MF_SCENERY|MF_DONTENCOREMAP, // flags
S_NULL // raisestate
},
{ // MT_FASTLINE
-1, // doomednum
S_FASTLINE1, // spawnstate

View file

@ -582,6 +582,7 @@ typedef enum sprite
SPR_RNDM, // Random Item Box
SPR_RPOP, // Random Item Box Pop
SPR_SGNS, // Signpost sparkle
SPR_FAST, // Speed boost trail
SPR_DSHR, // Speed boost dust release
SPR_BOST, // Sneaker booster flame
@ -1636,39 +1637,7 @@ typedef enum state
S_SIGN18,
S_SIGN19,
S_SIGN20,
S_SIGN21,
S_SIGN22,
S_SIGN23,
S_SIGN24,
S_SIGN25,
S_SIGN26,
S_SIGN27,
S_SIGN28,
S_SIGN29,
S_SIGN30,
S_SIGN31,
S_SIGN32,
S_SIGN33,
S_SIGN34,
S_SIGN35,
S_SIGN36,
S_SIGN37,
S_SIGN38,
S_SIGN39,
S_SIGN40,
S_SIGN41,
S_SIGN42,
S_SIGN43,
S_SIGN44,
S_SIGN45,
S_SIGN46,
S_SIGN47,
S_SIGN48,
S_SIGN49,
S_SIGN50,
S_SIGN51,
S_SIGN52, // Eggman
S_SIGN53,
S_SIGN_END,
// Steam Riser
S_STEAM1,
@ -3082,6 +3051,19 @@ typedef enum state
S_RANDOMITEMPOP4,
//}
// Signpost sparkles
S_SIGNSPARK1,
S_SIGNSPARK2,
S_SIGNSPARK3,
S_SIGNSPARK4,
S_SIGNSPARK5,
S_SIGNSPARK6,
S_SIGNSPARK7,
S_SIGNSPARK8,
S_SIGNSPARK9,
S_SIGNSPARK10,
S_SIGNSPARK11,
// Drift Sparks
S_DRIFTSPARK_A1,
S_DRIFTSPARK_A2,
@ -4100,6 +4082,7 @@ typedef enum mobj_type
MT_BLUEDIAG,
MT_RANDOMITEM,
MT_RANDOMITEMPOP,
MT_SIGNSPARKLE,
MT_FASTLINE,
MT_FASTDUST,

View file

@ -124,17 +124,17 @@ const UINT8 KartColor_Opposite[MAXSKINCOLORS*2] =
SKINCOLOR_TEA,8, // 10 // SKINCOLOR_SALMON
SKINCOLOR_PISTACHIO,8, // 11 // SKINCOLOR_PINK
SKINCOLOR_MOSS,8, // 12 // SKINCOLOR_ROSE
SKINCOLOR_MINT,10, // 13 // SKINCOLOR_RASPBERRY
SKINCOLOR_GREEN,8, // 14 // SKINCOLOR_RED
SKINCOLOR_MINT,8, // 13 // SKINCOLOR_RASPBERRY
SKINCOLOR_GREEN,6, // 14 // SKINCOLOR_RED
SKINCOLOR_SAPPHIRE,8, // 15 // SKINCOLOR_RUBY
SKINCOLOR_PINETREE,6, // 16 // SKINCOLOR_CRIMSON
SKINCOLOR_MUSTARD,6, // 17 // SKINCOLOR_KETCHUP
SKINCOLOR_MUSTARD,10, // 17 // SKINCOLOR_KETCHUP
SKINCOLOR_DUSK,8, // 18 // SKINCOLOR_DAWN
SKINCOLOR_PERIWINKLE,8, // 19 // SKINCOLOR_CREAMSICLE
SKINCOLOR_BLUE,8, // 20 // SKINCOLOR_ORANGE
SKINCOLOR_BLUEBERRY,8, // 21 // SKINCOLOR_PUMPKIN
SKINCOLOR_NAVY,8, // 22 // SKINCOLOR_ROSEWOOD
SKINCOLOR_JET,6, // 23 // SKINCOLOR_BURGUNDY
SKINCOLOR_NAVY,6, // 22 // SKINCOLOR_ROSEWOOD
SKINCOLOR_JET,8, // 23 // SKINCOLOR_BURGUNDY
SKINCOLOR_LIME,8, // 24 // SKINCOLOR_TANGERINE
SKINCOLOR_CYAN,8, // 25 // SKINCOLOR_PEACH
SKINCOLOR_CERULEAN,8, // 26 // SKINCOLOR_CARAMEL
@ -144,36 +144,36 @@ const UINT8 KartColor_Opposite[MAXSKINCOLORS*2] =
SKINCOLOR_KETCHUP,8, // 30 // SKINCOLOR_MUSTARD
SKINCOLOR_TEAL,8, // 31 // SKINCOLOR_OLIVE
SKINCOLOR_ROBOHOOD,8, // 32 // SKINCOLOR_VOMIT
SKINCOLOR_LAVENDER,8, // 33 // SKINCOLOR_GARDEN
SKINCOLOR_LAVENDER,6, // 33 // SKINCOLOR_GARDEN
SKINCOLOR_TANGERINE,8, // 34 // SKINCOLOR_LIME
SKINCOLOR_POMEGRANATE,8, // 35 // SKINCOLOR_DREAM
SKINCOLOR_SALMON,8, // 36 // SKINCOLOR_TEA
SKINCOLOR_PINK,8, // 37 // SKINCOLOR_PISTACHIO
SKINCOLOR_PINK,6, // 37 // SKINCOLOR_PISTACHIO
SKINCOLOR_VOMIT,8, // 38 // SKINCOLOR_ROBOHOOD
SKINCOLOR_ROSE,8, // 39 // SKINCOLOR_MOSS
SKINCOLOR_RASPBERRY,6, // 40 // SKINCOLOR_MINT
SKINCOLOR_RASPBERRY,8, // 40 // SKINCOLOR_MINT
SKINCOLOR_RED,8, // 41 // SKINCOLOR_GREEN
SKINCOLOR_CRIMSON,8, // 42 // SKINCOLOR_PINETREE
SKINCOLOR_PURPLE,8, // 43 // SKINCOLOR_EMERALD
SKINCOLOR_BYZANTIUM,6, // 44 // SKINCOLOR_SWAMP
SKINCOLOR_BYZANTIUM,8, // 44 // SKINCOLOR_SWAMP
SKINCOLOR_YELLOW,8, // 45 // SKINCOLOR_AQUA
SKINCOLOR_OLIVE,8, // 46 // SKINCOLOR_TEAL
SKINCOLOR_PEACH,8, // 47 // SKINCOLOR_CYAN
SKINCOLOR_LILAC,6, // 48 // SKINCOLOR_JAWZ
SKINCOLOR_LILAC,10, // 48 // SKINCOLOR_JAWZ
SKINCOLOR_CARAMEL,8, // 49 // SKINCOLOR_CERULEAN
SKINCOLOR_ROSEWOOD,8, // 50 // SKINCOLOR_NAVY
SKINCOLOR_GOLD,8, // 51 // SKINCOLOR_SLATE
SKINCOLOR_BRONZE,8, // 52 // SKINCOLOR_STEEL
SKINCOLOR_BURGUNDY,6, // 53 // SKINCOLOR_JET
SKINCOLOR_GOLD,10, // 51 // SKINCOLOR_SLATE
SKINCOLOR_BRONZE,10, // 52 // SKINCOLOR_STEEL
SKINCOLOR_BURGUNDY,8, // 53 // SKINCOLOR_JET
SKINCOLOR_CREAMSICLE,8, // 54 // SKINCOLOR_PERIWINKLE
SKINCOLOR_ORANGE,8, // 55 // SKINCOLOR_BLUE
SKINCOLOR_RUBY,8, // 56 // SKINCOLOR_SAPPHIRE
SKINCOLOR_RUBY,6, // 56 // SKINCOLOR_SAPPHIRE
SKINCOLOR_PUMPKIN,8, // 57 // SKINCOLOR_BLUEBERRY
SKINCOLOR_DAWN,8, // 58 // SKINCOLOR_DUSK
SKINCOLOR_DAWN,6, // 58 // SKINCOLOR_DUSK
SKINCOLOR_EMERALD,8, // 59 // SKINCOLOR_PURPLE
SKINCOLOR_GARDEN,8, // 60 // SKINCOLOR_LAVENDER
SKINCOLOR_GARDEN,6, // 60 // SKINCOLOR_LAVENDER
SKINCOLOR_SWAMP,8, // 61 // SKINCOLOR_BYZANTIUM
SKINCOLOR_DREAM,6, // 62 // SKINCOLOR_POMEGRANATE
SKINCOLOR_DREAM,8, // 62 // SKINCOLOR_POMEGRANATE
SKINCOLOR_JAWZ,6 // 63 // SKINCOLOR_LILAC
};

View file

@ -694,7 +694,7 @@ void P_TouchSpecialThing(mobj_t *special, mobj_t *toucher, boolean heightcheck)
if (!playeringame[i] || players[i].spectator)
continue;
players[i].exiting = (14*TICRATE)/5 + 1;
players[i].exiting = raceexittime+1;
}
S_StartSound(NULL, sfx_lvpass);
}

View file

@ -1409,6 +1409,9 @@ fixed_t P_GetMobjGravity(mobj_t *mo)
case MT_SINK:
gravityadd = FixedMul(gravityadd, 5*FRACUNIT); // Double gravity
break;
case MT_SIGN:
gravityadd /= 8;
break;
default:
break;
}
@ -8285,6 +8288,35 @@ void P_MobjThinker(mobj_t *mobj)
}
}
break;
case MT_SIGN: // Kart's unique sign behavior
if (mobj->movecount)
{
if (mobj->z <= mobj->movefactor)
{
P_SetMobjState(mobj, S_SIGN_END);
if (mobj->info->attacksound)
S_StartSound(mobj, mobj->info->attacksound);
mobj->flags |= MF_NOGRAVITY; // ?
mobj->flags &= ~MF_NOCLIPHEIGHT;
mobj->z = mobj->movefactor;
mobj->movecount = 0;
}
else
{
P_SpawnMobj(mobj->x + (P_RandomRange(-48,48)<<FRACBITS),
mobj->y + (P_RandomRange(-48,48)<<FRACBITS),
mobj->z + (24<<FRACBITS) + (P_RandomRange(-8,8)<<FRACBITS),
MT_SIGNSPARKLE);
mobj->flags &= ~MF_NOGRAVITY;
if (abs(mobj->z - mobj->movefactor) <= 512<<FRACBITS && !mobj->cvmem)
{
if (mobj->info->seesound)
S_StartSound(mobj, mobj->info->seesound);
mobj->cvmem = 1;
}
}
}
break;
//}
case MT_TURRET:
P_MobjCheckWater(mobj);

View file

@ -3215,6 +3215,9 @@ void P_SetupSignExit(player_t *player)
thinker_t *think;
INT32 numfound = 0;
if (player->kartstuff[k_position] != 1)
return;
for (; node; node = node->m_thinglist_next)
{
thing = node->m_thing;
@ -3226,8 +3229,11 @@ void P_SetupSignExit(player_t *player)
P_SetTarget(&thing->target, player->mo);
P_SetMobjState(thing, S_SIGN1);
if (thing->info->seesound)
S_StartSound(thing, thing->info->seesound);
// SRB2Kart: Set sign spinning variables
thing->movefactor = thing->z;
thing->z += (768<<FRACBITS) * P_MobjFlip(thing);
thing->movecount = 1;
++numfound;
}
@ -3251,11 +3257,28 @@ void P_SetupSignExit(player_t *player)
P_SetTarget(&thing->target, player->mo);
P_SetMobjState(thing, S_SIGN1);
if (thing->info->seesound)
S_StartSound(thing, thing->info->seesound);
// SRB2Kart: Set sign spinning variables
thing->movefactor = thing->z;
thing->z += (768<<FRACBITS) * P_MobjFlip(thing);
thing->movecount = 1;
++numfound;
}
if (numfound)
return;
// SRB2Kart: FINALLY, add in an alternative if no place is found
if (player->mo)
{
mobj_t *sign = P_SpawnMobj(player->mo->x, player->mo->y, player->mo->z + (768<<FRACBITS), MT_SIGN);
P_SetTarget(&sign->target, player->mo);
P_SetMobjState(sign, S_SIGN1);
sign->movefactor = player->mo->floorz;
sign->movecount = 1;
}
}
//
@ -4243,6 +4266,7 @@ DoneSection2:
S_StartSound(NULL, sfx_s253);
P_DoPlayerExit(player);
P_SetupSignExit(player);
}
}
break;

View file

@ -448,7 +448,7 @@ static inline void P_DoSpecialStageStuff(void)
{
if (playeringame[i])
{
players[i].exiting = (14*TICRATE)/5 + 1;
players[i].exiting = raceexittime+1;
players[i].pflags &= ~PF_GLIDING;
}
@ -485,7 +485,7 @@ static inline void P_DoSpecialStageStuff(void)
if (playeringame[i])
{
players[i].mo->momx = players[i].mo->momy = 0;
players[i].exiting = (14*TICRATE)/5 + 1;
players[i].exiting = raceexittime+1;
}
sstimer = 0;

View file

@ -673,7 +673,7 @@ static void P_DeNightserizePlayer(player_t *player)
for (i = 0; i < MAXPLAYERS; i++)
if (playeringame[i] && players[i].pflags & PF_NIGHTSMODE)
players[i].nightstime = 1; // force everyone else to fall too.
player->exiting = 3*TICRATE;
player->exiting = raceexittime+2;
stagefailed = true; // NIGHT OVER
}
@ -1744,7 +1744,7 @@ void P_DoPlayerExit(player_t *player)
S_StartSound(player->mo, sfx_kwin);
}
player->exiting = 3*TICRATE;
player->exiting = raceexittime+2;
if (cv_inttime.value > 0)
P_EndingMusic(player);
@ -1754,15 +1754,15 @@ void P_DoPlayerExit(player_t *player)
//countdown2 = countdown + 8*TICRATE;
if (P_CheckRacers())
player->exiting = (14*TICRATE)/5 + 1;
player->exiting = raceexittime+1;
}
else if (G_BattleGametype()) // Battle Mode exiting
{
player->exiting = 8*TICRATE + 1;
player->exiting = battleexittime+1;
P_EndingMusic(player);
}
else
player->exiting = (14*TICRATE)/5 + 2; // Accidental death safeguard???
player->exiting = raceexittime+2; // Accidental death safeguard???
//player->pflags &= ~PF_GLIDING;
/* // SRB2kart - don't need
@ -6572,7 +6572,7 @@ static void P_MovePlayer(player_t *player)
S_StartSound(NULL, sfx_s3k6a);
for (i = 0; i < MAXPLAYERS; i++)
if (playeringame[i])
players[i].exiting = (14*TICRATE)/5 + 1;
players[i].exiting = raceexittime+1;
}
else if (player->health > 1)
P_DamageMobj(player->mo, NULL, NULL, 1);
@ -9040,8 +9040,8 @@ void P_PlayerThink(player_t *player)
}
}
if (i == MAXPLAYERS && player->exiting == 3*TICRATE) // finished
player->exiting = (14*TICRATE)/5 + 1;
if (i == MAXPLAYERS && player->exiting == raceexittime+2) // finished
player->exiting = raceexittime+1;
// If 10 seconds are left on the timer,
// begin the drown music for countdown!
@ -9066,7 +9066,7 @@ void P_PlayerThink(player_t *player)
// If it is set, start subtracting
// Don't allow it to go back to 0
if (player->exiting > 1 && (player->exiting < 3*TICRATE || !G_RaceGametype())) // SRB2kart - "&& player->exiting > 1"
if (player->exiting > 1 && (player->exiting < raceexittime+2 || !G_RaceGametype())) // SRB2kart - "&& player->exiting > 1"
player->exiting--;
if (player->exiting && countdown2)