X-Git-Url: https://deadsoftware.ru/gitweb?a=blobdiff_plain;f=src%2Fgame%2FDoom2DF.dpr;h=a47b72d1db22465bab5092fbcc08ba1400e3a82b;hb=0944e70467355a7771d42015b6e548050e6fa3b7;hp=de39e510d8d65bbe3cd76f1506ed7014d2f4352a;hpb=7f60063e21b5764c01cf86883d2e1808af8b04ef;p=d2df-sdl.git diff --git a/src/game/Doom2DF.dpr b/src/game/Doom2DF.dpr index de39e51..a47b72d 100644 --- a/src/game/Doom2DF.dpr +++ b/src/game/Doom2DF.dpr @@ -59,8 +59,6 @@ uses sfsPlainFS in '../sfs/sfsPlainFS.pas', sfsZipFS in '../sfs/sfsZipFS.pas', wadreader in '../shared/wadreader.pas', - MAPSTRUCT in '../shared/MAPSTRUCT.pas', - MAPREADER in '../shared/MAPREADER.pas', MAPDEF in '../shared/MAPDEF.pas', CONFIG in '../shared/CONFIG.pas', g_basic in 'g_basic.pas', @@ -100,6 +98,9 @@ uses xprofiler in '../shared/xprofiler.pas', binheap in '../shared/binheap.pas', hashtable in '../shared/hashtable.pas', + idpool in '../shared/idpool.pas', + xparser in '../shared/xparser.pas', + xdynrec in '../shared/xdynrec.pas', BinEditor in '../shared/BinEditor.pas', envvars in '../shared/envvars.pas', g_panel in 'g_panel.pas', @@ -116,11 +117,13 @@ uses var f: Integer; noct: Boolean = false; + tfo: Text; begin for f := 1 to ParamCount do begin if ParamStr(f) = '--gdb' then noct := true - else if ParamStr(f) = '--log' then conbufDumpToStdOut := true; + else if ParamStr(f) = '--log' then conbufDumpToStdOut := true + else if ParamStr(f) = '--safe-log' then e_SetSafeSlowLog(true); end; if noct then begin @@ -132,10 +135,21 @@ begin Main(); e_WriteLog('Shutdown with no errors.', MSG_NOTIFY); except - on E: Exception do - e_WriteLog(Format(_lc[I_SYSTEM_ERROR_MSG], [E.Message]), MSG_FATALERROR); + on e: Exception do + begin + e_WriteStackTrace(e.message); + //e_WriteLog(Format(_lc[I_SYSTEM_ERROR_MSG], [E.Message]), MSG_FATALERROR); + AssignFile(tfo, GameDir+'/trace.log'); + {$I-} + Append(tfo); + if (IOResult <> 0) then Rewrite(tfo); + if (IOResult = 0) then begin writeln(tfo, '====================='); DumpExceptionBackTrace(tfo); CloseFile(tfo); end; + end else - e_WriteLog(Format(_lc[I_SYSTEM_ERROR_UNKNOWN], [NativeUInt(ExceptAddr())]), MSG_FATALERROR); + begin + //e_WriteLog(Format(_lc[I_SYSTEM_ERROR_UNKNOWN], [NativeUInt(ExceptAddr())]), MSG_FATALERROR); + e_WriteStackTrace('FATAL ERROR'); + end; end; end; e_DeinitLog();