[PR #3832] UserManagement,settings replacements,multi users support #3746

Open
opened 2026-02-27 22:04:50 +03:00 by kerem · 0 comments
Owner

📋 Pull Request Information

Original PR: https://github.com/shadps4-emu/shadPS4/pull/3832
Author: @georgemoralis
Created: 11/26/2025
Status: 🔄 Open

Base: mainHead: user_and_settings


📝 Commits (10+)

📊 Changes

75 files changed (+2252 additions, -1961 deletions)

View changed files

📝 CMakeLists.txt (+4 -0)
📝 src/common/config.cpp (+31 -1007)
📝 src/common/config.h (+2 -148)
📝 src/common/logging/backend.cpp (+9 -7)
📝 src/common/logging/filter.cpp (+1 -0)
📝 src/common/logging/types.h (+1 -0)
📝 src/common/path_util.cpp (+2 -1)
📝 src/common/path_util.h (+2 -0)
📝 src/core/address_space.cpp (+4 -3)
📝 src/core/devtools/layer.cpp (+8 -7)
📝 src/core/devtools/widget/frame_graph.cpp (+2 -1)
📝 src/core/devtools/widget/module_list.h (+3 -2)
📝 src/core/devtools/widget/shader_list.cpp (+4 -3)
src/core/emulator_settings.cpp (+374 -0)
src/core/emulator_settings.h (+601 -0)
📝 src/core/ipc/ipc.cpp (+2 -1)
📝 src/core/libraries/app_content/app_content.cpp (+3 -2)
📝 src/core/libraries/audio/sdl_audio_in.cpp (+2 -2)
📝 src/core/libraries/audio/sdl_audio_out.cpp (+9 -7)
📝 src/core/libraries/gnmdriver/gnmdriver.cpp (+3 -2)

...and 55 more files

📄 Description

This pr is initial for User management and a new WIP settings replacement in json format.

config class on shadps4 was a bit boilerplate and not easy to maintance . This new emulator_settings class come to solve some issues with structured categories , overriding settings for using in game specific custom configs and macros for creating basic getter/setters. All this are done with only modifying the h file of emulator_settings.

This is not ready yet , posting it as a part of duscission and maybe suggestion for better design


🔄 This issue represents a GitHub Pull Request. It cannot be merged through Gitea due to API limitations.

## 📋 Pull Request Information **Original PR:** https://github.com/shadps4-emu/shadPS4/pull/3832 **Author:** [@georgemoralis](https://github.com/georgemoralis) **Created:** 11/26/2025 **Status:** 🔄 Open **Base:** `main` ← **Head:** `user_and_settings` --- ### 📝 Commits (10+) - [`b6d2748`](https://github.com/shadps4-emu/shadPS4/commit/b6d2748ed7b22be7791060c3b9d901dca19d8848) initial - [`7613061`](https://github.com/shadps4-emu/shadPS4/commit/761306188d48750348c264f709f806aaa26d4264) more settings conversion - [`f543677`](https://github.com/shadps4-emu/shadPS4/commit/f54367734d45c6431b7104414976d79f497d2065) more settings porting - [`f952d37`](https://github.com/shadps4-emu/shadPS4/commit/f952d375a493d7032d87f14d9f7c27d433cdb562) more settings porting - [`6bb8ad8`](https://github.com/shadps4-emu/shadPS4/commit/6bb8ad896866c755254356b6b9a07b98b15ad206) clang fix (of course) - [`d39ff10`](https://github.com/shadps4-emu/shadPS4/commit/d39ff10747f23da382d995485f345978c67bdfe2) More settings - [`6ee0ee6`](https://github.com/shadps4-emu/shadPS4/commit/6ee0ee65adf07e3b42ff229d8af948335b139fb0) more settings conversion - [`039b145`](https://github.com/shadps4-emu/shadPS4/commit/039b1451593aba903dfaf49d2bad88ffd56bac19) more settings - [`abc456b`](https://github.com/shadps4-emu/shadPS4/commit/abc456b62f32ab74d9ce33ea3685315d10a505e8) even more settings - [`d1e9b47`](https://github.com/shadps4-emu/shadPS4/commit/d1e9b47fc3141a3c5e983c5e4f20b421ac3ea4bb) removed load before init singleton ### 📊 Changes **75 files changed** (+2252 additions, -1961 deletions) <details> <summary>View changed files</summary> 📝 `CMakeLists.txt` (+4 -0) 📝 `src/common/config.cpp` (+31 -1007) 📝 `src/common/config.h` (+2 -148) 📝 `src/common/logging/backend.cpp` (+9 -7) 📝 `src/common/logging/filter.cpp` (+1 -0) 📝 `src/common/logging/types.h` (+1 -0) 📝 `src/common/path_util.cpp` (+2 -1) 📝 `src/common/path_util.h` (+2 -0) 📝 `src/core/address_space.cpp` (+4 -3) 📝 `src/core/devtools/layer.cpp` (+8 -7) 📝 `src/core/devtools/widget/frame_graph.cpp` (+2 -1) 📝 `src/core/devtools/widget/module_list.h` (+3 -2) 📝 `src/core/devtools/widget/shader_list.cpp` (+4 -3) ➕ `src/core/emulator_settings.cpp` (+374 -0) ➕ `src/core/emulator_settings.h` (+601 -0) 📝 `src/core/ipc/ipc.cpp` (+2 -1) 📝 `src/core/libraries/app_content/app_content.cpp` (+3 -2) 📝 `src/core/libraries/audio/sdl_audio_in.cpp` (+2 -2) 📝 `src/core/libraries/audio/sdl_audio_out.cpp` (+9 -7) 📝 `src/core/libraries/gnmdriver/gnmdriver.cpp` (+3 -2) _...and 55 more files_ </details> ### 📄 Description This pr is initial for User management and a new WIP settings replacement in json format. config class on shadps4 was a bit boilerplate and not easy to maintance . This new emulator_settings class come to solve some issues with structured categories , overriding settings for using in game specific custom configs and macros for creating basic getter/setters. All this are done with only modifying the h file of emulator_settings. This is not ready yet , posting it as a part of duscission and maybe suggestion for better design --- <sub>🔄 This issue represents a GitHub Pull Request. It cannot be merged through Gitea due to API limitations.</sub>
Sign in to join this conversation.
No milestone
No project
No assignees
1 participant
Notifications
Due date
The due date is invalid or out of range. Please use the format "yyyy-mm-dd".

No due date set.

Dependencies

No dependencies set.

Reference
starred/shadPS4#3746
No description provided.