mirror of
https://git.do.srb2.org/KartKrew/Kart-Public.git
synced 2025-01-12 04:41:17 +00:00
Merge branch 'speccenter' into 'master'
Center Camera when joining from Spectator See merge request KartKrew/Kart-Public!339
This commit is contained in:
commit
90549eda19
2 changed files with 19 additions and 0 deletions
|
@ -150,6 +150,7 @@ boolean P_TryCameraMove(fixed_t x, fixed_t y, camera_t *thiscam);
|
|||
void P_SlideCameraMove(camera_t *thiscam);
|
||||
void P_DemoCameraMovement(camera_t *cam);
|
||||
boolean P_MoveChaseCamera(player_t *player, camera_t *thiscam, boolean resetcalled);
|
||||
void P_ResetLocalCamAiming(player_t *player);
|
||||
void P_InitCameraCmd(void);
|
||||
boolean P_PlayerInPain(player_t *player);
|
||||
void P_DoPlayerPain(player_t *player, mobj_t *source, mobj_t *inflictor);
|
||||
|
|
18
src/p_user.c
18
src/p_user.c
|
@ -8009,6 +8009,18 @@ boolean P_MoveChaseCamera(player_t *player, camera_t *thiscam, boolean resetcall
|
|||
return (x == thiscam->x && y == thiscam->y && z == thiscam->z && angle == thiscam->aiming);
|
||||
}
|
||||
|
||||
void P_ResetLocalCamAiming(player_t *player)
|
||||
{
|
||||
for (int i = 0; i <= splitscreen; i++)
|
||||
{
|
||||
UINT8 id = (i == 0) ? consoleplayer : displayplayers[i];
|
||||
if (player - players == id)
|
||||
{
|
||||
localaiming[i] = 0;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
boolean P_SpectatorJoinGame(player_t *player)
|
||||
{
|
||||
// Team changing isn't allowed.
|
||||
|
@ -8059,6 +8071,9 @@ boolean P_SpectatorJoinGame(player_t *player)
|
|||
player->ctfteam = changeto;
|
||||
player->playerstate = PST_REBORN;
|
||||
|
||||
//center camera
|
||||
P_ResetLocalCamAiming(player);
|
||||
|
||||
//Reset away view
|
||||
if (P_IsLocalPlayer(player) && displayplayers[0] != consoleplayer)
|
||||
displayplayers[0] = consoleplayer;
|
||||
|
@ -8083,6 +8098,9 @@ boolean P_SpectatorJoinGame(player_t *player)
|
|||
player->kartstuff[k_spectatewait] = 0;
|
||||
player->playerstate = PST_REBORN;
|
||||
|
||||
//center camera
|
||||
P_ResetLocalCamAiming(player);
|
||||
|
||||
//Reset away view
|
||||
if (P_IsLocalPlayer(player) && displayplayers[0] != consoleplayer)
|
||||
displayplayers[0] = consoleplayer;
|
||||
|
|
Loading…
Reference in a new issue