hedgewars/uScript.pas
changeset 5074 16f9e2d1f3b2
parent 5073 96d849db41f8
child 5075 59b13b38a827
equal deleted inserted replaced
5073:96d849db41f8 5074:16f9e2d1f3b2
   270         begin
   270         begin
   271         x:= lua_tointeger(L, 1);
   271         x:= lua_tointeger(L, 1);
   272         y:= lua_tointeger(L, 2);
   272         y:= lua_tointeger(L, 2);
   273         gt:= TGearType(lua_tointeger(L, 3));
   273         gt:= TGearType(lua_tointeger(L, 3));
   274         s:= lua_tointeger(L, 4);
   274         s:= lua_tointeger(L, 4);
   275         dx:= int2hwFloat(lua_tointeger(L, 5)) / 100000;
   275         dx:= int2hwFloat(lua_tointeger(L, 5)) / 1000000;
   276         dy:= int2hwFloat(lua_tointeger(L, 6)) / 100000;
   276         dy:= int2hwFloat(lua_tointeger(L, 6)) / 1000000;
   277         t:= lua_tointeger(L, 7);
   277         t:= lua_tointeger(L, 7);
   278 
   278 
   279         gear:= AddGear(x, y, gt, s, dx, dy, t);
   279         gear:= AddGear(x, y, gt, s, dx, dy, t);
   280         lastGearByUID:= gear;
   280         lastGearByUID:= gear;
   281         lua_pushinteger(L, gear^.uid)
   281         lua_pushinteger(L, gear^.uid)
   357         vg:= VisualGearByUID(lua_tointeger(L, 1));
   357         vg:= VisualGearByUID(lua_tointeger(L, 1));
   358         if vg <> nil then
   358         if vg <> nil then
   359             begin
   359             begin
   360             lua_pushinteger(L, round(vg^.X));
   360             lua_pushinteger(L, round(vg^.X));
   361             lua_pushinteger(L, round(vg^.Y));
   361             lua_pushinteger(L, round(vg^.Y));
   362             lua_pushnumber(L, vg^.dX * 100000);
   362             lua_pushnumber(L, vg^.dX * 1000000);
   363             lua_pushnumber(L, vg^.dY * 100000);
   363             lua_pushnumber(L, vg^.dY * 1000000);
   364             lua_pushnumber(L, vg^.Angle);
   364             lua_pushnumber(L, vg^.Angle);
   365             lua_pushinteger(L, vg^.Frame);
   365             lua_pushinteger(L, vg^.Frame);
   366             lua_pushinteger(L, vg^.FrameTicks);
   366             lua_pushinteger(L, vg^.FrameTicks);
   367             lua_pushinteger(L, vg^.State);
   367             lua_pushinteger(L, vg^.State);
   368             lua_pushinteger(L, vg^.Timer);
   368             lua_pushinteger(L, vg^.Timer);
   390         vg:= VisualGearByUID(lua_tointeger(L, 1));
   390         vg:= VisualGearByUID(lua_tointeger(L, 1));
   391         if vg <> nil then
   391         if vg <> nil then
   392             begin
   392             begin
   393             vg^.X:= lua_tointeger(L, 2);
   393             vg^.X:= lua_tointeger(L, 2);
   394             vg^.Y:= lua_tointeger(L, 3);
   394             vg^.Y:= lua_tointeger(L, 3);
   395             vg^.dX:= lua_tonumber(L, 4) / 100000;  // divide by 100,000 just for consistency
   395             vg^.dX:= lua_tonumber(L, 4) / 1000000;  // divide by 100,000 just for consistency
   396             vg^.dY:= lua_tonumber(L, 5) / 100000;
   396             vg^.dY:= lua_tonumber(L, 5) / 1000000;
   397             vg^.Angle:= lua_tonumber(L, 6);
   397             vg^.Angle:= lua_tonumber(L, 6);
   398             vg^.Frame:= lua_tointeger(L, 7);
   398             vg^.Frame:= lua_tointeger(L, 7);
   399             if lua_tointeger(L, 8) <> 0 then vg^.FrameTicks:= lua_tointeger(L, 8);  // find a better way to do this. maybe need to break all these up.
   399             if lua_tointeger(L, 8) <> 0 then vg^.FrameTicks:= lua_tointeger(L, 8);  // find a better way to do this. maybe need to break all these up.
   400             vg^.State:= lua_tointeger(L, 9);
   400             vg^.State:= lua_tointeger(L, 9);
   401             vg^.Timer:= lua_tointeger(L, 10);
   401             vg^.Timer:= lua_tointeger(L, 10);
  1094     else
  1094     else
  1095         begin
  1095         begin
  1096         gear:= GearByUID(lua_tointeger(L, 1));
  1096         gear:= GearByUID(lua_tointeger(L, 1));
  1097         if gear <> nil then
  1097         if gear <> nil then
  1098             begin
  1098             begin
  1099             lua_pushinteger(L, hwRound(gear^.dX * 100000));
  1099             lua_pushinteger(L, hwRound(gear^.dX * 1000000));
  1100             lua_pushinteger(L, hwRound(gear^.dY * 100000))
  1100             lua_pushinteger(L, hwRound(gear^.dY * 1000000))
  1101             end
  1101             end
  1102         end;
  1102         end;
  1103     lc_getgearvelocity:= 2;
  1103     lc_getgearvelocity:= 2;
  1104 end;
  1104 end;
  1105 
  1105 
  1111     else
  1111     else
  1112         begin
  1112         begin
  1113         gear:= GearByUID(lua_tointeger(L, 1));
  1113         gear:= GearByUID(lua_tointeger(L, 1));
  1114         if gear <> nil then
  1114         if gear <> nil then
  1115             begin
  1115             begin
  1116             gear^.dX:= int2hwFloat(lua_tointeger(L, 2)) / 100000;
  1116             gear^.dX:= int2hwFloat(lua_tointeger(L, 2)) / 1000000;
  1117             gear^.dY:= int2hwFloat(lua_tointeger(L, 3)) / 100000;
  1117             gear^.dY:= int2hwFloat(lua_tointeger(L, 3)) / 1000000;
  1118             SetAllToActive;
  1118             SetAllToActive;
  1119             end
  1119             end
  1120         end;
  1120         end;
  1121     lc_setgearvelocity:= 0
  1121     lc_setgearvelocity:= 0
  1122 end;
  1122 end;