LunaCON: expose more members, properly handle setting ud.screen_size.

BUILD_LUNATIC.

git-svn-id: https://svn.eduke32.com/eduke32@4814 1a8010ca-5511-0410-912e-c29ae57300e0
This commit is contained in:
helixhorned 2014-12-13 22:33:07 +00:00
parent d82ca91809
commit ca7a5acce7
5 changed files with 12 additions and 5 deletions

View file

@ -557,7 +557,7 @@ local PlayerLabels = {
one_parallax_sectnum = DISABLED{ PL".one_parallax_sectnum" },
random_club_frame = PL".random_club_frame",
one_eighty_count = DISABLED_PL".one_eighty_count",
one_eighty_count = PL".one_eighty_count",
dummyplayersprite = DISABLED_PL".dummyplayersprite",
extra_extra8 = PL".extra_extra8",
@ -866,12 +866,14 @@ local UserdefLabels = {
multimode = { "1" },
noexits = UDRO".noexits",
overhead_on = UD".overhead_on",
recstat = UDRO".recstat",
runkey_mode = UD".runkey_mode",
show_level_text = UD".show_level_text",
screen_size = { UD".screen_size", UD":set_screen_size(%%s)" },
screen_tilting = UD".screen_tilting",
showallmap = UD".showallmap",
showweapons = UDRO".showweapons",
statusbarmode = UDRO".statusbarmode",
statusbarscale = UDRO".statusbarscale",
volume_number = { UD".volume_number", UD":set_volume_number(%%s)", {0, MAXVOLUMES} },
weaponscale = UDRO".weaponscale",

View file

@ -712,6 +712,7 @@ vec2_t G_ScreenTextSize(const int32_t font,
const int32_t f,
int32_t x1, int32_t y1, int32_t x2, int32_t y2);
void G_UpdateScreenArea(void);
void G_SaveMapState(void);
void G_RestoreMapState(void);
]]
@ -1486,8 +1487,11 @@ ffi.metatype("projectile_t", projectile_mt)
local user_defs_mt = {
__index = {
set_screen_size = function(ud, screen_size)
-- TODO: modify .statusbarmode accordingly
ud.screen_size = screen_size
if (ud.screen_size ~= screen_size) then
-- TODO: modify .statusbarmode accordingly
ud.screen_size = screen_size
ffiC.G_UpdateScreenArea()
end
end,
set_volume_number = function(ud, volume_number)

View file

@ -23,7 +23,7 @@ correctness in a broad sense, which encompasses multiple issues.
* LunaCON more strictly validates the CON source at translation time. For
example, using labels of mismatched type, such as a ++define++d number where
an `move` is expected, issues an translation error.
a `move` is expected, issues an translation error.
* Lexically and syntactically, LunaCON accepts only a subset of what the C-CON
translator would pass through. This includes rejecting clearly erroneous code

View file

@ -237,6 +237,7 @@ G_PrintGameText;
G_ScreenText;
G_ScreenTextSize;
G_UpdateScreenArea;
G_SaveMapState;
G_RestoreMapState;
};

View file

@ -979,7 +979,7 @@ function check.reserved_bits(flags, allowedbits, suffix)
end
end
Define.ALLOWED_VIEWTYPE = truetab { 0, 1, 3,4, 5, 7, 8, -5, -7 }
Define.ALLOWED_VIEWTYPE = truetab { 0, 1, 2, 3,4, 5, 7, 8, -5, -7 }
function Define.composite(labeltype, identifier, ...)
local oldtype = g_labeltype[identifier]