Commit graph

149 commits

Author SHA1 Message Date
Tobias
ff931590b0
configuration/config: Move config loading and saving to functions based off groups (#4855)
Over time our config values have grown quite numerous in size.
Unfortunately it also makes the single functions we have for loading and
saving values more error prone.

For example, we were loading the core settings twice when they only
should have been loaded once. In another section, a variable was
shadowing another variable used to load settings from a completely
different section.

Finally, in one other case, there was an extraneous endGroup() call used
that didn't need to be done. This was essentially dead code and also a
bug waiting to happen.

This separates the section loading code into its own separate functions.
This keeps variables only visible to the code that actually needs it,
and makes it much easier to visually see the end of each individual
configuration group. It also makes it much easier to visually catch bugs
during code review.

While we're at it, this also uses QStringLiteral instead of raw string
literals, which both avoids constructing a lot of QString instances, but
also makes it much easier to disable implicit ASCII to QString and
vice-versa in the future via setting QT_NO_CAST_FROM_ASCII and
QT_NO_CAST_TO_ASCII as compilation flags.
2019-11-07 17:33:41 +01:00
FearlessTobi
029cc77c4b Backport changes from yuzu-emu/yuzu#2444 2019-09-22 17:27:01 +02:00
Weiyi Wang
377abfa3e6
Merge pull request #4930 from vitor-k/pause-on-unfocus
Pause when in background
2019-09-20 14:51:01 -04:00
Weiyi Wang
176b8b4a0b
Merge pull request #4917 from vitor-k/long-title
Allow displaying the long_title of the game
2019-09-20 12:59:04 -04:00
vitor-k
66b1e419c3 Naming changes and clang format 2019-09-14 18:14:23 -03:00
vitor-k
356fd60520 Add option to enable pause when on background 2019-09-13 23:01:12 -03:00
Pengfei Zhu
22d3099ea2
Merge pull request #4925 from vitor-k/icon-style
Change the coding style of GameListIconSize bounds check to use the enum
2019-09-13 23:20:45 +08:00
Vitor K
4d2fee31b3
Prevent repetition on config.cpp
Type is already indicated on right hand side.

Co-Authored-By: Mat M. <mathew1800@gmail.com>
2019-09-10 00:01:55 -03:00
vitor-k
719912786a UISettings::GameListText
Append a value to the enum to function as length counter.
Also remove magic numbers where possible, by using the enum instead.
2019-09-09 23:36:21 -03:00
vitor-k
c866a8e428 Change GameListText order to improve configuration compatibility 2019-09-09 23:36:21 -03:00
vitor-k
ccf6d380af Change the coding style of GameListIconSize bounds check to use the enum instead of magic numbers 2019-09-08 19:37:55 -03:00
zhupengfei
4144f4480d
citra_qt: Add single line mode for game list
This single line mode is aimed at restoring the intended behavior with Small or None icons. Line breaks will be replaced with commas (Region row) or spaces (Name row). One can toggle this option in UI configuration.
2019-08-20 20:03:15 +08:00
Weiyi Wang
b4d45b57c7
Merge pull request #4879 from tywald/accurate-gs-on
Remove 'Accurate Geometry Shader' setting
2019-08-18 15:52:45 -04:00
James Rowe
6f0b009497
Merge pull request #4889 from jroweboy/autouic
Remove qt5_wrap_ui macro usage
2019-08-16 19:36:23 -06:00
James Rowe
7fe9a094a5 Remove qt5_wrap_ui macro usage 2019-08-16 19:35:37 -06:00
James Rowe
23e969dfdc Address review comments 2019-08-14 21:17:32 -06:00
James Rowe
62e6c147ae Add perf stat logging through ini setting
For better tracking of performance regressions on incoming changes, this
change adds a way to dump frametime to file by changing an ini config
option. This is intentionally hidden as its only useful to a small
number of individuals, and not really applicable to the general
userbase.
2019-08-14 21:17:27 -06:00
zhupengfei
8202c55cd5
citra_qt: Add video dumping UI
QtConcurrent is used to stop the video dumping in another thread.
2019-08-14 09:27:05 +08:00
tywald
aad8261534 Remove 'Accurate Geometry Shader' setting, default behavior is as it was turned on. 2019-08-12 02:55:14 +02:00
xperia64
8131bd32e3 renderer_opengl: Add support for custom shaders (#4578)
* Add Anaglyph 3D

Change 3D slider in-game

Change shaders while game is running

Move shader loading into function

Disable 3D slider setting when stereoscopy is off

The rest of the shaders

Address review issues

Documentation and minor fixups

Forgot clang-format

Fix shader release on SDL2-software rendering

Remove unnecessary state changes

Respect 3D factor setting regardless of stereoscopic rendering

Improve shader resolution passing

Minor setting-related improvements

Add option to toggle texture filtering

Rebase fixes

* One final clang-format

* Fix OpenGL problems
2019-08-09 20:00:47 +02:00
Lioncash
e58a805a22 yuzu/configuration/config: Specify string conversions explicitly
Allows the configuration code to build successfully with implicit string
conversions disabled.

Also makes default_hotkeys internally linked:
Given the array is a private static array, we can just make it
internally linked to hide it from external code. This also allows us to
remove an inclusion within the header.
2019-07-25 23:34:29 +02:00
James Rowe
f5b86cff52 Clang-format 2019-03-06 22:43:35 -07:00
James Rowe
5f532c2560 Address review comments 2019-03-06 11:16:43 -07:00
James Rowe
7fccc995ce Initial Mic setup 2019-03-04 23:06:42 -07:00
fearlessTobi
70653c6a87 citra_qt/config: actually save name of input profile
Fixes the issue where all input profiles had the name "default" after restarting Citra.
2019-02-16 21:41:51 +01:00
fearlessTobi
e5495e541d citra_qt/config: backport minor changes from yuzu 2019-02-13 21:06:37 +01:00
Weiyi Wang
f620c862f3
Merge pull request #4437 from adityaruplaha/hotkey-config-squashed
citra-qt: Make hotkeys configurable via the GUI (Attempt 2)
2019-02-03 21:57:34 -05:00
Adityarup Laha
80ebd75285
citra-qt: Add /default parsing for hotkeys. Also minor code cleanups. 2019-01-25 20:42:49 +05:30
Weiyi Wang
054a97c08b
Merge pull request #4579 from xperia64/3d_slider
Change 3D Slider in-game
2019-01-23 20:23:55 -05:00
Adityarup Laha
988acf588a
citra-qt: Add back missing hotkeys & conflict fixes.
* Also fixed a missing spacer in ConfigureGeneral.
2019-01-20 16:13:59 +05:30
Adityarup Laha
5fa25fcf13
citra-qt: Add base support for hotkey reconfiguration + UI (whole of PR citra-emu/citra#3786)
* Adds a new Hotkeys tab in the Controls group.
* Right click to reconfigure.
* See the original PR for more details & screenshots.
2019-01-20 16:12:10 +05:30
fearlessTobi
1302c9c1e7 frontend: Remove V-Sync option from UI
The V-Sync option is fundamentally broken in Citra, so let's do the same as yuzu and remove it entirely for SDL2 and at least from the frontend for QT.
(It was also only used by 7.3% of users)
2019-01-19 17:43:44 +01:00
xperia64
c1ac39f058 Actually fix the race condition 2019-01-18 16:32:16 -05:00
Weiyi Wang
95a57a2fe3
Merge pull request #4538 from valentinvanelslande/profiles
Add multiple input profile support
2019-01-17 22:32:24 -05:00
Ben
4f23d5d69e
Merge pull request #4490 from wwylele/teakra-new
audio: implement DSP LLE
2019-01-11 16:45:00 +01:00
Valentin Vanelslande
62b40e9155
Merge branch 'master' into profiles 2019-01-07 10:39:44 -05:00
Valentin Vanelslande
64b992487e fix regression 2018-12-29 16:23:33 -05:00
Valentin Vanelslande
60d1822206 if to clamp 2018-12-29 08:39:30 -05:00
Valentin Vanelslande
5a14af5f38 address some comments 2018-12-29 08:27:06 -05:00
Pengfei Zhu
5a4c7c32d8
Update src/citra_qt/configuration/config.cpp
Co-Authored-By: valentinvanelslande <valentinvanelslandeacnl@gmail.com>
2018-12-29 08:14:37 -05:00
Valentin Vanelslande
8e614c3eb0 clang-format; address one comment 2018-12-28 23:31:55 -05:00
Valentin Vanelslande
e420fb666f another fix 2018-12-28 21:15:18 -05:00
Valentin Vanelslande
6d0c50dfec more fixes 2018-12-28 21:14:44 -05:00
Valentin Vanelslande
bf93b94658 fixes 2018-12-28 21:13:57 -05:00
Mat M
90965525ac
Apply suggestions from code review
Co-Authored-By: valentinvanelslande <valentinvanelslandeacnl@gmail.com>
2018-12-28 21:00:09 -05:00
Valentin Vanelslande
7c95032e3a Add multiple input profile support
Only supported in the Qt frontend.
2018-12-28 20:28:45 -05:00
RicBent
6ad609a539 Added GPIO14 button and UI config buttons 2018-12-28 17:13:37 -06:00
RicBent
403d2f0058 Added Debug Button 2018-12-28 12:47:50 -06:00
Weiyi Wang
443f4b964d DSP/LLE: add multithread mode 2018-12-21 20:49:24 -05:00
Weiyi Wang
21da135cc6 Configuration: add option to use DSP LLE 2018-12-21 20:49:22 -05:00
zhupengfei
deb398d190
citra_qt: Save ban list for room hosting 2018-12-15 11:03:33 +08:00
adityaruplaha
5f0e189238
Add Support for Room Descriptions 2018-12-15 11:02:50 +08:00
zhupengfei
071b41cb61
citra_qt, video_core: Screenshot functionality
Allows capturing screenshot at the current internal resolution (native for software renderer), but a setting is available to capture it in other resolutions. The screenshot is saved to a single PNG in the current layout.
2018-11-30 14:14:41 +08:00
Lioncash
bf6dd78324 yuzu/configuration/config: Use a std::unique_ptr for qt_config instead of a raw pointer
Same behavior, less code.
2018-10-26 23:53:58 +02:00
zhupengfei
8ecd31db41
citra_qt: use enum classes for the settings 2018-10-14 22:55:28 +08:00
zhupengfei
90f9d32f13
citra_qt: Add Game List configuration
This adds a Game List configuration group box which is similar to yuzu's, with features including icon size setting, row 1/2 text, and ability to hide invalid titles (those without a valid SMDH). I also added a UI tab and moved the language and theme settings there.
2018-10-09 22:37:21 +08:00
Lioncash
b3221c3180 file_util: Use an enum class for GetUserPath()
Instead of using an unsigned int as a parameter and expecting a user to
always pass in the correct values, we can just convert the enum into an
enum class and use that type as the parameter type instead, which makes
the interface more type safe.

We also get rid of the bookkeeping "NUM_" element in the enum by just
using an unordered map. This function is generally low-frequency in
terms of calls (and I'd hope so, considering otherwise would mean we're
slamming the disk with IO all the time) so I'd consider this acceptable
in this case.
2018-09-22 21:18:56 +02:00
fearlessTobi
b82bf1ccdb Change variable name to web_api_url 2018-09-12 19:07:06 +02:00
fearlessTobi
0d6b1d161b web_service: Unify links for web service endpoints 2018-09-05 03:07:03 +02:00
Ben
b20607dfc6 Add system time configuration (#4043)
* Add setting to switch between a fixed start time and the system time

Add clock settings to SDL

Make clock configureable in qt

Add a SharedPage handler class

Init shared_page_handler for tests
2018-08-26 11:47:45 -06:00
zhupengfei
9d056282df citra_qt: record movie record/playback path 2018-08-20 11:36:00 +02:00
Vamsi Krishna
6cb9a45154 Add Discord Rich Presence Support (#3883)
* Initial Discord RPC support

Build with Discord Presence ON

Fix RPC detection

Fix Time elapsed on pause; will now continue to count.

* Fix CI builds with compile flag

Addressed reviews

Fix silly mistakes

Fix 'Not in-game' display

class instead of namespace

Fix

Revamped

remove redundant code

Using Pimpl pattern

* Implement Null class

* Fix config updation

* Addressed All Reviews

* externals/discord-rpc : Updated to latest commit
2018-08-20 11:20:33 +02:00
zhupengfei
e1ae14d508
input_common/udp: allow changing pad index 2018-08-11 13:23:10 +08:00
BreadFish64
d09646ab9d citra-qt: service: add convenient LLE service module configuration (#3967)
* citra-qt: service: add convenient LLE service module configuration

* fix SDL settings

* unexpose AttemptLLE

* static

* fix array includes

* use default with writesetting
2018-08-09 21:10:11 +02:00
James Rowe
6bcbda5ab2 Input: UDP Client to provide motion and touch controls
An implementation of the cemuhook motion/touch protocol, this adds the
ability for users to connect several different devices to citra to send
direct motion and touch data to citra.
2018-08-07 21:05:09 -06:00
zhupengfei
650c20eebf
citra_qt: Settings (configuration) rework 2018-08-03 13:49:30 +08:00
James Rowe
7fa2076918
Merge pull request #3946 from zhaowenlan1779/macos-no-hw-shader
citra_qt: disable hw shader by default for macos
2018-07-18 10:07:12 -06:00
zhupengfei
a398bceb93
citra_qt: disable hw shader by default for macos
Also show an warning when turning it on.
2018-07-17 10:07:02 +08:00
fearlessTobi
a780f3821e citra_qt: Add a volume slider 2018-07-03 17:26:50 +02:00
James Rowe
574824a26c
Merge pull request #3632 from N00byKing/3dtv_botenable
Add Support for Stereoscopic 3D
2018-06-17 21:05:15 -06:00
James Rowe
c39dee1569
Merge pull request #3617 from BreadFish64/multiple-game-dirs
QT: Add support for multiple game directories
2018-06-17 21:04:24 -06:00
zhupengfei
5ebd466869
camera: Add camera flip config 2018-06-07 14:57:03 +08:00
N00byKing
e4788130e5 citra, citra_qt, settings.h: Add Options for Stereoscopic 3D 2018-06-01 17:01:00 +02:00
BreadFish64
1a57f9488f citra_qt: support multiple game directories 2018-05-26 15:38:06 -05:00
wwylele
f1cc8cfea9 citra,citra_qt: load/save hardware shader settings 2018-05-14 10:17:35 +03:00
Daniel Lim Wee Soong
51398e0301 Logging: Add customizable logging backends and fmtlib based macros
* Change the logging backend to support multiple sinks through the
Backend Interface
* Add a new set of logging macros to use fmtlib instead.
* Qt: Compile as GUI application on windows to make the console hidden by
default. Add filter configuration and a button to open log location.
* SDL: Migrate to the new logging macros
2018-04-23 21:32:56 -06:00
James Rowe
c635c7f40d Address more review comments
* Make Validation a singleton instead
* Wording changes for error messages
* Smart pointers for Ui members
* Other minor nitpicks
2018-04-19 10:28:17 -06:00
James Rowe
871196bc10 Citra-qt: Add multiplayer ui 2018-04-19 10:28:14 -06:00
James Rowe
f61141e86a Update the entire application to use the new clang format style 2018-03-09 10:54:43 -07:00
Weiyi Wang
4befbddc34
Merge pull request #3281 from jroweboy/texcache-pt2
Texture Cache Rework
2018-03-05 11:57:25 +02:00
James Rowe
b002511df0
citra-qt: Add customizable speed limit target (#3353)
citra-qt: Add customizable speed limit target

* Update SDL config for the new frame_limit option
* Made max lag time a function of target speed percent.
* Added a checkbox to enable/disable frame limiter
* UI: Prevent frame_limit from under/overflowing
* UI: Hide target speed percent when frame limiter is off
* Disable frame limit spin box when framelimit isn't enabled
2018-01-25 22:24:40 -07:00
James Rowe
e1ffcde355
Merge pull request #3297 from wwylele/translation-tx
citra-qt: add translation support; link translation with transifex
2018-01-18 09:01:00 -07:00
Adityarup Laha
93cca23dd6 Variable tilt clamp (#3366)
* Add tilt clamp setting

* Updated `clamp` to use variable

* Fixed a minor typo

* Include possibly necessary header

* expose setting in sdl2

* expose setting in qt

* incorporate @wwylele 's suggestion in sdl2

* Incorporate @wwylele 's suggestion (?)

Please review the code, this is the first time I'm working with `ParamPackage`s so I may just screw up the code.

* Forgot to change in qt

* Fixed an fatal error

* fixed clang format error

* remove the old setting

* fixed typos cusing errors

* removed old setting

* Changed init style

* Forgot this one

* Removed unnecessary header inclusion

* Update config.cpp

* update qt-config

* Update motion_emu.cpp

* Update motion_emu.cpp
2018-01-17 17:30:50 -05:00
James Rowe
c821c14908 Settings: Change resolution scaling to an integer instead of a float 2017-12-23 16:10:25 -07:00
wwylele
62890b253e citra_qt: load translation from resource 2017-12-16 13:11:05 +02:00
James Rowe
2e6c80d1aa Qt updater integration, based on QtAutoUpdater 2017-11-04 15:00:20 -06:00
Yacine
e3d9e6c802 citra-qt : Adding fullscreen mode 2017-10-11 20:21:09 +02:00
B3n30
28c726f205 WebService: Verify username and token (#2930)
* WebService: Verify username and token; Log errors in PostJson

* Fixup: added docstrings to the functions

* Webservice: Added Icons to the verification, imrpved error detection in cpr, fixup nits

* fixup: fmt warning
2017-09-18 21:18:26 -04:00
bunnei
75cd28a7cc Merge pull request #2899 from wwylele/touch-refactor
Refactor touch input into a TouchDevice
2017-08-29 11:29:10 -04:00
bunnei
c781aea947 settings: Add enable_telemetry, citra_username, and citra_token. 2017-08-25 23:10:00 -04:00
bunnei
59ad933022 citra_qt: Show one-time callout messages to user. 2017-08-25 23:10:00 -04:00
wwylele
2617de1fe6 EmuWindow: refactor touch input into a TouchDevice 2017-08-24 15:00:56 +03:00
wwylele
188194908c move MotionEmu from core/frontend to input_common as a InputDevice 2017-08-11 11:05:08 +03:00
bunnei
822e8d21ea Merge pull request #2804 from Kloen/theming
citra-qt: UI Themes
2017-07-17 21:30:01 -04:00
bunnei
8abf808854 settings: Add telemetry endpoint URL. 2017-07-10 00:15:39 -04:00
Kloen
bbeb9f1dbb citra-qt: add new uisetting->theme 2017-06-24 05:48:35 +02:00
chris062689
f44b360724 Changing default values for bg_red, bg_green, and bg_blue from 1.0 to 0.0. 2017-06-21 13:45:07 -04:00
Nico Bosshard
06d4654966 citra-qt: game list search function (#2673)
* citra-qt: game list search function

* Empty search field during game list refresh

* Code improvements

* Code formatting

* Autofocus search field

* JayFoxRox's recommendations

* lioncash's review
2017-04-29 22:04:39 -04:00
Lioncash
1631e99eed citra-qt: Move config dialog code to its own directory 2017-04-03 20:43:13 -06:00
Renamed from src/citra_qt/config.cpp (Browse further)