diff --git a/CMakeLists.txt b/CMakeLists.txt
index bc4f6ec6baa2d04a968a469f9b9898a6912dcb05..e554cca0aac0743704275f3c37fd66e2a9675d94 100644
--- a/CMakeLists.txt
+++ b/CMakeLists.txt
@@ -113,7 +113,7 @@ set(CMAKE_RUNTIME_OUTPUT_DIRECTORY "${CMAKE_BINARY_DIR}/bin")
 set(CMAKE_PDB_OUTPUT_DIRECTORY "${CMAKE_BINARY_DIR}/bin")
 
 # Set EXE names so the assets CMakeLists can refer to its target
-set(SRB2_SDL2_EXE_NAME srb2kart CACHE STRING "Executable binary output name")
+set(SRB2_SDL2_EXE_NAME drrr CACHE STRING "Executable binary output name")
 
 include_directories(${CMAKE_CURRENT_BINARY_DIR}/src)
 
@@ -146,7 +146,7 @@ if("${SRB2_CPACK_GENERATOR}" STREQUAL "")
 endif()
 
 set(CPACK_GENERATOR ${SRB2_CPACK_GENERATOR})
-set(CPACK_PACKAGE_DESCRIPTION_SUMMARY "Sonic Robo Blast 2 Kart" CACHE STRING "Program name for display purposes")
+set(CPACK_PACKAGE_DESCRIPTION_SUMMARY "Dr. Robotnik's Ring Racers" CACHE STRING "Program name for display purposes")
 set(CPACK_PACKAGE_VENDOR "Kart Krew" CACHE STRING "Vendor name for display purposes")
 #set(CPACK_PACKAGE_DESCRIPTION_FILE )
 set(CPACK_RESOURCE_FILE_LICENSE "${CMAKE_CURRENT_SOURCE_DIR}/LICENSE")
diff --git a/src/Makefile b/src/Makefile
index 9659a4994c1dce6e94981ff090b0b4f1e9a171bf..d32c6d6b4db30007801c43f5b3936df0273641e3 100644
--- a/src/Makefile
+++ b/src/Makefile
@@ -235,7 +235,7 @@ bin:=../bin
 endif
 
 # default EXENAME (usually set by platform)
-EXENAME?=srb2
+EXENAME?=drrr
 DBGNAME?=$(EXENAME).debug
 
 exe:=$(bin)/$(EXENAME)
diff --git a/src/console.c b/src/console.c
index f92cce3c9f09efa0c7f9c2c73dd8408f357257ad..c0e5d1877e9ba757eefd1cd786ad37d92d1f4e5c 100644
--- a/src/console.c
+++ b/src/console.c
@@ -1576,7 +1576,7 @@ void CONS_Error(const char *msg)
 #if defined(RPC_NO_WINDOWS_H) && defined(_WINDOWS)
 	if (!graphics_started)
 	{
-		MessageBoxA(vid.WndParent, msg, "SRB2Kart Warning", MB_OK);
+		MessageBoxA(vid.WndParent, msg, "Dr. Robotnik's Ring Racers Warning", MB_OK);
 		return;
 	}
 #endif
diff --git a/src/d_clisrv.c b/src/d_clisrv.c
index 433b603b1d915a7fca835d7669b35cf42dc21169..9d3f6eb3ebe7502d95417d355f2648b4334e7cde 100644
--- a/src/d_clisrv.c
+++ b/src/d_clisrv.c
@@ -1515,7 +1515,7 @@ static boolean CL_FinishedFileList(void)
 		M_StartMessage(M_GetText(
 			"You have too many WAD files loaded\n"
 			"to add ones the server is using.\n"
-			"Please restart SRB2Kart before connecting.\n\n"
+			"Please restart Ring Racers before connecting.\n\n"
 			"Press ESC\n"
 		), NULL, MM_NOTHING);
 		return false;
@@ -1529,7 +1529,7 @@ static boolean CL_FinishedFileList(void)
 			"You have the wrong addons loaded.\n\n"
 			"To play on this server, restart\n"
 			"the game and don't load any addons.\n"
-			"SRB2Kart will automatically add\n"
+			"Ring Racers will automatically add\n"
 			"everything you need when you join.\n\n"
 			"Press ESC\n"
 		), NULL, MM_NOTHING);
