mirror of
https://github.com/KartKrewDev/RingRacers.git
synced 2025-10-30 08:01:28 +00:00
Merge branch 'master' into fix-nametag-distance-check
This commit is contained in:
commit
71a5030318
8 changed files with 43 additions and 16 deletions
|
|
@ -261,7 +261,7 @@ INT32 stealtime = TICRATE/2;
|
||||||
INT32 sneakertime = TICRATE + (TICRATE/3);
|
INT32 sneakertime = TICRATE + (TICRATE/3);
|
||||||
INT32 itemtime = 8*TICRATE;
|
INT32 itemtime = 8*TICRATE;
|
||||||
INT32 bubbletime = TICRATE/2;
|
INT32 bubbletime = TICRATE/2;
|
||||||
INT32 comebacktime = 10*TICRATE;
|
INT32 comebacktime = 3*TICRATE;
|
||||||
INT32 bumptime = 6;
|
INT32 bumptime = 6;
|
||||||
INT32 greasetics = 3*TICRATE;
|
INT32 greasetics = 3*TICRATE;
|
||||||
INT32 wipeoutslowtime = 20;
|
INT32 wipeoutslowtime = 20;
|
||||||
|
|
|
||||||
|
|
@ -469,16 +469,15 @@ void K_RunPaperItemSpawners(void)
|
||||||
firstUnspawnedEmerald
|
firstUnspawnedEmerald
|
||||||
);
|
);
|
||||||
}
|
}
|
||||||
else if (P_RandomChance(FRACUNIT/3))
|
else
|
||||||
{
|
{
|
||||||
drop = K_SpawnSphereBox(
|
drop = K_SpawnSphereBox(
|
||||||
spotList[r]->x, spotList[r]->y, spotList[r]->z + (128 * mapobjectscale * flip),
|
spotList[r]->x, spotList[r]->y, spotList[r]->z + (128 * mapobjectscale * flip),
|
||||||
FixedAngle(P_RandomRange(0, 359) * FRACUNIT), flip,
|
FixedAngle(P_RandomRange(0, 359) * FRACUNIT), flip,
|
||||||
10
|
10
|
||||||
);
|
);
|
||||||
}
|
K_FlipFromObject(drop, spotList[r]);
|
||||||
else
|
|
||||||
{
|
|
||||||
drop = K_CreatePaperItem(
|
drop = K_CreatePaperItem(
|
||||||
spotList[r]->x, spotList[r]->y, spotList[r]->z + (128 * mapobjectscale * flip),
|
spotList[r]->x, spotList[r]->y, spotList[r]->z + (128 * mapobjectscale * flip),
|
||||||
FixedAngle(P_RandomRange(0, 359) * FRACUNIT), flip,
|
FixedAngle(P_RandomRange(0, 359) * FRACUNIT), flip,
|
||||||
|
|
|
||||||
31
src/k_kart.c
31
src/k_kart.c
|
|
@ -1721,6 +1721,7 @@ static void K_UpdateDraft(player_t *player)
|
||||||
{
|
{
|
||||||
fixed_t topspd = K_GetKartSpeed(player, false);
|
fixed_t topspd = K_GetKartSpeed(player, false);
|
||||||
fixed_t draftdistance;
|
fixed_t draftdistance;
|
||||||
|
fixed_t minDist;
|
||||||
UINT8 leniency;
|
UINT8 leniency;
|
||||||
UINT8 i;
|
UINT8 i;
|
||||||
|
|
||||||
|
|
@ -1740,6 +1741,13 @@ static void K_UpdateDraft(player_t *player)
|
||||||
draftdistance = FixedMul(draftdistance, K_GetKartGameSpeedScalar(gamespeed));
|
draftdistance = FixedMul(draftdistance, K_GetKartGameSpeedScalar(gamespeed));
|
||||||
}
|
}
|
||||||
|
|
||||||
|
minDist = 640 * player->mo->scale;
|
||||||
|
if (gametype == GT_BATTLE)
|
||||||
|
{
|
||||||
|
// TODO: gametyperules
|
||||||
|
minDist /= 4;
|
||||||
|
}
|
||||||
|
|
||||||
// On the contrary, the leniency period biases toward high weight.
|
// On the contrary, the leniency period biases toward high weight.
|
||||||
// (See also: the leniency variable in K_SpawnDraftDust)
|
// (See also: the leniency variable in K_SpawnDraftDust)
|
||||||
leniency = (3*TICRATE)/4 + ((player->kartweight-1) * (TICRATE/4));
|
leniency = (3*TICRATE)/4 + ((player->kartweight-1) * (TICRATE/4));
|
||||||
|
|
@ -1798,7 +1806,7 @@ static void K_UpdateDraft(player_t *player)
|
||||||
|
|
||||||
#ifndef EASYDRAFTTEST
|
#ifndef EASYDRAFTTEST
|
||||||
// TOO close to draft.
|
// TOO close to draft.
|
||||||
if (dist < FixedMul(RING_DIST>>1, player->mo->scale))
|
if (dist < minDist)
|
||||||
continue;
|
continue;
|
||||||
|
|
||||||
// Not close enough to draft.
|
// Not close enough to draft.
|
||||||
|
|
@ -2866,6 +2874,13 @@ static void K_GetKartBoostPower(player_t *player)
|
||||||
{
|
{
|
||||||
// 30% - 44%, each point of speed adds 1.75%
|
// 30% - 44%, each point of speed adds 1.75%
|
||||||
fixed_t draftspeed = ((3*FRACUNIT)/10) + ((player->kartspeed-1) * ((7*FRACUNIT)/400));
|
fixed_t draftspeed = ((3*FRACUNIT)/10) + ((player->kartspeed-1) * ((7*FRACUNIT)/400));
|
||||||
|
|
||||||
|
if (gametype == GT_BATTLE)
|
||||||
|
{
|
||||||
|
// TODO: gametyperules
|
||||||
|
draftspeed *= 2;
|
||||||
|
}
|
||||||
|
|
||||||
speedboost += FixedMul(draftspeed, player->draftpower); // (Drafting suffers no boost stack penalty.)
|
speedboost += FixedMul(draftspeed, player->draftpower); // (Drafting suffers no boost stack penalty.)
|
||||||
numboosts++;
|
numboosts++;
|
||||||
}
|
}
|
||||||
|
|
@ -2962,11 +2977,18 @@ UINT16 K_GetKartFlashing(player_t *player)
|
||||||
{
|
{
|
||||||
UINT16 tics = flashingtics;
|
UINT16 tics = flashingtics;
|
||||||
|
|
||||||
if (!player)
|
if (gametype == GT_BATTLE)
|
||||||
|
{
|
||||||
|
// TODO: gametyperules
|
||||||
|
return 1;
|
||||||
|
}
|
||||||
|
|
||||||
|
if (player == NULL)
|
||||||
|
{
|
||||||
return tics;
|
return tics;
|
||||||
|
}
|
||||||
|
|
||||||
tics += (tics/8) * (player->kartspeed);
|
tics += (tics/8) * (player->kartspeed);
|
||||||
|
|
||||||
return tics;
|
return tics;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
@ -3459,13 +3481,14 @@ void K_HandleBumperChanges(player_t *player, UINT8 prevBumpers)
|
||||||
karmahitbox->destscale = player->mo->destscale;
|
karmahitbox->destscale = player->mo->destscale;
|
||||||
P_SetScale(karmahitbox, player->mo->scale);
|
P_SetScale(karmahitbox, player->mo->scale);
|
||||||
|
|
||||||
|
player->karmadelay = comebacktime;
|
||||||
|
|
||||||
if (netgame)
|
if (netgame)
|
||||||
{
|
{
|
||||||
CONS_Printf(M_GetText("%s lost all of their bumpers!\n"), player_names[player-players]);
|
CONS_Printf(M_GetText("%s lost all of their bumpers!\n"), player_names[player-players]);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
player->karmadelay = comebacktime;
|
|
||||||
K_CalculateBattleWanted();
|
K_CalculateBattleWanted();
|
||||||
K_CheckBumpers();
|
K_CheckBumpers();
|
||||||
}
|
}
|
||||||
|
|
|
||||||
|
|
@ -312,16 +312,13 @@ terrain_t *K_GetTerrainForTextureNum(INT32 textureNum)
|
||||||
--------------------------------------------------*/
|
--------------------------------------------------*/
|
||||||
terrain_t *K_GetTerrainForFlatNum(INT32 flatID)
|
terrain_t *K_GetTerrainForFlatNum(INT32 flatID)
|
||||||
{
|
{
|
||||||
levelflat_t *levelFlat = NULL;
|
|
||||||
|
|
||||||
if (flatID < 0 || flatID >= (signed)numlevelflats)
|
if (flatID < 0 || flatID >= (signed)numlevelflats)
|
||||||
{
|
{
|
||||||
// Clearly invalid floor...
|
// Clearly invalid floor...
|
||||||
return NULL;
|
return NULL;
|
||||||
}
|
}
|
||||||
|
|
||||||
levelFlat = &levelflats[flatID];
|
return levelflats[flatID].terrain;
|
||||||
return K_GetTerrainForTextureName(levelFlat->name);
|
|
||||||
}
|
}
|
||||||
|
|
||||||
/*--------------------------------------------------
|
/*--------------------------------------------------
|
||||||
|
|
|
||||||
|
|
@ -661,6 +661,9 @@ flatfound:
|
||||||
levelflat->u.flat.baselumpnum = LUMPERROR;
|
levelflat->u.flat.baselumpnum = LUMPERROR;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
levelflat->terrain =
|
||||||
|
K_GetTerrainForTextureName(levelflat->name);
|
||||||
|
|
||||||
CONS_Debug(DBG_SETUP, "flat #%03d: %s\n", atoi(sizeu1(numlevelflats)), levelflat->name);
|
CONS_Debug(DBG_SETUP, "flat #%03d: %s\n", atoi(sizeu1(numlevelflats)), levelflat->name);
|
||||||
|
|
||||||
return ( numlevelflats++ );
|
return ( numlevelflats++ );
|
||||||
|
|
@ -4225,7 +4228,9 @@ boolean P_LoadLevel(boolean fromnetsave, boolean reloadinggamestate)
|
||||||
return true;
|
return true;
|
||||||
|
|
||||||
// If so...
|
// If so...
|
||||||
G_PreLevelTitleCard();
|
// but not if joining because the fade may time us out
|
||||||
|
if (!fromnetsave)
|
||||||
|
G_PreLevelTitleCard();
|
||||||
|
|
||||||
return true;
|
return true;
|
||||||
}
|
}
|
||||||
|
|
|
||||||
|
|
@ -17,6 +17,7 @@
|
||||||
#include "doomdata.h"
|
#include "doomdata.h"
|
||||||
#include "doomstat.h"
|
#include "doomstat.h"
|
||||||
#include "r_defs.h"
|
#include "r_defs.h"
|
||||||
|
#include "k_terrain.h"
|
||||||
|
|
||||||
// map md5, sent to players via PT_SERVERINFO
|
// map md5, sent to players via PT_SERVERINFO
|
||||||
extern unsigned char mapmd5[16];
|
extern unsigned char mapmd5[16];
|
||||||
|
|
@ -71,6 +72,8 @@ typedef struct
|
||||||
|
|
||||||
UINT16 width, height;
|
UINT16 width, height;
|
||||||
|
|
||||||
|
terrain_t *terrain;
|
||||||
|
|
||||||
// for flat animation
|
// for flat animation
|
||||||
INT32 animseq; // start pos. in the anim sequence
|
INT32 animseq; // start pos. in the anim sequence
|
||||||
INT32 numpics;
|
INT32 numpics;
|
||||||
|
|
|
||||||
|
|
@ -4553,7 +4553,7 @@ void P_PlayerThink(player_t *player)
|
||||||
|| (player->pflags & PF_NOCONTEST) // NO CONTEST explosion
|
|| (player->pflags & PF_NOCONTEST) // NO CONTEST explosion
|
||||||
|| ((gametyperules & GTR_BUMPERS) && player->bumpers <= 0 && player->karmadelay)))
|
|| ((gametyperules & GTR_BUMPERS) && player->bumpers <= 0 && player->karmadelay)))
|
||||||
{
|
{
|
||||||
if (player->flashing > 0 && player->flashing < K_GetKartFlashing(player)
|
if (player->flashing > 1 && player->flashing < K_GetKartFlashing(player)
|
||||||
&& (leveltime & 1))
|
&& (leveltime & 1))
|
||||||
player->mo->renderflags |= RF_DONTDRAW;
|
player->mo->renderflags |= RF_DONTDRAW;
|
||||||
else
|
else
|
||||||
|
|
|
||||||
|
|
@ -45,7 +45,7 @@ UINT8 *screens[5];
|
||||||
// screens[3] = fade screen start
|
// screens[3] = fade screen start
|
||||||
// screens[4] = fade screen end, postimage tempoarary buffer
|
// screens[4] = fade screen end, postimage tempoarary buffer
|
||||||
|
|
||||||
consvar_t cv_ticrate = CVAR_INIT ("showfps", "No", 0, CV_YesNo, NULL);
|
consvar_t cv_ticrate = CVAR_INIT ("showfps", "No", CV_SAVE, CV_YesNo, NULL);
|
||||||
|
|
||||||
static void CV_palette_OnChange(void);
|
static void CV_palette_OnChange(void);
|
||||||
|
|
||||||
|
|
|
||||||
Loading…
Add table
Reference in a new issue