Skip to content
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

[BUG]: IMPORTANT: Add missing default variables and values to PCSX2.ini #12171

Open
davidhedlund opened this issue Jan 8, 2025 · 2 comments
Open
Labels

Comments

@davidhedlund
Copy link

davidhedlund commented Jan 8, 2025

Describe the Bug

Default variables are only added to PCSX2.ini if PCSX2 is opened. Unlike most other software applications, PCSX2 does not automatically add default variables and values in its configuration files. This approach prevents users from selectively adding only the specific configurations they require.

It's worth noting that manually including default settings is often impractical and potentially problematic. Default variables and their values tend to change over time as software evolves. Therefore, it's far more efficient and reliable for the software itself to generate these default settings automatically. This approach ensures that users always have the most up-to-date default configurations without needing to manually update their config files with each new software release.

In contrast, other emulators like RPCS3 are more forgiving, as they automatically populate missing configuration entries with default values.

Reproduction Steps

  • Generate PCSX2.ini and only keeps variables that you want, example:
[Folders]
MemoryCards = /home/user/storage/PCSX2/memcards
Bios = /home/user/storage/PCSX2/PS2BIOS


[UI]
SettingsVersion = 1


[GameList]
RecursivePaths = /home/user/storage/PCSX2/PS2games
  • Open PCSX2
  • Close PCSX2
  • No default variables/values have been added to PCSX2.ini except:
MainWindowGeometry = AdnQywADAAAAAAAAAAAAHwAABBsAAALYAAAAAQAAAD4AAAQaAAAC1wAAAAAAAAAAB4AAAAABAAAAPgAABBoAAALX
MainWindowState = AAAA/wAAAAD9AAAAAAAABBoAAAJlAAAABAAAAAQAAAAIAAAACPwAAAABAAAAAgAAAAEAAAAOAHQAbwBvAGwAQgBhAHIAAAAAAP////8AAAAAAAAAAA==
  • Open PCSX2 and close PCSX2 -- this does not generate any default variables to PCSX2.ini

  • This makes it impossible to access Hotkeys in PCSX2 for example:
    Image

Expected Behavior

All default variables and values should be added if they are missing in PCSX2.ini. For example, the Hotkeys section is added when PCSX2 generates PCSX2.ini:

[Hotkeys]
ToggleFullscreen = Keyboard/Alt & Keyboard/Return
CycleAspectRatio = Keyboard/F6
CycleInterlaceMode = Keyboard/F5
ToggleMipmapMode = Keyboard/Insert
GSDumpMultiFrame = Keyboard/Control & Keyboard/Shift & Keyboard/F8
Screenshot = Keyboard/F8
GSDumpSingleFrame = Keyboard/Shift & Keyboard/F8
ToggleSoftwareRendering = Keyboard/F9
ZoomIn = Keyboard/Control & Keyboard/Plus
ZoomOut = Keyboard/Control & Keyboard/Minus
InputRecToggleMode = Keyboard/Shift & Keyboard/R
LoadStateFromSlot = Keyboard/F3
SaveStateToSlot = Keyboard/F1
NextSaveStateSlot = Keyboard/F2
PreviousSaveStateSlot = Keyboard/Shift & Keyboard/F2
OpenPauseMenu = Keyboard/Escape
ToggleFrameLimit = Keyboard/F4
TogglePause = Keyboard/Space
ToggleSlowMotion = Keyboard/Shift & Keyboard/Backtab
ToggleTurbo = Keyboard/Tab
HoldTurbo = Keyboard/Period

RPCS3 (comparison)

Add this to CurrentSettings.ini

checkUpdateStart=auto

[main_window]
geometry=@ByteArray(\x1\xd9\xd0\xcb\0\x3\0\0\0\0\0\0\0\0\0\0\0\0\a\x7f\0\0\x3\xff\0\0\0\x1\0\0\0>\0\0\x5@\0\0\x3\n\0\0\0\0\x2\0\0\0\a\x80\0\0\0\0\0\0\0\x1f\0\0\a\x7f\0\0\x3\xff)
infoBoxEnabledWelcome=false
  • Start RPCS3
  • Close RPCS3
  • Missing default settings have been added:
[Config]
geometry=@ByteArray(\x1\xd9\xd0\xcb\0\x3\0\0\0\0\x2\t\0\0\0q\0\0\x5\x62\0\0\x3?\0\0\x2\n\0\0\0\x8f\0\0\x5\x61\0\0\x3>\0\0\0\0\0\0\0\0\a\x80\0\0\x2\n\0\0\0\x8f\0\0\x5\x61\0\0\x3>)

[Debugger]
splitterState=@ByteArray(\0\0\0\xff\0\0\0\x1\0\0\0\x2\xff\xff\xff\xff\xff\xff\xff\xff\x1\xff\xff\xff\xff\x1\0\0\0\x1\0)

