X-Git-Url: http://deadsoftware.ru/gitweb?p=d2df-sdl.git;a=blobdiff_plain;f=src%2Ftools%2Fmapgen.dpr;h=cdb4d3551d9accdaf25ce4328c7aabc45c6d5076;hp=8a23afa7e46f99fc915417b1821d949660e35ff6;hb=fbbc2cfe8253d61c8a5eb27d352df4103a59b7fb;hpb=db4e988645273fe1c11611d84e03f0199cd181f7 diff --git a/src/tools/mapgen.dpr b/src/tools/mapgen.dpr index 8a23afa..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 @@ -183,12 +190,12 @@ begin if fld.hasTPrefix then begin write(fo, ' tgt.tgcTX := tdata.trigTX;'#10); - write(fo, ' tgt.tgcTY := tdata.trigTX;'#10); + write(fo, ' tgt.tgcTY := tdata.trigTY;'#10); end else if fld.separatePasFields then begin write(fo, ' tgt.tgcX := tdata.trigX;'#10); - write(fo, ' tgt.tgcY := tdata.trigX;'#10); + write(fo, ' tgt.tgcY := tdata.trigY;'#10); end else begin @@ -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();