mirror of
https://github.com/KartKrewDev/RingRacers.git
synced 2025-10-30 08:01:28 +00:00
- Only works in Match Race and Online level selects
- Shows in-progress state on Pause and Cup Grid, but no direct influence available on those screens
- Z to queue current highlighted map
- Pending until you press A, then sent to server
- When done online, tries to send one at a time to avoid overloading connection
- C to clear
- Removes one from pending first
- If you're out of pending maps, prompts whether you want to clear server's queue
87 lines
2.6 KiB
C
87 lines
2.6 KiB
C
// DR. ROBOTNIK'S RING RACERS
|
|
//-----------------------------------------------------------------------------
|
|
// Copyright (C) 2025 by Vivian "toastergrl" Grannell.
|
|
// Copyright (C) 2025 by Kart Krew.
|
|
// Copyright (C) 2020 by Sonic Team Junior.
|
|
//
|
|
// 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 y_inter.h
|
|
/// \brief Tally screens, or "Intermissions" as they were formally called in Doom
|
|
|
|
#ifndef __Y_INTER_H__
|
|
#define __Y_INTER_H__
|
|
|
|
#ifdef __cplusplus
|
|
extern "C" {
|
|
#endif
|
|
|
|
typedef struct
|
|
{
|
|
boolean rankingsmode; // rankings mode
|
|
boolean gotthrough; // show "got through"
|
|
boolean showrank; // show rank-restricted queue entry at the end, if it exists
|
|
boolean encore; // encore mode
|
|
boolean isduel; // duel mode
|
|
UINT8 winningteam; // teamplay
|
|
boolean showroundnum; // round number
|
|
|
|
char headerstring[64]; // holds levelnames up to 64 characters
|
|
|
|
UINT8 numplayers; // Number of players being displayed
|
|
UINT8 halfway; // Position at which column switches
|
|
|
|
SINT8 num[MAXPLAYERS]; // Player #
|
|
UINT8 pos[MAXPLAYERS]; // player positions. used for ties
|
|
|
|
UINT32 val[MAXPLAYERS]; // Gametype-specific value
|
|
char strval[MAXPLAYERS][MAXPLAYERNAME+1];
|
|
|
|
INT16 increase[MAXPLAYERS]; // how much did the score increase by?
|
|
UINT8 jitter[MAXPLAYERS]; // wiggle
|
|
|
|
SINT8 grade[MAXPLAYERS]; // grade, if not a bot
|
|
|
|
UINT8 mainplayer; // Most successful local player
|
|
INT32 linemeter; // For GP only
|
|
} y_data_t;
|
|
|
|
void Y_DrawIntermissionHeader(INT32 x, INT32 y, boolean gotthrough, const char *headerstring, boolean showroundnum, boolean small);
|
|
void Y_IntermissionDrawer(void);
|
|
void Y_Ticker(void);
|
|
|
|
// Specific sub-drawers
|
|
void Y_PlayerStandingsDrawer(y_data_t *standings, INT32 xoffset);
|
|
void Y_RoundQueueDrawer(y_data_t *standings, INT32 offset, boolean doanimations, boolean widescreen, boolean adminmode);
|
|
void Y_DrawIntermissionButton(INT32 startslide, INT32 through, boolean widescreen);
|
|
void Y_DrawRankMode(INT32 x, INT32 y, boolean center);
|
|
|
|
void Y_StartIntermission(void);
|
|
void Y_MidIntermission(void);
|
|
void Y_EndIntermission(void);
|
|
|
|
void Y_PlayIntermissionMusic(void);
|
|
|
|
boolean Y_IntermissionPlayerLock(void);
|
|
|
|
typedef enum
|
|
{
|
|
int_none,
|
|
int_time, // Always time
|
|
int_score, // Always score
|
|
int_scoreortimeattack, // Score unless 1P
|
|
} intertype_t;
|
|
|
|
extern intertype_t intertype;
|
|
|
|
boolean Y_ShouldDoIntermission(void);
|
|
intertype_t Y_GetIntermissionType(void);
|
|
void Y_DetermineIntermissionType(void);
|
|
|
|
#ifdef __cplusplus
|
|
} // extern "C"
|
|
#endif
|
|
|
|
#endif // __Y_INTER_H__
|