mirror of
https://github.com/KartKrewDev/RingRacers.git
synced 2026-04-28 04:51:42 +00:00
Fix camera not updating when F12ing, fixed camera not taking aiming into account, and minor cleanup
This commit is contained in:
parent
58d9ac899d
commit
953afddd03
4 changed files with 39 additions and 36 deletions
|
|
@ -461,15 +461,16 @@ static int player_set(lua_State *L)
|
||||||
else if (fastcmp(field,"viewrollangle"))
|
else if (fastcmp(field,"viewrollangle"))
|
||||||
plr->viewrollangle = luaL_checkangle(L, 3);
|
plr->viewrollangle = luaL_checkangle(L, 3);
|
||||||
else if (fastcmp(field,"aiming")) {
|
else if (fastcmp(field,"aiming")) {
|
||||||
|
UINT8 i;
|
||||||
plr->aiming = luaL_checkangle(L, 3);
|
plr->aiming = luaL_checkangle(L, 3);
|
||||||
if (plr == &players[consoleplayer])
|
for (i = 0; i <= r_splitscreen; i++)
|
||||||
localaiming[0] = plr->aiming;
|
{
|
||||||
else if (plr == &players[displayplayers[1]])
|
if (plr == &players[displayplayers[i]])
|
||||||
localaiming[1] = plr->aiming;
|
{
|
||||||
else if (plr == &players[displayplayers[2]])
|
localaiming[i] = plr->aiming;
|
||||||
localaiming[2] = plr->aiming;
|
break;
|
||||||
else if (plr == &players[displayplayers[3]])
|
}
|
||||||
localaiming[3] = plr->aiming;
|
}
|
||||||
}
|
}
|
||||||
else if (fastcmp(field,"drawangle"))
|
else if (fastcmp(field,"drawangle"))
|
||||||
plr->drawangle = luaL_checkangle(L, 3);
|
plr->drawangle = luaL_checkangle(L, 3);
|
||||||
|
|
|
||||||
|
|
@ -1161,6 +1161,8 @@ void P_KillMobj(mobj_t *target, mobj_t *inflictor, mobj_t *source, UINT8 damaget
|
||||||
// if a player avatar dies...
|
// if a player avatar dies...
|
||||||
if (target->player)
|
if (target->player)
|
||||||
{
|
{
|
||||||
|
UINT8 i;
|
||||||
|
|
||||||
target->flags &= ~(MF_SOLID|MF_SHOOTABLE); // does not block
|
target->flags &= ~(MF_SOLID|MF_SHOOTABLE); // does not block
|
||||||
P_UnsetThingPosition(target);
|
P_UnsetThingPosition(target);
|
||||||
target->flags |= MF_NOBLOCKMAP|MF_NOCLIP|MF_NOCLIPHEIGHT|MF_NOGRAVITY;
|
target->flags |= MF_NOBLOCKMAP|MF_NOCLIP|MF_NOCLIPHEIGHT|MF_NOGRAVITY;
|
||||||
|
|
@ -1176,14 +1178,17 @@ void P_KillMobj(mobj_t *target, mobj_t *inflictor, mobj_t *source, UINT8 damaget
|
||||||
// switch view prior to dying
|
// switch view prior to dying
|
||||||
if (automapactive)
|
if (automapactive)
|
||||||
AM_Stop();
|
AM_Stop();
|
||||||
|
|
||||||
//added : 22-02-98: recenter view for next life...
|
|
||||||
localaiming[0] = 0;
|
|
||||||
}
|
}
|
||||||
|
|
||||||
if (target->player == &players[displayplayers[1]]) localaiming[1] = 0;
|
//added : 22-02-98: recenter view for next life...
|
||||||
if (target->player == &players[displayplayers[2]]) localaiming[2] = 0;
|
for (i = 0; i <= r_splitscreen; i++)
|
||||||
if (target->player == &players[displayplayers[3]]) localaiming[3] = 0;
|
{
|
||||||
|
if (target->player == &players[displayplayers[i]])
|
||||||
|
{
|
||||||
|
localaiming[i] = 0;
|
||||||
|
break;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
if ((gametyperules & GTR_BUMPERS))
|
if ((gametyperules & GTR_BUMPERS))
|
||||||
K_CheckBumpers();
|
K_CheckBumpers();
|
||||||
|
|
|
||||||
|
|
@ -151,7 +151,6 @@ boolean P_IsDisplayPlayer(player_t *player);
|
||||||
|
|
||||||
void P_SetPlayerAngle(player_t *player, angle_t angle);
|
void P_SetPlayerAngle(player_t *player, angle_t angle);
|
||||||
angle_t P_GetLocalAngle(player_t *player);
|
angle_t P_GetLocalAngle(player_t *player);
|
||||||
void P_SetLocalAngle(player_t *player, angle_t angle);
|
|
||||||
void P_ForceLocalAngle(player_t *player, angle_t angle);
|
void P_ForceLocalAngle(player_t *player, angle_t angle);
|
||||||
boolean P_PlayerFullbright(player_t *player);
|
boolean P_PlayerFullbright(player_t *player);
|
||||||
|
|
||||||
|
|
|
||||||
40
src/p_user.c
40
src/p_user.c
|
|
@ -2037,11 +2037,11 @@ static void P_3dMovement(player_t *player)
|
||||||
//
|
//
|
||||||
static void P_UpdatePlayerAngle(player_t *player)
|
static void P_UpdatePlayerAngle(player_t *player)
|
||||||
{
|
{
|
||||||
ticcmd_t *cmd = &player->cmd;
|
angle_t angleChange = K_GetKartTurnValue(player, player->cmd.turning) << TICCMD_REDUCE;
|
||||||
angle_t angleChange = K_GetKartTurnValue(player, cmd->turning) << TICCMD_REDUCE;
|
UINT8 i;
|
||||||
|
|
||||||
player->angleturn += angleChange;
|
P_SetPlayerAngle(player, player->angleturn + angleChange);
|
||||||
P_SetLocalAngle(player, P_GetLocalAngle(player) + angleChange);
|
player->mo->angle = player->angleturn;
|
||||||
|
|
||||||
if (!cv_allowmlook.value || player->spectator == false)
|
if (!cv_allowmlook.value || player->spectator == false)
|
||||||
{
|
{
|
||||||
|
|
@ -2049,11 +2049,18 @@ static void P_UpdatePlayerAngle(player_t *player)
|
||||||
}
|
}
|
||||||
else
|
else
|
||||||
{
|
{
|
||||||
player->aiming += (cmd->aiming << TICCMD_REDUCE);
|
player->aiming += (player->cmd.aiming << TICCMD_REDUCE);
|
||||||
player->aiming = G_ClipAimingPitch((INT32 *)&player->aiming);
|
player->aiming = G_ClipAimingPitch((INT32 *)&player->aiming);
|
||||||
}
|
}
|
||||||
|
|
||||||
player->mo->angle = player->angleturn;
|
for (i = 0; i <= r_splitscreen; i++)
|
||||||
|
{
|
||||||
|
if (player == &players[displayplayers[i]])
|
||||||
|
{
|
||||||
|
localaiming[i] = player->aiming;
|
||||||
|
break;
|
||||||
|
}
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
//
|
//
|
||||||
|
|
@ -4653,17 +4660,8 @@ void P_PlayerAfterThink(player_t *player)
|
||||||
|
|
||||||
void P_SetPlayerAngle(player_t *player, angle_t angle)
|
void P_SetPlayerAngle(player_t *player, angle_t angle)
|
||||||
{
|
{
|
||||||
angle_t delta = angle - player->angleturn;
|
P_ForceLocalAngle(player, angle);
|
||||||
|
player->angleturn = angle;
|
||||||
P_ForceLocalAngle(player, P_GetLocalAngle(player) + delta);
|
|
||||||
player->angleturn += delta;
|
|
||||||
}
|
|
||||||
|
|
||||||
void P_SetLocalAngle(player_t *player, angle_t angle)
|
|
||||||
{
|
|
||||||
angle_t delta = (angle - P_GetLocalAngle(player));
|
|
||||||
|
|
||||||
P_ForceLocalAngle(player, P_GetLocalAngle(player) + delta);
|
|
||||||
}
|
}
|
||||||
|
|
||||||
angle_t P_GetLocalAngle(player_t *player)
|
angle_t P_GetLocalAngle(player_t *player)
|
||||||
|
|
@ -4672,9 +4670,9 @@ angle_t P_GetLocalAngle(player_t *player)
|
||||||
// (hint: they have separate variables for all of this shit instead of arrays)
|
// (hint: they have separate variables for all of this shit instead of arrays)
|
||||||
UINT8 i;
|
UINT8 i;
|
||||||
|
|
||||||
for (i = 0; i <= splitscreen; i++)
|
for (i = 0; i <= r_splitscreen; i++)
|
||||||
{
|
{
|
||||||
if (player == &players[g_localplayers[i]])
|
if (player == &players[displayplayers[i]])
|
||||||
return localangle[i];
|
return localangle[i];
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
@ -4687,9 +4685,9 @@ void P_ForceLocalAngle(player_t *player, angle_t angle)
|
||||||
|
|
||||||
angle = angle & ~UINT16_MAX;
|
angle = angle & ~UINT16_MAX;
|
||||||
|
|
||||||
for (i = 0; i <= splitscreen; i++)
|
for (i = 0; i <= r_splitscreen; i++)
|
||||||
{
|
{
|
||||||
if (player == &players[g_localplayers[i]])
|
if (player == &players[displayplayers[i]])
|
||||||
{
|
{
|
||||||
localangle[i] = angle;
|
localangle[i] = angle;
|
||||||
break;
|
break;
|
||||||
|
|
|
||||||
Loading…
Add table
Reference in a new issue