Commit Graph

1525 Commits (228f648e3fbb0f755dd11860646cc2fdc6298d1e)

Author SHA1 Message Date
James Rowe 26d828fb4c Prevent softlock on shutdown and various cleanup 2019-11-09 13:12:29 +07:00
James Rowe 52d7676831 recreate mailbox to use a queue instead 2019-11-09 13:12:29 +07:00
James Rowe ac90cd0378 Change Present to finish only after swap 2019-11-09 13:12:29 +07:00
James Rowe 6fff8e3921 Remove screen change detection since it breaks make changing screen. (Still need to test windows) 2019-11-09 13:12:29 +07:00
James Rowe 5d97e44279 Fix macOS pixel ratio detection 2019-11-09 13:12:29 +07:00
James Rowe 045eec282a rename GGLContext to just GLContext 2019-11-09 13:12:29 +07:00
James Rowe db94c017bf Change to a constructor that exists in qt 5.9 2019-11-09 13:12:29 +07:00
James Rowe 3b14bb44b9 QOffscreensurface 2019-11-09 13:12:29 +07:00
James Rowe 8d17aa40fd Remove vsync setting 2019-11-09 13:12:26 +07:00
James Rowe 91255b8802 Change Qt to use QOpenGLWidget and support shared context and texture mailbox 2019-11-09 13:10:18 +07:00
Khangaroo df99d98240 specify size of buffer and use openglstate in getteximageoes 2019-11-09 12:58:17 +07:00
khang06 a458155f99 texture dump hotkey (ctrl+d)
address more comments
2019-11-09 12:56:30 +07:00
Khangaroo 5450d4980d crash hotfix (no clang-format because on phone)
hotfix 2: check if the texture is custom before dumping

