* Updated to ZDoom r3468:

- Fixed: Trying to init FMOD with profiling enabled when the network socket was in use would fail. We now fallback to no profiling when this happens.
- Fixed: Bots did not process KEYCONF weapons. As far as I know, this is only relevant for the owned-weapons display on the status bar.
- Fixed: Deus Vult II uses fullscreen level name patches (which are mostly blank) for the intermission. This caused the net scoreboard to be drawn off the bottom of the screen.
- Added A_ClearLastHeard action function.
- Similar fix to the previous: The child TiMidity++ process quitting would not necessarily be detected, so S_ChangeMusic() would not restart one-shot songs that had finished if it was the MIDI device.
- Fixed: S_ChangeMusic() would not necessarily restart non-looping songs that had finished playing.

git-svn-id: http://mancubus.net/svn/hosted/gzdoom/trunk@1321 b0f79afe-0144-0410-b225-9a4edf0717df
This commit is contained in:
gez 2012-03-22 23:28:47 +00:00
parent 28d6eca585
commit 51fa45e167
13 changed files with 117 additions and 16 deletions

View file

@ -566,11 +566,21 @@ void APlayerPawn::SetupWeaponSlots()
if (player != NULL && player->mo == this)
{
player->weapons.StandardSetup(GetClass());
if (player - players == consoleplayer)
{ // If we're the local player, then there's a bit more work to do.
// If we're the local player, then there's a bit more work to do.
// This also applies if we're a bot and this is the net arbitrator.
if (player - players == consoleplayer ||
(player->isbot && consoleplayer == Net_Arbitrator))
{
FWeaponSlots local_slots(player->weapons);
local_slots.LocalSetup(GetClass());
local_slots.SendDifferences(player->weapons);
if (player->isbot)
{ // Bots only need weapons from KEYCONF, not INI modifications.
P_PlaybackKeyConfWeapons(&local_slots);
}
else
{
local_slots.LocalSetup(GetClass());
}
local_slots.SendDifferences(int(player - players), player->weapons);
}
}
}