mirror of
https://github.com/KartKrewDev/RingRacers.git
synced 2026-04-27 04:21:47 +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)
|
if (cl_mode != CL_DOWNLOADFILES && cl_mode != CL_DOWNLOADSAVEGAME)
|
||||||
{
|
{
|
||||||
F_MenuPresTicker(true); // title sky
|
|
||||||
F_TitleScreenTicker(true);
|
F_TitleScreenTicker(true);
|
||||||
F_TitleScreenDrawer();
|
F_TitleScreenDrawer();
|
||||||
}
|
}
|
||||||
|
|
|
||||||
|
|
@ -2292,7 +2292,9 @@ void readmenu(MYFILE *f, INT32 num)
|
||||||
menupres[num].ttname[0] = 0;
|
menupres[num].ttname[0] = 0;
|
||||||
menupres[num].hidetitlepics = true;
|
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;
|
menupres[num].ttmode = TTMODE_OLD;
|
||||||
titlechanged = true;
|
titlechanged = true;
|
||||||
}
|
}
|
||||||
|
|
@ -3385,7 +3387,9 @@ void readmaincfg(MYFILE *f)
|
||||||
ttname[0] = 0;
|
ttname[0] = 0;
|
||||||
hidetitlepics = true;
|
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;
|
ttmode = TTMODE_OLD;
|
||||||
titlechanged = true;
|
titlechanged = true;
|
||||||
}
|
}
|
||||||
|
|
|
||||||
100
src/f_finale.c
100
src/f_finale.c
|
|
@ -44,7 +44,7 @@
|
||||||
// Stage of animation:
|
// Stage of animation:
|
||||||
// 0 = text, 1 = art screen
|
// 0 = text, 1 = art screen
|
||||||
INT32 finalecount;
|
INT32 finalecount;
|
||||||
INT32 titlescrollxspeed = 5;
|
INT32 titlescrollxspeed = 16;
|
||||||
INT32 titlescrollyspeed = 0;
|
INT32 titlescrollyspeed = 0;
|
||||||
UINT8 titlemapinaction = TITLEMAP_OFF;
|
UINT8 titlemapinaction = TITLEMAP_OFF;
|
||||||
|
|
||||||
|
|
@ -58,8 +58,6 @@ static tic_t stoptimer;
|
||||||
|
|
||||||
static boolean keypressed = false;
|
static boolean keypressed = false;
|
||||||
|
|
||||||
static tic_t xscrolltimer;
|
|
||||||
static tic_t yscrolltimer;
|
|
||||||
static INT32 menuanimtimer; // Title screen: background animation timing
|
static INT32 menuanimtimer; // Title screen: background animation timing
|
||||||
mobj_t *titlemapcameraref = NULL;
|
mobj_t *titlemapcameraref = NULL;
|
||||||
|
|
||||||
|
|
@ -81,7 +79,7 @@ static UINT32 demoIdleLeft;
|
||||||
|
|
||||||
// customizable title screen graphics
|
// customizable title screen graphics
|
||||||
|
|
||||||
ttmode_enum ttmode = TTMODE_OLD;
|
ttmode_enum ttmode = TTMODE_RINGRACERS;
|
||||||
UINT8 ttscale = 1; // FRACUNIT / ttscale
|
UINT8 ttscale = 1; // FRACUNIT / ttscale
|
||||||
// ttmode user vars
|
// ttmode user vars
|
||||||
char ttname[9];
|
char ttname[9];
|
||||||
|
|
@ -108,6 +106,13 @@ static patch_t *ttcheckers; // *vroom* KART
|
||||||
static patch_t *ttkflash; // flash screen
|
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
|
#define NOWAY
|
||||||
|
|
||||||
#ifdef NOWAY
|
#ifdef NOWAY
|
||||||
|
|
@ -1688,10 +1693,10 @@ void F_InitMenuPresValues(void)
|
||||||
// Set defaults for presentation values
|
// Set defaults for presentation values
|
||||||
strncpy(curbgname, "TITLESKY", 9);
|
strncpy(curbgname, "TITLESKY", 9);
|
||||||
curfadevalue = 16;
|
curfadevalue = 16;
|
||||||
curbgcolor = 31;
|
curbgcolor = -1;
|
||||||
curbgxspeed = (gamestate == GS_TIMEATTACK) ? 0 : titlescrollxspeed;
|
curbgxspeed = titlescrollxspeed;
|
||||||
curbgyspeed = (gamestate == GS_TIMEATTACK) ? 22 : titlescrollyspeed;
|
curbgyspeed = titlescrollyspeed;
|
||||||
curbghide = (gamestate == GS_TIMEATTACK) ? false : true;
|
curbghide = false;
|
||||||
|
|
||||||
curhidepics = hidetitlepics;
|
curhidepics = hidetitlepics;
|
||||||
curttmode = ttmode;
|
curttmode = ttmode;
|
||||||
|
|
@ -1721,24 +1726,26 @@ void F_SkyScroll(INT32 scrollxspeed, INT32 scrollyspeed, const char *patchname)
|
||||||
INT32 pw, ph; // scaled by dupz
|
INT32 pw, ph; // scaled by dupz
|
||||||
patch_t *pat;
|
patch_t *pat;
|
||||||
INT32 i, j;
|
INT32 i, j;
|
||||||
|
INT32 xscrolltimer, yscrolltimer;
|
||||||
|
|
||||||
if (rendermode == render_none)
|
if (rendermode == render_none)
|
||||||
return;
|
return;
|
||||||
|
|
||||||
|
V_DrawFill(0, 0, vid.width, vid.height, 31);
|
||||||
|
|
||||||
if (!patchname || !patchname[0])
|
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;
|
return;
|
||||||
}
|
}
|
||||||
|
|
||||||
pat = W_CachePatchName(patchname, PU_PATCH_LOWPRIORITY);
|
pat = W_CachePatchName(patchname, PU_PATCH_LOWPRIORITY);
|
||||||
|
|
||||||
|
if (scrollxspeed == 0 && scrollyspeed == 0)
|
||||||
|
{
|
||||||
|
V_DrawPatchFill(pat);
|
||||||
|
return;
|
||||||
|
}
|
||||||
|
|
||||||
patwidth = pat->width;
|
patwidth = pat->width;
|
||||||
patheight = pat->height;
|
patheight = pat->height;
|
||||||
pw = patwidth * dupz;
|
pw = patwidth * dupz;
|
||||||
|
|
@ -1768,8 +1775,6 @@ void F_SkyScroll(INT32 scrollxspeed, INT32 scrollyspeed, const char *patchname)
|
||||||
V_NOSCALESTART, pat);
|
V_NOSCALESTART, pat);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
W_UnlockCachedPatch(pat);
|
|
||||||
}
|
}
|
||||||
|
|
||||||
#define LOADTTGFX(arr, name, maxf) \
|
#define LOADTTGFX(arr, name, maxf) \
|
||||||
|
|
@ -1800,15 +1805,30 @@ else \
|
||||||
|
|
||||||
static void F_CacheTitleScreen(void)
|
static void F_CacheTitleScreen(void)
|
||||||
{
|
{
|
||||||
|
UINT16 i;
|
||||||
|
|
||||||
switch(curttmode)
|
switch(curttmode)
|
||||||
{
|
{
|
||||||
case TTMODE_OLD:
|
|
||||||
case TTMODE_NONE:
|
case TTMODE_NONE:
|
||||||
break;
|
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:
|
case TTMODE_USER:
|
||||||
{
|
{
|
||||||
UINT16 i;
|
|
||||||
lumpnum_t lumpnum;
|
lumpnum_t lumpnum;
|
||||||
char lumpname[9];
|
char lumpname[9];
|
||||||
|
|
||||||
|
|
@ -1932,8 +1952,46 @@ void F_TitleScreenDrawer(void)
|
||||||
|
|
||||||
switch(curttmode)
|
switch(curttmode)
|
||||||
{
|
{
|
||||||
case TTMODE_OLD:
|
|
||||||
case TTMODE_NONE:
|
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)
|
if (finalecount < 50)
|
||||||
{
|
{
|
||||||
|
|
@ -2020,6 +2078,8 @@ void F_MenuPresTicker(boolean run)
|
||||||
// (no longer) De-Demo'd Title Screen
|
// (no longer) De-Demo'd Title Screen
|
||||||
void F_TitleScreenTicker(boolean run)
|
void F_TitleScreenTicker(boolean run)
|
||||||
{
|
{
|
||||||
|
F_MenuPresTicker(true); // title sky
|
||||||
|
|
||||||
if (run)
|
if (run)
|
||||||
{
|
{
|
||||||
finalecount++;
|
finalecount++;
|
||||||
|
|
|
||||||
|
|
@ -80,9 +80,9 @@ extern INT32 titlescrollyspeed;
|
||||||
typedef enum
|
typedef enum
|
||||||
{
|
{
|
||||||
TTMODE_NONE = 0,
|
TTMODE_NONE = 0,
|
||||||
|
TTMODE_RINGRACERS,
|
||||||
TTMODE_OLD,
|
TTMODE_OLD,
|
||||||
TTMODE_USER,
|
TTMODE_USER
|
||||||
//TTMODE_RINGRACERS
|
|
||||||
} ttmode_enum;
|
} ttmode_enum;
|
||||||
|
|
||||||
#define TTMAX_ALACROIX 30 // max frames for SONIC typeface, plus one for NULL terminating entry
|
#define TTMAX_ALACROIX 30 // max frames for SONIC typeface, plus one for NULL terminating entry
|
||||||
|
|
|
||||||
Loading…
Add table
Reference in a new issue