diff --git a/.travis.yml b/.travis.yml
index c652584f8879153f879a24c0f3f5a741cc8eae4f..5815e711f1611f76ea7b395a093730ff46ebaffa 100644
--- a/.travis.yml
+++ b/.travis.yml
@@ -10,6 +10,8 @@ compiler:
   - clang
 
 cache:
+  apt:  true
+  ccache: true
   directories:
   - $HOME/srb2_cache
 
diff --git a/cmake/Modules/FindGME.cmake b/cmake/Modules/FindGME.cmake
index 3b0c68de735e67458ce4652c600b5768c8124046..ea80af45442c098f21cef962082ce0602546cd29 100644
--- a/cmake/Modules/FindGME.cmake
+++ b/cmake/Modules/FindGME.cmake
@@ -6,16 +6,16 @@ find_path(GME_INCLUDE_DIR
 	NAMES gme.h
 	PATHS
 		${GME_PKGCONF_INCLUDE_DIRS}
-		/usr/include/gme
-		/usr/local/include/gme
+		"/usr/include/gme"
+		"/usr/local/include/gme"
 )
 
 find_library(GME_LIBRARY
 	NAMES gme
 	PATHS
 		${GME_PKGCONF_LIBRARY_DIRS}
-		/usr/lib
-		/usr/local/lib
+		"/usr/lib"
+		"/usr/local/lib"
 )
 
 set(GME_PROCESS_INCLUDES GME_INCLUDE_DIR)
diff --git a/comptime.bat b/comptime.bat
index 9e127f001a984ebf3e6febffb8307adb21d08aaf..0c7ea06d60955ec1cd5015a9b660625dae0b6d2c 100644
--- a/comptime.bat
+++ b/comptime.bat
@@ -1,4 +1,4 @@
-@ECHO OFF
+@echo off
 set BRA=Unknown
 set REV=illegal
 
@@ -13,20 +13,20 @@ goto filwri
 :gitrev
 set GIT=%2
 if "%GIT%"=="" set GIT=git
-FOR /F "usebackq" %%s IN (`%GIT% rev-parse --abbrev-ref HEAD`) DO @SET BRA=%%s
-FOR /F "usebackq" %%s IN (`%GIT% rev-parse HEAD`) DO @SET REV=%%s
+for /f "usebackq" %%s in (`%GIT% rev-parse --abbrev-ref HEAD`) do @set BRA=%%s
+for /f "usebackq" %%s in (`%GIT% rev-parse HEAD`) do @set REV=%%s
 set REV=%REV:~0,8%
 goto filwri
 
 :svnrev
 set BRA=Subversion
-FOR /F "usebackq" %%s IN (`svnversion .`) DO @SET REV=%%s
+for /f "usebackq" %%s in (`svnversion .`) do @set REV=%%s
 set REV=r%REV%
 goto filwri
 
 :filwri
-ECHO // Do not edit!  This file was autogenerated > %1\comptime.h
-ECHO // by the %0 batch file >> %1\comptime.h
-ECHO // >> %1\comptime.h
-ECHO const char* compbranch = "%BRA%"; >> %1\comptime.h
-ECHO const char* comprevision = "%REV%"; >> %1\comptime.h
+echo // Do not edit!  This file was autogenerated > %1\comptime.h
+echo // by the %0 batch file >> %1\comptime.h
+echo // >> %1\comptime.h
+echo const char* compbranch = "%BRA%"; >> %1\comptime.h
+echo const char* comprevision = "%REV%"; >> %1\comptime.h
diff --git a/src/CMakeLists.txt b/src/CMakeLists.txt
index 54a08ea0bb31b03d23c3758b37874dc99f3fdcd0..13d3312dd02aae2d0efcaec4da9287ac4072fc15 100644
--- a/src/CMakeLists.txt
+++ b/src/CMakeLists.txt
@@ -316,6 +316,7 @@ if(${SRB2_CONFIG_HAVE_GME})
 	find_package(GME)
 	if(${GME_FOUND})
 		set(SRB2_HAVE_GME ON)
+		add_definitions(-DHAVE_LIBGME)
 	else()
 		message(WARNING "You have specified that GME is available but it was not found.")
 	endif()
diff --git a/src/Makefile b/src/Makefile
index bee60804720da1dcbee09065c29f616e145848f0..449b4065d2967f742a8ad4f917f6b4c96a2f0e19 100644
--- a/src/Makefile
+++ b/src/Makefile
@@ -262,9 +262,7 @@ else
 	OBJS+=$(OBJDIR)/hw3sound.o
 endif
 
