diff --git a/.gitignore b/.gitignore index 5e35b53..c80d889 100644 --- a/.gitignore +++ b/.gitignore @@ -24,6 +24,8 @@ $RECYCLE.BIN/ #model files *.mdl +*.wav + #files created by build *.apk *.ap_ @@ -36,8 +38,8 @@ Projects/Android/.externalNativeBuild/* Projects/Android/.gradle/* Projects/Android/.idea/codeStyles/Project.xml Projects/.idea/* +assets/models .gradle/* -assets/* *.json *.bin *.ser @@ -65,3 +67,4 @@ Projects/Android/jni/SupportLibs/liboggvorbis/libs/x86/libvorbis.so build/intermediates/lint-cache/maven.google/com/android/support/group-index.xml build/intermediates/lint-cache/maven.google/master-index.xml build/intermediates/lint-cache/sdk-registry.xml/sdk-registry.xml +assets/AoMDC/models/gmgeneral_display.aomdc diff --git a/Projects/Android/AndroidManifest.xml b/Projects/Android/AndroidManifest.xml index 536956a..d0116ce 100644 --- a/Projects/Android/AndroidManifest.xml +++ b/Projects/Android/AndroidManifest.xml @@ -1,8 +1,10 @@ + android:versionName="1.7.0" + android:installLocation="auto" > @@ -14,15 +16,14 @@ - - + + android:extractNativeLibs="true" > @@ -34,17 +35,23 @@ + + + + + diff --git a/Projects/Android/build.gradle b/Projects/Android/build.gradle index 3717e8e..5a6b088 100644 --- a/Projects/Android/build.gradle +++ b/Projects/Android/build.gradle @@ -5,13 +5,16 @@ buildscript { } dependencies { - classpath 'com.android.tools.build:gradle:4.1.3' + classpath 'com.android.tools.build:gradle:8.2.1' } } apply plugin: 'com.android.application' android { + + namespace = "com.drbeef.lambda1vr" + // This is the name of the generated apk file, which will have // -debug.apk or -release.apk appended to it. // The filename doesn't effect the Android installation process. @@ -30,13 +33,13 @@ android { } ndkBuild { def numProcs = Runtime.runtime.availableProcessors() - arguments "V=0", "-j$numProcs", "-C$project.buildDir.parent", "APP_PLATFORM=android-29", "NDK_TOOLCHAIN_VERSION=clang", "APP_STL=c++_static" + arguments "V=0", "-j$numProcs", "-C$project.buildDir.parent", "APP_PLATFORM=android-32", "NDK_TOOLCHAIN_VERSION=clang", "APP_STL=c++_static" abiFilters 'arm64-v8a' } } - minSdkVersion 29 - targetSdkVersion 29 + minSdkVersion 32 + targetSdkVersion 32 } externalNativeBuild { @@ -124,15 +127,16 @@ android { sourceCompatibility = '1.8' targetCompatibility = '1.8' } - compileSdkVersion = 29 + compileSdkVersion = 32 buildToolsVersion = '29.0.3' - ndkVersion '21.1.6352462' + + ndkVersion '25.1.8937393' } dependencies { - implementation "com.android.support:support-compat:26.1.0" - implementation "com.android.support:support-core-utils:26.1.0" - //implementation fileTree(dir: 'libs', include: ['*.jar', '*.aar']) + implementation "com.android.support:support-compat:28.0.0" + implementation "com.android.support:support-core-utils:28.0.0" + implementation fileTree(dir: 'libs', include: ['*.jar', '*.aar']) } repositories { diff --git a/Projects/Android/gradle/wrapper/gradle-wrapper.properties b/Projects/Android/gradle/wrapper/gradle-wrapper.properties index 46c41eb..71a2174 100644 --- a/Projects/Android/gradle/wrapper/gradle-wrapper.properties +++ b/Projects/Android/gradle/wrapper/gradle-wrapper.properties @@ -1,6 +1,6 @@ #Sat Sep 03 13:58:17 BST 2022 distributionBase=GRADLE_USER_HOME -distributionUrl=https\://services.gradle.org/distributions/gradle-7.3-bin.zip +distributionUrl=https\://services.gradle.org/distributions/gradle-8.2.1-all.zip distributionPath=wrapper/dists zipStorePath=wrapper/dists zipStoreBase=GRADLE_USER_HOME diff --git a/assets/commands.lst b/assets/commands.lst new file mode 100644 index 0000000..efb1595 --- /dev/null +++ b/assets/commands.lst @@ -0,0 +1,6 @@ +"Enable Cheats" "sv_cheats 1" +"God Mode" "god" +"Give Crowbar" "give weapon_crowbar" +"Give Suit" "give item_suit" +"Give All Weapons" "impulse 101" +"No Clip" "noclip" \ No newline at end of file diff --git a/assets/sprites/pointer.tga b/assets/sprites/pointer.tga new file mode 100644 index 0000000..63fd280 Binary files /dev/null and b/assets/sprites/pointer.tga differ diff --git a/assets/sprites/scope.tga b/assets/sprites/scope.tga new file mode 100644 index 0000000..ef72cbe Binary files /dev/null and b/assets/sprites/scope.tga differ diff --git a/assets/sprites/vignette.tga b/assets/sprites/vignette.tga new file mode 100644 index 0000000..b5fe022 Binary files /dev/null and b/assets/sprites/vignette.tga differ diff --git a/java/com/drbeef/lambda1vr/GLES3JNIActivity.java b/java/com/drbeef/lambda1vr/GLES3JNIActivity.java index e39f763..ec6f602 100644 --- a/java/com/drbeef/lambda1vr/GLES3JNIActivity.java +++ b/java/com/drbeef/lambda1vr/GLES3JNIActivity.java @@ -16,12 +16,16 @@ import java.util.Locale; import android.Manifest; import android.annotation.SuppressLint; import android.app.Activity; +import android.content.Intent; import android.content.pm.ApplicationInfo; import android.content.pm.PackageManager; import android.content.res.AssetManager; +import android.net.Uri; import android.os.Build; import android.os.Bundle; +import android.os.Environment; +import android.provider.Settings; import android.support.v4.app.ActivityCompat; import android.support.v4.content.ContextCompat; import android.util.Log; @@ -58,10 +62,8 @@ import static android.system.Os.setenv; private static final String TAG = "Lambda1VR"; - private boolean permissionsGranted = false; + private static final int REQUEST_MANAGE_ALL_FILES = 2296; - private static final int READ_EXTERNAL_STORAGE_PERMISSION_ID = 1; - private static final int WRITE_EXTERNAL_STORAGE_PERMISSION_ID = 2; String commandLineParams; @@ -88,47 +90,28 @@ import static android.system.Os.setenv; /** Initializes the Activity only if the permission has been granted. */ private void checkPermissionsAndInitialize() { - // Boilerplate for checking runtime permissions in Android. - if (ContextCompat.checkSelfPermission(this, Manifest.permission.WRITE_EXTERNAL_STORAGE) - != PackageManager.PERMISSION_GRANTED){ - ActivityCompat.requestPermissions( - GLES3JNIActivity.this, - new String[] {Manifest.permission.WRITE_EXTERNAL_STORAGE}, - WRITE_EXTERNAL_STORAGE_PERMISSION_ID); - } else if (ContextCompat.checkSelfPermission(this, Manifest.permission.READ_EXTERNAL_STORAGE) - != PackageManager.PERMISSION_GRANTED){ - ActivityCompat.requestPermissions( - GLES3JNIActivity.this, - new String[] {Manifest.permission.READ_EXTERNAL_STORAGE}, - READ_EXTERNAL_STORAGE_PERMISSION_ID); + if (!Environment.isExternalStorageManager()) { + //request for the permission + Intent intent = new Intent(Settings.ACTION_MANAGE_APP_ALL_FILES_ACCESS_PERMISSION); + Uri uri = Uri.fromParts("package", getPackageName(), null); + intent.setData(uri); + startActivityForResult(intent, REQUEST_MANAGE_ALL_FILES); + + finishAffinity(); // Cleanly exit + } else { - permissionsGranted = true; - } - - if (permissionsGranted) { // Permissions have already been granted. create(); } } - /** Handles the user accepting the permission. */ @Override - public void onRequestPermissionsResult(int requestCode, String[] permissions, int[] results) { - if (requestCode == READ_EXTERNAL_STORAGE_PERMISSION_ID) { - if (results.length > 0 && results[0] != PackageManager.PERMISSION_GRANTED) { - System.exit(0); - } - } - - if (requestCode == WRITE_EXTERNAL_STORAGE_PERMISSION_ID) { - if (results.length > 0 && results[0] != PackageManager.PERMISSION_GRANTED) { - System.exit(0); - } - } - - checkPermissionsAndInitialize(); + protected void onActivityResult(int requestCode, int resultCode, Intent data) { + super.onActivityResult(requestCode, resultCode, data); + finishAffinity(); // Cleanly exit + System.exit(0); } public void create()