hedgewars/uScript.pas
changeset 10808 1e39630d7c2e
parent 10671 17dd6265a08a
child 10809 bb2e4e9944f7
equal deleted inserted replaced
10807:66cde98f8cbe 10808:1e39630d7c2e
   845     if CheckLuaParamCount(L, 11, 'SetVisualGearValues', 'vgUid, X, Y, dX, dY, Angle, Frame, FrameTicks, State, Timer, Tint') then
   845     if CheckLuaParamCount(L, 11, 'SetVisualGearValues', 'vgUid, X, Y, dX, dY, Angle, Frame, FrameTicks, State, Timer, Tint') then
   846         begin
   846         begin
   847         vg:= VisualGearByUID(lua_tointeger(L, 1));
   847         vg:= VisualGearByUID(lua_tointeger(L, 1));
   848         if vg <> nil then
   848         if vg <> nil then
   849             begin
   849             begin
   850             vg^.X:= lua_tointeger(L, 2);
   850             if not lua_isnoneornil(L, 2) then
   851             vg^.Y:= lua_tointeger(L, 3);
   851                 vg^.X:= lua_tointeger(L, 2);
   852             vg^.dX:= lua_tonumber(L, 4);
   852             if not lua_isnoneornil(L, 3) then
   853             vg^.dY:= lua_tonumber(L, 5);
   853                 vg^.Y:= lua_tointeger(L, 3);
   854             vg^.Angle:= lua_tonumber(L, 6);
   854             if not lua_isnoneornil(L, 4) then
   855             vg^.Frame:= lua_tointeger(L, 7);
   855                 vg^.dX:= lua_tonumber(L, 4);
   856             if lua_tointeger(L, 8) <> 0 then
   856             if not lua_isnoneornil(L, 5) then
   857                 vg^.FrameTicks:= lua_tointeger(L, 8);  // find a better way to do this. maybe need to break all these up.
   857                 vg^.dY:= lua_tonumber(L, 5);
   858             vg^.State:= lua_tointeger(L, 9);
   858             if not lua_isnoneornil(L, 6) then
   859             vg^.Timer:= lua_tointeger(L, 10);
   859                 vg^.Angle:= lua_tonumber(L, 6);
   860             vg^.Tint:= lua_tointeger(L, 11);
   860             if not lua_isnoneornil(L, 7) then
       
   861                 vg^.Frame:= lua_tointeger(L, 7);
       
   862             if not lua_isnoneornil(L, 8) then
       
   863                 vg^.FrameTicks:= lua_tointeger(L, 8);
       
   864             if not lua_isnoneornil(L, 9) then
       
   865                 vg^.State:= lua_tointeger(L, 9);
       
   866             if not lua_isnoneornil(L, 10) then
       
   867                 vg^.Timer:= lua_tointeger(L, 10);
       
   868             if not lua_isnoneornil(L, 11) then
       
   869                 vg^.Tint:= lua_tointeger(L, 11);
   861             end
   870             end
   862         end
   871         end
   863     else
   872     else
   864         lua_pushnil(L); // return value on stack (nil)
   873         lua_pushnil(L); // return value on stack (nil)
   865     lc_setvisualgearvalues:= 0;
   874     lc_setvisualgearvalues:= 0;
   923             lua_pushnil(L);
   932             lua_pushnil(L);
   924         end
   933         end
   925     else
   934     else
   926         lua_pushnil(L); // return value on stack (nil)
   935         lua_pushnil(L); // return value on stack (nil)
   927     lc_getgearelasticity:= 1
   936     lc_getgearelasticity:= 1
       
   937 end;
       
   938 
       
   939 function lc_setgearelasticity(L : Plua_State) : LongInt; Cdecl;
       
   940 var gear: PGear;
       
   941 begin
       
   942     if CheckLuaParamCount(L, 2, 'SetGearElasticity', 'gearUid, Elasticity') then
       
   943         begin
       
   944         gear:= GearByUID(lua_tointeger(L, 1));
       
   945         if gear <> nil then
       
   946             gear^.Elasticity:= int2hwFloat(lua_tointeger(L, 2)) / 10000
       
   947         end;
       
   948     lc_setgearelasticity:= 0
       
   949 end;
       
   950 
       
   951 function lc_setgearfriction(L : Plua_State) : LongInt; Cdecl;
       
   952 var gear: PGear;
       
   953 begin
       
   954     if CheckLuaParamCount(L, 2, 'SetGearFriction', 'gearUid, Friction') then
       
   955         begin
       
   956         gear:= GearByUID(lua_tointeger(L, 1));
       
   957         if gear <> nil then
       
   958             gear^.Friction:= int2hwFloat(lua_tointeger(L, 2)) / 10000
       
   959         end;
       
   960     lc_setgearfriction:= 0
   928 end;
   961 end;
   929 
   962 
   930 function lc_setgearmessage(L : Plua_State) : LongInt; Cdecl;
   963 function lc_setgearmessage(L : Plua_State) : LongInt; Cdecl;
   931 var gear : PGear;
   964 var gear : PGear;
   932 begin
   965 begin
  3009 lua_register(luaState, _P'SwitchHog', @lc_switchhog);
  3042 lua_register(luaState, _P'SwitchHog', @lc_switchhog);
  3010 lua_register(luaState, _P'HogTurnLeft', @lc_hogturnleft);
  3043 lua_register(luaState, _P'HogTurnLeft', @lc_hogturnleft);
  3011 lua_register(luaState, _P'CampaignLock', @lc_campaignlock);
  3044 lua_register(luaState, _P'CampaignLock', @lc_campaignlock);
  3012 lua_register(luaState, _P'CampaignUnlock', @lc_campaignunlock);
  3045 lua_register(luaState, _P'CampaignUnlock', @lc_campaignunlock);
  3013 lua_register(luaState, _P'GetGearElasticity', @lc_getgearelasticity);
  3046 lua_register(luaState, _P'GetGearElasticity', @lc_getgearelasticity);
       
  3047 lua_register(luaState, _P'SetGearElasticity', @lc_setgearelasticity);
       
  3048 lua_register(luaState, _P'SetGearFriction', @lc_setgearfriction);
  3014 lua_register(luaState, _P'GetGearRadius', @lc_getgearradius);
  3049 lua_register(luaState, _P'GetGearRadius', @lc_getgearradius);
  3015 lua_register(luaState, _P'GetGearMessage', @lc_getgearmessage);
  3050 lua_register(luaState, _P'GetGearMessage', @lc_getgearmessage);
  3016 lua_register(luaState, _P'SetGearMessage', @lc_setgearmessage);
  3051 lua_register(luaState, _P'SetGearMessage', @lc_setgearmessage);
  3017 lua_register(luaState, _P'GetGearPos', @lc_getgearpos);
  3052 lua_register(luaState, _P'GetGearPos', @lc_getgearpos);
  3018 lua_register(luaState, _P'SetGearPos', @lc_setgearpos);
  3053 lua_register(luaState, _P'SetGearPos', @lc_setgearpos);