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__
 |