Project

General

Profile

Actions

Emulator Issues #5229

closed

Game-specific settings lost when user looks the settings windows

Added by harrisoniasd about 12 years ago. Updated almost 7 years ago.

Status:
Fixed
Priority:
Normal
Assignee:
-
Category:
UI
% Done:

0%

Operating system:
N/A
Issue type:
Bug
Milestone:
Regression:
No
Relates to usability:
Yes
Relates to performance:
No
Easy:
No
Relates to maintainability:
No
Regression start:
Fixed in:
5.0-4171

Description

  1. Game Name and ID:

Every game, not a issue tied to a specific game

2) What is the expected output? What do you see instead?

when first starting the game, the emulator will use the game settings, but if the users enter the graphical settings windows for example, it will use the settings in the windows

3) Did the game ever work correctly (i.e. not have this problem) on an
earlier version of dolphin? Please specify the exact revision when the
problem began.

only tested in 3.0-422 and 3.0-424

4) What steps will reproduce the problem?
1.start the game, it will use the game-specific settings (including some hidden in the files that dont appear on the properties window)
2.open the graphical setting window
3.see the difference

5) What version of dolphin are you using (32bit/64bit along with the
version as it appears in the title bar, etc)?
On what operating system, drivers, and hardware? Be sure to list OS,
graphics driver information, and video card model if you are having
graphics problems, for example.

dolphin 3.0-424
Arch Linux, kernel 3.2.6, Intel core i3 530, Intel HD Graphics

6) Please provide any additional information below.

unfortunately, i just have my pc with linux, and cant test if on windows the same happens

7) Attachments. IMPORTANT! We have a limited storage quota on
GoogleCode, so please use a 3rd party host for screenshots or any other
files (http://min.us/ for example).

video with anotations showing the bug: http://www.youtube.com/watch?v=M3lr2ZaOcwQ


Related issues 5 (0 open5 closed)

Has duplicate Emulator - Emulator Issues #5835: Display Performance Bug (all releases)Duplicate

Actions
Has duplicate Emulator - Emulator Issues #6661: Something weird happens (related with smoothing) when I open video renderer dialog while Spectrobes Origins running.Duplicate

Actions
Has duplicate Emulator - Emulator Issues #7528: Undr certain circumstances, stretch to window causes dolphin to ignore game.ini aspect ratiosDuplicate

Actions
Has duplicate Emulator - Emulator Issues #10229: Acessing Dolphin's graphics menu while playing Capcom vs SNK 2 EO causes massive slowdown, audio crackling and graphical flickering Duplicate

Actions
Has duplicate Emulator - Emulator Issues #10094: Perf Queries is disabled when opening the Graphics ConfigDuplicate

Actions
Actions #1

Updated by NeoBrainX about 12 years ago

  • Status changed from New to Accepted

We're displaying the current global configuration in the config dialogs, i.e. we're ignoring the currently active per-game overrides.

This kinda brings us into a dilemma: On the one hand the reported behavior is confusing (but intended); on the other hand we don't want to display the per-game configuration (because that would bring a handful of other issues).

I.e. not sure how to fix this properly...

Actions #2

Updated by hatarumoroboshi about 12 years ago

How about using an "apply" button or "save changes" button in the config dialogs?

Actions #3

Updated by NeoBrainX about 12 years ago

That is what dolphin-qt is currently doing, but it doesn't solve the problem that the user won't know that the game-config will be overridden until emulation gets restarted.

But then again, Dolphin could ask the user to confirm overriding the game config... just not sure how to make Dolphin check if per game settings are active.. :P

Actions #4

Updated by hatarumoroboshi about 12 years ago

In fact it's not really the way it is currently doing, because when you're in-game and open the video config tab, the settings get overwritten immediately (without even waiting that you close the tab)...

Actions #5

Updated by NeoBrainX about 12 years ago

Ya, that could get more or less easily get fixed though.
Right now when opening the video config, the global config is read into the currently active config. Instead, we could just allocate a temporary configuration structure and replace the currently active config once "apply" is selected.
At the moment we aren't doing this though because immediately applying the configuration changes is better suited for "trying out" stuff.

Actions #6

Updated by avandijk1982 about 12 years ago

Hmm, I'm guessing a warning box like "any game specific settings will be overwritten! Continue? Yes/No" appearing only once per game should suffice?

Actions #7

Updated by NeoBrainX about 12 years ago

That'd be just annoying. Remember, not only noobs are using Dolphin :P

Actions #8

Updated by avandijk1982 about 12 years ago

True. Though you could make an option to skip it somewhere in the advanced options dialogue (i.e. under panic handlers) that is saved in the general ini. You tick it, we noobs don't :P

Shouldn't be hard to check if the game config is overriding some settings at game-boot, then setting some flag if said option isn't ticked, and clearing the flag once "yes" is clicked.

At least this way we would have the benefit of instant-applying options, and the (optional) warning for game-specifics that could get overwritten at the expense of two Boolean values and some extra checks during boot.

Unless the apply button has more preference, of course.

Actions #9

Updated by avandijk1982 about 12 years ago

Well, I've been able to implement the following:

  • Detection of any Game-specific setting being used
  • Warning message for game settings being overridden when any config dialog is opened for the first time
  • Option under "Use Panic Handlers" to disable the Warning message above, which is saved to the ini. Defaults to enabled if setting has never been changed.
  • Cached the entire core config instead of just the few values that were being cached (for future undo option?)
  • Optional Extended Info option (which toggles the Ticks data, even at Runtime)

Sadly, I have no idea how to make a patch-file or create a branch for this... I have the up-to-date (as of revision c3293b1a1cea) source with these changes ready though, so if anyone wants to review, I could upload it somewhere.

Actions #10

Updated by NeoBrainX about 12 years ago

All Windows GUIs for Git provide a "create patch"-like option... it's easy to figure out how it works, just google it ;)

Actions #12

Updated by avandijk1982 about 12 years ago

Whoops, there are a lot of changes in there I forgot to revert...

Actions #13

Updated by avandijk1982 about 12 years ago

Fixed above patch file, though I seem to have forgotten to include NeoBrain's latest EFB fixes into my "original" (from revision e58692653afd to revision 3a9fed0ba285), so they are included in the patch as well.

Actions #14

Updated by avandijk1982 about 12 years ago

Updated:

  • Added a new function to the INI file class: GetIfDifferent, which sets the value only if the value from the INI is different, then returns TRUE. If the value from the INI is the same, or the value doesn't exist in the INI file at all, it returns FALSE.
  • Re-factored all Game-ini loads on boot to use this new function and set the Warning flag accordingly.
  • Updated to use the latest available source (revision c3293b1a1cea) which of course include NeoBrain's hard work ;)

Download: http://studio88.nl/Hotlinks/more-options2.patch

Actions #15

Updated by rdragoon over 11 years ago

http://codepad.org/Zp48vJXK

Is this an acceptable solution? It adds an option, which when enabled loads the game's ini settings, when opening the graphics config dialogue. Otherwise, it just does the same thing as currently.

Actions #16

Updated by NeoBrainX over 11 years ago

While it's the solution which requires the least work, it's IMO a terrible one. I know of no other application which needs to do something like this, i.e. having to resort to hacks like this is just a reminder of how awkwardly broken Dolphin's config management is.

Some steps to improve the situation include:
a) OSD messages should be displayed whenever settings are changed => users will know if stuff got changed
b) Somehow keep track of which settings are changed by the game ini => probably a requirement for any proper solution
c1) When opening the gfx config during emulation, show a message like: "Yo, game ini changed stuff. Want me to revert to default config or blank out the affected options? Changes won't affect the default config for the game!"
c2) An alternative would be to change the config dialog controls to reflect the overridden-nature of the affected settings. That is, a combobox that is changed in the game ini would have a new value like "use game's default" added. Push buttons would have a third state value (... I really don't like these though). Radio buttons and sliders .. dunno how to do it for them.
d) Possibly other stuff I can't think of right now. I've tried to get to a satisfying solution with SS before but I'm not sure if we actually found something reasonable.

