* Show an emerald token box on the tally screen.

* Change the horizontal spacing of the emeralds on the special stage tally screen.
* (unrelated) Fix a reference to srb2.srb instead of the now-correct srb2.pk3.
This commit is contained in:
toasterbabe 2017-11-17 23:02:34 +00:00
parent 7f4424b4a0
commit e63c1d15d8
6 changed files with 71 additions and 53 deletions

View File

@ -832,7 +832,7 @@ static void IdentifyVersion(void)
else if (srb2wad1 != NULL && FIL_ReadFileOK(srb2wad1)) else if (srb2wad1 != NULL && FIL_ReadFileOK(srb2wad1))
D_AddFile(srb2wad1); D_AddFile(srb2wad1);
else else
I_Error("SRB2.SRB/SRB2.WAD not found! Expected in %s, ss files: %s and %s\n", srb2waddir, srb2wad1, srb2wad2); I_Error("SRB2.PK3/SRB2.WAD not found! Expected in %s, ss files: %s and %s\n", srb2waddir, srb2wad1, srb2wad2);
if (srb2wad1) if (srb2wad1)
free(srb2wad1); free(srb2wad1);

View File

@ -89,8 +89,7 @@ patch_t *tallinfin;
// coop hud // coop hud
//------------------------------------------- //-------------------------------------------
patch_t *emeraldpics[7]; patch_t *emeraldpics[3][7]; // 0 = normal, 1 = tiny, 2 = coinbox
patch_t *tinyemeraldpics[7];
static patch_t *emblemicon; static patch_t *emblemicon;
patch_t *tokenicon; patch_t *tokenicon;
static patch_t *exiticon; static patch_t *exiticon;
@ -250,20 +249,29 @@ void HU_LoadGraphics(void)
tokenicon = W_CachePatchName("TOKNICON", PU_HUDGFX); tokenicon = W_CachePatchName("TOKNICON", PU_HUDGFX);
exiticon = W_CachePatchName("EXITICON", PU_HUDGFX); exiticon = W_CachePatchName("EXITICON", PU_HUDGFX);
emeraldpics[0] = W_CachePatchName("CHAOS1", PU_HUDGFX); emeraldpics[0][0] = W_CachePatchName("CHAOS1", PU_HUDGFX);
emeraldpics[1] = W_CachePatchName("CHAOS2", PU_HUDGFX); emeraldpics[0][1] = W_CachePatchName("CHAOS2", PU_HUDGFX);
emeraldpics[2] = W_CachePatchName("CHAOS3", PU_HUDGFX); emeraldpics[0][2] = W_CachePatchName("CHAOS3", PU_HUDGFX);
emeraldpics[3] = W_CachePatchName("CHAOS4", PU_HUDGFX); emeraldpics[0][3] = W_CachePatchName("CHAOS4", PU_HUDGFX);
emeraldpics[4] = W_CachePatchName("CHAOS5", PU_HUDGFX); emeraldpics[0][4] = W_CachePatchName("CHAOS5", PU_HUDGFX);
emeraldpics[5] = W_CachePatchName("CHAOS6", PU_HUDGFX); emeraldpics[0][5] = W_CachePatchName("CHAOS6", PU_HUDGFX);
emeraldpics[6] = W_CachePatchName("CHAOS7", PU_HUDGFX); emeraldpics[0][6] = W_CachePatchName("CHAOS7", PU_HUDGFX);
tinyemeraldpics[0] = W_CachePatchName("TEMER1", PU_HUDGFX);
tinyemeraldpics[1] = W_CachePatchName("TEMER2", PU_HUDGFX); emeraldpics[1][0] = W_CachePatchName("TEMER1", PU_HUDGFX);
tinyemeraldpics[2] = W_CachePatchName("TEMER3", PU_HUDGFX); emeraldpics[1][1] = W_CachePatchName("TEMER2", PU_HUDGFX);
tinyemeraldpics[3] = W_CachePatchName("TEMER4", PU_HUDGFX); emeraldpics[1][2] = W_CachePatchName("TEMER3", PU_HUDGFX);
tinyemeraldpics[4] = W_CachePatchName("TEMER5", PU_HUDGFX); emeraldpics[1][3] = W_CachePatchName("TEMER4", PU_HUDGFX);
tinyemeraldpics[5] = W_CachePatchName("TEMER6", PU_HUDGFX); emeraldpics[1][4] = W_CachePatchName("TEMER5", PU_HUDGFX);
tinyemeraldpics[6] = W_CachePatchName("TEMER7", PU_HUDGFX); emeraldpics[1][5] = W_CachePatchName("TEMER6", PU_HUDGFX);
emeraldpics[2][6] = W_CachePatchName("TEMER7", PU_HUDGFX);
emeraldpics[2][0] = W_CachePatchName("EMBOX1", PU_HUDGFX);
emeraldpics[2][1] = W_CachePatchName("EMBOX2", PU_HUDGFX);
emeraldpics[2][2] = W_CachePatchName("EMBOX3", PU_HUDGFX);
emeraldpics[2][3] = W_CachePatchName("EMBOX4", PU_HUDGFX);
emeraldpics[2][4] = W_CachePatchName("EMBOX5", PU_HUDGFX);
emeraldpics[2][5] = W_CachePatchName("EMBOX6", PU_HUDGFX);
emeraldpics[2][6] = W_CachePatchName("EMBOX7", PU_HUDGFX);
} }
// Initialise Heads up // Initialise Heads up
@ -1466,25 +1474,25 @@ void HU_DrawEmeralds(INT32 x, INT32 y, INT32 pemeralds)
{ {
//Draw the emeralds, in the CORRECT order, using tiny emerald sprites. //Draw the emeralds, in the CORRECT order, using tiny emerald sprites.
if (pemeralds & EMERALD1) if (pemeralds & EMERALD1)
V_DrawSmallScaledPatch(x , y-6, 0, tinyemeraldpics[0]); V_DrawSmallScaledPatch(x , y-6, 0, emeraldpics[1][0]);
if (pemeralds & EMERALD2) if (pemeralds & EMERALD2)
V_DrawSmallScaledPatch(x+4, y-3, 0, tinyemeraldpics[1]); V_DrawSmallScaledPatch(x+4, y-3, 0, emeraldpics[1][1]);
if (pemeralds & EMERALD3) if (pemeralds & EMERALD3)
V_DrawSmallScaledPatch(x+4, y+3, 0, tinyemeraldpics[2]); V_DrawSmallScaledPatch(x+4, y+3, 0, emeraldpics[1][2]);
if (pemeralds & EMERALD4) if (pemeralds & EMERALD4)
V_DrawSmallScaledPatch(x , y+6, 0, tinyemeraldpics[3]); V_DrawSmallScaledPatch(x , y+6, 0, emeraldpics[1][3]);
if (pemeralds & EMERALD5) if (pemeralds & EMERALD5)
V_DrawSmallScaledPatch(x-4, y+3, 0, tinyemeraldpics[4]); V_DrawSmallScaledPatch(x-4, y+3, 0, emeraldpics[1][4]);
if (pemeralds & EMERALD6) if (pemeralds & EMERALD6)
V_DrawSmallScaledPatch(x-4, y-3, 0, tinyemeraldpics[5]); V_DrawSmallScaledPatch(x-4, y-3, 0, emeraldpics[1][5]);
if (pemeralds & EMERALD7) if (pemeralds & EMERALD7)
V_DrawSmallScaledPatch(x, y, 0, tinyemeraldpics[6]); V_DrawSmallScaledPatch(x, y, 0, emeraldpics[1][6]);
} }
// //
@ -1753,19 +1761,19 @@ static void HU_DrawCoopOverlay(void)
#endif #endif
if (emeralds & EMERALD1) if (emeralds & EMERALD1)
V_DrawScaledPatch((BASEVIDWIDTH/2)-8 , (BASEVIDHEIGHT/3)-32, 0, emeraldpics[0]); V_DrawScaledPatch((BASEVIDWIDTH/2)-8 , (BASEVIDHEIGHT/3)-32, 0, emeraldpics[0][0]);
if (emeralds & EMERALD2) if (emeralds & EMERALD2)
V_DrawScaledPatch((BASEVIDWIDTH/2)-8+24, (BASEVIDHEIGHT/3)-16, 0, emeraldpics[1]); V_DrawScaledPatch((BASEVIDWIDTH/2)-8+24, (BASEVIDHEIGHT/3)-16, 0, emeraldpics[0][1]);
if (emeralds & EMERALD3) if (emeralds & EMERALD3)
V_DrawScaledPatch((BASEVIDWIDTH/2)-8+24, (BASEVIDHEIGHT/3)+16, 0, emeraldpics[2]); V_DrawScaledPatch((BASEVIDWIDTH/2)-8+24, (BASEVIDHEIGHT/3)+16, 0, emeraldpics[0][2]);
if (emeralds & EMERALD4) if (emeralds & EMERALD4)
V_DrawScaledPatch((BASEVIDWIDTH/2)-8 , (BASEVIDHEIGHT/3)+32, 0, emeraldpics[3]); V_DrawScaledPatch((BASEVIDWIDTH/2)-8 , (BASEVIDHEIGHT/3)+32, 0, emeraldpics[0][3]);
if (emeralds & EMERALD5) if (emeralds & EMERALD5)
V_DrawScaledPatch((BASEVIDWIDTH/2)-8-24, (BASEVIDHEIGHT/3)+16, 0, emeraldpics[4]); V_DrawScaledPatch((BASEVIDWIDTH/2)-8-24, (BASEVIDHEIGHT/3)+16, 0, emeraldpics[0][4]);
if (emeralds & EMERALD6) if (emeralds & EMERALD6)
V_DrawScaledPatch((BASEVIDWIDTH/2)-8-24, (BASEVIDHEIGHT/3)-16, 0, emeraldpics[5]); V_DrawScaledPatch((BASEVIDWIDTH/2)-8-24, (BASEVIDHEIGHT/3)-16, 0, emeraldpics[0][5]);
if (emeralds & EMERALD7) if (emeralds & EMERALD7)
V_DrawScaledPatch((BASEVIDWIDTH/2)-8 , (BASEVIDHEIGHT/3) , 0, emeraldpics[6]); V_DrawScaledPatch((BASEVIDWIDTH/2)-8 , (BASEVIDHEIGHT/3) , 0, emeraldpics[0][6]);
} }
static void HU_DrawNetplayCoopOverlay(void) static void HU_DrawNetplayCoopOverlay(void)
@ -1780,7 +1788,7 @@ static void HU_DrawNetplayCoopOverlay(void)
for (i = 0; i < 7; ++i) for (i = 0; i < 7; ++i)
{ {
if (emeralds & (1 << i)) if (emeralds & (1 << i))
V_DrawScaledPatch(20 + (i * 20), 6, 0, emeraldpics[i]); V_DrawScaledPatch(20 + (i * 20), 6, 0, emeraldpics[0][i]);
} }
} }

