diff --git a/src/d_main.c b/src/d_main.c
index 2ee0afae79c87f1953bdead58ae9808198bb47ad..702809a15416569cce8963c2dc4495dc3f300b71 100644
--- a/src/d_main.c
+++ b/src/d_main.c
@@ -853,11 +853,6 @@ static void IdentifyVersion(void)
 
 #if !defined (HAVE_SDL) || defined (HAVE_MIXER)
 	{
-#if defined (DC) && 0
-		const char *musicfile = "music_dc.dta";
-#else
-		const char *musicfile = "music.dta";
-#endif
 #define MUSICTEST(str) \
 		{\
 			const char *musicpath = va(pandf,srb2waddir,str);\
@@ -868,7 +863,11 @@ static void IdentifyVersion(void)
 				I_Error("File "str" has been modified with non-music/sound lumps"); \
 		}
 
+#if defined (DC) && 0
+		MUSICTEST("music_dc.dta")
+#else
 		MUSICTEST("music.dta")
+#endif
 	}
 #endif
 }
diff --git a/src/d_netcmd.c b/src/d_netcmd.c
index a3d3272b563b5da84b3dcfb859bdd1c42807a060..643daf7a9151778d549681f2de60ecb65b29b0d3 100644
--- a/src/d_netcmd.c
+++ b/src/d_netcmd.c
@@ -3243,7 +3243,6 @@ static void Got_RequestAddfilecmd(UINT8 **cp, INT32 playernum)
 	boolean kick = false;
 	boolean toomany = false;
 	INT32 i,j;
-	size_t packetsize = 0;
 	serverinfo_pak *dummycheck = NULL;
 
 	// Shut the compiler up.
diff --git a/src/filesrch.h b/src/filesrch.h
index 75fd70af7abfb29c1429c47fa85022d93f371dc0..94c43ffa4d55c07b2c01aa8a0b380161d07942d4 100644
--- a/src/filesrch.h
+++ b/src/filesrch.h
@@ -56,7 +56,7 @@ typedef enum
 	EXT_LOADSTART,
 	EXT_WAD = EXT_LOADSTART,
 	EXT_KART,
-	//EXT_PK3,
+	EXT_PK3,
 	EXT_SOC,
 	EXT_LUA, // allowed even if not HAVE_BLUA so that we can yell on load attempt
 	NUM_EXT,
diff --git a/src/m_menu.c b/src/m_menu.c
index ea49c019925491cd1bad1f4ecf5e726085905006..99c39ae0cf33ba0c44399d012665d8228cb20f56 100644
--- a/src/m_menu.c
+++ b/src/m_menu.c
@@ -1364,6 +1364,7 @@ static menuitem_t OP_ServerOptionsMenu[] =
 #ifndef NONET
 	{IT_STRING | IT_CVAR | IT_CV_STRING,
 	                         NULL, "Server name",                 &cv_servername,         50},
+#endif
 
 	{IT_STRING | IT_CVAR,    NULL, "Intermission Timer",          &cv_inttime,            80},
 	{IT_STRING | IT_CVAR,    NULL, "Advance to next map",         &cv_advancemap,         90},