@@ -3064,7 +3064,7 @@ static void Joinable_OnChange(void)
 // called one time at init
 void D_ClientServerInit(void)
 {
-	DEBFILE(va("- - -== SRB2Kart v%d.%d "VERSIONSTRING" debugfile ==- - -\n",
+	DEBFILE(va("- - -== Ring Racers v%d.%d "VERSIONSTRING" debugfile ==- - -\n",
 		VERSION, SUBVERSION));
 
 #ifndef NONET
@@ -3715,10 +3715,10 @@ static void HandleConnect(SINT8 node)
 		SV_SendRefuse(node, "Incompatible packet formats.");
 	else if (strncmp(netbuffer->u.clientcfg.application, SRB2APPLICATION,
 				sizeof netbuffer->u.clientcfg.application))
-		SV_SendRefuse(node, "Different SRB2 modifications\nare not compatible.");
+		SV_SendRefuse(node, "Different Ring Racers modifications\nare not compatible.");
 	else if (netbuffer->u.clientcfg.version != VERSION
 		|| netbuffer->u.clientcfg.subversion != SUBVERSION)
-		SV_SendRefuse(node, va(M_GetText("Different SRB2Kart versions cannot\nplay a netgame!\n(server version %d.%d)"), VERSION, SUBVERSION));
+		SV_SendRefuse(node, va(M_GetText("Different Ring Racers versions cannot\nplay a netgame!\n(server version %d.%d)"), VERSION, SUBVERSION));
 	else if (!cv_allownewplayer.value && node)
 		SV_SendRefuse(node, M_GetText("The server is not accepting\njoins for the moment."));
 	else if (D_NumPlayers() >= maxplayers)
diff --git a/src/d_main.c b/src/d_main.c
index a78f857fb6563293a0e93bcf760832852051d36d..6d6f0e2ce159b4b13de34b8606403046d309f762 100644
--- a/src/d_main.c
+++ b/src/d_main.c
@@ -1233,8 +1233,8 @@ void D_SRB2Main(void)
 
 	// Print GPL notice for our console users (Linux)
 	CONS_Printf(
-	"\n\nSonic Robo Blast 2 Kart\n"
-	"Copyright (C) 1998-2020 by Kart Krew & STJr\n\n"
+	"\n\nDr. Robotnik's Ring Racers\n"
+	"Copyright (C) 1998-2022 by Kart Krew & STJr\n\n"
 	"This program comes with ABSOLUTELY NO WARRANTY.\n\n"
 	"This is free software, and you are welcome to redistribute it\n"
 	"and/or modify it under the terms of the GNU General Public License\n"
diff --git a/src/d_netcmd.c b/src/d_netcmd.c
index 51b6b97d69c1ef13ec8d5447ba3542cb2903a93e..3b75bf302ef3f19d9ae5fe04cf9af24a7d019ca7 100644
--- a/src/d_netcmd.c
+++ b/src/d_netcmd.c
@@ -4314,9 +4314,9 @@ static void Command_ListDoomednums_f(void)
 static void Command_Version_f(void)
 {
 #ifdef DEVELOP
-	CONS_Printf("SRB2Kart %s-%s (%s %s)\n", compbranch, comprevision, compdate, comptime);
+	CONS_Printf("Ring Racers %s-%s (%s %s)\n", compbranch, comprevision, compdate, comptime);
 #else
-	CONS_Printf("SRB2Kart %s (%s %s %s %s) ", VERSIONSTRING, compdate, comptime, comprevision, compbranch);
+	CONS_Printf("Ring Racers %s (%s %s %s %s) ", VERSIONSTRING, compdate, comptime, comprevision, compbranch);
 #endif
 
 	// Base library
diff --git a/src/d_netfil.c b/src/d_netfil.c
index 041c7c35f67e149664f50924aecfc5a8989c6e39..e160536e3a5e19572f414d344ab2dbf7c62caa19 100644
--- a/src/d_netfil.c
+++ b/src/d_netfil.c
@@ -1725,7 +1725,7 @@ void CURLPrepareFile(const char* url, int dfilenum)
 		// Only allow HTTP and HTTPS
 		curl_easy_setopt(http_handle, CURLOPT_PROTOCOLS, CURLPROTO_HTTP|CURLPROTO_HTTPS);
 
-		curl_easy_setopt(http_handle, CURLOPT_USERAGENT, va("SRB2Kart/v%d.%d", VERSION, SUBVERSION)); // Set user agent as some servers won't accept invalid user agents.
+		curl_easy_setopt(http_handle, CURLOPT_USERAGENT, va("Ring Racers/v%d.%d", VERSION, SUBVERSION)); // Set user agent as some servers won't accept invalid user agents.
 
 		// Authenticate if the user so wishes
 		login = CURLGetLogin(url, NULL);
diff --git a/src/dehacked.c b/src/dehacked.c
index 5f0743a7eadb5105acd4889f0909f51869f6e488..7288ac374124d24969e5988bebb26e7afdf510e1 100644
--- a/src/dehacked.c
+++ b/src/dehacked.c
@@ -576,7 +576,7 @@ static void DEH_LoadDehackedFile(MYFILE *f, boolean mainfile)
 
 					readcupheader(f, cup);
 				}
-				else if (fastcmp(word, "SRB2KART"))
+				else if (fastcmp(word, "RINGRACERS"))
 				{
 					if (isdigit(word2[0]))
 					{
@@ -584,7 +584,7 @@ static void DEH_LoadDehackedFile(MYFILE *f, boolean mainfile)
 						if (i != PATCHVERSION)
 						{
 							deh_warning(
-									"Patch is for SRB2Kart version %d, "
+									"Patch is for Ring Racers version %d, "
 									"only version %d is supported",
 									i,
 									PATCHVERSION
@@ -594,12 +594,16 @@ static void DEH_LoadDehackedFile(MYFILE *f, boolean mainfile)
 					else
 					{
 						deh_warning(
-								"SRB2Kart version definition has incorrect format, "
-								"use \"SRB2KART %d\"",
+								"Ring Racers version definition has incorrect format, "
+								"use \"RINGRACERS %d\"",
 								PATCHVERSION
 						);
 					}
 				}
+				else if (fastcmp(word, "SRB2KART"))
+				{
+					deh_warning("Patch is only compatible with SRB2Kart.");
+				}
 				else if (fastcmp(word, "SRB2"))
 				{
 					deh_warning("Patch is only compatible with base SRB2.");
diff --git a/src/f_finale.c b/src/f_finale.c
index a9a81da3455e2908c5e4107ca5df1af1235d2e5c..ed57b9e7a03ff009225c0ea7d025446815924782 100644
--- a/src/f_finale.c
+++ b/src/f_finale.c
@@ -526,7 +526,7 @@ boolean F_IntroResponder(event_t *event)
 //  CREDITS
 // =========
 static const char *credits[] = {
-	"\1SRB2Kart",
+	"\1Dr. Robotnik's Ring Racers",
 	"\1Credits",
 	"",
 	"\1Game Design",
@@ -2032,7 +2032,7 @@ void F_TitleScreenDrawer(void)
 				V_DrawSmallScaledPatch(84, 36, transval<<V_ALPHASHIFT, ttkflash);
 			}
 */
-			V_DrawCenteredString(BASEVIDWIDTH/2, 64, V_ALLOWLOWERCASE, "SRB2 Kart v2.0");
+			V_DrawCenteredString(BASEVIDWIDTH/2, 64, V_ALLOWLOWERCASE, "Dr. Robotnik's Ring Racers v2.0");
 
 #ifdef DEVELOP
 #if defined(TESTERS)
diff --git a/src/filesrch.c b/src/filesrch.c
index 6dd11c5fc0e5b1a129205867fd18cbc884b58dde..7729652d0007346f755e30841fa72b490e7b5593 100644
--- a/src/filesrch.c
+++ b/src/filesrch.c
@@ -312,7 +312,7 @@ closedir (DIR * dirp)
 
 static CV_PossibleValue_t addons_cons_t[] = {{0, "Default"},
 #if 1
-												{1, "HOME"}, {2, "SRB2"},
+												{1, "HOME"}, {2, "DRRR"},
 #endif
 													{3, "CUSTOM"}, {0, NULL}};
 
diff --git a/src/g_demo.c b/src/g_demo.c
index c53166e8e3119429427a8e2cc6df3fdfc9a893db..b13f1293cf91dda1668f0511c09099108a60cdd1 100644
--- a/src/g_demo.c
+++ b/src/g_demo.c
@@ -2520,7 +2520,7 @@ void G_LoadDemoInfo(menudemo_t *pdemo)
 
 	if (memcmp(info_p, DEMOHEADER, 12))
 	{
-		CONS_Alert(CONS_ERROR, M_GetText("%s is not a SRB2Kart replay file.\n"), pdemo->filepath);
+		CONS_Alert(CONS_ERROR, M_GetText("%s is not a Ring Racers replay file.\n"), pdemo->filepath);
 		pdemo->type = MD_INVALID;
 		sprintf(pdemo->title, "INVALID REPLAY");
 		Z_Free(infobuffer);
@@ -2760,7 +2760,7 @@ void G_DoPlayDemo(char *defdemoname)
 	demo.playback = true;
 	if (memcmp(demo_p, DEMOHEADER, 12))
 	{
-		snprintf(msg, 1024, M_GetText("%s is not a SRB2Kart replay file.\n"), pdemoname);
+		snprintf(msg, 1024, M_GetText("%s is not a Ring Racers replay file.\n"), pdemoname);
 		CONS_Alert(CONS_ERROR, "%s", msg);
 		M_StartMessage(msg, NULL, MM_NOTHING);
 		Z_Free(pdemoname);
diff --git a/src/g_game.c b/src/g_game.c
index dd4723c91ce4c18547dea756cdc614bee3af032c..aebdff940faf9b81a2e443e8673e76b5e82ebf69 100644
--- a/src/g_game.c
+++ b/src/g_game.c
@@ -3972,7 +3972,7 @@ void G_LoadGameData(void)
 	// Version check
 	if (READUINT32(save_p) != 0xFCAFE211)
 	{
-		const char *gdfolder = "the SRB2Kart folder";
+		const char *gdfolder = "the Ring Racers folder";
 		if (strcmp(srb2home,"."))
 			gdfolder = srb2home;
 
@@ -4062,7 +4062,7 @@ void G_LoadGameData(void)
 	// Landing point for corrupt gamedata
 	datacorrupt:
 	{
-		const char *gdfolder = "the SRB2Kart folder";
+		const char *gdfolder = "the Ring Racers folder";
 		if (strcmp(srb2home,"."))
 			gdfolder = srb2home;
 
diff --git a/src/m_menu.c b/src/m_menu.c
index c1c8c114d3e7089394ea3ec967fad119870cf4e6..bcbd62d11f3b24036f537131eb1249d616367dd3 100644
--- a/src/m_menu.c
+++ b/src/m_menu.c
@@ -3516,7 +3516,7 @@ void M_Init(void)
 	quitmsg[QUIT3MSG1] = M_GetText("Come on, just ONE more netgame!\n\n(Press 'Y' to quit)");
 	quitmsg[QUIT3MSG2] = M_GetText("Press 'N' to unlock\nthe Golden Kart!\n\n(Press 'Y' to quit)");
 	quitmsg[QUIT3MSG3] = M_GetText("Couldn't handle\nthe banana meta?\n\n(Press 'Y' to quit)");
-	quitmsg[QUIT3MSG4] = M_GetText("Every time you press 'Y', an\nSRB2Kart Developer cries...\n\n(Press 'Y' to quit)");
+	quitmsg[QUIT3MSG4] = M_GetText("Every time you press 'Y', a\nRing Racers Developer cries...\n\n(Press 'Y' to quit)");
 	quitmsg[QUIT3MSG5] = M_GetText("You'll be back to play soon, though...\n...right?\n\n(Press 'Y' to quit)");
 	quitmsg[QUIT3MSG6] = M_GetText("Aww, is Eggman's Nightclub too\ndifficult for you?\n\n(Press 'Y' to quit)");
 
@@ -8804,7 +8804,7 @@ static void M_ConnectMenuModChecks(INT32 choice)
 
 	if (modifiedgame)
 	{
-		M_StartMessage(M_GetText("You have addons loaded.\nYou won't be able to join netgames!\n\nTo play online, restart the game\nand don't load any addons.\nSRB2Kart will automatically add\neverything you need when you join.\n\n(Press a key)\n"), FUNCPTRCAST(M_ConnectMenu), MM_EVENTHANDLER);
+		M_StartMessage(M_GetText("You have addons loaded.\nYou won't be able to join netgames!\n\nTo play online, restart the game\nand don't load any addons.\nRing Racers will automatically add\neverything you need when you join.\n\n(Press a key)\n"), FUNCPTRCAST(M_ConnectMenu), MM_EVENTHANDLER);
 		return;
 	}
 
diff --git a/src/m_misc.c b/src/m_misc.c
index 8146cceec9a0c3309899d49acf54efc637d05f61..1d8f5d394400052f8047cd20aff704447e11c58d 100644
--- a/src/m_misc.c
+++ b/src/m_misc.c
@@ -650,7 +650,7 @@ void M_SaveConfig(const char *filename)
 	}
 
 	// header message
-	fprintf(f, "// SRB2Kart configuration file.\n");
+	fprintf(f, "// Dr. Robotnik's Ring Racers configuration file.\n");
 
 	// print execversion FIRST, because subsequent consvars need to be filtered
 	// always print current EXECVERSION
@@ -803,10 +803,10 @@ static void M_PNGText(png_structp png_ptr, png_infop png_info_ptr, PNG_CONST png
 	char keytxt[SRB2PNGTXT][12] = {
 	"Title", "Description", "Playername", "Mapnum", "Mapname",
 	"Location", "Interface", "Render Mode", "Revision", "Build Date", "Build Time"};
-	char titletxt[] = "SRB2Kart " VERSIONSTRING;
+	char titletxt[] = "Dr. Robotnik's Ring Racers " VERSIONSTRING;
 	png_charp playertxt =  cv_playername[0].zstring;
-	char desctxt[] = "SRB2Kart Screenshot";
-	char Movietxt[] = "SRB2Kart Movie";
+	char desctxt[] = "Ring Racers Screenshot";
+	char Movietxt[] = "Ring Racers Movie";
 	size_t i;
 	char interfacetxt[] =
 #ifdef HAVE_SDL
diff --git a/src/mserv.c b/src/mserv.c
index 0c715e78f2247fd85a046f5a59544359f3c5f93d..37a5ea89c04ac5abe79452c255fb9ef39200463d 100644
--- a/src/mserv.c
+++ b/src/mserv.c
@@ -71,7 +71,7 @@ static CV_PossibleValue_t masterserver_update_rate_cons_t[] = {
 
 consvar_t cv_masterserver = CVAR_INIT ("masterserver", "https://ms.kartkrew.org/ms/api", CV_SAVE|CV_CALL, NULL, MasterServer_OnChange);
 consvar_t cv_rendezvousserver = CVAR_INIT ("rendezvousserver", "relay.kartkrew.org", CV_SAVE|CV_CALL, NULL, RendezvousServer_OnChange);
-consvar_t cv_servername = CVAR_INIT ("servername", "SRB2Kart server", CV_SAVE|CV_CALL|CV_NOINIT, NULL, Update_parameters);
+consvar_t cv_servername = CVAR_INIT ("servername", "Ring Racers server", CV_SAVE|CV_CALL|CV_NOINIT, NULL, Update_parameters);
 consvar_t cv_server_contact = CVAR_INIT ("server_contact", "", CV_SAVE|CV_CALL|CV_NOINIT, NULL, Update_parameters);
 
 consvar_t cv_masterserver_update_rate = CVAR_INIT ("masterserver_update_rate", "15", CV_SAVE|CV_CALL|CV_NOINIT, masterserver_update_rate_cons_t, MasterClient_Ticker);
diff --git a/src/sdl/i_main.c b/src/sdl/i_main.c
index 5b205503e1f8a1dfd38d22c01ff22a061e77bdbe..de3ea3c9ae19658937fcec2d8bcf638dd7027517 100644
--- a/src/sdl/i_main.c
+++ b/src/sdl/i_main.c
@@ -269,7 +269,7 @@ int main(int argc, char **argv)
 #endif
 
 	// startup SRB2
-	CONS_Printf("Setting up SRB2Kart...\n");
+	CONS_Printf("Setting up Dr. Robotnik's Ring Racers...\n");
 	D_SRB2Main();
 #ifdef LOGMESSAGES
 	if (!M_CheckParm("-nolog"))
diff --git a/src/sdl/i_system.c b/src/sdl/i_system.c
index 854c35793c9cfc997b5f3be9aaa7f96d47ab47ed..627da09a4cf4c3be6a4d63773c1fcfc3c05d1acf 100644
--- a/src/sdl/i_system.c
+++ b/src/sdl/i_system.c
@@ -145,10 +145,10 @@ typedef LPVOID (WINAPI *p_MapViewOfFile) (HANDLE, DWORD, DWORD, DWORD, SIZE_T);
 
 // Locations for searching for main.kart
 #if defined (__unix__) || defined(__APPLE__) || defined (UNIXCOMMON)
-#define DEFAULTWADLOCATION1 "/usr/local/share/games/SRB2Kart"
-#define DEFAULTWADLOCATION2 "/usr/local/games/SRB2Kart"
-#define DEFAULTWADLOCATION3 "/usr/share/games/SRB2Kart"
-#define DEFAULTWADLOCATION4 "/usr/games/SRB2Kart"
+#define DEFAULTWADLOCATION1 "/usr/local/share/games/DRRR"
+#define DEFAULTWADLOCATION2 "/usr/local/games/DRRR"
+#define DEFAULTWADLOCATION3 "/usr/share/games/DRRR"
+#define DEFAULTWADLOCATION4 "/usr/games/DRRR"
 #define DEFAULTSEARCHPATH1 "/usr/local/games"
 #define DEFAULTSEARCHPATH2 "/usr/games"
 #define DEFAULTSEARCHPATH3 "/usr/local"
@@ -247,8 +247,8 @@ static void write_backtrace(INT32 signal)
 	void *array[BT_SIZE];
 	char timestr[STR_SIZE];
 
-	const char *error = "An error occurred within SRB2! Send this stack trace to someone who can help!\n";
-	const char *error2 = "(Or find crash-log.txt in your SRB2 directory.)\n"; // Shown only to stderr.
+	const char *error = "An error occurred within Dr. Robotnik's Ring Racers! Send this stack trace to someone who can help!\n";
+	const char *error2 = "(Or find crash-log.txt in your Ring Racers directory.)\n"; // Shown only to stderr.
 
 	fd = open(va("%s" PATHSEP "%s", srb2home, "crash-log.txt"), O_CREAT|O_APPEND|O_RDWR, S_IRUSR|S_IWUSR);
 
@@ -682,7 +682,7 @@ static void I_StartupConsole(void)
 
 	if (gotConsole)
 	{
-		SetConsoleTitleA("SRB2Kart Console");
+		SetConsoleTitleA("Dr. Robotnik's Ring Racers Console");
 		consolevent = SDL_TRUE;
 	}
 
@@ -1513,8 +1513,8 @@ void I_UpdateMumble(const mobj_t *mobj, const listener_t listener)
 		return;
 
 	if(mumble->uiVersion != 2) {
-		wcsncpy(mumble->name, L"SRB2Kart "VERSIONSTRINGW, 256);
-		wcsncpy(mumble->description, L"Sonic Robo Blast 2 Kart with integrated Mumble Link support.", 2048);
+		wcsncpy(mumble->name, L"Dr. Robotnik's Ring Racers "VERSIONSTRINGW, 256);
+		wcsncpy(mumble->description, L"Dr. Robotnik's Ring Racers with integrated Mumble Link support.", 2048);
 		mumble->uiVersion = 2;
 	}
 	mumble->uiTick++;
@@ -1853,7 +1853,7 @@ INT32 I_StartupSystem(void)
 	I_OutputMsg("Linked with SDL version: %d.%d.%d\n",
 	 SDLlinked.major, SDLlinked.minor, SDLlinked.patch);
 	if (SDL_Init(0) < 0)
-		I_Error("SRB2: SDL System Error: %s", SDL_GetError()); //Alam: Oh no....
+		I_Error("Dr. Robotnik's Ring Racers: SDL System Error: %s", SDL_GetError()); //Alam: Oh no....
 #ifndef NOMUMBLE
 	I_SetupMumble();
 #endif
@@ -1976,7 +1976,7 @@ void I_Error(const char *error, ...)
 			// on the target system
 			if (!M_CheckParm("-dedicated"))
 				SDL_ShowSimpleMessageBox(SDL_MESSAGEBOX_ERROR,
-					"SRB2Kart "VERSIONSTRING" Recursive Error",
+					"Dr. Robotnik's Ring Racers "VERSIONSTRING" Recursive Error",
 					buffer, NULL);
 
 			W_Shutdown();
@@ -2025,7 +2025,7 @@ void I_Error(const char *error, ...)
 	// on the target system
 	if (!M_CheckParm("-dedicated"))
 		SDL_ShowSimpleMessageBox(SDL_MESSAGEBOX_ERROR,
-			"SRB2Kart "VERSIONSTRING" Error",
+			"Dr. Robotnik's Ring Racers "VERSIONSTRING" Error",
 			buffer, NULL);
 
 	// Note that SDL_ShowSimpleMessageBox does *not* require SDL to be
diff --git a/src/sdl/i_video.c b/src/sdl/i_video.c
index 9f96a2177f1dd3afcf1e37173f40c69d20ef6951..ceba0f33008b53efb083efd2aabeef3d61879541 100644
--- a/src/sdl/i_video.c
+++ b/src/sdl/i_video.c
@@ -1729,7 +1729,7 @@ INT32 VID_SetMode(INT32 modeNum)
 	src_rect.w = vid.width;
 	src_rect.h = vid.height;
 
-	//Impl_SetWindowName("SRB2Kart "VERSIONSTRING);
+	//Impl_SetWindowName("Dr. Robotnik's Ring Racers "VERSIONSTRING);
 	VID_CheckRenderer();
 	return SDL_TRUE;
 }
@@ -1756,7 +1756,7 @@ static SDL_bool Impl_CreateWindow(SDL_bool fullscreen)
 #endif
 
 	// Create a window
-	window = SDL_CreateWindow("SRB2Kart "VERSIONSTRING, SDL_WINDOWPOS_CENTERED, SDL_WINDOWPOS_CENTERED,
+	window = SDL_CreateWindow("Dr. Robotnik's Ring Racers "VERSIONSTRING, SDL_WINDOWPOS_CENTERED, SDL_WINDOWPOS_CENTERED,
 			realwidth, realheight, flags);
 
 
@@ -1932,7 +1932,7 @@ void I_StartupGraphics(void)
 
 	// Create window
 	//Impl_CreateWindow(USE_FULLSCREEN);
-	//Impl_SetWindowName("SRB2Kart "VERSIONSTRING);
+	//Impl_SetWindowName("Dr. Robotnik's Ring Racers "VERSIONSTRING);
 	VID_SetMode(VID_GetModeForSize(BASEVIDWIDTH, BASEVIDHEIGHT));
 
 	vid.width = BASEVIDWIDTH; // Default size for startup
diff --git a/src/win32/Srb2win.rc b/src/win32/Srb2win.rc
index b3925c873be6d3c9a791cd7edb4873624506fa31..dbd11991a1bcd37aeb7cb88a6692640a382dac1c 100644
--- a/src/win32/Srb2win.rc
+++ b/src/win32/Srb2win.rc
@@ -94,16 +94,16 @@ BEGIN
     BEGIN
         BLOCK "04090000"
         BEGIN
-            VALUE "Comments", "Go go-karting with Dr. Eggman!\0"
+            VALUE "Comments", "Go go-karting with Dr. Robotnik!\0"
             VALUE "CompanyName", "Kart Krew\0"
-            VALUE "FileDescription", "SRB2Kart\0"
+            VALUE "FileDescription", "Dr. Robotnik's Ring Racers\0"
             VALUE "FileVersion", VERSIONSTRING_RC
-            VALUE "InternalName", "srb2kart\0"
+            VALUE "InternalName", "drrr\0"
             VALUE "LegalCopyright", "Copyright 2018-2020 by Kart Krew\0"
-            VALUE "LegalTrademarks", "Dr. Eggman and related characters are trademarks of Sega.\0"
-            VALUE "OriginalFilename", "srb2kart.exe\0"
+            VALUE "LegalTrademarks", "Dr. Robotnik and related characters are trademarks of Sega.\0"
+            VALUE "OriginalFilename", "drrr.exe\0"
             VALUE "PrivateBuild", "\0"
-            VALUE "ProductName", "SRB2Kart\0"
+            VALUE "ProductName", "Dr. Robotnik's Ring Racers\0"
             VALUE "ProductVersion", VERSIONSTRING_RC
             VALUE "SpecialBuild", "\0"
         END
diff --git a/src/win32/win_dbg.c b/src/win32/win_dbg.c
index 4230e962fae5ccba5b52a76170bd90e14c44c040..b5e3767dc9dbc24e889fcaca771c3c75c735567f 100644
--- a/src/win32/win_dbg.c
+++ b/src/win32/win_dbg.c
@@ -74,7 +74,7 @@ BOOL InitBugTrap(void)
 
 	if (g_hmodBugTrap)
 	{
-		lpfnBT_SetAppName(TEXT("Sonic Robo Blast 2"));
+		lpfnBT_SetAppName(TEXT("Dr. Robotnik's Ring Racers"));
 		lpfnBT_SetAppVersion(TEXT(VERSIONSTRING));
 		lpfnBT_SetFlags(BTF_DETAILEDMODE | BTF_ATTACHREPORT);
 		lpfnBT_SetSupportURL(TEXT("http://www.srb2.org/"));
@@ -454,7 +454,7 @@ LONG WINAPI RecordExceptionInfo(PEXCEPTION_POINTERS data/*, LPCSTR Message, LPST
 	FPrintf(fileHandle, "Email Sonic Team Junior so we can fix the bugs\r\n"); // Tails
 	FPrintf(fileHandle, "Make sure you tell us what you were doing to cause the crash, and if possible, record a demo!\r\n"); // Tails
 	FPrintf(fileHandle, "\r\n\r\n\r\n\r\n");
-	FPrintf(fileHandle, "SRB2Kart %s -ERROR LOG-\r\n\r\n", VERSIONSTRING);
+	FPrintf(fileHandle, "Dr. Robotnik's Ring Racers %s -ERROR LOG-\r\n\r\n", VERSIONSTRING);
 	FPrintf(fileHandle, "\r\n");
 	// VirtualQuery can be used to get the allocation base associated with a
 	// code address, which is the same as the ModuleHandle. This can be used
diff --git a/src/win32/win_main.c b/src/win32/win_main.c
index 54b48975100337b2d8eed9acb21864e61901c93f..70b0d720130072c28142268330f616f68c1e7b19 100644
--- a/src/win32/win_main.c
+++ b/src/win32/win_main.c
@@ -325,8 +325,8 @@ static inline VOID OpenTextConsole(VOID)
 	{
 		if (AllocConsole()) //Let get the real console HANDLEs, because Mingw's Bash is bad!
 		{
-			SetConsoleTitleA("SRB2Kart Console");
-			CONS_Printf(M_GetText("Hello, it's me, SRB2Kart's Console Window\n"));
+			SetConsoleTitleA("Dr. Robotnik's Ring Racers Console");
+			CONS_Printf(M_GetText("Hello, it's me, Dr. Robotnik's Ring Racers' Console Window\n"));
 		}
 		else
 		{
@@ -612,7 +612,7 @@ static int WINAPI HandledWinMain(HINSTANCE hInstance)
 #endif
 
 	// open a dummy window, both OpenGL and DirectX need one.
-	if ((hWndMain = OpenMainWindow(hInstance, va("SRB2Kart "VERSIONSTRING))) == INVALID_HANDLE_VALUE)
+	if ((hWndMain = OpenMainWindow(hInstance, va("Dr. Robotnik's Ring Racers "VERSIONSTRING))) == INVALID_HANDLE_VALUE)
 	{
 		tlErrorMessage(TEXT("Couldn't open window"));
 		return FALSE;
@@ -624,7 +624,7 @@ static int WINAPI HandledWinMain(HINSTANCE hInstance)
 	MakeCodeWritable();
 
 	// startup SRB2
-	CONS_Printf("Setting up SRB2Kart...\n");
+	CONS_Printf("Setting up Dr. Robotnik's Ring Racers...\n");
 	D_SRB2Main();
 	CONS_Printf("Entering main game loop...\n");
 	// never return
diff --git a/src/win32/win_net.c b/src/win32/win_net.c
index c0691955092712081412df8b9eb3ce15b6647f85..4e958da602b7e88d74036576a1f63ed957f2facb 100644
--- a/src/win32/win_net.c
+++ b/src/win32/win_net.c
@@ -33,7 +33,7 @@ boolean I_InitNetwork(void)
 {
 	if (M_CheckParm ("-net"))
 	{
-		I_Error("The Win32 version of SRB2Kart doesn't work with external drivers like ipxsetup, sersetup, or doomatic\n"
+		I_Error("The Win32 version of Dr. Robotnik's Ring Racers doesn't work with external drivers like ipxsetup, sersetup, or doomatic\n"
 		        "Read the documentation about \"-server\" and \"-connect\" parameters or just use the launcher\n");
 	}
 
diff --git a/src/win32/win_sys.c b/src/win32/win_sys.c
index 9b2c5bd07f9d307effafcf7b8a4572b1c80fe201..8d4819dd8b11d9341c762ba137854a3835c841e8 100644
--- a/src/win32/win_sys.c
+++ b/src/win32/win_sys.c
@@ -513,7 +513,7 @@ static void signal_handler(int num)
 	}
 #endif
 
-	MessageBoxA(hWndMain, va("signal_handler(): %s", sigmsg), "SRB2Kart error", MB_OK|MB_ICONERROR);
+	MessageBoxA(hWndMain, va("signal_handler(): %s", sigmsg), "Dr. Robotnik's Ring Racers error", MB_OK|MB_ICONERROR);
 
 	signal(num, SIG_DFL); // default signal action
 	raise(num);
@@ -630,7 +630,7 @@ void I_Error(const char *error, ...)
 			va_end(argptr);
 
 			OutputDebugStringA(txt);
-			MessageBoxA(hWndMain, txt, "SRB2Kart Recursive Error", MB_OK|MB_ICONERROR);
+			MessageBoxA(hWndMain, txt, "Dr. Robotnik's Ring Racers Recursive Error", MB_OK|MB_ICONERROR);
 			W_Shutdown();
 			exit(-1); // recursive errors detected
 		}
@@ -673,7 +673,7 @@ void I_Error(const char *error, ...)
 	}
 #endif
 
-	MessageBoxA(hWndMain, txt, "SRB2Kart Error", MB_OK|MB_ICONERROR);
+	MessageBoxA(hWndMain, txt, "Dr. Robotnik's Ring Racers Error", MB_OK|MB_ICONERROR);
 
 	W_Shutdown();
 	exit(-1);
@@ -3092,8 +3092,8 @@ void I_UpdateMumble(const mobj_t *mobj, const listener_t listener)
 		return;
 
 	if(mumble->uiVersion != 2) {
-		wcsncpy(mumble->name, L"SRB2Kart "VERSIONSTRINGW, 256);
-		wcsncpy(mumble->description, L"SRB2Kart with integrated Mumble Link support.", 2048);
+		wcsncpy(mumble->name, L"Dr. Robotnik's Ring Racers "VERSIONSTRINGW, 256);
+		wcsncpy(mumble->description, L"Dr. Robotnik's Ring Racers with integrated Mumble Link support.", 2048);
 		mumble->uiVersion = 2;
 	}
 	mumble->uiTick++;