hedgewars/uScript.pas
branch0.9.24
changeset 13690 09757d5aead3
parent 13688 076b7d23fab8
equal deleted inserted replaced
13688:076b7d23fab8 13690:09757d5aead3
   860                 uid:= vg^.uid;
   860                 uid:= vg^.uid;
   861                 lua_pushnumber(L, uid);
   861                 lua_pushnumber(L, uid);
   862                 end;
   862                 end;
   863             end
   863             end
   864             else
   864             else
   865                 lua_pushnil(L);
   865                 lua_pushnumber(L,0);
   866         end
   866         end
   867     else
   867     else
   868         lua_pushnil(L); // return value on stack (nil)
   868         lua_pushnumber(L,0); // return value on stack (nil)
   869     lc_addvisualgear:= 1; // 1 return value
   869     lc_addvisualgear:= 1; // 1 return value
   870 end;
   870 end;
   871 
   871 
   872 function lc_deletevisualgear(L : Plua_State) : LongInt; Cdecl;
   872 function lc_deletevisualgear(L : Plua_State) : LongInt; Cdecl;
   873 var vg : PVisualGear;
   873 var vg : PVisualGear;
   902 
   902 
   903 
   903 
   904 function lc_getvisualgearvalues(L : Plua_State) : LongInt; Cdecl;
   904 function lc_getvisualgearvalues(L : Plua_State) : LongInt; Cdecl;
   905 var vg: PVisualGear;
   905 var vg: PVisualGear;
   906 begin
   906 begin
   907     if not(cOnlyStats) and CheckLuaParamCount(L, 1, 'GetVisualGearValues', 'vgUid') then
   907     if not(cOnlyStats) and (Trunc(lua_tonumber(L, 1)) > 0) and CheckLuaParamCount(L, 1, 'GetVisualGearValues', 'vgUid') then
   908         begin
   908         begin
   909         vg:= VisualGearByUID(Trunc(lua_tonumber(L, 1)));
   909         vg:= VisualGearByUID(Trunc(lua_tonumber(L, 1)));
   910         if vg <> nil then
   910         if vg <> nil then
   911             begin
   911             begin
   912             lua_pushnumber(L, round(vg^.X));
   912             lua_pushnumber(L, round(vg^.X));
   920             lua_pushnumber(L, vg^.Timer);
   920             lua_pushnumber(L, vg^.Timer);
   921             lua_pushnumber(L, vg^.Tint);
   921             lua_pushnumber(L, vg^.Tint);
   922             end
   922             end
   923         else
   923         else
   924             begin
   924             begin
   925             lua_pushnil(L); lua_pushnil(L); lua_pushnil(L); lua_pushnil(L); lua_pushnil(L);
   925             lua_pushnumber(L, 0); lua_pushnumber(L, 0); lua_pushnumber(L, 0); lua_pushnumber(L, 0); lua_pushnumber(L, 0);
   926             lua_pushnil(L); lua_pushnil(L); lua_pushnil(L); lua_pushnil(L); lua_pushnil(L);
   926             lua_pushnumber(L, 0); lua_pushnumber(L, 0); lua_pushnumber(L, 0); lua_pushnumber(L, 0); lua_pushnumber(L, 0);
   927             end
   927             end
   928         end
   928         end
   929     else
   929     else
   930         begin
   930         begin
   931         lua_pushnil(L); lua_pushnil(L); lua_pushnil(L); lua_pushnil(L); lua_pushnil(L);
   931         lua_pushnumber(L, 0); lua_pushnumber(L, 0); lua_pushnumber(L, 0); lua_pushnumber(L, 0); lua_pushnumber(L, 0);
   932         lua_pushnil(L); lua_pushnil(L); lua_pushnil(L); lua_pushnil(L); lua_pushnil(L);
   932         lua_pushnumber(L, 0); lua_pushnumber(L, 0); lua_pushnumber(L, 0); lua_pushnumber(L, 0); lua_pushnumber(L, 0);
   933         end;
   933         end;
   934     lc_getvisualgearvalues:= 10
   934     lc_getvisualgearvalues:= 10
   935 end;
   935 end;
   936 
   936 
   937 function lc_setvisualgearvalues(L : Plua_State) : LongInt; Cdecl;
   937 function lc_setvisualgearvalues(L : Plua_State) : LongInt; Cdecl;
   938 var vg : PVisualGear;
   938 var vg : PVisualGear;
   939 begin
   939 begin
   940     lc_setvisualgearvalues:= 0;
   940     lc_setvisualgearvalues:= 0;
   941 	if cOnlyStats then exit;
   941     if cOnlyStats or (Trunc(lua_tonumber(L, 1)) = 0) then exit;
   942 // Param count can be 1-11 at present
   942 // Param count can be 1-11 at present
   943 //    if CheckLuaParamCount(L, 11, 'SetVisualGearValues', 'vgUid, X, Y, dX, dY, Angle, Frame, FrameTicks, State, Timer, Tint') then
   943 //    if CheckLuaParamCount(L, 11, 'SetVisualGearValues', 'vgUid, X, Y, dX, dY, Angle, Frame, FrameTicks, State, Timer, Tint') then
   944 //        begin
   944 //        begin
   945         vg:= VisualGearByUID(Trunc(lua_tonumber(L, 1)));
   945         vg:= VisualGearByUID(Trunc(lua_tonumber(L, 1)));
   946         if vg <> nil then
   946         if vg <> nil then