mirror of
https://github.com/ZDoom/raze-gles.git
synced 2024-12-30 13:21:04 +00:00
resetprestat
This commit is contained in:
parent
4af227fec6
commit
42bbc1e6ce
6 changed files with 23 additions and 140 deletions
|
@ -313,7 +313,7 @@ enum
|
|||
};
|
||||
|
||||
// Interpolation code is the same in all games with slightly different naming - this needs to be unified and cleaned up.
|
||||
extern int32_t g_interpolationCnt;
|
||||
extern int32_t numinterpolations;
|
||||
extern int32_t* curipos[MAXINTERPOLATIONS];
|
||||
extern int32_t bakipos[MAXINTERPOLATIONS];
|
||||
void G_UpdateInterpolations(void);
|
||||
|
|
|
@ -377,7 +377,7 @@ void resetinventory(int snum)
|
|||
//
|
||||
//---------------------------------------------------------------------------
|
||||
|
||||
void resetprestat(short snum,char g)
|
||||
void resetprestat(int snum,int g)
|
||||
{
|
||||
struct player_struct *p;
|
||||
short i;
|
||||
|
@ -427,7 +427,7 @@ void resetprestat(short snum,char g)
|
|||
BellTime = 0;
|
||||
g_bellSprite = 0;
|
||||
|
||||
//numinterpolations = 0;
|
||||
numinterpolations = 0;
|
||||
//startofdynamicinterpolations = 0;
|
||||
|
||||
if( ( (g&MODE_EOL) != MODE_EOL && numplayers < 2) || (ud.coop != 1 && numplayers > 1) )
|
||||
|
@ -451,7 +451,7 @@ void resetprestat(short snum,char g)
|
|||
p->make_noise = 0;
|
||||
p->noise_radius = 0;
|
||||
|
||||
if (ud.multimode > 1 && ud.coop != 1)
|
||||
if (isRR() && ud.multimode > 1 && ud.coop != 1)
|
||||
{
|
||||
p->keys[0] = 1;
|
||||
p->keys[1] = 1;
|
||||
|
@ -484,9 +484,7 @@ void resetprestat(short snum,char g)
|
|||
|
||||
if (numplayers < 2)
|
||||
{
|
||||
ufospawn = ud.m_player_skill*4+1;
|
||||
if (ufospawn > 32)
|
||||
ufospawn = 32;
|
||||
ufospawn = std::min(ud.m_player_skill*4+1, 32);
|
||||
ufocnt = 0;
|
||||
hulkspawn = ud.m_player_skill + 1;
|
||||
}
|
||||
|
|
|
@ -40,6 +40,7 @@ void resetinventory(int playerNum);
|
|||
void P_ResetPlayer(int playerNum);
|
||||
void resetplayerstats(int playerNum);
|
||||
void resetweapons(int playerNum);
|
||||
void resetprestat(int snum, int g);
|
||||
void G_ClearFIFO(void);
|
||||
void G_ResetInterpolations(void);
|
||||
extern int32_t fragbarheight(void);
|
||||
|
|
|
@ -28,7 +28,7 @@ BEGIN_DUKE_NS
|
|||
|
||||
#define MAXINTERPOLATIONS MAXSPRITES
|
||||
|
||||
int32_t g_interpolationCnt;
|
||||
int32_t numinterpolations;
|
||||
int32_t g_interpolationLock;
|
||||
int32_t oldipos[MAXINTERPOLATIONS];
|
||||
int32_t *curipos[MAXINTERPOLATIONS];
|
||||
|
@ -36,28 +36,28 @@ int32_t bakipos[MAXINTERPOLATIONS];
|
|||
|
||||
int G_SetInterpolation(int32_t *const posptr)
|
||||
{
|
||||
if (g_interpolationCnt >= MAXINTERPOLATIONS)
|
||||
if (numinterpolations >= MAXINTERPOLATIONS)
|
||||
return 1;
|
||||
|
||||
for (bssize_t i = 0; i < g_interpolationCnt; ++i)
|
||||
for (bssize_t i = 0; i < numinterpolations; ++i)
|
||||
if (curipos[i] == posptr)
|
||||
return 0;
|
||||
|
||||
curipos[g_interpolationCnt] = posptr;
|
||||
oldipos[g_interpolationCnt] = *posptr;
|
||||
g_interpolationCnt++;
|
||||
curipos[numinterpolations] = posptr;
|
||||
oldipos[numinterpolations] = *posptr;
|
||||
numinterpolations++;
|
||||
return 0;
|
||||
}
|
||||
|
||||
void G_StopInterpolation(const int32_t * const posptr)
|
||||
{
|
||||
for (bssize_t i = 0; i < g_interpolationCnt; ++i)
|
||||
for (bssize_t i = 0; i < numinterpolations; ++i)
|
||||
if (curipos[i] == posptr)
|
||||
{
|
||||
g_interpolationCnt--;
|
||||
oldipos[i] = oldipos[g_interpolationCnt];
|
||||
bakipos[i] = bakipos[g_interpolationCnt];
|
||||
curipos[i] = curipos[g_interpolationCnt];
|
||||
numinterpolations--;
|
||||
oldipos[i] = oldipos[numinterpolations];
|
||||
bakipos[i] = bakipos[numinterpolations];
|
||||
curipos[i] = curipos[numinterpolations];
|
||||
}
|
||||
}
|
||||
|
||||
|
@ -68,7 +68,7 @@ void G_DoInterpolations(int smoothRatio)
|
|||
|
||||
int32_t ndelta = 0;
|
||||
|
||||
for (bssize_t i = 0, j = 0; i < g_interpolationCnt; ++i)
|
||||
for (bssize_t i = 0, j = 0; i < numinterpolations; ++i)
|
||||
{
|
||||
int32_t const odelta = ndelta;
|
||||
bakipos[i] = *curipos[i];
|
||||
|
@ -82,12 +82,12 @@ void G_DoInterpolations(int smoothRatio)
|
|||
|
||||
void G_UpdateInterpolations(void) //Stick at beginning of G_DoMoveThings
|
||||
{
|
||||
for (bssize_t i=g_interpolationCnt-1; i>=0; i--) oldipos[i] = *curipos[i];
|
||||
for (bssize_t i=numinterpolations-1; i>=0; i--) oldipos[i] = *curipos[i];
|
||||
}
|
||||
|
||||
void G_RestoreInterpolations(void) //Stick at end of drawscreen
|
||||
{
|
||||
int32_t i=g_interpolationCnt-1;
|
||||
int32_t i=numinterpolations-1;
|
||||
|
||||
if (--g_interpolationLock)
|
||||
return;
|
||||
|
|
|
@ -311,122 +311,6 @@ void P_ResetPlayer(int playerNum)
|
|||
}
|
||||
|
||||
|
||||
static void resetprestat(int playerNum, int gameMode)
|
||||
{
|
||||
DukePlayer_t *const pPlayer = g_player[playerNum].ps;
|
||||
|
||||
g_spriteDeleteQueuePos = 0;
|
||||
for (bssize_t i = 0; i < g_deleteQueueSize; i++) SpriteDeletionQueue[i] = -1;
|
||||
|
||||
pPlayer->hbomb_on = 0;
|
||||
pPlayer->cheat_phase = 0;
|
||||
pPlayer->toggle_key_flag = 0;
|
||||
pPlayer->secret_rooms = 0;
|
||||
pPlayer->max_secret_rooms = 0;
|
||||
pPlayer->actors_killed = 0;
|
||||
pPlayer->max_actors_killed = 0;
|
||||
pPlayer->lastrandomspot = 0;
|
||||
pPlayer->weapon_pos = WEAPON_POS_START;
|
||||
|
||||
P_ResetTintFade(pPlayer);
|
||||
|
||||
pPlayer->kickback_pic = 5;
|
||||
|
||||
pPlayer->last_weapon = -1;
|
||||
pPlayer->weapreccnt = 0;
|
||||
pPlayer->interface_toggle_flag = 0;
|
||||
pPlayer->show_empty_weapon = 0;
|
||||
pPlayer->holster_weapon = 0;
|
||||
pPlayer->last_pissed_time = 0;
|
||||
pPlayer->one_parallax_sectnum = -1;
|
||||
pPlayer->visibility = ud.const_visibility;
|
||||
|
||||
screenpeek = myconnectindex;
|
||||
g_animWallCnt = 0;
|
||||
g_cyclerCnt = 0;
|
||||
g_animateCnt = 0;
|
||||
parallaxtype = 0;
|
||||
randomseed = 17;
|
||||
ud.pause_on = 0;
|
||||
ud.camerasprite = -1;
|
||||
ud.eog = 0;
|
||||
tempwallptr = 0;
|
||||
g_curViewscreen = -1;
|
||||
g_earthquakeTime = 0;
|
||||
g_interpolationCnt = 0;
|
||||
|
||||
if (RRRA)
|
||||
{
|
||||
WindTime = 0;
|
||||
WindDir = 0;
|
||||
fakebubba_spawn = 0;
|
||||
RRRA_ExitedLevel = 0;
|
||||
g_bellTime = 0;
|
||||
g_bellSprite = 0;
|
||||
}
|
||||
|
||||
if (((gameMode & MODE_EOL) != MODE_EOL && numplayers < 2 && !g_netServer)
|
||||
|| (!(g_gametypeFlags[ud.coop] & GAMETYPE_PRESERVEINVENTORYDEATH) && numplayers > 1))
|
||||
{
|
||||
resetweapons(playerNum);
|
||||
resetinventory(playerNum);
|
||||
}
|
||||
else if (pPlayer->curr_weapon == HANDREMOTE_WEAPON && !isRR())
|
||||
{
|
||||
pPlayer->ammo_amount[HANDBOMB_WEAPON]++;
|
||||
pPlayer->curr_weapon = HANDBOMB_WEAPON;
|
||||
}
|
||||
|
||||
pPlayer->timebeforeexit = 0;
|
||||
pPlayer->customexitsound = 0;
|
||||
|
||||
if (RR)
|
||||
{
|
||||
pPlayer->stairs = 0;
|
||||
pPlayer->noise_x = 131072;
|
||||
pPlayer->noise_y = 131072;
|
||||
pPlayer->make_noise = 0;
|
||||
pPlayer->noise_radius = 0;
|
||||
if ((g_netServer || ud.multimode > 1) && (g_gametypeFlags[ud.coop] & GAMETYPE_ACCESSATSTART))
|
||||
{
|
||||
pPlayer->keys[0] = 1;
|
||||
pPlayer->keys[1] = 1;
|
||||
pPlayer->keys[2] = 1;
|
||||
pPlayer->keys[3] = 1;
|
||||
pPlayer->keys[4] = 1;
|
||||
}
|
||||
else
|
||||
{
|
||||
pPlayer->keys[0] = 0;
|
||||
pPlayer->keys[1] = 0;
|
||||
pPlayer->keys[2] = 0;
|
||||
pPlayer->keys[3] = 0;
|
||||
pPlayer->keys[4] = 0;
|
||||
}
|
||||
|
||||
pPlayer->drunkang = pPlayer->eatang = 1647;
|
||||
pPlayer->drink_amt = pPlayer->eat = 0;
|
||||
pPlayer->drink_timer = pPlayer->eat_timer = 4096;
|
||||
pPlayer->shotgun_state[0] = pPlayer->shotgun_state[1] = 0;
|
||||
pPlayer->detonate_time = 0;
|
||||
pPlayer->detonate_count = 0;
|
||||
pPlayer->recoil = 0;
|
||||
pPlayer->yehaa_timer = 0;
|
||||
resetlanepics();
|
||||
if (!g_netServer && numplayers < 2)
|
||||
{
|
||||
g_ufoSpawn = min(ud.m_player_skill*4+1, 32);
|
||||
g_ufoCnt = 0;
|
||||
g_hulkSpawn = ud.m_player_skill + 1;
|
||||
}
|
||||
else
|
||||
{
|
||||
g_ufoSpawn = 32;
|
||||
g_ufoCnt = 0;
|
||||
g_hulkSpawn = 2;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
static inline int G_CheckExitSprite(int spriteNum) { return ((uint16_t)sprite[spriteNum].lotag == UINT16_MAX && (sprite[spriteNum].cstat & 16)); }
|
||||
|
||||
|
@ -1594,7 +1478,7 @@ int G_EnterLevel(int gameMode)
|
|||
|
||||
G_ClearFIFO();
|
||||
|
||||
for (i=g_interpolationCnt-1; i>=0; i--) bakipos[i] = *curipos[i];
|
||||
for (i=numinterpolations-1; i>=0; i--) bakipos[i] = *curipos[i];
|
||||
|
||||
g_player[myconnectindex].ps->over_shoulder_on = 0;
|
||||
|
||||
|
|
|
@ -71,7 +71,7 @@ void G_ResetInterpolations(void)
|
|||
{
|
||||
int32_t k, i;
|
||||
|
||||
g_interpolationCnt = 0;
|
||||
numinterpolations = 0;
|
||||
|
||||
k = headspritestat[STAT_EFFECTOR];
|
||||
while (k >= 0)
|
||||
|
@ -105,7 +105,7 @@ void G_ResetInterpolations(void)
|
|||
k = nextspritestat[k];
|
||||
}
|
||||
|
||||
for (i=g_interpolationCnt-1; i>=0; i--) bakipos[i] = *curipos[i];
|
||||
for (i=numinterpolations-1; i>=0; i--) bakipos[i] = *curipos[i];
|
||||
for (i = g_animateCnt-1; i>=0; i--)
|
||||
G_SetInterpolation(g_animatePtr[i]);
|
||||
}
|
||||
|
|
Loading…
Reference in a new issue