DEADSOFTWARE

no more path splitting in wad reading, it's useless
[d2df-sdl.git] / src / game / g_netmsg.pas
index 27b8081f4733b7aa68efc041860a2e40ba38772f..9b0614dd1dede069f2297c84a61919fe5fbe3bc0 100644 (file)
@@ -1,3 +1,4 @@
+{$MODE DELPHI}
 unit g_netmsg;
 
 interface
@@ -254,8 +255,7 @@ uses
   Math, ENet, e_input, e_fixedbuffer, e_graphics, e_log,
   g_textures, g_gfx, g_sound, g_console, g_basic, g_options, g_main,
   g_game, g_player, g_map, g_panel, g_items, g_weapons, g_phys, g_gui,
-  g_language, g_monsters, g_netmaster,
-  WADEDITOR, MAPDEF;
+  g_language, g_monsters, g_netmaster, utils, wadreader, MAPDEF;
 
 const
   NET_KEY_LEFT     = 1;
@@ -423,7 +423,7 @@ var
 begin
   Result := 0;
   if not gGameOn then Exit;
-  
+
   GT := e_Raw_Read_LongWord(P);
   PID := C^.Player;
   Pl := g_Player_Get(PID);
@@ -566,7 +566,7 @@ begin
   Pl := g_Player_Get(C^.Player);
   if Pl = nil then Exit;
   Name := Pl.Name;
-    
+
   if Start then
   begin
     if not g_Console_CommandBlacklisted(Command) then
@@ -714,7 +714,7 @@ procedure MH_SEND_Info(ID: Byte);
 var
   Map: string;
 begin
-  g_ProcessResourceStr(gMapInfo.Map, nil, nil, @Map);
+  Map := g_ExtractFileName(gMapInfo.Map);
 
   e_Buffer_Clear(@NetOut);
 
@@ -1624,6 +1624,7 @@ var
   pln: String;
   cnt: Byte;
 begin
+  FillChar(EvHash, Sizeof(EvHash), 0);
   EvType := e_Raw_Read_Byte(P);
   EvNum := e_Raw_Read_LongInt(P);
   EvStr := e_Raw_Read_String(P);
@@ -2837,12 +2838,22 @@ end;
 
 function ReadFile(const FileName: TFileName): AByte;
 var
-  FileStream : TFileStream;
+  FileStream : TStream;
+  fname: string;
 begin
+  e_WriteLog(Format('NETWORK: looking for file "%s"', [FileName]), MSG_NOTIFY);
+  fname := findDiskWad(FileName);
+  if length(fname) = 0 then
+  begin
+    e_WriteLog(Format('NETWORK: file "%s" not found!', [FileName]), MSG_FATALERROR);
+    SetLength(Result, 0);
+    exit;
+  end;
+  e_WriteLog(Format('NETWORK: found file "%s"', [fname]), MSG_NOTIFY);
   Result := nil;
-  FileStream:= TFileStream.Create(FileName, fmOpenRead or fmShareDenyWrite);
+  FileStream := openDiskFileRO(fname);
   try
-    if FileStream.Size>0 then
+    if FileStream.Size > 0 then
     begin
       SetLength(Result, FileStream.Size);
       FileStream.Read(Result[0], FileStream.Size);