New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Android: Replace Java INI parser with C++ INI parser #8941
Conversation
939f56c
to
5bad69e
Compare
aec9e0c
to
7b8ae75
Compare
|
Changing emulated Wii Remote's extension doesn't update the displayed "Extension", however the proper selection is saved. This problem is visible when backing out of a changed extension submenu or changing the value to "None" from a different value. |
|
Thanks! It should be fixed now. |
2da3861
to
58d9b81
Compare
7058bbd
to
cea5e24
Compare
|
I'll test this again when rebased. |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
I like the premise of this PR. Gave it a first pass but I'll need to look at this again later.
- Shouldn't we have
getType()overrides inInvertedCheckBoxSettingandPercentSliderSetting?
The following issue also occur on master but it may be a good idea to address it in this PR. If this is too much work for this PR, feel free to ignore it:
- Can you make
FilePickerpaths work with game-specific settings? That would be useful for switching SD paths for modded games.
.../src/main/java/org/dolphinemu/dolphinemu/features/settings/ui/SettingsFragmentPresenter.java
Outdated
Show resolved
Hide resolved
I thought there was no need to report a different type for those two since they use the same ViewHolder as their parents and otherwise behave identically to their parents as far as outside observers can tell (without looking at how they load and save to the settings store). Is there are reason why they should report different values from their parents?
This is why I thought it would make sense for PR #9014 to stay open :) The first commit of PR #8975 should fix this. I think I'm going to split that commit out to a separate PR once this PR is merged, but I could do it even earlier (which would require some conflict resolution) if you want me to. |
We override
I'm fine with fixing that issue outside of this PR. I'll look at #8975 again once this one is merged. I'm also fine with splitting #8975 but I'd rather not be the one who splits your PR. It is a large and somewhat complex PR so reviewing my changes to code you've already written may not be the best use of your time. |
You're right, that is inconsistent. I'll remove it from
Yes, I will be splitting it myself. |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
The following issue also occurs on master but it may be a good idea to address it in this PR:
- Occurs with game-specific settings only. Not fixed in Android: Hook up the new config system #8975:
- Clear Game Settings for your chosen game.
- Emulate "Wii Remote 1" and change the extension.
- Save settings.
- Return to the "Wii Remote 1" submenu and note that the previously changed extension is correctly displayed.
- Press back
- Emulate "Wii Remote 2"
- Note that the extension is incorrectly displayed as the same extension as "Wii Remote 1"
- Changing the "Wii Remote 2" extension or backing out of game-specific settings will cause the correct extension to be displayed again.
| R.string.wiimote_scanning_description, true)); | ||
| sl.add(new CheckBoxSetting(SettingsFile.FILE_NAME_DOLPHIN, Settings.SECTION_INI_CORE, | ||
| SettingsFile.KEY_WIIMOTE_SPEAKER, R.string.wiimote_speaker, | ||
| R.string.wiimote_speaker_description, true)); |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
When Dolphin.ini is created, WiimoteContinuousScanning and WiimoteEnableSpeaker default to false. Should the defaults be false here too?
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
|
The code for the per-game extension setting is a big mess and I'd rather not touch it more in this PR than I already have. |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
The code for the per-game extension setting is a big mess and I'd rather not touch it more in this PR than I already have.
That's fine.
Tested one setting from each of our settings model views, both as a general setting and a game-specific setting. Per-game Wii controller settings don’t appear to be made worse but I’ll be able to better test them in #8894. Appears to fix the issue mentioned in this PR. Visually reviewed the rest of the changes.
d6e1d27
to
e844496
Compare
Source/Android/app/src/main/java/org/dolphinemu/dolphinemu/activities/EmulationActivity.java
Outdated
Show resolved
Hide resolved
Source/Android/app/src/main/java/org/dolphinemu/dolphinemu/activities/EmulationActivity.java
Outdated
Show resolved
Hide resolved
Replaces the inflexible INI functions in NativeLibrary.
…ting classes This way we don't have to hardcode any keys inside the classes.
e844496
to
ee9444a
Compare
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Code LGTM
Fixes https://bugs.dolphin-emu.org/issues/12096 and opens up for future improvements.
I had to touch a lot of the settings code in the second commit, so testing is needed to make sure that all the settings still work correctly, in particular per-game Wii controller settings.