mirror of
https://github.com/KartKrewDev/RingRacers.git
synced 2025-12-27 10:22:32 +00:00
WIP title screen
This commit is contained in:
parent
ee21b2493a
commit
a83504c1a4
4 changed files with 88 additions and 25 deletions
|
|
@ -1923,7 +1923,6 @@ static boolean CL_ServerConnectionTicker(const char *tmpsave, tic_t *oldtic, tic
|
|||
{
|
||||
if (cl_mode != CL_DOWNLOADFILES && cl_mode != CL_DOWNLOADSAVEGAME)
|
||||
{
|
||||
F_MenuPresTicker(true); // title sky
|
||||
F_TitleScreenTicker(true);
|
||||
F_TitleScreenDrawer();
|
||||
}
|
||||
|
|
|
|||
|
|
@ -2292,7 +2292,9 @@ void readmenu(MYFILE *f, INT32 num)
|
|||
menupres[num].ttname[0] = 0;
|
||||
menupres[num].hidetitlepics = true;
|
||||
}
|
||||
else // if (fastcmp(word2, "OLD") || fastcmp(word2, "SSNTAILS"))
|
||||
else if (fastcmp(word2, "RINGRACERS"))
|
||||
menupres[num].ttmode = TTMODE_RINGRACERS;
|
||||
else if (fastcmp(word2, "OLD"))
|
||||
menupres[num].ttmode = TTMODE_OLD;
|
||||
titlechanged = true;
|
||||
}
|
||||
|
|
@ -3385,7 +3387,9 @@ void readmaincfg(MYFILE *f)
|
|||
ttname[0] = 0;
|
||||
hidetitlepics = true;
|
||||
}
|
||||
else // if (fastcmp(word2, "OLD") || fastcmp(word2, "SSNTAILS"))
|
||||
else if (fastcmp(word2, "RINGRACERS"))
|
||||
ttmode = TTMODE_RINGRACERS;
|
||||
else if (fastcmp(word2, "OLD") || fastcmp(word2, "SSNTAILS"))
|
||||
ttmode = TTMODE_OLD;
|
||||
titlechanged = true;
|
||||
}
|
||||
|
|
|
|||
100
src/f_finale.c
100
src/f_finale.c
|
|
@ -44,7 +44,7 @@
|
|||
// Stage of animation:
|
||||
// 0 = text, 1 = art screen
|
||||
INT32 finalecount;
|
||||
INT32 titlescrollxspeed = 5;
|
||||
INT32 titlescrollxspeed = 16;
|
||||
INT32 titlescrollyspeed = 0;
|
||||
UINT8 titlemapinaction = TITLEMAP_OFF;
|
||||
|
||||
|
|
@ -58,8 +58,6 @@ static tic_t stoptimer;
|
|||
|
||||
static boolean keypressed = false;
|
||||
|
||||
static tic_t xscrolltimer;
|
||||
static tic_t yscrolltimer;
|
||||
static INT32 menuanimtimer; // Title screen: background animation timing
|
||||
mobj_t *titlemapcameraref = NULL;
|
||||
|
||||
|
|
@ -81,7 +79,7 @@ static UINT32 demoIdleLeft;
|
|||
|
||||
// customizable title screen graphics
|
||||
|
||||
ttmode_enum ttmode = TTMODE_OLD;
|
||||
ttmode_enum ttmode = TTMODE_RINGRACERS;
|
||||
UINT8 ttscale = 1; // FRACUNIT / ttscale
|
||||
// ttmode user vars
|
||||
char ttname[9];
|
||||
|
|
@ -108,6 +106,13 @@ static patch_t *ttcheckers; // *vroom* KART
|
|||
static patch_t *ttkflash; // flash screen
|
||||
*/
|
||||
|
||||
static patch_t *kts_bumper; // DR ROBOTNIKS RING RACERS
|
||||
static patch_t *kts_eggman; // dr. robotnik himself
|
||||
static patch_t *kts_tails; // tails himself
|
||||
static patch_t *kts_tails_tails; // tails' tails
|
||||
static patch_t *kts_electricity[6]; // ring o' electricity
|
||||
static patch_t *kts_copyright; // (C) SEGA
|
||||
|
||||
#define NOWAY
|
||||
|
||||
#ifdef NOWAY
|
||||
|
|
@ -1688,10 +1693,10 @@ void F_InitMenuPresValues(void)
|
|||
// Set defaults for presentation values
|
||||
strncpy(curbgname, "TITLESKY", 9);
|
||||
curfadevalue = 16;
|
||||
curbgcolor = 31;
|
||||
curbgxspeed = (gamestate == GS_TIMEATTACK) ? 0 : titlescrollxspeed;
|
||||
curbgyspeed = (gamestate == GS_TIMEATTACK) ? 22 : titlescrollyspeed;
|
||||
curbghide = (gamestate == GS_TIMEATTACK) ? false : true;
|
||||
curbgcolor = -1;
|
||||
curbgxspeed = titlescrollxspeed;
|
||||
curbgyspeed = titlescrollyspeed;
|
||||
curbghide = false;
|
||||
|
||||
curhidepics = hidetitlepics;
|
||||
curttmode = ttmode;
|
||||
|
|
@ -1721,24 +1726,26 @@ void F_SkyScroll(INT32 scrollxspeed, INT32 scrollyspeed, const char *patchname)
|
|||
INT32 pw, ph; // scaled by dupz
|
||||
patch_t *pat;
|
||||
INT32 i, j;
|
||||
INT32 xscrolltimer, yscrolltimer;
|
||||
|
||||
if (rendermode == render_none)
|
||||
return;
|
||||
|
||||
V_DrawFill(0, 0, vid.width, vid.height, 31);
|
||||
|
||||
if (!patchname || !patchname[0])
|
||||
{
|
||||
V_DrawFill(0, 0, vid.width, vid.height, 31);
|
||||
return;
|
||||
}
|
||||
|
||||
if (!scrollxspeed && !scrollyspeed)
|
||||
{
|
||||
V_DrawPatchFill(W_CachePatchName(patchname, PU_PATCH_LOWPRIORITY));
|
||||
return;
|
||||
}
|
||||
|
||||
pat = W_CachePatchName(patchname, PU_PATCH_LOWPRIORITY);
|
||||
|
||||
if (scrollxspeed == 0 && scrollyspeed == 0)
|
||||
{
|
||||
V_DrawPatchFill(pat);
|
||||
return;
|
||||
}
|
||||
|
||||
patwidth = pat->width;
|
||||
patheight = pat->height;
|
||||
pw = patwidth * dupz;
|
||||
|
|
@ -1768,8 +1775,6 @@ void F_SkyScroll(INT32 scrollxspeed, INT32 scrollyspeed, const char *patchname)
|
|||
V_NOSCALESTART, pat);
|
||||
}
|
||||
}
|
||||
|
||||
W_UnlockCachedPatch(pat);
|
||||
}
|
||||
|
||||
#define LOADTTGFX(arr, name, maxf) \
|
||||
|
|
@ -1800,15 +1805,30 @@ else \
|
|||
|
||||
static void F_CacheTitleScreen(void)
|
||||
{
|
||||
UINT16 i;
|
||||
|
||||
switch(curttmode)
|
||||
{
|
||||
case TTMODE_OLD:
|
||||
case TTMODE_NONE:
|
||||
break;
|
||||
|
||||
case TTMODE_OLD:
|
||||
break; // idk do we still want this?
|
||||
|
||||
case TTMODE_RINGRACERS:
|
||||
kts_bumper = W_CachePatchName("KTSBUMPR1", PU_PATCH_LOWPRIORITY);
|
||||
kts_eggman = W_CachePatchName("KTSEGG01", PU_PATCH_LOWPRIORITY);
|
||||
kts_tails = W_CachePatchName("KTSTAL01", PU_PATCH_LOWPRIORITY);
|
||||
kts_tails_tails = W_CachePatchName("KTSTAL02", PU_PATCH_LOWPRIORITY);
|
||||
for (i = 0; i < 6; i++)
|
||||
{
|
||||
kts_electricity[i] = W_CachePatchName(va("KTSELCT%.1d", i+1), PU_PATCH_LOWPRIORITY);
|
||||
}
|
||||
kts_copyright = W_CachePatchName("KTSCR", PU_PATCH_LOWPRIORITY);
|
||||
break;
|
||||
|
||||
case TTMODE_USER:
|
||||
{
|
||||
UINT16 i;
|
||||
lumpnum_t lumpnum;
|
||||
char lumpname[9];
|
||||
|
||||
|
|
@ -1932,8 +1952,46 @@ void F_TitleScreenDrawer(void)
|
|||
|
||||
switch(curttmode)
|
||||
{
|
||||
case TTMODE_OLD:
|
||||
case TTMODE_NONE:
|
||||
break;
|
||||
|
||||
case TTMODE_RINGRACERS:
|
||||
{
|
||||
const char *eggName = "eggman";
|
||||
INT32 eggSkin = R_SkinAvailable(eggName);
|
||||
skincolornum_t eggColor = SKINCOLOR_RED;
|
||||
UINT8 *eggColormap = NULL;
|
||||
|
||||
const char *tailsName = "tails";
|
||||
INT32 tailsSkin = R_SkinAvailable(tailsName);
|
||||
skincolornum_t tailsColor = SKINCOLOR_ORANGE;
|
||||
UINT8 *tailsColormap = NULL;
|
||||
|
||||
if (eggSkin != -1)
|
||||
{
|
||||
eggColor = skins[eggSkin].prefcolor;
|
||||
}
|
||||
eggColormap = R_GetTranslationColormap(TC_DEFAULT, eggColor, GTC_MENUCACHE);
|
||||
|
||||
if (tailsSkin != -1)
|
||||
{
|
||||
tailsColor = skins[tailsSkin].prefcolor;
|
||||
}
|
||||
tailsColormap = R_GetTranslationColormap(TC_DEFAULT, tailsColor, GTC_MENUCACHE);
|
||||
|
||||
V_DrawFixedPatch(0, 0, FRACUNIT, 0, kts_tails_tails, tailsColormap);
|
||||
V_DrawFixedPatch(0, 0, FRACUNIT, V_ADD, kts_electricity[finalecount % 6], NULL);
|
||||
|
||||
V_DrawFixedPatch(0, 0, FRACUNIT, 0, kts_eggman, eggColormap);
|
||||
V_DrawFixedPatch(0, 0, FRACUNIT, 0, kts_tails, tailsColormap);
|
||||
|
||||
V_DrawFixedPatch(0, 0, FRACUNIT, 0, kts_bumper, NULL);
|
||||
|
||||
V_DrawFixedPatch(0, 0, FRACUNIT, 0, kts_copyright, NULL);
|
||||
break;
|
||||
}
|
||||
|
||||
case TTMODE_OLD:
|
||||
/*
|
||||
if (finalecount < 50)
|
||||
{
|
||||
|
|
@ -2020,6 +2078,8 @@ void F_MenuPresTicker(boolean run)
|
|||
// (no longer) De-Demo'd Title Screen
|
||||
void F_TitleScreenTicker(boolean run)
|
||||
{
|
||||
F_MenuPresTicker(true); // title sky
|
||||
|
||||
if (run)
|
||||
{
|
||||
finalecount++;
|
||||
|
|
|
|||
|
|
@ -80,9 +80,9 @@ extern INT32 titlescrollyspeed;
|
|||
typedef enum
|
||||
{
|
||||
TTMODE_NONE = 0,
|
||||
TTMODE_RINGRACERS,
|
||||
TTMODE_OLD,
|
||||
TTMODE_USER,
|
||||
//TTMODE_RINGRACERS
|
||||
TTMODE_USER
|
||||
} ttmode_enum;
|
||||
|
||||
#define TTMAX_ALACROIX 30 // max frames for SONIC typeface, plus one for NULL terminating entry
|
||||
|
|
|
|||
Loading…
Add table
Reference in a new issue