mirror of
https://git.do.srb2.org/STJr/SRB2.git
synced 2024-11-22 04:21:23 +00:00
Merge branch 'mi-lua-fixes' into 'next'
Lua fixes See merge request STJr/SRB2!2085
This commit is contained in:
commit
cdf5890c5d
2 changed files with 25 additions and 1 deletions
|
@ -2456,7 +2456,7 @@ static int lib_pFadeLight(lua_State *L)
|
||||||
static int lib_pIsFlagAtBase(lua_State *L)
|
static int lib_pIsFlagAtBase(lua_State *L)
|
||||||
{
|
{
|
||||||
mobjtype_t flag = luaL_checkinteger(L, 1);
|
mobjtype_t flag = luaL_checkinteger(L, 1);
|
||||||
NOHUD
|
//HUDSAFE
|
||||||
INLEVEL
|
INLEVEL
|
||||||
if (flag >= NUMMOBJTYPES)
|
if (flag >= NUMMOBJTYPES)
|
||||||
return luaL_error(L, "mobj type %d out of range (0 - %d)", flag, NUMMOBJTYPES-1);
|
return luaL_error(L, "mobj type %d out of range (0 - %d)", flag, NUMMOBJTYPES-1);
|
||||||
|
|
|
@ -225,6 +225,18 @@ int LUA_PushGlobals(lua_State *L, const char *word)
|
||||||
} else if (fastcmp(word,"pointlimit")) {
|
} else if (fastcmp(word,"pointlimit")) {
|
||||||
lua_pushinteger(L, cv_pointlimit.value);
|
lua_pushinteger(L, cv_pointlimit.value);
|
||||||
return 1;
|
return 1;
|
||||||
|
} else if (fastcmp(word, "redflag")) {
|
||||||
|
LUA_PushUserdata(L, redflag, META_MOBJ);
|
||||||
|
return 1;
|
||||||
|
} else if (fastcmp(word, "blueflag")) {
|
||||||
|
LUA_PushUserdata(L, blueflag, META_MOBJ);
|
||||||
|
return 1;
|
||||||
|
} else if (fastcmp(word, "rflagpoint")) {
|
||||||
|
LUA_PushUserdata(L, rflagpoint, META_MAPTHING);
|
||||||
|
return 1;
|
||||||
|
} else if (fastcmp(word, "bflagpoint")) {
|
||||||
|
LUA_PushUserdata(L, bflagpoint, META_MAPTHING);
|
||||||
|
return 1;
|
||||||
// begin map vars
|
// begin map vars
|
||||||
} else if (fastcmp(word,"spstage_start")) {
|
} else if (fastcmp(word,"spstage_start")) {
|
||||||
lua_pushinteger(L, spstage_start);
|
lua_pushinteger(L, spstage_start);
|
||||||
|
@ -977,6 +989,7 @@ enum
|
||||||
ARCH_MAPHEADER,
|
ARCH_MAPHEADER,
|
||||||
ARCH_SKINCOLOR,
|
ARCH_SKINCOLOR,
|
||||||
ARCH_MOUSE,
|
ARCH_MOUSE,
|
||||||
|
ARCH_SKIN,
|
||||||
|
|
||||||
ARCH_TEND=0xFF,
|
ARCH_TEND=0xFF,
|
||||||
};
|
};
|
||||||
|
@ -1005,6 +1018,7 @@ static const struct {
|
||||||
{META_MAPHEADER, ARCH_MAPHEADER},
|
{META_MAPHEADER, ARCH_MAPHEADER},
|
||||||
{META_SKINCOLOR, ARCH_SKINCOLOR},
|
{META_SKINCOLOR, ARCH_SKINCOLOR},
|
||||||
{META_MOUSE, ARCH_MOUSE},
|
{META_MOUSE, ARCH_MOUSE},
|
||||||
|
{META_SKIN, ARCH_SKIN},
|
||||||
{NULL, ARCH_NULL}
|
{NULL, ARCH_NULL}
|
||||||
};
|
};
|
||||||
|
|
||||||
|
@ -1326,6 +1340,13 @@ static UINT8 ArchiveValue(int TABLESINDEX, int myindex)
|
||||||
WRITEUINT8(save_p, m == &mouse ? 1 : 2);
|
WRITEUINT8(save_p, m == &mouse ? 1 : 2);
|
||||||
break;
|
break;
|
||||||
}
|
}
|
||||||
|
case ARCH_SKIN:
|
||||||
|
{
|
||||||
|
skin_t *skin = *((skin_t **)lua_touserdata(gL, myindex));
|
||||||
|
WRITEUINT8(save_p, ARCH_SKIN);
|
||||||
|
WRITEUINT8(save_p, skin - skins); // UINT8 because MAXSKINS is only 32
|
||||||
|
break;
|
||||||
|
}
|
||||||
default:
|
default:
|
||||||
WRITEUINT8(save_p, ARCH_NULL);
|
WRITEUINT8(save_p, ARCH_NULL);
|
||||||
return 2;
|
return 2;
|
||||||
|
@ -1572,6 +1593,9 @@ static UINT8 UnArchiveValue(int TABLESINDEX)
|
||||||
case ARCH_MOUSE:
|
case ARCH_MOUSE:
|
||||||
LUA_PushUserdata(gL, READUINT16(save_p) == 1 ? &mouse : &mouse2, META_MOUSE);
|
LUA_PushUserdata(gL, READUINT16(save_p) == 1 ? &mouse : &mouse2, META_MOUSE);
|
||||||
break;
|
break;
|
||||||
|
case ARCH_SKIN:
|
||||||
|
LUA_PushUserdata(gL, &skins[READUINT8(save_p)], META_SKIN);
|
||||||
|
break;
|
||||||
case ARCH_TEND:
|
case ARCH_TEND:
|
||||||
return 1;
|
return 1;
|
||||||
}
|
}
|
||||||
|
|
Loading…
Reference in a new issue