diff --git a/project/AndroidManifestTemplate.xml b/project/AndroidManifestTemplate.xml
index 7956ad1c7..37b9de539 100644
--- a/project/AndroidManifestTemplate.xml
+++ b/project/AndroidManifestTemplate.xml
@@ -25,6 +25,7 @@
+
diff --git a/project/java/Settings.java b/project/java/Settings.java
index e8ad8655c..062c498af 100644
--- a/project/java/Settings.java
+++ b/project/java/Settings.java
@@ -638,6 +638,11 @@ class Settings
nativeSetEnv( "TV", "1" );
nativeSetEnv( "ANDROID_TV", "1" );
}
+ if (p.getIntent().getCategories() != null && p.getIntent().getCategories().contains("com.google.intent.category.CARDBOARD")) {
+ nativeSetEnv( "CARDBOARD", "1" );
+ nativeSetEnv( "VR", "1" );
+ nativeSetEnv( "CARDBOARD_VR", "1" );
+ }
if (p.getIntent().getStringExtra(RestartMainActivity.SDL_RESTART_PARAMS) != null)
nativeSetEnv( RestartMainActivity.SDL_RESTART_PARAMS, p.getIntent().getStringExtra(RestartMainActivity.SDL_RESTART_PARAMS) );
try {
diff --git a/project/jni/application/openarena/engine b/project/jni/application/openarena/engine
index 444e8ed56..f05c3a102 160000
--- a/project/jni/application/openarena/engine
+++ b/project/jni/application/openarena/engine
@@ -1 +1 @@
-Subproject commit 444e8ed56b32f0e10dd495e8dc9f2399fac662bb
+Subproject commit f05c3a102ee9e05db313c79e1ed1d1e563f74f17
diff --git a/project/jni/application/openarena/vm b/project/jni/application/openarena/vm
index 03db6ac6d..e64e50c37 160000
--- a/project/jni/application/openarena/vm
+++ b/project/jni/application/openarena/vm
@@ -1 +1 @@
-Subproject commit 03db6ac6d82dc9371fd1d0a562b6ba40a4a7856f
+Subproject commit e64e50c375bd70d033f1e23cf81608d08f777594
diff --git a/project/jni/application/openttd/src b/project/jni/application/openttd/src
index 9b3502f37..145d01d3d 160000
--- a/project/jni/application/openttd/src
+++ b/project/jni/application/openttd/src
@@ -1 +1 @@
-Subproject commit 9b3502f3770fd35c13830a5d108c0428ec74e0f2
+Subproject commit 145d01d3df58cba497a86308f3125cfe1ebe6516
diff --git a/project/jni/application/teeworlds/src b/project/jni/application/teeworlds/src
index 066b0d8dd..6463636f2 160000
--- a/project/jni/application/teeworlds/src
+++ b/project/jni/application/teeworlds/src
@@ -1 +1 @@
-Subproject commit 066b0d8dd07567ee598b5a3831843b5464a68e52
+Subproject commit 6463636f28cbc9f98505c4769a7df9426914cb57
diff --git a/todo.txt b/todo.txt
index 8381bbc9a..00a294d95 100644
--- a/todo.txt
+++ b/todo.txt
@@ -5,7 +5,7 @@ TODO, which will get actually done
- TeeWorlds: navigate UI with gamepad.
-- OpenArena: cardboard VR mode, fix aiming angles jumping at random after the first zoom, and make Back button exit the server / game, as required by Android TV.
+- OpenArena: cardboard VR mode, fix aiming angles jumping at random after the first zoom and after respawn, and make Back button exit the server / game, as required by Android TV.
- SDL: implement SDL_GL_LoadLibrary() / SDL_GL_GetProcAddress() / SDL_GL_SetAttribute() / SDL_GL_GetAttribute().