mirror of
https://git.do.srb2.org/KartKrew/Kart-Public.git
synced 2024-12-29 05:41:02 +00:00
Merge pull request #325 from monster-psychic-cat/opengl_startup_screen
Render the startup screen on OpenGL mode
This commit is contained in:
commit
b1587cb0a3
2 changed files with 11 additions and 88 deletions
|
@ -101,8 +101,6 @@ static void CON_RecalcSize(void);
|
||||||
|
|
||||||
static void CONS_hudlines_Change(void);
|
static void CONS_hudlines_Change(void);
|
||||||
static void CONS_backcolor_Change(void);
|
static void CONS_backcolor_Change(void);
|
||||||
static void CON_DrawBackpic(patch_t *pic, INT32 startx, INT32 destwidth);
|
|
||||||
//static void CON_DrawBackpic2(pic_t *pic, INT32 startx, INT32 destwidth);
|
|
||||||
|
|
||||||
//======================================================================
|
//======================================================================
|
||||||
// CONSOLE VARS AND COMMANDS
|
// CONSOLE VARS AND COMMANDS
|
||||||
|
@ -1233,24 +1231,15 @@ void CONS_Printf(const char *fmt, ...)
|
||||||
if (con_startup)
|
if (con_startup)
|
||||||
{
|
{
|
||||||
#if (defined (_WINDOWS)) || (defined (__OS2__) && !defined (HAVE_SDL))
|
#if (defined (_WINDOWS)) || (defined (__OS2__) && !defined (HAVE_SDL))
|
||||||
static lumpnum_t con_backpic_lumpnum = UINT32_MAX;
|
patch_t *con_backpic = W_CachePatchName("CONSBACK", PU_CACHE);
|
||||||
patch_t *con_backpic;
|
|
||||||
|
|
||||||
if (con_backpic_lumpnum == UINT32_MAX)
|
// Jimita: CON_DrawBackpic just called V_DrawScaledPatch
|
||||||
con_backpic_lumpnum = W_GetNumForName("CONSBACK");
|
V_DrawScaledPatch(0, 0, 0, con_backpic);
|
||||||
|
|
||||||
// We load the raw lump, even in hardware mode
|
W_UnlockCachedPatch(con_backpic);
|
||||||
con_backpic = (patch_t*)W_CacheLumpNum(con_backpic_lumpnum, PU_CACHE);
|
I_LoadingScreen(txt); // Win32/OS2 only
|
||||||
|
|
||||||
// show startup screen and message using only 'software' graphics
|
|
||||||
// (rendermode may be hardware accelerated, but the video mode is not set yet)
|
|
||||||
CON_DrawBackpic(con_backpic, 0, vid.width); // put console background
|
|
||||||
I_LoadingScreen(txt);
|
|
||||||
|
|
||||||
Z_Unlock(con_backpic);
|
|
||||||
#else
|
#else
|
||||||
// here we display the console background and console text
|
// here we display the console text
|
||||||
// (no hardware accelerated support for these versions)
|
|
||||||
CON_Drawer();
|
CON_Drawer();
|
||||||
I_FinishUpdate(); // page flip or blit buffer
|
I_FinishUpdate(); // page flip or blit buffer
|
||||||
#endif
|
#endif
|
||||||
|
@ -1474,64 +1463,6 @@ static void CON_DrawHudlines(void)
|
||||||
con_clearlines = y; // this is handled by HU_Erase();
|
con_clearlines = y; // this is handled by HU_Erase();
|
||||||
}
|
}
|
||||||
|
|
||||||
// Scale a pic_t at 'startx' pos, to 'destwidth' columns.
|
|
||||||
// startx, destwidth is resolution dependent
|
|
||||||
// Used to draw console borders, console background.
|
|
||||||
// The pic must be sized BASEVIDHEIGHT height.
|
|
||||||
static void CON_DrawBackpic(patch_t *pic, INT32 startx, INT32 destwidth)
|
|
||||||
{
|
|
||||||
(void)startx;
|
|
||||||
(void)destwidth;
|
|
||||||
V_DrawScaledPatch(0, 0, 0, pic);
|
|
||||||
}
|
|
||||||
|
|
||||||
#if 0
|
|
||||||
static inline void CON_DrawBackpic2(pic_t *pic, INT32 startx, INT32 destwidth)
|
|
||||||
{
|
|
||||||
INT32 x, y;
|
|
||||||
INT32 v;
|
|
||||||
UINT8 *src, *dest;
|
|
||||||
const UINT8 *deststop;
|
|
||||||
INT32 frac, fracstep;
|
|
||||||
|
|
||||||
dest = screens[0]+startx;
|
|
||||||
deststop = screens[0] + vid.rowbytes * vid.height;
|
|
||||||
|
|
||||||
for (y = 0; y < con_curlines; y++, dest += vid.width)
|
|
||||||
{
|
|
||||||
// scale the picture to the resolution
|
|
||||||
v = SHORT(pic->height) - ((con_curlines - y) * (BASEVIDHEIGHT-1) / vid.height) - 1;
|
|
||||||
|
|
||||||
src = pic->data + v*SHORT(pic->width);
|
|
||||||
|
|
||||||
// in case of the console backpic, simplify
|
|
||||||
if (SHORT(pic->width) == destwidth)
|
|
||||||
M_Memcpy(dest, src, destwidth);
|
|
||||||
else
|
|
||||||
{
|
|
||||||
// scale pic to screen width
|
|
||||||
frac = 0;
|
|
||||||
fracstep = (SHORT(pic->width)<<16)/destwidth;
|
|
||||||
for (x = 0; x < destwidth; x += 4)
|
|
||||||
{
|
|
||||||
if (dest+x > deststop) break;
|
|
||||||
dest[x] = src[frac>>FRACBITS];
|
|
||||||
frac += fracstep;
|
|
||||||
if (dest+x+1 > deststop) break;
|
|
||||||
dest[x+1] = src[frac>>FRACBITS];
|
|
||||||
frac += fracstep;
|
|
||||||
if (dest+x+2 > deststop) break;
|
|
||||||
dest[x+2] = src[frac>>FRACBITS];
|
|
||||||
frac += fracstep;
|
|
||||||
if (dest+x+3 > deststop) break;
|
|
||||||
dest[x+3] = src[frac>>FRACBITS];
|
|
||||||
frac += fracstep;
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
|
||||||
#endif
|
|
||||||
|
|
||||||
// draw the console background, text, and prompt if enough place
|
// draw the console background, text, and prompt if enough place
|
||||||
//
|
//
|
||||||
static void CON_DrawConsole(void)
|
static void CON_DrawConsole(void)
|
||||||
|
@ -1554,18 +1485,10 @@ static void CON_DrawConsole(void)
|
||||||
// draw console background
|
// draw console background
|
||||||
if (cons_backpic.value || con_forcepic)
|
if (cons_backpic.value || con_forcepic)
|
||||||
{
|
{
|
||||||
static lumpnum_t con_backpic_lumpnum = UINT32_MAX;
|
patch_t *con_backpic = W_CachePatchName("CONSBACK", PU_CACHE);
|
||||||
patch_t *con_backpic;
|
|
||||||
|
|
||||||
if (con_backpic_lumpnum == UINT32_MAX)
|
// Jimita: CON_DrawBackpic just called V_DrawScaledPatch
|
||||||
con_backpic_lumpnum = W_GetNumForName("CONSBACK");
|
|
||||||
|
|
||||||
con_backpic = (patch_t*)W_CachePatchNum(con_backpic_lumpnum, PU_CACHE);
|
|
||||||
|
|
||||||
if (rendermode != render_soft)
|
|
||||||
V_DrawScaledPatch(0, 0, 0, con_backpic);
|
V_DrawScaledPatch(0, 0, 0, con_backpic);
|
||||||
else if (rendermode != render_none)
|
|
||||||
CON_DrawBackpic(con_backpic, 0, vid.width); // picture as background
|
|
||||||
|
|
||||||
W_UnlockCachedPatch(con_backpic);
|
W_UnlockCachedPatch(con_backpic);
|
||||||
}
|
}
|
||||||
|
|
|
@ -344,8 +344,8 @@ void V_DrawFixedPatch(fixed_t x, fixed_t y, fixed_t pscale, INT32 scrn, patch_t
|
||||||
return;
|
return;
|
||||||
|
|
||||||
#ifdef HWRENDER
|
#ifdef HWRENDER
|
||||||
// oh please
|
//if (rendermode != render_soft && !con_startup) // Why?
|
||||||
if (rendermode != render_soft && !con_startup)
|
if (rendermode != render_soft)
|
||||||
{
|
{
|
||||||
HWR_DrawFixedPatch((GLPatch_t *)patch, x, y, pscale, scrn, colormap);
|
HWR_DrawFixedPatch((GLPatch_t *)patch, x, y, pscale, scrn, colormap);
|
||||||
return;
|
return;
|
||||||
|
|
Loading…
Reference in a new issue