mirror of
https://github.com/KartKrewDev/RingRacers.git
synced 2026-03-03 01:41:15 +00:00
Merge branch 'follower-fixes' into 'master'
Follower Fixes (again) See merge request kart-krew-dev/ring-racers-internal!2757
This commit is contained in:
commit
65d07ae1f3
3 changed files with 29 additions and 12 deletions
|
|
@ -2231,13 +2231,10 @@ void G_BeginRecording(void)
|
|||
demobuf.p += copy_fixed_buf(demobuf.p, skincolors[player->skincolor].name, g_buffer_sizes.color_name);
|
||||
|
||||
// Save follower's skin name
|
||||
// PS: We must check for 'follower' to determine if the followerskin is valid. It's going to be 0 if we don't have a follower, but 0 is also absolutely a valid follower!
|
||||
// Doesn't really matter if the follower mobj is valid so long as it exists in a way or another.
|
||||
|
||||
if (player->follower)
|
||||
demobuf.p += copy_fixed_buf(demobuf.p, followers[player->followerskin].name, g_buffer_sizes.skin_name);
|
||||
if (player->followerskin == -1)
|
||||
demobuf.p += copy_fixed_buf(demobuf.p, "None", g_buffer_sizes.skin_name);
|
||||
else
|
||||
demobuf.p += copy_fixed_buf(demobuf.p, "None", g_buffer_sizes.skin_name); // Say we don't have one, then.
|
||||
demobuf.p += copy_fixed_buf(demobuf.p, followers[player->followerskin].name, g_buffer_sizes.skin_name);
|
||||
|
||||
// Save follower's colour
|
||||
for (j = (numskincolors+2)-1; j > 0; j--)
|
||||
|
|
|
|||
|
|
@ -1801,6 +1801,8 @@ void G_FixCamera(UINT8 view)
|
|||
|
||||
void G_UpdatePlayerPreferences(player_t *const player)
|
||||
{
|
||||
player->followerready = true; // we are ready to perform follower related actions in the player thinker, now.
|
||||
|
||||
if (demo.playback)
|
||||
return;
|
||||
|
||||
|
|
|
|||
|
|
@ -176,8 +176,6 @@ void K_SetFollowerByNum(INT32 playernum, INT32 skinnum)
|
|||
{
|
||||
player_t *player = &players[playernum];
|
||||
|
||||
player->followerready = true; // we are ready to perform follower related actions in the player thinker, now.
|
||||
|
||||
if (skinnum >= -1 && skinnum <= numfollowers) // Make sure it exists!
|
||||
{
|
||||
/*
|
||||
|
|
@ -898,6 +896,26 @@ void K_FollowerHornTaunt(player_t *taunter, player_t *victim, boolean mysticmelo
|
|||
}
|
||||
}
|
||||
|
||||
#define AUTORINGFOLLOWERNAME "goddess"
|
||||
static INT32 K_AutoRingFollower(void)
|
||||
{
|
||||
static INT32 autoringfollower = -2;
|
||||
|
||||
if (autoringfollower == -2)
|
||||
{
|
||||
autoringfollower = K_FollowerAvailable(AUTORINGFOLLOWERNAME);
|
||||
|
||||
if (autoringfollower == -2)
|
||||
{
|
||||
// This shouldn't happen, but just in case
|
||||
autoringfollower = -1;
|
||||
}
|
||||
}
|
||||
|
||||
return (INT32)autoringfollower;
|
||||
}
|
||||
#undef AUTORINGFOLLOWERNAME
|
||||
|
||||
/*--------------------------------------------------
|
||||
INT32 K_GetEffectiveFollowerSkin(const player_t *player);
|
||||
|
||||
|
|
@ -905,8 +923,8 @@ void K_FollowerHornTaunt(player_t *taunter, player_t *victim, boolean mysticmelo
|
|||
--------------------------------------------------*/
|
||||
INT32 K_GetEffectiveFollowerSkin(const player_t *player)
|
||||
{
|
||||
if ((player->pflags & PF_AUTORING) && player->followerskin == -1)
|
||||
return K_FollowerAvailable("Goddess");
|
||||
else
|
||||
return player->followerskin;
|
||||
if (player->followerskin == -1 && ((player->pflags & PF_AUTORING) == PF_AUTORING))
|
||||
return K_AutoRingFollower();
|
||||
|
||||
return player->followerskin;
|
||||
}
|
||||
|
|
|
|||
Loading…
Add table
Reference in a new issue