- Fixed: player_t::GetSpawnClass() always returned the spawn flags for the

local player, so co-op games would spawn only the things relevant for the
  local player and not all the things relevant for all players.


SVN r344 (trunk)
This commit is contained in:
Randy Heit 2006-10-01 01:38:37 +00:00
parent fa2fc3f4d7
commit c0bd4e54f4
3 changed files with 20 additions and 3 deletions

View file

@ -1,3 +1,8 @@
September 30, 2006
- Fixed: player_t::GetSpawnClass() always returned the spawn flags for the
local player, so co-op games would spawn only the things relevant for the
local player and not all the things relevant for all players.
September 30, 2006 (Changes by Graf Zahl) September 30, 2006 (Changes by Graf Zahl)
- Fixed: Default flags for APlayerPawn and APlayerChunk were not defined. - Fixed: Default flags for APlayerPawn and APlayerChunk were not defined.
- Fixed: The PCD_GETPLAYERINFO case in p_acs.cpp was missing a break. - Fixed: The PCD_GETPLAYERINFO case in p_acs.cpp was missing a break.

View file

@ -1197,12 +1197,24 @@ bool AInventory::TryPickup (AActor *toucher)
CCMD (printinv) CCMD (printinv)
{ {
AInventory *item; AInventory *item;
int pnum = consoleplayer;
if (players[consoleplayer].mo == NULL) #ifdef _DEBUG
// Only allow peeking on other players' inventory in debug builds.
if (argv.argc() > 1)
{
pnum = atoi (argv[1]);
if (pnum < 0 || pnum >= MAXPLAYERS)
{
return;
}
}
#endif
if (players[pnum].mo == NULL)
{ {
return; return;
} }
for (item = players[consoleplayer].mo->Inventory; item != NULL; item = item->Inventory) for (item = players[pnum].mo->Inventory; item != NULL; item = item->Inventory)
{ {
Printf ("%s #%u (%d/%d)\n", item->GetClass()->TypeName.GetChars(), Printf ("%s #%u (%d/%d)\n", item->GetClass()->TypeName.GetChars(),
item->InventoryID, item->InventoryID,

View file

@ -351,7 +351,7 @@ void player_s::SetLogText (const char *text)
int player_t::GetSpawnClass() int player_t::GetSpawnClass()
{ {
const PClass * type = PlayerClasses[players[consoleplayer].CurrentPlayerClass].Type; const PClass * type = PlayerClasses[CurrentPlayerClass].Type;
return static_cast<APlayerPawn*>(GetDefaultByType(type))->SpawnMask; return static_cast<APlayerPawn*>(GetDefaultByType(type))->SpawnMask;
} }