mirror of
https://git.do.srb2.org/KartKrew/Kart-Public.git
synced 2025-02-21 03:11:24 +00:00
Merge branch 'this-is-a-sign' into 'master'
End sign on finish See merge request KartKrew/Kart!13
This commit is contained in:
commit
9c361f8a19
11 changed files with 184 additions and 151 deletions
|
@ -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",
|
||||
|
|
|
@ -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;
|
||||
|
|
|
@ -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);
|
||||
|
|
112
src/info.c
112
src/info.c
|
@ -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
|
||||
|
|
49
src/info.h
49
src/info.h
|
@ -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,
|
||||
|
|
34
src/k_kart.c
34
src/k_kart.c
|
@ -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
|
||||
};
|
||||
|
||||
|
|
|
@ -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);
|
||||
}
|
||||
|
|
32
src/p_mobj.c
32
src/p_mobj.c
|
@ -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);
|
||||
|
|
32
src/p_spec.c
32
src/p_spec.c
|
@ -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;
|
||||
|
|
|
@ -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;
|
||||
|
|
18
src/p_user.c
18
src/p_user.c
|
@ -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)
|
||||
|
|
Loading…
Reference in a new issue