# HG changeset patch # User nemo # Date 1357068111 18000 # Node ID a1dbe148f10f6148038d00dfd62c1c47b8bfcee2 # Parent c039ac6f33e01a33986270ee06686e8d9dfbc17d move onNewTurn, onGameTick and onGameTick20 to try and avoid ParseCommand breakage after nextturn call. Needs testing, but should be safe for most scripts. Also fix locale loading. diff -r c039ac6f33e0 -r a1dbe148f10f hedgewars/uGears.pas --- a/hedgewars/uGears.pas Sun Dec 30 03:00:51 2012 +0100 +++ b/hedgewars/uGears.pas Tue Jan 01 14:21:51 2013 -0500 @@ -78,6 +78,7 @@ stSpawn, stNTurn); upd: Longword; snowLeft,snowRight: LongInt; + NewTurnTick: LongWord; //SDMusic: shortstring; // For better maintainability the step handlers of gears are stored in @@ -189,6 +190,10 @@ i, AliveCount: LongInt; s: shortstring; begin +ScriptCall('onGameTick'); +if GameTicks mod 20 = 0 then ScriptCall('onGameTick20'); +if GameTicks = NewTurnTick then ScriptCall('onNewTurn'); + PrvInactive:= AllInactive; AllInactive:= true; @@ -383,7 +388,8 @@ SwitchHedgehog; AfterSwitchHedgehog; - bBetweenTurns:= false + bBetweenTurns:= false; + NewTurnTick:= GameTicks + 1 end; step:= Low(step) end; @@ -470,8 +476,6 @@ inc(hiTicks) // we do not recieve a message for this end; AddRandomness(CheckSum); -ScriptCall('onGameTick'); -if GameTicks mod 20 = 0 then ScriptCall('onGameTick20'); inc(GameTicks) end; @@ -1396,6 +1400,7 @@ upd:= 0; //SDMusic:= 'hell.ogg'; + NewTurnTick:= $FFFFFFFF; end; procedure freeModule; diff -r c039ac6f33e0 -r a1dbe148f10f hedgewars/uTeams.pas --- a/hedgewars/uTeams.pas Sun Dec 30 03:00:51 2012 +0100 +++ b/hedgewars/uTeams.pas Tue Jan 01 14:21:51 2013 -0500 @@ -325,7 +325,6 @@ {$IFDEF SDL13} uTouch.NewTurnBeginning(); {$ENDIF} -ScriptCall('onNewTurn'); end; function AddTeam(TeamColor: Longword): PTeam; diff -r c039ac6f33e0 -r a1dbe148f10f share/hedgewars/Data/Maps/Basketball/map.lua --- a/share/hedgewars/Data/Maps/Basketball/map.lua Sun Dec 30 03:00:51 2012 +0100 +++ b/share/hedgewars/Data/Maps/Basketball/map.lua Tue Jan 01 14:21:51 2013 -0500 @@ -1,6 +1,6 @@ -- Hedgewars - Basketball for 2+ Players -loadfile(GetDataPath() .. "Scripts/Locale.lua")() +HedgewarsScriptLoad("Scripts/Locale.lua")() local score = {[0] = 0, [1] = 0, [2] = 0, [3] = 0, [4] = 0, [5] = 0} diff -r c039ac6f33e0 -r a1dbe148f10f share/hedgewars/Data/Maps/CTF_Blizzard/map.lua --- a/share/hedgewars/Data/Maps/CTF_Blizzard/map.lua Sun Dec 30 03:00:51 2012 +0100 +++ b/share/hedgewars/Data/Maps/CTF_Blizzard/map.lua Tue Jan 01 14:21:51 2013 -0500 @@ -91,7 +91,7 @@ -- add support for more players -- re-enable sudden death, but set water rise to 0 -loadfile(GetDataPath() .. "Scripts/Locale.lua")() +HedgewarsScriptLoad("Scripts/Locale.lua")() --------------------------------------------------------------- ----------lots of bad variables and things diff -r c039ac6f33e0 -r a1dbe148f10f share/hedgewars/Data/Maps/Control/map.lua --- a/share/hedgewars/Data/Maps/Control/map.lua Sun Dec 30 03:00:51 2012 +0100 +++ b/share/hedgewars/Data/Maps/Control/map.lua Tue Jan 01 14:21:51 2013 -0500 @@ -49,7 +49,7 @@ --script begins ----------------- -loadfile(GetDataPath() .. "Scripts/Locale.lua")() +HedgewarsScriptLoad("Scripts/Locale.lua")() --------------------------------------------------------------- ----------lots of bad variables and things diff -r c039ac6f33e0 -r a1dbe148f10f share/hedgewars/Data/Maps/Knockball/map.lua --- a/share/hedgewars/Data/Maps/Knockball/map.lua Sun Dec 30 03:00:51 2012 +0100 +++ b/share/hedgewars/Data/Maps/Knockball/map.lua Tue Jan 01 14:21:51 2013 -0500 @@ -1,6 +1,6 @@ -- Hedgewars - Knockball for 2+ Players -loadfile(GetDataPath() .. "Scripts/Locale.lua")() +HedgewarsScriptLoad("Scripts/Locale.lua")() local score = {[0] = 0, [1] = 0, [2] = 0, [3] = 0, [4] = 0, [5] = 0} diff -r c039ac6f33e0 -r a1dbe148f10f share/hedgewars/Data/Maps/TrophyRace/map.lua --- a/share/hedgewars/Data/Maps/TrophyRace/map.lua Sun Dec 30 03:00:51 2012 +0100 +++ b/share/hedgewars/Data/Maps/TrophyRace/map.lua Tue Jan 01 14:21:51 2013 -0500 @@ -1,6 +1,6 @@ -- Hedgewars - Roperace for 2+ Players -loadfile(GetDataPath() .. "Scripts/Locale.lua")() +HedgewarsScriptLoad("Scripts/Locale.lua")() -- store number of hedgehogs local numhhs = 0 diff -r c039ac6f33e0 -r a1dbe148f10f share/hedgewars/Data/Scripts/Locale.lua --- a/share/hedgewars/Data/Scripts/Locale.lua Sun Dec 30 03:00:51 2012 +0100 +++ b/share/hedgewars/Data/Scripts/Locale.lua Tue Jan 01 14:21:51 2013 -0500 @@ -1,11 +1,11 @@ -- Library for localizing strings in lua scripts -local lang = loadfile(GetUserDataPath() .. "Locale/" .. tostring(L) .. ".lua") +local lang = HedgewarsScriptLoad("Locale/" .. tostring(L) .. ".lua") if lang ~= nil then lang() else - lang = loadfile(GetDataPath() .. "Locale/" .. tostring(L) .. ".lua") + lang = HedgewarsScriptLoad("Locale/" .. tostring(L) .. ".lua") if lang ~= nil then lang() end