diff --git a/src/android/i_system.c b/src/android/i_system.c index 0eacc4282..150cbd505 100644 --- a/src/android/i_system.c +++ b/src/android/i_system.c @@ -158,10 +158,13 @@ void I_SetupMumble(void) { } -void I_UpdateMumble(const MumblePos_t *MPos) +#ifndef NOMUMBLE +void I_UpdateMumble(const mobj_t *mobj, const listener_t listener) { - (void)MPos; + (void)mobj; + (void)listener; } +#endif void I_OutputMsg(const char *fmt, ...) { diff --git a/src/djgppdos/i_system.c b/src/djgppdos/i_system.c index 421652760..854d68f4d 100644 --- a/src/djgppdos/i_system.c +++ b/src/djgppdos/i_system.c @@ -175,10 +175,13 @@ void I_SetupMumble(void) { } -void I_UpdateMumble(const MumblePos_t *MPos) +#ifndef NOMUMBLE +void I_UpdateMumble(const mobj_t *mobj, const listener_t listener) { - (void)MPos; + (void)mobj; + (void)listener; } +#endif // // Allocates the base zone memory, diff --git a/src/nds/i_system.c b/src/nds/i_system.c index ab30c7eb5..0ed58029c 100644 --- a/src/nds/i_system.c +++ b/src/nds/i_system.c @@ -149,10 +149,13 @@ void I_SetupMumble(void) { } -void I_UpdateMumble(const MumblePos_t *MPos) +#ifndef NOMUMBLE +void I_UpdateMumble(const mobj_t *mobj, const listener_t listener) { - (void)MPos; + (void)mobj; + (void)listener; } +#endif void I_OutputMsg(const char *error, ...) { diff --git a/src/p_user.c b/src/p_user.c index 8b793e810..0c016dfc1 100644 --- a/src/p_user.c +++ b/src/p_user.c @@ -8392,9 +8392,24 @@ boolean P_MoveChaseCamera(player_t *player, camera_t *thiscam, boolean resetcall } // Make player translucent if camera is too close (only in single player). - if (!(multiplayer || netgame) && !splitscreen - && P_AproxDistance(thiscam->x - player->mo->x, thiscam->y - player->mo->y) < FixedMul(48*FRACUNIT, mo->scale)) - player->mo->flags2 |= MF2_SHADOW; + if (!(multiplayer || netgame) && !splitscreen) + { + fixed_t vx = 0, vy = 0; + if (player->awayviewtics) { + vx = player->awayviewmobj->x; + vy = player->awayviewmobj->y; + } + else + { + vx = thiscam->x; + vy = thiscam->y; + } + + if (P_AproxDistance(vx - player->mo->x, vy - player->mo->y) < FixedMul(48*FRACUNIT, mo->scale)) + player->mo->flags2 |= MF2_SHADOW; + else + player->mo->flags2 &= ~MF2_SHADOW; + } else player->mo->flags2 &= ~MF2_SHADOW;