diff --git a/project/jni/application/openarena/engine b/project/jni/application/openarena/engine index d24908a02..2df52f4bf 160000 --- a/project/jni/application/openarena/engine +++ b/project/jni/application/openarena/engine @@ -1 +1 @@ -Subproject commit d24908a02516cdfa23333942dab99c740ca35470 +Subproject commit 2df52f4bfd8737bfd39b8c5e3f651434fc832d95 diff --git a/project/jni/application/openarena/vm b/project/jni/application/openarena/vm index 9d6a96f9c..e8f073059 160000 --- a/project/jni/application/openarena/vm +++ b/project/jni/application/openarena/vm @@ -1 +1 @@ -Subproject commit 9d6a96f9c0ba31b396f516ad4caa85113d585bd1 +Subproject commit e8f073059e4d207bdd20814a6156299bc3c9696e diff --git a/project/jni/sdl-1.2/include/SDL_android.h b/project/jni/sdl-1.2/include/SDL_android.h index d93b1294a..14295a5d8 100644 --- a/project/jni/sdl-1.2/include/SDL_android.h +++ b/project/jni/sdl-1.2/include/SDL_android.h @@ -80,8 +80,7 @@ extern DECLSPEC int SDLCALL SDL_ANDROID_RequestNewAdvertisement(void); /** Exports for Java environment and Video object instance */ -extern DECLSPEC JNIEnv* SDL_ANDROID_JniEnv(); -extern DECLSPEC jobject SDL_ANDROID_JniVideoObject(); +extern DECLSPEC JavaVM* SDL_ANDROID_JavaVM(); /* Open audio recording device, it will use parameters freq, format, channels, size and callback, diff --git a/project/jni/sdl-1.2/src/audio/android/SDL_androidaudio.c b/project/jni/sdl-1.2/src/audio/android/SDL_androidaudio.c index d81e229ff..7dbdb4e2e 100644 --- a/project/jni/sdl-1.2/src/audio/android/SDL_androidaudio.c +++ b/project/jni/sdl-1.2/src/audio/android/SDL_androidaudio.c @@ -497,3 +497,8 @@ extern DECLSPEC void SDLCALL SDL_ANDROID_CloseAudioRecording(void) recordingBufferJNI = NULL; recordingBufferSize = 0; } + +extern DECLSPEC JavaVM* SDL_ANDROID_JavaVM() +{ + return jniVM; +} diff --git a/project/jni/sdl-1.2/src/video/android/SDL_androidvideo-1.2.c b/project/jni/sdl-1.2/src/video/android/SDL_androidvideo-1.2.c index fd6184b95..1359b495c 100644 --- a/project/jni/sdl-1.2/src/video/android/SDL_androidvideo-1.2.c +++ b/project/jni/sdl-1.2/src/video/android/SDL_androidvideo-1.2.c @@ -115,7 +115,7 @@ int ANDROID_ToggleFullScreen(_THIS, int fullscreen) return 1; } -#define SDL_NUMMODES 24 +enum { SDL_NUMMODES = 28 }; static SDL_Rect *SDL_modelist[SDL_NUMMODES+1]; //#define SDL_modelist (this->hidden->SDL_modelist) @@ -267,18 +267,15 @@ int ANDROID_VideoInit(_THIS, SDL_PixelFormat *vformat) SDL_modelist[i]->x = SDL_modelist[i]->y = 0; } /* Modes sorted largest to smallest */ - SDL_modelist[0]->w = SDL_ANDROID_sWindowWidth; - SDL_modelist[0]->h = SDL_ANDROID_sWindowHeight; - SDL_modelist[1]->w = 800; SDL_modelist[1]->h = 600; // Will likely be shrinked - SDL_modelist[2]->w = 640; SDL_modelist[2]->h = 480; // Will likely be shrinked - SDL_modelist[3]->w = 640; SDL_modelist[3]->h = 400; // Will likely be shrinked - SDL_modelist[4]->w = 320; SDL_modelist[4]->h = 240; // Always available on any screen and any orientation - SDL_modelist[5]->w = 320; SDL_modelist[5]->h = 200; // Always available on any screen and any orientation + SDL_modelist[0]->w = SDL_ANDROID_sWindowWidth; SDL_modelist[0]->h = SDL_ANDROID_sWindowHeight; + SDL_modelist[1]->w = 800; SDL_modelist[1]->h = 600; // Widely used on PC + SDL_modelist[2]->w = 640; SDL_modelist[2]->h = 480; // Widely used on PC + SDL_modelist[3]->w = 640; SDL_modelist[3]->h = 400; // Widely used on PC + SDL_modelist[4]->w = 320; SDL_modelist[4]->h = 240; // For older games + SDL_modelist[5]->w = 320; SDL_modelist[5]->h = 200; // For even older games SDL_modelist[6]->w = 256; SDL_modelist[6]->h = 224; // For REminiscence - SDL_modelist[7]->w = SDL_ANDROID_sWindowWidth * 2 / 3; - SDL_modelist[7]->h = SDL_ANDROID_sWindowHeight * 2 / 3; - SDL_modelist[8]->w = SDL_ANDROID_sWindowWidth / 2; - SDL_modelist[8]->h = SDL_ANDROID_sWindowHeight / 2; + SDL_modelist[7]->w = SDL_ANDROID_sWindowWidth * 2 / 3; SDL_modelist[7]->h = SDL_ANDROID_sWindowHeight * 2 / 3; + SDL_modelist[8]->w = SDL_ANDROID_sWindowWidth / 2; SDL_modelist[8]->h = SDL_ANDROID_sWindowHeight / 2; SDL_modelist[9]->w = 480; SDL_modelist[9]->h = 320; // Virtual wide-screen mode SDL_modelist[10]->w = 800; SDL_modelist[10]->h = 480; // Virtual wide-screen mode SDL_modelist[11]->w = 544; SDL_modelist[11]->h = 332; // I have no idea where this videomode is used @@ -294,7 +291,12 @@ int ANDROID_VideoInit(_THIS, SDL_PixelFormat *vformat) SDL_modelist[21]->w = 320; SDL_modelist[21]->h = 216; // For UAE4ALL2 SDL_modelist[22]->w = 640; SDL_modelist[22]->h = 216; // For UAE4ALL2 SDL_modelist[23]->w = 384; SDL_modelist[23]->h = 272; // For VICE - SDL_modelist[24] = NULL; + SDL_modelist[24]->w = 854; SDL_modelist[24]->h = 480; // Virtual wide-screen mode + SDL_modelist[25]->w = 1280; SDL_modelist[25]->h = 720; // Virtual wide-screen mode + SDL_modelist[26]->w = 1920; SDL_modelist[26]->h = 1080; // Virtual wide-screen mode + SDL_modelist[27]->w = 1024; SDL_modelist[27]->h = 768; // Widely used on PC + SDL_modelist[28] = NULL; + // If you going to add another video mode, increase SDL_NUMMODES constant SDL_VideoInit_1_3(NULL, 0); diff --git a/project/jni/sdl-1.2/src/video/android/SDL_androidvideo.c b/project/jni/sdl-1.2/src/video/android/SDL_androidvideo.c index 26b4d8b30..22e0bf35d 100644 --- a/project/jni/sdl-1.2/src/video/android/SDL_androidvideo.c +++ b/project/jni/sdl-1.2/src/video/android/SDL_androidvideo.c @@ -452,3 +452,4 @@ int SDLCALL SDL_ANDROID_RequestNewAdvertisement(void) (*JavaEnv)->CallVoidMethod( JavaEnv, JavaRenderer, JavaRequestNewAdvertisement ); return 1; } + diff --git a/todo.txt b/todo.txt index 6ee3b5c22..0281d0ddd 100644 --- a/todo.txt +++ b/todo.txt @@ -1,9 +1,7 @@ Requested features (see also bugs.txt) ====================================== -- When downloading data, show cancel dialog when pressing Back. - -- Redesign on-screen keyboard layout dialog. +- Redesign on-screen keyboard layout dialog, to show all keys, and to use dragon droppings. - Option for default on-screen key theme in AndroidAppSettings.cfg.