X-Git-Url: http://deadsoftware.ru/gitweb?a=blobdiff_plain;f=src%2Fgame%2Fg_game.pas;h=8366787a04365305daa80afd9c8d47e574458427;hb=36689adbefc512dc228ccdc28b615246e1b24609;hp=ec7f8f29831e03151a1da5bf2f1227a134d51964;hpb=a959696d242bc66e6890d281eb6e5d627c2588e9;p=d2df-sdl.git diff --git a/src/game/g_game.pas b/src/game/g_game.pas index ec7f8f2..8366787 100644 --- a/src/game/g_game.pas +++ b/src/game/g_game.pas @@ -4693,7 +4693,7 @@ begin //if newResPath = '' then begin //g_Game_SetLoadingText(_lc[I_LOAD_DL_RES], 0, False); - newResPath := g_Res_DownloadMapWAD(WadName, gWADHash); + newResPath := g_Res_DownloadMapWAD(ExtractFileName(WadName), gWADHash); if newResPath = '' then begin g_FatalError(_lc[I_NET_ERR_HASH]); @@ -5082,14 +5082,9 @@ begin Exit; end; -(* - xwad := ExtractRelativePath(MapsDir, gWAD); - e_LogWritefln('using downloaded client map wad [%s] for [%s]`', [xwad, NewWAD], TMsgType.Notify); - NewWAD := xwad; - g_Game_LoadWAD(NewWAD); -*) + e_LogWritefln('using downloaded client map wad [%s] for [%s]', [gWAD, NewWAD], TMsgType.Notify); + NewWAD := gWAD; - e_LogWritefln('using downloaded client map wad [%s]`', [NewWAD], TMsgType.Notify); g_Game_LoadWAD(NewWAD); result := NewWAD; @@ -7249,16 +7244,24 @@ begin end; procedure g_TakeScreenShot; - var s: TStream; t: TDateTime; date, name: String; + var s: TStream; t: TDateTime; dir, date, name: String; begin if e_NoGraphics then Exit; - t := Now; - DateTimeToString(date, 'yyyy-mm-dd-hh-nn-ss', t); - name := 'screenshot-' + date + '.png'; try - s := e_CreateResource(ScreenshotDirs, name); - e_MakeScreenshot(s, gScreenWidth, gScreenHeight); - g_Console_Add(Format(_lc[I_CONSOLE_SCREENSHOT], [name])) + t := Now; + dir := e_GetWriteableDir(ScreenshotDirs); + DateTimeToString(date, 'yyyy-mm-dd-hh-nn-ss', t); + name := e_CatPath(dir, 'screenshot-' + date + '.png'); + s := createDiskFile(name); + try + e_MakeScreenshot(s, gScreenWidth, gScreenHeight); + s.Free; + g_Console_Add(Format(_lc[I_CONSOLE_SCREENSHOT], [name])) + except + g_Console_Add(Format(_lc[I_CONSOLE_ERROR_WRITE], [name])); + s.Free; + DeleteFile(name) + end except g_Console_Add('oh shit, i can''t create screenshot!') end