diff -r 667fb58d7f18 -r 5164d17b6374 hedgewars/uScript.pas --- a/hedgewars/uScript.pas Fri Sep 16 17:36:05 2011 +0200 +++ b/hedgewars/uScript.pas Fri Sep 16 18:17:16 2011 +0200 @@ -36,6 +36,7 @@ procedure ScriptLoad(name : shortstring); procedure ScriptOnGameInit; +procedure ScriptOnScreenResize(); procedure ScriptCall(fname : shortstring); function ScriptCall(fname : shortstring; par1: LongInt) : LongInt; @@ -1505,6 +1506,29 @@ lua_pushinteger(L, ord(CurrentHedgehog^.CurAmmoType)); lc_getcurammotype := 1; end; + +// boolean TestRectForObstacle(x1, y1, x2, y2, landOnly) +function lc_testrectforobstacle(L : Plua_State) : LongInt; Cdecl; +var rtn: Boolean; +begin + if lua_gettop(L) <> 5 then + begin + LuaError('Lua: Wrong number of parameters passed to TestRectForObstacle!'); + lua_pushnil(L); // return value on stack (nil) + end + else + begin + rtn:= TestRectancleForObstacle( + lua_tointeger(L, 1), + lua_tointeger(L, 2), + lua_tointeger(L, 3), + lua_tointeger(L, 4), + lua_toboolean(L, 5) + ); + lua_pushboolean(L, rtn); + end; + lc_testrectforobstacle:= 1 +end; /////////////////// procedure ScriptPrintStack; @@ -1627,6 +1651,16 @@ ScriptSetInteger('TeamsCount', TeamsCount) end; + +// Update values of screen dimensions and allow script to react to resolution change +procedure ScriptOnScreenResize(); +begin +ScriptSetInteger('ScreenHeight', cScreenHeight); +ScriptSetInteger('ScreenWidth', cScreenWidth); +ScriptCall('onScreenResize'); +end; + + procedure ScriptLoad(name : shortstring); var ret : LongInt; s : shortstring; @@ -1820,7 +1854,6 @@ // import some variables ScriptSetInteger('LAND_WIDTH', LAND_WIDTH); ScriptSetInteger('LAND_HEIGHT', LAND_HEIGHT); - ScriptSetString('L', cLocale); // import game flags @@ -1994,6 +2027,7 @@ lua_register(luaState, 'SetHogHat', @lc_sethoghat); lua_register(luaState, 'PlaceGirder', @lc_placegirder); lua_register(luaState, 'GetCurAmmoType', @lc_getcurammotype); +lua_register(luaState, 'TestRectForObstacle', @lc_testrectforobstacle); ScriptClearStack; // just to be sure stack is empty