Exposed floor/ceiling pic x/y offsets to Lua.

This commit is contained in:
Ace Lite 2022-11-23 17:09:54 +00:00
parent e6780f2bee
commit 34cc1d1cc4

View file

@ -33,7 +33,13 @@ enum sector_e {
sector_floorheight,
sector_ceilingheight,
sector_floorpic,
sector_floorxoffs,
sector_flooryoffs,
sector_floorpicangle,
sector_ceilingpic,
sector_ceilingxoffs,
sector_ceilingyoffs,
sector_ceilingpicangle,
sector_lightlevel,
sector_floorlightlevel,
sector_floorlightabsolute,
@ -63,7 +69,13 @@ static const char *const sector_opt[] = {
"floorheight",
"ceilingheight",
"floorpic",
"floorxoffs",
"flooryoffs",
"floorpicangle",
"ceilingpic",
"ceilingxoffs",
"ceilingyoffs",
"ceilingpicangle",
"lightlevel",
"floorlightlevel",
"floorlightabsolute",
@ -607,6 +619,21 @@ static int sector_get(lua_State *L)
lua_pushlstring(L, levelflat->name, i);
return 1;
}
case sector_floorxoffs:
{
lua_pushfixed(L, sector->floor_xoffs);
return 1;
}
case sector_flooryoffs:
{
lua_pushfixed(L, sector->floor_yoffs);
return 1;
}
case sector_floorpicangle:
{
lua_pushangle(L, sector->floorpic_angle);
return 1;
}
case sector_ceilingpic: // ceilingpic
{
levelflat_t *levelflat = &levelflats[sector->ceilingpic];
@ -616,6 +643,21 @@ static int sector_get(lua_State *L)
lua_pushlstring(L, levelflat->name, i);
return 1;
}
case sector_ceilingxoffs:
{
lua_pushfixed(L, sector->ceiling_xoffs);
return 1;
}
case sector_ceilingyoffs:
{
lua_pushfixed(L, sector->ceiling_yoffs);
return 1;
}
case sector_ceilingpicangle:
{
lua_pushangle(L, sector->ceilingpic_angle);
return 1;
}
case sector_lightlevel:
lua_pushinteger(L, sector->lightlevel);
return 1;
@ -751,9 +793,27 @@ static int sector_set(lua_State *L)
case sector_floorpic:
sector->floorpic = P_AddLevelFlatRuntime(luaL_checkstring(L, 3));
break;
case sector_floorxoffs:
sector->floor_xoffs = luaL_checkfixed(L, 3);
break;
case sector_flooryoffs:
sector->floor_yoffs = luaL_checkfixed(L, 3);
break;
case sector_floorpicangle:
sector->floorpic_angle = luaL_checkangle(L, 3);
break;
case sector_ceilingpic:
sector->ceilingpic = P_AddLevelFlatRuntime(luaL_checkstring(L, 3));
break;
case sector_ceilingxoffs:
sector->ceiling_xoffs = luaL_checkfixed(L, 3);
break;
case sector_ceilingyoffs:
sector->ceiling_yoffs = luaL_checkfixed(L, 3);
break;
case sector_ceilingpicangle:
sector->ceilingpic_angle = luaL_checkangle(L, 3);
break;
case sector_lightlevel:
sector->lightlevel = (INT16)luaL_checkinteger(L, 3);
break;