android: allow changing settings while game is running
This commit is contained in:
parent
f075b9e39e
commit
0fb46529e1
@ -100,6 +100,8 @@ public final class NativeLibrary {
|
|||||||
*/
|
*/
|
||||||
public static native void onTouchMoved(float x_axis, float y_axis);
|
public static native void onTouchMoved(float x_axis, float y_axis);
|
||||||
|
|
||||||
|
public static native void ReloadSettings();
|
||||||
|
|
||||||
public static native String GetUserSetting(String gameID, String Section, String Key);
|
public static native String GetUserSetting(String gameID, String Section, String Key);
|
||||||
|
|
||||||
public static native void SetUserSetting(String gameID, String Section, String Key, String Value);
|
public static native void SetUserSetting(String gameID, String Section, String Key, String Value);
|
||||||
|
@ -38,9 +38,11 @@ import org.citra.citra_emu.fragments.EmulationFragment;
|
|||||||
import org.citra.citra_emu.fragments.MenuFragment;
|
import org.citra.citra_emu.fragments.MenuFragment;
|
||||||
import org.citra.citra_emu.model.settings.view.InputBindingSetting;
|
import org.citra.citra_emu.model.settings.view.InputBindingSetting;
|
||||||
import org.citra.citra_emu.ui.main.MainPresenter;
|
import org.citra.citra_emu.ui.main.MainPresenter;
|
||||||
|
import org.citra.citra_emu.ui.settings.SettingsActivity;
|
||||||
import org.citra.citra_emu.utils.Animations;
|
import org.citra.citra_emu.utils.Animations;
|
||||||
import org.citra.citra_emu.utils.ControllerMappingHelper;
|
import org.citra.citra_emu.utils.ControllerMappingHelper;
|
||||||
import org.citra.citra_emu.utils.EmulationMenuSettings;
|
import org.citra.citra_emu.utils.EmulationMenuSettings;
|
||||||
|
import org.citra.citra_emu.utils.SettingsFile;
|
||||||
|
|
||||||
import java.lang.annotation.Retention;
|
import java.lang.annotation.Retention;
|
||||||
import java.util.List;
|
import java.util.List;
|
||||||
@ -64,6 +66,7 @@ public final class EmulationActivity extends AppCompatActivity {
|
|||||||
public static final int MENU_ACTION_SWAP_SCREENS = 9;
|
public static final int MENU_ACTION_SWAP_SCREENS = 9;
|
||||||
public static final int MENU_ACTION_RESET_OVERLAY = 10;
|
public static final int MENU_ACTION_RESET_OVERLAY = 10;
|
||||||
public static final int MENU_ACTION_SHOW_OVERLAY = 11;
|
public static final int MENU_ACTION_SHOW_OVERLAY = 11;
|
||||||
|
public static final int MENU_ACTION_OPEN_SETTINGS = 12;
|
||||||
|
|
||||||
private static final int EMULATION_RUNNING_NOTIFICATION = 0x1000;
|
private static final int EMULATION_RUNNING_NOTIFICATION = 0x1000;
|
||||||
private static final String BACKSTACK_NAME_MENU = "menu";
|
private static final String BACKSTACK_NAME_MENU = "menu";
|
||||||
@ -482,6 +485,10 @@ public final class EmulationActivity extends AppCompatActivity {
|
|||||||
mEmulationFragment.stopEmulation();
|
mEmulationFragment.stopEmulation();
|
||||||
exitWithAnimation();
|
exitWithAnimation();
|
||||||
break;
|
break;
|
||||||
|
|
||||||
|
case MENU_ACTION_OPEN_SETTINGS:
|
||||||
|
SettingsActivity.launch(this, SettingsFile.FILE_NAME_CONFIG,"");
|
||||||
|
break;
|
||||||
}
|
}
|
||||||
|
|
||||||
return true;
|
return true;
|
||||||
|
@ -4,6 +4,7 @@ import android.content.IntentFilter;
|
|||||||
import android.os.Bundle;
|
import android.os.Bundle;
|
||||||
import android.text.TextUtils;
|
import android.text.TextUtils;
|
||||||
|
|
||||||
|
import org.citra.citra_emu.NativeLibrary;
|
||||||
import org.citra.citra_emu.model.settings.SettingSection;
|
import org.citra.citra_emu.model.settings.SettingSection;
|
||||||
import org.citra.citra_emu.services.DirectoryInitializationService;
|
import org.citra.citra_emu.services.DirectoryInitializationService;
|
||||||
import org.citra.citra_emu.services.DirectoryInitializationService.DirectoryInitializationState;
|
import org.citra.citra_emu.services.DirectoryInitializationService.DirectoryInitializationState;
|
||||||
@ -119,6 +120,7 @@ public final class SettingsActivityPresenter {
|
|||||||
SettingsFile.saveFile(SettingsFile.FILE_NAME_CONFIG, mSettings.get(SettingsFile.SETTINGS_DOLPHIN), mView);
|
SettingsFile.saveFile(SettingsFile.FILE_NAME_CONFIG, mSettings.get(SettingsFile.SETTINGS_DOLPHIN), mView);
|
||||||
mView.showToastMessage("Saved settings", false);
|
mView.showToastMessage("Saved settings", false);
|
||||||
}
|
}
|
||||||
|
NativeLibrary.ReloadSettings();
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -395,6 +395,11 @@ void Java_org_citra_citra_1emu_NativeLibrary_WriteProfileResults(JNIEnv* env, jo
|
|||||||
void Java_org_citra_citra_1emu_NativeLibrary_Run__Ljava_lang_String_2Ljava_lang_String_2Z(
|
void Java_org_citra_citra_1emu_NativeLibrary_Run__Ljava_lang_String_2Ljava_lang_String_2Z(
|
||||||
JNIEnv* env, jobject obj, jstring jFile, jstring jSavestate, jboolean jDeleteSavestate) {}
|
JNIEnv* env, jobject obj, jstring jFile, jstring jSavestate, jboolean jDeleteSavestate) {}
|
||||||
|
|
||||||
|
void Java_org_citra_citra_1emu_NativeLibrary_ReloadSettings(JNIEnv* env, jclass type) {
|
||||||
|
Config{};
|
||||||
|
Settings::Apply();
|
||||||
|
}
|
||||||
|
|
||||||
jstring Java_org_citra_citra_1emu_NativeLibrary_GetUserSetting(JNIEnv* env, jclass type,
|
jstring Java_org_citra_citra_1emu_NativeLibrary_GetUserSetting(JNIEnv* env, jclass type,
|
||||||
jstring gameID_,
|
jstring gameID_,
|
||||||
jstring Section_, jstring Key_) {
|
jstring Section_, jstring Key_) {
|
||||||
|
@ -159,6 +159,9 @@ JNIEXPORT void JNICALL Java_org_citra_citra_1emu_NativeLibrary_InitGameIni(JNIEn
|
|||||||
jclass type,
|
jclass type,
|
||||||
jstring gameID_);
|
jstring gameID_);
|
||||||
|
|
||||||
|
JNIEXPORT void JNICALL Java_org_citra_citra_1emu_NativeLibrary_ReloadSettings(JNIEnv* env,
|
||||||
|
jclass type);
|
||||||
|
|
||||||
JNIEXPORT void JNICALL Java_org_citra_citra_1emu_NativeLibrary_SetUserSetting(
|
JNIEXPORT void JNICALL Java_org_citra_citra_1emu_NativeLibrary_SetUserSetting(
|
||||||
JNIEnv* env, jclass type, jstring gameID_, jstring Section_, jstring Key_, jstring Value_);
|
JNIEnv* env, jclass type, jstring gameID_, jstring Section_, jstring Key_, jstring Value_);
|
||||||
|
|
||||||
|
@ -68,4 +68,9 @@
|
|||||||
android:title="@string/emulation_show_overlay"
|
android:title="@string/emulation_show_overlay"
|
||||||
android:checkable="true"/>
|
android:checkable="true"/>
|
||||||
|
|
||||||
</menu>
|
<item
|
||||||
|
android:id="@+id/menu_emulation_open_settings"
|
||||||
|
app:showAsAction="never"
|
||||||
|
android:title="@string/emulation_open_settings"/>
|
||||||
|
|
||||||
|
</menu>
|
||||||
|
@ -119,6 +119,7 @@
|
|||||||
<string name="emulation_control_scale">Adjust Scale</string>
|
<string name="emulation_control_scale">Adjust Scale</string>
|
||||||
<string name="emulation_choose_controller">Choose Controller</string>
|
<string name="emulation_choose_controller">Choose Controller</string>
|
||||||
<string name="emulation_controller_changed">You may have to reload the game after changing extensions.</string>
|
<string name="emulation_controller_changed">You may have to reload the game after changing extensions.</string>
|
||||||
|
<string name="emulation_open_settings">Open Settings</string>
|
||||||
<string name="emulation_switch_screen_layout">Landscape Screen Layout</string>
|
<string name="emulation_switch_screen_layout">Landscape Screen Layout</string>
|
||||||
<string name="emulation_screen_layout_landscape">Default</string>
|
<string name="emulation_screen_layout_landscape">Default</string>
|
||||||
<string name="emulation_screen_layout_portrait">Portrait</string>
|
<string name="emulation_screen_layout_portrait">Portrait</string>
|
||||||
|
Loading…
x
Reference in New Issue
Block a user