DEADSOFTWARE

render monster drop after monsters, so monster corpses will not obscure ammo clips...
[d2df-sdl.git] / src / game / g_netmsg.pas
index 822ae9bec9edd7f83cd947bcd02f5865e786773e..98ef65484d75106458c50cf94f86679e52d992ca 100644 (file)
@@ -1148,13 +1148,16 @@ end;
 procedure MH_SEND_ItemSpawn(Quiet: Boolean; IID: Word; ID: Integer = NET_EVERYONE);
 var
   it: PItem;
+  tt: Byte;
 begin
   it := g_Items_ByIdx(IID);
 
   NetOut.Write(Byte(NET_MSG_ISPAWN));
   NetOut.Write(IID);
   NetOut.Write(Byte(Quiet));
-  NetOut.Write(it.ItemType);
+  tt := it.ItemType;
+  if it.dropped then tt := tt or $80;
+  NetOut.Write(tt);
   NetOut.Write(Byte(it.Fall));
   NetOut.Write(Byte(it.Respawnable));
   NetOut.Write(it.Obj.X);
@@ -2306,7 +2309,8 @@ begin
   VX := M.ReadLongInt();
   VY := M.ReadLongInt();
 
-  g_Items_Create(X, Y, T, Fall, False, False, ID);
+  g_Items_Create(X, Y, T and $7F, Fall, False, False, ID);
+  if ((T and $80) <> 0) then g_Items_SetDrop(ID);
 
   it := g_Items_ByIdx(ID);
   it.Obj.Vel.X := VX;
@@ -2462,10 +2466,10 @@ begin
         begin
           if SPlaying then
           begin
-            if trigData.trigLocal then
-              Sound.PlayVolumeAt(X+(Width div 2), Y+(Height div 2), trigData.trigVolume/255.0)
+            if tgcLocal then
+              Sound.PlayVolumeAt(X+(Width div 2), Y+(Height div 2), tgcVolume/255.0)
             else
-              Sound.PlayPanVolume((trigData.trigPan-127.0)/128.0, trigData.trigVolume/255.0);
+              Sound.PlayPanVolume((tgcPan-127.0)/128.0, tgcVolume/255.0);
             Sound.SetPosition(SPos);
           end
           else