# HG changeset patch # User unc0rr # Date 1456224349 -10800 # Node ID 744e51920a0453640d8146780bf2e1933092a282 # Parent 11f6a4c316a1efb308cc09e4b034c76219a169de Dump best time ghost on console diff -r 11f6a4c316a1 -r 744e51920a04 hedgewars/uScript.pas --- a/hedgewars/uScript.pas Tue Mar 29 16:54:41 2016 +0200 +++ b/hedgewars/uScript.pas Tue Feb 23 13:45:49 2016 +0300 @@ -2528,6 +2528,20 @@ lc_declareachievement:= 0 end; +function lc_startghostpoints(L : Plua_State) : LongInt; Cdecl; +begin + if CheckLuaParamCount(L, 1, 'StartGhostPoints', 'count') then + startGhostPoints(lua_tointeger(L, 1)); + lc_startghostpoints:= 0 +end; + +function lc_dumppoint(L : Plua_State) : LongInt; Cdecl; +begin + if CheckLuaParamCount(L, 2, 'DumpPoint', 'x, y') then + dumpPoint(lua_tointeger(L, 1), lua_tointeger(L, 2)); + lc_dumppoint:= 0 +end; + procedure ScriptFlushPoints(); begin @@ -3345,6 +3359,8 @@ lua_register(luaState, _P'SetGearAIHints', @lc_setgearaihints); lua_register(luaState, _P'HedgewarsScriptLoad', @lc_hedgewarsscriptload); lua_register(luaState, _P'DeclareAchievement', @lc_declareachievement); +lua_register(luaState, _P'StartGhostPoints', @lc_startghostpoints); +lua_register(luaState, _P'DumpPoint', @lc_dumppoint); ScriptSetInteger('TEST_SUCCESSFUL' , HaltTestSuccess); ScriptSetInteger('TEST_FAILED' , HaltTestFailed); diff -r 11f6a4c316a1 -r 744e51920a04 hedgewars/uStats.pas --- a/hedgewars/uStats.pas Tue Mar 29 16:54:41 2016 +0200 +++ b/hedgewars/uStats.pas Tue Feb 23 13:45:49 2016 +0300 @@ -36,6 +36,8 @@ procedure SendStats; procedure hedgehogFlight(Gear: PGear; time: Longword); procedure declareAchievement(id, teamname, location: shortstring; value: LongInt); +procedure startGhostPoints(n: LongInt); +procedure dumpPoint(x, y: LongInt); implementation uses uSound, uLocale, uVariables, uUtils, uIO, uCaptions, uDebug, uMisc, uConsole, uScript; @@ -323,8 +325,32 @@ WriteLnToConsole(inttostr(value)); end; +procedure startGhostPoints(n: LongInt); +begin + WriteLnToConsole('GHOST_POINTS'); + WriteLnToConsole(inttostr(n)); +end; + +procedure dumpPoint(x, y: LongInt); +begin + WriteLnToConsole(inttostr(x)); + WriteLnToConsole(inttostr(y)); +end; + procedure initModule; begin + DamageClan := 0; + DamageTotal := 0; + DamageTurn := 0; + KillsClan := 0; + Kills := 0; + KillsTotal := 0; + AmmoUsedCount := 0; + AmmoDamagingUsed := false; + SkippedTurns:= 0; + isTurnSkipped:= false; + vpHurtSameClan:= nil; + vpHurtEnemy:= nil; TotalRounds:= -1; FinishedTurnsTotal:= -1; end; diff -r 11f6a4c316a1 -r 744e51920a04 share/hedgewars/Data/Scripts/Multiplayer/Racer.lua --- a/share/hedgewars/Data/Scripts/Multiplayer/Racer.lua Tue Mar 29 16:54:41 2016 +0200 +++ b/share/hedgewars/Data/Scripts/Multiplayer/Racer.lua Tue Feb 23 13:45:49 2016 +0300 @@ -782,4 +782,12 @@ DeclareAchievement(raceType, teamNameArr[i], map, teamScore[i]) end end + + if fastCount > 0 then + StartGhostPoints(fastCount) + + for i = 0, (fastCount - 1) do + DumpPoint(fastX[i], fastY[i]) + end + end end diff -r 11f6a4c316a1 -r 744e51920a04 share/hedgewars/Data/Scripts/Multiplayer/TechRacer.lua --- a/share/hedgewars/Data/Scripts/Multiplayer/TechRacer.lua Tue Mar 29 16:54:41 2016 +0200 +++ b/share/hedgewars/Data/Scripts/Multiplayer/TechRacer.lua Tue Feb 23 13:45:49 2016 +0300 @@ -1277,6 +1277,15 @@ DeclareAchievement(raceType, teamNameArr[i], map, teamScore[i]) end end + + if fastCount > 0 then + StartGhostPoints(fastCount) + + for i = 0, (fastCount - 1) do + DumpPoint(fastX[i], fastY[i]) + end + end + end function onAmmoStoreInit()