X-Git-Url: http://deadsoftware.ru/gitweb?p=d2df-sdl.git;a=blobdiff_plain;f=src%2Ftools%2Fmapgen.dpr;h=cdb4d3551d9accdaf25ce4328c7aabc45c6d5076;hp=1a4850593b81dcf21d215761a613be7e971bc713;hb=fbbc2cfe8253d61c8a5eb27d352df4103a59b7fb;hpb=95e5dc9815ded04c52a0e5fadb77580f1d6ed7c0 diff --git a/src/tools/mapgen.dpr b/src/tools/mapgen.dpr index 1a48505..cdb4d35 100644 --- a/src/tools/mapgen.dpr +++ b/src/tools/mapgen.dpr @@ -5,6 +5,13 @@ uses SysUtils, Classes, + {$IFDEF USE_SDL} + SDL in '../lib/sdl/sdl.pas', + {$ENDIF} + {$IFDEF USE_SDL2} + SDL2 in '../lib/sdl2/sdl2.pas', + {$ENDIF} + mempool in '../shared/mempool.pas', xstreams in '../shared/xstreams.pas', xparser in '../shared/xparser.pas', xdynrec in '../shared/xdynrec.pas', @@ -17,7 +24,7 @@ uses // ////////////////////////////////////////////////////////////////////////// // type - THashStrFld = specialize THashBase; + THashStrFld = specialize THashBase; // ////////////////////////////////////////////////////////////////////////// // @@ -38,7 +45,7 @@ begin AssignFile(fo, fname); {$I+}Rewrite(fo);{$I-} - fldknown := THashStrFld.Create(hsihash, hsiequ); + fldknown := THashStrFld.Create(); write(fo, '// trigger cache'#10); for tidx := 0 to dfmapdef.trigTypeCount-1 do @@ -243,7 +250,7 @@ var fldknown: THashStrFld = nil; // key: palias; value: prev field knownfld: TDynField; begin - fldknown := THashStrFld.Create(hsihash, hsiequ); + fldknown := THashStrFld.Create(); //writeln(getFilenamePath(ParamStr(0)), '|'); e_InitWritelnDriver(); @@ -265,14 +272,21 @@ begin writeln('FATAL: mapdef not found!'); end; + writeln('parsing "mapdef.txt"...'); pr := TFileTextParser.Create(st, false); // don't own try dfmapdef := TDynMapDef.Create(pr); - except on e: Exception do - begin - writeln('ERROR at (', pr.tokLine, ',', pr.tokCol, '): ', e.message); - Halt(1); - end; + except + on e: TDynParseException do + begin + writeln('ERROR at (', e.tokLine, ',', e.tokCol, '): ', e.message); + Halt(1); + end; + on e: Exception do + begin + writeln('ERROR: ', e.message); + Halt(1); + end; end; pr.Free();