# HG changeset patch # User unc0rr # Date 1423431479 -10800 # Node ID efb861d1489ecf7763b7da794b5995d8d561f8f2 # Parent 57e21f7621b0d8bbe9f767d1c66d20ab2a5fc956 Fix schemes loading diff -r 57e21f7621b0 -r efb861d1489e hedgewars/uFLSchemes.pas --- a/hedgewars/uFLSchemes.pas Sun Feb 08 00:10:05 2015 +0300 +++ b/hedgewars/uFLSchemes.pas Mon Feb 09 00:37:59 2015 +0300 @@ -110,16 +110,14 @@ if (l <= schemesNumber) and (l > 0) then begin - scheme:= @schemes^[l - 1]; - if copy(s, 1, 5) = 'name=' then - tmpScheme.schemeName:= midStr(s, 6) + schemes^[l - 1].schemeName:= midStr(s, 6) else if copy(s, 1, 12) = 'scriptparam=' then - tmpScheme.scriptparam:= midStr(s, 13) else + schemes^[l - 1].scriptparam:= midStr(s, 13) else begin ii:= 0; repeat - isFound:= readInt(ints[ii].name, s, ints[ii].param^); + isFound:= readInt(ints[ii].name, s, PLongInt(ints[ii].param - @tmpScheme + @schemes^[l - 1])^); inc(ii) until isFound or (ii > High(ints)); @@ -127,13 +125,11 @@ begin ii:= 0; repeat - isFound:= readBool(bools[ii].name, s, bools[ii].param^); + isFound:= readBool(bools[ii].name, s, PBoolean(bools[ii].param - @tmpScheme + @schemes^[l - 1])^); inc(ii) until isFound or (ii > High(bools)); end; end; - - scheme^:= tmpScheme end; end; end; @@ -196,8 +192,10 @@ begin with scheme do begin - ipcToEngine('e$turntime ' + inttostr(scheme.turntime)); - ipcToEngine('e$minesnum ' + inttostr(scheme.minesnum)); + if scheme.turntime <> 45 then + ipcToEngine('e$turntime ' + inttostr(scheme.turntime * 1000)); + if scheme.minesnum <> 4 then + ipcToEngine('e$minesnum ' + inttostr(scheme.minesnum)); end end;