mirror of
https://git.do.srb2.org/KartKrew/Kart-Public.git
synced 2025-02-21 03:11:24 +00:00
Merge remote-tracking branch 'refs/remotes/origin/master' into buuump
# Conflicts: # src/f_finale.c
This commit is contained in:
commit
0401a8654a
6 changed files with 66 additions and 30 deletions
|
@ -341,7 +341,10 @@ static void D_Display(void)
|
|||
case GS_INTRO:
|
||||
F_IntroDrawer();
|
||||
if (wipegamestate == (gamestate_t)-1)
|
||||
{
|
||||
wipe = true;
|
||||
wipedefindex = gamestate; // wipe_xxx_toblack
|
||||
}
|
||||
break;
|
||||
|
||||
case GS_CUTSCENE:
|
||||
|
@ -523,7 +526,7 @@ static void D_Display(void)
|
|||
else
|
||||
py = viewwindowy + 4;
|
||||
patch = W_CachePatchName("M_PAUSE", PU_CACHE);
|
||||
V_DrawScaledPatch(viewwindowx + (viewwidth - SHORT(patch->width))/2, py, 0, patch);
|
||||
V_DrawScaledPatch(viewwindowx + (BASEVIDWIDTH - SHORT(patch->width))/2, py, 0, patch);
|
||||
}
|
||||
|
||||
// vid size change is now finished if it was on...
|
||||
|
|
|
@ -35,7 +35,7 @@
|
|||
// Stage of animation:
|
||||
// 0 = text, 1 = art screen
|
||||
static INT32 finalecount;
|
||||
INT32 titlescrollspeed = 80;
|
||||
INT32 titlescrollspeed = 5;
|
||||
|
||||
static INT32 timetonext; // Delay between screen changes
|
||||
static INT32 continuetime; // Short delay when continuing
|
||||
|
@ -52,23 +52,10 @@ static UINT8 curDemo = 0;
|
|||
static UINT32 demoDelayLeft;
|
||||
static UINT32 demoIdleLeft;
|
||||
|
||||
/*static patch_t *ttbanner; // white banner with "robo blast" and "2"
|
||||
static patch_t *ttwing; // wing background
|
||||
static patch_t *ttsonic; // "SONIC"
|
||||
static patch_t *ttswave1; // Title Sonics
|
||||
static patch_t *ttswave2;
|
||||
static patch_t *ttswip1;
|
||||
static patch_t *ttsprep1;
|
||||
static patch_t *ttsprep2;
|
||||
static patch_t *ttspop1;
|
||||
static patch_t *ttspop2;
|
||||
static patch_t *ttspop3;
|
||||
static patch_t *ttspop4;
|
||||
static patch_t *ttspop5;
|
||||
static patch_t *ttspop6;
|
||||
static patch_t *ttspop7;*/
|
||||
|
||||
static patch_t *kartttl; // SONIC ROBO BLAST 2 KART
|
||||
static patch_t *ttbanner; // SONIC ROBO BLAST 2
|
||||
static patch_t *ttkart; // *vroom* KART
|
||||
static patch_t *ttcheckers; // *vroom* KART
|
||||
static patch_t *ttkflash; // flash screen
|
||||
|
||||
static void F_SkyScroll(INT32 scrollspeed);
|
||||
|
||||
|
@ -366,6 +353,11 @@ void F_IntroDrawer(void)
|
|||
}
|
||||
|
||||
D_StartTitle();
|
||||
// Yes, this is a weird hack, we need to force a wipe for this because the game state has changed in the middle of where it would normally wipe
|
||||
// Need to set the wipe start and then draw the first frame of the title screen to get it working
|
||||
F_WipeStartScreen();
|
||||
F_TitleScreenDrawer();
|
||||
wipegamestate = -1; // force a wipe
|
||||
return;
|
||||
}
|
||||
|
||||
|
@ -927,14 +919,18 @@ void F_StartTitleScreen(void)
|
|||
|
||||
// IWAD dependent stuff.
|
||||
|
||||
S_ChangeMusicInternal("titles", looptitle);
|
||||
// music is started in the ticker
|
||||
S_StopMusic();
|
||||
|
||||
animtimer = 0;
|
||||
|
||||
demoDelayLeft = demoDelayTime;
|
||||
demoIdleLeft = demoIdleTime;
|
||||
|
||||
kartttl = W_CachePatchName("KARTTTL", PU_LEVEL);
|
||||
ttbanner = W_CachePatchName("TTKBANNR", PU_LEVEL);
|
||||
ttkart = W_CachePatchName("TTKART", PU_LEVEL);
|
||||
ttcheckers = W_CachePatchName("TTCHECK", PU_LEVEL);
|
||||
ttkflash = W_CachePatchName("TTKFLASH", PU_LEVEL);
|
||||
}
|
||||
|
||||
// (no longer) De-Demo'd Title Screen
|
||||
|
@ -943,22 +939,58 @@ void F_TitleScreenDrawer(void)
|
|||
if (modeattacking)
|
||||
return; // We likely came here from retrying. Don't do a damn thing.
|
||||
|
||||
// Draw that sky!
|
||||
F_SkyScroll(titlescrollspeed);
|
||||
if (finalecount < 50)
|
||||
V_DrawFill(0, 0, 320, 200, 31);
|
||||
else
|
||||
// Draw that sky!
|
||||
F_SkyScroll(titlescrollspeed);
|
||||
|
||||
// Don't draw outside of the title screewn, or if the patch isn't there.
|
||||
if (!kartttl || (gamestate != GS_TITLESCREEN && gamestate != GS_WAITINGPLAYERS))
|
||||
if (!ttbanner || (gamestate != GS_TITLESCREEN && gamestate != GS_WAITINGPLAYERS))
|
||||
return;
|
||||
|
||||
V_DrawScaledPatch(84, 36, 0, kartttl);
|
||||
V_DrawSmallScaledPatch(84, 36, 0, ttbanner);
|
||||
|
||||
if (finalecount < 20)
|
||||
{
|
||||
if (finalecount >= 10)
|
||||
V_DrawSciencePatch((84<<FRACBITS) - FixedDiv(180<<FRACBITS, 10<<FRACBITS)*(20-finalecount), (87<<FRACBITS), 0, ttkart, FRACUNIT/2);
|
||||
}
|
||||
else
|
||||
{
|
||||
V_DrawSmallScaledPatch(84, 87, 0, ttkart);
|
||||
|
||||
// Checkers, only need to be drawn after the whiteout, but we can do it here because it won't be seen before anyway
|
||||
V_DrawSciencePatch(0, 0 - FixedMul(40<<FRACBITS, FixedDiv(finalecount%70, 70)), V_SNAPTOTOP|V_SNAPTOLEFT, ttcheckers, FRACUNIT);
|
||||
V_DrawSciencePatch(280<<FRACBITS, -(40<<FRACBITS) + FixedMul(40<<FRACBITS, FixedDiv(finalecount%70, 70)), V_SNAPTOTOP|V_SNAPTORIGHT, ttcheckers, FRACUNIT);
|
||||
}
|
||||
|
||||
if (finalecount >= 50 && finalecount < 55)
|
||||
{
|
||||
V_DrawFill(0, 0, 320, 200, 120);
|
||||
V_DrawSmallScaledPatch(84, 36, 0, ttkflash);
|
||||
}
|
||||
}
|
||||
|
||||
// (no longer) De-Demo'd Title Screen
|
||||
void F_TitleScreenTicker(boolean run)
|
||||
{
|
||||
if (run)
|
||||
{
|
||||
finalecount++;
|
||||
|
||||
if (finalecount == 10)
|
||||
{
|
||||
S_StartSound(NULL, sfx_spin);
|
||||
}
|
||||
else if (finalecount == 50)
|
||||
{
|
||||
// Now start the music
|
||||
S_ChangeMusicInternal("titles", looptitle);
|
||||
S_StartSound(NULL, sfx_zoom);
|
||||
}
|
||||
}
|
||||
|
||||
// don't trigger if doing anything besides idling on title
|
||||
if (gameaction != ga_nothing || gamestate != GS_TITLESCREEN)
|
||||
return;
|
||||
|
|
|
@ -48,7 +48,7 @@ UINT8 wipedefs[NUMWIPEDEFS] = {
|
|||
0, // wipe_level_toblack
|
||||
UINT8_MAX, // wipe_intermission_toblack
|
||||
UINT8_MAX, // wipe_continuing_toblack
|
||||
0, // wipe_titlescreen_toblack
|
||||
3, // wipe_titlescreen_toblack
|
||||
0, // wipe_timeattack_toblack
|
||||
99, // wipe_credits_toblack
|
||||
0, // wipe_evaluation_toblack
|
||||
|
@ -63,7 +63,7 @@ UINT8 wipedefs[NUMWIPEDEFS] = {
|
|||
0, // wipe_level_final
|
||||
0, // wipe_intermission_final
|
||||
0, // wipe_continuing_final
|
||||
0, // wipe_titlescreen_final
|
||||
3, // wipe_titlescreen_final
|
||||
0, // wipe_timeattack_final
|
||||
99, // wipe_credits_final
|
||||
0, // wipe_evaluation_final
|
||||
|
|
|
@ -125,7 +125,7 @@ INT16 spstage_start;
|
|||
INT16 sstage_start;
|
||||
INT16 sstage_end;
|
||||
|
||||
boolean looptitle = false;
|
||||
boolean looptitle = true;
|
||||
boolean useNightsSS = false;
|
||||
|
||||
UINT8 skincolor_redteam = SKINCOLOR_RED;
|
||||
|
|
|
@ -7855,7 +7855,7 @@ void M_QuitResponse(INT32 ch)
|
|||
ptime = I_GetTime() + NEWTICRATE*2; // Shortened the quit time, used to be 2 seconds Tails 03-26-2001
|
||||
while (ptime > I_GetTime())
|
||||
{
|
||||
V_DrawScaledPatch(0, 0, 0, W_CachePatchName("GAMEQUIT", PU_CACHE)); // Demo 3 Quit Screen Tails 06-16-2001
|
||||
V_DrawSmallScaledPatch(0, 0, 0, W_CachePatchName("GAMEQUIT", PU_CACHE)); // Demo 3 Quit Screen Tails 06-16-2001
|
||||
I_FinishUpdate(); // Update the screen with the image Tails 06-19-2001
|
||||
I_Sleep();
|
||||
}
|
||||
|
|
|
@ -476,7 +476,8 @@ void V_DrawFixedPatch(fixed_t x, fixed_t y, fixed_t pscale, INT32 scrn, patch_t
|
|||
desttop += (vid.height - (BASEVIDHEIGHT * dupy)) * vid.width / 2;
|
||||
}
|
||||
// if it's meant to cover the whole screen, black out the rest
|
||||
if (x == 0 && SHORT(patch->width) == BASEVIDWIDTH && y == 0 && SHORT(patch->height) == BASEVIDHEIGHT)
|
||||
if (x == 0 && FixedMul(SHORT(patch->width)<<FRACBITS, pscale)>>FRACBITS == BASEVIDWIDTH
|
||||
&& y == 0 && FixedMul(SHORT(patch->height)<<FRACBITS, pscale)>>FRACBITS == BASEVIDHEIGHT)
|
||||
{
|
||||
column = (const column_t *)((const UINT8 *)(patch) + LONG(patch->columnofs[0]));
|
||||
source = (const UINT8 *)(column) + 3;
|
||||
|
|
Loading…
Reference in a new issue