[GameList]
hidden_list=@Invalid()
iconColor=@Variant(\0\0\0\x43\x1\xff\xff\xf0\xf0\xf0\xf0\xf0\xf0\0\0)
marginFactor=0.09
sortAsc=true
sortCol=1
state=@ByteArray(\0\0\0\xff\0\0\0\0\0\0\0\x1\0\0\0\0\0\0\0\x1\x1\0\0\0\0\0\0\0\0\0\0\0\xfH\x6\0\0\0\x4\0\0\0\x3\0\0\0\x96\0\0\0\t\0\0\0\x96\0\0\0\n\0\0\0\x96\0\0\0\x6\0\0\0\x96\0\0\a\x80\0\0\0\xf\0\x1\0\x1\0\0\0\0\0\0\0\0\0\0\0\0\x96\xff\xff\xff\xff\0\0\0\x1\0\0\0\0\0\0\0\xf\0\0\0^\0\0\0\x1\0\0\0\x2\0\0\0\x99\0\0\0\x1\0\0\0\0\0\0\0v\0\0\0\x1\0\0\0\0\0\0\0\0\0\0\0\x1\0\0\0\0\0\0\0\x84\0\0\0\x1\0\0\0\0\0\0\0\x8f\0\0\0\x1\0\0\0\0\0\0\0\0\0\0\0\x1\0\0\0\0\0\0\0\xcb\0\0\0\x1\0\0\0\0\0\0\x1\f\0\0\0\x1\0\0\0\0\0\0\0\0\0\0\0\x1\0\0\0\0\0\0\0\0\0\0\0\x1\0\0\0\0\0\0\0\xad\0\0\0\x1\0\0\0\0\0\0\0\xf5\0\0\0\x1\0\0\0\0\0\0\0\xad\0\0\0\x1\0\0\0\0\0\0\0\xda\0\0\0\x1\0\0\0\0\0\0\x3\xe8\x1\0\0\0\xa0\0\0\0\0)
textFactor=2
visibility_column_category=true
visibility_column_compat=true
visibility_column_dir_size=true
visibility_column_firmware=false
visibility_column_icon=true
visibility_column_last_play=true
visibility_column_move=true
visibility_column_name=true
visibility_column_parental=false
visibility_column_path=false
visibility_column_playtime=true
visibility_column_resolution=true
visibility_column_serial=true
visibility_column_sound=false
visibility_column_version=true

[Localization]
language=en

[Logger]
ANSI_code=true
ERR_stack=true
level=4
stack=true

[Meta]
attachCommandLine=false
checkUpdateStart=auto
showDebugTab=false

[main_window]
geometry=@ByteArray(\x1\xd9\xd0\xcb\0\x3\0\0\0\0\0\0\0\0\0\0\0\0\a\x7f\0\0\x3\xff\0\0\0\x1\0\0\0>\0\0\x5@\0\0\x3\n\0\0\0\0\x2\0\0\0\a\x80\0\0\0\0\0\0\0\x1f\0\0\a\x7f\0\0\x3\xff)
infoBoxEnabledWelcome=false
mwState=@ByteArray(\0\0\0\xff\0\0\0\0\xfd\0\0\0\x2\0\0\0\0\0\0\a\x80\0\0\x3\x83\xfc\x2\0\0\0\x2\xfb\0\0\0\x10\0g\0\x61\0m\0\x65\0l\0i\0s\0t\x1\0\0\0\0\0\0\x2\x86\0\0\0\x63\0\xff\xff\xff\xfb\0\0\0\f\0l\0o\0g\0g\0\x65\0r\x1\0\0\x2\x8c\0\0\0\xf7\0\0\0\xab\0\xff\xff\xff\0\0\0\x1\0\0\0\0\0\0\0\0\xfc\x2\0\0\0\x1\xfb\0\0\0\x10\0\x64\0\x65\0\x62\0u\0g\0g\0\x65\0r\0\0\0\0\0\xff\xff\xff\xff\0\0\0\xdb\0\xff\xff\xff\0\0\0\0\0\0\x3\x83\0\0\0\x4\0\0\0\x4\0\0\0\b\0\0\0\b\xfc\0\0\0\0)
windowState=@ByteArray(\0\0\0\xff\0\0\0\0\xfd\0\0\0\0\0\0\a\x80\0\0\x3\x83\0\0\0\x4\0\0\0\x4\0\0\0\b\0\0\0\b\xfc\0\0\0\x1\0\0\0\x2\0\0\0\x1\0\0\0\x14\0m\0w\0_\0t\0o\0o\0l\0\x62\0\x61\0r\x1\0\0\0\0\xff\xff\xff\xff\0\0\0\0\0\0\0\0)

PCSX2 Revision

2.2.2

Operating System

Linux (64bit) - Specify distro below

If Linux - Specify Distro

Ubuntu 22.04

Logs & Dumps

No response

@davidhedlund davidhedlund changed the title [BUG]: Add default variables and values script generated PCSX2.ini files [BUG]: Add default variables and values for script generated PCSX2.ini files Jan 8, 2025
@Mrlinkwii
Copy link
Contributor

This is done this way so pcsx2 works correctly , it's not advised to make config files via bash scripting,

@davidhedlund davidhedlund changed the title [BUG]: Add default variables and values for script generated PCSX2.ini files [BUG]: Add missing default variables and values to PCSX2.ini files Jan 8, 2025
@davidhedlund davidhedlund changed the title [BUG]: Add missing default variables and values to PCSX2.ini files [BUG]: Add missing default variables and values to PCSX2.ini Jan 8, 2025
@davidhedlund
Copy link
Author

davidhedlund commented Jan 8, 2025

it's not advised to make config files via bash scripting,

The fundamental problem lies not with bash scripting (so I removed that from the top post), which is merely a tool for automation. The real issue stems from PCSX2's configuration handling. Unlike most other software applications, PCSX2 does not automatically add default variables and values in its configuration files. This approach prevents users from selectively adding only the specific configurations they require. In contrast, other emulators like RPCS3 are more forgiving (just added to the top post as an example), as they automatically populate missing configuration entries with default values.

@davidhedlund davidhedlund changed the title [BUG]: Add missing default variables and values to PCSX2.ini [BUG]: IMPORTANT: Add missing default variables and values to PCSX2.ini Jan 8, 2025
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
Projects
None yet
Development

No branches or pull requests

2 participants