2014-03-15 16:59:03 +00:00
|
|
|
// SONIC ROBO BLAST 2
|
|
|
|
//-----------------------------------------------------------------------------
|
|
|
|
// Copyright (C) 1993-1996 by id Software, Inc.
|
|
|
|
// Copyright (C) 1998-2000 by DooM Legacy Team.
|
2023-03-31 12:53:31 +00:00
|
|
|
// Copyright (C) 1999-2023 by Sonic Team Junior.
|
2014-03-15 16:59:03 +00:00
|
|
|
//
|
|
|
|
// This program is free software distributed under the
|
|
|
|
// terms of the GNU General Public License, version 2.
|
|
|
|
// See the 'LICENSE' file for more details.
|
|
|
|
//-----------------------------------------------------------------------------
|
|
|
|
/// \file st_stuff.h
|
|
|
|
/// \brief Status bar header
|
|
|
|
|
|
|
|
#ifndef __STSTUFF_H__
|
|
|
|
#define __STSTUFF_H__
|
|
|
|
|
|
|
|
#include "doomtype.h"
|
|
|
|
#include "d_event.h"
|
|
|
|
#include "d_player.h"
|
|
|
|
#include "r_defs.h"
|
|
|
|
|
|
|
|
//
|
|
|
|
// STATUS BAR
|
|
|
|
//
|
|
|
|
|
|
|
|
// Called by main loop.
|
2019-11-18 14:39:54 +00:00
|
|
|
void ST_Ticker(boolean run);
|
2014-03-15 16:59:03 +00:00
|
|
|
|
|
|
|
// Called by main loop.
|
2016-04-07 01:01:01 +00:00
|
|
|
void ST_Drawer(void);
|
2014-03-15 16:59:03 +00:00
|
|
|
|
|
|
|
// Called when the console player is spawned on each level.
|
|
|
|
void ST_Start(void);
|
|
|
|
|
|
|
|
// Called by startup code.
|
|
|
|
void ST_Init(void);
|
|
|
|
|
|
|
|
// Called by G_Responder() when pressing F12 while viewing a demo.
|
|
|
|
void ST_changeDemoView(void);
|
|
|
|
|
|
|
|
void ST_UnloadGraphics(void);
|
|
|
|
void ST_LoadGraphics(void);
|
|
|
|
|
|
|
|
// face load graphics, called when skin changes
|
A good and bad ending cutscene now exist.
Also:
* SPR2_XTRA - instead of defining lumpnames in S_SKIN, those kinds of assets can just be bundled into the spriteset. Required for ending cutscene stuff, I guess, but also done for HUD life icon and character select image (aside from Sonic&Tails, still SOC'd in).
* Minor oversights in SPR2 support corrected.
* Better evaluation, featuring ending assets.
* Intro has warping-in blackrock, reusing ending assets.
* Cutscene text now supports lowercase (intro and custom).
* Disable the asset-fucking "gamma correction" I put in over two years ago when implementing colour cube. (This is the only thing I could move into another branch if you MUST, but it's basically invisble in the diff so w/e.)
* Don't blank the screen if the top left pixel of a screen-covering patch is transparent. (Checked via nonzero topdelta for first column)
Bugs:
* OPENGL ONLY: The first ~20 frames of both endings are fucked. A little help here? Might be HWR_DrawFadeFill's fault, which I just created. OR it could be in f_finale, but I doubt it, since it doesn't appear in Software.
2019-07-27 23:32:57 +00:00
|
|
|
void ST_LoadFaceGraphics(INT32 playernum);
|
2014-03-15 16:59:03 +00:00
|
|
|
void ST_ReloadSkinFaceGraphics(void);
|
|
|
|
|
|
|
|
void ST_doPaletteStuff(void);
|
|
|
|
|
2019-11-18 14:39:54 +00:00
|
|
|
// title card
|
|
|
|
void ST_startTitleCard(void);
|
|
|
|
void ST_runTitleCard(void);
|
|
|
|
void ST_drawTitleCard(void);
|
2019-11-18 18:13:31 +00:00
|
|
|
void ST_preDrawTitleCard(void);
|
2019-12-05 04:58:19 +00:00
|
|
|
void ST_preLevelTitleCardDrawer(void);
|
2019-11-18 14:39:54 +00:00
|
|
|
void ST_drawWipeTitleCard(void);
|
|
|
|
|
|
|
|
extern tic_t lt_ticker, lt_lasttic;
|
|
|
|
extern tic_t lt_exitticker, lt_endtime;
|
2018-06-14 19:17:31 +00:00
|
|
|
|
2014-03-15 16:59:03 +00:00
|
|
|
// return if player a is in the same team as player b
|
|
|
|
boolean ST_SameTeam(player_t *a, player_t *b);
|
|
|
|
|
|
|
|
//--------------------
|
|
|
|
// status bar overlay
|
|
|
|
//--------------------
|
|
|
|
|
|
|
|
extern boolean st_overlay; // sb overlay on or off when fullscreen
|
2019-01-02 03:41:52 +00:00
|
|
|
extern INT32 st_palette; // 0 is default, any others are special palettes.
|
2019-11-18 14:39:54 +00:00
|
|
|
extern INT32 st_translucency;
|
2014-03-15 16:59:03 +00:00
|
|
|
|
|
|
|
extern lumpnum_t st_borderpatchnum;
|
|
|
|
// patches, also used in intermission
|
|
|
|
extern patch_t *tallnum[10];
|
|
|
|
extern patch_t *sboscore;
|
|
|
|
extern patch_t *sbotime;
|
|
|
|
extern patch_t *sbocolon;
|
2014-03-25 02:17:59 +00:00
|
|
|
extern patch_t *sboperiod;
|
2014-03-15 16:59:03 +00:00
|
|
|
extern patch_t *faceprefix[MAXSKINS]; // face status patches
|
|
|
|
extern patch_t *superprefix[MAXSKINS]; // super face status patches
|
|
|
|
extern patch_t *livesback;
|
2019-09-10 23:50:51 +00:00
|
|
|
extern patch_t *stlivex;
|
2014-03-15 16:59:03 +00:00
|
|
|
extern patch_t *ngradeletters[7];
|
|
|
|
|
|
|
|
/** HUD location information (don't move this comment)
|
|
|
|
*/
|
|
|
|
typedef struct
|
|
|
|
{
|
2018-03-19 23:08:51 +00:00
|
|
|
INT32 x, y, f;
|
2014-03-15 16:59:03 +00:00
|
|
|
} hudinfo_t;
|
|
|
|
|
|
|
|
typedef enum
|
|
|
|
{
|
2018-01-20 22:14:24 +00:00
|
|
|
HUD_LIVES,
|
2014-03-21 18:42:55 +00:00
|
|
|
|
2014-03-15 16:59:03 +00:00
|
|
|
HUD_RINGS,
|
|
|
|
HUD_RINGSNUM,
|
2017-09-25 19:35:04 +00:00
|
|
|
HUD_RINGSNUMTICS,
|
2014-03-21 18:42:55 +00:00
|
|
|
|
2014-03-15 16:59:03 +00:00
|
|
|
HUD_SCORE,
|
|
|
|
HUD_SCORENUM,
|
2014-03-21 18:42:55 +00:00
|
|
|
|
|
|
|
HUD_TIME,
|
|
|
|
HUD_MINUTES,
|
|
|
|
HUD_TIMECOLON,
|
2014-03-15 16:59:03 +00:00
|
|
|
HUD_SECONDS,
|
|
|
|
HUD_TIMETICCOLON,
|
2014-03-21 18:42:55 +00:00
|
|
|
HUD_TICS,
|
|
|
|
|
2014-03-15 16:59:03 +00:00
|
|
|
HUD_SS_TOTALRINGS,
|
2014-03-21 18:42:55 +00:00
|
|
|
|
2014-03-15 16:59:03 +00:00
|
|
|
HUD_GETRINGS,
|
|
|
|
HUD_GETRINGSNUM,
|
|
|
|
HUD_TIMELEFT,
|
|
|
|
HUD_TIMELEFTNUM,
|
|
|
|
HUD_TIMEUP,
|
|
|
|
HUD_HUNTPICS,
|
2018-03-26 22:53:09 +00:00
|
|
|
HUD_POWERUPS,
|
2014-03-15 16:59:03 +00:00
|
|
|
|
|
|
|
NUMHUDITEMS
|
|
|
|
} hudnum_t;
|
|
|
|
|
|
|
|
extern hudinfo_t hudinfo[NUMHUDITEMS];
|
|
|
|
|
|
|
|
extern UINT16 objectsdrawn;
|
|
|
|
|
|
|
|
#endif
|