Commit graph

6190 commits

Author SHA1 Message Date
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
Pengfei Zhu
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
Lioncash
432e847c24 core/memory: Remove unnecessary memory zeroing in MemorySystem::Impl
std::make_unique for arrays is equivalent to doing:

std::unique_ptr<T>(new typename std::remove_extent<T>::type[size]())

(note the ending () after the array size specifier). This means that the
default value within memory for the constructed types will be whatever
the default constructor for that type does. Given the built-in
type for std::uint8_t doesn't have a constructor, this is equivalent to
forcing zero-initialization, so the memory will already be zeroed out on
construction. Because of that, there's no need to zero it out again.
2018-12-27 00:35:53 -05:00
Lioncash
d2aac218a6 renderer_opengl: Correct forward declaration of FramebufferLayout
This is actually a struct, not a class, which can lead to compilation
warnings.
2018-12-27 02:48:05 +01: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 -05:00
Pengfei Zhu
eabc9727d8
Merge pull request #4468 from citra-emu/multiplayer-v4/main
Multiplayer version 4
2018-12-22 09:45:28 +08:00
Weiyi Wang
83e3e30d0e
Merge pull request #4496 from wwylele/smd-fix
gl_rasterizer_cache/MortonCopy: avoid read/write to invalid address
2018-12-19 19:46:10 -05:00
Weiyi Wang
5c75974909
Merge pull request #4500 from wwylele/sync-cache
Memory: sync rasterizer cache mark to fix LLE applet crash
2018-12-19 19:45:48 -05: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
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 -05: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
danman447
66a4f8a9d0 (QLabel)_is_already_in_use-Correct_Auto_Default 2018-12-16 11:16:05 +00:00
zhupengfei
4574bd1e5c
web_service: Change endpoint to /lobby.
Preparation for shipping.
2018-12-16 10:48:42 +08: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 +01: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
zhupengfei
6feeaed77e
citra: add errors callback and add status message types 2018-12-15 11:03:35 +08:00
zhupengfei
bd29f1facb
dedicated_room: load and save ban list
The ban list is stored in a format so-called CitraRoom-BanList-1 and just first stores username ban list, one entry per line, then an empty line and then store the ip ban list.
2018-12-15 11:03:34 +08:00
zhupengfei
deb398d190
citra_qt: Save ban list for room hosting 2018-12-15 11:03:33 +08:00
zhupengfei
15540df140
citra_qt/multiplayer/chat_room: Add moderation to context menu 2018-12-15 11:03:33 +08: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 +08:00
zhupengfei
7acd2664dd
network/room_member: Add moderation functions
To allow for passing moderation errors around without impacting the State, this commit also separates the previous State enum into two enums: State, and Error. The State enum now only contains generic states like disconnected or connected, and the Error enum describes the specific error happened.

citra_qt/multiplayer/{state, message} is changed accordingly.
2018-12-15 11:03:31 +08:00
zhupengfei
38f86cce94 network/room: Moderation implementation
Currently consist of 4 moderation commands (kick, ban, unban and get ban list).
2018-12-15 11:03:28 +08:00
zhupengfei
6c29d441f4
multiplayer: fix "Connected" message not appearing on first connection 2018-12-15 11:03:10 +08:00
zhupengfei
0823d8e009
citra: add status messages and fix missing errors 2018-12-15 11:03:09 +08:00
zhupengfei
0319e51960 multiplayer: Add status message for user joining/leaving
The room server is now able to send a new type of packet: IdStatusMessage which is parsed and displayed by the client.
2018-12-15 11:03:06 +08:00
zhupengfei
386bf5c861
citra_qt: Use the new verify backend; UI changes
Displayed username along with nickname (when they are not identical); Requested and displayed user's avatar; Made the dialog bigger for extended names.

Added a few functions to web_backend (GetImage, GetPlain) to support getting data in multiple content-types.

Added a no_avatar icon for users without avatars.
2018-12-15 11:02:54 +08:00
zhupengfei
4906c8ce7b
citra-room: Add verify backend and use new announce api 2018-12-15 11:02:53 +08:00
zhupengfei
e04f75e1bf
web_backend: added GetExternalJWT function
To support requesting external JWTs to use them as verification tokens.
2018-12-15 11:02:53 +08:00
zhupengfei
ab335ccf1b
core, web_service: Changes to announce service
Separated registering and updating to correspond to the new announce API endpoint. Also added a verify_UID for JWT audience verification.
2018-12-15 11:02:52 +08:00
zhupengfei
1a8841f96e
network, web_service: Add Verification backend and use new lobby API
Added verify_backend to load user_data for members. and removed method to generate UID as this is now done server-side.

Added GetUsername function and a "token" param to room_member.
Also added a username to ChatEntry, so that the username can be shown (along with nicknames) in the chat dialog.
2018-12-15 11:02:51 +08:00
adityaruplaha
5f0e189238
Add Support for Room Descriptions 2018-12-15 11:02:50 +08:00
zhupengfei
c396e3c6e5 network: check Console ID conflicts
As Console ID can be sensitive data sometimes, this implementation sent a SHA256 hash of it instead.
2018-12-15 11:02:47 +08:00
zhupengfei
3c589f473f
multiplayer: check nickname regex server side 2018-12-15 10:40:27 +08:00
James Rowe
e040bc9355
Multiplayer: Send an error message when connecting to a full room 2018-12-15 10:40:26 +08:00
zhupengfei
a9c9ffd32c
network: bump multiplayer version 2018-12-15 10:40:25 +08:00
Pengfei Zhu
d2003dae4a
Merge pull request #4498 from valentinvanelslande/patch-2
host_room: change minimum members to 2
2018-12-15 09:39:11 +08:00
Weiyi Wang
9293760d0a Core, test: perform kernel and memory destruction in the correct order
The change in test is temporary due to it accessing global state
2018-12-10 23:29:08 -05:00
Weiyi Wang
b49f2d2958 APT: enable LLE applet 2018-12-10 22:25:02 -05:00
Weiyi Wang
bf2056f12e Memory: apply rasterizer cache mark to all page tables and the global marker 2018-12-10 22:21:03 -05:00
Weiyi Wang
88161b8ac6 Memory: register page tables into a list for rasterizer cache marking 2018-12-10 22:13:10 -05:00
Weiyi Wang
9d616e5951 Memory: mark pages on mapping if it is already rasterizer-cached 2018-12-10 22:05:28 -05:00
Weiyi Wang
643b7d4dcb Memory: move memory setup into MemorySystem 2018-12-10 22:01:09 -05:00
Weiyi Wang
e7a3c296c3 Memory: create rasterizer cache marker 2018-12-10 21:43:39 -05:00
Valentin Vanelslande
599e60f80b
host_room: change minimum members to 2
the minimum for dedicated_room is 2.
2018-12-10 15:39:52 -05:00
Valentin Vanelslande
1ec7c951a8
dedicated_room: allow maximum members = 254
Without this change, it will not accept 254 but it will say that the maximum is 254.
2018-12-10 14:21:32 -05:00
Weiyi Wang
07d6d90bb3 gl_rasterizer_cache/MortonCopy: avoid read/write to invalid address 2018-12-09 13:20:44 -05:00