243 end; |
243 end; |
244 |
244 |
245 function lc_enablegameflags(L : Plua_State) : LongInt; Cdecl; |
245 function lc_enablegameflags(L : Plua_State) : LongInt; Cdecl; |
246 var i : integer; |
246 var i : integer; |
247 begin |
247 begin |
248 for i:= 1 to lua_gettop(L) do |
248 if lua_gettop(L) = 0 then |
249 GameFlags := GameFlags or LongWord(lua_tointeger(L, i)); |
249 begin |
250 ScriptSetInteger('GameFlags', GameFlags); |
250 LuaParameterCountError('EnableGameFlags', '', lua_gettop(L)); |
|
251 lua_pushnil(L); |
|
252 end |
|
253 else |
|
254 begin |
|
255 for i:= 1 to lua_gettop(L) do |
|
256 GameFlags := GameFlags or LongWord(lua_tointeger(L, i)); |
|
257 ScriptSetInteger('GameFlags', GameFlags); |
|
258 end; |
251 lc_enablegameflags:= 0; |
259 lc_enablegameflags:= 0; |
252 end; |
260 end; |
253 |
261 |
254 function lc_disablegameflags(L : Plua_State) : LongInt; Cdecl; |
262 function lc_disablegameflags(L : Plua_State) : LongInt; Cdecl; |
255 var i : integer; |
263 var i : integer; |
256 begin |
264 begin |
257 for i:= 1 to lua_gettop(L) do |
265 if lua_gettop(L) = 0 then |
258 GameFlags := (GameFlags and (not (LongWord(lua_tointeger(L, i))))); |
266 begin |
259 ScriptSetInteger('GameFlags', GameFlags); |
267 LuaParameterCountError('DisableGameFlags', '', lua_gettop(L)); |
|
268 lua_pushnil(L); |
|
269 end |
|
270 else |
|
271 begin |
|
272 for i:= 1 to lua_gettop(L) do |
|
273 GameFlags := GameFlags and not(LongWord(lua_tointeger(L, i))); |
|
274 ScriptSetInteger('GameFlags', GameFlags); |
|
275 end; |
260 lc_disablegameflags:= 0; |
276 lc_disablegameflags:= 0; |
261 end; |
277 end; |
262 |
278 |
263 function lc_cleargameflags(L : Plua_State) : LongInt; Cdecl; |
279 function lc_cleargameflags(L : Plua_State) : LongInt; Cdecl; |
264 begin |
280 begin |
265 // Silence hint |
281 if lua_gettop(L) <> 0 then |
266 L:= L; |
282 begin |
267 GameFlags:= 0; |
283 LuaParameterCountError('ClearGameFlags', '', lua_gettop(L)); |
268 ScriptSetInteger('GameFlags', GameFlags); |
284 lua_pushnil(L); |
|
285 end |
|
286 else |
|
287 begin |
|
288 GameFlags:= 0; |
|
289 ScriptSetInteger('GameFlags', GameFlags); |
|
290 end; |
269 lc_cleargameflags:= 0; |
291 lc_cleargameflags:= 0; |
|
292 end; |
|
293 |
|
294 function lc_getgameflag(L : Plua_State) : LongInt; Cdecl; |
|
295 begin |
|
296 if lua_gettop(L) <> 1 then |
|
297 begin |
|
298 LuaParameterCountError('GetGameFlag', 'gameflag', lua_gettop(L)); |
|
299 lua_pushnil(L); |
|
300 end |
|
301 else |
|
302 begin |
|
303 lua_pushboolean(L, (GameFlags and LongWord(lua_tointeger(L, 1)) <> 0)); |
|
304 end; |
|
305 lc_getgameflag:= 1; |
270 end; |
306 end; |
271 |
307 |
272 function lc_addcaption(L : Plua_State) : LongInt; Cdecl; |
308 function lc_addcaption(L : Plua_State) : LongInt; Cdecl; |
273 begin |
309 begin |
274 if lua_gettop(L) = 1 then |
310 if lua_gettop(L) = 1 then |
1909 |
1945 |
1910 function lc_getgravity(L : Plua_State) : LongInt; Cdecl; |
1946 function lc_getgravity(L : Plua_State) : LongInt; Cdecl; |
1911 begin |
1947 begin |
1912 if lua_gettop(L) <> 0 then |
1948 if lua_gettop(L) <> 0 then |
1913 LuaParameterCountError('GetGravity', '', lua_gettop(L)) |
1949 LuaParameterCountError('GetGravity', '', lua_gettop(L)) |
1914 else |
1950 else if cGravity.isNegative then |
1915 lua_pushinteger(L, hwRound(cGravity * 50 / cWindSpeed)); |
1951 lua_pushinteger(L, hwRound(-_0_5 + (cGravity * 50 / cMaxWindSpeed))) |
|
1952 else |
|
1953 lua_pushinteger(L, hwRound( _0_5 + (cGravity * 50 / cMaxWindSpeed))); |
1916 lc_getgravity:= 1 |
1954 lc_getgravity:= 1 |
1917 end; |
1955 end; |
1918 |
1956 |
1919 function lc_setgravity(L : Plua_State) : LongInt; Cdecl; |
1957 function lc_setgravity(L : Plua_State) : LongInt; Cdecl; |
1920 begin |
1958 begin |
1921 if lua_gettop(L) <> 1 then |
1959 if lua_gettop(L) <> 1 then |
1922 LuaParameterCountError('SetGravity', 'gravity', lua_gettop(L)) |
1960 LuaParameterCountError('SetGravity', 'percent', lua_gettop(L)) |
1923 else |
1961 else |
1924 begin |
1962 begin |
1925 cGravity:= cMaxWindSpeed * lua_tointeger(L, 1) * _0_02; |
1963 cGravity:= _0_02 * lua_tointeger(L, 1) * cMaxWindSpeed; |
1926 cGravityf:= 0.00025 * lua_tointeger(L, 1) * 0.02 |
1964 cGravityf:= 0.00025 * lua_tointeger(L, 1) * 0.02 |
1927 end; |
1965 end; |
1928 lc_setgravity:= 0 |
1966 lc_setgravity:= 0 |
1929 end; |
1967 end; |
1930 |
1968 |
2558 lua_register(luaState, _P'SetInputMask', @lc_setinputmask); |
2597 lua_register(luaState, _P'SetInputMask', @lc_setinputmask); |
2559 lua_register(luaState, _P'AddGear', @lc_addgear); |
2598 lua_register(luaState, _P'AddGear', @lc_addgear); |
2560 lua_register(luaState, _P'EnableGameFlags', @lc_enablegameflags); |
2599 lua_register(luaState, _P'EnableGameFlags', @lc_enablegameflags); |
2561 lua_register(luaState, _P'DisableGameFlags', @lc_disablegameflags); |
2600 lua_register(luaState, _P'DisableGameFlags', @lc_disablegameflags); |
2562 lua_register(luaState, _P'ClearGameFlags', @lc_cleargameflags); |
2601 lua_register(luaState, _P'ClearGameFlags', @lc_cleargameflags); |
|
2602 lua_register(luaState, _P'GetGameFlag', @lc_getgameflag); |
2563 lua_register(luaState, _P'DeleteGear', @lc_deletegear); |
2603 lua_register(luaState, _P'DeleteGear', @lc_deletegear); |
2564 lua_register(luaState, _P'AddVisualGear', @lc_addvisualgear); |
2604 lua_register(luaState, _P'AddVisualGear', @lc_addvisualgear); |
2565 lua_register(luaState, _P'DeleteVisualGear', @lc_deletevisualgear); |
2605 lua_register(luaState, _P'DeleteVisualGear', @lc_deletevisualgear); |
2566 lua_register(luaState, _P'GetVisualGearValues', @lc_getvisualgearvalues); |
2606 lua_register(luaState, _P'GetVisualGearValues', @lc_getvisualgearvalues); |
2567 lua_register(luaState, _P'SetVisualGearValues', @lc_setvisualgearvalues); |
2607 lua_register(luaState, _P'SetVisualGearValues', @lc_setvisualgearvalues); |