Commit Graph
100 Commits
Author SHA1 Message Date
Pengfei ZhuandGitHub a7b18efe49 Merge pull request #4945 from zhaobot/tx-update-20190921135538
Update translations (2019-09-21)
2019-10-04 08:32:09 +08:00
zhupengfei 977ccda30f CMakeLists: Fix find_package call
Fixes #4959

Previously options for video dumper and audio decoder is separated, but I forgot to split this `find_package` call so that the other libraries won't be necessary when only using the audio decoder.
2019-10-03 09:35:08 +08:00
Pengfei ZhuandGitHub 360e6cb513 Merge pull request #4900 from leoetlino/exheader-fix
ncch_container: Fix NCCH decryption heuristic when replacing exheader
2019-09-14 10:33:06 -05:00
Pengfei ZhuandGitHub 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
Pengfei ZhuandGitHub 4bc22aa350 Merge pull request #4918 from vitor-k/warnings
Silence warnings from unused code and mismatched declaration
2019-09-06 22:08:06 +08:00
Pengfei ZhuandGitHub 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 +08:00
Pengfei ZhuandGitHub 05a07f944b Merge pull request #4911 from vitor-k/master
Add a cancel option to analog stick configuration
2019-09-01 21:50:10 +08:00
zhupengfei 3d14abeb41 citra_qt/record_dialog: Switch to QFormLayout 2019-08-29 00:03:56 +08:00
Pengfei ZhuandGitHub 8fa6be5b15 Merge pull request #4898 from zhaowenlan1779/warning-room-member
network/room_member: Silence -Wswitch warning
2019-08-21 09:14:28 +08:00
zhupengfei ebc43239f0 core_timing: Silence sign comparison warnings
This is causing a lot of warnings all over the place.
2019-08-20 22:25:18 +08:00
zhupengfei 698b471074 network/room_member: Silence -Wswitch warning
This causes lots of warnings. Adding the Uninitialized case solves this
2019-08-20 22:23:32 +08:00
zhupengfei 531bf857f5 Remove old region free logic 2019-08-20 21:03:41 +08: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
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 +08: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 +08:00
zhupengfei 609bd71da3 Fix dependent options 2019-08-20 15:26:59 +08:00
zhupengfei ce3459192e fixup! CMake: separate options for FFmpeg decoder/dumper 2019-08-20 14:58:43 +08: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 +08: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 +08: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 +08:00
zhupengfei f40232adc9 service/sm: Add service name retrival based on client port ID
This is for displaying the service names. This function is only used in the frontend, because Recorder which is in the Kernel cannot and should not have access to SM in the System.
2019-08-20 03:07:30 +08:00
zhupengfei efd69e1315 kernel, service: Add HLE request/reply recording
Pretty much the same as LLE requests, the 'translate' part is chosen. A function is added to the context class to record requests that involves unimplemented HLE functions.
2019-08-20 03:07:29 +08:00
zhupengfei a27dfc269a kernel: Add LLE request/reply recording
The 'translate' function is a great place to put this in IMO as it is possible to get both untranslated and translated cmdbufs. However a kernel reference has to be passed here, but it is not too hard fortunately.
2019-08-20 03:07:29 +08:00
zhupengfei cb0bd6530c kernel/svc: Add request registering
All necessary objects are available here, making this a great place for the registering part.
2019-08-20 03:07:27 +08:00
zhupengfei b093d39a27 kernel: Add IPC Recorder to KernelSystem
Refer to the previous commit message for reasons why this is in kernel.
2019-08-20 03:07:26 +08:00
zhupengfei a3057c968b kernel: Add IPC Recorder class
This class resides in Kernel mainly because that, it's hard for kernel objects to get references to the System (and therefore to the Recorder), while much easier for KernelSystem. If this is to be moved to System the code will likely get much more complex with System (or Recorder) references passed everywhere.
2019-08-20 03:07:25 +08:00
zhupengfei 71e0c40310 service: Add service function name lookup based on header code
This is for displaying the function name for HLE requests. Probably it is possible to do the same for LLE ones but it would require having the HLE handlers available even when not using them, which doesn't seem to make sense and is more of a hack than a proper solution in my opinion.
2019-08-20 03:07:25 +08:00
Pengfei Zhu e008585195 Added a HACK to ignore errors
Cyclical dependencies will result in errors. Redirecting err to null
doesn't help. I removed the redirection so that errors and warnings
would show up (they might be useful for us).