View File

@ -63,8 +63,7 @@ extern patch_t *tallnum[10];
extern patch_t *nightsnum[10]; extern patch_t *nightsnum[10];
extern patch_t *lt_font[LT_FONTSIZE]; extern patch_t *lt_font[LT_FONTSIZE];
extern patch_t *cred_font[CRED_FONTSIZE]; extern patch_t *cred_font[CRED_FONTSIZE];
extern patch_t *emeraldpics[7]; extern patch_t *emeraldpics[3][7];
extern patch_t *tinyemeraldpics[7];
extern patch_t *rflagico; extern patch_t *rflagico;
extern patch_t *bflagico; extern patch_t *bflagico;
extern patch_t *rmatcico; extern patch_t *rmatcico;

View File

@ -6274,7 +6274,7 @@ static void M_DrawLoadGameData(void)
for (j = 0; j < 7; ++j) for (j = 0; j < 7; ++j)
{ {
if (savegameinfo[savetodraw].numemeralds & (1 << j)) if (savegameinfo[savetodraw].numemeralds & (1 << j))
V_DrawScaledPatch(workx, y, 0, tinyemeraldpics[j]); V_DrawScaledPatch(workx, y, 0, emeraldpics[1][j]);
workx += 10; workx += 10;
} }
} }

View File

