mirror of
https://git.do.srb2.org/KartKrew/Kart-Public.git
synced 2025-01-12 21:01:00 +00:00
Change LUA_NUMBER to fixed_t, change angle_t handling in Lua.
Angles now go from 0 to 0xFFFF (360 degrees == FRACUNIT) instead of using a full UINT32. Lua only has one number type, so signedness gets in the way of using angle_t directly. This handling of angles matches up with how ZDoom ACS scripting and the like does it. I also changed all the integer casts and pushes of fixed_t to their own macro in preperation for possible future seperation.
This commit is contained in:
parent
9d36cf37bd
commit
ef0e61fc33
11 changed files with 256 additions and 252 deletions
|
@ -10,6 +10,7 @@
|
|||
|
||||
#include <limits.h>
|
||||
#include <stddef.h>
|
||||
#include <stdint.h>
|
||||
|
||||
|
||||
/*
|
||||
|
@ -140,7 +141,7 @@
|
|||
** CHANGE that if ptrdiff_t is not adequate on your machine. (On most
|
||||
** machines, ptrdiff_t gives a good choice between int or long.)
|
||||
*/
|
||||
#define LUA_INTEGER ptrdiff_t
|
||||
#define LUA_INTEGER int32_t
|
||||
|
||||
|
||||
/*
|
||||
|
@ -502,13 +503,13 @@
|
|||
*/
|
||||
|
||||
//#define LUA_NUMBER_DOUBLE
|
||||
#define LUA_NUMBER ptrdiff_t
|
||||
#define LUA_NUMBER int32_t
|
||||
|
||||
/*
|
||||
@@ LUAI_UACNUMBER is the result of an 'usual argument conversion'
|
||||
@* over a number.
|
||||
*/
|
||||
#define LUAI_UACNUMBER ptrdiff_t
|
||||
#define LUAI_UACNUMBER int32_t
|
||||
|
||||
|
||||
/*
|
||||
|
@ -519,14 +520,14 @@
|
|||
@@ lua_str2number converts a string to a number.
|
||||
*/
|
||||
#ifdef LUA_WIN
|
||||
#define LUA_NUMBER_SCAN "%Ii"
|
||||
#define LUA_NUMBER_FMT "%Ii"
|
||||
#define LUA_NUMBER_SCAN "%d"
|
||||
#define LUA_NUMBER_FMT "%d"
|
||||
#else
|
||||
#define LUA_NUMBER_SCAN "%ti"
|
||||
#define LUA_NUMBER_FMT "%ti"
|
||||
#define LUA_NUMBER_SCAN "%d"
|
||||
#define LUA_NUMBER_FMT "%d"
|
||||
#endif
|
||||
#define lua_number2str(s,n) sprintf((s), LUA_NUMBER_FMT, (n))
|
||||
#define LUAI_MAXNUMBER2STR 32 /* 16 digits, sign, point, and \0 */
|
||||
#define LUAI_MAXNUMBER2STR 12 /* 10 digits, sign, and \0 */
|
||||
#define lua_str2number(s,p) strtol((s), (p), 10)
|
||||
|
||||
|
||||
|
|
|
@ -7753,36 +7753,36 @@ struct {
|
|||
{"FF_GOOWATER",FF_GOOWATER}, ///< Used with ::FF_SWIMMABLE. Makes thick bouncey goop.
|
||||
|
||||
// Angles
|
||||
{"ANG1",ANG1},
|
||||
{"ANG2",ANG2},
|
||||
{"ANG10",ANG10},
|
||||
{"ANG15",ANG15},
|
||||
{"ANG20",ANG20},
|
||||
{"ANG30",ANG30},
|
||||
{"ANG60",ANG60},
|
||||
{"ANG64h",ANG64h},
|
||||
{"ANG105",ANG105},
|
||||
{"ANG210",ANG210},
|
||||
{"ANG255",ANG255},
|
||||
{"ANG340",ANG340},
|
||||
{"ANG350",ANG350},
|
||||
{"ANGLE_11hh",ANGLE_11hh},
|
||||
{"ANGLE_22h",ANGLE_22h},
|
||||
{"ANGLE_45",ANGLE_45},
|
||||
{"ANGLE_67h",ANGLE_67h},
|
||||
{"ANGLE_90",ANGLE_90},
|
||||
{"ANGLE_112h",ANGLE_112h},
|
||||
{"ANGLE_135",ANGLE_135},
|
||||
{"ANGLE_157h",ANGLE_157h},
|
||||
{"ANGLE_180",ANGLE_180},
|
||||
{"ANGLE_202h",ANGLE_202h},
|
||||
{"ANGLE_225",ANGLE_225},
|
||||
{"ANGLE_247h",ANGLE_247h},
|
||||
{"ANGLE_270",ANGLE_270},
|
||||
{"ANGLE_292h",ANGLE_292h},
|
||||
{"ANGLE_315",ANGLE_315},
|
||||
{"ANGLE_337h",ANGLE_337h},
|
||||
{"ANGLE_MAX",ANGLE_MAX},
|
||||
{"ANG1",ANG1>>16},
|
||||
{"ANG2",ANG2>>16},
|
||||
{"ANG10",ANG10>>16},
|
||||
{"ANG15",ANG15>>16},
|
||||
{"ANG20",ANG20>>16},
|
||||
{"ANG30",ANG30>>16},
|
||||
{"ANG60",ANG60>>16},
|
||||
{"ANG64h",ANG64h>>16},
|
||||
{"ANG105",ANG105>>16},
|
||||
{"ANG210",ANG210>>16},
|
||||
{"ANG255",ANG255>>16},
|
||||
{"ANG340",ANG340>>16},
|
||||
{"ANG350",ANG350>>16},
|
||||
{"ANGLE_11hh",ANGLE_11hh>>16},
|
||||
{"ANGLE_22h",ANGLE_22h>>16},
|
||||
{"ANGLE_45",ANGLE_45>>16},
|
||||
{"ANGLE_67h",ANGLE_67h>>16},
|
||||
{"ANGLE_90",ANGLE_90>>16},
|
||||
{"ANGLE_112h",ANGLE_112h>>16},
|
||||
{"ANGLE_135",ANGLE_135>>16},
|
||||
{"ANGLE_157h",ANGLE_157h>>16},
|
||||
{"ANGLE_180",ANGLE_180>>16},
|
||||
{"ANGLE_202h",ANGLE_202h>>16},
|
||||
{"ANGLE_225",ANGLE_225>>16},
|
||||
{"ANGLE_247h",ANGLE_247h>>16},
|
||||
{"ANGLE_270",ANGLE_270>>16},
|
||||
{"ANGLE_292h",ANGLE_292h>>16},
|
||||
{"ANGLE_315",ANGLE_315>>16},
|
||||
{"ANGLE_337h",ANGLE_337h>>16},
|
||||
{"ANGLE_MAX",ANGLE_MAX>>16},
|
||||
|
||||
// P_Chase directions (dirtype_t)
|
||||
{"DI_NODIR",DI_NODIR},
|
||||
|
|
|
@ -131,25 +131,25 @@ static int lib_pRandomRange(lua_State *L)
|
|||
|
||||
static int lib_pAproxDistance(lua_State *L)
|
||||
{
|
||||
fixed_t dx = (fixed_t)luaL_checkinteger(L, 1);
|
||||
fixed_t dy = (fixed_t)luaL_checkinteger(L, 2);
|
||||
fixed_t dx = luaL_checkfixed(L, 1);
|
||||
fixed_t dy = luaL_checkfixed(L, 2);
|
||||
//HUDSAFE
|
||||
lua_pushinteger(L, P_AproxDistance(dx, dy));
|
||||
lua_pushfixed(L, P_AproxDistance(dx, dy));
|
||||
return 1;
|
||||
}
|
||||
|
||||
static int lib_pClosestPointOnLine(lua_State *L)
|
||||
{
|
||||
fixed_t x = (fixed_t)luaL_checkinteger(L, 1);
|
||||
fixed_t y = (fixed_t)luaL_checkinteger(L, 2);
|
||||
fixed_t x = luaL_checkfixed(L, 1);
|
||||
fixed_t y = luaL_checkfixed(L, 2);
|
||||
line_t *line = *((line_t **)luaL_checkudata(L, 3, META_LINE));
|
||||
vertex_t result;
|
||||
//HUDSAFE
|
||||
if (!line)
|
||||
return LUA_ErrInvalid(L, "line_t");
|
||||
P_ClosestPointOnLine(x, y, line, &result);
|
||||
lua_pushinteger(L, result.x);
|
||||
lua_pushinteger(L, result.y);
|
||||
lua_pushfixed(L, result.x);
|
||||
lua_pushfixed(L, result.y);
|
||||
return 2;
|
||||
}
|
||||
|
||||
|
@ -234,9 +234,9 @@ static int lib_pLookForPlayers(lua_State *L)
|
|||
|
||||
static int lib_pSpawnMobj(lua_State *L)
|
||||
{
|
||||
fixed_t x = (fixed_t)luaL_checkinteger(L, 1);
|
||||
fixed_t y = (fixed_t)luaL_checkinteger(L, 2);
|
||||
fixed_t z = (fixed_t)luaL_checkinteger(L, 3);
|
||||
fixed_t x = luaL_checkfixed(L, 1);
|
||||
fixed_t y = luaL_checkfixed(L, 2);
|
||||
fixed_t z = luaL_checkfixed(L, 3);
|
||||
mobjtype_t type = luaL_checkinteger(L, 4);
|
||||
NOHUD
|
||||
if (type > MT_LASTFREESLOT)
|
||||
|
@ -276,9 +276,9 @@ static int lib_pSpawnXYZMissile(lua_State *L)
|
|||
mobj_t *source = *((mobj_t **)luaL_checkudata(L, 1, META_MOBJ));
|
||||
mobj_t *dest = *((mobj_t **)luaL_checkudata(L, 2, META_MOBJ));
|
||||
mobjtype_t type = luaL_checkinteger(L, 3);
|
||||
fixed_t x = (fixed_t)luaL_checkinteger(L, 4);
|
||||
fixed_t y = (fixed_t)luaL_checkinteger(L, 5);
|
||||
fixed_t z = (fixed_t)luaL_checkinteger(L, 6);
|
||||
fixed_t x = luaL_checkfixed(L, 4);
|
||||
fixed_t y = luaL_checkfixed(L, 5);
|
||||
fixed_t z = luaL_checkfixed(L, 6);
|
||||
NOHUD
|
||||
if (!source || !dest)
|
||||
return LUA_ErrInvalid(L, "mobj_t");
|
||||
|
@ -291,13 +291,13 @@ static int lib_pSpawnXYZMissile(lua_State *L)
|
|||
static int lib_pSpawnPointMissile(lua_State *L)
|
||||
{
|
||||
mobj_t *source = *((mobj_t **)luaL_checkudata(L, 1, META_MOBJ));
|
||||
fixed_t xa = (fixed_t)luaL_checkinteger(L, 2);
|
||||
fixed_t ya = (fixed_t)luaL_checkinteger(L, 3);
|
||||
fixed_t za = (fixed_t)luaL_checkinteger(L, 4);
|
||||
fixed_t xa = luaL_checkfixed(L, 2);
|
||||
fixed_t ya = luaL_checkfixed(L, 3);
|
||||
fixed_t za = luaL_checkfixed(L, 4);
|
||||
mobjtype_t type = luaL_checkinteger(L, 5);
|
||||
fixed_t x = (fixed_t)luaL_checkinteger(L, 6);
|
||||
fixed_t y = (fixed_t)luaL_checkinteger(L, 7);
|
||||
fixed_t z = (fixed_t)luaL_checkinteger(L, 8);
|
||||
fixed_t x = luaL_checkfixed(L, 6);
|
||||
fixed_t y = luaL_checkfixed(L, 7);
|
||||
fixed_t z = luaL_checkfixed(L, 8);
|
||||
NOHUD
|
||||
if (!source)
|
||||
return LUA_ErrInvalid(L, "mobj_t");
|
||||
|
@ -311,9 +311,9 @@ static int lib_pSpawnAlteredDirectionMissile(lua_State *L)
|
|||
{
|
||||
mobj_t *source = *((mobj_t **)luaL_checkudata(L, 1, META_MOBJ));
|
||||
mobjtype_t type = luaL_checkinteger(L, 2);
|
||||
fixed_t x = (fixed_t)luaL_checkinteger(L, 3);
|
||||
fixed_t y = (fixed_t)luaL_checkinteger(L, 4);
|
||||
fixed_t z = (fixed_t)luaL_checkinteger(L, 5);
|
||||
fixed_t x = luaL_checkfixed(L, 3);
|
||||
fixed_t y = luaL_checkfixed(L, 4);
|
||||
fixed_t z = luaL_checkfixed(L, 5);
|
||||
INT32 shiftingAngle = (INT32)luaL_checkinteger(L, 5);
|
||||
NOHUD
|
||||
if (!source)
|
||||
|
@ -341,7 +341,7 @@ static int lib_pSPMAngle(lua_State *L)
|
|||
{
|
||||
mobj_t *source = *((mobj_t **)luaL_checkudata(L, 1, META_MOBJ));
|
||||
mobjtype_t type = luaL_checkinteger(L, 2);
|
||||
angle_t angle = (angle_t)luaL_checkinteger(L, 3);
|
||||
angle_t angle = luaL_checkangle(L, 3);
|
||||
UINT8 allowaim = (UINT8)luaL_optinteger(L, 4, 0);
|
||||
UINT32 flags2 = (UINT32)luaL_optinteger(L, 5, 0);
|
||||
NOHUD
|
||||
|
@ -411,13 +411,13 @@ static int lib_pGetClosestAxis(lua_State *L)
|
|||
|
||||
static int lib_pSpawnParaloop(lua_State *L)
|
||||
{
|
||||
fixed_t x = (fixed_t)luaL_checkinteger(L, 1);
|
||||
fixed_t y = (fixed_t)luaL_checkinteger(L, 2);
|
||||
fixed_t z = (fixed_t)luaL_checkinteger(L, 3);
|
||||
fixed_t radius = (fixed_t)luaL_checkinteger(L, 4);
|
||||
fixed_t x = luaL_checkfixed(L, 1);
|
||||
fixed_t y = luaL_checkfixed(L, 2);
|
||||
fixed_t z = luaL_checkfixed(L, 3);
|
||||
fixed_t radius = luaL_checkfixed(L, 4);
|
||||
INT32 number = (INT32)luaL_checkinteger(L, 5);
|
||||
mobjtype_t type = luaL_checkinteger(L, 6);
|
||||
angle_t rotangle = (angle_t)luaL_checkinteger(L, 7);
|
||||
angle_t rotangle = luaL_checkangle(L, 7);
|
||||
statenum_t nstate = luaL_optinteger(L, 8, S_NULL);
|
||||
boolean spawncenter = lua_optboolean(L, 9);
|
||||
NOHUD
|
||||
|
@ -451,7 +451,7 @@ static int lib_pSupermanLook4Players(lua_State *L)
|
|||
static int lib_pSetScale(lua_State *L)
|
||||
{
|
||||
mobj_t *mobj = *((mobj_t **)luaL_checkudata(L, 1, META_MOBJ));
|
||||
fixed_t newscale = (fixed_t)luaL_checkinteger(L, 2);
|
||||
fixed_t newscale = luaL_checkfixed(L, 2);
|
||||
NOHUD
|
||||
if (!mobj)
|
||||
return LUA_ErrInvalid(L, "mobj_t");
|
||||
|
@ -519,7 +519,7 @@ static int lib_pGetPlayerHeight(lua_State *L)
|
|||
//HUDSAFE
|
||||
if (!player)
|
||||
return LUA_ErrInvalid(L, "player_t");
|
||||
lua_pushinteger(L, P_GetPlayerHeight(player));
|
||||
lua_pushfixed(L, P_GetPlayerHeight(player));
|
||||
return 1;
|
||||
}
|
||||
|
||||
|
@ -529,7 +529,7 @@ static int lib_pGetPlayerSpinHeight(lua_State *L)
|
|||
//HUDSAFE
|
||||
if (!player)
|
||||
return LUA_ErrInvalid(L, "player_t");
|
||||
lua_pushinteger(L, P_GetPlayerSpinHeight(player));
|
||||
lua_pushfixed(L, P_GetPlayerSpinHeight(player));
|
||||
return 1;
|
||||
}
|
||||
|
||||
|
@ -632,7 +632,7 @@ static int lib_pInQuicksand(lua_State *L)
|
|||
static int lib_pSetObjectMomZ(lua_State *L)
|
||||
{
|
||||
mobj_t *mo = *((mobj_t **)luaL_checkudata(L, 1, META_MOBJ));
|
||||
fixed_t value = (fixed_t)luaL_checkinteger(L, 2);
|
||||
fixed_t value = luaL_checkfixed(L, 2);
|
||||
boolean relative = lua_optboolean(L, 3);
|
||||
NOHUD
|
||||
if (!mo)
|
||||
|
@ -746,8 +746,8 @@ static int lib_pDoPlayerExit(lua_State *L)
|
|||
static int lib_pInstaThrust(lua_State *L)
|
||||
{
|
||||
mobj_t *mo = *((mobj_t **)luaL_checkudata(L, 1, META_MOBJ));
|
||||
angle_t angle = (angle_t)luaL_checkinteger(L, 2);
|
||||
fixed_t move = (fixed_t)luaL_checkinteger(L, 3);
|
||||
angle_t angle = luaL_checkangle(L, 2);
|
||||
fixed_t move = luaL_checkfixed(L, 3);
|
||||
NOHUD
|
||||
if (!mo)
|
||||
return LUA_ErrInvalid(L, "mobj_t");
|
||||
|
@ -761,10 +761,10 @@ static int lib_pReturnThrustX(lua_State *L)
|
|||
fixed_t move;
|
||||
if (lua_isnil(L, 1) || lua_isuserdata(L, 1))
|
||||
lua_remove(L, 1); // ignore mobj as arg1
|
||||
angle = (angle_t)luaL_checkinteger(L, 1);
|
||||
move = (fixed_t)luaL_checkinteger(L, 2);
|
||||
angle = luaL_checkangle(L, 1);
|
||||
move = luaL_checkfixed(L, 2);
|
||||
//HUDSAFE
|
||||
lua_pushinteger(L, P_ReturnThrustX(NULL, angle, move));
|
||||
lua_pushfixed(L, P_ReturnThrustX(NULL, angle, move));
|
||||
return 1;
|
||||
}
|
||||
|
||||
|
@ -774,10 +774,10 @@ static int lib_pReturnThrustY(lua_State *L)
|
|||
fixed_t move;
|
||||
if (lua_isnil(L, 1) || lua_isuserdata(L, 1))
|
||||
lua_remove(L, 1); // ignore mobj as arg1
|
||||
angle = (angle_t)luaL_checkinteger(L, 1);
|
||||
move = (fixed_t)luaL_checkinteger(L, 2);
|
||||
angle = luaL_checkangle(L, 1);
|
||||
move = luaL_checkfixed(L, 2);
|
||||
//HUDSAFE
|
||||
lua_pushinteger(L, P_ReturnThrustY(NULL, angle, move));
|
||||
lua_pushfixed(L, P_ReturnThrustY(NULL, angle, move));
|
||||
return 1;
|
||||
}
|
||||
|
||||
|
@ -795,7 +795,7 @@ static int lib_pNukeEnemies(lua_State *L)
|
|||
{
|
||||
mobj_t *inflictor = *((mobj_t **)luaL_checkudata(L, 1, META_MOBJ));
|
||||
mobj_t *source = *((mobj_t **)luaL_checkudata(L, 2, META_MOBJ));
|
||||
fixed_t radius = (fixed_t)luaL_checkinteger(L, 3);
|
||||
fixed_t radius = luaL_checkfixed(L, 3);
|
||||
NOHUD
|
||||
if (!inflictor || !source)
|
||||
return LUA_ErrInvalid(L, "mobj_t");
|
||||
|
@ -861,8 +861,8 @@ static int lib_pSpawnSpinMobj(lua_State *L)
|
|||
static int lib_pTelekinesis(lua_State *L)
|
||||
{
|
||||
player_t *player = *((player_t **)luaL_checkudata(L, 1, META_PLAYER));
|
||||
fixed_t thrust = (fixed_t)luaL_checkinteger(L, 2);
|
||||
fixed_t range = (fixed_t)luaL_checkinteger(L, 3);
|
||||
fixed_t thrust = luaL_checkfixed(L, 2);
|
||||
fixed_t range = luaL_checkfixed(L, 3);
|
||||
NOHUD
|
||||
if (!player)
|
||||
return LUA_ErrInvalid(L, "player_t");
|
||||
|
@ -877,8 +877,8 @@ static int lib_pCheckPosition(lua_State *L)
|
|||
{
|
||||
mobj_t *ptmthing = tmthing;
|
||||
mobj_t *thing = *((mobj_t **)luaL_checkudata(L, 1, META_MOBJ));
|
||||
fixed_t x = (fixed_t)luaL_checkinteger(L, 2);
|
||||
fixed_t y = (fixed_t)luaL_checkinteger(L, 3);
|
||||
fixed_t x = luaL_checkfixed(L, 2);
|
||||
fixed_t y = luaL_checkfixed(L, 3);
|
||||
NOHUD
|
||||
if (!thing)
|
||||
return LUA_ErrInvalid(L, "mobj_t");
|
||||
|
@ -892,8 +892,8 @@ static int lib_pTryMove(lua_State *L)
|
|||
{
|
||||
mobj_t *ptmthing = tmthing;
|
||||
mobj_t *thing = *((mobj_t **)luaL_checkudata(L, 1, META_MOBJ));
|
||||
fixed_t x = (fixed_t)luaL_checkinteger(L, 2);
|
||||
fixed_t y = (fixed_t)luaL_checkinteger(L, 3);
|
||||
fixed_t x = luaL_checkfixed(L, 2);
|
||||
fixed_t y = luaL_checkfixed(L, 3);
|
||||
boolean allowdropoff = lua_optboolean(L, 4);
|
||||
NOHUD
|
||||
if (!thing)
|
||||
|
@ -908,7 +908,7 @@ static int lib_pMove(lua_State *L)
|
|||
{
|
||||
mobj_t *ptmthing = tmthing;
|
||||
mobj_t *actor = *((mobj_t **)luaL_checkudata(L, 1, META_MOBJ));
|
||||
fixed_t speed = (fixed_t)luaL_checkinteger(L, 2);
|
||||
fixed_t speed = luaL_checkfixed(L, 2);
|
||||
NOHUD
|
||||
if (!actor)
|
||||
return LUA_ErrInvalid(L, "mobj_t");
|
||||
|
@ -922,9 +922,9 @@ static int lib_pTeleportMove(lua_State *L)
|
|||
{
|
||||
mobj_t *ptmthing = tmthing;
|
||||
mobj_t *thing = *((mobj_t **)luaL_checkudata(L, 1, META_MOBJ));
|
||||
fixed_t x = (fixed_t)luaL_checkinteger(L, 2);
|
||||
fixed_t y = (fixed_t)luaL_checkinteger(L, 3);
|
||||
fixed_t z = (fixed_t)luaL_checkinteger(L, 4);
|
||||
fixed_t x = luaL_checkfixed(L, 2);
|
||||
fixed_t y = luaL_checkfixed(L, 3);
|
||||
fixed_t z = luaL_checkfixed(L, 4);
|
||||
NOHUD
|
||||
if (!thing)
|
||||
return LUA_ErrInvalid(L, "mobj_t");
|
||||
|
@ -968,10 +968,10 @@ static int lib_pCheckSight(lua_State *L)
|
|||
static int lib_pCheckHoopPosition(lua_State *L)
|
||||
{
|
||||
mobj_t *hoopthing = *((mobj_t **)luaL_checkudata(L, 1, META_MOBJ));
|
||||
fixed_t x = (fixed_t)luaL_checkinteger(L, 2);
|
||||
fixed_t y = (fixed_t)luaL_checkinteger(L, 3);
|
||||
fixed_t z = (fixed_t)luaL_checkinteger(L, 4);
|
||||
fixed_t radius = (fixed_t)luaL_checkinteger(L, 5);
|
||||
fixed_t x = luaL_checkfixed(L, 2);
|
||||
fixed_t y = luaL_checkfixed(L, 3);
|
||||
fixed_t z = luaL_checkfixed(L, 4);
|
||||
fixed_t radius = luaL_checkfixed(L, 5);
|
||||
NOHUD
|
||||
if (!hoopthing)
|
||||
return LUA_ErrInvalid(L, "mobj_t");
|
||||
|
@ -983,7 +983,7 @@ static int lib_pRadiusAttack(lua_State *L)
|
|||
{
|
||||
mobj_t *spot = *((mobj_t **)luaL_checkudata(L, 1, META_MOBJ));
|
||||
mobj_t *source = *((mobj_t **)luaL_checkudata(L, 2, META_MOBJ));
|
||||
fixed_t damagedist = (fixed_t)luaL_checkinteger(L, 3);
|
||||
fixed_t damagedist = luaL_checkfixed(L, 3);
|
||||
NOHUD
|
||||
if (!spot || !source)
|
||||
return LUA_ErrInvalid(L, "mobj_t");
|
||||
|
@ -993,12 +993,12 @@ static int lib_pRadiusAttack(lua_State *L)
|
|||
|
||||
static int lib_pFloorzAtPos(lua_State *L)
|
||||
{
|
||||
fixed_t x = (fixed_t)luaL_checkinteger(L, 1);
|
||||
fixed_t y = (fixed_t)luaL_checkinteger(L, 2);
|
||||
fixed_t z = (fixed_t)luaL_checkinteger(L, 3);
|
||||
fixed_t height = (fixed_t)luaL_checkinteger(L, 4);
|
||||
fixed_t x = luaL_checkfixed(L, 1);
|
||||
fixed_t y = luaL_checkfixed(L, 2);
|
||||
fixed_t z = luaL_checkfixed(L, 3);
|
||||
fixed_t height = luaL_checkfixed(L, 4);
|
||||
//HUDSAFE
|
||||
lua_pushinteger(L, P_FloorzAtPos(x, y, z, height));
|
||||
lua_pushfixed(L, P_FloorzAtPos(x, y, z, height));
|
||||
return 1;
|
||||
}
|
||||
|
||||
|
@ -1202,8 +1202,8 @@ static int lib_pDoNightsScore(lua_State *L)
|
|||
static int lib_pThrust(lua_State *L)
|
||||
{
|
||||
mobj_t *mo = *((mobj_t **)luaL_checkudata(L, 1, META_MOBJ));
|
||||
angle_t angle = (angle_t)luaL_checkinteger(L, 2);
|
||||
fixed_t move = (fixed_t)luaL_checkinteger(L, 3);
|
||||
angle_t angle = luaL_checkangle(L, 2);
|
||||
fixed_t move = luaL_checkfixed(L, 3);
|
||||
NOHUD
|
||||
if (!mo)
|
||||
return LUA_ErrInvalid(L, "mobj_t");
|
||||
|
@ -1478,48 +1478,48 @@ static int lib_evCrumbleChain(lua_State *L)
|
|||
|
||||
static int lib_rPointToAngle(lua_State *L)
|
||||
{
|
||||
fixed_t x = (fixed_t)luaL_checkinteger(L, 1);
|
||||
fixed_t y = (fixed_t)luaL_checkinteger(L, 2);
|
||||
fixed_t x = luaL_checkfixed(L, 1);
|
||||
fixed_t y = luaL_checkfixed(L, 2);
|
||||
//HUDSAFE
|
||||
lua_pushinteger(L, R_PointToAngle(x, y));
|
||||
lua_pushangle(L, R_PointToAngle(x, y));
|
||||
return 1;
|
||||
}
|
||||
|
||||
static int lib_rPointToAngle2(lua_State *L)
|
||||
{
|
||||
fixed_t px2 = (fixed_t)luaL_checkinteger(L, 1);
|
||||
fixed_t py2 = (fixed_t)luaL_checkinteger(L, 2);
|
||||
fixed_t px1 = (fixed_t)luaL_checkinteger(L, 3);
|
||||
fixed_t py1 = (fixed_t)luaL_checkinteger(L, 4);
|
||||
fixed_t px2 = luaL_checkfixed(L, 1);
|
||||
fixed_t py2 = luaL_checkfixed(L, 2);
|
||||
fixed_t px1 = luaL_checkfixed(L, 3);
|
||||
fixed_t py1 = luaL_checkfixed(L, 4);
|
||||
//HUDSAFE
|
||||
lua_pushinteger(L, R_PointToAngle2(px2, py2, px1, py1));
|
||||
lua_pushangle(L, R_PointToAngle2(px2, py2, px1, py1));
|
||||
return 1;
|
||||
}
|
||||
|
||||
static int lib_rPointToDist(lua_State *L)
|
||||
{
|
||||
fixed_t x = (fixed_t)luaL_checkinteger(L, 1);
|
||||
fixed_t y = (fixed_t)luaL_checkinteger(L, 2);
|
||||
fixed_t x = luaL_checkfixed(L, 1);
|
||||
fixed_t y = luaL_checkfixed(L, 2);
|
||||
//HUDSAFE
|
||||
lua_pushinteger(L, R_PointToDist(x, y));
|
||||
lua_pushfixed(L, R_PointToDist(x, y));
|
||||
return 1;
|
||||
}
|
||||
|
||||
static int lib_rPointToDist2(lua_State *L)
|
||||
{
|
||||
fixed_t px2 = (fixed_t)luaL_checkinteger(L, 1);
|
||||
fixed_t py2 = (fixed_t)luaL_checkinteger(L, 2);
|
||||
fixed_t px1 = (fixed_t)luaL_checkinteger(L, 3);
|
||||
fixed_t py1 = (fixed_t)luaL_checkinteger(L, 4);
|
||||
fixed_t px2 = luaL_checkfixed(L, 1);
|
||||
fixed_t py2 = luaL_checkfixed(L, 2);
|
||||
fixed_t px1 = luaL_checkfixed(L, 3);
|
||||
fixed_t py1 = luaL_checkfixed(L, 4);
|
||||
//HUDSAFE
|
||||
lua_pushinteger(L, R_PointToDist2(px2, py2, px1, py1));
|
||||
lua_pushfixed(L, R_PointToDist2(px2, py2, px1, py1));
|
||||
return 1;
|
||||
}
|
||||
|
||||
static int lib_rPointInSubsector(lua_State *L)
|
||||
{
|
||||
fixed_t x = (fixed_t)luaL_checkinteger(L, 1);
|
||||
fixed_t y = (fixed_t)luaL_checkinteger(L, 2);
|
||||
fixed_t x = luaL_checkfixed(L, 1);
|
||||
fixed_t y = luaL_checkfixed(L, 2);
|
||||
//HUDSAFE
|
||||
LUA_PushUserdata(L, R_PointInSubsector(x, y), META_SUBSECTOR);
|
||||
return 1;
|
||||
|
@ -1653,7 +1653,7 @@ static int lib_sChangeMusic(lua_State *L)
|
|||
|
||||
static int lib_sSpeedMusic(lua_State *L)
|
||||
{
|
||||
fixed_t fixedspeed = (fixed_t)luaL_checkinteger(L, 1);
|
||||
fixed_t fixedspeed = luaL_checkfixed(L, 1);
|
||||
float speed = FIXED_TO_FLOAT(fixedspeed);
|
||||
player_t *player = NULL;
|
||||
NOHUD
|
||||
|
|
|
@ -510,11 +510,11 @@ static int lib_setMobjInfo(lua_State *L)
|
|||
else if (i == 15 || (str && fastcmp(str,"deathsound")))
|
||||
info->deathsound = luaL_checkinteger(L, 3);
|
||||
else if (i == 16 || (str && fastcmp(str,"speed")))
|
||||
info->speed = (fixed_t)luaL_checkinteger(L, 3);
|
||||
info->speed = luaL_checkfixed(L, 3);
|
||||
else if (i == 17 || (str && fastcmp(str,"radius")))
|
||||
info->radius = (fixed_t)luaL_checkinteger(L, 3);
|
||||
info->radius = luaL_checkfixed(L, 3);
|
||||
else if (i == 18 || (str && fastcmp(str,"height")))
|
||||
info->height = (fixed_t)luaL_checkinteger(L, 3);
|
||||
info->height = luaL_checkfixed(L, 3);
|
||||
else if (i == 19 || (str && fastcmp(str,"dispoffset")))
|
||||
info->dispoffset = (INT32)luaL_checkinteger(L, 3);
|
||||
else if (i == 20 || (str && fastcmp(str,"mass")))
|
||||
|
@ -580,11 +580,11 @@ static int mobjinfo_get(lua_State *L)
|
|||
else if (fastcmp(field,"deathsound"))
|
||||
lua_pushinteger(L, info->deathsound);
|
||||
else if (fastcmp(field,"speed"))
|
||||
lua_pushinteger(L, info->speed);
|
||||
lua_pushinteger(L, info->speed); // sometimes it's fixed_t, sometimes it's not...
|
||||
else if (fastcmp(field,"radius"))
|
||||
lua_pushinteger(L, info->radius);
|
||||
lua_pushfixed(L, info->radius);
|
||||
else if (fastcmp(field,"height"))
|
||||
lua_pushinteger(L, info->height);
|
||||
lua_pushfixed(L, info->height);
|
||||
else if (fastcmp(field,"dispoffset"))
|
||||
lua_pushinteger(L, info->dispoffset);
|
||||
else if (fastcmp(field,"mass"))
|
||||
|
@ -656,11 +656,11 @@ static int mobjinfo_set(lua_State *L)
|
|||
else if (fastcmp(field,"deathsound"))
|
||||
info->deathsound = luaL_checkinteger(L, 3);
|
||||
else if (fastcmp(field,"speed"))
|
||||
info->speed = (fixed_t)luaL_checkinteger(L, 3);
|
||||
info->speed = luaL_checkfixed(L, 3);
|
||||
else if (fastcmp(field,"radius"))
|
||||
info->radius = (fixed_t)luaL_checkinteger(L, 3);
|
||||
info->radius = luaL_checkfixed(L, 3);
|
||||
else if (fastcmp(field,"height"))
|
||||
info->height = (fixed_t)luaL_checkinteger(L, 3);
|
||||
info->height = luaL_checkfixed(L, 3);
|
||||
else if (fastcmp(field,"dispoffset"))
|
||||
info->dispoffset = (INT32)luaL_checkinteger(L, 3);
|
||||
else if (fastcmp(field,"mass"))
|
||||
|
|
|
@ -280,10 +280,10 @@ static int sector_get(lua_State *L)
|
|||
lua_pushboolean(L, 1);
|
||||
return 1;
|
||||
case sector_floorheight:
|
||||
lua_pushinteger(L, sector->floorheight);
|
||||
lua_pushfixed(L, sector->floorheight);
|
||||
return 1;
|
||||
case sector_ceilingheight:
|
||||
lua_pushinteger(L, sector->ceilingheight);
|
||||
lua_pushfixed(L, sector->ceilingheight);
|
||||
return 1;
|
||||
case sector_floorpic: { // floorpic
|
||||
levelflat_t *levelflat;
|
||||
|
@ -397,7 +397,7 @@ static int sector_set(lua_State *L)
|
|||
case sector_floorheight: { // floorheight
|
||||
boolean flag;
|
||||
fixed_t lastpos = sector->floorheight;
|
||||
sector->floorheight = (fixed_t)luaL_checkinteger(L, 3);
|
||||
sector->floorheight = luaL_checkfixed(L, 3);
|
||||
flag = P_CheckSector(sector, true);
|
||||
if (flag && sector->numattached)
|
||||
{
|
||||
|
@ -409,7 +409,7 @@ static int sector_set(lua_State *L)
|
|||
case sector_ceilingheight: { // ceilingheight
|
||||
boolean flag;
|
||||
fixed_t lastpos = sector->ceilingheight;
|
||||
sector->ceilingheight = (fixed_t)luaL_checkinteger(L, 3);
|
||||
sector->ceilingheight = luaL_checkfixed(L, 3);
|
||||
flag = P_CheckSector(sector, true);
|
||||
if (flag && sector->numattached)
|
||||
{
|
||||
|
@ -509,10 +509,10 @@ static int line_get(lua_State *L)
|
|||
LUA_PushUserdata(L, line->v2, META_VERTEX);
|
||||
return 1;
|
||||
case line_dx:
|
||||
lua_pushinteger(L, line->dx);
|
||||
lua_pushfixed(L, line->dx);
|
||||
return 1;
|
||||
case line_dy:
|
||||
lua_pushinteger(L, line->dy);
|
||||
lua_pushfixed(L, line->dy);
|
||||
return 1;
|
||||
case line_flags:
|
||||
lua_pushinteger(L, line->flags);
|
||||
|
@ -628,10 +628,10 @@ static int side_get(lua_State *L)
|
|||
lua_pushboolean(L, 1);
|
||||
return 1;
|
||||
case side_textureoffset:
|
||||
lua_pushinteger(L, side->textureoffset);
|
||||
lua_pushfixed(L, side->textureoffset);
|
||||
return 1;
|
||||
case side_rowoffset:
|
||||
lua_pushinteger(L, side->rowoffset);
|
||||
lua_pushfixed(L, side->rowoffset);
|
||||
return 1;
|
||||
case side_toptexture:
|
||||
lua_pushinteger(L, side->toptexture);
|
||||
|
@ -685,13 +685,13 @@ static int vertex_get(lua_State *L)
|
|||
lua_pushboolean(L, 1);
|
||||
return 1;
|
||||
case vertex_x:
|
||||
lua_pushinteger(L, vertex->x);
|
||||
lua_pushfixed(L, vertex->x);
|
||||
return 1;
|
||||
case vertex_y:
|
||||
lua_pushinteger(L, vertex->y);
|
||||
lua_pushfixed(L, vertex->y);
|
||||
return 1;
|
||||
case vertex_z:
|
||||
lua_pushinteger(L, vertex->z);
|
||||
lua_pushfixed(L, vertex->z);
|
||||
return 1;
|
||||
}
|
||||
return 0;
|
||||
|
@ -954,7 +954,7 @@ static int ffloor_get(lua_State *L)
|
|||
lua_pushboolean(L, 1);
|
||||
return 1;
|
||||
case ffloor_topheight:
|
||||
lua_pushinteger(L, *ffloor->topheight);
|
||||
lua_pushfixed(L, *ffloor->topheight);
|
||||
return 1;
|
||||
case ffloor_toppic: { // toppic
|
||||
levelflat_t *levelflat;
|
||||
|
@ -968,7 +968,7 @@ static int ffloor_get(lua_State *L)
|
|||
lua_pushinteger(L, *ffloor->toplightlevel);
|
||||
return 1;
|
||||
case ffloor_bottomheight:
|
||||
lua_pushinteger(L, *ffloor->bottomheight);
|
||||
lua_pushfixed(L, *ffloor->bottomheight);
|
||||
return 1;
|
||||
case ffloor_bottompic: { // bottompic
|
||||
levelflat_t *levelflat;
|
||||
|
@ -1028,7 +1028,7 @@ static int ffloor_set(lua_State *L)
|
|||
boolean flag;
|
||||
fixed_t lastpos = *ffloor->topheight;
|
||||
sector_t *sector = §ors[ffloor->secnum];
|
||||
sector->ceilingheight = (fixed_t)luaL_checkinteger(L, 3);
|
||||
sector->ceilingheight = luaL_checkfixed(L, 3);
|
||||
flag = P_CheckSector(sector, true);
|
||||
if (flag && sector->numattached)
|
||||
{
|
||||
|
@ -1047,7 +1047,7 @@ static int ffloor_set(lua_State *L)
|
|||
boolean flag;
|
||||
fixed_t lastpos = *ffloor->bottomheight;
|
||||
sector_t *sector = §ors[ffloor->secnum];
|
||||
sector->floorheight = (fixed_t)luaL_checkinteger(L, 3);
|
||||
sector->floorheight = luaL_checkfixed(L, 3);
|
||||
flag = P_CheckSector(sector, true);
|
||||
if (flag && sector->numattached)
|
||||
{
|
||||
|
|
|
@ -47,37 +47,37 @@ static int lib_max(lua_State *L)
|
|||
|
||||
static int lib_fixedangle(lua_State *L)
|
||||
{
|
||||
lua_pushinteger(L, FixedAngle((fixed_t)luaL_checkinteger(L, 1)));
|
||||
lua_pushangle(L, FixedAngle(luaL_checkfixed(L, 1)));
|
||||
return 1;
|
||||
}
|
||||
|
||||
static int lib_anglefixed(lua_State *L)
|
||||
{
|
||||
lua_pushinteger(L, AngleFixed((angle_t)luaL_checkinteger(L, 1)));
|
||||
lua_pushfixed(L, AngleFixed(luaL_checkangle(L, 1)));
|
||||
return 1;
|
||||
}
|
||||
|
||||
static int lib_invangle(lua_State *L)
|
||||
{
|
||||
lua_pushinteger(L, InvAngle((angle_t)luaL_checkinteger(L, 1)));
|
||||
lua_pushangle(L, InvAngle(luaL_checkangle(L, 1)));
|
||||
return 1;
|
||||
}
|
||||
|
||||
static int lib_finesine(lua_State *L)
|
||||
{
|
||||
lua_pushinteger(L, FINESINE((luaL_checkinteger(L, 1)>>ANGLETOFINESHIFT) & FINEMASK));
|
||||
lua_pushfixed(L, FINESINE((luaL_checkangle(L, 1)>>ANGLETOFINESHIFT) & FINEMASK));
|
||||
return 1;
|
||||
}
|
||||
|
||||
static int lib_finecosine(lua_State *L)
|
||||
{
|
||||
lua_pushinteger(L, FINECOSINE((luaL_checkinteger(L, 1)>>ANGLETOFINESHIFT) & FINEMASK));
|
||||
lua_pushfixed(L, FINECOSINE((luaL_checkangle(L, 1)>>ANGLETOFINESHIFT) & FINEMASK));
|
||||
return 1;
|
||||
}
|
||||
|
||||
static int lib_finetangent(lua_State *L)
|
||||
{
|
||||
lua_pushinteger(L, FINETANGENT((luaL_checkinteger(L, 1)>>ANGLETOFINESHIFT) & FINEMASK));
|
||||
lua_pushfixed(L, FINETANGENT((luaL_checkangle(L, 1)>>ANGLETOFINESHIFT) & FINEMASK));
|
||||
return 1;
|
||||
}
|
||||
|
||||
|
@ -86,61 +86,61 @@ static int lib_finetangent(lua_State *L)
|
|||
|
||||
static int lib_fixedmul(lua_State *L)
|
||||
{
|
||||
lua_pushinteger(L, FixedMul((fixed_t)luaL_checkinteger(L, 1), (fixed_t)luaL_checkinteger(L, 2)));
|
||||
lua_pushfixed(L, FixedMul(luaL_checkfixed(L, 1), luaL_checkfixed(L, 2)));
|
||||
return 1;
|
||||
}
|
||||
|
||||
static int lib_fixedint(lua_State *L)
|
||||
{
|
||||
lua_pushinteger(L, FixedInt((fixed_t)luaL_checkinteger(L, 1)));
|
||||
lua_pushinteger(L, FixedInt(luaL_checkfixed(L, 1)));
|
||||
return 1;
|
||||
}
|
||||
|
||||
static int lib_fixeddiv(lua_State *L)
|
||||
{
|
||||
lua_pushinteger(L, FixedDiv((fixed_t)luaL_checkinteger(L, 1), (fixed_t)luaL_checkinteger(L, 2)));
|
||||
lua_pushfixed(L, FixedDiv(luaL_checkfixed(L, 1), luaL_checkfixed(L, 2)));
|
||||
return 1;
|
||||
}
|
||||
|
||||
static int lib_fixedrem(lua_State *L)
|
||||
{
|
||||
lua_pushinteger(L, FixedRem((fixed_t)luaL_checkinteger(L, 1), (fixed_t)luaL_checkinteger(L, 2)));
|
||||
lua_pushfixed(L, FixedRem(luaL_checkfixed(L, 1), luaL_checkfixed(L, 2)));
|
||||
return 1;
|
||||
}
|
||||
|
||||
static int lib_fixedsqrt(lua_State *L)
|
||||
{
|
||||
lua_pushinteger(L, FixedSqrt((fixed_t)luaL_checkinteger(L, 1)));
|
||||
lua_pushfixed(L, FixedSqrt(luaL_checkfixed(L, 1)));
|
||||
return 1;
|
||||
}
|
||||
|
||||
static int lib_fixedhypot(lua_State *L)
|
||||
{
|
||||
lua_pushinteger(L, FixedHypot((fixed_t)luaL_checkinteger(L, 1), (fixed_t)luaL_checkinteger(L, 2)));
|
||||
lua_pushfixed(L, FixedHypot(luaL_checkfixed(L, 1), luaL_checkfixed(L, 2)));
|
||||
return 1;
|
||||
}
|
||||
|
||||
static int lib_fixedfloor(lua_State *L)
|
||||
{
|
||||
lua_pushinteger(L, FixedFloor((fixed_t)luaL_checkinteger(L, 1)));
|
||||
lua_pushfixed(L, FixedFloor(luaL_checkfixed(L, 1)));
|
||||
return 1;
|
||||
}
|
||||
|
||||
static int lib_fixedtrunc(lua_State *L)
|
||||
{
|
||||
lua_pushinteger(L, FixedTrunc((fixed_t)luaL_checkinteger(L, 1)));
|
||||
lua_pushfixed(L, FixedTrunc(luaL_checkfixed(L, 1)));
|
||||
return 1;
|
||||
}
|
||||
|
||||
static int lib_fixedceil(lua_State *L)
|
||||
{
|
||||
lua_pushinteger(L, FixedCeil((fixed_t)luaL_checkinteger(L, 1)));
|
||||
lua_pushfixed(L, FixedCeil(luaL_checkfixed(L, 1)));
|
||||
return 1;
|
||||
}
|
||||
|
||||
static int lib_fixedround(lua_State *L)
|
||||
{
|
||||
lua_pushinteger(L, FixedRound((fixed_t)luaL_checkinteger(L, 1)));
|
||||
lua_pushfixed(L, FixedRound(luaL_checkfixed(L, 1)));
|
||||
return 1;
|
||||
}
|
||||
|
||||
|
|
|
@ -162,13 +162,13 @@ static int mobj_get(lua_State *L)
|
|||
lua_pushboolean(L, 1);
|
||||
break;
|
||||
case mobj_x:
|
||||
lua_pushinteger(L, mo->x);
|
||||
lua_pushfixed(L, mo->x);
|
||||
break;
|
||||
case mobj_y:
|
||||
lua_pushinteger(L, mo->y);
|
||||
lua_pushfixed(L, mo->y);
|
||||
break;
|
||||
case mobj_z:
|
||||
lua_pushinteger(L, mo->z);
|
||||
lua_pushfixed(L, mo->z);
|
||||
break;
|
||||
case mobj_snext:
|
||||
LUA_PushUserdata(L, mo->snext, META_MOBJ);
|
||||
|
@ -179,7 +179,7 @@ static int mobj_get(lua_State *L)
|
|||
// i.e. it will always ultimately point to THIS mobj -- so that's actually not useful to Lua and won't be included.
|
||||
return UNIMPLEMENTED;
|
||||
case mobj_angle:
|
||||
lua_pushinteger(L, mo->angle);
|
||||
lua_pushangle(L, mo->angle);
|
||||
break;
|
||||
case mobj_sprite:
|
||||
lua_pushinteger(L, mo->sprite);
|
||||
|
@ -193,28 +193,28 @@ static int mobj_get(lua_State *L)
|
|||
LUA_PushUserdata(L, mo->subsector, META_SUBSECTOR);
|
||||
break;
|
||||
case mobj_floorz:
|
||||
lua_pushinteger(L, mo->floorz);
|
||||
lua_pushfixed(L, mo->floorz);
|
||||
break;
|
||||
case mobj_ceilingz:
|
||||
lua_pushinteger(L, mo->ceilingz);
|
||||
lua_pushfixed(L, mo->ceilingz);
|
||||
break;
|
||||
case mobj_radius:
|
||||
lua_pushinteger(L, mo->radius);
|
||||
lua_pushfixed(L, mo->radius);
|
||||
break;
|
||||
case mobj_height:
|
||||
lua_pushinteger(L, mo->height);
|
||||
lua_pushfixed(L, mo->height);
|
||||
break;
|
||||
case mobj_momx:
|
||||
lua_pushinteger(L, mo->momx);
|
||||
lua_pushfixed(L, mo->momx);
|
||||
break;
|
||||
case mobj_momy:
|
||||
lua_pushinteger(L, mo->momy);
|
||||
lua_pushfixed(L, mo->momy);
|
||||
break;
|
||||
case mobj_momz:
|
||||
lua_pushinteger(L, mo->momz);
|
||||
lua_pushfixed(L, mo->momz);
|
||||
break;
|
||||
case mobj_pmomz:
|
||||
lua_pushinteger(L, mo->pmomz);
|
||||
lua_pushfixed(L, mo->pmomz);
|
||||
break;
|
||||
case mobj_tics:
|
||||
lua_pushinteger(L, mo->tics);
|
||||
|
@ -299,32 +299,32 @@ static int mobj_get(lua_State *L)
|
|||
LUA_PushUserdata(L, mo->tracer, META_MOBJ);
|
||||
break;
|
||||
case mobj_friction:
|
||||
lua_pushinteger(L, mo->friction);
|
||||
lua_pushfixed(L, mo->friction);
|
||||
break;
|
||||
case mobj_movefactor:
|
||||
lua_pushinteger(L, mo->movefactor);
|
||||
lua_pushfixed(L, mo->movefactor);
|
||||
break;
|
||||
case mobj_fuse:
|
||||
lua_pushinteger(L, mo->fuse);
|
||||
break;
|
||||
case mobj_watertop:
|
||||
lua_pushinteger(L, mo->watertop);
|
||||
lua_pushfixed(L, mo->watertop);
|
||||
break;
|
||||
case mobj_waterbottom:
|
||||
lua_pushinteger(L, mo->waterbottom);
|
||||
lua_pushfixed(L, mo->waterbottom);
|
||||
break;
|
||||
case mobj_mobjnum:
|
||||
// mobjnum is a networking thing generated for $$$.sav
|
||||
// and therefore shouldn't be used by Lua.
|
||||
return UNIMPLEMENTED;
|
||||
case mobj_scale:
|
||||
lua_pushinteger(L, mo->scale);
|
||||
lua_pushfixed(L, mo->scale);
|
||||
break;
|
||||
case mobj_destscale:
|
||||
lua_pushinteger(L, mo->destscale);
|
||||
lua_pushfixed(L, mo->destscale);
|
||||
break;
|
||||
case mobj_scalespeed:
|
||||
lua_pushinteger(L, mo->scalespeed);
|
||||
lua_pushfixed(L, mo->scalespeed);
|
||||
break;
|
||||
case mobj_extravalue1:
|
||||
lua_pushinteger(L, mo->extravalue1);
|
||||
|
@ -382,7 +382,7 @@ static int mobj_set(lua_State *L)
|
|||
{
|
||||
// z doesn't cross sector bounds so it's okay.
|
||||
mobj_t *ptmthing = tmthing;
|
||||
mo->z = (fixed_t)luaL_checkinteger(L, 3);
|
||||
mo->z = luaL_checkfixed(L, 3);
|
||||
P_CheckPosition(mo, mo->x, mo->y);
|
||||
mo->floorz = tmfloorz;
|
||||
mo->ceilingz = tmceilingz;
|
||||
|
@ -394,7 +394,7 @@ static int mobj_set(lua_State *L)
|
|||
case mobj_sprev:
|
||||
return UNIMPLEMENTED;
|
||||
case mobj_angle:
|
||||
mo->angle = (angle_t)luaL_checkinteger(L, 3);
|
||||
mo->angle = luaL_checkangle(L, 3);
|
||||
if (mo->player == &players[consoleplayer])
|
||||
localangle = mo->angle;
|
||||
else if (mo->player == &players[secondarydisplayplayer])
|
||||
|
@ -417,7 +417,7 @@ static int mobj_set(lua_State *L)
|
|||
case mobj_radius:
|
||||
{
|
||||
mobj_t *ptmthing = tmthing;
|
||||
mo->radius = (fixed_t)luaL_checkinteger(L, 3);
|
||||
mo->radius = luaL_checkfixed(L, 3);
|
||||
if (mo->radius < 0)
|
||||
mo->radius = 0;
|
||||
P_CheckPosition(mo, mo->x, mo->y);
|
||||
|
@ -429,7 +429,7 @@ static int mobj_set(lua_State *L)
|
|||
case mobj_height:
|
||||
{
|
||||
mobj_t *ptmthing = tmthing;
|
||||
mo->height = (fixed_t)luaL_checkinteger(L, 3);
|
||||
mo->height = luaL_checkfixed(L, 3);
|
||||
if (mo->height < 0)
|
||||
mo->height = 0;
|
||||
P_CheckPosition(mo, mo->x, mo->y);
|
||||
|
@ -439,16 +439,16 @@ static int mobj_set(lua_State *L)
|
|||
break;
|
||||
}
|
||||
case mobj_momx:
|
||||
mo->momx = (fixed_t)luaL_checkinteger(L, 3);
|
||||
mo->momx = luaL_checkfixed(L, 3);
|
||||
break;
|
||||
case mobj_momy:
|
||||
mo->momy = (fixed_t)luaL_checkinteger(L, 3);
|
||||
mo->momy = luaL_checkfixed(L, 3);
|
||||
break;
|
||||
case mobj_momz:
|
||||
mo->momz = (fixed_t)luaL_checkinteger(L, 3);
|
||||
mo->momz = luaL_checkfixed(L, 3);
|
||||
break;
|
||||
case mobj_pmomz:
|
||||
mo->pmomz = (fixed_t)luaL_checkinteger(L, 3);
|
||||
mo->pmomz = luaL_checkfixed(L, 3);
|
||||
break;
|
||||
case mobj_tics:
|
||||
mo->tics = luaL_checkinteger(L, 3);
|
||||
|
@ -572,25 +572,25 @@ static int mobj_set(lua_State *L)
|
|||
}
|
||||
break;
|
||||
case mobj_friction:
|
||||
mo->friction = (fixed_t)luaL_checkinteger(L, 3);
|
||||
mo->friction = luaL_checkfixed(L, 3);
|
||||
break;
|
||||
case mobj_movefactor:
|
||||
mo->movefactor = (fixed_t)luaL_checkinteger(L, 3);
|
||||
mo->movefactor = luaL_checkfixed(L, 3);
|
||||
break;
|
||||
case mobj_fuse:
|
||||
mo->fuse = luaL_checkinteger(L, 3);
|
||||
break;
|
||||
case mobj_watertop:
|
||||
mo->watertop = (fixed_t)luaL_checkinteger(L, 3);
|
||||
mo->watertop = luaL_checkfixed(L, 3);
|
||||
break;
|
||||
case mobj_waterbottom:
|
||||
mo->waterbottom = (fixed_t)luaL_checkinteger(L, 3);
|
||||
mo->waterbottom = luaL_checkfixed(L, 3);
|
||||
break;
|
||||
case mobj_mobjnum:
|
||||
return UNIMPLEMENTED;
|
||||
case mobj_scale:
|
||||
{
|
||||
fixed_t scale = (fixed_t)luaL_checkinteger(L, 3);
|
||||
fixed_t scale = luaL_checkfixed(L, 3);
|
||||
if (scale < FRACUNIT/100)
|
||||
scale = FRACUNIT/100;
|
||||
mo->destscale = scale;
|
||||
|
@ -599,14 +599,14 @@ static int mobj_set(lua_State *L)
|
|||
}
|
||||
case mobj_destscale:
|
||||
{
|
||||
fixed_t scale = (fixed_t)luaL_checkinteger(L, 3);
|
||||
fixed_t scale = luaL_checkfixed(L, 3);
|
||||
if (scale < FRACUNIT/100)
|
||||
scale = FRACUNIT/100;
|
||||
mo->destscale = scale;
|
||||
break;
|
||||
}
|
||||
case mobj_scalespeed:
|
||||
mo->scalespeed = (fixed_t)luaL_checkinteger(L, 3);
|
||||
mo->scalespeed = luaL_checkfixed(L, 3);
|
||||
break;
|
||||
case mobj_extravalue1:
|
||||
mo->extravalue1 = luaL_checkinteger(L, 3);
|
||||
|
|
|
@ -109,15 +109,15 @@ static int player_get(lua_State *L)
|
|||
else if (fastcmp(field,"playerstate"))
|
||||
lua_pushinteger(L, plr->playerstate);
|
||||
else if (fastcmp(field,"viewz"))
|
||||
lua_pushinteger(L, plr->viewz);
|
||||
lua_pushfixed(L, plr->viewz);
|
||||
else if (fastcmp(field,"viewheight"))
|
||||
lua_pushinteger(L, plr->viewheight);
|
||||
lua_pushfixed(L, plr->viewheight);
|
||||
else if (fastcmp(field,"deltaviewheight"))
|
||||
lua_pushinteger(L, plr->deltaviewheight);
|
||||
lua_pushfixed(L, plr->deltaviewheight);
|
||||
else if (fastcmp(field,"bob"))
|
||||
lua_pushinteger(L, plr->bob);
|
||||
lua_pushfixed(L, plr->bob);
|
||||
else if (fastcmp(field,"aiming"))
|
||||
lua_pushinteger(L, plr->aiming);
|
||||
lua_pushangle(L, plr->aiming);
|
||||
else if (fastcmp(field,"health"))
|
||||
lua_pushinteger(L, plr->health);
|
||||
else if (fastcmp(field,"pity"))
|
||||
|
@ -141,13 +141,13 @@ static int player_get(lua_State *L)
|
|||
else if (fastcmp(field,"score"))
|
||||
lua_pushinteger(L, plr->score);
|
||||
else if (fastcmp(field,"dashspeed"))
|
||||
lua_pushinteger(L, plr->dashspeed);
|
||||
lua_pushfixed(L, plr->dashspeed);
|
||||
else if (fastcmp(field,"dashtime"))
|
||||
lua_pushinteger(L, plr->dashtime);
|
||||
else if (fastcmp(field,"normalspeed"))
|
||||
lua_pushinteger(L, plr->normalspeed);
|
||||
lua_pushfixed(L, plr->normalspeed);
|
||||
else if (fastcmp(field,"runspeed"))
|
||||
lua_pushinteger(L, plr->runspeed);
|
||||
lua_pushfixed(L, plr->runspeed);
|
||||
else if (fastcmp(field,"thrustfactor"))
|
||||
lua_pushinteger(L, plr->thrustfactor);
|
||||
else if (fastcmp(field,"accelstart"))
|
||||
|
@ -167,13 +167,13 @@ static int player_get(lua_State *L)
|
|||
else if (fastcmp(field,"revitem"))
|
||||
lua_pushinteger(L, plr->revitem);
|
||||
else if (fastcmp(field,"actionspd"))
|
||||
lua_pushinteger(L, plr->actionspd);
|
||||
lua_pushfixed(L, plr->actionspd);
|
||||
else if (fastcmp(field,"mindash"))
|
||||
lua_pushinteger(L, plr->mindash);
|
||||
lua_pushfixed(L, plr->mindash);
|
||||
else if (fastcmp(field,"maxdash"))
|
||||
lua_pushinteger(L, plr->maxdash);
|
||||
lua_pushfixed(L, plr->maxdash);
|
||||
else if (fastcmp(field,"jumpfactor"))
|
||||
lua_pushinteger(L, plr->jumpfactor);
|
||||
lua_pushfixed(L, plr->jumpfactor);
|
||||
else if (fastcmp(field,"lives"))
|
||||
lua_pushinteger(L, plr->lives);
|
||||
else if (fastcmp(field,"continues"))
|
||||
|
@ -183,7 +183,7 @@ static int player_get(lua_State *L)
|
|||
else if (fastcmp(field,"gotcontinue"))
|
||||
lua_pushinteger(L, plr->gotcontinue);
|
||||
else if (fastcmp(field,"speed"))
|
||||
lua_pushinteger(L, plr->speed);
|
||||
lua_pushfixed(L, plr->speed);
|
||||
else if (fastcmp(field,"jumping"))
|
||||
lua_pushboolean(L, plr->jumping);
|
||||
else if (fastcmp(field,"secondjump"))
|
||||
|
@ -205,13 +205,13 @@ static int player_get(lua_State *L)
|
|||
else if (fastcmp(field,"skidtime"))
|
||||
lua_pushinteger(L, plr->skidtime);
|
||||
else if (fastcmp(field,"cmomx"))
|
||||
lua_pushinteger(L, plr->cmomx);
|
||||
lua_pushfixed(L, plr->cmomx);
|
||||
else if (fastcmp(field,"cmomy"))
|
||||
lua_pushinteger(L, plr->cmomy);
|
||||
lua_pushfixed(L, plr->cmomy);
|
||||
else if (fastcmp(field,"rmomx"))
|
||||
lua_pushinteger(L, plr->rmomx);
|
||||
lua_pushfixed(L, plr->rmomx);
|
||||
else if (fastcmp(field,"rmomy"))
|
||||
lua_pushinteger(L, plr->rmomy);
|
||||
lua_pushfixed(L, plr->rmomy);
|
||||
else if (fastcmp(field,"numboxes"))
|
||||
lua_pushinteger(L, plr->numboxes);
|
||||
else if (fastcmp(field,"totalring"))
|
||||
|
@ -239,11 +239,11 @@ static int player_get(lua_State *L)
|
|||
else if (fastcmp(field,"starposttime"))
|
||||
lua_pushinteger(L, plr->starposttime);
|
||||
else if (fastcmp(field,"starpostangle"))
|
||||
lua_pushinteger(L, plr->starpostangle);
|
||||
lua_pushangle(L, plr->starpostangle);
|
||||
else if (fastcmp(field,"angle_pos"))
|
||||
lua_pushinteger(L, plr->angle_pos);
|
||||
lua_pushangle(L, plr->angle_pos);
|
||||
else if (fastcmp(field,"old_angle_pos"))
|
||||
lua_pushinteger(L, plr->old_angle_pos);
|
||||
lua_pushangle(L, plr->old_angle_pos);
|
||||
else if (fastcmp(field,"axis1"))
|
||||
LUA_PushUserdata(L, plr->axis1, META_MOBJ);
|
||||
else if (fastcmp(field,"axis2"))
|
||||
|
@ -305,16 +305,16 @@ static int player_get(lua_State *L)
|
|||
else if (fastcmp(field,"awayviewtics"))
|
||||
lua_pushinteger(L, plr->awayviewtics);
|
||||
else if (fastcmp(field,"awayviewaiming"))
|
||||
lua_pushinteger(L, plr->awayviewaiming);
|
||||
lua_pushangle(L, plr->awayviewaiming);
|
||||
else if (fastcmp(field,"spectator"))
|
||||
lua_pushinteger(L, plr->spectator);
|
||||
lua_pushboolean(L, plr->spectator);
|
||||
else if (fastcmp(field,"bot"))
|
||||
lua_pushinteger(L, plr->bot);
|
||||
else if (fastcmp(field,"jointime"))
|
||||
lua_pushinteger(L, plr->jointime);
|
||||
#ifdef HWRENDER
|
||||
else if (fastcmp(field,"fovadd"))
|
||||
lua_pushinteger(L, plr->fovadd);
|
||||
lua_pushfixed(L, plr->fovadd);
|
||||
#endif
|
||||
else {
|
||||
lua_getfield(L, LUA_REGISTRYINDEX, LREG_EXTVARS);
|
||||
|
@ -354,15 +354,15 @@ static int player_set(lua_State *L)
|
|||
else if (fastcmp(field,"playerstate"))
|
||||
plr->playerstate = luaL_checkinteger(L, 3);
|
||||
else if (fastcmp(field,"viewz"))
|
||||
plr->viewz = (fixed_t)luaL_checkinteger(L, 3);
|
||||
plr->viewz = luaL_checkfixed(L, 3);
|
||||
else if (fastcmp(field,"viewheight"))
|
||||
plr->viewheight = (fixed_t)luaL_checkinteger(L, 3);
|
||||
plr->viewheight = luaL_checkfixed(L, 3);
|
||||
else if (fastcmp(field,"deltaviewheight"))
|
||||
plr->deltaviewheight = (fixed_t)luaL_checkinteger(L, 3);
|
||||
plr->deltaviewheight = luaL_checkfixed(L, 3);
|
||||
else if (fastcmp(field,"bob"))
|
||||
plr->bob = (fixed_t)luaL_checkinteger(L, 3);
|
||||
plr->bob = luaL_checkfixed(L, 3);
|
||||
else if (fastcmp(field,"aiming")) {
|
||||
plr->aiming = (angle_t)luaL_checkinteger(L, 3);
|
||||
plr->aiming = luaL_checkangle(L, 3);
|
||||
if (plr == &players[consoleplayer])
|
||||
localaiming = plr->aiming;
|
||||
else if (plr == &players[secondarydisplayplayer])
|
||||
|
@ -391,13 +391,13 @@ static int player_set(lua_State *L)
|
|||
else if (fastcmp(field,"score"))
|
||||
plr->score = (UINT32)luaL_checkinteger(L, 3);
|
||||
else if (fastcmp(field,"dashspeed"))
|
||||
plr->dashspeed = (fixed_t)luaL_checkinteger(L, 3);
|
||||
plr->dashspeed = luaL_checkfixed(L, 3);
|
||||
else if (fastcmp(field,"dashtime"))
|
||||
plr->dashtime = (INT32)luaL_checkinteger(L, 3);
|
||||
else if (fastcmp(field,"normalspeed"))
|
||||
plr->normalspeed = (fixed_t)luaL_checkinteger(L, 3);
|
||||
plr->normalspeed = luaL_checkfixed(L, 3);
|
||||
else if (fastcmp(field,"runspeed"))
|
||||
plr->runspeed = (fixed_t)luaL_checkinteger(L, 3);
|
||||
plr->runspeed = luaL_checkfixed(L, 3);
|
||||
else if (fastcmp(field,"thrustfactor"))
|
||||
plr->thrustfactor = (UINT8)luaL_checkinteger(L, 3);
|
||||
else if (fastcmp(field,"accelstart"))
|
||||
|
@ -433,7 +433,7 @@ static int player_set(lua_State *L)
|
|||
else if (fastcmp(field,"gotcontinue"))
|
||||
plr->gotcontinue = (UINT8)luaL_checkinteger(L, 3);
|
||||
else if (fastcmp(field,"speed"))
|
||||
plr->speed = (fixed_t)luaL_checkinteger(L, 3);
|
||||
plr->speed = luaL_checkfixed(L, 3);
|
||||
else if (fastcmp(field,"jumping"))
|
||||
plr->jumping = luaL_checkboolean(L, 3);
|
||||
else if (fastcmp(field,"secondjump"))
|
||||
|
@ -455,13 +455,13 @@ static int player_set(lua_State *L)
|
|||
else if (fastcmp(field,"skidtime"))
|
||||
plr->skidtime = (tic_t)luaL_checkinteger(L, 3);
|
||||
else if (fastcmp(field,"cmomx"))
|
||||
plr->cmomx = (fixed_t)luaL_checkinteger(L, 3);
|
||||
plr->cmomx = luaL_checkfixed(L, 3);
|
||||
else if (fastcmp(field,"cmomy"))
|
||||
plr->cmomy = (fixed_t)luaL_checkinteger(L, 3);
|
||||
plr->cmomy = luaL_checkfixed(L, 3);
|
||||
else if (fastcmp(field,"rmomx"))
|
||||
plr->rmomx = (fixed_t)luaL_checkinteger(L, 3);
|
||||
plr->rmomx = luaL_checkfixed(L, 3);
|
||||
else if (fastcmp(field,"rmomy"))
|
||||
plr->rmomy = (fixed_t)luaL_checkinteger(L, 3);
|
||||
plr->rmomy = luaL_checkfixed(L, 3);
|
||||
else if (fastcmp(field,"numboxes"))
|
||||
plr->numboxes = (INT16)luaL_checkinteger(L, 3);
|
||||
else if (fastcmp(field,"totalring"))
|
||||
|
@ -489,11 +489,11 @@ static int player_set(lua_State *L)
|
|||
else if (fastcmp(field,"starposttime"))
|
||||
plr->starposttime = (tic_t)luaL_checkinteger(L, 3);
|
||||
else if (fastcmp(field,"starpostangle"))
|
||||
plr->starpostangle = (angle_t)luaL_checkinteger(L, 3);
|
||||
plr->starpostangle = luaL_checkangle(L, 3);
|
||||
else if (fastcmp(field,"angle_pos"))
|
||||
plr->angle_pos = (angle_t)luaL_checkinteger(L, 3);
|
||||
plr->angle_pos = luaL_checkangle(L, 3);
|
||||
else if (fastcmp(field,"old_angle_pos"))
|
||||
plr->old_angle_pos = (angle_t)luaL_checkinteger(L, 3);
|
||||
plr->old_angle_pos = luaL_checkangle(L, 3);
|
||||
else if (fastcmp(field,"axis1"))
|
||||
P_SetTarget(&plr->axis1, *((mobj_t **)luaL_checkudata(L, 3, META_MOBJ)));
|
||||
else if (fastcmp(field,"axis2"))
|
||||
|
@ -569,7 +569,7 @@ static int player_set(lua_State *L)
|
|||
P_SetTarget(&plr->awayviewmobj, plr->mo); // but since the script might set awayviewmobj immediately AFTER setting awayviewtics, use player mobj as filler for now.
|
||||
}
|
||||
else if (fastcmp(field,"awayviewaiming"))
|
||||
plr->awayviewaiming = (angle_t)luaL_checkinteger(L, 3);
|
||||
plr->awayviewaiming = luaL_checkangle(L, 3);
|
||||
else if (fastcmp(field,"spectator"))
|
||||
plr->spectator = lua_toboolean(L, 3);
|
||||
else if (fastcmp(field,"bot"))
|
||||
|
@ -578,7 +578,7 @@ static int player_set(lua_State *L)
|
|||
plr->jointime = (tic_t)luaL_checkinteger(L, 3);
|
||||
#ifdef HWRENDER
|
||||
else if (fastcmp(field,"fovadd"))
|
||||
plr->fovadd = (fixed_t)luaL_checkinteger(L, 3);
|
||||
plr->fovadd = luaL_checkfixed(L, 3);
|
||||
#endif
|
||||
else {
|
||||
lua_getfield(L, LUA_REGISTRYINDEX, LREG_EXTVARS);
|
||||
|
|
|
@ -442,7 +442,6 @@ enum
|
|||
ARCH_NULL=0,
|
||||
ARCH_BOOLEAN,
|
||||
ARCH_SIGNED,
|
||||
ARCH_UNSIGNED,
|
||||
ARCH_STRING,
|
||||
ARCH_TABLE,
|
||||
|
||||
|
@ -522,13 +521,8 @@ static UINT8 ArchiveValue(int TABLESINDEX, int myindex)
|
|||
case LUA_TNUMBER:
|
||||
{
|
||||
lua_Integer number = lua_tointeger(gL, myindex);
|
||||
if (number < 0) {
|
||||
WRITEUINT8(save_p, ARCH_SIGNED);
|
||||
WRITEFIXED(save_p, number);
|
||||
} else {
|
||||
WRITEUINT8(save_p, ARCH_UNSIGNED);
|
||||
WRITEANGLE(save_p, number);
|
||||
}
|
||||
WRITEUINT8(save_p, ARCH_SIGNED);
|
||||
WRITEFIXED(save_p, number);
|
||||
break;
|
||||
}
|
||||
case LUA_TSTRING:
|
||||
|
@ -797,9 +791,6 @@ static UINT8 UnArchiveValue(int TABLESINDEX)
|
|||
case ARCH_SIGNED:
|
||||
lua_pushinteger(gL, READFIXED(save_p));
|
||||
break;
|
||||
case ARCH_UNSIGNED:
|
||||
lua_pushinteger(gL, READANGLE(save_p));
|
||||
break;
|
||||
case ARCH_STRING:
|
||||
{
|
||||
char value[1024];
|
||||
|
|
|
@ -19,9 +19,21 @@
|
|||
#include "blua/lua.h"
|
||||
#include "blua/lualib.h"
|
||||
#include "blua/lauxlib.h"
|
||||
|
||||
#define lua_optboolean(L, i) (!lua_isnoneornil(L, i) && lua_toboolean(L, i))
|
||||
#define lua_opttrueboolean(L, i) (lua_isnoneornil(L, i) || lua_toboolean(L, i))
|
||||
|
||||
// fixed_t casting
|
||||
// TODO add some distinction between fixed numbers and integer numbers
|
||||
// for at least the purpose of printing and maybe math.
|
||||
#define luaL_checkfixed(L, i) luaL_checkinteger(L, i)
|
||||
#define lua_pushfixed(L, f) lua_pushinteger(L, f)
|
||||
|
||||
// angle_t casting
|
||||
// we reduce the angle to a fixed point between 0.0 and 1.0
|
||||
#define luaL_checkangle(L, i) (((angle_t)(luaL_checkfixed(L, i)&0xFFFF))<<16)
|
||||
#define lua_pushangle(L, a) lua_pushfixed(L, a>>16)
|
||||
|
||||
#ifdef _DEBUG
|
||||
void LUA_ClearExtVars(void);
|
||||
#endif
|
||||
|
|
|
@ -147,19 +147,19 @@ static int skin_get(lua_State *L)
|
|||
lua_pushinteger(L, skin->revitem);
|
||||
break;
|
||||
case skin_actionspd:
|
||||
lua_pushinteger(L, skin->actionspd);
|
||||
lua_pushfixed(L, skin->actionspd);
|
||||
break;
|
||||
case skin_mindash:
|
||||
lua_pushinteger(L, skin->mindash);
|
||||
lua_pushfixed(L, skin->mindash);
|
||||
break;
|
||||
case skin_maxdash:
|
||||
lua_pushinteger(L, skin->maxdash);
|
||||
lua_pushfixed(L, skin->maxdash);
|
||||
break;
|
||||
case skin_normalspeed:
|
||||
lua_pushinteger(L, skin->normalspeed);
|
||||
lua_pushfixed(L, skin->normalspeed);
|
||||
break;
|
||||
case skin_runspeed:
|
||||
lua_pushinteger(L, skin->runspeed);
|
||||
lua_pushfixed(L, skin->runspeed);
|
||||
break;
|
||||
case skin_thrustfactor:
|
||||
lua_pushinteger(L, skin->thrustfactor);
|
||||
|
@ -171,7 +171,7 @@ static int skin_get(lua_State *L)
|
|||
lua_pushinteger(L, skin->acceleration);
|
||||
break;
|
||||
case skin_jumpfactor:
|
||||
lua_pushinteger(L, skin->jumpfactor);
|
||||
lua_pushfixed(L, skin->jumpfactor);
|
||||
break;
|
||||
case skin_starttranscolor:
|
||||
lua_pushinteger(L, skin->starttranscolor);
|
||||
|
|
Loading…
Reference in a new issue