As FFmpeg is added, even more cyclical dependencies are present now. I
do not want to figure out what to install first to fix such things, so I
just decided to ignore all of them with a `0` at the end.
2019-08-14 16:29:42 +08:00
Pengfei Zhu 9463e13f5a Unfreeze CMake version
The original purpose of freezing CMake is to use a **higher** version than supplied in order to fix a certain issue. Now that a very long time has passed and mingw's CMake has been updated, there's really no reason to still freeze it any more. What's more, trying to use a certain version is unreliable by pacman's design and will probably cause issues for using older versions of dependencies. The current (and previous) mingw errors may come from this...
2019-08-14 16:28:28 +08:00
zhupengfei 6e2d57e4ff travis: Update the frozen build to be a flagless Debug build
This is useful to test whether Citra will compile without any CMake flags, and in Debug type.
2019-08-14 09:27:06 +08: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
zhupengfei 526d53af99 citra: Add --dump-video argument 2019-08-14 09:27:05 +08:00
zhupengfei 399a660faa core/dumping: Add FFmpeg implementation
Sorry for the large diff, the implementation is quite long, and I can't really find a good way to split it into commits.
2019-08-14 09:27:04 +08:00
zhupengfei cf2c354fb9 CMake, CI: Add FFmpeg library dependency 2019-08-14 09:27:03 +08:00
Pengfei ZhuandGitHub edf3171a07 Merge pull request #4884 from citra-emu/wwylele-patch-1
Guard unistd.h with MacOS only macro
2019-08-14 07:40:54 +08:00
zhupengfei 0224ae13c4 video_core: Implement frame dumping
Two PBOs are used to speed up pixel copying process. To avoid getting the wrong speed/FPS, a new parameter is added to DrawScreens about whether to increase the frame count.
2019-08-13 19:28:04 +08:00
zhupengfei 778cc68114 renderer_base: Add prepare/cleanup function interface
This should be called by the video dumper backend to tell the video core to create necessary buffers/storage, etc.
2019-08-13 19:28:04 +08:00
zhupengfei fff570012f audio_core: Dump audio frames and samples
This is tested to work with all three current methods - HLE, LLE and multithread LLE.
2019-08-13 19:28:03 +08:00
zhupengfei f2880b08d1 core: Add VideoDumper to System 2019-08-13 19:28:02 +08:00
zhupengfei 3f64aaabbd core: Add video dumper interface
The VideoFrame is rotated while copying, to put the pixels in their correct positions (OpenGL seems to return the image in reverted order by default)
2019-08-13 19:28:02 +08:00
Pengfei ZhuandGitHub 45ff10c9a0 Merge pull request #4852 from rerpha/compiler_warnings_room_member
Added default case for GetErrorStr, removed useless const declaration in header
2019-07-25 08:41:03 +08:00
Pengfei ZhuandGitHub 077eacd419 Merge pull request #4849 from CookiePLMonster/qt-buttons-fix
Fixed behaviour of some buttons by connecting functors to correct signals
2019-07-23 07:41:46 +08:00
Pengfei ZhuandGitHub 643a396383 Merge pull request #4841 from citra-emu/wwylele-patch-1
citra_qt/configure_motion_touch: fix slot name
2019-07-15 12:04:25 +08:00
Pengfei ZhuandGitHub fb8adcc08c Merge pull request #4839 from wwylele/ipc-sign
ipc_helpers: silent signed comparison warning
2019-07-15 12:03:31 +08:00
Pengfei ZhuandGitHub c6705d6958 Merge pull request #4838 from wwylele/kernel-reorder
kernel: silence -Wreorder
2019-07-15 12:03:00 +08:00
Pengfei ZhuandGitHub 8ece20007a Merge pull request #4837 from wwylele/interpreter
interpreter: silent sign warnings
2019-07-15 12:02:24 +08:00
Pengfei ZhuandGitHub 1d6c6a37a1 Merge pull request #4836 from wwylele/chatroom-sign
citra_qt: silent sign comparison warning
2019-07-15 07:33:35 +08:00
Pengfei ZhuandGitHub f31dd06d91 Merge pull request #4835 from wwylele/profiler-par
citra_qt/profiler: add parenthesis to silent warning
2019-07-15 07:32:39 +08:00
Pengfei ZhuandGitHub b27a9e1710 Merge pull request #4834 from wwylele/cubeb-sign
audio_core/cubeb: silent signed/unsigned comparison warning
2019-07-15 07:31:47 +08:00
Pengfei ZhuandGitHub 4fb80cb079 Merge pull request #4833 from wwylele/network-state
network/room_member: in-header function should be inline
2019-07-15 07:29:49 +08:00
Pengfei ZhuandGitHub 6b916a22c2 Merge pull request #4831 from wwylele/multiplayer-Wreorder
citra_qt/multiplayer: silent Wreorder warnings
2019-07-15 07:26:04 +08:00
Pengfei ZhuandGitHub 2f7a10eeaa Merge pull request #4813 from leoetlino/larger-code
ncch_container: Add support for exheader replacement
2019-07-08 10:56:32 +08:00
Pengfei ZhuandGitHub 5299678880 Merge pull request #4807 from FearlessTobi/port-2550
Port yuzu-emu/yuzu#2550: "yuzu/CMakeLists: Pass compilation flags that make it more difficult to cause bugs in Qt code"
2019-07-06 23:54:08 +08:00
Pengfei ZhuandGitHub 46d552b4d7 Merge pull request #4822 from wwylele/mipmap-cub
gl_rasterizer: correct supress_mipmap_for_cube logic
2019-07-06 22:56:36 +08:00
Pengfei ZhuandGitHub 41f1963b9a Merge pull request #4805 from FearlessTobi/port-2454
Port yuzu-emu/yuzu#2454 and yuzu-emu/yuzu#2460: Add build flags
2019-06-25 22:12:02 +08:00
Pengfei ZhuandGitHub dad423fb68 Merge pull request #4801 from wwylele/gsp-state
GSP_GPU: move used_thread_ids into the class
2019-06-25 22:11:40 +08:00
Pengfei ZhuandGitHub 73bf92fb3a Merge pull request #4792 from FearlessTobi/port-2515
Port yuzu-emu/yuzu#2515: "yuzu/configuration/configure_graphics: Eliminate type narrowing in a connect call"
2019-06-10 22:03:32 +08:00
Pengfei ZhuandGitHub e26d9f5ef1 Merge pull request #4793 from FearlessTobi/port-2526
Port yuzu-emu/yuzu#2526: "core/telemetry_session: Remove usages of the global system accessor"
2019-06-10 21:57:00 +08:00
Pengfei ZhuandGitHub 49f6f11462 Merge pull request #4786 from FearlessTobi/port-minor
Port yuzu-emu/yuzu#2528 and yuzu-emu/yuzu#2530: Minor changes
2019-06-05 22:38:28 +08:00
Pengfei ZhuandGitHub af197c18e4 Merge pull request #4768 from FearlessTobi/stuff-undso
Port multiple minor yuzu PRs
2019-05-11 21:38:00 +08:00
Pengfei ZhuandGitHub ad34f86f3b Merge pull request #4762 from zhaobot/tx-update-20190430142734
Update translations (2019-04-30)
2019-05-02 08:56:13 +08:00
Pengfei ZhuandGitHub e0a0bca13a Merge pull request #4749 from zhaowenlan1779/webfix
web_service: Misc fixes
2019-05-01 17:00:17 +08:00
Pengfei ZhuandGitHub 37861526ff Merge pull request #4733 from zhaowenlan1779/ps
service/ps: Implement PS:EncryptDecryptAes
2019-04-29 21:39:53 +08:00
Pengfei ZhuandGitHub 536e4de499 Merge pull request #4700 from zhaowenlan1779/swkbd-2
applets/swkbd: Add callback support
2019-04-20 22:18:15 +08: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 +08: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 +08: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 +08: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 +08:00
zhupengfei 81988d96fe core/telemetry_session: Only create the backend when we really need it
The backend is not used until we decide to submit the testcase/telemetry, and creating it early prevents users from updating the credentials properly while the games are running.
2019-04-20 12:49:14 +08:00
zhupengfei 0f65dac964 service/ps: Address review 2019-04-16 22:17:07 +08:00
zhupengfei b34847d59e service/ps: Implement PS:EncryptDecryptAES 2019-04-15 22:56:55 +08:00
zhupengfei d7fbc1ca2c common/string_util: Move TextFromBuffer to string_util 2019-04-08 22:34:21 +08:00
zhupengfei 25be09c7a3 applets/swkbd: Address comments 2019-04-08 21:45:32 +08:00
zhupengfei 8078256a88 applets/swkbd: Add callback support 2019-04-08 21:45:29 +08:00
Pengfei ZhuandGitHub 3ea30fe2b3 Merge pull request #4610 from zhaowenlan1779/cheats-ui
Implement UI for adding/editing/deleting cheats
2019-03-05 22:07:40 +08:00
Pengfei ZhuandGitHub f6d0e43c77 Merge pull request #4654 from tgsm/video-nested
video_core: use nested namespaces
2019-02-19 21:44:38 +08:00
Pengfei ZhuandGitHub 820e3893de Merge pull request #4652 from tgsm/audio-nested
audio_core: use nested namespaces
2019-02-19 21:39:35 +08:00
Pengfei ZhuandGitHub 1d3cef319a Merge pull request #4653 from tgsm/core-nested
core: use nested namespaces
2019-02-19 21:38:59 +08:00
zhupengfei 1995e8ff32 service/soc_u: address review comments 2019-02-10 18:49:18 +08:00
zhupengfei 08bf899d70 service/soc_u: Implement getaddrinfo and getnameinfo 2019-02-09 20:12:09 +08: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 +08:00
zhupengfei 573036b38e core/cheats: Add and change a few functions
Added a few interfaces for adding/deleting/replacing/saving cheats. The cheats list is guarded by a std::shared_mutex, and would only need a exclusive lock when it's being updated.

