Last Minute Changes

This commit is contained in:
TheBrokenRail
2023-11-03 17:39:07 -04:00
committed by iProgramInCpp
parent 06c69d3cc8
commit 8d3abda2fe
11 changed files with 29 additions and 24 deletions

10
.gitmodules vendored
View File

@@ -1,12 +1,12 @@
[submodule "thirdparty/coi-serviceworker"]
path = thirdparty/coi-serviceworker
url = https://github.com/gzuidhof/coi-serviceworker
url = https://github.com/gzuidhof/coi-serviceworker.git
[submodule "thirdparty/gles-compatibility-layer"]
path = thirdparty/gles-compatibility-layer
url = https://github.com/TheBrokenRail/gles-compatibility-layer.git
[submodule "thirdparty/SDL-src"]
path = thirdparty/SDL-src
url = https://github.com/libsdl-org/SDL
path = thirdparty/SDL2/src
url = https://github.com/libsdl-org/SDL.git
[submodule "thirdparty/LibPNG-src"]
path = thirdparty/LibPNG-src
url = https://github.com/glennrp/libpng
path = thirdparty/LibPNG/src
url = https://github.com/glennrp/libpng.git

View File

@@ -26,7 +26,7 @@ enum eSDLVirtualKeys
#include <Windows.h>
#endif
#if defined(ANDROID) && !defined(USE_SDL)
#ifdef USE_NATIVE_ANDROID
#include <android/keycodes.h>
#define AKEYCODE_ARROW_LEFT AKEYCODE_DPAD_LEFT

View File

@@ -4,8 +4,11 @@ project(reminecraftpe-android)
# Project Root
set(MC_ROOT ../../../../../../..)
# Build
# Native Android Build
add_compile_definitions(USE_NATIVE_ANDROID)
set(USE_NATIVE_ANDROID TRUE)
# Build
add_library(reminecraftpe SHARED
"${MC_ROOT}/platforms/android/android_native_app_glue.c"
"${MC_ROOT}/platforms/android/AppPlatform_android.cpp"

View File

@@ -64,12 +64,12 @@ endif()
if(NOT EMSCRIPTEN)
if(ANDROID)
# Vendor LibPNG (Android Only)
add_subdirectory(../../thirdparty/LibPNG-src libpng EXCLUDE_FROM_ALL)
target_include_directories(png_static INTERFACE
"$<BUILD_INTERFACE:${CMAKE_CURRENT_SOURCE_DIR}/../../thirdparty/LibPNG-src>"
"$<BUILD_INTERFACE:${CMAKE_CURRENT_BINARY_DIR}/libpng>"
)
add_subdirectory(../../thirdparty/LibPNG/src libpng EXCLUDE_FROM_ALL)
target_link_libraries(reminecraftpe png_static)
target_include_directories(reminecraftpe PUBLIC
"${CMAKE_CURRENT_SOURCE_DIR}/../../thirdparty/LibPNG/src"
"${CMAKE_CURRENT_BINARY_DIR}/libpng"
)
else()
# System LibPNG
find_package(PNG REQUIRED)

View File

@@ -28,7 +28,7 @@ android {
.dependsOn("externalNativeBuild${variant.name.capitalize()}")
}
sourceSets.main {
java.srcDir '../../../../thirdparty/SDL-src/android-project/app/src/main/java'
java.srcDir '../../../../thirdparty/SDL2/src/android-project/app/src/main/java'
}
externalNativeBuild {
cmake {

View File

@@ -36,13 +36,13 @@ public class MainActivity extends LimitedSDLActivity {
}
} else {
getWindow().getDecorView().setSystemUiVisibility(
View.SYSTEM_UI_FLAG_LAYOUT_STABLE |
View.SYSTEM_UI_FLAG_LAYOUT_HIDE_NAVIGATION |
View.SYSTEM_UI_FLAG_LAYOUT_FULLSCREEN |
View.SYSTEM_UI_FLAG_HIDE_NAVIGATION |
View.SYSTEM_UI_FLAG_FULLSCREEN |
View.SYSTEM_UI_FLAG_IMMERSIVE_STICKY |
View.INVISIBLE
View.SYSTEM_UI_FLAG_LAYOUT_STABLE |
View.SYSTEM_UI_FLAG_LAYOUT_HIDE_NAVIGATION |
View.SYSTEM_UI_FLAG_LAYOUT_FULLSCREEN |
View.SYSTEM_UI_FLAG_HIDE_NAVIGATION |
View.SYSTEM_UI_FLAG_FULLSCREEN |
View.SYSTEM_UI_FLAG_IMMERSIVE_STICKY |
View.INVISIBLE
);
}
}

View File

@@ -1,6 +1,7 @@
package org.libsdl.app;
// Prevent SDL From Controlling Immersive Mode
// See https://stackoverflow.com/a/58182595/16198887
public class LimitedSDLActivity extends SDLActivity {
@Override
boolean sendCommand(int command, Object data) {

View File

@@ -288,13 +288,13 @@ else()
endif()
target_link_libraries(reminecraftpe-core PUBLIC zlib)
# Extra Dependencies
# Platform Dependencies
if(USE_SDL)
# SDL
add_library(SDL INTERFACE)
if(ANDROID)
# Use Vendored SDL2 (Only For Android)
add_subdirectory(../thirdparty/SDL-src SDL EXCLUDE_FROM_ALL)
add_subdirectory(../thirdparty/SDL2/src SDL EXCLUDE_FROM_ALL)
target_link_libraries(SDL INTERFACE SDL2::SDL2)
elseif(EMSCRIPTEN)
# Use Emscripten's SDL2
@@ -321,13 +321,14 @@ if(USE_SDL)
target_link_libraries(reminecraftpe-core PUBLIC gles-compatibility-layer)
target_compile_definitions(reminecraftpe-core PUBLIC USE_GLES1_COMPATIBILITY_LAYER)
if(EMSCRIPTEN)
# Use WebGL 2
target_link_options(reminecraftpe-core PUBLIC -sMIN_WEBGL_VERSION=2 -sMAX_WEBGL_VERSION=2)
endif()
else()
find_package(OpenGL REQUIRED)
target_link_libraries(reminecraftpe-core PUBLIC OpenGL::OpenGL)
endif()
elseif(ANDROID)
elseif(USE_NATIVE_ANDROID)
# OpenGL
target_link_libraries(reminecraftpe-core PUBLIC EGL GLESv1_CM)
endif()

View File

@@ -10,7 +10,7 @@
#include <common/Utils.hpp> // it includes GL/gl.h
#if defined(ANDROID) && !defined(USE_SDL)
#ifdef USE_NATIVE_ANDROID
#define USE_GLES
#include <EGL/egl.h>
#endif