mirror of
https://github.com/DrBeef/ioq3quest.git
synced 2025-03-15 14:40:50 +00:00
Game pausing using Oculus button improved
This commit is contained in:
parent
822e3515dc
commit
56e1e5d247
3 changed files with 29 additions and 1 deletions
|
@ -790,7 +790,7 @@ Scroll it up or down
|
|||
void Con_RunConsole (void) {
|
||||
// decide on the destination height of the console
|
||||
if ( Key_GetCatcher( ) & KEYCATCH_CONSOLE )
|
||||
con.finalFrac = 0.5; // half screen
|
||||
con.finalFrac = 0.4; // half screen
|
||||
else
|
||||
con.finalFrac = 0; // none visible
|
||||
|
||||
|
|
|
@ -9,6 +9,7 @@
|
|||
#include <string>
|
||||
|
||||
extern "C" {
|
||||
#include <client/keycodes.h>
|
||||
#include <qcommon/q_shared.h>
|
||||
#include <qcommon/qcommon.h>
|
||||
#include <vr/vr_base.h>
|
||||
|
@ -28,6 +29,7 @@ extern "C" {
|
|||
static JNIEnv* g_Env = NULL;
|
||||
static JavaVM* g_JavaVM = NULL;
|
||||
static jobject g_ActivityObject = NULL;
|
||||
static bool g_HasFocus = true;
|
||||
|
||||
|
||||
extern "C"
|
||||
|
@ -37,6 +39,11 @@ extern "C"
|
|||
g_ActivityObject = env->NewGlobalRef(thisObject);
|
||||
}
|
||||
|
||||
JNIEXPORT void JNICALL Java_com_drbeef_ioq3quest_MainActivity_nativeFocusChanged(JNIEnv *env, jclass clazz, jboolean focus)
|
||||
{
|
||||
g_HasFocus = focus;
|
||||
}
|
||||
|
||||
JNIEXPORT jint JNICALL JNI_OnLoad(JavaVM* vm, void* reserved)
|
||||
{
|
||||
g_JavaVM = vm;
|
||||
|
@ -83,7 +90,22 @@ int main(int argc, char* argv[]) {
|
|||
|
||||
VR_EnterVR(engine, java);
|
||||
|
||||
bool hasFocus = true;
|
||||
bool paused = false;
|
||||
while (1) {
|
||||
if (hasFocus != g_HasFocus) {
|
||||
hasFocus = g_HasFocus;
|
||||
if (!hasFocus && !Cvar_VariableValue ("cl_paused")) {
|
||||
Com_QueueEvent( Sys_Milliseconds(), SE_KEY, K_ESCAPE, qtrue, 0, NULL );
|
||||
Com_QueueEvent( Sys_Milliseconds(), SE_KEY, K_CONSOLE, qtrue, 0, NULL );
|
||||
paused = true;
|
||||
} else if (hasFocus && paused) {
|
||||
Com_QueueEvent( Sys_Milliseconds(), SE_KEY, K_CONSOLE, qtrue, 0, NULL );
|
||||
Com_QueueEvent( Sys_Milliseconds(), SE_KEY, K_ESCAPE, qtrue, 0, NULL );
|
||||
paused = false;
|
||||
}
|
||||
}
|
||||
|
||||
SDL_Event event;
|
||||
while (SDL_PollEvent(&event)) {
|
||||
LOGI("Received SDL Event: %d", event.type);
|
||||
|
|
|
@ -82,6 +82,11 @@ public class MainActivity extends SDLActivity // implements KeyEvent.Callback
|
|||
}
|
||||
}
|
||||
|
||||
@Override
|
||||
public void onWindowFocusChanged(boolean hasFocus) {
|
||||
nativeFocusChanged(hasFocus);
|
||||
}
|
||||
|
||||
public void create() throws IOException {
|
||||
//Make the directories
|
||||
new File("/sdcard/ioquake3Quest/baseq3").mkdirs();
|
||||
|
@ -188,6 +193,7 @@ public class MainActivity extends SDLActivity // implements KeyEvent.Callback
|
|||
}
|
||||
|
||||
public static native void nativeCreate(MainActivity thisObject);
|
||||
public static native void nativeFocusChanged(boolean focus);
|
||||
|
||||
static {
|
||||
System.loadLibrary("main");
|
||||
|
|
Loading…
Reference in a new issue