X-Git-Url: https://deadsoftware.ru/gitweb?a=blobdiff_plain;f=src%2Fgame%2Fg_netmsg.pas;h=9b0614dd1dede069f2297c84a61919fe5fbe3bc0;hb=308e38b7e47d95142f20c5f020f176924b7f877e;hp=a88513acac78c6a4f5bcb799c91af45f2588e739;hpb=ff104a8cdc79693b7546d839605ec73ae135d904;p=d2df-sdl.git diff --git a/src/game/g_netmsg.pas b/src/game/g_netmsg.pas index a88513a..9b0614d 100644 --- a/src/game/g_netmsg.pas +++ b/src/game/g_netmsg.pas @@ -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; @@ -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); @@ -2838,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);