mirror of
https://github.com/ZDoom/raze-gles.git
synced 2024-12-24 10:40:46 +00:00
Manually merge EDuke32 SVN commit 8555.
This commit is contained in:
parent
2124862a9a
commit
53c9d8425c
2 changed files with 87 additions and 79 deletions
|
@ -3175,13 +3175,10 @@ static int P_CheckLockedMovement(int const playerNum)
|
||||||
&& pPlayer->kickback_pic < PWEAPON(playerNum, pPlayer->curr_weapon, FireDelay)));
|
&& pPlayer->kickback_pic < PWEAPON(playerNum, pPlayer->curr_weapon, FireDelay)));
|
||||||
}
|
}
|
||||||
|
|
||||||
static bool g_horizRecenter;
|
|
||||||
static float g_horizAngleAdjust;
|
|
||||||
static fix16_t g_horizSkew;
|
|
||||||
|
|
||||||
void P_GetInput(int const playerNum)
|
void P_GetInput(int const playerNum)
|
||||||
{
|
{
|
||||||
auto const pPlayer = g_player[playerNum].ps;
|
auto &thisPlayer = g_player[playerNum];
|
||||||
|
auto const pPlayer = thisPlayer.ps;
|
||||||
ControlInfo info;
|
ControlInfo info;
|
||||||
|
|
||||||
if ((pPlayer->gm & (MODE_MENU|MODE_TYPE)) || (ud.pause_on && !inputState.GetKeyStatus(sc_Pause)))
|
if ((pPlayer->gm & (MODE_MENU|MODE_TYPE)) || (ud.pause_on && !inputState.GetKeyStatus(sc_Pause)))
|
||||||
|
@ -3473,23 +3470,22 @@ void P_GetInput(int const playerNum)
|
||||||
pPlayer->q16horiz = fix16_clamp(fix16_add(pPlayer->q16horiz, input.q16horz), F16(HORIZ_MIN), F16(HORIZ_MAX));
|
pPlayer->q16horiz = fix16_clamp(fix16_add(pPlayer->q16horiz, input.q16horz), F16(HORIZ_MIN), F16(HORIZ_MAX));
|
||||||
}
|
}
|
||||||
|
|
||||||
// A horiz diff of 128 equal 45 degrees,
|
// A horiz diff of 128 equal 45 degrees, so we convert horiz to 1024 angle units
|
||||||
// so we convert horiz to 1024 angle units
|
|
||||||
|
|
||||||
if (g_horizAngleAdjust)
|
if (thisPlayer.horizAngleAdjust)
|
||||||
{
|
{
|
||||||
float const horizAngle
|
float const horizAngle
|
||||||
= atan2f(pPlayer->q16horiz - F16(100), F16(128)) * (512.f / fPI) + scaleAdjustmentToInterval(g_horizAngleAdjust);
|
= atan2f(pPlayer->q16horiz - F16(100), F16(128)) * (512.f / fPI) + scaleAdjustmentToInterval(thisPlayer.horizAngleAdjust);
|
||||||
pPlayer->q16horiz = F16(100) + Blrintf(F16(128) * tanf(horizAngle * (fPI / 512.f)));
|
pPlayer->q16horiz = F16(100) + Blrintf(F16(128) * tanf(horizAngle * (fPI / 512.f)));
|
||||||
}
|
}
|
||||||
else if (pPlayer->return_to_center > 0 || g_horizRecenter)
|
else if (pPlayer->return_to_center > 0 || thisPlayer.horizRecenter)
|
||||||
{
|
{
|
||||||
pPlayer->q16horiz = fix16_sadd(pPlayer->q16horiz, fix16_from_float(scaleAdjustmentToInterval(fix16_to_float(F16(66.666) - fix16_sdiv(pPlayer->q16horiz, F16(1.5))))));
|
pPlayer->q16horiz = fix16_sadd(pPlayer->q16horiz, fix16_from_float(scaleAdjustmentToInterval(fix16_to_float(F16(66.666) - fix16_sdiv(pPlayer->q16horiz, F16(1.5))))));
|
||||||
|
|
||||||
if ((!pPlayer->return_to_center && g_horizRecenter) || (pPlayer->q16horiz >= F16(99.9) && pPlayer->q16horiz <= F16(100.1)))
|
if ((!pPlayer->return_to_center && thisPlayer.horizRecenter) || (pPlayer->q16horiz >= F16(99.9) && pPlayer->q16horiz <= F16(100.1)))
|
||||||
{
|
{
|
||||||
pPlayer->q16horiz = F16(100);
|
pPlayer->q16horiz = F16(100);
|
||||||
g_horizRecenter = false;
|
thisPlayer.horizRecenter = false;
|
||||||
}
|
}
|
||||||
|
|
||||||
if (pPlayer->q16horizoff >= F16(-0.1) && pPlayer->q16horizoff <= F16(0.1))
|
if (pPlayer->q16horizoff >= F16(-0.1) && pPlayer->q16horizoff <= F16(0.1))
|
||||||
|
@ -3525,15 +3521,16 @@ void P_GetInput(int const playerNum)
|
||||||
pPlayer->q16horizoff = fix16_min(pPlayer->q16horizoff, 0);
|
pPlayer->q16horizoff = fix16_min(pPlayer->q16horizoff, 0);
|
||||||
}
|
}
|
||||||
|
|
||||||
if (g_horizSkew)
|
if (thisPlayer.horizSkew)
|
||||||
pPlayer->q16horiz = fix16_sadd(pPlayer->q16horiz, fix16_from_float(scaleAdjustmentToInterval(fix16_to_float(g_horizSkew))));
|
pPlayer->q16horiz = fix16_sadd(pPlayer->q16horiz, fix16_from_float(scaleAdjustmentToInterval(fix16_to_float(thisPlayer.horizSkew))));
|
||||||
|
|
||||||
pPlayer->q16horiz = fix16_clamp(pPlayer->q16horiz, F16(HORIZ_MIN), F16(HORIZ_MAX));
|
pPlayer->q16horiz = fix16_clamp(pPlayer->q16horiz, F16(HORIZ_MIN), F16(HORIZ_MAX));
|
||||||
}
|
}
|
||||||
|
|
||||||
void P_GetInputMotorcycle(int playerNum)
|
void P_GetInputMotorcycle(int playerNum)
|
||||||
{
|
{
|
||||||
auto const pPlayer = g_player[playerNum].ps;
|
auto &thisPlayer = g_player[playerNum];
|
||||||
|
auto const pPlayer = thisPlayer.ps;
|
||||||
ControlInfo info;
|
ControlInfo info;
|
||||||
|
|
||||||
if ((pPlayer->gm & (MODE_MENU|MODE_TYPE)) || (ud.pause_on && !inputState.GetKeyStatus(sc_Pause)))
|
if ((pPlayer->gm & (MODE_MENU|MODE_TYPE)) || (ud.pause_on && !inputState.GetKeyStatus(sc_Pause)))
|
||||||
|
@ -3796,23 +3793,22 @@ void P_GetInputMotorcycle(int playerNum)
|
||||||
pPlayer->q16horiz = fix16_clamp(fix16_add(pPlayer->q16horiz, input.q16horz), F16(HORIZ_MIN), F16(HORIZ_MAX));
|
pPlayer->q16horiz = fix16_clamp(fix16_add(pPlayer->q16horiz, input.q16horz), F16(HORIZ_MIN), F16(HORIZ_MAX));
|
||||||
}
|
}
|
||||||
|
|
||||||
// A horiz diff of 128 equal 45 degrees,
|
// A horiz diff of 128 equal 45 degrees, so we convert horiz to 1024 angle units
|
||||||
// so we convert horiz to 1024 angle units
|
|
||||||
|
|
||||||
if (g_horizAngleAdjust)
|
if (thisPlayer.horizAngleAdjust)
|
||||||
{
|
{
|
||||||
float const horizAngle
|
float const horizAngle
|
||||||
= atan2f(pPlayer->q16horiz - F16(100), F16(128)) * (512.f / fPI) + scaleAdjustmentToInterval(g_horizAngleAdjust);
|
= atan2f(pPlayer->q16horiz - F16(100), F16(128)) * (512.f / fPI) + scaleAdjustmentToInterval(thisPlayer.horizAngleAdjust);
|
||||||
pPlayer->q16horiz = F16(100) + Blrintf(F16(128) * tanf(horizAngle * (fPI / 512.f)));
|
pPlayer->q16horiz = F16(100) + Blrintf(F16(128) * tanf(horizAngle * (fPI / 512.f)));
|
||||||
}
|
}
|
||||||
else if (pPlayer->return_to_center > 0 || g_horizRecenter)
|
else if (pPlayer->return_to_center > 0 || thisPlayer.horizRecenter)
|
||||||
{
|
{
|
||||||
pPlayer->q16horiz = fix16_sadd(pPlayer->q16horiz, fix16_from_float(scaleAdjustmentToInterval(fix16_to_float(F16(66.666) - fix16_sdiv(pPlayer->q16horiz, F16(1.5))))));
|
pPlayer->q16horiz = fix16_sadd(pPlayer->q16horiz, fix16_from_float(scaleAdjustmentToInterval(fix16_to_float(F16(66.666) - fix16_sdiv(pPlayer->q16horiz, F16(1.5))))));
|
||||||
|
|
||||||
if ((!pPlayer->return_to_center && g_horizRecenter) || (pPlayer->q16horiz >= F16(99.9) && pPlayer->q16horiz <= F16(100.1)))
|
if ((!pPlayer->return_to_center && thisPlayer.horizRecenter) || (pPlayer->q16horiz >= F16(99.9) && pPlayer->q16horiz <= F16(100.1)))
|
||||||
{
|
{
|
||||||
pPlayer->q16horiz = F16(100);
|
pPlayer->q16horiz = F16(100);
|
||||||
g_horizRecenter = false;
|
thisPlayer.horizRecenter = false;
|
||||||
}
|
}
|
||||||
|
|
||||||
if (pPlayer->q16horizoff >= F16(-0.1) && pPlayer->q16horizoff <= F16(0.1))
|
if (pPlayer->q16horizoff >= F16(-0.1) && pPlayer->q16horizoff <= F16(0.1))
|
||||||
|
@ -3830,8 +3826,8 @@ void P_GetInputMotorcycle(int playerNum)
|
||||||
pPlayer->q16horizoff = fix16_min(pPlayer->q16horizoff, 0);
|
pPlayer->q16horizoff = fix16_min(pPlayer->q16horizoff, 0);
|
||||||
}
|
}
|
||||||
|
|
||||||
if (g_horizSkew)
|
if (thisPlayer.horizSkew)
|
||||||
pPlayer->q16horiz = fix16_sadd(pPlayer->q16horiz, fix16_from_float(scaleAdjustmentToInterval(fix16_to_float(g_horizSkew))));
|
pPlayer->q16horiz = fix16_sadd(pPlayer->q16horiz, fix16_from_float(scaleAdjustmentToInterval(fix16_to_float(thisPlayer.horizSkew))));
|
||||||
|
|
||||||
pPlayer->q16horiz = fix16_clamp(pPlayer->q16horiz, F16(HORIZ_MIN), F16(HORIZ_MAX));
|
pPlayer->q16horiz = fix16_clamp(pPlayer->q16horiz, F16(HORIZ_MIN), F16(HORIZ_MAX));
|
||||||
|
|
||||||
|
@ -3843,7 +3839,8 @@ void P_GetInputMotorcycle(int playerNum)
|
||||||
|
|
||||||
void P_GetInputBoat(int playerNum)
|
void P_GetInputBoat(int playerNum)
|
||||||
{
|
{
|
||||||
auto const pPlayer = g_player[playerNum].ps;
|
auto &thisPlayer = g_player[playerNum];
|
||||||
|
auto const pPlayer = thisPlayer.ps;
|
||||||
ControlInfo info;
|
ControlInfo info;
|
||||||
|
|
||||||
if ((pPlayer->gm & (MODE_MENU|MODE_TYPE)) || (ud.pause_on && !inputState.GetKeyStatus(sc_Pause)))
|
if ((pPlayer->gm & (MODE_MENU|MODE_TYPE)) || (ud.pause_on && !inputState.GetKeyStatus(sc_Pause)))
|
||||||
|
@ -4101,20 +4098,20 @@ void P_GetInputBoat(int playerNum)
|
||||||
// A horiz diff of 128 equal 45 degrees,
|
// A horiz diff of 128 equal 45 degrees,
|
||||||
// so we convert horiz to 1024 angle units
|
// so we convert horiz to 1024 angle units
|
||||||
|
|
||||||
if (g_horizAngleAdjust)
|
if (thisPlayer.horizAngleAdjust)
|
||||||
{
|
{
|
||||||
float const horizAngle
|
float const horizAngle
|
||||||
= atan2f(pPlayer->q16horiz - F16(100), F16(128)) * (512.f / fPI) + scaleAdjustmentToInterval(g_horizAngleAdjust);
|
= atan2f(pPlayer->q16horiz - F16(100), F16(128)) * (512.f / fPI) + scaleAdjustmentToInterval(thisPlayer.horizAngleAdjust);
|
||||||
pPlayer->q16horiz = F16(100) + Blrintf(F16(128) * tanf(horizAngle * (fPI / 512.f)));
|
pPlayer->q16horiz = F16(100) + Blrintf(F16(128) * tanf(horizAngle * (fPI / 512.f)));
|
||||||
}
|
}
|
||||||
else if (pPlayer->return_to_center > 0 || g_horizRecenter)
|
else if (pPlayer->return_to_center > 0 || thisPlayer.horizRecenter)
|
||||||
{
|
{
|
||||||
pPlayer->q16horiz = fix16_sadd(pPlayer->q16horiz, fix16_from_float(scaleAdjustmentToInterval(fix16_to_float(F16(66.666) - fix16_sdiv(pPlayer->q16horiz, F16(1.5))))));
|
pPlayer->q16horiz = fix16_sadd(pPlayer->q16horiz, fix16_from_float(scaleAdjustmentToInterval(fix16_to_float(F16(66.666) - fix16_sdiv(pPlayer->q16horiz, F16(1.5))))));
|
||||||
|
|
||||||
if ((!pPlayer->return_to_center && g_horizRecenter) || (pPlayer->q16horiz >= F16(99.9) && pPlayer->q16horiz <= F16(100.1)))
|
if ((!pPlayer->return_to_center && thisPlayer.horizRecenter) || (pPlayer->q16horiz >= F16(99.9) && pPlayer->q16horiz <= F16(100.1)))
|
||||||
{
|
{
|
||||||
pPlayer->q16horiz = F16(100);
|
pPlayer->q16horiz = F16(100);
|
||||||
g_horizRecenter = false;
|
thisPlayer.horizRecenter = false;
|
||||||
}
|
}
|
||||||
|
|
||||||
if (pPlayer->q16horizoff >= F16(-0.1) && pPlayer->q16horizoff <= F16(0.1))
|
if (pPlayer->q16horizoff >= F16(-0.1) && pPlayer->q16horizoff <= F16(0.1))
|
||||||
|
@ -4132,8 +4129,8 @@ void P_GetInputBoat(int playerNum)
|
||||||
pPlayer->q16horizoff = fix16_min(pPlayer->q16horizoff, 0);
|
pPlayer->q16horizoff = fix16_min(pPlayer->q16horizoff, 0);
|
||||||
}
|
}
|
||||||
|
|
||||||
if (g_horizSkew)
|
if (thisPlayer.horizSkew)
|
||||||
pPlayer->q16horiz = fix16_sadd(pPlayer->q16horiz, fix16_from_float(scaleAdjustmentToInterval(fix16_to_float(g_horizSkew))));
|
pPlayer->q16horiz = fix16_sadd(pPlayer->q16horiz, fix16_from_float(scaleAdjustmentToInterval(fix16_to_float(thisPlayer.horizSkew))));
|
||||||
|
|
||||||
pPlayer->q16horiz = fix16_clamp(pPlayer->q16horiz, F16(HORIZ_MIN), F16(HORIZ_MAX));
|
pPlayer->q16horiz = fix16_clamp(pPlayer->q16horiz, F16(HORIZ_MIN), F16(HORIZ_MAX));
|
||||||
}
|
}
|
||||||
|
@ -4159,7 +4156,8 @@ int sub_299D8(void)
|
||||||
|
|
||||||
void P_DHGetInput(int const playerNum)
|
void P_DHGetInput(int const playerNum)
|
||||||
{
|
{
|
||||||
auto const pPlayer = g_player[playerNum].ps;
|
auto &thisPlayer = g_player[playerNum];
|
||||||
|
auto const pPlayer = thisPlayer.ps;
|
||||||
ControlInfo info;
|
ControlInfo info;
|
||||||
|
|
||||||
if ((pPlayer->gm & (MODE_MENU|MODE_TYPE)) || (ud.pause_on && !inputState.GetKeyStatus(sc_Pause)))
|
if ((pPlayer->gm & (MODE_MENU|MODE_TYPE)) || (ud.pause_on && !inputState.GetKeyStatus(sc_Pause)))
|
||||||
|
@ -4312,23 +4310,22 @@ void P_DHGetInput(int const playerNum)
|
||||||
if (pPlayer->cursectnum >= 0 && sector[pPlayer->cursectnum].hitag == 2003)
|
if (pPlayer->cursectnum >= 0 && sector[pPlayer->cursectnum].hitag == 2003)
|
||||||
input.fvel >>= 1;
|
input.fvel >>= 1;
|
||||||
|
|
||||||
// A horiz diff of 128 equal 45 degrees,
|
// A horiz diff of 128 equal 45 degrees, so we convert horiz to 1024 angle units
|
||||||
// so we convert horiz to 1024 angle units
|
|
||||||
|
|
||||||
if (g_horizAngleAdjust)
|
if (thisPlayer.horizAngleAdjust)
|
||||||
{
|
{
|
||||||
float const horizAngle
|
float const horizAngle
|
||||||
= atan2f(pPlayer->q16horiz - F16(100), F16(128)) * (512.f / fPI) + scaleAdjustmentToInterval(g_horizAngleAdjust);
|
= atan2f(pPlayer->q16horiz - F16(100), F16(128)) * (512.f / fPI) + scaleAdjustmentToInterval(thisPlayer.horizAngleAdjust);
|
||||||
pPlayer->q16horiz = F16(100) + Blrintf(F16(128) * tanf(horizAngle * (fPI / 512.f)));
|
pPlayer->q16horiz = F16(100) + Blrintf(F16(128) * tanf(horizAngle * (fPI / 512.f)));
|
||||||
}
|
}
|
||||||
else if (pPlayer->return_to_center > 0 || g_horizRecenter)
|
else if (pPlayer->return_to_center > 0 || thisPlayer.horizRecenter)
|
||||||
{
|
{
|
||||||
pPlayer->q16horiz = fix16_sadd(pPlayer->q16horiz, fix16_from_float(scaleAdjustmentToInterval(fix16_to_float(F16(66.666) - fix16_sdiv(pPlayer->q16horiz, F16(1.5))))));
|
pPlayer->q16horiz = fix16_sadd(pPlayer->q16horiz, fix16_from_float(scaleAdjustmentToInterval(fix16_to_float(F16(66.666) - fix16_sdiv(pPlayer->q16horiz, F16(1.5))))));
|
||||||
|
|
||||||
if ((!pPlayer->return_to_center && g_horizRecenter) || (pPlayer->q16horiz >= F16(99.9) && pPlayer->q16horiz <= F16(100.1)))
|
if ((!pPlayer->return_to_center && thisPlayer.horizRecenter) || (pPlayer->q16horiz >= F16(99.9) && pPlayer->q16horiz <= F16(100.1)))
|
||||||
{
|
{
|
||||||
pPlayer->q16horiz = F16(100);
|
pPlayer->q16horiz = F16(100);
|
||||||
g_horizRecenter = false;
|
thisPlayer.horizRecenter = false;
|
||||||
}
|
}
|
||||||
|
|
||||||
if (pPlayer->q16horizoff >= F16(-0.1) && pPlayer->q16horizoff <= F16(0.1))
|
if (pPlayer->q16horizoff >= F16(-0.1) && pPlayer->q16horizoff <= F16(0.1))
|
||||||
|
@ -4346,8 +4343,8 @@ void P_DHGetInput(int const playerNum)
|
||||||
pPlayer->q16horizoff = fix16_min(pPlayer->q16horizoff, 0);
|
pPlayer->q16horizoff = fix16_min(pPlayer->q16horizoff, 0);
|
||||||
}
|
}
|
||||||
|
|
||||||
if (g_horizSkew)
|
if (thisPlayer.horizSkew)
|
||||||
pPlayer->q16horiz = fix16_sadd(pPlayer->q16horiz, fix16_from_float(scaleAdjustmentToInterval(fix16_to_float(g_horizSkew))));
|
pPlayer->q16horiz = fix16_sadd(pPlayer->q16horiz, fix16_from_float(scaleAdjustmentToInterval(fix16_to_float(thisPlayer.horizSkew))));
|
||||||
|
|
||||||
pPlayer->q16horiz = fix16_clamp(pPlayer->q16horiz, F16(HORIZ_MIN), F16(HORIZ_MAX));
|
pPlayer->q16horiz = fix16_clamp(pPlayer->q16horiz, F16(HORIZ_MIN), F16(HORIZ_MAX));
|
||||||
|
|
||||||
|
@ -7125,23 +7122,25 @@ static void P_HandlePal(DukePlayer_t *const pPlayer)
|
||||||
|
|
||||||
void P_ProcessInput(int playerNum)
|
void P_ProcessInput(int playerNum)
|
||||||
{
|
{
|
||||||
g_horizAngleAdjust = 0;
|
auto &thisPlayer = g_player[playerNum];
|
||||||
g_horizSkew = 0;
|
|
||||||
|
thisPlayer.horizAngleAdjust = 0;
|
||||||
|
thisPlayer.horizSkew = 0;
|
||||||
|
|
||||||
if (DEER)
|
if (DEER)
|
||||||
{
|
{
|
||||||
P_DHProcessInput(playerNum);
|
P_DHProcessInput(playerNum);
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
if (g_player[playerNum].playerquitflag == 0)
|
if (thisPlayer.playerquitflag == 0)
|
||||||
return;
|
return;
|
||||||
|
|
||||||
DukePlayer_t *const pPlayer = g_player[playerNum].ps;
|
auto const pPlayer = thisPlayer.ps;
|
||||||
spritetype *const pSprite = &sprite[pPlayer->i];
|
auto const pSprite = &sprite[pPlayer->i];
|
||||||
|
|
||||||
++pPlayer->player_par;
|
++pPlayer->player_par;
|
||||||
|
|
||||||
uint32_t playerBits = g_player[playerNum].input->bits;
|
uint32_t playerBits = thisPlayer.input->bits;
|
||||||
|
|
||||||
if (RR)
|
if (RR)
|
||||||
{
|
{
|
||||||
|
@ -8356,7 +8355,7 @@ check_enemy_sprite:
|
||||||
pPlayer->vel.x = 0;
|
pPlayer->vel.x = 0;
|
||||||
pPlayer->vel.y = 0;
|
pPlayer->vel.y = 0;
|
||||||
}
|
}
|
||||||
else if (g_player[playerNum].input->q16avel)
|
else if (thisPlayer.input->q16avel)
|
||||||
pPlayer->crack_time = 777;
|
pPlayer->crack_time = 777;
|
||||||
|
|
||||||
if (pPlayer->spritebridge == 0)
|
if (pPlayer->spritebridge == 0)
|
||||||
|
@ -8469,8 +8468,8 @@ check_enemy_sprite:
|
||||||
if (pPlayer->jetpack_on == 0 && pPlayer->inv_amount[GET_STEROIDS] > 0 && pPlayer->inv_amount[GET_STEROIDS] < 400)
|
if (pPlayer->jetpack_on == 0 && pPlayer->inv_amount[GET_STEROIDS] > 0 && pPlayer->inv_amount[GET_STEROIDS] < 400)
|
||||||
velocityModifier <<= 1;
|
velocityModifier <<= 1;
|
||||||
|
|
||||||
pPlayer->vel.x += (((g_player[playerNum].input->fvel) * velocityModifier) << 6);
|
pPlayer->vel.x += (((thisPlayer.input->fvel) * velocityModifier) << 6);
|
||||||
pPlayer->vel.y += (((g_player[playerNum].input->svel) * velocityModifier) << 6);
|
pPlayer->vel.y += (((thisPlayer.input->svel) * velocityModifier) << 6);
|
||||||
|
|
||||||
int playerSpeedReduction = 0;
|
int playerSpeedReduction = 0;
|
||||||
|
|
||||||
|
@ -8903,7 +8902,8 @@ HORIZONLY:;
|
||||||
if (VM_OnEvent(EVENT_LOOKUP, pPlayer->i, playerNum) == 0)
|
if (VM_OnEvent(EVENT_LOOKUP, pPlayer->i, playerNum) == 0)
|
||||||
{
|
{
|
||||||
pPlayer->return_to_center = 9;
|
pPlayer->return_to_center = 9;
|
||||||
g_horizAngleAdjust = float(12<<(int)(TEST_SYNC_KEY(playerBits, SK_RUN)));
|
thisPlayer.horizRecenter = true;
|
||||||
|
thisPlayer.horizAngleAdjust = float(12<<(int)(TEST_SYNC_KEY(playerBits, SK_RUN)));
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
else if (TEST_SYNC_KEY(playerBits, SK_LOOK_DOWN))
|
else if (TEST_SYNC_KEY(playerBits, SK_LOOK_DOWN))
|
||||||
|
@ -8911,23 +8911,24 @@ HORIZONLY:;
|
||||||
if (VM_OnEvent(EVENT_LOOKDOWN,pPlayer->i,playerNum) == 0)
|
if (VM_OnEvent(EVENT_LOOKDOWN,pPlayer->i,playerNum) == 0)
|
||||||
{
|
{
|
||||||
pPlayer->return_to_center = 9;
|
pPlayer->return_to_center = 9;
|
||||||
g_horizAngleAdjust = -float(12<<(int)(TEST_SYNC_KEY(playerBits, SK_RUN)));
|
thisPlayer.horizRecenter = true;
|
||||||
|
thisPlayer.horizAngleAdjust = -float(12<<(int)(TEST_SYNC_KEY(playerBits, SK_RUN)));
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
else if (TEST_SYNC_KEY(playerBits, SK_AIM_UP) && (!RRRA || !pPlayer->on_motorcycle))
|
else if (TEST_SYNC_KEY(playerBits, SK_AIM_UP) && (!RRRA || !pPlayer->on_motorcycle))
|
||||||
{
|
{
|
||||||
if (VM_OnEvent(EVENT_AIMUP,pPlayer->i,playerNum) == 0)
|
if (VM_OnEvent(EVENT_AIMUP,pPlayer->i,playerNum) == 0)
|
||||||
{
|
{
|
||||||
g_horizAngleAdjust = float(6 << (int)(TEST_SYNC_KEY(playerBits, SK_RUN)));
|
thisPlayer.horizAngleAdjust = float(6 << (int)(TEST_SYNC_KEY(playerBits, SK_RUN)));
|
||||||
g_horizRecenter = false;
|
thisPlayer.horizRecenter = false;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
else if (TEST_SYNC_KEY(playerBits, SK_AIM_DOWN) && (!RRRA || !pPlayer->on_motorcycle))
|
else if (TEST_SYNC_KEY(playerBits, SK_AIM_DOWN) && (!RRRA || !pPlayer->on_motorcycle))
|
||||||
{
|
{
|
||||||
if (VM_OnEvent(EVENT_AIMDOWN,pPlayer->i,playerNum) == 0)
|
if (VM_OnEvent(EVENT_AIMDOWN,pPlayer->i,playerNum) == 0)
|
||||||
{
|
{
|
||||||
g_horizAngleAdjust = -float(6 << (int)(TEST_SYNC_KEY(playerBits, SK_RUN)));
|
thisPlayer.horizAngleAdjust = -float(6 << (int)(TEST_SYNC_KEY(playerBits, SK_RUN)));
|
||||||
g_horizRecenter = false;
|
thisPlayer.horizRecenter = false;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
if (RR && pPlayer->recoil && *weaponFrame == 0)
|
if (RR && pPlayer->recoil && *weaponFrame == 0)
|
||||||
|
@ -8940,7 +8941,7 @@ HORIZONLY:;
|
||||||
|
|
||||||
if (pPlayer->hard_landing > 0)
|
if (pPlayer->hard_landing > 0)
|
||||||
{
|
{
|
||||||
g_horizSkew = fix16_from_int(-(pPlayer->hard_landing << 4));
|
thisPlayer.horizSkew = fix16_from_int(-(pPlayer->hard_landing << 4));
|
||||||
pPlayer->hard_landing--;
|
pPlayer->hard_landing--;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -8970,8 +8971,8 @@ HORIZONLY:;
|
||||||
|
|
||||||
if (pPlayer->knee_incs > 0)
|
if (pPlayer->knee_incs > 0)
|
||||||
{
|
{
|
||||||
g_horizSkew = F16(-48);
|
thisPlayer.horizSkew = F16(-48);
|
||||||
g_horizRecenter = true;
|
thisPlayer.horizRecenter = true;
|
||||||
pPlayer->return_to_center = 9;
|
pPlayer->return_to_center = 9;
|
||||||
|
|
||||||
if (++pPlayer->knee_incs > 15)
|
if (++pPlayer->knee_incs > 15)
|
||||||
|
@ -9054,18 +9055,20 @@ HORIZONLY:;
|
||||||
|
|
||||||
void P_DHProcessInput(int playerNum)
|
void P_DHProcessInput(int playerNum)
|
||||||
{
|
{
|
||||||
g_horizAngleAdjust = 0;
|
auto &thisPlayer = g_player[playerNum];
|
||||||
g_horizSkew = 0;
|
|
||||||
|
|
||||||
if (g_player[playerNum].playerquitflag == 0)
|
thisPlayer.horizAngleAdjust = 0;
|
||||||
|
thisPlayer.horizSkew = 0;
|
||||||
|
|
||||||
|
if (thisPlayer.playerquitflag == 0)
|
||||||
return;
|
return;
|
||||||
|
|
||||||
DukePlayer_t *const pPlayer = g_player[playerNum].ps;
|
auto const pPlayer = thisPlayer.ps;
|
||||||
spritetype *const pSprite = &sprite[pPlayer->i];
|
auto const pSprite = &sprite[pPlayer->i];
|
||||||
|
|
||||||
++pPlayer->player_par;
|
++pPlayer->player_par;
|
||||||
|
|
||||||
uint32_t playerBits = g_player[playerNum].input->bits;
|
uint32_t playerBits = thisPlayer.input->bits;
|
||||||
|
|
||||||
pSprite->cstat = 0;
|
pSprite->cstat = 0;
|
||||||
|
|
||||||
|
@ -9410,7 +9413,7 @@ void P_DHProcessInput(int playerNum)
|
||||||
pPlayer->vel.x = 0;
|
pPlayer->vel.x = 0;
|
||||||
pPlayer->vel.y = 0;
|
pPlayer->vel.y = 0;
|
||||||
}
|
}
|
||||||
else if (g_player[playerNum].input->q16avel)
|
else if (thisPlayer.input->q16avel)
|
||||||
pPlayer->crack_time = 777;
|
pPlayer->crack_time = 777;
|
||||||
|
|
||||||
if (pPlayer->vel.x || pPlayer->vel.y || g_player[playerNum].input->fvel || g_player[playerNum].input->svel)
|
if (pPlayer->vel.x || pPlayer->vel.y || g_player[playerNum].input->fvel || g_player[playerNum].input->svel)
|
||||||
|
@ -9419,8 +9422,8 @@ void P_DHProcessInput(int playerNum)
|
||||||
|
|
||||||
pPlayer->not_on_water = 1;
|
pPlayer->not_on_water = 1;
|
||||||
|
|
||||||
pPlayer->vel.x += (((g_player[playerNum].input->fvel) * velocityModifier) << 6);
|
pPlayer->vel.x += (((thisPlayer.input->fvel) * velocityModifier) << 6);
|
||||||
pPlayer->vel.y += (((g_player[playerNum].input->svel) * velocityModifier) << 6);
|
pPlayer->vel.y += (((thisPlayer.input->svel) * velocityModifier) << 6);
|
||||||
|
|
||||||
pPlayer->vel.x = mulscale16(pPlayer->vel.x, pPlayer->runspeed);
|
pPlayer->vel.x = mulscale16(pPlayer->vel.x, pPlayer->runspeed);
|
||||||
pPlayer->vel.y = mulscale16(pPlayer->vel.y, pPlayer->runspeed);
|
pPlayer->vel.y = mulscale16(pPlayer->vel.y, pPlayer->runspeed);
|
||||||
|
@ -9550,24 +9553,24 @@ void P_DHProcessInput(int playerNum)
|
||||||
if (TEST_SYNC_KEY(playerBits, SK_LOOK_UP))
|
if (TEST_SYNC_KEY(playerBits, SK_LOOK_UP))
|
||||||
{
|
{
|
||||||
pPlayer->return_to_center = 9;
|
pPlayer->return_to_center = 9;
|
||||||
g_horizRecenter = true;
|
thisPlayer.horizRecenter = true;
|
||||||
g_horizAngleAdjust = float(12<<(int)(TEST_SYNC_KEY(playerBits, SK_RUN)));
|
thisPlayer.horizAngleAdjust = float(12<<(int)(TEST_SYNC_KEY(playerBits, SK_RUN)));
|
||||||
}
|
}
|
||||||
else if (TEST_SYNC_KEY(playerBits, SK_LOOK_DOWN))
|
else if (TEST_SYNC_KEY(playerBits, SK_LOOK_DOWN))
|
||||||
{
|
{
|
||||||
pPlayer->return_to_center = 9;
|
pPlayer->return_to_center = 9;
|
||||||
g_horizRecenter = true;
|
thisPlayer.horizRecenter = true;
|
||||||
g_horizAngleAdjust = -float(12<<(int)(TEST_SYNC_KEY(playerBits, SK_RUN)));
|
thisPlayer.horizAngleAdjust = -float(12<<(int)(TEST_SYNC_KEY(playerBits, SK_RUN)));
|
||||||
}
|
}
|
||||||
else if (TEST_SYNC_KEY(playerBits, SK_AIM_UP) && !pPlayer->on_motorcycle)
|
else if (TEST_SYNC_KEY(playerBits, SK_AIM_UP) && !pPlayer->on_motorcycle)
|
||||||
{
|
{
|
||||||
g_horizAngleAdjust = float(6 << (int)(TEST_SYNC_KEY(playerBits, SK_RUN)));
|
thisPlayer.horizAngleAdjust = float(6 << (int)(TEST_SYNC_KEY(playerBits, SK_RUN)));
|
||||||
g_horizRecenter = false;
|
thisPlayer.horizRecenter = false;
|
||||||
}
|
}
|
||||||
else if (TEST_SYNC_KEY(playerBits, SK_AIM_DOWN) && !pPlayer->on_motorcycle)
|
else if (TEST_SYNC_KEY(playerBits, SK_AIM_DOWN) && !pPlayer->on_motorcycle)
|
||||||
{
|
{
|
||||||
g_horizAngleAdjust = -float(6 << (int)(TEST_SYNC_KEY(playerBits, SK_RUN)));
|
thisPlayer.horizAngleAdjust = -float(6 << (int)(TEST_SYNC_KEY(playerBits, SK_RUN)));
|
||||||
g_horizRecenter = false;
|
thisPlayer.horizRecenter = false;
|
||||||
}
|
}
|
||||||
if (RR && pPlayer->recoil && *weaponFrame == 0)
|
if (RR && pPlayer->recoil && *weaponFrame == 0)
|
||||||
{
|
{
|
||||||
|
@ -9579,7 +9582,7 @@ void P_DHProcessInput(int playerNum)
|
||||||
|
|
||||||
if (pPlayer->hard_landing > 0)
|
if (pPlayer->hard_landing > 0)
|
||||||
{
|
{
|
||||||
g_horizSkew = fix16_from_int(-(pPlayer->hard_landing << 4));
|
thisPlayer.horizSkew = fix16_from_int(-(pPlayer->hard_landing << 4));
|
||||||
pPlayer->hard_landing--;
|
pPlayer->hard_landing--;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
@ -228,10 +228,15 @@ typedef struct {
|
||||||
} DukePlayer_t;
|
} DukePlayer_t;
|
||||||
|
|
||||||
// KEEPINSYNC lunatic/_defs_game.lua
|
// KEEPINSYNC lunatic/_defs_game.lua
|
||||||
typedef struct {
|
typedef struct
|
||||||
|
{
|
||||||
DukePlayer_t *ps;
|
DukePlayer_t *ps;
|
||||||
input_t *input;
|
input_t *input;
|
||||||
|
|
||||||
|
bool horizRecenter;
|
||||||
|
float horizAngleAdjust;
|
||||||
|
fix16_t horizSkew;
|
||||||
|
|
||||||
int32_t movefifoend, syncvalhead, myminlag;
|
int32_t movefifoend, syncvalhead, myminlag;
|
||||||
int32_t pcolor, pteam;
|
int32_t pcolor, pteam;
|
||||||
// NOTE: wchoice[HANDREMOTE_WEAPON .. MAX_WEAPONS-1] unused
|
// NOTE: wchoice[HANDREMOTE_WEAPON .. MAX_WEAPONS-1] unused
|
||||||
|
|
Loading…
Reference in a new issue