hedgewars/uScript.pas
changeset 5072 863b9fe83c2f
parent 5052 74a81c276d67
child 5073 96d849db41f8
equal deleted inserted replaced
5071:0b931e96bee9 5072:863b9fe83c2f
   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(round(lua_tonumber(L, 5) * 1000)) / 1000;
   275         dx:= int2hwFloat(lua_tointeger(L, 5)) / 100000;
   276         dy:= int2hwFloat(round(lua_tonumber(L, 6) * 1000)) / 1000;
   276         dy:= int2hwFloat(lua_tointeger(L, 6)) / 100000;
   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)
   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);
   395             vg^.dX:= lua_tonumber(L, 4) / 100000;  // divide by 100,000 just for consistency
   396             vg^.dY:= lua_tonumber(L, 5);
   396             vg^.dY:= lua_tonumber(L, 5) / 100000;
   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_pushnumber(L, hwRound(gear^.dX * 1000) / 1000);
  1099             lua_pushinteger(L, hwRound(gear^.dX * 100000));
  1100             lua_pushnumber(L, hwRound(gear^.dY * 1000) / 1000)
  1100             lua_pushinteger(L, hwRound(gear^.dY * 100000))
  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(round(lua_tonumber(L, 2) * 1000)) / 1000;
  1116             gear^.dX:= int2hwFloat(lua_tointeger(L, 2)) / 100000;
  1117             gear^.dY:= int2hwFloat(round(lua_tonumber(L, 3) * 1000)) / 1000;
  1117             gear^.dY:= int2hwFloat(lua_tointeger(L, 3)) / 100000;
  1118             SetAllToActive;
  1118             SetAllToActive;
  1119             end
  1119             end
  1120         end;
  1120         end;
  1121     lc_setgearvelocity:= 0
  1121     lc_setgearvelocity:= 0
  1122 end;
  1122 end;