X-Git-Url: http://deadsoftware.ru/gitweb?a=blobdiff_plain;f=src%2Ftools%2Fmapgen.dpr;h=40ac72ce915865d1cc712111c3b0021f1367c09e;hb=refs%2Fheads%2Ffbo;hp=8a23afa7e46f99fc915417b1821d949660e35ff6;hpb=db4e988645273fe1c11611d84e03f0199cd181f7;p=d2df-sdl.git diff --git a/src/tools/mapgen.dpr b/src/tools/mapgen.dpr index 8a23afa..40ac72c 100644 --- a/src/tools/mapgen.dpr +++ b/src/tools/mapgen.dpr @@ -5,6 +5,7 @@ uses SysUtils, Classes, + mempool in '../shared/mempool.pas', xstreams in '../shared/xstreams.pas', xparser in '../shared/xparser.pas', xdynrec in '../shared/xdynrec.pas', @@ -17,7 +18,7 @@ uses // ////////////////////////////////////////////////////////////////////////// // type - THashStrFld = specialize THashBase; + THashStrFld = specialize THashBase; // ////////////////////////////////////////////////////////////////////////// // @@ -38,7 +39,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 +184,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 +244,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 +266,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();