mirror of
https://github.com/DrBeef/Quake2Quest.git
synced 2024-11-10 06:41:53 +00:00
64-bit
This commit is contained in:
parent
0558c1c8bc
commit
3f79287af5
13 changed files with 203 additions and 120 deletions
|
@ -16,7 +16,7 @@
|
|||
<uses-permission android:name="android.permission.MODIFY_AUDIO_SETTINGS" />
|
||||
<uses-permission android:name="android.permission.ACCESS_NETWORK_STATE" />
|
||||
<uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE"/>
|
||||
<application android:allowBackup="false" android:icon="@drawable/ic_qquest" android:label="@string/quake2quest">
|
||||
<application android:allowBackup="false" android:icon="@drawable/ic_qquest" android:label="@string/quake2quest" android:extractNativeLibs="true">
|
||||
<meta-data android:name="com.samsung.android.vr.application.mode" android:value="vr_only"/>
|
||||
<meta-data android:name="com.oculus.supportedDevices" android:value="quest|quest2"/>
|
||||
|
||||
|
|
|
@ -17,10 +17,10 @@ android {
|
|||
// override app plugin abiFilters for both 32 and 64-bit support
|
||||
externalNativeBuild {
|
||||
ndk {
|
||||
abiFilters 'armeabi-v7a'
|
||||
abiFilters 'arm64-v8a'
|
||||
}
|
||||
ndkBuild {
|
||||
abiFilters 'armeabi-v7a'
|
||||
abiFilters 'arm64-v8a'
|
||||
}
|
||||
}
|
||||
minSdkVersion 24
|
||||
|
|
|
@ -1,6 +1,6 @@
|
|||
#Thu Dec 10 20:38:41 GMT 2020
|
||||
#Sun Sep 04 22:16:08 BST 2022
|
||||
distributionBase=GRADLE_USER_HOME
|
||||
distributionUrl=https\://services.gradle.org/distributions/gradle-6.1.1-bin.zip
|
||||
distributionPath=wrapper/dists
|
||||
zipStoreBase=GRADLE_USER_HOME
|
||||
zipStorePath=wrapper/dists
|
||||
distributionUrl=https\://services.gradle.org/distributions/gradle-5.4.1-all.zip
|
||||
zipStoreBase=GRADLE_USER_HOME
|
||||
|
|
|
@ -31,6 +31,7 @@ Copyright : Copyright 2015 Oculus VR, LLC. All Rights reserved.
|
|||
#include <EGL/eglext.h>
|
||||
#include <GLES3/gl3.h>
|
||||
#include <GLES3/gl3ext.h>
|
||||
#include <GLES/gl2ext.h>
|
||||
|
||||
|
||||
#include "VrApi.h"
|
||||
|
@ -77,8 +78,8 @@ PFNEGLGETSYNCATTRIBKHRPROC eglGetSyncAttribKHR;
|
|||
//Let's go to the maximum!
|
||||
int CPU_LEVEL = 4;
|
||||
int GPU_LEVEL = 4;
|
||||
int NUM_MULTI_SAMPLES = 1;
|
||||
float SS_MULTIPLIER = 1.2f;
|
||||
int NUM_MULTI_SAMPLES = 2;
|
||||
float SS_MULTIPLIER = 1.1f;
|
||||
|
||||
vec2_t cylinderSize = {1280, 720};
|
||||
|
||||
|
@ -104,6 +105,17 @@ int argc=0;
|
|||
extern cvar_t *r_lefthand;
|
||||
extern cvar_t *cl_paused;
|
||||
|
||||
cvar_t *vr_snapturn_angle;
|
||||
cvar_t *vr_walkdirection;
|
||||
cvar_t *vr_weapon_pitchadjust;
|
||||
cvar_t *vr_lasersight;
|
||||
cvar_t *vr_control_scheme;
|
||||
cvar_t *vr_height_adjust;
|
||||
cvar_t *vr_worldscale;
|
||||
cvar_t *vr_weaponscale;
|
||||
cvar_t *vr_weapon_stabilised;
|
||||
cvar_t *vr_comfort_mask;
|
||||
|
||||
enum control_scheme {
|
||||
RIGHT_HANDED_DEFAULT = 0,
|
||||
LEFT_HANDED_DEFAULT = 10,
|
||||
|
@ -492,16 +504,16 @@ static void ovrFramebuffer_Clear( ovrFramebuffer * frameBuffer )
|
|||
|
||||
static bool ovrFramebuffer_Create( ovrFramebuffer * frameBuffer, const GLenum colorFormat, const int width, const int height, const int multisamples )
|
||||
{
|
||||
LOAD_GLES2(glBindTexture);
|
||||
LOAD_GLES2(glTexParameteri);
|
||||
LOAD_GLES2(glGenRenderbuffers);
|
||||
LOAD_GLES2(glBindRenderbuffer);
|
||||
LOAD_GLES2(glRenderbufferStorage);
|
||||
LOAD_GLES2(glGenFramebuffers);
|
||||
LOAD_GLES2(glBindFramebuffer);
|
||||
LOAD_GLES2(glFramebufferRenderbuffer);
|
||||
LOAD_GLES2(glFramebufferTexture2D);
|
||||
LOAD_GLES2(glCheckFramebufferStatus);
|
||||
//LOAD_GLES2(glBindTexture);
|
||||
//LOAD_GLES2(glTexParameteri);
|
||||
//LOAD_GLES2(glGenRenderbuffers);
|
||||
//LOAD_GLES2(glBindRenderbuffer);
|
||||
//LOAD_GLES2(glRenderbufferStorage);
|
||||
//LOAD_GLES2(glGenFramebuffers);
|
||||
//LOAD_GLES2(glBindFramebuffer);
|
||||
//LOAD_GLES2(glFramebufferRenderbuffer);
|
||||
//LOAD_GLES2(glFramebufferTexture2D);
|
||||
//LOAD_GLES2(glCheckFramebufferStatus);
|
||||
|
||||
frameBuffer->Width = width;
|
||||
frameBuffer->Height = height;
|
||||
|
@ -512,36 +524,64 @@ static bool ovrFramebuffer_Create( ovrFramebuffer * frameBuffer, const GLenum co
|
|||
frameBuffer->DepthBuffers = (GLuint *)malloc( frameBuffer->TextureSwapChainLength * sizeof( GLuint ) );
|
||||
frameBuffer->FrameBuffers = (GLuint *)malloc( frameBuffer->TextureSwapChainLength * sizeof( GLuint ) );
|
||||
|
||||
PFNGLRENDERBUFFERSTORAGEMULTISAMPLEEXTPROC glRenderbufferStorageMultisampleEXT =
|
||||
(PFNGLRENDERBUFFERSTORAGEMULTISAMPLEEXTPROC)eglGetProcAddress("glRenderbufferStorageMultisampleEXT");
|
||||
PFNGLFRAMEBUFFERTEXTURE2DMULTISAMPLEEXTPROC glFramebufferTexture2DMultisampleEXT =
|
||||
(PFNGLFRAMEBUFFERTEXTURE2DMULTISAMPLEEXTPROC)eglGetProcAddress("glFramebufferTexture2DMultisampleEXT");
|
||||
|
||||
for ( int i = 0; i < frameBuffer->TextureSwapChainLength; i++ )
|
||||
{
|
||||
// Create the color buffer texture.
|
||||
const GLuint colorTexture = vrapi_GetTextureSwapChainHandle( frameBuffer->ColorTextureSwapChain, i );
|
||||
GLenum colorTextureTarget = GL_TEXTURE_2D;
|
||||
GL( gles_glBindTexture( colorTextureTarget, colorTexture ) );
|
||||
GL( glBindTexture( colorTextureTarget, colorTexture ) );
|
||||
// Just clamp to edge. However, this requires manually clearing the border
|
||||
// around the layer to clear the edge texels.
|
||||
GL( gles_glTexParameteri( colorTextureTarget, GL_TEXTURE_WRAP_S, GL_CLAMP_TO_EDGE ) );
|
||||
GL( gles_glTexParameteri( colorTextureTarget, GL_TEXTURE_WRAP_T, GL_CLAMP_TO_EDGE ) );
|
||||
GL( glTexParameteri( colorTextureTarget, GL_TEXTURE_WRAP_S, GL_CLAMP_TO_EDGE ) );
|
||||
GL( glTexParameteri( colorTextureTarget, GL_TEXTURE_WRAP_T, GL_CLAMP_TO_EDGE ) );
|
||||
|
||||
GL( gles_glTexParameteri( colorTextureTarget, GL_TEXTURE_MIN_FILTER, GL_LINEAR ) );
|
||||
GL( gles_glTexParameteri( colorTextureTarget, GL_TEXTURE_MAG_FILTER, GL_LINEAR ) );
|
||||
GL( gles_glBindTexture( colorTextureTarget, 0 ) );
|
||||
GL( glTexParameteri( colorTextureTarget, GL_TEXTURE_MIN_FILTER, GL_LINEAR ) );
|
||||
GL( glTexParameteri( colorTextureTarget, GL_TEXTURE_MAG_FILTER, GL_LINEAR ) );
|
||||
GL( glBindTexture( colorTextureTarget, 0 ) );
|
||||
|
||||
if (multisamples > 1 && glRenderbufferStorageMultisampleEXT != NULL && glFramebufferTexture2DMultisampleEXT != NULL)
|
||||
{
|
||||
|
||||
// Create multisampled depth buffer.
|
||||
GL(glGenRenderbuffers(1, &frameBuffer->DepthBuffers[i]));
|
||||
GL(glBindRenderbuffer(GL_RENDERBUFFER, frameBuffer->DepthBuffers[i]));
|
||||
GL(glRenderbufferStorageMultisampleEXT(GL_RENDERBUFFER, multisamples, GL_DEPTH_COMPONENT24, width, height));
|
||||
GL(glBindRenderbuffer(GL_RENDERBUFFER, 0));
|
||||
|
||||
// Create the frame buffer.
|
||||
GL(glGenFramebuffers(1, &frameBuffer->FrameBuffers[i]));
|
||||
GL(glBindFramebuffer(GL_FRAMEBUFFER, frameBuffer->FrameBuffers[i]));
|
||||
GL(glFramebufferTexture2DMultisampleEXT(GL_FRAMEBUFFER, GL_COLOR_ATTACHMENT0, GL_TEXTURE_2D, colorTexture, 0, multisamples));
|
||||
GL(glFramebufferRenderbuffer(GL_FRAMEBUFFER, GL_DEPTH_ATTACHMENT, GL_RENDERBUFFER, frameBuffer->DepthBuffers[i]));
|
||||
GL(GLenum renderFramebufferStatus = glCheckFramebufferStatus(GL_FRAMEBUFFER));
|
||||
GL(glBindFramebuffer(GL_FRAMEBUFFER, 0));
|
||||
if (renderFramebufferStatus != GL_FRAMEBUFFER_COMPLETE)
|
||||
{
|
||||
ALOGE("OVRHelper::Incomplete frame buffer object: %s", GlFrameBufferStatusString(renderFramebufferStatus));
|
||||
return false;
|
||||
}
|
||||
}
|
||||
else
|
||||
{
|
||||
{
|
||||
// Create depth buffer.
|
||||
GL( gles_glGenRenderbuffers( 1, &frameBuffer->DepthBuffers[i] ) );
|
||||
GL( gles_glBindRenderbuffer( GL_RENDERBUFFER, frameBuffer->DepthBuffers[i] ) );
|
||||
GL( gles_glRenderbufferStorage( GL_RENDERBUFFER, GL_DEPTH_COMPONENT24, frameBuffer->Width, frameBuffer->Height ) );
|
||||
GL( gles_glBindRenderbuffer( GL_RENDERBUFFER, 0 ) );
|
||||
GL( glGenRenderbuffers( 1, &frameBuffer->DepthBuffers[i] ) );
|
||||
GL( glBindRenderbuffer( GL_RENDERBUFFER, frameBuffer->DepthBuffers[i] ) );
|
||||
GL( glRenderbufferStorage( GL_RENDERBUFFER, GL_DEPTH_COMPONENT24, frameBuffer->Width, frameBuffer->Height ) );
|
||||
GL( glBindRenderbuffer( GL_RENDERBUFFER, 0 ) );
|
||||
|
||||
// Create the frame buffer.
|
||||
GL( gles_glGenFramebuffers( 1, &frameBuffer->FrameBuffers[i] ) );
|
||||
GL( gles_glBindFramebuffer( GL_DRAW_FRAMEBUFFER, frameBuffer->FrameBuffers[i] ) );
|
||||
GL( gles_glFramebufferRenderbuffer( GL_DRAW_FRAMEBUFFER, GL_DEPTH_ATTACHMENT, GL_RENDERBUFFER, frameBuffer->DepthBuffers[i] ) );
|
||||
GL( gles_glFramebufferTexture2D( GL_DRAW_FRAMEBUFFER, GL_COLOR_ATTACHMENT0, GL_TEXTURE_2D, colorTexture, 0 ) );
|
||||
GL( GLenum renderFramebufferStatus = gles_glCheckFramebufferStatus( GL_DRAW_FRAMEBUFFER ) );
|
||||
GL( gles_glBindFramebuffer( GL_DRAW_FRAMEBUFFER, 0 ) );
|
||||
GL( glGenFramebuffers( 1, &frameBuffer->FrameBuffers[i] ) );
|
||||
GL( glBindFramebuffer( GL_DRAW_FRAMEBUFFER, frameBuffer->FrameBuffers[i] ) );
|
||||
GL( glFramebufferRenderbuffer( GL_DRAW_FRAMEBUFFER, GL_DEPTH_ATTACHMENT, GL_RENDERBUFFER, frameBuffer->DepthBuffers[i] ) );
|
||||
GL( glFramebufferTexture2D( GL_DRAW_FRAMEBUFFER, GL_COLOR_ATTACHMENT0, GL_TEXTURE_2D, colorTexture, 0 ) );
|
||||
GL( GLenum renderFramebufferStatus = glCheckFramebufferStatus( GL_DRAW_FRAMEBUFFER ) );
|
||||
GL( glBindFramebuffer( GL_DRAW_FRAMEBUFFER, 0 ) );
|
||||
if ( renderFramebufferStatus != GL_FRAMEBUFFER_COMPLETE )
|
||||
{
|
||||
ALOGE( "Incomplete frame buffer object: %s", GlFrameBufferStatusString( renderFramebufferStatus ) );
|
||||
|
@ -556,11 +596,11 @@ static bool ovrFramebuffer_Create( ovrFramebuffer * frameBuffer, const GLenum co
|
|||
|
||||
void ovrFramebuffer_Destroy( ovrFramebuffer * frameBuffer )
|
||||
{
|
||||
LOAD_GLES2(glDeleteFramebuffers);
|
||||
LOAD_GLES2(glDeleteRenderbuffers);
|
||||
//LOAD_GLES2(glDeleteFramebuffers);
|
||||
//LOAD_GLES2(glDeleteRenderbuffers);
|
||||
|
||||
GL( gles_glDeleteFramebuffers( frameBuffer->TextureSwapChainLength, frameBuffer->FrameBuffers ) );
|
||||
GL( gles_glDeleteRenderbuffers( frameBuffer->TextureSwapChainLength, frameBuffer->DepthBuffers ) );
|
||||
GL( glDeleteFramebuffers( frameBuffer->TextureSwapChainLength, frameBuffer->FrameBuffers ) );
|
||||
GL( glDeleteRenderbuffers( frameBuffer->TextureSwapChainLength, frameBuffer->DepthBuffers ) );
|
||||
|
||||
vrapi_DestroyTextureSwapChain( frameBuffer->ColorTextureSwapChain );
|
||||
|
||||
|
@ -572,14 +612,14 @@ void ovrFramebuffer_Destroy( ovrFramebuffer * frameBuffer )
|
|||
|
||||
void ovrFramebuffer_SetCurrent( ovrFramebuffer * frameBuffer )
|
||||
{
|
||||
LOAD_GLES2(glBindFramebuffer);
|
||||
GL( gles_glBindFramebuffer( GL_DRAW_FRAMEBUFFER, frameBuffer->FrameBuffers[frameBuffer->TextureSwapChainIndex] ) );
|
||||
//LOAD_GLES2(glBindFramebuffer);
|
||||
GL( glBindFramebuffer( GL_DRAW_FRAMEBUFFER, frameBuffer->FrameBuffers[frameBuffer->TextureSwapChainIndex] ) );
|
||||
}
|
||||
|
||||
void ovrFramebuffer_SetNone()
|
||||
{
|
||||
LOAD_GLES2(glBindFramebuffer);
|
||||
GL( gles_glBindFramebuffer( GL_DRAW_FRAMEBUFFER, 0 ) );
|
||||
//LOAD_GLES2(glBindFramebuffer);
|
||||
GL( glBindFramebuffer( GL_DRAW_FRAMEBUFFER, 0 ) );
|
||||
}
|
||||
|
||||
void ovrFramebuffer_Resolve( ovrFramebuffer * frameBuffer )
|
||||
|
@ -601,19 +641,19 @@ void ovrFramebuffer_Advance( ovrFramebuffer * frameBuffer )
|
|||
|
||||
void ovrFramebuffer_ClearEdgeTexels( ovrFramebuffer * frameBuffer )
|
||||
{
|
||||
LOAD_GLES2(glEnable);
|
||||
LOAD_GLES2(glDisable);
|
||||
LOAD_GLES2(glViewport);
|
||||
LOAD_GLES2(glScissor);
|
||||
LOAD_GLES2(glClearColor);
|
||||
LOAD_GLES2(glClear);
|
||||
//LOAD_GLES2(glEnable);
|
||||
//LOAD_GLES2(glDisable);
|
||||
//LOAD_GLES2(glViewport);
|
||||
//LOAD_GLES2(glScissor);
|
||||
//LOAD_GLES2(glClearColor);
|
||||
//LOAD_GLES2(glClear);
|
||||
|
||||
GL( gles_glEnable( GL_SCISSOR_TEST ) );
|
||||
GL( gles_glViewport( 0, 0, frameBuffer->Width, frameBuffer->Height ) );
|
||||
GL( glEnable( GL_SCISSOR_TEST ) );
|
||||
GL( glViewport( 0, 0, frameBuffer->Width, frameBuffer->Height ) );
|
||||
|
||||
// Explicitly clear the border texels to black because OpenGL-ES does not support GL_CLAMP_TO_BORDER.
|
||||
// Clear to fully opaque black.
|
||||
GL( gles_glClearColor( 0.0f, 0.0f, 0.0f, 1.0f ) );
|
||||
GL( glClearColor( 0.0f, 0.0f, 0.0f, 1.0f ) );
|
||||
|
||||
//Glide comfort mask in and out
|
||||
static float currentVLevel = 0.0f;
|
||||
|
@ -633,21 +673,21 @@ void ovrFramebuffer_ClearEdgeTexels( ovrFramebuffer * frameBuffer )
|
|||
float height = useMask ? (frameBuffer->Height / 2.0f) * currentVLevel : 1;
|
||||
|
||||
// bottom
|
||||
GL( gles_glScissor( 0, 0, frameBuffer->Width, width ) );
|
||||
GL( gles_glClear( GL_COLOR_BUFFER_BIT ) );
|
||||
GL( glScissor( 0, 0, frameBuffer->Width, width ) );
|
||||
GL( glClear( GL_COLOR_BUFFER_BIT ) );
|
||||
// top
|
||||
GL( gles_glScissor( 0, frameBuffer->Height - height, frameBuffer->Width, height ) );
|
||||
GL( gles_glClear( GL_COLOR_BUFFER_BIT ) );
|
||||
GL( glScissor( 0, frameBuffer->Height - height, frameBuffer->Width, height ) );
|
||||
GL( glClear( GL_COLOR_BUFFER_BIT ) );
|
||||
// left
|
||||
GL( gles_glScissor( 0, 0, width, frameBuffer->Height ) );
|
||||
GL( gles_glClear( GL_COLOR_BUFFER_BIT ) );
|
||||
GL( glScissor( 0, 0, width, frameBuffer->Height ) );
|
||||
GL( glClear( GL_COLOR_BUFFER_BIT ) );
|
||||
// right
|
||||
GL( gles_glScissor( frameBuffer->Width - width, 0, width, frameBuffer->Height ) );
|
||||
GL( gles_glClear( GL_COLOR_BUFFER_BIT ) );
|
||||
GL( glScissor( frameBuffer->Width - width, 0, width, frameBuffer->Height ) );
|
||||
GL( glClear( GL_COLOR_BUFFER_BIT ) );
|
||||
|
||||
|
||||
GL( gles_glScissor( 0, 0, 0, 0 ) );
|
||||
GL( gles_glDisable( GL_SCISSOR_TEST ) );
|
||||
GL( glScissor( 0, 0, 0, 0 ) );
|
||||
GL( glDisable( GL_SCISSOR_TEST ) );
|
||||
}
|
||||
|
||||
|
||||
|
@ -1074,6 +1114,10 @@ static void ovrApp_HandleVrModeChanges( ovrApp * app )
|
|||
vrapi_SetPerfThread( app->Ovr, VRAPI_PERF_THREAD_TYPE_RENDERER, app->RenderThreadTid );
|
||||
|
||||
ALOGV( " vrapi_SetPerfThread( RENDERER, %d )", app->RenderThreadTid );
|
||||
|
||||
vrapi_SetExtraLatencyMode(app->Ovr, VRAPI_EXTRA_LATENCY_MODE_ON);
|
||||
|
||||
ALOGV( " vrapi_SetExtraLatencyMode( %d )", VRAPI_EXTRA_LATENCY_MODE_ON );
|
||||
}
|
||||
}
|
||||
}
|
||||
|
@ -1582,11 +1626,6 @@ void * AppThreadFunction( void * parm )
|
|||
}
|
||||
#endif
|
||||
|
||||
//Set 90hz mode for Quest 2
|
||||
if (hmdType == VRAPI_DEVICE_TYPE_OCULUSQUEST2) {
|
||||
vrapi_SetDisplayRefreshRate(appState.Ovr, 90);
|
||||
}
|
||||
|
||||
// Get the HMD pose, predicted for the middle of the time period during which
|
||||
// the new eye images will be displayed. The number of frames predicted ahead
|
||||
// depends on the pipeline depth of the engine and the synthesis rate.
|
||||
|
|
|
@ -22,33 +22,33 @@
|
|||
#define ALOGV(...)
|
||||
#endif
|
||||
|
||||
bool quake2_initialised;
|
||||
extern bool quake2_initialised;
|
||||
|
||||
long long global_time;
|
||||
extern long long global_time;
|
||||
|
||||
float playerHeight;
|
||||
float playerYaw;
|
||||
extern float playerHeight;
|
||||
extern float playerYaw;
|
||||
|
||||
bool showingScreenLayer;
|
||||
extern bool showingScreenLayer;
|
||||
|
||||
vec3_t worldPosition;
|
||||
extern vec3_t worldPosition;
|
||||
|
||||
vec3_t hmdPosition;
|
||||
vec3_t hmdorientation;
|
||||
vec3_t positionDeltaThisFrame;
|
||||
extern vec3_t hmdPosition;
|
||||
extern vec3_t hmdorientation;
|
||||
extern vec3_t positionDeltaThisFrame;
|
||||
|
||||
vec3_t weaponangles;
|
||||
vec3_t weaponoffset;
|
||||
extern vec3_t weaponangles;
|
||||
extern vec3_t weaponoffset;
|
||||
|
||||
vec3_t flashlightangles;
|
||||
vec3_t flashlightoffset;
|
||||
extern vec3_t flashlightangles;
|
||||
extern vec3_t flashlightoffset;
|
||||
|
||||
#define DUCK_NOTDUCKED 0
|
||||
#define DUCK_BUTTON 1
|
||||
#define DUCK_CROUCHED 2
|
||||
int ducked;
|
||||
extern int ducked;
|
||||
|
||||
bool player_moving;
|
||||
extern bool player_moving;
|
||||
|
||||
|
||||
float radians(float deg);
|
||||
|
|
|
@ -1,10 +1,10 @@
|
|||
cvar_t *vr_snapturn_angle;
|
||||
cvar_t *vr_walkdirection;
|
||||
cvar_t *vr_weapon_pitchadjust;
|
||||
cvar_t *vr_lasersight;
|
||||
cvar_t *vr_control_scheme;
|
||||
cvar_t *vr_height_adjust;
|
||||
cvar_t *vr_worldscale;
|
||||
cvar_t *vr_weaponscale;
|
||||
cvar_t *vr_weapon_stabilised;
|
||||
cvar_t *vr_comfort_mask;
|
||||
extern cvar_t *vr_snapturn_angle;
|
||||
extern cvar_t *vr_walkdirection;
|
||||
extern cvar_t *vr_weapon_pitchadjust;
|
||||
extern cvar_t *vr_lasersight;
|
||||
extern cvar_t *vr_control_scheme;
|
||||
extern cvar_t *vr_height_adjust;
|
||||
extern cvar_t *vr_worldscale;
|
||||
extern cvar_t *vr_weaponscale;
|
||||
extern cvar_t *vr_weapon_stabilised;
|
||||
extern cvar_t *vr_comfort_mask;
|
||||
|
|
|
@ -5,26 +5,26 @@
|
|||
#include "VrCommon.h"
|
||||
|
||||
//New control scheme definitions to be defined L1VR_SurfaceView.c enumeration
|
||||
enum control_scheme;
|
||||
extern enum control_scheme;
|
||||
|
||||
ovrInputStateTrackedRemote leftTrackedRemoteState_old;
|
||||
ovrInputStateTrackedRemote leftTrackedRemoteState_new;
|
||||
ovrTracking leftRemoteTracking_new;
|
||||
extern ovrInputStateTrackedRemote leftTrackedRemoteState_old;
|
||||
extern ovrInputStateTrackedRemote leftTrackedRemoteState_new;
|
||||
extern ovrTracking leftRemoteTracking_new;
|
||||
|
||||
ovrInputStateTrackedRemote rightTrackedRemoteState_old;
|
||||
ovrInputStateTrackedRemote rightTrackedRemoteState_new;
|
||||
ovrTracking rightRemoteTracking_new;
|
||||
extern ovrInputStateTrackedRemote rightTrackedRemoteState_old;
|
||||
extern ovrInputStateTrackedRemote rightTrackedRemoteState_new;
|
||||
extern ovrTracking rightRemoteTracking_new;
|
||||
|
||||
ovrDeviceID controllerIDs[2];
|
||||
extern ovrDeviceID controllerIDs[2];
|
||||
|
||||
int hmdType;
|
||||
extern int hmdType;
|
||||
|
||||
float remote_movementSideways;
|
||||
float remote_movementForward;
|
||||
float remote_movementUp;
|
||||
float positional_movementSideways;
|
||||
float positional_movementForward;
|
||||
float snapTurn;
|
||||
extern float remote_movementSideways;
|
||||
extern float remote_movementForward;
|
||||
extern float remote_movementUp;
|
||||
extern float positional_movementSideways;
|
||||
extern float positional_movementForward;
|
||||
extern float snapTurn;
|
||||
|
||||
void sendButtonAction(const char* action, long buttonDown);
|
||||
void sendButtonActionSimple(const char* action);
|
||||
|
|
|
@ -17,6 +17,50 @@ Authors : Simon Brown
|
|||
|
||||
//keys.h
|
||||
void Key_Event (int key, qboolean down, unsigned time);
|
||||
bool quake2_initialised;
|
||||
|
||||
long long global_time;
|
||||
|
||||
enum control_scheme;
|
||||
|
||||
ovrInputStateTrackedRemote leftTrackedRemoteState_old;
|
||||
ovrInputStateTrackedRemote leftTrackedRemoteState_new;
|
||||
ovrTracking leftRemoteTracking_new;
|
||||
|
||||
ovrInputStateTrackedRemote rightTrackedRemoteState_old;
|
||||
ovrInputStateTrackedRemote rightTrackedRemoteState_new;
|
||||
ovrTracking rightRemoteTracking_new;
|
||||
|
||||
ovrDeviceID controllerIDs[2];
|
||||
|
||||
int hmdType;
|
||||
|
||||
float remote_movementSideways;
|
||||
float remote_movementForward;
|
||||
float remote_movementUp;
|
||||
float positional_movementSideways;
|
||||
float positional_movementForward;
|
||||
float snapTurn;
|
||||
|
||||
float playerHeight;
|
||||
float playerYaw;
|
||||
|
||||
bool showingScreenLayer;
|
||||
|
||||
vec3_t worldPosition;
|
||||
|
||||
vec3_t hmdPosition;
|
||||
vec3_t hmdorientation;
|
||||
vec3_t positionDeltaThisFrame;
|
||||
|
||||
vec3_t weaponangles;
|
||||
vec3_t weaponoffset;
|
||||
|
||||
vec3_t flashlightangles;
|
||||
vec3_t flashlightoffset;
|
||||
int ducked;
|
||||
|
||||
bool player_moving;
|
||||
|
||||
void handleTrackedControllerButton(u_int32_t buttonsNew, u_int32_t buttonsOld, uint32_t button, int key)
|
||||
{
|
||||
|
|
|
@ -3,7 +3,7 @@
|
|||
|
||||
#include "fpe.h"
|
||||
|
||||
const char* fpeshader_signature;
|
||||
extern const char* fpeshader_signature;
|
||||
|
||||
const char* const* fpe_VertexShader(fpe_state_t *state);
|
||||
const char* const* fpe_FragmentShader(fpe_state_t *state);
|
||||
|
|
|
@ -1,7 +1,7 @@
|
|||
#ifndef _GL4ES_STRING_UTILS_H_
|
||||
#define _GL4ES_STRING_UTILS_H_
|
||||
|
||||
const char* AllSeparators;
|
||||
extern const char* AllSeparators;
|
||||
|
||||
int CountString(char* pBuffer, const char* S);
|
||||
char* ResizeIfNeeded(char* pBuffer, int *size, int addsize);
|
||||
|
|
|
@ -103,8 +103,8 @@ LOCAL_SRC_FILES := $(CLIENT_OBJS_:.o=.c) \
|
|||
|
||||
|
||||
LOCAL_LDLIBS := -lEGL -ldl -llog -landroid -lOpenSLES -lz
|
||||
LOCAL_STATIC_LIBRARIES := gl4es sigc libzip libpng libjpeg
|
||||
LOCAL_SHARED_LIBRARIES := openal vrapi
|
||||
LOCAL_STATIC_LIBRARIES := sigc libzip libpng libjpeg
|
||||
LOCAL_SHARED_LIBRARIES := gl4es openal vrapi
|
||||
LOCAL_LDLIBS += -lGLESv3
|
||||
|
||||
include $(BUILD_SHARED_LIBRARY)
|
||||
|
|
|
@ -33,15 +33,15 @@ int sys_frame_time;
|
|||
qboolean joy_altselector_pressed = false;
|
||||
|
||||
// Console Variables
|
||||
cvar_t *vid_fullscreen;
|
||||
cvar_t *freelook;
|
||||
cvar_t *lookstrafe;
|
||||
cvar_t *m_forward;
|
||||
cvar_t *m_pitch;
|
||||
cvar_t *m_side;
|
||||
cvar_t *m_up;
|
||||
cvar_t *m_yaw;
|
||||
cvar_t *sensitivity;
|
||||
extern cvar_t *vid_fullscreen;
|
||||
extern cvar_t *freelook;
|
||||
extern cvar_t *lookstrafe;
|
||||
extern cvar_t *m_forward;
|
||||
extern cvar_t *m_pitch;
|
||||
extern cvar_t *m_side;
|
||||
extern cvar_t *m_up;
|
||||
extern cvar_t *m_yaw;
|
||||
extern cvar_t *sensitivity;
|
||||
|
||||
void Quest_GetScreenRes(int *width, int *height);
|
||||
int Quest_GetRefresh();
|
||||
|
|
|
@ -204,7 +204,7 @@ import static android.system.Os.setenv;
|
|||
}
|
||||
|
||||
try {
|
||||
setenv("YQUAKE2_GAMELIBDIR", getFilesDir().getParentFile().getPath() + "/lib", true);
|
||||
setenv("YQUAKE2_GAMELIBDIR", getApplicationInfo().nativeLibraryDir, true);
|
||||
}
|
||||
catch (Exception e)
|
||||
{
|
||||
|
|
Loading…
Reference in a new issue