Actions #17

Updated by rdragoon over 11 years ago

Issue 5835 has been merged into this issue.

Actions #18

Updated by parlane over 11 years ago

Issue 5835 has been merged into this issue.

Actions #19

Updated by Billiard26 about 11 years ago

  • Issue type set to Bug
Actions #20

Updated by tommyhl2.SS over 10 years ago

  • Category set to ui
  • Relates to usability set to Yes
  • Operating system N/A added

Issue 5650 is basically talking about the same thing, but might be considered as different. Feel free to merge them if you like.

Actions #21

Updated by rachelbryk over 10 years ago

Issue 6661 has been merged into this issue.

Actions #22

Updated by NeoBrainX over 10 years ago

Issue 6661 has been merged into this issue.

Actions #23

Updated by kostamarino almost 10 years ago

Issue 7528 has been merged into this issue.

Actions #24

Updated by Stevoisiak over 9 years ago

  • Priority set to Normal

The auto formatting of user INI files is a major annoyance when creating new INI files to be used in Dolphin. It means that if I want to test new INI files, I need to place them in Dolphin's system INI folder to prevent them from being overwritten.

This issue has led to improperly formatted INI files being pushed to the master build of Dolphin. While the examples below are not particularly bad, I recall sever INI files with the game's title missing, and no sections separating the options.

https://github.com/dolphin-emu/dolphin/blob/master/Data/Sys/GameSettings/W2GE08.ini
https://github.com/dolphin-emu/dolphin/blob/master/Data/Sys/GameSettings/WB4EGL.ini

Actions #25

Updated by rachelbryk over 9 years ago

You're posting in the wrong issue, this isn't what you think it is.

Actions #26

Updated by leoetlino almost 7 years ago

  • Status changed from Accepted to Fixed
  • Fixed in set to 5.0-4171
Actions #27

Updated by JosJuice almost 7 years ago

  • Has duplicate Emulator Issues #10229: Acessing Dolphin's graphics menu while playing Capcom vs SNK 2 EO causes massive slowdown, audio crackling and graphical flickering added
Actions #28

Updated by JosJuice almost 7 years ago

Actions

Also available in: Atom PDF