- Added Blzut3's patch for a real Chex Quest game mode.

SVN r1188 (trunk)
This commit is contained in:
Christoph Oelckers 2008-08-30 19:44:19 +00:00
commit dbcc246cf3
47 changed files with 969 additions and 126 deletions

View file

@ -64,8 +64,8 @@ CVAR (Bool, wi_noautostartmap, false, CVAR_ARCHIVE)
void WI_loadData ();
void WI_unloadData ();
#define NEXTSTAGE (gameinfo.gametype == GAME_Doom ? "weapons/rocklx" : "doors/dr1_clos")
#define PASTSTATS (gameinfo.gametype == GAME_Doom ? "weapons/shotgr" : "plats/pt1_stop")
#define NEXTSTAGE (gameinfo.gametype & GAME_DoomChex ? "weapons/rocklx" : "doors/dr1_clos")
#define PASTSTATS (gameinfo.gametype & GAME_DoomChex ? "weapons/shotgr" : "plats/pt1_stop")
// GLOBAL LOCATIONS
#define WI_TITLEY 2
@ -314,6 +314,7 @@ void WI_LoadBackground(bool isenterpic)
lumpname = NULL;
switch(gameinfo.gametype)
{
case GAME_Chex:
case GAME_Doom:
if (gamemode != commercial)
{
@ -688,14 +689,14 @@ static void WI_DrawCharPatch (FTexture *patch, int x, int y)
{
screen->DrawTexture (patch, x, y,
DTA_Clean, true,
DTA_ShadowAlpha, (gameinfo.gametype == GAME_Doom) ? 0 : FRACUNIT/2,
DTA_ShadowAlpha, (gameinfo.gametype & GAME_DoomChex) ? 0 : FRACUNIT/2,
TAG_DONE);
}
else
{
screen->DrawTexture (patch, x, y,
DTA_Clean, true,
DTA_ShadowAlpha, (gameinfo.gametype == GAME_Doom) ? 0 : FRACUNIT/2,
DTA_ShadowAlpha, (gameinfo.gametype & GAME_DoomChex) ? 0 : FRACUNIT/2,
DTA_Translation, BigFont->GetColorTranslation (CR_UNTRANSLATED), // otherwise it doesn't look good in Strife!
TAG_DONE);
}
@ -779,7 +780,7 @@ void WI_drawLF ()
if (y < NG_STATSY - screen->Font->GetHeight()*3/4)
{
// don't draw 'finished' if the level name is too high!
if (gameinfo.gametype == GAME_Doom)
if (gameinfo.gametype & GAME_DoomChex)
{
screen->DrawTexture(finished, 160 - finished->GetWidth()/2, y, DTA_Clean, true, TAG_DONE);
}
@ -809,7 +810,7 @@ void WI_drawEL ()
// draw "entering"
// be careful with the added height so that it works for oversized 'entering' patches!
if (gameinfo.gametype == GAME_Doom)
if (gameinfo.gametype & GAME_DoomChex)
{
screen->DrawTexture(entering, (SCREENWIDTH - entering->GetWidth() * CleanXfac) / 2, y * CleanYfac, DTA_CleanNoMove, true, TAG_DONE);
y += entering->GetHeight() + screen->Font->GetHeight()/4;
@ -1557,7 +1558,7 @@ void WI_drawNetgameStats ()
WI_drawLF();
if (gameinfo.gametype == GAME_Doom)
if (gameinfo.gametype & GAME_DoomChex)
{
// draw stat titles (top line)
screen->DrawTexture (kills, NG_STATSX+NG_SPACINGX-kills->GetWidth(), NG_STATSY, DTA_Clean, true, TAG_DONE);
@ -1675,7 +1676,7 @@ void WI_updateStats ()
{
WI_updateAnimatedBack ();
if ((gameinfo.gametype != GAME_Doom || acceleratestage)
if ((!(gameinfo.gametype & GAME_DoomChex) || acceleratestage)
&& sp_state != 10)
{
if (acceleratestage)
@ -1694,7 +1695,7 @@ void WI_updateStats ()
if (sp_state == 2)
{
if (gameinfo.gametype == GAME_Doom)
if (gameinfo.gametype & GAME_DoomChex)
{
cnt_kills[0] += 2;
@ -1710,7 +1711,7 @@ void WI_updateStats ()
}
else if (sp_state == 4)
{
if (gameinfo.gametype == GAME_Doom)
if (gameinfo.gametype & GAME_DoomChex)
{
cnt_items[0] += 2;
@ -1726,7 +1727,7 @@ void WI_updateStats ()
}
else if (sp_state == 6)
{
if (gameinfo.gametype == GAME_Doom)
if (gameinfo.gametype & GAME_DoomChex)
{
cnt_secret[0] += 2;
@ -1742,7 +1743,7 @@ void WI_updateStats ()
}
else if (sp_state == 8)
{
if (gameinfo.gametype == GAME_Doom)
if (gameinfo.gametype & GAME_DoomChex)
{
if (!(bcnt&3))
S_Sound (CHAN_VOICE | CHAN_UI, "weapons/pistol", 1, ATTN_NONE);
@ -1800,7 +1801,7 @@ void WI_drawStats (void)
WI_drawLF();
if (gameinfo.gametype == GAME_Doom)
if (gameinfo.gametype & GAME_DoomChex)
{
screen->DrawTexture (kills, SP_STATSX, SP_STATSY, DTA_Clean, true, TAG_DONE);
WI_drawPercent (320 - SP_STATSX, SP_STATSY, cnt_kills[0], wbs->maxkills);
@ -1956,7 +1957,7 @@ void WI_loadData(void)
int i;
char name[9];
if (gameinfo.gametype == GAME_Doom)
if (gameinfo.gametype & GAME_DoomChex)
{
wiminus = TexMan["WIMINUS"]; // minus sign
percent = TexMan["WIPCNT"]; // percent sign