diff --git a/CMakeLists.txt b/CMakeLists.txt index 0d37514f2..0771f712c 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt @@ -117,20 +117,21 @@ set(SRB2_SDL2_EXE_NAME ringracers CACHE STRING "Executable binary output name") include_directories(${CMAKE_CURRENT_BINARY_DIR}/src) -add_subdirectory(src) -if(NOT ${SRB2_CONFIG_DEV_BUILD}) - add_subdirectory(assets) -endif() - ## config.h generation set(GIT_EXECUTABLE "git" CACHE FILEPATH "Path to git binary") include(GitUtilities) git_latest_commit(SRB2_COMP_COMMIT "${CMAKE_SOURCE_DIR}") git_current_branch(SRB2_GIT_BRANCH "${CMAKE_SOURCE_DIR}") +git_working_tree_dirty(SRB2_COMP_UNCOMMITTED "${CMAKE_SOURCE_DIR}") set(SRB2_COMP_BRANCH "${SRB2_GIT_BRANCH}") set(SRB2_COMP_REVISION "${SRB2_COMP_COMMIT}") configure_file(${CMAKE_CURRENT_SOURCE_DIR}/src/config.h.in ${CMAKE_CURRENT_BINARY_DIR}/src/config.h) +add_subdirectory(src) +if(NOT ${SRB2_CONFIG_DEV_BUILD}) + add_subdirectory(assets) +endif() + ##### PACKAGE CONFIGURATION ##### set(SRB2_CPACK_GENERATOR "" CACHE STRING "Generator to use for making a package. E.g., ZIP, TGZ, DragNDrop (OSX only). Leave blank for default generator.") diff --git a/cmake/Modules/GitUtilities.cmake b/cmake/Modules/GitUtilities.cmake index d29e6b509..4a94b5b5c 100644 --- a/cmake/Modules/GitUtilities.cmake +++ b/cmake/Modules/GitUtilities.cmake @@ -40,4 +40,20 @@ function(git_latest_commit variable path) ) set(${variable} "${output}" PARENT_SCOPE) +endfunction() + +function(git_working_tree_dirty variable path) + execute_process(COMMAND ${GIT_EXECUTABLE} "status" "--porcelain" "-uno" + WORKING_DIRECTORY "${path}" + RESULT_VARIABLE result + OUTPUT_VARIABLE output + ERROR_QUIET + OUTPUT_STRIP_TRAILING_WHITESPACE + ) + + if(output STREQUAL "") + set(${variable} FALSE PARENT_SCOPE) + else() + set(${variable} TRUE PARENT_SCOPE) + endif() endfunction() \ No newline at end of file diff --git a/src/comptime.c b/src/comptime.c index 81b5ec7d6..2baef79d6 100644 --- a/src/comptime.c +++ b/src/comptime.c @@ -15,6 +15,12 @@ const char *comprevision = SRB2_COMP_REVISION; #elif (defined(COMPVERSION)) #include "comptime.h" +#else +const char *compbranch = "Unknown"; +const char *comprevision = "illegal"; + +#endif + const int compuncommitted = #if (defined(COMPVERSION_UNCOMMITTED)) 1; @@ -22,11 +28,5 @@ const int compuncommitted = 0; #endif -#else -const char *compbranch = "Unknown"; -const char *comprevision = "illegal"; - -#endif - const char *compdate = __DATE__; const char *comptime = __TIME__; diff --git a/src/config.h.in b/src/config.h.in index 1636a6731..c27628ffd 100644 --- a/src/config.h.in +++ b/src/config.h.in @@ -22,6 +22,12 @@ #define SRB2_COMP_REVISION "${SRB2_COMP_REVISION}" #define SRB2_COMP_BRANCH "${SRB2_COMP_BRANCH}" +// This is done with configure_file instead of defines in order to avoid +// recompiling the whole target whenever the working directory state changes +#cmakedefine SRB2_COMP_UNCOMMITTED +#ifdef SRB2_COMP_UNCOMMITTED +#define COMPVERSION_UNCOMMITTED +#endif #define CMAKE_ASSETS_DIR "${CMAKE_SOURCE_DIR}/assets" diff --git a/src/d_main.c b/src/d_main.c index 5d83c783b..f0f016ca7 100644 --- a/src/d_main.c +++ b/src/d_main.c @@ -875,7 +875,8 @@ void D_SRB2Loop(void) // consoleplayer -> displayplayers (hear sounds from viewpoint) S_UpdateSounds(); // move positional sounds - S_UpdateClosedCaptions(); + if (realtics > 0 || singletics) + S_UpdateClosedCaptions(); #ifdef HW3SOUND HW3S_EndFrameUpdate(); diff --git a/src/d_netcmd.c b/src/d_netcmd.c index 293dda851..b5627beb0 100644 --- a/src/d_netcmd.c +++ b/src/d_netcmd.c @@ -83,7 +83,6 @@ static void Got_ExitLevelcmd(UINT8 **cp, INT32 playernum); static void Got_SetupVotecmd(UINT8 **cp, INT32 playernum); static void Got_ModifyVotecmd(UINT8 **cp, INT32 playernum); static void Got_PickVotecmd(UINT8 **cp, INT32 playernum); -static void Got_GiveItemcmd(UINT8 **cp, INT32 playernum); static void Got_RequestAddfilecmd(UINT8 **cp, INT32 playernum); static void Got_Addfilecmd(UINT8 **cp, INT32 playernum); static void Got_Pause(UINT8 **cp, INT32 playernum); @@ -142,7 +141,6 @@ static void SoundTest_OnChange(void); static void KartFrantic_OnChange(void); static void KartSpeed_OnChange(void); static void KartEncore_OnChange(void); -static void KartComeback_OnChange(void); static void KartEliminateLast_OnChange(void); static void Schedule_OnChange(void); @@ -392,24 +390,20 @@ consvar_t cv_tripleorbinaut = CVAR_INIT ("tripleorbinaut", "On", CV_NETVAR, C consvar_t cv_quadorbinaut = CVAR_INIT ("quadorbinaut", "On", CV_NETVAR, CV_OnOff, NULL); consvar_t cv_dualjawz = CVAR_INIT ("dualjawz", "On", CV_NETVAR, CV_OnOff, NULL); -static CV_PossibleValue_t kartminimap_cons_t[] = {{0, "MIN"}, {10, "MAX"}, {0, NULL}}; -consvar_t cv_kartminimap = CVAR_INIT ("kartminimap", "4", CV_SAVE, kartminimap_cons_t, NULL); -consvar_t cv_kartcheck = CVAR_INIT ("kartcheck", "Yes", CV_SAVE, CV_YesNo, NULL); -consvar_t cv_kartspeed = CVAR_INIT ("kartspeed", "Auto", CV_NETVAR|CV_CALL|CV_NOINIT, kartspeed_cons_t, KartSpeed_OnChange); +consvar_t cv_kartspeed = CVAR_INIT ("gamespeed", "Auto", CV_NETVAR|CV_CALL|CV_NOINIT, kartspeed_cons_t, KartSpeed_OnChange); static CV_PossibleValue_t kartbumpers_cons_t[] = {{1, "MIN"}, {12, "MAX"}, {0, NULL}}; -consvar_t cv_kartbumpers = CVAR_INIT ("kartbumpers", "3", CV_NETVAR, kartbumpers_cons_t, NULL); -consvar_t cv_kartfrantic = CVAR_INIT ("kartfrantic", "Off", CV_NETVAR|CV_CALL|CV_NOINIT, CV_OnOff, KartFrantic_OnChange); -consvar_t cv_kartcomeback = CVAR_INIT ("kartcomeback", "On", CV_NETVAR|CV_CALL|CV_NOINIT, CV_OnOff, KartComeback_OnChange); +consvar_t cv_kartbumpers = CVAR_INIT ("battlebumpers", "3", CV_NETVAR, kartbumpers_cons_t, NULL); +consvar_t cv_kartfrantic = CVAR_INIT ("franticitems", "Off", CV_NETVAR|CV_CALL|CV_NOINIT, CV_OnOff, KartFrantic_OnChange); static CV_PossibleValue_t kartencore_cons_t[] = {{-1, "Auto"}, {0, "Off"}, {1, "On"}, {0, NULL}}; -consvar_t cv_kartencore = CVAR_INIT ("kartencore", "Auto", CV_NETVAR|CV_CALL|CV_NOINIT, kartencore_cons_t, KartEncore_OnChange); +consvar_t cv_kartencore = CVAR_INIT ("encore", "Auto", CV_NETVAR|CV_CALL|CV_NOINIT, kartencore_cons_t, KartEncore_OnChange); static CV_PossibleValue_t kartvoterulechanges_cons_t[] = {{0, "Never"}, {1, "Sometimes"}, {2, "Frequent"}, {3, "Always"}, {0, NULL}}; -consvar_t cv_kartvoterulechanges = CVAR_INIT ("kartvoterulechanges", "Frequent", CV_NETVAR, kartvoterulechanges_cons_t, NULL); +consvar_t cv_kartvoterulechanges = CVAR_INIT ("voterulechanges", "Frequent", CV_NETVAR, kartvoterulechanges_cons_t, NULL); static CV_PossibleValue_t kartgametypepreference_cons_t[] = {{-1, "None"}, {GT_RACE, "Race"}, {GT_BATTLE, "Battle"}, {0, NULL}}; -consvar_t cv_kartgametypepreference = CVAR_INIT ("kartgametypepreference", "None", CV_NETVAR, kartgametypepreference_cons_t, NULL); +consvar_t cv_kartgametypepreference = CVAR_INIT ("gametypepreference", "None", CV_NETVAR, kartgametypepreference_cons_t, NULL); static CV_PossibleValue_t kartspeedometer_cons_t[] = {{0, "Off"}, {1, "Percentage"}, {2, "Kilometers"}, {3, "Miles"}, {4, "Fracunits"}, {0, NULL}}; -consvar_t cv_kartspeedometer = CVAR_INIT ("kartdisplayspeed", "Percentage", CV_SAVE, kartspeedometer_cons_t, NULL); // use tics in display +consvar_t cv_kartspeedometer = CVAR_INIT ("speedometer", "Percentage", CV_SAVE, kartspeedometer_cons_t, NULL); // use tics in display static CV_PossibleValue_t kartvoices_cons_t[] = {{0, "Never"}, {1, "Tasteful"}, {2, "Meme"}, {0, NULL}}; -consvar_t cv_kartvoices = CVAR_INIT ("kartvoices", "Tasteful", CV_SAVE, kartvoices_cons_t, NULL); +consvar_t cv_kartvoices = CVAR_INIT ("tauntvoices", "Tasteful", CV_SAVE, kartvoices_cons_t, NULL); static CV_PossibleValue_t kartbot_cons_t[] = { {0, "Off"}, @@ -428,11 +422,11 @@ static CV_PossibleValue_t kartbot_cons_t[] = { {13,"Lv.MAX"}, {0, NULL} }; -consvar_t cv_kartbot = CVAR_INIT ("kartbot", "0", CV_NETVAR, kartbot_cons_t, NULL); +consvar_t cv_kartbot = CVAR_INIT ("bots", "0", CV_NETVAR, kartbot_cons_t, NULL); -consvar_t cv_karteliminatelast = CVAR_INIT ("karteliminatelast", "Yes", CV_NETVAR|CV_CALL, CV_YesNo, KartEliminateLast_OnChange); +consvar_t cv_karteliminatelast = CVAR_INIT ("eliminatelast", "Yes", CV_NETVAR|CV_CALL, CV_YesNo, KartEliminateLast_OnChange); -consvar_t cv_kartusepwrlv = CVAR_INIT ("kartusepwrlv", "Yes", CV_NETVAR, CV_YesNo, NULL); +consvar_t cv_kartusepwrlv = CVAR_INIT ("usepwrlv", "Yes", CV_NETVAR, CV_YesNo, NULL); static CV_PossibleValue_t kartdebugitem_cons_t[] = { @@ -441,20 +435,18 @@ static CV_PossibleValue_t kartdebugitem_cons_t[] = #undef FOREACH {0} }; -consvar_t cv_kartdebugitem = CVAR_INIT ("kartdebugitem", "None", CV_NETVAR|CV_CHEAT, kartdebugitem_cons_t, NULL); +consvar_t cv_kartdebugitem = CVAR_INIT ("debugitem", "None", CV_NETVAR|CV_CHEAT, kartdebugitem_cons_t, NULL); static CV_PossibleValue_t kartdebugamount_cons_t[] = {{1, "MIN"}, {255, "MAX"}, {0, NULL}}; -consvar_t cv_kartdebugamount = CVAR_INIT ("kartdebugamount", "1", CV_NETVAR|CV_CHEAT, kartdebugamount_cons_t, NULL); +consvar_t cv_kartdebugamount = CVAR_INIT ("debugitemamount", "1", CV_NETVAR|CV_CHEAT, kartdebugamount_cons_t, NULL); -consvar_t cv_kartdebugdistribution = CVAR_INIT ("kartdebugdistribution", "Off", CV_NETVAR|CV_CHEAT, CV_OnOff, NULL); -consvar_t cv_kartdebughuddrop = CVAR_INIT ("kartdebughuddrop", "Off", CV_NETVAR|CV_CHEAT, CV_OnOff, NULL); +consvar_t cv_kartdebugdistribution = CVAR_INIT ("debugitemodds", "Off", CV_NETVAR|CV_CHEAT, CV_OnOff, NULL); +consvar_t cv_kartdebughuddrop = CVAR_INIT ("debugitemdrop", "Off", CV_NETVAR|CV_CHEAT, CV_OnOff, NULL); static CV_PossibleValue_t kartdebugwaypoint_cons_t[] = {{0, "Off"}, {1, "Forwards"}, {2, "Backwards"}, {0, NULL}}; -consvar_t cv_kartdebugwaypoints = CVAR_INIT ("kartdebugwaypoints", "Off", CV_NETVAR|CV_CHEAT, kartdebugwaypoint_cons_t, NULL); -consvar_t cv_kartdebugbotpredict = CVAR_INIT ("kartdebugbotpredict", "Off", CV_NETVAR|CV_CHEAT, CV_OnOff, NULL); - -consvar_t cv_kartdebugcheckpoint = CVAR_INIT ("kartdebugcheckpoint", "Off", CV_CHEAT, CV_OnOff, NULL); -consvar_t cv_kartdebugnodes = CVAR_INIT ("kartdebugnodes", "Off", CV_CHEAT, CV_OnOff, NULL); -consvar_t cv_kartdebugcolorize = CVAR_INIT ("kartdebugcolorize", "Off", CV_CHEAT, CV_OnOff, NULL); -consvar_t cv_kartdebugdirector = CVAR_INIT ("kartdebugdirector", "Off", CV_CHEAT, CV_OnOff, NULL); +consvar_t cv_kartdebugwaypoints = CVAR_INIT ("debugwaypoints", "Off", CV_NETVAR|CV_CHEAT, kartdebugwaypoint_cons_t, NULL); +consvar_t cv_kartdebugbotpredict = CVAR_INIT ("debugbotpredict", "Off", CV_NETVAR|CV_CHEAT, CV_OnOff, NULL); +consvar_t cv_kartdebugnodes = CVAR_INIT ("debugnodes", "Off", CV_CHEAT, CV_OnOff, NULL); +consvar_t cv_kartdebugcolorize = CVAR_INIT ("debugcolorize", "Off", CV_CHEAT, CV_OnOff, NULL); +consvar_t cv_kartdebugdirector = CVAR_INIT ("debugdirector", "Off", CV_CHEAT, CV_OnOff, NULL); consvar_t cv_spbtest = CVAR_INIT ("spbtest", "Off", CV_CHEAT|CV_NETVAR, CV_OnOff, NULL); static CV_PossibleValue_t votetime_cons_t[] = {{10, "MIN"}, {3600, "MAX"}, {0, NULL}}; @@ -620,14 +612,13 @@ const char *netxcmdnames[MAXNETXCMD - 1] = "ACCEPTPARTYINVITE", // XD_ACCEPTPARTYINVITE "LEAVEPARTY", // XD_LEAVEPARTY "CANCELPARTYINVITE", // XD_CANCELPARTYINVITE - "GIVEITEM", // XD_GIVEITEM + "CHEAT", // XD_CHEAT "ADDBOT", // XD_ADDBOT "DISCORD", // XD_DISCORD "PLAYSOUND", // XD_PLAYSOUND "SCHEDULETASK", // XD_SCHEDULETASK "SCHEDULECLEAR", // XD_SCHEDULECLEAR "AUTOMATE", // XD_AUTOMATE - "CHEAT", // XD_CHEAT }; // ========================================================================= @@ -674,8 +665,6 @@ void D_RegisterServerCommands(void) RegisterNetXCmd(XD_MODIFYVOTE, Got_ModifyVotecmd); RegisterNetXCmd(XD_PICKVOTE, Got_PickVotecmd); - RegisterNetXCmd(XD_GIVEITEM, Got_GiveItemcmd); - RegisterNetXCmd(XD_SCHEDULETASK, Got_ScheduleTaskcmd); RegisterNetXCmd(XD_SCHEDULECLEAR, Got_ScheduleClearcmd); RegisterNetXCmd(XD_AUTOMATE, Got_Automatecmd); @@ -736,7 +725,7 @@ void D_RegisterServerCommands(void) COM_AddCommand("downloads", Command_Downloads_f); - COM_AddCommand("kartgiveitem", Command_KartGiveItem_f); + COM_AddCommand("give", Command_KartGiveItem_f); COM_AddCommand("schedule_add", Command_Schedule_Add); COM_AddCommand("schedule_clear", Command_Schedule_Clear); @@ -2069,6 +2058,11 @@ void D_Cheat(INT32 playernum, INT32 cheat, ...) case CHEAT_DEVMODE: COPY(WRITEUINT32, UINT32); break; + + case CHEAT_GIVEITEM: + COPY(WRITESINT8, int); + COPY(WRITEUINT8, unsigned int); + break; } #undef COPY @@ -5389,41 +5383,6 @@ static void Got_PickVotecmd(UINT8 **cp, INT32 playernum) Y_SetupVoteFinish(pick, level); } -static void Got_GiveItemcmd(UINT8 **cp, INT32 playernum) -{ - int item; - int amt; - - item = READSINT8 (*cp); - amt = READUINT8 (*cp); - - if ( - ( !CV_CheatsEnabled() ) || - ( item < KITEM_SAD || item >= NUMKARTITEMS ) - ) - { - CONS_Alert(CONS_WARNING, - M_GetText ("Illegal give item received from %s\n"), - player_names[playernum]); - if (server) - SendKick(playernum, KICK_MSG_CON_FAIL); - return; - } - - K_StripItems(&players[playernum]); - players[playernum].itemroulette = 0; - - players[playernum].itemtype = item; - players[playernum].itemamount = amt; - - CV_CheaterWarning( - playernum, - (amt != 1) // FIXME: we should have actual KITEM_ name array - ? va("kartgiveitem %s %d", cv_kartdebugitem.PossibleValue[item+1].strvalue, amt) - : va("kartgiveitem %s", cv_kartdebugitem.PossibleValue[item+1].strvalue) - ); -} - static void Got_ScheduleTaskcmd(UINT8 **cp, INT32 playernum) { char command[MAXTEXTCMD]; @@ -5683,6 +5642,35 @@ static void Got_Cheat(UINT8 **cp, INT32 playernum) break; } + case CHEAT_GIVEITEM: { + SINT8 item = READSINT8(*cp); + UINT8 amt = READUINT8(*cp); + + item = max(item, KITEM_SAD); + item = min(item, NUMKARTITEMS - 1); + + K_StripItems(player); + + // Cancel roulette if rolling + player->itemroulette = 0; + + player->itemtype = item; + player->itemamount = amt; + + if (amt == 0) + { + CV_CheaterWarning(playernum, "delete my items"); + } + else + { + // FIXME: we should have actual KITEM_ name array + const char *itemname = cv_kartdebugitem.PossibleValue[1 + item].strvalue; + + CV_CheaterWarning(playernum, va("give item %s x%d", itemname, amt)); + } + break; + } + case NUMBER_OF_CHEATS: break; } @@ -5844,11 +5832,9 @@ static void Command_Archivetest_f(void) */ static void Command_KartGiveItem_f(void) { - char buf[2]; - int ac; const char *name; - int item; + INT32 item; const char * str; @@ -5860,7 +5846,7 @@ static void Command_KartGiveItem_f(void) if (ac < 2) { CONS_Printf( -"kartgiveitem [amount]: Give yourself an item\n" +"give [amount]: Give yourself an item\n" ); } else @@ -5875,26 +5861,33 @@ static void Command_KartGiveItem_f(void) } else { - for (i = 0; ( str = kartdebugitem_cons_t[i].strvalue ); ++i) + /* first check exact match */ + if (!CV_CompleteValue(&cv_kartdebugitem, &name, &item)) { - if (strcasecmp(name, str) == 0) + CONS_Printf("\x83" "Autocomplete:\n"); + + /* then do very loose partial matching */ + for (i = 0; ( str = kartdebugitem_cons_t[i].strvalue ); ++i) { - item = kartdebugitem_cons_t[i].value; - break; + if (strcasestr(str, name) != NULL) + { + CONS_Printf("\x83\t%s\n", str); + item = kartdebugitem_cons_t[i].value; + } } } } if (item < NUMKARTITEMS) { - buf[0] = item; + INT32 amt; if (ac > 2) - buf[1] = atoi(COM_Argv(2)); + amt = atoi(COM_Argv(2)); else - buf[1] = 1;/* default to one quantity */ + amt = (item != KITEM_NONE);/* default to one quantity, or zero, if KITEM_NONE */ - SendNetXCmd(XD_GIVEITEM, buf, 2); + D_Cheat(consoleplayer, CHEAT_GIVEITEM, item, amt); } else { @@ -6629,24 +6622,6 @@ static void KartEncore_OnChange(void) CONS_Printf(M_GetText("Encore Mode will be set to %s next round.\n"), cv_kartencore.string); } -static void KartComeback_OnChange(void) -{ - if (K_CanChangeRules() == false) - { - return; - } - - if (leveltime < starttime) - { - CONS_Printf(M_GetText("Karma Comeback has been turned %s.\n"), cv_kartcomeback.value ? M_GetText("on") : M_GetText("off")); - comeback = (boolean)cv_kartcomeback.value; - } - else - { - CONS_Printf(M_GetText("Karma Comeback will be turned %s next round.\n"), cv_kartcomeback.value ? M_GetText("on") : M_GetText("off")); - } -} - static void KartEliminateLast_OnChange(void) { if (K_CanChangeRules() == false) diff --git a/src/d_netcmd.h b/src/d_netcmd.h index eb1575b98..0355722d6 100644 --- a/src/d_netcmd.h +++ b/src/d_netcmd.h @@ -105,12 +105,9 @@ extern consvar_t cv_quadorbinaut, cv_dualjawz; -extern consvar_t cv_kartminimap; -extern consvar_t cv_kartcheck; extern consvar_t cv_kartspeed; extern consvar_t cv_kartbumpers; extern consvar_t cv_kartfrantic; -extern consvar_t cv_kartcomeback; extern consvar_t cv_kartencore; extern consvar_t cv_kartvoterulechanges; extern consvar_t cv_kartgametypepreference; @@ -123,7 +120,7 @@ extern consvar_t cv_kartusepwrlv; extern consvar_t cv_votetime; extern consvar_t cv_kartdebugitem, cv_kartdebugamount, cv_kartdebugdistribution, cv_kartdebughuddrop; -extern consvar_t cv_kartdebugcheckpoint, cv_kartdebugnodes, cv_kartdebugcolorize, cv_kartdebugdirector, cv_spbtest; +extern consvar_t cv_kartdebugnodes, cv_kartdebugcolorize, cv_kartdebugdirector, cv_spbtest; extern consvar_t cv_kartdebugwaypoints, cv_kartdebugbotpredict; extern consvar_t cv_itemfinder; @@ -196,14 +193,13 @@ typedef enum XD_ACCEPTPARTYINVITE, // 29 XD_LEAVEPARTY, // 30 XD_CANCELPARTYINVITE, // 31 - XD_GIVEITEM, // 32 + XD_CHEAT, // 32 XD_ADDBOT, // 33 XD_DISCORD, // 34 XD_PLAYSOUND, // 35 XD_SCHEDULETASK, // 36 XD_SCHEDULECLEAR, // 37 XD_AUTOMATE, // 38 - XD_CHEAT, // 39 MAXNETXCMD } netxcmd_t; diff --git a/src/doomstat.h b/src/doomstat.h index dc94ed0e6..f7c7f08ff 100644 --- a/src/doomstat.h +++ b/src/doomstat.h @@ -659,7 +659,6 @@ extern UINT8 numlaps; extern UINT8 gamespeed; extern boolean franticitems; extern boolean encoremode, prevencoremode; -extern boolean comeback; extern SINT8 battlewanted[4]; extern tic_t wantedcalcdelay; diff --git a/src/g_game.c b/src/g_game.c index d5f134a2e..0363373f4 100644 --- a/src/g_game.c +++ b/src/g_game.c @@ -296,7 +296,6 @@ UINT8 gamespeed; // Game's current speed (or difficulty, or cc, or etc); 0 for e boolean encoremode = false; // Encore Mode currently enabled? boolean prevencoremode; boolean franticitems; // Frantic items currently enabled? -boolean comeback; // Battle Mode's karma comeback is on/off // Voting system INT16 votelevels[4][2]; // Levels that were rolled by the host diff --git a/src/k_hud.c b/src/k_hud.c index 6b4703d2b..72816abb1 100644 --- a/src/k_hud.c +++ b/src/k_hud.c @@ -3329,7 +3329,7 @@ static void K_drawKartMinimap(void) patch_t *AutomapPic; INT32 i = 0; INT32 x, y; - INT32 minimaptrans = cv_kartminimap.value; + INT32 minimaptrans = 4; INT32 splitflags = 0; UINT8 skin = 0; UINT8 *colormap = NULL; @@ -3945,7 +3945,7 @@ static void K_drawBattleFullscreen(void) else K_drawKartFinish(); } - else if (stplyr->bumpers <= 0 && stplyr->karmadelay && comeback && !stplyr->spectator && drawcomebacktimer) + else if (stplyr->bumpers <= 0 && stplyr->karmadelay && !stplyr->spectator && drawcomebacktimer) { UINT16 t = stplyr->karmadelay/(10*TICRATE); INT32 txoff, adjust = (r_splitscreen > 1) ? 4 : 6; // normal string is 8, kart string is 12, half of that for ease @@ -4554,23 +4554,23 @@ static void K_drawDistributionDebugger(void) V_DrawString(0, 0, V_SNAPTOTOP, va("USEODDS %d", useodds)); } -static void K_drawCheckpointDebugger(void) +static void K_DrawWaypointDebugger(void) { + if (cv_kartdebugwaypoints.value == 0) + return; + if (stplyr != &players[displayplayers[0]]) // only for p1 return; - if (stplyr->starpostnum == numstarposts) - V_DrawString(8, 184, 0, va("Checkpoint: %d / %d (Can finish)", stplyr->starpostnum, numstarposts)); - else - V_DrawString(8, 184, 0, va("Checkpoint: %d / %d", stplyr->starpostnum, numstarposts)); -} + V_DrawString(8, 166, 0, va("'Best' Waypoint ID: %d", K_GetWaypointID(stplyr->nextwaypoint))); + V_DrawString(8, 176, 0, va("Finishline Distance: %d", stplyr->distancetofinish)); -static void K_DrawWaypointDebugger(void) -{ - if ((cv_kartdebugwaypoints.value != 0) && (stplyr == &players[displayplayers[0]])) + if (numstarposts > 0) { - V_DrawString(8, 166, 0, va("'Best' Waypoint ID: %d", K_GetWaypointID(stplyr->nextwaypoint))); - V_DrawString(8, 176, 0, va("Finishline Distance: %d", stplyr->distancetofinish)); + if (stplyr->starpostnum == numstarposts) + V_DrawString(8, 186, 0, va("Checkpoint: %d / %d (Can finish)", stplyr->starpostnum, numstarposts)); + else + V_DrawString(8, 186, 0, va("Checkpoint: %d / %d", stplyr->starpostnum, numstarposts)); } } @@ -4604,14 +4604,13 @@ void K_drawKartHUD(void) || (stplyr->bumpers <= 0 && stplyr->karmadelay > 0 && !(stplyr->pflags & PF_ELIMINATED) - && comeback == true && stplyr->playerstate == PST_LIVE))); if (!demo.title && (!battlefullscreen || r_splitscreen)) { // Draw the CHECK indicator before the other items, so it's overlapped by everything else if (LUA_HudEnabled(hud_check)) // delete lua when? - if (cv_kartcheck.value && !splitscreen && !players[displayplayers[0]].exiting && !freecam) + if (!splitscreen && !players[displayplayers[0]].exiting && !freecam) K_drawKartPlayerCheck(); // nametags @@ -4625,11 +4624,8 @@ void K_drawKartHUD(void) K_drawKartWanted(); } - if (cv_kartminimap.value) - { - if (LUA_HudEnabled(hud_minimap)) - K_drawKartMinimap(); - } + if (LUA_HudEnabled(hud_minimap)) + K_drawKartMinimap(); } if (battlefullscreen && !freecam) @@ -4789,9 +4785,6 @@ void K_drawKartHUD(void) if (cv_kartdebugdistribution.value) K_drawDistributionDebugger(); - if (cv_kartdebugcheckpoint.value) - K_drawCheckpointDebugger(); - if (cv_kartdebugnodes.value) { UINT8 p; diff --git a/src/k_kart.c b/src/k_kart.c index 00f93272b..fd7d56026 100644 --- a/src/k_kart.c +++ b/src/k_kart.c @@ -292,12 +292,9 @@ void K_RegisterKartStuff(void) CV_RegisterVar(&cv_quadorbinaut); CV_RegisterVar(&cv_dualjawz); - CV_RegisterVar(&cv_kartminimap); - CV_RegisterVar(&cv_kartcheck); CV_RegisterVar(&cv_kartspeed); CV_RegisterVar(&cv_kartbumpers); CV_RegisterVar(&cv_kartfrantic); - CV_RegisterVar(&cv_kartcomeback); CV_RegisterVar(&cv_kartencore); CV_RegisterVar(&cv_kartvoterulechanges); CV_RegisterVar(&cv_kartgametypepreference); @@ -315,7 +312,6 @@ void K_RegisterKartStuff(void) CV_RegisterVar(&cv_kartdebugwaypoints); CV_RegisterVar(&cv_kartdebugbotpredict); - CV_RegisterVar(&cv_kartdebugcheckpoint); CV_RegisterVar(&cv_kartdebugnodes); CV_RegisterVar(&cv_kartdebugcolorize); CV_RegisterVar(&cv_kartdebugdirector); @@ -8280,7 +8276,7 @@ void K_KartPlayerThink(player_t *player, ticcmd_t *cmd) if (player->spheres < 0) player->spheres = 0; - if (comeback == false || !(gametyperules & GTR_KARMA) || (player->pflags & PF_ELIMINATED)) + if (!(gametyperules & GTR_KARMA) || (player->pflags & PF_ELIMINATED)) { player->karmadelay = comebacktime; } diff --git a/src/k_menudef.c b/src/k_menudef.c index 126bf3f21..66be81efb 100644 --- a/src/k_menudef.c +++ b/src/k_menudef.c @@ -911,15 +911,9 @@ menuitem_t OPTIONS_HUD[] = {IT_SPACE | IT_NOTHING, NULL, NULL, NULL, {NULL}, 0, 0}, - {IT_STRING | IT_CVAR | IT_CV_SLIDER, "Minimap Opacity", "Changes the opacity of the minimap.", - NULL, {.cvar = &cv_kartminimap}, 0, 0}, - {IT_STRING | IT_CVAR, "Speedometer", "Choose to what speed unit to display or toggle off the speedometer.", NULL, {.cvar = &cv_kartspeedometer}, 0, 0}, - {IT_STRING | IT_CVAR, "Display \"CHECK\"", "Displays an icon when a player is tailing you.", - NULL, {.cvar = &cv_kartcheck}, 0, 0}, - {IT_SPACE | IT_NOTHING, NULL, NULL, NULL, {NULL}, 0, 0}, @@ -1033,9 +1027,6 @@ menuitem_t OPTIONS_Gameplay[] = {IT_STRING | IT_CVAR, "Starting Bumpers", "Change how many bumpers player start with in Battle.", NULL, {.cvar = &cv_kartbumpers}, 0, 0}, - {IT_STRING | IT_CVAR, "Karma Comeback", "Enable Karma Comeback in Battle mode.", - NULL, {.cvar = &cv_kartcomeback}, 0, 0}, - {IT_SPACE | IT_NOTHING, NULL, NULL, NULL, {NULL}, 0, 0}, diff --git a/src/lua_hudlib.c b/src/lua_hudlib.c index ffacf34c5..cb81e2e73 100644 --- a/src/lua_hudlib.c +++ b/src/lua_hudlib.c @@ -641,7 +641,7 @@ static int libd_drawOnMinimap(lua_State *L) if (!lt_exitticker) return 0; - minimaptrans = cv_kartminimap.value; + minimaptrans = 4; if (lt_exitticker < length) minimaptrans = (((INT32)lt_exitticker)*minimaptrans)/((INT32)length); if (!minimaptrans) diff --git a/src/lua_script.c b/src/lua_script.c index f8fc119fd..eaacbf145 100644 --- a/src/lua_script.c +++ b/src/lua_script.c @@ -351,9 +351,6 @@ int LUA_PushGlobals(lua_State *L, const char *word) } else if (fastcmp(word,"franticitems")) { lua_pushboolean(L, franticitems); return 1; - } else if (fastcmp(word,"comeback")) { - lua_pushboolean(L, comeback); - return 1; } else if (fastcmp(word,"wantedcalcdelay")) { lua_pushinteger(L, wantedcalcdelay); return 1; diff --git a/src/m_cheat.h b/src/m_cheat.h index 499f60dd8..4d97cb8d9 100644 --- a/src/m_cheat.h +++ b/src/m_cheat.h @@ -30,6 +30,7 @@ typedef enum { CHEAT_HURT, CHEAT_RELATIVE_TELEPORT, CHEAT_DEVMODE, + CHEAT_GIVEITEM, NUMBER_OF_CHEATS } cheat_t; diff --git a/src/p_saveg.c b/src/p_saveg.c index ce9902833..ea08ceec1 100644 --- a/src/p_saveg.c +++ b/src/p_saveg.c @@ -4665,7 +4665,6 @@ static void P_NetArchiveMisc(boolean resending) WRITEUINT8(save_p, gamespeed); WRITEUINT8(save_p, numlaps); WRITEUINT8(save_p, franticitems); - WRITEUINT8(save_p, comeback); WRITESINT8(save_p, speedscramble); WRITESINT8(save_p, encorescramble); @@ -4825,7 +4824,6 @@ static inline boolean P_NetUnArchiveMisc(boolean reloading) gamespeed = READUINT8(save_p); numlaps = READUINT8(save_p); franticitems = (boolean)READUINT8(save_p); - comeback = (boolean)READUINT8(save_p); speedscramble = READSINT8(save_p); encorescramble = READSINT8(save_p); diff --git a/src/p_setup.c b/src/p_setup.c index 61120d54d..f14e549ca 100644 --- a/src/p_setup.c +++ b/src/p_setup.c @@ -6867,20 +6867,17 @@ static void P_InitLevelSettings(void) } franticitems = false; - comeback = true; } else if (bossinfo.boss) { gamespeed = KARTSPEED_EASY; franticitems = false; - comeback = true; } else if (modeattacking) { // Just play it safe and set everything gamespeed = KARTSPEED_HARD; franticitems = false; - comeback = true; } else { @@ -6894,7 +6891,6 @@ static void P_InitLevelSettings(void) gamespeed = (UINT8)cv_kartspeed.value; } franticitems = (boolean)cv_kartfrantic.value; - comeback = (boolean)cv_kartcomeback.value; } for (i = 0; i < 4; i++) diff --git a/src/sdl/CMakeLists.txt b/src/sdl/CMakeLists.txt index 65550906e..60921b587 100644 --- a/src/sdl/CMakeLists.txt +++ b/src/sdl/CMakeLists.txt @@ -78,13 +78,7 @@ if(${SDL2_FOUND}) ) endif() - if(${CMAKE_SYSTEM} MATCHES Windows) - set_target_properties(SRB2SDL2 PROPERTIES OUTPUT_NAME srb2kart) - elseif(${CMAKE_SYSTEM} MATCHES Linux) - set_target_properties(SRB2SDL2 PROPERTIES OUTPUT_NAME lsdlsrb2kart) - else() - set_target_properties(SRB2SDL2 PROPERTIES OUTPUT_NAME srb2kart) - endif() + set_target_properties(SRB2SDL2 PROPERTIES OUTPUT_NAME ringracers) if(${CMAKE_SYSTEM} MATCHES Darwin) find_library(CORE_LIB CoreFoundation)