mirror of
https://github.com/ZDoom/raze-gles.git
synced 2024-12-25 03:00:46 +00:00
Lunatic translator: handle LOGO_FLAGS.
This is the only gamevar of its kind that is handled for Lunatic, neither PLR_MORALE nor LOGO_FLAGS are. git-svn-id: https://svn.eduke32.com/eduke32@3556 1a8010ca-5511-0410-912e-c29ae57300e0
This commit is contained in:
parent
88313f7b50
commit
6b1df7f1e9
5 changed files with 51 additions and 14 deletions
|
@ -1177,6 +1177,15 @@ static int32_t G_GetInvOn(const DukePlayer_t *p)
|
||||||
return 0x80000000;
|
return 0x80000000;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
static int32_t G_GetMorale(int32_t p_i, int32_t snum)
|
||||||
|
{
|
||||||
|
#if !defined LUNATIC
|
||||||
|
return Gv_GetVarByLabel("PLR_MORALE",-1, p_i, snum);
|
||||||
|
#else
|
||||||
|
return -1;
|
||||||
|
#endif
|
||||||
|
}
|
||||||
|
|
||||||
static void G_DrawStatusBar(int32_t snum)
|
static void G_DrawStatusBar(int32_t snum)
|
||||||
{
|
{
|
||||||
const DukePlayer_t *const p = g_player[snum].ps;
|
const DukePlayer_t *const p = g_player[snum].ps;
|
||||||
|
@ -1267,8 +1276,9 @@ static void G_DrawStatusBar(int32_t snum)
|
||||||
rotatesprite_fs(sbarx(62),sbary(200-25),sb15h,0,SHIELD,0,0,10+16+256);
|
rotatesprite_fs(sbarx(62),sbary(200-25),sb15h,0,SHIELD,0,0,10+16+256);
|
||||||
|
|
||||||
{
|
{
|
||||||
int32_t lAmount=Gv_GetVarByLabel("PLR_MORALE",-1, p->i, snum);
|
int32_t lAmount = G_GetMorale(p->i, snum);
|
||||||
if (lAmount == -1) lAmount = p->inv_amount[GET_SHIELD];
|
if (lAmount == -1)
|
||||||
|
lAmount = p->inv_amount[GET_SHIELD];
|
||||||
G_DrawAltDigiNum(105,-(200-22),lAmount,-16,10+16+256);
|
G_DrawAltDigiNum(105,-(200-22),lAmount,-16,10+16+256);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -1442,11 +1452,9 @@ static void G_DrawStatusBar(int32_t snum)
|
||||||
}
|
}
|
||||||
|
|
||||||
{
|
{
|
||||||
int32_t lAmount=Gv_GetVarByLabel("PLR_MORALE",-1, p->i, snum);
|
int32_t lAmount = G_GetMorale(p->i, snum);
|
||||||
|
|
||||||
if (lAmount == -1)
|
if (lAmount == -1)
|
||||||
lAmount = p->inv_amount[GET_SHIELD];
|
lAmount = p->inv_amount[GET_SHIELD];
|
||||||
|
|
||||||
if (sbar.inv_amount[GET_SHIELD] != lAmount)
|
if (sbar.inv_amount[GET_SHIELD] != lAmount)
|
||||||
{
|
{
|
||||||
sbar.inv_amount[GET_SHIELD] = lAmount;
|
sbar.inv_amount[GET_SHIELD] = lAmount;
|
||||||
|
@ -1585,8 +1593,11 @@ static void G_DrawStatusBar(int32_t snum)
|
||||||
}
|
}
|
||||||
if (u&2)
|
if (u&2)
|
||||||
{
|
{
|
||||||
int32_t lAmount=Gv_GetVarByLabel("PLR_MORALE",-1, p->i, snum);
|
int32_t lAmount = G_GetMorale(p->i, snum);
|
||||||
if (u != -1) G_PatchStatusBar(52,SBY+17,75,SBY+17+11);
|
|
||||||
|
if (u != -1)
|
||||||
|
G_PatchStatusBar(52,SBY+17,75,SBY+17+11);
|
||||||
|
|
||||||
if (lAmount == -1)
|
if (lAmount == -1)
|
||||||
G_DrawDigiNum(64,SBY+17,p->inv_amount[GET_SHIELD],-16,10+16);
|
G_DrawDigiNum(64,SBY+17,p->inv_amount[GET_SHIELD],-16,10+16);
|
||||||
else
|
else
|
||||||
|
@ -2009,9 +2020,22 @@ static void fadepaltile(int32_t r, int32_t g, int32_t b, int32_t start, int32_t
|
||||||
while (start != end+step);
|
while (start != end+step);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
#ifdef LUNATIC
|
||||||
|
int32_t g_logoFlags = 255;
|
||||||
|
#endif
|
||||||
|
|
||||||
|
static int32_t G_GetLogoFlags(void)
|
||||||
|
{
|
||||||
|
#if !defined LUNATIC
|
||||||
|
return Gv_GetVarByLabel("LOGO_FLAGS",255, -1, -1);
|
||||||
|
#else
|
||||||
|
return g_logoFlags;
|
||||||
|
#endif
|
||||||
|
}
|
||||||
|
|
||||||
static void G_DisplayExtraScreens(void)
|
static void G_DisplayExtraScreens(void)
|
||||||
{
|
{
|
||||||
int32_t flags = Gv_GetVarByLabel("LOGO_FLAGS",255, -1, -1);
|
int32_t flags = G_GetLogoFlags();
|
||||||
|
|
||||||
S_StopMusic();
|
S_StopMusic();
|
||||||
FX_StopAllSounds();
|
FX_StopAllSounds();
|
||||||
|
@ -3141,7 +3165,11 @@ void G_DrawBackground(void)
|
||||||
if (G_HaveEvent(EVENT_GETMENUTILE))
|
if (G_HaveEvent(EVENT_GETMENUTILE))
|
||||||
bgtile = VM_OnEvent(EVENT_GETMENUTILE, -1, myconnectindex, -1, bgtile);
|
bgtile = VM_OnEvent(EVENT_GETMENUTILE, -1, myconnectindex, -1, bgtile);
|
||||||
// MENU_TILE: is the menu tile tileable?
|
// MENU_TILE: is the menu tile tileable?
|
||||||
|
#if !defined LUNATIC
|
||||||
if (Gv_GetVarByLabel("MENU_TILE", !fstilep, -1, -1))
|
if (Gv_GetVarByLabel("MENU_TILE", !fstilep, -1, -1))
|
||||||
|
#else
|
||||||
|
if (!fstilep)
|
||||||
|
#endif
|
||||||
{
|
{
|
||||||
for (y=y1; y<y2; y+=tilesizy[bgtile])
|
for (y=y1; y<y2; y+=tilesizy[bgtile])
|
||||||
for (x=0; x<xdim; x+=tilesizx[bgtile])
|
for (x=0; x<xdim; x+=tilesizx[bgtile])
|
||||||
|
@ -9320,7 +9348,7 @@ static void G_CheckCommandLine(int32_t argc, const char **argv)
|
||||||
static void G_DisplayLogo(void)
|
static void G_DisplayLogo(void)
|
||||||
{
|
{
|
||||||
int32_t soundanm = 0;
|
int32_t soundanm = 0;
|
||||||
int32_t logoflags=Gv_GetVarByLabel("LOGO_FLAGS",255, -1, -1);
|
int32_t logoflags = G_GetLogoFlags();
|
||||||
|
|
||||||
ready2send = 0;
|
ready2send = 0;
|
||||||
|
|
||||||
|
|
|
@ -100,11 +100,7 @@ int32_t __fastcall Gv_GetVar(register int32_t id,register int32_t iActor,registe
|
||||||
void __fastcall Gv_SetVar(register int32_t id,register int32_t lValue,register int32_t iActor,register int32_t iPlayer);
|
void __fastcall Gv_SetVar(register int32_t id,register int32_t lValue,register int32_t iActor,register int32_t iPlayer);
|
||||||
int32_t __fastcall Gv_GetVarX(register int32_t id);
|
int32_t __fastcall Gv_GetVarX(register int32_t id);
|
||||||
void __fastcall Gv_SetVarX(register int32_t id,register int32_t lValue);
|
void __fastcall Gv_SetVarX(register int32_t id,register int32_t lValue);
|
||||||
#endif
|
|
||||||
|
|
||||||
#ifdef LUNATIC
|
|
||||||
# define Gv_GetVarByLabel(szGameLabel, lDefault, iActor, iPlayer) (lDefault)
|
|
||||||
#else
|
|
||||||
int32_t Gv_GetVarByLabel(const char *szGameLabel,int32_t lDefault,int32_t iActor,int32_t iPlayer);
|
int32_t Gv_GetVarByLabel(const char *szGameLabel,int32_t lDefault,int32_t iActor,int32_t iPlayer);
|
||||||
int32_t Gv_NewArray(const char *pszLabel,void *arrayptr,intptr_t asize,uint32_t dwFlags);
|
int32_t Gv_NewArray(const char *pszLabel,void *arrayptr,intptr_t asize,uint32_t dwFlags);
|
||||||
int32_t Gv_NewVar(const char *pszLabel,intptr_t lValue,uint32_t dwFlags);
|
int32_t Gv_NewVar(const char *pszLabel,intptr_t lValue,uint32_t dwFlags);
|
||||||
|
|
|
@ -505,6 +505,7 @@ typedef struct {
|
||||||
ffi.cdef[[
|
ffi.cdef[[
|
||||||
const int32_t screenpeek;
|
const int32_t screenpeek;
|
||||||
hudweapon_t hudweap;
|
hudweapon_t hudweap;
|
||||||
|
int32_t g_logoFlags;
|
||||||
]]
|
]]
|
||||||
|
|
||||||
-- INTERNAL VARIABLES/FUNCTIONS
|
-- INTERNAL VARIABLES/FUNCTIONS
|
||||||
|
@ -1538,7 +1539,14 @@ local tmpmt = {
|
||||||
end
|
end
|
||||||
error("access forbidden", 2)
|
error("access forbidden", 2)
|
||||||
end,
|
end,
|
||||||
__newindex = function() error("write access forbidden", 2) end,
|
|
||||||
|
__newindex = function(gv, key, val)
|
||||||
|
if (key=="g_logoFlags") then
|
||||||
|
ffiC[key] = val
|
||||||
|
else
|
||||||
|
error("write access forbidden", 2)
|
||||||
|
end
|
||||||
|
end,
|
||||||
}
|
}
|
||||||
setmtonce(gv, tmpmt)
|
setmtonce(gv, tmpmt)
|
||||||
|
|
||||||
|
|
|
@ -118,6 +118,7 @@ g_scriptVersion;
|
||||||
g_currentFrameRate;
|
g_currentFrameRate;
|
||||||
g_currentMenu;
|
g_currentMenu;
|
||||||
g_earthquakeTime;
|
g_earthquakeTime;
|
||||||
|
g_logoFlags;
|
||||||
|
|
||||||
luaJIT_BC_lunacon;
|
luaJIT_BC_lunacon;
|
||||||
luaJIT_BC_con_lang;
|
luaJIT_BC_con_lang;
|
||||||
|
|
|
@ -194,6 +194,10 @@ local function new_initial_gvartab()
|
||||||
LOTAG = RW(CSV".LOTAG"),
|
LOTAG = RW(CSV".LOTAG"),
|
||||||
TEXTURE = RW(CSV".TEXTURE"),
|
TEXTURE = RW(CSV".TEXTURE"),
|
||||||
|
|
||||||
|
-- This will warn when defining from CON, but it's the most
|
||||||
|
-- straightforward implementation.
|
||||||
|
LOGO_FLAGS = RW "_gv.g_logoFlags",
|
||||||
|
|
||||||
xdim = RO "_gv.xdim",
|
xdim = RO "_gv.xdim",
|
||||||
ydim = RO "_gv.ydim",
|
ydim = RO "_gv.ydim",
|
||||||
windowx1 = RO "_gv.windowx1",
|
windowx1 = RO "_gv.windowx1",
|
||||||
|
|
Loading…
Reference in a new issue