New intermission base

Very incomplete. Currently draws the background and most of the necessary patches. Ignore some of the stupid shit I did here, it'll be cleaned up later.
This commit is contained in:
wolfy852 2023-02-20 23:32:05 -06:00 committed by toaster
parent 1e2c3b8657
commit 3070c2037b

View file

@ -47,6 +47,7 @@
#include "k_boss.h"
#include "k_pwrlv.h"
#include "k_grandprix.h"
#include "k_color.h"
#ifdef HWRENDER
#include "hardware/hw_main.h"
@ -291,7 +292,7 @@ static void Y_CalculateMatchData(UINT8 rankingsmode, void (*comparison)(INT32))
void Y_IntermissionDrawer(void)
{
// dummy ALL OF THIS SHIT out, we're gonnas be starting over.
// dummy ALL OF THIS SHIT out, we're gonna be starting over.
#if 0
INT32 i, whiteplayer = MAXPLAYERS, x = 4, hilicol = highlightflags;
@ -588,12 +589,106 @@ skiptallydrawer:
M_DrawMenuForeground();
#endif
UINT8 *color = NULL;
// Patches
patch_t *gthro = W_CachePatchName("R_GTHRO", PU_PATCH);
patch_t *resbar = W_CachePatchName("R_RESBAR", PU_PATCH);
patch_t *rmbg1 = W_CachePatchName("R_RMBG1", PU_PATCH);
patch_t *rmbg2 = W_CachePatchName("R_RMBG2", PU_PATCH);
patch_t *rmbg3 = W_CachePatchName("R_RMBG3", PU_PATCH);
patch_t *rmbg4 = W_CachePatchName("R_RMBG4", PU_PATCH);
patch_t *rpmark = W_CachePatchName("R_RPMARK", PU_PATCH);
patch_t *rrmrk1 = W_CachePatchName("R_RRMRK1", PU_PATCH);
patch_t *rrmrk2 = W_CachePatchName("R_RRMRK2", PU_PATCH);
patch_t *rrmrk3 = W_CachePatchName("R_RRMRK3", PU_PATCH);
patch_t *rrmrk4 = W_CachePatchName("R_RRMRK4", PU_PATCH);
patch_t *rrmln1 = W_CachePatchName("R_RRMLN1", PU_PATCH);
patch_t *rrmln2 = W_CachePatchName("R_RRMLN2", PU_PATCH);
patch_t *rrmls1 = W_CachePatchName("R_RRMLS1", PU_PATCH);
patch_t *rrmls2 = W_CachePatchName("R_RRMLS2", PU_PATCH);
patch_t *rtpbr = W_CachePatchName("R_RTPBR", PU_PATCH);
UINT8 *color = R_GetTranslationColormap(TC_DEFAULT, SKINCOLOR_YELLOW, GTC_CACHE); // I don't even know how necessary this is anymore but I don't want the game yelling at me
UINT8 *greymap = R_GetTranslationColormap(TC_DEFAULT, SKINCOLOR_GREY, GTC_CACHE);
K_RainbowColormap(color, SKINCOLOR_YELLOW);
if (intertype == int_none || rendermode == render_none)
return;
if (renderisnewtic)
{
LUA_HUD_ClearDrawList(luahuddrawlist_intermission);
LUA_HookHUD(luahuddrawlist_intermission, HUD_HOOK(intermission));
}
LUA_HUD_DrawList(luahuddrawlist_intermission);
//if (!LUA_HudEnabled(hud_intermissiontally))
//goto skiptallydrawer;
// Draw the background
K_DrawMapThumbnail(0, 0, BASEVIDWIDTH<<FRACBITS, 0, prevmap, color);
// Draw the header bar
V_DrawFixedPatch(20<<FRACBITS, 24<<FRACBITS, FRACUNIT, 0, rtpbr, 0);
// Draw "GOT THROUGH ROUND"
V_DrawFixedPatch(50<<FRACBITS, 42<<FRACBITS, FRACUNIT, 0, gthro, 0);
// TODO: Clean this bullshit up
// Draw resbars
V_DrawFixedPatch(41<<FRACBITS, 84<<FRACBITS, FRACUNIT, 0, resbar, 0);
V_DrawFixedPatch(41<<FRACBITS, 98<<FRACBITS, FRACUNIT, 0, resbar, 0);
V_DrawFixedPatch(41<<FRACBITS, 112<<FRACBITS, FRACUNIT, 0, resbar, 0);
V_DrawFixedPatch(41<<FRACBITS, 126<<FRACBITS, FRACUNIT, 0, resbar, 0);
V_DrawFixedPatch(169<<FRACBITS, 84<<FRACBITS, FRACUNIT, 0, resbar, 0);
V_DrawFixedPatch(169<<FRACBITS, 98<<FRACBITS, FRACUNIT, 0, resbar, 0);
V_DrawFixedPatch(169<<FRACBITS, 112<<FRACBITS, FRACUNIT, 0, resbar, 0);
V_DrawFixedPatch(169<<FRACBITS, 126<<FRACBITS, FRACUNIT, 0, resbar, 0);
// Draw bottom pieces
V_DrawFixedPatch(0, 167<<FRACBITS, FRACUNIT, 0, rmbg1, greymap);
V_DrawFixedPatch(24<<FRACBITS, 167<<FRACBITS, FRACUNIT, 0, rmbg2, greymap);
V_DrawFixedPatch(48<<FRACBITS, 167<<FRACBITS, FRACUNIT, 0, rmbg3, greymap);
V_DrawFixedPatch(72<<FRACBITS, 167<<FRACBITS, FRACUNIT, 0, rmbg2, greymap);
V_DrawFixedPatch(96<<FRACBITS, 167<<FRACBITS, FRACUNIT, 0, rmbg3, greymap);
V_DrawFixedPatch(120<<FRACBITS, 167<<FRACBITS, FRACUNIT, 0, rmbg2, greymap);
V_DrawFixedPatch(144<<FRACBITS, 167<<FRACBITS, FRACUNIT, 0, rmbg3, greymap);
V_DrawFixedPatch(168<<FRACBITS, 167<<FRACBITS, FRACUNIT, 0, rmbg1, greymap);
V_DrawFixedPatch(192<<FRACBITS, 167<<FRACBITS, FRACUNIT, 0, rmbg1, greymap);
V_DrawFixedPatch(216<<FRACBITS, 167<<FRACBITS, FRACUNIT, 0, rmbg1, greymap);
V_DrawFixedPatch(240<<FRACBITS, 167<<FRACBITS, FRACUNIT, 0, rmbg1, greymap);
V_DrawFixedPatch(253<<FRACBITS, 167<<FRACBITS, FRACUNIT, 0, rmbg1, greymap);
V_DrawFixedPatch(277<<FRACBITS, 167<<FRACBITS, FRACUNIT, 0, rmbg4, greymap);
V_DrawFixedPatch(301<<FRACBITS, 167<<FRACBITS, FRACUNIT, 0, rmbg1, greymap);
// Draw the lines
// Draw the shadows first, so they don't draw over the lines
//V_DrawFixedPatch(26<<FRACBITS, 182<<FRACBITS, FRACUNIT, 0, rrmls1, 0);
// now draw the actual lines
//V_DrawFixedPatch(26<<FRACBITS, 180<<FRACBITS, FRACUNIT, 0, rrmln1, 0);
// Draw the progress markers
V_DrawFixedPatch(16<<FRACBITS, 179<<FRACBITS, FRACUNIT, 0, rrmrk1, 0);
V_DrawFixedPatch(40<<FRACBITS, 171<<FRACBITS, FRACUNIT, 0, rrmrk2, 0);
V_DrawFixedPatch(64<<FRACBITS, 179<<FRACBITS, FRACUNIT, 0, rrmrk3, 0);
V_DrawFixedPatch(88<<FRACBITS, 171<<FRACBITS, FRACUNIT, 0, rrmrk2, 0);
V_DrawFixedPatch(112<<FRACBITS, 179<<FRACBITS, FRACUNIT, 0, rrmrk2, 0);
V_DrawFixedPatch(136<<FRACBITS, 171<<FRACBITS, FRACUNIT, 0, rrmrk3, 0);
V_DrawFixedPatch(160<<FRACBITS, 179<<FRACBITS, FRACUNIT, 0, rrmrk2, 0);
V_DrawFixedPatch(282<<FRACBITS, 179<<FRACBITS, FRACUNIT, 0, rrmrk4, 0);
// Draw rank icon
V_DrawFixedPatch(14<<FRACBITS, 165<<FRACBITS, FRACUNIT, 0, rpmark, 0);
}
//