Please sign in to comment.
Front: Don't stop emulation if surfaceDestroyed
If surfaceDestroyed: - pause emulation (if not already paused) - notify SDL that the surface has been destroyed by sending the pause signal - unbind the previously-created EGL context and destroy the window surface If surfaceChanged (Resume emulation): - notify SDL that the surface is ready by sending the resume signal - upon resume SDL will call createGLContext(Java) and re-create the EGL context (see Android_PumpEvents in SDL_androidevents.c) - resume emulation when EGL context is ready If surfaceChanged (Startup emulation): - notify SDL that the surface is ready by sending the resume signal (useless) - On SDL_SetVideoMode SDL will call createGLContext(Java) and create the EGL context - emulation starts If onDestroy stop emulation. Autosave are now only performed upon exit. The main reason for this is that savestates sometimes failed to be executed when pausing emulation and is subsequently only performed when resuming. SDL_ANDROID_BLOCK_ON_PAUSE must be undefined to allow the core to call SDL_PumpEvents cyclically
- Loading branch information
Showing with 139 additions and 141 deletions.
- +1 −1 jni/SDL2/src/video/android/SDL_androidevents.c
- +20 −1 jni/ae-bridge/ae_exports.cpp
- +15 −20 src/paulscode/android/mupen64plusae/game/GameLifecycleHandler.java
- +98 −118 src/paulscode/android/mupen64plusae/game/GameSurface.java
- +4 −0 src/paulscode/android/mupen64plusae/jni/NativeExports.java
- +1 −1 src/paulscode/android/mupen64plusae/jni/NativeSDL.java
Oops, something went wrong.