2014-03-15 16:59:03 +00:00
|
|
|
// SONIC ROBO BLAST 2
|
|
|
|
//-----------------------------------------------------------------------------
|
|
|
|
// 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 g_state.h
|
|
|
|
/// \brief SRB2 game states
|
|
|
|
|
|
|
|
#ifndef __G_STATE__
|
|
|
|
#define __G_STATE__
|
|
|
|
|
|
|
|
#include "doomtype.h"
|
|
|
|
|
|
|
|
// the current state of the game
|
|
|
|
typedef enum
|
|
|
|
{
|
|
|
|
GS_NULL = 0, // At beginning.
|
|
|
|
|
|
|
|
// Fadable gamestates
|
|
|
|
GS_LEVEL, // Playing, in a level.
|
|
|
|
GS_INTERMISSION, // Gazing at the intermission screen.
|
|
|
|
GS_CONTINUING, // continue screen
|
|
|
|
|
|
|
|
GS_TITLESCREEN, // title screen
|
|
|
|
GS_TIMEATTACK, // time attack menu
|
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
|
|
|
|
2014-03-15 16:59:03 +00:00
|
|
|
GS_CREDITS, // credit sequence
|
|
|
|
GS_EVALUATION, // Evaluation at the end of a game.
|
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
|
|
|
GS_GAMEEND, // game end sequence - "did you get all those chaos emeralds?"
|
2014-03-15 16:59:03 +00:00
|
|
|
|
|
|
|
// Hardcoded fades or other fading methods
|
|
|
|
GS_INTRO, // introduction
|
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
|
|
|
GS_ENDING, // currently shared between bad and good endings
|
2014-03-15 16:59:03 +00:00
|
|
|
GS_CUTSCENE, // custom cutscene
|
|
|
|
|
|
|
|
// Not fadable
|
|
|
|
GS_DEDICATEDSERVER, // new state for dedicated server
|
|
|
|
GS_WAITINGPLAYERS // waiting for players in a net game
|
|
|
|
} gamestate_t;
|
|
|
|
|
|
|
|
typedef enum
|
|
|
|
{
|
|
|
|
ga_nothing,
|
|
|
|
ga_completed,
|
|
|
|
ga_worlddone,
|
|
|
|
ga_startcont,
|
|
|
|
ga_continued,
|
|
|
|
} gameaction_t;
|
|
|
|
|
|
|
|
extern gamestate_t gamestate;
|
2019-07-30 16:48:13 +00:00
|
|
|
extern UINT8 titlemapinaction;
|
2023-08-15 07:29:50 +00:00
|
|
|
extern UINT8 ultimatemode;
|
2014-03-15 16:59:03 +00:00
|
|
|
extern gameaction_t gameaction;
|
|
|
|
|
2023-08-15 07:29:50 +00:00
|
|
|
extern INT32 pickedchar;
|
|
|
|
|
2014-03-15 16:59:03 +00:00
|
|
|
extern boolean botingame;
|
2020-05-24 00:29:07 +00:00
|
|
|
extern UINT8 botskin;
|
|
|
|
extern UINT16 botcolor;
|
2014-03-15 16:59:03 +00:00
|
|
|
|
|
|
|
#endif //__G_STATE__
|