hotfix 4: fix custom texture conflict detection
2019-11-09 12:56:28 +07:00
Khangaroo ae4aaf2fc1 nested folder support + refuse to load incompatibly sized textures + general cleanups 2019-11-09 12:56:27 +07:00
Khangaroo 8a98310a16 address more comments, fix dumping textures that already got dumped 2019-11-09 12:56:27 +07:00
Khangaroo c2a32e942b address more comments 2019-11-09 12:56:27 +07:00
Khangaroo 3534ad0835 reorder graphics tab, move speed to general 2019-11-09 12:56:27 +07:00
Khangaroo da83430a68 add enhancements tab files 2019-11-09 12:56:27 +07:00
Khangaroo 8b881ac1fc fix preload textures being enabled when it shouldn't
address more comments
2019-11-09 12:56:25 +07:00
Khangaroo 391e552927 qimageinterface fixes, remove old lodepng, address more comments 2019-11-09 12:56:24 +07:00
Khangaroo b81c15941e add image interface, remove lodepng from video_core/core, address more comments, fix comments
remove unnecessary conversion
2019-11-09 12:56:21 +07:00
Khangaroo 5940361b81 new-line that clang-format didn't fix
address some comments
2019-11-09 12:56:17 +07:00
Khangaroo 59b475a4b9 implement custom texture preload 2019-11-09 12:56:17 +07:00
Khangaroo 6d90c42a79 fix crashes, add custom texture cache, load textures from load directory 2019-11-09 12:54:40 +07:00
khang06 e0d63bd21b add texture dumping as a config entry 2019-11-09 12:53:12 +07:00
James Rowe 926902cc5e
Merge pull request #4993 from bunnei/web-token-b64
citra_qt: configure_web: Use Base64 encoded token
2019-11-09 12:45:11 +07:00
bunnei 3a18039c53 citra_qt: configure_web: Use Base64 encoded token for simplifying user experience. 2019-11-09 13:48:26 +07:00
Weiyi Wang 34c6b7ca48
Merge pull request #4985 from FearlessTobi/port-2942
Port yuzu-emu/yuzu#2942: "Silence miscellaneous warnings"
2019-11-08 23:42:32 +07:00
FearlessTobi 9c1535621a citra_qt/game_list: Specify string conversions explicitly 2019-11-09 02:46:23 +07:00
FearlessTobi 6cf0043830 citra_qt/updater: Specify string conversions explicitly 2019-11-09 02:46:07 +07:00
FearlessTobi 8f29ab3ceb citra_qt/multiplayer: Specify string conversions explicitly 2019-11-09 02:45:47 +07:00
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 +07:00
FearlessTobi 5e98835b5f yuzu/game_list: Silence -Wswitch
Co-Authored-By: Rodrigo Locatti <reinuseslisp@airmail.cc>
2019-11-02 18:56:23 +07:00
FearlessTobi 5d1d0b3693 yuzu/game_list_worker: Silence warnings
Co-Authored-By: Rodrigo Locatti <reinuseslisp@airmail.cc>
2019-11-02 18:55:08 +07:00
vvanelslande 44611c9985 citra_qt/main.ui: remove unused actions "Load Symbol Map..." and "Select Game Directory..."
Self-explanatory.
2019-10-25 20:13:35 +07:00
vitor-k cc9bcf3e48 fix uppercase sorting 2019-10-25 18:49:13 +07:00
Weiyi Wang 35690e3ac7
Merge pull request #4948 from vvanelslande/amiibo-dad
citra_qt: add amiibo drag and drop support
2019-10-05 10:47:46 +07:00
vitor-k eb7527254f Sort game items after the list is populated 2019-09-28 15:57:26 +07:00
vitor-k 476dcb1915 Use the displayed text for sorting GameListItemPath.
By default, DisplayRole is used as the SortRole.
This behaviour is what's expected by the user.
Made it so that an access to SortRole is equivalent to one to DisplayRole.
Also fixes a bug with directory sorting.
2019-09-28 00:48:11 +07:00
FearlessTobi 1e93f568b5 Address review comments 2019-09-22 20:48:32 +07:00
FearlessTobi a5d880979c Backport changes from yuzu-emu/yuzu#2057 2019-09-22 17:47:18 +07:00
FearlessTobi 029cc77c4b Backport changes from yuzu-emu/yuzu#2444 2019-09-22 17:27:01 +07:00
vvanelslande a650402eb5 citra_qt/RecordDialog: close when OK is clicked
The OK button didn't do anything before.
2019-09-21 23:56:07 +07:00
vvanelslande 07eb89c6ee citra_qt: add amiibo drag and drop support 2019-09-21 17:08:19 +07:00
James Rowe 223bfc9a2a
Merge pull request #4847 from zhaowenlan1779/ipc-debugger
core, citra_qt: IPC Recorder
2019-09-21 00:04:07 +07:00
Pat 63c31af8ee Added Host CPU and OS to log 2019-09-20 20:34:01 +07:00
Weiyi Wang 377abfa3e6
Merge pull request #4930 from vitor-k/pause-on-unfocus
Pause when in background
2019-09-20 14:51:01 +07: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 +07:00
vitor-k 8d8bc8fee7 small changes to ApplicationState handling, just in case 2019-09-19 00:12:36 +07:00
James Rowe 4b05078def
Merge pull request #4922 from Steveice10/master
Filter non-executable files out of the game list.
2019-09-16 23:51:44 +07:00
vitor-k 05b1cfc63b Pause in background guard clause and unused flag 2019-09-15 01:08:12 +07:00
vitor-k 66b1e419c3 Naming changes and clang format 2019-09-14 18:14:23 +07:00
vitor-k 356fd60520 Add option to enable pause when on background 2019-09-13 23:01:12 +07: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 +07:00
vitor-k 7224ec57f6 Only auto unpause when auto paused 2019-09-11 21:53:26 +07:00
vitor-k 23405b4ce1 Pause on unfocused first draft
This is a MVP, still needs one or more configuration option(s) and
review of the code style.
2019-09-10 21:52:17 +07: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 +07:00
vitor-k 966d128025 Remove newlines from the long title in row2 2019-09-09 23:40:32 +07: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 +07:00
vitor-k 1f1ac98f10 Fix clang format for long-title 2019-09-09 23:36:21 +07:00
vitor-k c866a8e428 Change GameListText order to improve configuration compatibility 2019-09-09 23:36:21 +07:00
vitor-k f9cded05fd Allow displaying of the full title in the interface, as well as use the full title in the search filter 2019-09-09 23:36:21 +07:00
James Rowe d6f2bc8c04
Merge pull request #4896 from zhaowenlan1779/game-list-fix-3
citra_qt: Misc game list updates/fixes
2019-09-09 20:04:04 +07: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 +07:00
Steveice10 5cf684c951 Filter non-executable files out of the game list. 2019-09-08 14:19:11 +07:00
vitor-k 50cee98bca Move the SetThreadExecutionState calls to their own separate functions 2019-09-03 16:13:14 +07:00
vitor-k bcf33b0ac6 Fix to windows sleep issues, now with clang format! 2019-09-03 11:06:57 +07:00
Pengfei Zhu 285b2b3207
Merge pull request #4906 from vvanelslande/hotkey-and-fullscreen-fixes
citra_qt: fix the stuck in fullscreen mode and hotkey bugs
2019-09-01 23:00:46 +07:00
vitor-k ac3a854f45 Add cancel option to analog stick configuration 2019-08-31 21:58:07 +07:00
vvanelslande 1ff418de4a citra_qt: fix the stuck in fullscreen mode and hotkey bugs
The stuck in fullscreen mode bug happens if the emulated program exits, is fixed by adding [this](https://github.com/citra-emu/citra/compare/master...vvanelslande:hotkey-and-fullscreen-fixes?expand=1#diff-5e8bf22f5c3b3579c402308dd96b7563R888-R894), steps to reproduce:
- Start [FBI](https://github.com/Steveice10/FBI)
- Press START

The fixed hotkeys (I changed them to use [connect](https://doc.qt.io/qt-5/qobject.html#connect) instead of [setShortcut](https://doc.qt.io/qt-5/qaction.html#shortcut-prop) + [setShortcutContext](https://doc.qt.io/qt-5/qaction.html#shortcutContext-prop)) are:
- Load File (was not working in windowed mode), fixed by removing the [setShortcut](https://doc.qt.io/qt-5/qaction.html#shortcut-prop) + [setShortcutContext](https://doc.qt.io/qt-5/qaction.html#shortcutContext-prop) calls (there was already a [connect](https://doc.qt.io/qt-5/qobject.html#connect) call)
- Stop Emulation (was not working in fullscreen mode), fixed with the [connect](https://doc.qt.io/qt-5/qobject.html#connect) change and [this](https://github.com/citra-emu/citra/compare/master...vvanelslande:hotkey-and-fullscreen-fixes?expand=1#diff-5e8bf22f5c3b3579c402308dd96b7563R888-R894) change
- Exit Citra (was not working in fullscreen mode), fixed with the [connect](https://doc.qt.io/qt-5/qobject.html#connect) change

Fixes #4876
2019-08-29 19:50:05 +07:00
zhupengfei 3d14abeb41
citra_qt/record_dialog: Switch to QFormLayout 2019-08-29 00:03:56 +07:00
zhupengfei 531bf857f5
Remove old region free logic 2019-08-20 21:03:41 +07: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 +07:00
zhupengfei b078122167
citra_qt/game_list: Disable uniform row heights
This option was intended for enabling optimizations when all rows are granted to have the same height. In our case this is not true, and therefore the behavior is actually undefined. Different versions of Qt handle this differently. Newer versions of Qt tend to hide contents that are too big in height, which goes against our wishes. Thus, it's probably the best to disable this option so that things don't go wrong if we ever decide to update Qt.
2019-08-20 20:01:14 +07:00
zhupengfei 82fea86717
citra_qt/game_list: Add an All Regions check
Some titles (mostly homebrews) do not use the region free value 0x7FFF but instead set all of the region flags, resulting in all regions displayed in game list, which is not beautiful and not what we want. This fixes it by adding an all_regions check.
2019-08-20 19:57:33 +07:00
zhupengfei f8b3950829
CMake: separate options for FFmpeg decoder/dumper
Separate options are now provided for FFmpeg AAC audio decoder and FFmpeg video dumper. This allows users to configure Citra with greater freedom.

Also, previously for Linux builds, AAC decoder is accidentally enabled along with the dumper, which could potentially cause patent issues (?). This commit fixes it by only enabling video dumper.
2019-08-20 14:45:39 +07:00
zhupengfei 42cefdbff0 citra_qt/debugger: Add recorder widget
This widget provides a simple list of recorded requests as well as a simple filter and the 'Clear' button. Requests with status 'HLE Unimplemented' or 'Error' will be marked out with the red color.

This widget handles retrival of service name. For reasons refer to a previous commit message.

Added the widget to the Debugging menu, pretty much the same as other debugging widgets.
2019-08-20 03:08:55 +07:00
zhupengfei 45930e0621 citra_qt: Add record dialog
This 'View Record' dialog shows all relevant information on a record as well as the command buffers.
2019-08-20 03:08:20 +07:00
Weiyi Wang b4d45b57c7
Merge pull request #4879 from tywald/accurate-gs-on
Remove 'Accurate Geometry Shader' setting
2019-08-18 15:52:45 +07:00
James Rowe 6f0b009497
Merge pull request #4889 from jroweboy/autouic
Remove qt5_wrap_ui macro usage
2019-08-16 19:36:23 +07:00
James Rowe 7fe9a094a5 Remove qt5_wrap_ui macro usage 2019-08-16 19:35:37 +07:00
James Rowe 23e969dfdc Address review comments 2019-08-14 21:17:32 +07: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 +07:00
James Rowe e18c7ee78f
Merge pull request #4602 from zhaowenlan1779/video-dump-reborn
Implement dumping audio+video to video files
2019-08-14 09:12:14 +07: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 +07:00
zhupengfei cf2c354fb9
CMake, CI: Add FFmpeg library dependency 2019-08-14 09:27:03 +07:00
Weiyi Wang 50ab002072
Guard unistd.h with MacOS only macro
Fix compile error on Windows caused by #4877 
Weird, I thought I saw this guard during the code review...
2019-08-13 15:42:22 +07:00
James Rowe 2f0ea48da4
Merge pull request #4878 from B3n30/citra_qt_all_regions_game_list
Citra_qt: Display all valid regions in game_list
2019-08-12 23:07:27 +07:00
James Rowe bc945fefec
Merge pull request #4877 from B3n30/fix_user_dir_on_osx
citra_qt: on osx chdir to bundle dir to allow detection of user folder
2019-08-12 22:59:05 +07:00
tywald aad8261534 Remove 'Accurate Geometry Shader' setting, default behavior is as it was turned on. 2019-08-12 02:55:14 +07:00
B3n30 e454f4c05b proper translation part2 2019-08-11 16:51:46 +07:00
B3n30 ec4fb81c4b proper translation 2019-08-11 16:22:43 +07:00
B3n30 69b32f174c clang-format 2019-08-11 14:44:31 +07:00
B3n30 848bfaf8cb Dispaly all valid game regions 2019-08-11 13:52:08 +07:00
B3n30 3fb622e84f citrq_qt:main.cpp include unistd.h 2019-08-11 13:04:51 +07:00
B3n30 42d0654eec citra_qt: on osx chdir to bundle dir to allow detection of user folder 2019-08-11 12:28:07 +07:00
Weiyi Wang d18d2a0a18 citra_qt/configure: move speed limiter to general (#4864)
The speed limiter being a frame limiter is an implmentation detail and can be changed in the future. What user care about is that it limit the emulation speed in genenral (not just graphics but also audio+input)
2019-08-10 11:13:17 +07:00
Tobias d80edd99d7 Port yuzu-emu/yuzu#2457: "yuzu/{about_dialog, main}: Specify string conversions explicitly for SCM-related info" (#4774)
* yuzu/about_dialog: Specify string conversions explicitly

Specifies the conversions explicitly to avoid implicit conversions from
const char* to QString. This makes it easier to disable implicit QString
conversions in the future.

In this case, the implicit conversion was technically wrong as well. The
implicit conversion treats the input strings as ASCII characters. This
would result in an incorrect conversion being performed in the rare case
a branch name was created with a non-ASCII Unicode character, likely
resulting in junk being displayed.

* yuzu/main: Move window title updating logic to its own function

For similar reasons to the previous change, we move this to a single
function, so we don't need to duplicate the conversion logic in several
places within main.cpp.
2019-08-10 11:01:18 +07:00
Weiyi Wang 88db89bf57 configure_dialog: reverse tab map to avoid logic based on user-facing/translatable text (#4866) 2019-08-10 09:00:56 +07: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 +07:00
Tobias 76aec4d675 [Hotfix] Revert change in configure_dialog (#4865) 2019-07-29 12:33:10 +07:00
Weiyi Wang 216fc0b546
Merge pull request #4856 from FearlessTobi/port-2492
Port yuzu-emu/yuzu#2492: "yuzu/debugger: Specify string conversions explicitly"
2019-07-29 00:21:51 +07:00
Weiyi Wang c9d4a13c5c
Merge pull request #4860 from FearlessTobi/port-2499
Port yuzu-emu/yuzu#2499: "yuzu/configuration: Specify string conversions explicitly"
2019-07-29 00:21:21 +07:00
Lioncash 4832b29d3d yuzu/debugger: Specify string conversions explicitly 2019-07-28 15:13:03 +07:00
Lioncash 64a154e890 yuzu/configuration: Specify string conversions explicitly 2019-07-28 15:08:54 +07: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 +07:00
Silent 4fd22c6a14
Qt: Fixed behaviour of buttons by connecting functors to correct signals
Following screens got fixes:
- Cheats
- Configure/Debug
- Configure/Input
- Chat Room
- Direct Connect
- Host
- Lobby List
2019-07-22 23:28:10 +07:00
Weiyi Wang 909d04ddea Remove unused stuff
Some unused variables are still kept in services, as they are parameters passed from the command buffer and might be used in the future
2019-07-16 20:27:03 +07:00
Weiyi Wang 1904da775e
citra_qt/configure_motion_touch: fix slot name
Fixes #4840, hopefully
2019-07-14 23:02:22 +07:00
Pengfei Zhu 1d6c6a37a1
Merge pull request #4836 from wwylele/chatroom-sign
citra_qt: silent sign comparison warning
2019-07-15 07:33:35 +07:00
Pengfei Zhu f31dd06d91
Merge pull request #4835 from wwylele/profiler-par
citra_qt/profiler: add parenthesis to silent warning
2019-07-15 07:32:39 +07:00
Pengfei Zhu 6b916a22c2
Merge pull request #4831 from wwylele/multiplayer-Wreorder
citra_qt/multiplayer: silent Wreorder warnings
2019-07-15 07:26:04 +07:00
Weiyi Wang f7607c820d citra_qt: silent sign comparison warning
🖕Qt
2019-07-14 14:21:02 +07:00
Weiyi Wang 3a567390ee citra_qt/profiler: add parenthesis to silent warning
This is indeed confusing
2019-07-14 14:14:34 +07:00
Weiyi Wang e689847b11 citra_qt/configure_system: fix string comparison (#4830)
country_names has type std::array<char*>. Pointer comparison to test empty string is wrong
2019-07-14 19:26:23 +07:00
Weiyi Wang 1c5a55b3cb citra_qt/camera: silent signed array index warning (#4829) 2019-07-14 19:26:06 +07:00
Weiyi Wang 9c2fe1eae8 citra_qt/multiplayer: silent Wreorder warnings 2019-07-14 11:04:52 +07:00
Tobias a546efad31
Port yuzu-emu/yuzu#2529: "yuzu/bootmanager: Minor interface tid… (#4794)
* yuzu/bootmanager: Remove unnecessary pointer casts

We can just invoke these functions by qualifying the object name before
the function.

* yuzu/bootmanager: unsigned -> u32

Same thing (for platforms we support), less reading.

* yuzu/bootmanager: Default EmuThread's destructor in the cpp file

This class contains non-trivial members, so we should default the
destructor's definition within the cpp file.

* yuzu/bootmanager: Treat the resolution factor as a u32

Treating it as a u16 can result in a sign-conversion warning when
performing arithmetic with it, as u16 promotes to an int when aritmetic
is performed on it, not unsigned int.

This also makes the interface more uniform, as the layout interface now
operates on u32 across the board.

* yuzu/bootmanager: Log out screenshot destination path

We can make this message more meaningful by indicating the location the
screenshot has been saved to. We can also log out whenever a screenshot
could not be saved (e.g. due to filesystem permissions or some other
reason).

* Fix compilation
2019-07-11 18:46:44 +07:00
bunnei 8eff0696fc
Merge pull request #4823 from FearlessTobi/port-2521
Port yuzu-emu/yuzu#2521: "yuzu/configuration: Make function naming consistent"
2019-07-07 21:45:45 +07:00
Lioncash ba6eb5285d yuzu/configuration: Make function naming consistent 2019-07-06 15:01:41 +07:00
fearlessTobi b3e819582e Fix compilation problems 2019-07-04 15:47:04 +07:00
Lioncash e88a9ace8d yuzu/CMakeLists: Disable implicit QString->QUrl conversions
Enforces the use of the proper URL resolution functions. e.g.

url = some_local_path_string;

should actually be:

url = QUrl::fromLocalPath(some_local_path_string);

etc.

This makes it harder to cause bugs when operating with both strings and
URLs at the same time.
2019-07-04 15:39:00 +07:00
Lioncash 3d2e6165d3 yuzu/CMakeLists: Disable unsafe overloads of QProcess' start() function
Other overloads of start() are considerably much safer to use if we ever
need this in the future and need to pass arguments to the program, given
it contains separate parameters for the program path and the arguments
themselves, whereas this unsafe overload contains both as a single
string.

Given the alternatives are much safer, we can disable this.
2019-07-04 15:39:00 +07:00
Lioncash 587b68ed17 yuzu/CMakeLists: Disable implicit type narrowing in connect() calls
Prevents hard-to-diagnose bugs from potentially occurring and requires
any type narrowing to be explicitly performed by our code.
2019-07-04 15:39:00 +07:00
Lioncash 1eef771a10 yuzu/configuration/configure_graphics: Eliminate type narrowing in a connect call
A checkbox is able to be tri-state, giving it three possible activity
types, so in the connect call here, it would actually be truncating an
int into a bool.

Instead, we can just listen on the toggled() signal, which passes along
a bool, not an int.
2019-06-09 16:22:43 +07:00
Lioncash 9fc3e4576b configure_hotkeys: Remove unnecessary Settings::Apply() call
Nothing from the hotkeys dialog relies on this call occurring, and is
already called from the dialog that calls applyConfiguration().
2019-06-01 23:12:59 +07:00
Lioncash 0a65f68b4a configure_hotkeys: Tidy up key sequence conflict error string
Avoids mentioning the user and formalizes the error itself.
2019-06-01 23:12:59 +07:00
Lioncash 640543f8e4 configure_hotkeys: Change critical error dialog into a warning dialog
critical() is intended for critical/fatal errors that threaten the
overall stability of an application. A user entering a conflicting key
sequence is neither of those.
2019-06-01 23:12:59 +07:00
Lioncash 4b5cbcae21 sequence_dialog: Reorganize the constructor
The previous code was all "smushed" together wasn't really grouped
together that well.

This spaces things out and separates them by relation to one another,
making it easier to visually parse the individual sections of code that
make up the constructor.
2019-05-29 23:49:47 +07:00
Lioncash ec837cd16c sequence_dialog: Remove unnecessary horizontal specifier
QDialogButtonBoxes are horizontal by default.
2019-05-29 23:49:37 +07:00
Martin Pecánek 186ffc235f Check input profile name for duplicates in New/Rename (#4779)
* Check input profile name for duplicates in New/Rename

* DRY + separation of concerns

* simplify return branching

* make readonly function const
2019-05-24 15:28:59 +07:00
Weiyi Wang 6848592044
Merge pull request #4744 from FearlessTobi/port-2376
Port yuzu-emu/yuzu#2376: "yuzu/configure_hotkey: Minor changes"
2019-05-18 08:33:37 +07:00
Lioncash 563e1622ca configure_dialog: Remove the Whats This? button from the dialog 2019-05-10 20:33:40 +07:00
Lioncash eeb8dca7b9 yuzu/hotkeys: Remove unnecessary constructor
The behavior of the Hotkey constructor is already accomplished via in-class member
initializers, so the constructor is superfluous here.
2019-05-10 20:30:50 +07:00
Lioncash 95b413a458 yuzu/compatdb: Remove unnecessary qualifiers
Keeps the code consistent in regards to how the buttons are referred to.
2019-05-10 20:30:32 +07:00
Lioncash c9cc378312 configure_hotkeys: Pass the dialog as a parent to SequenceDialog()
Without passing in a parent, this can result in focus being stolen from
the dialog in certain cases.

Example:

On Windows, if the logging window is left open, the logging Window will
potentially get focus over the hotkey dialog itself, since it brings all
open windows for the application into view. By specifying a parent, we
only bring windows for the parent into view (of which there are none,
aside from the hotkey dialog).
2019-05-07 16:31:43 +07:00
Lioncash 562e0114eb configure_hotkeys: Avoid dialog memory leak within Configure()
Without a parent, this dialog won't have its memory freed when it
happens to get destroyed.
2019-05-07 16:31:43 +07:00
Lioncash d7d1be509b configure_hotkeys: Mark member variables as const where applicable in Configure() 2019-05-07 16:31:43 +07:00
Lioncash 47176e19be configure_hotkeys: Make comparison check a little more self-documenting
This is checking if an index is valid or not and returning early if it
isn't.
2019-05-07 16:31:43 +07:00
Lioncash c33c27d646 configure_dialog: Amend constructor initializer list order
Avoids a -Wreorder compiler warning.
2019-05-07 16:31:43 +07:00
Lioncash 21cba77708 configure_hotkey: Remove unnecessary include
Avoids dumping all of the core settings machinery into whatever files
include this header. Nothing inside the header itself actually made use
of anything in settings.h anyways.
2019-05-07 16:30:12 +07:00
Lioncash 35281b4b3b configure_hotkey: Make IsUsedKey() a const member function
This doesn't actually modify instance state of the dialog, so this can
be made const.
2019-05-07 16:30:12 +07:00
Weiyi Wang 46b015befd
Merge pull request #4743 from FearlessTobi/port-2405
Port yuzu-emu/yuzu#2405: "CMakeLists: Define QT_USE_QSTRINGBUILDER for the Qt target"
2019-05-07 09:35:18 +07:00
Tobias 623b0621ab
Port various minor changes from yuzu PRs (#4725)
* common/thread: Remove unused functions

Many of these functions are carried over from Dolphin (where they aren't
used anymore). Given these have no use (and we really shouldn't be
screwing around with OS-specific thread scheduler handling from the
emulator, these can be removed.

The function for setting the thread name is left, however, since it can
have debugging utility usages.

* input_common/sdl: Use a type alias to shorten declaration of GetPollers

Just makes the definitions a little bit more tidy.

* input_common/sdl: Correct return values within implementations of GetPollers()

In both cases, we weren't actually returning anything, which is
undefined behavior.

* yuzu/debugger/graphics_surface: Fill in missing surface format listings

Fills in the missing surface types that were marked as unknown. The
order corresponds with the TextureFormat enum within
video_core/texture.h.

We also don't need to all of these strings as translatable (only the
first string, as it's an English word).

* yuzu/debugger/graphics_surface: Clean up connection overload deduction

We can utilize qOverload with the signal connections to make the
function deducing a little less ugly.

* yuzu/debugger/graphics_surface: Tidy up SaveSurface

- Use QStringLiteral where applicable.

- Use const where applicable

- Remove unnecessary precondition check (we already assert the pixbuf
  being non null)

* yuzu/debugger/graphics_surface: Display error messages for file I/O errors

* core: Add missing override specifiers where applicable

Applies the override specifier where applicable. In the case of
destructors that are  defaulted in their definition, they can
simply be removed.

This also removes the unnecessary inclusions being done in audin_u and
audrec_u, given their close proximity.

* kernel/thread: Make parameter of GetWaitObjectIndex() const qualified

The pointed to member is never actually modified, so it can be made
const.

* kernel/thread: Avoid sign conversion within GetCommandBufferAddress()

Previously this was performing a u64 + int sign conversion. When dealing
with addresses, we should generally be keeping the arithmetic in the
same signedness type.

This also gets rid of the static lifetime of the constant, as there's no
need to make a trivial type like this potentially live for the entire
duration of the program.

* kernel/codeset: Make CodeSet's memory data member a regular std::vector

The use of a shared_ptr is an implementation detail of the VMManager
itself when mapping memory. Because of that, we shouldn't require all
users of the CodeSet to have to allocate the shared_ptr ahead of time.
It's intended that CodeSet simply pass in the required direct data, and
that the memory manager takes care of it from that point on.

This means we just do the shared pointer allocation in a single place,
when loading modules, as opposed to in each loader.

* kernel/wait_object: Make ShouldWait() take thread members by pointer-to-const

Given this is intended as a querying function, it doesn't make sense to
allow the implementer to modify the state of the given thread.
2019-05-01 14:28:49 +07:00
Lioncash 564032307d CMakeLists: Define QT_USE_QSTRINGBUILDER for the Qt target
This is a compile definition introduced in Qt 4.8 for reducing the total
potential number of strings created when performing string
concatenation. This allows for less memory churn.

This can be read about here:
https://blog.qt.io/blog/2011/06/13/string-concatenation-with-qstringbuilder/

For a change that isn't source-compatible, we only had one occurrence
that actually need to have its type clarified, which is pretty good, as
far as transitioning goes.
2019-05-01 14:26:13 +07:00
Pengfei Zhu e0a0bca13a
Merge pull request #4749 from zhaowenlan1779/webfix
web_service: Misc fixes
2019-05-01 17:00:17 +07:00
James Rowe 3f2c7eb471
Merge pull request #4738 from FearlessTobi/port-1020-new
Port yuzu-emu/yuzu#1020: "core: Namespace EmuWindow"
2019-04-26 08:58:09 +07:00
Lioncash 6e22891761 core: Namespace EmuWindow
Gets the class out of the global namespace.
2019-04-21 14:16:16 +07:00
Pengfei Zhu 536e4de499
Merge pull request #4700 from zhaowenlan1779/swkbd-2
applets/swkbd: Add callback support
2019-04-20 22:18:15 +07:00
zhupengfei 40ad54c5c7
citra_qt: Update the multiplayer dialogs when game list is repopulated
The multiplayer state object and dialogs hold a (modified) game list model, but it isn't updated when the actual game list changes. This updates the multiplayer dialogs with the new game list when it got repopulated.
2019-04-20 12:50:26 +07:00
zhupengfei 4a9ea65e49
core, citra_qt: Allow credentials update in multiplayer announce session
Allows updating the credentials of the announce session, thus allowing credentials changes to be reflected before citra restart. To avoid race conditions and web errors (you can only update the room that you created, i.e. changing credentials halfway will make it break), now you can only use the Citra Web Services settings when not hosting a public room.
2019-04-20 12:50:24 +07:00
zhupengfei d6b168d7ed
citra_qt/multiplayer: Disallow hosting rooms when preferred game is not selected
which can happen if the game list is empty, and would result in a 400 being returned from the server as the preferred_game field is empty.
2019-04-20 12:50:20 +07:00
zhupengfei 36051204cc core, web_service: Check for error when registering rooms
The `Register()` function can now handle error results and the error will be passed immediately to the Qt frontend, instead of being ignored silently and failing later with a "Room is not registered".
2019-04-20 12:50:14 +07:00
Weiyi Wang 4a206237be
Merge pull request #4726 from FearlessTobi/port-2312
Port yuzu-emu/yuzu#2312: "general: Use deducation guides for std::lock_guard and std::unique_lock"
2019-04-13 18:00:09 +07:00
Tobias e9c2b27c68
Merge pull request #4681 from FearlessTobi/port-2188-2190
Port yuzu-emu/yuzu#2188 and yuzu-emu/yuzu#2190: various minor code refactoring changes
2019-04-09 21:18:34 +07:00
zhupengfei d7fbc1ca2c
common/string_util: Move TextFromBuffer to string_util 2019-04-08 22:34:21 +07:00
zhupengfei 8078256a88 applets/swkbd: Add callback support 2019-04-08 21:45:29 +07:00
fearlessTobi e9bd34f7da Address remaining review comments 2019-04-07 17:00:28 +07:00
fearlessTobi 1517d2fef7 Address more reviews 2019-04-07 15:35:32 +07:00
fearlessTobi 781d4b787a Address first batch of review comments 2019-04-07 15:35:32 +07:00
fearlessTobi 041638ea4d applets: implement HLE mii selector applet 2019-04-07 15:35:29 +07:00
Lioncash 21c71d21ae general: Use deducation guides for std::lock_guard and std::unique_lock
Since C++17, the introduction of deduction guides for locking facilities
means that we no longer need to hardcode the mutex type into the locks
themselves, making it easier to switch mutex types, should it ever be
necessary in the future.
2019-04-07 15:14:29 +07:00
Adityarup Laha ebba9f5a70
ConfigureInput::GetUsedKeyboardKeys(): Change index of home button to use NativeButton instead of magic number.
Fixes a bug where users can't bind anything to the B key.
Arises because this was not changed in #4537.
2019-04-06 10:41:28 +07:00
Weiyi Wang 5f11c5f733 Kernel: replace boost::intrusive_ptr with std::shared_ptr 2019-03-24 14:32:11 +07:00
Vamsi Krishna aedf5a84b0
Merge pull request #4671 from jroweboy/mic4
Microphone support
2019-03-20 23:12:38 +07:00
Lioncash 65572a0fb8 yuzu: Remove usage of the global telemetry accessor
In these cases the system object is nearby, and in the other, the
long-form of accessing the telemetry instance is already used, so we can
get rid of the use of the global accessor.
2019-03-17 23:17:57 +07:00
liushuyu ca46b4c3e2
frontend: qt: fix a freeze where...
... if you click on entry in the game list too fast, citra will hang
2019-03-12 13:35:33 +07:00
bunnei c3e6610807
Merge pull request #4627 from FearlessTobi/cia-install-short
citra_qt: when opening a cia file directly, make Citra ask to install it
2019-03-07 23:55:58 +07:00
bunnei 9560060f04
Merge pull request #4666 from FearlessTobi/port-2167
Port yuzu-emu/yuzu#2167: "common: Move Quaternion, Rectangle, Vec2, Vec3, and Vec4 into the Common namespace"
2019-03-07 23:52:42 +07:00
James Rowe f5b86cff52 Clang-format 2019-03-06 22:43:35 +07:00
James Rowe f5df13eb24 Remove global state and add mic hot swapping 2019-03-06 20:59:58 +07:00
James Rowe 182d672c15 Add ifdef around cubeb for android. Address a few review comments 2019-03-06 20:03:22 +07:00
James Rowe 5f532c2560 Address review comments 2019-03-06 11:16:43 +07:00
Pengfei Zhu 3ea30fe2b3
Merge pull request #4610 from zhaowenlan1779/cheats-ui
Implement UI for adding/editing/deleting cheats
2019-03-05 22:07:40 +07:00
James Rowe c669aa8d55 Rest of the owl 2019-03-04 23:07:05 +07:00
James Rowe 7fccc995ce Initial Mic setup 2019-03-04 23:06:42 +07:00
Lioncash 643472e24a common/vector_math: Move Vec[x] types into the Common namespace
These types are within the common library, so they should be using the
Common namespace.
2019-03-02 15:04:13 +07:00
Lioncash 6149be43cf yuzu/compatdb: Remove unused lambda capture
Silences a compiler warning with clang.
2019-03-02 14:04:13 +07:00
Weiyi Wang b0a4220711
Merge pull request #4647 from FearlessTobi/fix-weird-bug
citra_qt/main: make SPEED_LIMIT_STEP static constexpr
2019-02-22 16:21:54 +07:00
fearlessTobi c357531acb citra_qt/main: make SPEED_LIMIT_STEP static constexpr
MSVC does not seem to like using constexpr values in a lambda that were declared outside of it.
Previously on MSVC build the hotkeys to inc-/decrease the speed limit were not working correctly because in the lambda the SPEED_LIMIT_STEP had garbage values.
After googling around a bit I found: https://github.com/codeplaysoftware/computecpp-sdk/issues/95 which seems to be a similar issue.
Trying the suggested fix to make the variable static constexpr also fixes the bug here.
2019-02-20 16:11:38 +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 +07:00
fearlessTobi 931895d9b0 citra_qt: when opnening a cia file directly, make Citra ask to install it 2019-02-16 17:18:19 +07:00
Weiyi Wang de1128c60d
Merge pull request #4628 from FearlessTobi/backport-some-stuff
Backport various minor frontend review changes from yuzu and port minor PR from yuzu
2019-02-14 11:45:27 +07:00
fearlessTobi e5495e541d citra_qt/config: backport minor changes from yuzu 2019-02-13 21:06:37 +07:00
fearlessTobi 59dbc72e7b configure_dialog: backport minor changes from yuzu 2019-02-13 21:06:24 +07:00
tgsm ee0afb4318 citra_qt: show demos on game list 2019-02-08 19:04:05 +07: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 +07:00
zhupengfei 433176a9b9
citra_qt: Implement UI for adding/editing/deleting cheats
The UI file is rewritten, to better make use of Qt's layouts (instead of depending on abstract geometry). "Add Cheat", "Save", "Delete" buttons are also added.

The UI logic should be rather easy and usable (IMO), but the code may seem a bit dirty. If anyone has a better idea regarding UI logic design or code implementation, feel free to tell me about it.
2019-02-02 08:15:27 +07:00
Weiyi Wang 2731437a17
Merge pull request #4583 from xperia64/screenshot_fix
citra_qt: Fix saving screenshot when no file extension is provided
2019-02-01 10:49:28 +07:00
Adityarup Laha 80ebd75285
citra-qt: Add /default parsing for hotkeys. Also minor code cleanups. 2019-01-25 20:42:49 +07:00
Weiyi Wang 8b047a49ae
Merge pull request #4586 from xperia64/qt_color_button_fix
citra_qt: Use QPixmap/QIcon for background color selection button
2019-01-23 20:24:57 +07:00
Weiyi Wang 054a97c08b
Merge pull request #4579 from xperia64/3d_slider
Change 3D Slider in-game
2019-01-23 20:23:55 +07:00
Lioncash c1a066fa89 yuzu/configuration/configure_web: Remove an unused lambda capture
'this' isn't actually used within the lambda, since what we need
from the class is already assigned within the capture section of
the lambda.
2019-01-21 22:11:02 +07:00
Lioncash b16445064b yuzu/configuration/configure_web: Use an ellipsis with 'Verifying' text
It's a common UI pattern to use an ellipsis to indicate an ongoing
action, rather than just specifying the word by itself.
2019-01-21 22:10:56 +07:00
bunnei efd5768398
Merge pull request #4457 from FearlessTobi/remove-vsync
citra_qt: Remove V-Sync option
2019-01-21 15:56:12 +07:00
xperia64 ce26de858a Use QPixmap/QIcon for background color selection button 2019-01-20 22:09:23 +07:00
Adityarup Laha 71f36efd27
citra-qt: Use structured bindings where applicable in `ConfigureHotkeys::applyConfiguration`. Fix a few minor issues.
* Address https://github.com/citra-emu/citra/pull/4437#discussion_r241380912
2019-01-20 16:14:07 +07:00
Adityarup Laha dccd1664ad
citra-qt/configuration: Fix a weird issue where the tab UI disappears when language is changed. 2019-01-20 16:14:03 +07: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 +07:00
Adityarup Laha 4309585623
citra-qt: Commented & documented code related to hotkeys as & when required. 2019-01-20 16:13:54 +07:00
Adityarup Laha 9615acb550
citra-qt: Fixed reloading hotkeys on-the fly. 2019-01-20 16:13:49 +07:00
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 +07:00
xperia64 c6d623f4ba Fix crash when no files are selected 2019-01-19 22:14:19 +07:00
xperia64 82acde7e4b Add file extension to screenshot filename if not provided 2019-01-19 22:10:30 +07:00
Frederic Laing 5df6506e81 game_list: Remove a reference of a reference 2019-01-19 21:30:32 +07:00
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 +07:00
xperia64 c1ac39f058 Actually fix the race condition 2019-01-18 16:32:16 +07:00
Weiyi Wang 95a57a2fe3
Merge pull request #4538 from valentinvanelslande/profiles
Add multiple input profile support
2019-01-17 22:32:24 +07:00
James Rowe 3523831195 Frontend: Only reload icons in chat when the chat room is open 2019-01-17 12:25:17 +07:00
zhupengfei 2d65371c20
citra_qt/multiplayer: Update themed icon on theme change 2019-01-16 22:01:21 +07:00
zhupengfei 5f0dcd52ae
multiplayer: minor UI fixes
Just two minor fixes:
1. Font color is black in dark theme. It is now only black for pings.
2. If a user is called `abc`, you can ping them by `@abc_`. Now a ping only takes effect when there are spaces around it.
2019-01-13 22:21:04 +07:00
Ben 4f23d5d69e
Merge pull request #4490 from wwylele/teakra-new
audio: implement DSP LLE
2019-01-11 16:45:00 +07:00
Valentin Vanelslande 62b40e9155
Merge branch 'master' into profiles 2019-01-07 10:39:44 +07:00
Weiyi Wang 941d241e7d
Merge pull request #4537 from RicBent/master
Added Debug/GPIO14 Buttons
2019-01-07 10:07:31 +07:00
Valentin Vanelslande df02ea48d2 minor ui changes 2018-12-29 19:28:56 +07:00
Valentin Vanelslande 64b992487e fix regression 2018-12-29 16:23:33 +07:00
Valentin Vanelslande dce82fa005 move comment 2018-12-29 13:15:31 +07:00
Valentin Vanelslande 57f224fc50 fix clang-format 2018-12-29 09:31:03 +07:00
Valentin Vanelslande 3d00beb9d5 add a comment, rename old index 2018-12-29 09:19:45 +07:00
Valentin Vanelslande e7b1a1d5c8 fix clang-format 2018-12-29 09:04:43 +07:00
Valentin Vanelslande 60d1822206 if to clamp 2018-12-29 08:39:30 +07:00
Valentin Vanelslande 5a14af5f38 address some comments 2018-12-29 08:27:06 +07:00
Pengfei Zhu 5a4c7c32d8
Update src/citra_qt/configuration/config.cpp
Co-Authored-By: valentinvanelslande <valentinvanelslandeacnl@gmail.com>
2018-12-29 08:14:37 +07:00
Valentin Vanelslande 8e614c3eb0 clang-format; address one comment 2018-12-28 23:31:55 +07:00
Weiyi Wang fbd0944a5a
Merge pull request #4512 from FearlessTobi/port-1902
Port yuzu-emu/yuzu#1902: "audio_core: Make g_sink_details internally linked"
2018-12-28 22:55:08 +07:00
Valentin Vanelslande 860860397b more fixes 2018-12-28 21:26:50 +07:00
Valentin Vanelslande e420fb666f another fix 2018-12-28 21:15:18 +07:00
Valentin Vanelslande 6d0c50dfec more fixes 2018-12-28 21:14:44 +07:00
Valentin Vanelslande bf93b94658 fixes 2018-12-28 21:13:57 +07:00
Mat M 90965525ac
Apply suggestions from code review
Co-Authored-By: valentinvanelslande <valentinvanelslandeacnl@gmail.com>
2018-12-28 21:00:09 +07:00
Valentin Vanelslande 7c95032e3a Add multiple input profile support
Only supported in the Qt frontend.
2018-12-28 20:28:45 +07:00
RicBent 6ad609a539 Added GPIO14 button and UI config buttons 2018-12-28 17:13:37 +07:00
RicBent 7c007eac24 Fixed coding style 2018-12-28 15:13:16 +07:00
RicBent 403d2f0058 Added Debug Button 2018-12-28 12:47:50 +07:00
Weiyi Wang 3ede436053
Merge pull request #4489 from FearlessTobi/port-ui-stuff
Port QT interface changes from yuzu.
2018-12-21 20:52:14 +07:00
Weiyi Wang 443f4b964d DSP/LLE: add multithread mode 2018-12-21 20:49:24 +07:00
Weiyi Wang 05c372bf6c Update teakra to fix macos issue; address comment feedbacks 2018-12-21 20:49:23 +07:00
Weiyi Wang 21da135cc6 Configuration: add option to use DSP LLE 2018-12-21 20:49:22 +07:00
Pengfei Zhu eabc9727d8
Merge pull request #4468 from citra-emu/multiplayer-v4/main
Multiplayer version 4
2018-12-22 09:45:28 +07:00
zhupengfei 7a379ee03a
citra_qt/multiplayer: Add `View Profile` option
Adds an UI action to navigate to the user's profile located in Citra Community.
2018-12-18 22:07:42 +07:00
Weiyi Wang 29548bbe86
Merge pull request #4511 from FearlessTobi/port-1871
Port yuzu-emu/yuzu#1871: "yuzu/wait_tree: Pass QString by value and std::move in the initializer list for WaitTreeText"
2018-12-17 00:02:42 +07:00
zhupengfei 4df4b90795
citra_qt/multiplayer: Change style for pinged messages a bit
To allow it to be seen more clearly in dark themes
2018-12-16 23:08:47 +07:00
danman447 66a4f8a9d0 (QLabel)_is_already_in_use-Correct_Auto_Default 2018-12-16 11:16:05 +07:00
Lioncash 90082268dc audio_core: Make g_sink_details internally linked
We can hide the direct array from external view and instead provide
functions to retrieve the necessary info. This has the benefit of
completely hiding the makeup of the SinkDetails structure from the rest
of the code.

Given that this makes the array hidden, we can also make the array
constexpr by altering the members slightly. This gets rid of several
static constructor calls related to std::vector and std::function.

Now we don't have heap allocations here that need to occur before the
program can even enter main(). It also has the benefit of saving a
little bit of heap space, but this doesn't matter too much, since the
savings in that regard are pretty tiny.
2018-12-16 02:44:04 +07:00
Lioncash c2790a3f86 yuzu/wait_tree: Pass QString by value and std::move in the initializer list for WaitTreeText
Just a trivial modernization that potentially avoids copying strings in certain scenarios.
2018-12-16 01:18:06 +07:00
zhupengfei 9d062d63da
network, citra_qt: Give moderation permission to community mods
Based on the `roles` payload in the JWT, the rooms will now give mod permission to Citra Community Moderators. To notify the client of its permissions, a new response, IdJoinSuccessAsMod is added, and there's now a new RoomMember::State called Moderator.
2018-12-15 20:28:03 +07:00
zhupengfei 8b8b39ec0e
citra_qt/multiplayer: Add user ping support
The user would be notified if the message contains "@" followed by the user's nickname or forum username. An alert would be shown, and the icon and message in the status bar would be changed. All notification is only shown if the chat window currently does not have focus.

Also added a connected_notification icon for showing in the status bar.
2018-12-15 11:03:35 +07:00
zhupengfei deb398d190
citra_qt: Save ban list for room hosting 2018-12-15 11:03:33 +07:00
zhupengfei 15540df140
citra_qt/multiplayer/chat_room: Add moderation to context menu 2018-12-15 11:03:33 +07:00
zhupengfei 6359b6094c
citra_qt: Add a moderation dialog
The dialog currently supports accessing the ban list and removing entries from it.
2018-12-15 11:03:32 +07:00