-ifndef NOVERSION
 OPTS += -DCOMPVERSION
-endif
 
 ifndef NONX86
 ifndef GCC29
@@ -551,15 +549,11 @@ cleandep:
 	$(REMOVE) comptime.h
 
 pre-build:
-ifdef NOVERSION
-	-@touch comptime.c
-else
 ifdef WINDOWSHELL
 	-..\comptime.bat .
 else
 	-@../comptime.sh .
 endif
-endif
 
 clean:
 	$(REMOVE) *~ *.flc
diff --git a/src/d_main.c b/src/d_main.c
index 1349a64e4b9fbe20f9f4fc02fc3dd879f3b0a37e..b04c55cbf668510284410c1bd36b75e0488e3f10 100644
--- a/src/d_main.c
+++ b/src/d_main.c
@@ -513,7 +513,6 @@ static void D_Display(void)
 // =========================================================================
 
 tic_t rendergametic;
-boolean supdate;
 
 void D_SRB2Loop(void)
 {
@@ -604,7 +603,6 @@ void D_SRB2Loop(void)
 
 			// Update display, next frame, with current state.
 			D_Display();
-			supdate = false;
 
 			if (moviemode)
 				M_SaveFrame();
diff --git a/src/d_main.h b/src/d_main.h
index 800b61f531fb9c79f6b19f4d2eb0d23c1430b045..c5ce19ef4cb199ca489840e1899f0e40d0c3f775 100644
--- a/src/d_main.h
+++ b/src/d_main.h
@@ -17,7 +17,6 @@
 #include "d_event.h"
 #include "w_wad.h"   // for MAX_WADFILES
 
-extern boolean supdate;
 extern boolean advancedemo;
 
 // make sure not to write back the config until it's been correctly loaded
diff --git a/src/p_enemy.c b/src/p_enemy.c
index 367d5714a4b50b66511a53c7fb4015a1ad294acc..ffb69082213b86374f923ab2875452407ea0ac3f 100644
--- a/src/p_enemy.c
+++ b/src/p_enemy.c
@@ -7223,7 +7223,7 @@ void A_ChangeAngleAbsolute(mobj_t *actor)
 	//const angle_t amin = FixedAngle(locvar1*FRACUNIT);
 	//const angle_t amax = FixedAngle(locvar2*FRACUNIT);
 #ifdef HAVE_BLUA
-	if (LUA_CallAction("A_ChangeAngelAbsolute", actor))
+	if (LUA_CallAction("A_ChangeAngleAbsolute", actor))
 		return;
 #endif
 
diff --git a/src/sdl/CMakeLists.txt b/src/sdl/CMakeLists.txt
index b3d734521bed110b4d3c107fd2e52db252ee4523..7190efaac6ec08b8e25bc4b1372fc1f4cc7afb4b 100644
--- a/src/sdl/CMakeLists.txt
+++ b/src/sdl/CMakeLists.txt
@@ -122,6 +122,7 @@ if(${SDL2_FOUND})
 		add_framework(SDL2 SRB2SDL2)
 		add_framework(SDL2_mixer SRB2SDL2)
 		target_link_libraries(SRB2SDL2 PRIVATE
+			${GME_LIBRARIES}
 			${PNG_LIBRARIES}
 			${ZLIB_LIBRARIES}
 			${OPENGL_LIBRARIES}
@@ -131,6 +132,7 @@ if(${SDL2_FOUND})
 		target_link_libraries(SRB2SDL2 PRIVATE
 			${SDL2_LIBRARIES}
 			${SDL2_MIXER_LIBRARIES}
+			${GME_LIBRARIES}
 			${PNG_LIBRARIES}
 			${ZLIB_LIBRARIES}
 			${OPENGL_LIBRARIES}
@@ -198,6 +200,7 @@ if(${SDL2_FOUND})
 	target_include_directories(SRB2SDL2 PRIVATE
 		${SDL2_INCLUDE_DIRS}
 		${SDL2_MIXER_INCLUDE_DIRS}
+		${GME_INCLUDE_DIRS}
 		${PNG_INCLUDE_DIRS}
 		${ZLIB_INCLUDE_DIRS}
 		${OPENGL_INCLUDE_DIRS}