Add new LOGO_FLAGS bit 2048, preventing cutscene at E4 beginning if set.

git-svn-id: https://svn.eduke32.com/eduke32@3566 1a8010ca-5511-0410-912e-c29ae57300e0
This commit is contained in:
helixhorned 2013-03-15 16:56:29 +00:00
parent 90421f0e10
commit 4601b2d203
6 changed files with 18 additions and 13 deletions

View file

@ -2026,15 +2026,6 @@ static void fadepaltile(int32_t r, int32_t g, int32_t b, int32_t start, int32_t
int32_t g_logoFlags = 255; int32_t g_logoFlags = 255;
#endif #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 = G_GetLogoFlags(); int32_t flags = G_GetLogoFlags();

View file

@ -59,7 +59,8 @@ enum LogoFlags_t {
LOGO_PLUTOPAKSPRITE = 0x00000080, LOGO_PLUTOPAKSPRITE = 0x00000080,
LOGO_SHAREWARESCREENS = 0x00000100, LOGO_SHAREWARESCREENS = 0x00000100,
LOGO_TENSCREEN = 0x00000200, LOGO_TENSCREEN = 0x00000200,
LOGO_STOPANIMSOUNDS = 0x00000400 LOGO_STOPANIMSOUNDS = 0x00000400,
LOGO_NOE4CUTSCENE = 0x00000800,
}; };
typedef enum basepal_ { typedef enum basepal_ {
@ -75,6 +76,16 @@ typedef enum basepal_ {
void A_DeleteSprite(int32_t s); void A_DeleteSprite(int32_t s);
static inline int32_t G_GetLogoFlags(void)
{
#if !defined LUNATIC
return Gv_GetVarByLabel("LOGO_FLAGS",255, -1, -1);
#else
extern int32_t g_logoFlags;
return g_logoFlags;
#endif
}
#ifdef LUNATIC #ifdef LUNATIC
typedef struct { typedef struct {
vec3_t pos; vec3_t pos;

View file

@ -272,7 +272,7 @@ local function new_initial_gvartab()
} }
-- Reserved bits -- Reserved bits
gamevar.LOGO_FLAGS.rbits = bit.bnot(2047) gamevar.LOGO_FLAGS.rbits = bit.bnot(4095)
for w=0,MAX_WEAPONS-1 do for w=0,MAX_WEAPONS-1 do
for i=1,#wmembers do for i=1,#wmembers do

View file

@ -4,3 +4,5 @@ useractor 4 58 1 NO NO 0
state killme state killme
enda enda
gamevar LOGO_FLAGS 2303 0 // 255+2048, test "no ep4 cutscene" bit

View file

@ -2558,7 +2558,7 @@ cheat_for_port_credits2:
ud.multimode = 1; ud.multimode = 1;
if (ud.m_volume_number == 3) if (ud.m_volume_number == 3 && (G_GetLogoFlags() & LOGO_NOE4CUTSCENE)==0)
{ {
flushperms(); flushperms();
setview(0,0,xdim-1,ydim-1); setview(0,0,xdim-1,ydim-1);

View file

@ -1430,7 +1430,8 @@ void G_NewGame(int32_t vn,int32_t ln,int32_t sk)
if (ud.m_recstat != 2 && ud.last_level >= 0 && (g_netServer || ud.multimode > 1) && (ud.coop&GAMETYPE_SCORESHEET)) if (ud.m_recstat != 2 && ud.last_level >= 0 && (g_netServer || ud.multimode > 1) && (ud.coop&GAMETYPE_SCORESHEET))
G_BonusScreen(1); G_BonusScreen(1);
if (ln == 0 && vn == 3 && (!g_netServer && ud.multimode < 2) && ud.lockout == 0) if (ln == 0 && vn == 3 && (!g_netServer && ud.multimode < 2) && ud.lockout == 0
&& (G_GetLogoFlags() & LOGO_NOE4CUTSCENE)==0)
{ {
S_PlayMusic(&EnvMusicFilename[1][0],MAXVOLUMES*MAXLEVELS+1); S_PlayMusic(&EnvMusicFilename[1][0],MAXVOLUMES*MAXLEVELS+1);