I marked the `Execute` function as `const` to avoid accidentally changing the internal state of the cheat on execution, so that execution can be considered a "read" operation which only needs a shared lock.

Whether a cheat is enabled or not is now saved by a special comment line `*citra_enabled`.
2019-02-02 08:15:23 +08:00
Pengfei ZhuandGitHub a17a31a934 Merge pull request #4594 from lioncash/comma
vfp_helper: Remove odd use of the comma operator in vfp_single_unpack()
2019-01-23 21:36:07 +08:00
Pengfei ZhuandGitHub e3fb0efac3 Merge pull request #4591 from FearlessTobi/port-2032
Port yuzu-emu/yuzu#2032: "yuzu/configuration/configure_web: Amend verification string"
2019-01-22 21:54:40 +08:00
zhupengfei 2d65371c20 citra_qt/multiplayer: Update themed icon on theme change 2019-01-16 22:01:21 +08: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 +08:00
Pengfei ZhuandGitHub f80f08b527 Merge pull request #4546 from FearlessTobi/port-1965
Port yuzu-emu/yuzu#1965: "externals: Update fmt to 5.3.0"
2019-01-02 17:53:18 +08:00
Pengfei ZhuandGitHub 0a3d9dd576 Merge pull request #4543 from wwylele/no-jwt
network: remove cpp-jwt library dependency
2019-01-01 13:32:27 +08:00
5a4c7c32d8 Update src/citra_qt/configuration/config.cpp
Co-Authored-By: valentinvanelslande <valentinvanelslandeacnl@gmail.com>
2018-12-29 08:14:37 -05:00
Pengfei ZhuandGitHub 3989c17cb0 Merge pull request #4531 from lioncash/mem
core/memory: Remove unnecessary memory zeroing in MemorySystem::Impl
2018-12-27 22:29:20 +08:00
Pengfei ZhuandGitHub 3bbd7fd39c Merge pull request #4530 from FearlessTobi/port-1946
Port yuzu-emu/yuzu#1946: "renderer_opengl: Correct forward declaration of FramebufferLayout"
2018-12-27 22:25:56 +08:00
Pengfei ZhuandGitHub eabc9727d8 Merge pull request #4468 from citra-emu/multiplayer-v4/main
Multiplayer version 4
2018-12-22 09:45:28 +08:00
Pengfei ZhuandGitHub 68a223b6e1 Merge pull request #4516 from zhaowenlan1779/multiplayer-v4/patch-1
multiplayer: minor UI fixes
2018-12-18 22:22:49 +08: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 +08: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 +08:00
zhupengfei 4574bd1e5c web_service: Change endpoint to /lobby.
Preparation for shipping.
2018-12-16 10:48:42 +08:00
zhupengfei 13ec2abbf6 network: Make citra mods optional and disabled by default
To avoid extra legal responsibility, this should actually only be used on our self-hosted rooms.
2018-12-15 22:47:07 +08: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 +08:00
zhupengfei 94be4050bc network/packet: Fix reading vectors/arrays of strings
Previously would break here, as it is trying to initialize a string with 0, which is then considered NULL.
2018-12-15 14:37:23 +08: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 +08:00