@ -1699,33 +1699,33 @@ static void ST_drawMatchHUD(void)
offset = 136; // Used for Y now offset = 136; // Used for Y now
if (stplyr->powers[pw_emeralds] & EMERALD1) if (stplyr->powers[pw_emeralds] & EMERALD1)
V_DrawScaledPatch(28, STRINGY(offset), V_SNAPTOLEFT, tinyemeraldpics[0]); V_DrawScaledPatch(28, STRINGY(offset), V_SNAPTOLEFT, emeraldpics[1][0]);
offset += 8; offset += 8;
if (stplyr->powers[pw_emeralds] & EMERALD2) if (stplyr->powers[pw_emeralds] & EMERALD2)
V_DrawScaledPatch(40, STRINGY(offset), V_SNAPTOLEFT, tinyemeraldpics[1]); V_DrawScaledPatch(40, STRINGY(offset), V_SNAPTOLEFT, emeraldpics[1][1]);
if (stplyr->powers[pw_emeralds] & EMERALD6) if (stplyr->powers[pw_emeralds] & EMERALD6)
V_DrawScaledPatch(16, STRINGY(offset), V_SNAPTOLEFT, tinyemeraldpics[5]); V_DrawScaledPatch(16, STRINGY(offset), V_SNAPTOLEFT, emeraldpics[1][5]);
offset += 16; offset += 16;
if (stplyr->powers[pw_emeralds] & EMERALD3) if (stplyr->powers[pw_emeralds] & EMERALD3)
V_DrawScaledPatch(40, STRINGY(offset), V_SNAPTOLEFT, tinyemeraldpics[2]); V_DrawScaledPatch(40, STRINGY(offset), V_SNAPTOLEFT, emeraldpics[1][2]);
if (stplyr->powers[pw_emeralds] & EMERALD5) if (stplyr->powers[pw_emeralds] & EMERALD5)
V_DrawScaledPatch(16, STRINGY(offset), V_SNAPTOLEFT, tinyemeraldpics[4]); V_DrawScaledPatch(16, STRINGY(offset), V_SNAPTOLEFT, emeraldpics[1][4]);
offset += 8; offset += 8;
if (stplyr->powers[pw_emeralds] & EMERALD4) if (stplyr->powers[pw_emeralds] & EMERALD4)
V_DrawScaledPatch(28, STRINGY(offset), V_SNAPTOLEFT, tinyemeraldpics[3]); V_DrawScaledPatch(28, STRINGY(offset), V_SNAPTOLEFT, emeraldpics[1][3]);
offset -= 16; offset -= 16;
if (stplyr->powers[pw_emeralds] & EMERALD7) if (stplyr->powers[pw_emeralds] & EMERALD7)
V_DrawScaledPatch(28, STRINGY(offset), V_SNAPTOLEFT, tinyemeraldpics[6]); V_DrawScaledPatch(28, STRINGY(offset), V_SNAPTOLEFT, emeraldpics[1][6]);
#ifdef HAVE_BLUA #ifdef HAVE_BLUA
} }