@@ -1468,6 +1469,9 @@ menu_t MISC_ChangeTeamDef = DEFAULTMENUSTYLE(NULL, MISC_ChangeTeamMenu, &MPauseD
 menu_t MISC_ChangeLevelDef = MAPICONMENUSTYLE(NULL, MISC_ChangeLevelMenu, &MPauseDef);
 menu_t MISC_HelpDef = IMAGEDEF(MISC_HelpMenu);
 
+static INT32 highlightflags, recommendedflags, warningflags;
+
+
 // Sky Room
 menu_t SR_PandoraDef =
 {
@@ -3925,7 +3929,7 @@ static void M_AddonsOptions(INT32 choice)
 }
 
 #define LOCATIONSTRING1 "Visit \x83SRB2.ORG/MODS\x80 to get & make add-ons!"
-#define LOCATIONSTRING2 "Visit \x88SRB2.ORG/MODS\x80 to get & make add-ons!"
+//#define LOCATIONSTRING2 "Visit \x88SRB2.ORG/MODS\x80 to get & make add-ons!"
 
 static void M_Addons(INT32 choice)
 {
@@ -3933,6 +3937,11 @@ static void M_Addons(INT32 choice)
 
 	(void)choice;
 
+	// If M_GetGameypeColor() is ever ported from Kart, then remove this.
+	highlightflags = V_YELLOWMAP;
+	recommendedflags = V_GREENMAP;
+	warningflags = V_REDMAP;
+
 #if 1
 	if (cv_addons_option.value == 0)
 		pathname = usehome ? srb2home : srb2path;
@@ -3958,7 +3967,8 @@ static void M_Addons(INT32 choice)
 
 	if (!preparefilemenu(false))
 	{
-		M_StartMessage(va("No files/folders found.\n\n%s\n\n(Press a key)\n", (recommendedflags == V_SKYMAP ? LOCATIONSTRING2 : LOCATIONSTRING1)),NULL,MM_NOTHING);
+		M_StartMessage(va("No files/folders found.\n\n%s\n\n(Press a key)\n",LOCATIONSTRING1),NULL,MM_NOTHING);
+			// (recommendedflags == V_SKYMAP ? LOCATIONSTRING2 : LOCATIONSTRING1))
 		return;
 	}
 	else
@@ -3978,7 +3988,7 @@ static void M_Addons(INT32 choice)
 	addonsp[EXT_CFG] = W_CachePatchName("M_FCFG", PU_STATIC);
 	addonsp[EXT_WAD] = W_CachePatchName("M_FWAD", PU_STATIC);
 	addonsp[EXT_KART] = W_CachePatchName("M_FKART", PU_STATIC);
-	//addonsp[EXT_PK3] = W_CachePatchName("M_FPK3", PU_STATIC);
+	addonsp[EXT_PK3] = W_CachePatchName("M_FPK3", PU_STATIC);
 	addonsp[EXT_SOC] = W_CachePatchName("M_FSOC", PU_STATIC);
 	addonsp[EXT_LUA] = W_CachePatchName("M_FLUA", PU_STATIC);
 	addonsp[NUM_EXT] = W_CachePatchName("M_FUNKN", PU_STATIC);
@@ -4131,7 +4141,8 @@ static void M_DrawAddons(void)
 	if (Playing())
 		V_DrawCenteredString(BASEVIDWIDTH/2, 5, warningflags, "Adding files mid-game may cause problems.");
 	else
-		V_DrawCenteredString(BASEVIDWIDTH/2, 5, 0, (recommendedflags == V_SKYMAP ? LOCATIONSTRING2 : LOCATIONSTRING1));
+		V_DrawCenteredString(BASEVIDWIDTH/2, 5, 0, LOCATIONSTRING1);
+			// (recommendedflags == V_SKYMAP ? LOCATIONSTRING2 : LOCATIONSTRING1)
 
 	if (numwadfiles <= mainwads+1)
 		y = 0;
@@ -4424,7 +4435,7 @@ static void M_HandleAddons(INT32 choice)
 						case EXT_SOC:
 						case EXT_WAD:
 						case EXT_KART:
-						//case EXT_PK3:
+						case EXT_PK3:
 							COM_BufAddText(va("addfile \"%s%s\"", menupath, dirmenu[dir_on[menudepthleft]]+DIR_STRING));
 							break;
 						default:
diff --git a/src/v_video.c b/src/v_video.c
index 1f05585f3506bf154679451782b9e18cc310a274..95558ad244ee4cbc51b9cca045d51e7126aaa9af 100644
--- a/src/v_video.c
+++ b/src/v_video.c
@@ -1012,9 +1012,8 @@ void V_DrawFadeConsBack(INT32 plines)
 
 // Gets string colormap, used for 0x80 color codes
 //
-static const UINT8 *V_GetStringColormap(INT32 colorflags)
+UINT8 *V_GetStringColormap(INT32 colorflags)
 {
-#if 0 // perfect
 	switch ((colorflags & V_CHARCOLORMASK) >> V_CHARCOLORSHIFT)
 	{
 	case 1: // 0x81, purple
@@ -1034,12 +1033,6 @@ static const UINT8 *V_GetStringColormap(INT32 colorflags)
 	default: // reset
 		return NULL;
 	}
-#else // optimised
-	colorflags = ((colorflags & V_CHARCOLORMASK) >> V_CHARCOLORSHIFT);
-	if (!colorflags || colorflags > 15) // INT32 is signed, but V_CHARCOLORMASK is a very restrictive mask.
-		return NULL;
-	return (purplemap+((colorflags-1)<<8));
-#endif
 }
 
 // Writes a single character (draw WHITE if bit 7 set)
diff --git a/src/v_video.h b/src/v_video.h
index a60a08a5bb5349c3477214e0c527a42005ec0efe..083be1fb00d0381a38a30aead4627cae3bbfa358 100644
--- a/src/v_video.h
+++ b/src/v_video.h
@@ -150,6 +150,8 @@ void V_DrawFadeConsBack(INT32 plines);
 // draw a single character
 void V_DrawCharacter(INT32 x, INT32 y, INT32 c, boolean lowercaseallowed);
 
+UINT8 *V_GetStringColormap(INT32 colorflags);
+
 void V_DrawLevelTitle(INT32 x, INT32 y, INT32 option, const char *string);
 
 // wordwrap a string using the hu_font
diff --git a/src/w_wad.c b/src/w_wad.c
index dee55c6c8e48680030f212253fda96fbab5d3b63..56629502ba1479b8bb4b93944c6a185b1e7b5eee 100644
--- a/src/w_wad.c
+++ b/src/w_wad.c
@@ -649,7 +649,6 @@ UINT16 W_InitFile(const char *filename)
 	restype_t type;
 	UINT16 numlumps = 0;
 	size_t i;
-	INT32 compressed = 0;
 	size_t packetsize;
 	UINT8 md5sum[16];
 	boolean important;