diff --git a/src/game/g_game.pas b/src/game/g_game.pas
index e65dc764ae52fd0ec5d1a9eb2251f58b89bb08d4..54046f0280dba0396257eb69f5250862d0033740 100644 (file)
--- a/src/game/g_game.pas
+++ b/src/game/g_game.pas
+{$MODE DELPHI}
unit g_game;
interface
uses
g_basic, g_player, e_graphics, Classes, g_res_downloader,
- SysUtils, g_sound, g_gui, MAPSTRUCT, WADEDITOR, md5;
+ SysUtils, g_sound, g_gui, MAPSTRUCT, wadreader, md5;
type
TGameSettings = record
function g_Game_GetMegaWADInfo(WAD: String): TMegaWADInfo;
var
- w: TWADEditor_1;
+ w: TWADFile;
cfg: TConfig;
p: Pointer;
len: Integer;
Result.description := '';
Result.author := '';
- w := TWADEditor_1.Create();
+ w := TWADFile.Create();
w.ReadFile(WAD);
if not w.GetResource('', 'INTERSCRIPT', p, len) then
procedure g_Game_LoadWAD(WAD: string);
var
- w: TWADEditor_1;
+ w: TWADFile;
cfg: TConfig;
p: Pointer;
{b, }len: Integer;
MegaWAD.info := g_Game_GetMegaWADInfo(MapsDir + WAD);
- w := TWADEditor_1.Create();
+ w := TWADFile.Create();
w.ReadFile(MapsDir + WAD);
if not w.GetResource('', 'INTERSCRIPT', p, len) then
MapName: Char16;
WadName: string;
{
- WAD: TWADEditor_1;
+ WAD: TWADFile;
MapList: SArray;
time: Integer;
}
if not gTempDelete then
begin
time := g_GetFileTime(WadName);
- WAD := TWADEditor_1.Create();
+ WAD := TWADFile.Create();
// ×èòàåì Wad-ôàéë:
if not WAD.ReadFile(WadName) then
procedure g_TakeScreenShot();
var
a: Word;
- FileName: String;
+ FileName: string;
+ ssdir, t: string;
begin
- for a := 1 to High(Word) do
+ ssdir := GameDir+'/screenshots';
+ if not findFileCI(ssdir, true) then
begin
- FileName := Format(GameDir+'/screenshots/screenshot%.3d.bmp', [a]);
- if not FileExists(FileName) then
+ // try to create dir
+ try
+ CreateDir(ssdir);
+ except
+ end;
+ if not findFileCI(ssdir, true) then exit; // alas
+ end;
+ try
+ for a := 1 to High(Word) do
begin
- e_MakeScreenshot(FileName, gScreenWidth, gScreenHeight);
- g_Console_Add(Format(_lc[I_CONSOLE_SCREENSHOT], [ExtractFileName(FileName)]));
- Break;
+ FileName := Format(ssdir+'screenshot%.3d.bmp', [a]);
+ t := FileName;
+ if findFileCI(t, true) then continue;
+ if not findFileCI(FileName) then
+ begin
+ e_MakeScreenshot(FileName, gScreenWidth, gScreenHeight);
+ g_Console_Add(Format(_lc[I_CONSOLE_SCREENSHOT], [ExtractFileName(FileName)]));
+ Break;
+ end;
end;
+ except
end;
end;