View File

@ -176,12 +176,23 @@ static INT32 SCY(INT32 z)
static void Y_IntermissionTokenDrawer(void) static void Y_IntermissionTokenDrawer(void)
{ {
INT32 y; INT32 y, offs, lowy, calc;
INT32 offs = 0;
UINT32 tokencount; UINT32 tokencount;
INT32 lowy = BASEVIDHEIGHT - 32; INT16 temp;
INT16 temp = SHORT(tokenicon->height)/2; UINT8 em;
INT32 calc;
offs = 0;
lowy = BASEVIDHEIGHT - 32 - 8;
temp = SHORT(tokenicon->height)/2;
if (!(emeralds & EMERALD1)) em = 0;
else if (!(emeralds & EMERALD2)) em = 1;
else if (!(emeralds & EMERALD3)) em = 2;
else if (!(emeralds & EMERALD4)) em = 3;
else if (!(emeralds & EMERALD5)) em = 4;
else if (!(emeralds & EMERALD6)) em = 5;
else if (!(emeralds & EMERALD7)) em = 6;
else return;
if (tallydonetic != -1) if (tallydonetic != -1)
{ {
@ -190,7 +201,7 @@ static void Y_IntermissionTokenDrawer(void)
offs = 8; offs = 8;
} }
V_DrawFill(32, lowy-1, 16, 1, 31); // slot V_DrawSmallScaledPatch(32, lowy-1, 0, emeraldpics[2][em]); // coinbox
y = (lowy + offs + 1) - (temp + (token + 1)*8); y = (lowy + offs + 1) - (temp + (token + 1)*8);
@ -370,14 +381,14 @@ void Y_IntermissionDrawer(void)
} }
// draw the emeralds // draw the emeralds
if (intertic & 1) //if (intertic & 1)
{ {
INT32 emeraldx = 80; INT32 emeraldx = 152 - 3*28;
for (i = 0; i < 7; ++i) for (i = 0; i < 7; ++i)
{ {
if (emeralds & (1 << i)) if ((emeralds & (1 << i)) && ((intertic & 1) || i != (gamemap + 1 - sstage_start)))
V_DrawScaledPatch(emeraldx, 74, 0, emeraldpics[i]); V_DrawScaledPatch(emeraldx, 74, 0, emeraldpics[0][i]);
emeraldx += 24; emeraldx += 28;
} }
} }