From 3fc3d9ed22375ef2aca5834905d82e271ed410e6 Mon Sep 17 00:00:00 2001 From: bones_was_here Date: Sat, 7 Sep 2024 18:32:37 +1000 Subject: [PATCH] game: add "Coppertone Summer Jam 2" So we can work around its bug (race condition) that makes start.bsp unplayble sometimes because apparently DP is faster at connecting the local client than some other engines, and this mod relies on it taking longer. Updates some com_game comments for IDEs/Doxygen. Signed-off-by: bones_was_here --- cmd.c | 6 ++++++ com_game.c | 21 +++++++++++---------- com_game.h | 25 +++++++++++++------------ 3 files changed, 30 insertions(+), 22 deletions(-) diff --git a/cmd.c b/cmd.c index 27536615..cbb3feca 100644 --- a/cmd.c +++ b/cmd.c @@ -634,6 +634,12 @@ static void Cmd_Exec(cmd_state_t *cmd, const char *filename) "csqc_lowres 1\n" ); break; + case GAME_CTSJ2: + Cbuf_InsertText(cmd, "\n" +// Doesn't completely initialise during worldspawn and the init frames, sometimes causing the +// essential item on start.bsp to not spawn when the local client connects and spawns "too fast". +"sv_init_frame_count 3\n" + ); default: break; } diff --git a/com_game.c b/com_game.c index 2bfaf927..62b94b85 100644 --- a/com_game.c +++ b/com_game.c @@ -37,16 +37,16 @@ gamemode_t com_startupgamegroup; typedef struct gamemode_info_s { - gamemode_t mode; // this gamemode - gamemode_t group; // different games with same group can switch automatically when gamedirs change - const char* prog_name; // not null - const char* cmdline; // not null - const char* gamename; // not null - const char* gamenetworkfiltername; // not null - const char* gamedirname1; // not null - const char* gamedirname2; // null - const char* gamescreenshotname; // not nul - const char* gameuserdirname; // not null + gamemode_t mode; ///< this gamemode + gamemode_t group; ///< different games with same group can switch automatically when gamedirs change + const char* prog_name; ///< not null + const char* cmdline; ///< not null + const char* gamename; ///< not null + const char* gamenetworkfiltername; ///< not null + const char* gamedirname1; ///< not null + const char* gamedirname2; ///< may be null + const char* gamescreenshotname; ///< not null + const char* gameuserdirname; ///< not null } gamemode_info_t; static const gamemode_info_t gamemode_info [GAME_COUNT] = @@ -88,6 +88,7 @@ static const gamemode_info_t gamemode_info [GAME_COUNT] = { GAME_BATTLEMETAL, GAME_NORMAL, "battlemetal", "-battlemetal", "battlemetal", "battlemetal", "metaldata", NULL, "battlemetal", "battlemetal" }, // COMMANDLINEOPTION: Game: -battlemetal runs the game battleMETAL { GAME_QUAKE15, GAME_NORMAL, "quake15", "-quake15", "Quake 1.5", "Quake_1.5", "id1", "quake15", "quake15", "darkplaces" }, // COMMANDLINEOPTION: Game: -quake15 runs the Quake 1.5 or Quake Combat+ mod { GAME_AD, GAME_NORMAL, "ad", "-ad", "Arcane Dimensions", "Arcane_Dimensions", "id1", "ad", "ad", "darkplaces" }, // COMMANDLINEOPTION: Game: -ad runs the Arcane Dimensions mod +{ GAME_CTSJ2, GAME_NORMAL, "ctsj2", "-ctsj2", "Coppertone Summer Jam 2", "Coppertone_Summer_Jam_2", "id1", "ctsj2", "ctsj2", "darkplaces" }, // COMMANDLINEOPTION: Game: -ctsj2 runs the Coppertone Summer Jam 2 mod }; static void COM_SetGameType(int index); diff --git a/com_game.h b/com_game.h index 57358275..b7352f67 100644 --- a/com_game.h +++ b/com_game.h @@ -38,9 +38,9 @@ typedef enum gamemode_e GAME_BATTLEMECH, GAME_ZYMOTIC, GAME_SETHERAL, - GAME_TENEBRAE, // full of evil hackery + GAME_TENEBRAE, ///< full of evil hackery GAME_NEOTERIC, - GAME_OPENQUARTZ, //this game sucks + GAME_OPENQUARTZ, ///< this game sucks GAME_PRYDON, GAME_DELUXEQUAKE, GAME_THEHUNTED, @@ -50,18 +50,19 @@ typedef enum gamemode_e GAME_EDU2P, GAME_PROPHECY, GAME_BLOODOMNICIDE, - GAME_STEELSTORM, // added by motorsep - GAME_STEELSTORM2, // added by motorsep - GAME_SSAMMO, // added by motorsep - GAME_STEELSTORMREVENANTS, // added by motorsep 07/19/2015 - GAME_TOMESOFMEPHISTOPHELES, // added by motorsep - GAME_STRAPBOMB, // added by motorsep for Urre + GAME_STEELSTORM, ///< added by motorsep + GAME_STEELSTORM2, ///< added by motorsep + GAME_SSAMMO, ///< added by motorsep + GAME_STEELSTORMREVENANTS, ///< added by motorsep 07/19/2015 + GAME_TOMESOFMEPHISTOPHELES, ///< added by motorsep + GAME_STRAPBOMB, ///< added by motorsep for Urre GAME_MOONHELM, GAME_VORETOURNAMENT, - GAME_DOOMBRINGER, // added by Cloudwalk for kristus - GAME_BATTLEMETAL, // added by Cloudwalk for Subject9x - GAME_QUAKE15, // added by bones_was_here as it depends on an old bug and a workaround - GAME_AD, // added by bones_was_here as it depends on old DP behaviour or csqc_lowres + GAME_DOOMBRINGER, ///< added by Cloudwalk for kristus + GAME_BATTLEMETAL, ///< added by Cloudwalk for Subject9x + GAME_QUAKE15, ///< added by bones_was_here as it depends on an old bug and a workaround + GAME_AD, ///< added by bones_was_here as it depends on old DP behaviour or csqc_lowres + GAME_CTSJ2, ///< added by bones_was_here as it has a race condition that requires a workaound GAME_COUNT } gamemode_t; -- 2.39.2