X-Git-Url: https://deadsoftware.ru/gitweb?a=blobdiff_plain;f=src%2Fgame%2Fg_res_downloader.pas;h=77db011c0c546aa9358fba72bf7b3cccfb0a4257;hb=423556f23c02a18964bd2c1e125516c0c902ca46;hp=cd0a3608617ea588d29fe6c6187bb8fadfdde913;hpb=d1e9c820c486228a7f80ac8c1e2928abea10f0bd;p=d2df-sdl.git diff --git a/src/game/g_res_downloader.pas b/src/game/g_res_downloader.pas index cd0a360..77db011 100644 --- a/src/game/g_res_downloader.pas +++ b/src/game/g_res_downloader.pas @@ -90,15 +90,14 @@ end; function SaveWAD(const path, filename: string; const data: array of Byte): string; var - resFile: TFileStream; + resFile: TStream; + dpt: string; begin try - Result := path + DOWNLOAD_DIR + '/' + filename; - if not DirectoryExists(path + DOWNLOAD_DIR) then - begin - CreateDir(path + DOWNLOAD_DIR); - end; - resFile := TFileStream.Create(Result, fmCreate); + result := path+DOWNLOAD_DIR+'/'+filename; + dpt := path+DOWNLOAD_DIR; + if not findFileCI(dpt, true) then CreateDir(dpt); + resFile := createDiskFile(result); resFile.WriteBuffer(data[0], Length(data)); resFile.Free except @@ -109,7 +108,7 @@ end; function g_Res_DownloadWAD(const FileName: string): string; var msgStream: TMemoryStream; - resStream: TFileStream; + resStream: TStream; mapData: TMapDataMsg; i: Integer; resData: TResDataMsg; @@ -141,9 +140,7 @@ begin msgStream := g_Net_Wait_Event(NET_MSG_RES_RESPONSE); resData := ResDataFromMsgStream(msgStream); - resStream := TFileStream.Create(GameDir+'/wads/'+ - mapData.ExternalResources[i].Name, - fmCreate); + resStream := createDiskFile(GameDir+'/wads/'+mapData.ExternalResources[i].Name); resStream.WriteBuffer(resData.FileData[0], resData.FileSize); resData.FileData := nil;