Browse Source

add savestate call back broadcast

wangyongj 1 year ago
parent
commit
058f899a30

+ 9 - 9
app/build.gradle

@@ -47,8 +47,8 @@ android {
         debug {
             keyAlias 'system'
             keyPassword 'xugame888'
-//            storeFile file('../s905_system.jks')
-            storeFile file('../android_4.4_haisi_zou_system.jks')//android4.4
+            storeFile file('../s905_system.jks')
+//            storeFile file('../android_4.4_haisi_zou_system.jks')//android4.4
 //            storeFile file('../q5_t509_system.jks')
 //            storeFile file('../q5_t509_system.jks')
 //            storeFile file('../3399_systemkey.jks')
@@ -58,8 +58,8 @@ android {
         release {
             keyAlias 'system'
             keyPassword 'xugame888'
-//            storeFile file('../s905_system.jks')
-            storeFile file('../android_4.4_haisi_zou_system.jks')//android4.4
+            storeFile file('../s905_system.jks')
+//            storeFile file('../android_4.4_haisi_zou_system.jks')//android4.4
             storePassword 'xugame888'
         }
     }
@@ -68,11 +68,11 @@ android {
         targetCompatibility JavaVersion.VERSION_1_8
     }
 
-    externalNativeBuild {
-        cmake {
-            path 'src/main/cpp/CMakeLists.txt'
-        }
-    }
+//    externalNativeBuild {
+//        cmake {
+//            path 'src/main/cpp/CMakeLists.txt'
+//        }
+//    }
 }
 
 allprojects {

+ 0 - 0
app/release/app-release.apk → app/release/app-release.zip


+ 20 - 4
app/src/main/java/com/xugame/gameconsole/emulator/RetroArchEmulatorActivity.java

@@ -59,7 +59,7 @@ public class RetroArchEmulatorActivity extends RetroActivityCamera
         super.onCreate(savedInstanceState);
 
         system = new AppSystem();
-        mRomPath=getIntent().getStringExtra("ROM");
+        mRomPath = getIntent().getStringExtra("ROM");
         callback = new EnvironmentCallback() {
             @Override
             public void setInputDescriptors(InputDescriptorBean[] descriptors) {
@@ -167,7 +167,7 @@ public class RetroArchEmulatorActivity extends RetroActivityCamera
                     }
                     ComponentName componentName = new ComponentName("com.xugame.gameconsoleMenu",
                             "com.xugame.gameconsole.dialog.localgamesetting.LocalGameSettingDialog");
-                    intent.putExtra("rompath",mRomPath);
+                    intent.putExtra("rompath", mRomPath);
                     intent.setComponent(componentName);
                     startActivityForResult(intent, 200);
                     DebugUtil.i(TAG, "showLocalExitDialog");
@@ -429,6 +429,12 @@ public class RetroArchEmulatorActivity extends RetroActivityCamera
         if (requestCode == 200) {
             if (resultCode == 201) {//继续游戏
                 gameDialogClosed();
+                setJoystickBindJoyKeyNative(0, InputCode.JOYPAD_A, 96);
+                setJoystickBindJoyKeyNative(0, InputCode.JOYPAD_B, 97);
+                setJoystickBindJoyKeyNative(0, InputCode.JOYPAD_X, 99);
+                setJoystickBindJoyKeyNative(0, InputCode.JOYPAD_Y, 100);
+                setJoystickBindJoyKeyNative(0, InputCode.JOYPAD_UP, InputCode.JOYPAD_HAT_UP_MASK);
+                setJoystickBindJoyKeyNative(0, InputCode.JOYPAD_DOWN, InputCode.JOYPAD_HAT_DOWN_MASK);
                 if (data != null) {
                     //增加完美像素单独开关,避免混淆
                     boolean isPixelPerfect = data.getBooleanExtra("is_pixelperfect", false);
@@ -590,7 +596,12 @@ public class RetroArchEmulatorActivity extends RetroActivityCamera
     public void onMenuSaveState(int index) {
         DebugUtil.i(TAG, "saveState" + index);
         if (index >= 0 && index < 10) {
-            saveState(index);
+            if (saveState(index)) {
+                Intent intent = new Intent();
+                intent.setAction(EmulatorMonitor.EMULATOR_SAVE_STATE_ACTION);
+                intent.putExtra("save_state_flag", true);
+                this.sendBroadcast(intent);
+            }
         }
     }
 
@@ -598,7 +609,12 @@ public class RetroArchEmulatorActivity extends RetroActivityCamera
     public void onMenuLoadState(int index) {
         DebugUtil.i(TAG, "loadState" + index);
         if (index >= 0 && index < 10) {
-            loadState(index);
+            if (loadState(index)) {
+                Intent intent = new Intent();
+                intent.setAction(EmulatorMonitor.EMULATOR_LOAD_STATE_ACTION);
+                intent.putExtra("load_state_flag", true);
+                this.sendBroadcast(intent);
+            }
         }
     }
 }

+ 2 - 2
app/src/main/java/com/xugame/gameconsole/monitor/EmulatorMonitor.java

@@ -11,8 +11,8 @@ import com.xugame.gameconsole.util.DebugUtil;
 public class EmulatorMonitor {
 
     private final String TAG = "EmulatorMonitor";
-    private static final String EMULATOR_SAVE_STATE_ACTION = "EMULATOR_SAVE_STATE_ACTION";
-    private static final String EMULATOR_LOAD_STATE_ACTION = "EMULATOR_LOAD_STATE_ACTION";
+    public static final String EMULATOR_SAVE_STATE_ACTION = "EMULATOR_SAVE_STATE_ACTION";
+    public static final String EMULATOR_LOAD_STATE_ACTION = "EMULATOR_LOAD_STATE_ACTION";
 
 
     private static final String SYSTEM_REASON = "reason";

+ 1 - 1
app/src/main/java/com/xugame/gameconsole/util/DebugUtil.java

@@ -4,7 +4,7 @@ import android.util.Log;
 
 
 public class DebugUtil {
-    static private boolean DEBUG = false;
+    static private boolean DEBUG = true;
 
     public static void d(String tag, String msg) {
         if (DEBUG)