Commit Graph

8567 Commits

Author SHA1 Message Date
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 +01:00
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
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
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
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
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
6feeaed77e citra: add errors callback and add status message types 2018-12-15 11:03:35 +08:00
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
deb398d190 citra_qt: Save ban list for room hosting 2018-12-15 11:03:33 +08:00
15540df140 citra_qt/multiplayer/chat_room: Add moderation to context menu 2018-12-15 11:03:33 +08:00
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
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
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
6c29d441f4 multiplayer: fix "Connected" message not appearing on first connection 2018-12-15 11:03:10 +08:00
0823d8e009 citra: add status messages and fix missing errors 2018-12-15 11:03:09 +08:00
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
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
4906c8ce7b citra-room: Add verify backend and use new announce api 2018-12-15 11:02:53 +08:00
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
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
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
5f0e189238 Add Support for Room Descriptions 2018-12-15 11:02:50 +08:00
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
3c589f473f multiplayer: check nickname regex server side 2018-12-15 10:40:27 +08:00
e040bc9355 Multiplayer: Send an error message when connecting to a full room 2018-12-15 10:40:26 +08:00
a9c9ffd32c network: bump multiplayer version 2018-12-15 10:40:25 +08:00
d2003dae4a Merge pull request #4498 from valentinvanelslande/patch-2
host_room: change minimum members to 2
2018-12-15 09:39:11 +08:00
65d62b1b87 Merge pull request #4497 from valentinvanelslande/patch-1
dedicated_room: allow maximum members = 254
2018-12-12 19:45:00 +08:00
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
b49f2d2958 APT: enable LLE applet 2018-12-10 22:25:02 -05:00
bf2056f12e Memory: apply rasterizer cache mark to all page tables and the global marker 2018-12-10 22:21:03 -05:00
88161b8ac6 Memory: register page tables into a list for rasterizer cache marking 2018-12-10 22:13:10 -05:00
9d616e5951 Memory: mark pages on mapping if it is already rasterizer-cached 2018-12-10 22:05:28 -05:00
643b7d4dcb Memory: move memory setup into MemorySystem 2018-12-10 22:01:09 -05:00
e7a3c296c3 Memory: create rasterizer cache marker 2018-12-10 21:43:39 -05:00
599e60f80b host_room: change minimum members to 2
the minimum for dedicated_room is 2.
2018-12-10 15:39:52 -05:00
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
07d6d90bb3 gl_rasterizer_cache/MortonCopy: avoid read/write to invalid address 2018-12-09 13:20:44 -05:00
5a625fe945 yuzu/game_list_worker: Move std::string construction after the termintion check in callbacks
Avoids potentially allocating a std::string instance when it isn't
needed.
2018-12-09 15:51:19 +01:00
5840943110 yuzu/configuration: Make slots private where applicable
These slots are only ever attached to event handling mechanisms within
the class itself, they're never used externally. Because of this, we can
make the functions private.

This also removes redundant usages of the private access specifier.
2018-12-09 15:51:19 +01:00
d87961bad3 yuzu/configuration: Add missing override specifiers to configuration-related classes
Resolves trivial compiler warnings.
2018-12-09 15:51:19 +01:00
9c0c817e6f yuzu/configuration/configure_input: Default destructor in the cpp file
The previous code could potentially be a compilation issue waiting to
occur, given we forward declare the type for a std::unique_ptr. If the
complete definition of the forward declared type isn't visible in a
translation unit that the class is used in, then it would fail to
compile.

Defaulting the destructor in a cpp file ensures the std::unique_ptr's
destructor is only invoked where its complete type is known.
2018-12-09 15:51:08 +01:00
80f1076a07 Merge pull request #4494 from FearlessTobi/port-1874
Port yuzu-emu/yuzu#1874: "hle/service, hle/sm: Minor cleanup"
2018-12-08 22:08:30 -05:00
dd2cbca3f4 hle/service: Remove unnecessary using declarations
Only one usage of the specified objects made use of the lack of
namespacing. Given the low usage, we can just remove these.
2018-12-08 14:52:30 +01:00
a32725540c hle/service, hle/sm: Use structured bindings where applicable
Gets rid of the need to keep the variables separate from their actual
initialization spots.
2018-12-08 14:49:53 +01:00
0cb7654d60 hle/service, hle/sm: Use structured bindings where applicable
Gets rid of the need to keep the variables separate from their actual
initialization spots.
2018-12-08 14:48:01 +01:00
7aeb4e29c2 remove border from GameList 2018-12-07 16:33:05 +01:00
edbdbf0ba1 Merge pull request #4480 from wwylele/memory-global-2
Memory: eliminate global state
2018-12-06 19:17:28 -05:00
556ac5c075 Merge pull request #4469 from shutterbug2000/httpAddSet
Add HTTP_C::AddPostDataAscii
2018-12-06 14:28:56 -05:00
b9f7c9142a Merge pull request #4476 from FearlessTobi/fix-testcase-sending
web_service: move telemetry condition from TelemetrySession constructor to destructor
2018-12-06 14:28:21 -05:00