mirror of
https://github.com/ZDoom/gzdoom.git
synced 2024-12-03 17:32:54 +00:00
- fixed: When the underwater end screen of Heretic's second episode is active the menu may not be opened.
- fixed: There was no fallback for invalid references to the FinalePages array. SVN r2898 (finale)
This commit is contained in:
parent
500b94c62c
commit
de4a513ae9
3 changed files with 26 additions and 1 deletions
|
@ -49,6 +49,7 @@
|
||||||
#include "c_bind.h"
|
#include "c_bind.h"
|
||||||
#include "g_level.h"
|
#include "g_level.h"
|
||||||
#include "p_conversation.h"
|
#include "p_conversation.h"
|
||||||
|
#include "menu/menu.h"
|
||||||
|
|
||||||
FIntermissionDescriptorList IntermissionDescriptors;
|
FIntermissionDescriptorList IntermissionDescriptors;
|
||||||
|
|
||||||
|
@ -96,6 +97,14 @@ void DIntermissionScreen::Init(FIntermissionAction *desc, bool first)
|
||||||
{
|
{
|
||||||
texname = gameinfo.finalePages[v].GetChars();
|
texname = gameinfo.finalePages[v].GetChars();
|
||||||
}
|
}
|
||||||
|
else if (gameinfo.finalePages.Size() > 0)
|
||||||
|
{
|
||||||
|
texname = gameinfo.finalePages[0].GetChars();
|
||||||
|
}
|
||||||
|
else
|
||||||
|
{
|
||||||
|
texname = gameinfo.titlePage;
|
||||||
|
}
|
||||||
}
|
}
|
||||||
else if (*texname == '$')
|
else if (*texname == '$')
|
||||||
{
|
{
|
||||||
|
@ -125,6 +134,7 @@ void DIntermissionScreen::Init(FIntermissionAction *desc, bool first)
|
||||||
screen->UpdatePalette ();
|
screen->UpdatePalette ();
|
||||||
mPaletteChanged = true;
|
mPaletteChanged = true;
|
||||||
NoWipe = 1;
|
NoWipe = 1;
|
||||||
|
M_EnableMenu(false);
|
||||||
}
|
}
|
||||||
mOverlays.Resize(desc->mOverlays.Size());
|
mOverlays.Resize(desc->mOverlays.Size());
|
||||||
for (unsigned i=0; i < mOverlays.Size(); i++)
|
for (unsigned i=0; i < mOverlays.Size(); i++)
|
||||||
|
@ -206,6 +216,7 @@ void DIntermissionScreen::Destroy()
|
||||||
screen->UpdatePalette ();
|
screen->UpdatePalette ();
|
||||||
NoWipe = 5;
|
NoWipe = 5;
|
||||||
mPaletteChanged = false;
|
mPaletteChanged = false;
|
||||||
|
M_EnableMenu(true);
|
||||||
}
|
}
|
||||||
Super::Destroy();
|
Super::Destroy();
|
||||||
}
|
}
|
||||||
|
|
|
@ -79,6 +79,7 @@ int MenuButtonTickers[NUM_MKEYS];
|
||||||
bool MenuButtonOrigin[NUM_MKEYS];
|
bool MenuButtonOrigin[NUM_MKEYS];
|
||||||
int BackbuttonTime;
|
int BackbuttonTime;
|
||||||
fixed_t BackbuttonAlpha;
|
fixed_t BackbuttonAlpha;
|
||||||
|
static bool MenuEnabled = true;
|
||||||
|
|
||||||
|
|
||||||
#define KEY_REPEAT_DELAY (TICRATE*5/12)
|
#define KEY_REPEAT_DELAY (TICRATE*5/12)
|
||||||
|
@ -633,7 +634,7 @@ bool M_Responder (event_t *ev)
|
||||||
}
|
}
|
||||||
return DMenu::CurrentMenu->Responder(ev) || !keyup;
|
return DMenu::CurrentMenu->Responder(ev) || !keyup;
|
||||||
}
|
}
|
||||||
else
|
else if (MenuEnabled)
|
||||||
{
|
{
|
||||||
if (ev->type == EV_KeyDown)
|
if (ev->type == EV_KeyDown)
|
||||||
{
|
{
|
||||||
|
@ -761,6 +762,18 @@ void M_Init (void)
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
|
//=============================================================================
|
||||||
|
//
|
||||||
|
//
|
||||||
|
//
|
||||||
|
//=============================================================================
|
||||||
|
|
||||||
|
void M_EnableMenu (bool on)
|
||||||
|
{
|
||||||
|
MenuEnabled = on;
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
//=============================================================================
|
//=============================================================================
|
||||||
//
|
//
|
||||||
// [RH] Most menus can now be accessed directly
|
// [RH] Most menus can now be accessed directly
|
||||||
|
|
|
@ -637,6 +637,7 @@ public:
|
||||||
|
|
||||||
|
|
||||||
struct event_t;
|
struct event_t;
|
||||||
|
void M_EnableMenu (bool on) ;
|
||||||
bool M_Responder (event_t *ev);
|
bool M_Responder (event_t *ev);
|
||||||
void M_Ticker (void);
|
void M_Ticker (void);
|
||||||
void M_Drawer (void);
|
void M_Drawer (void);
|
||||||
|
|
Loading…
Reference in a new issue