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); |