1
0
Fork 0
Commit Graph

6955 Commits

Author SHA1 Message Date
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
fearlessTobi 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
Lioncash 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
Lioncash d87961bad3 yuzu/configuration: Add missing override specifiers to configuration-related classes
Resolves trivial compiler warnings.
2018-12-09 15:51:19 +01:00
Lioncash 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
Lioncash 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
Lioncash 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
Lioncash 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
Bartosz Kaszubowski 7aeb4e29c2 remove border from GameList 2018-12-07 16:33:05 +01:00
bunnei edbdbf0ba1
Merge pull request #4480 from wwylele/memory-global-2
Memory: eliminate global state
2018-12-06 19:17:28 -05:00
Weiyi Wang 556ac5c075
Merge pull request #4469 from shutterbug2000/httpAddSet
Add HTTP_C::AddPostDataAscii
2018-12-06 14:28:56 -05:00
Weiyi Wang 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
Weiyi Wang 23bad5d398 fix clang-format 2018-12-06 13:30:58 -05:00
Weiyi Wang 7e8ba6ed8e Memory: move memory chunk into pImpl and make them dynamically allocated
Otherwise MSVC would give out-of-memory error on compile time
2018-12-06 13:30:47 -05:00
Weiyi Wang ac1cda21c3 Address code style comments 2018-12-05 20:24:37 -05:00
Weiyi Wang e87dc17da2 Pass system into arm interpreter; fix tests 2018-12-05 20:21:14 -05:00
Weiyi Wang c6b3186475 Memory: IsValidVirtualAddress can be global 2018-12-05 20:21:14 -05:00
Weiyi Wang 42edab01d9 Memory: move states into class 2018-12-05 20:21:14 -05:00
Weiyi Wang d18cda5a5d Memory: move MarkRegionCached into class 2018-12-05 20:21:14 -05:00
Weiyi Wang 2582d64fb3 Memory: move block operations into class 2018-12-05 20:21:14 -05:00
Weiyi Wang 323990d402 Memory: move Read/Write8/16/32/64 and ReadCString into class 2018-12-05 20:21:14 -05:00
Weiyi Wang 1ec9ed6827 LDR_RO: pass memory in CROHelper 2018-12-05 20:21:14 -05:00
Weiyi Wang 76e0a4ece7 Memory: move GetPointer into class 2018-12-05 20:21:14 -05:00
Weiyi Wang 405218c3a7 Memory: move IsValidVirtualAddress into class 2018-12-05 20:21:14 -05:00
Weiyi Wang 296c458e0e Memory: move GetPhysicalPointer and IsValidPhysicalAddress into class 2018-12-05 20:21:14 -05:00
Weiyi Wang cfee59c6db hw/gpu: pass in memory reference 2018-12-05 20:16:42 -05:00
Weiyi Wang ec01975549 audio_core: pass in memory reference
Because HLE::Source is initialized as an array in the member initializer, it is hard to let it accept the reference on ctor, so it has a second init stage performed by DspHle::Impl::Impl
2018-12-05 20:16:42 -05:00
Weiyi Wang 8bb404c82a VideoCore: pass in memory system
currently set as global. Will change when videocore itself is wrapped as a class
2018-12-05 20:16:42 -05:00
Weiyi Wang 8c618c3fc3 Memory: move PageTable functions into class 2018-12-05 20:16:42 -05:00
Weiyi Wang b199b7ada9 Memory: move GetFCRAMOffset into MemorySystem 2018-12-05 20:16:42 -05:00
Weiyi Wang 8118be6615 Kernel: pass in MemorySystem 2018-12-05 20:16:42 -05:00
Weiyi Wang 6992f76acf Memory: create MemorySystem class 2018-12-05 20:16:42 -05:00
Francois Berder c598fd7228 renderer_opengl: Fix string comparison
Signed-off-by: Francois Berder <fberder@outlook.fr>
2018-12-04 22:12:35 +00:00
Pengfei Zhu cd80a0df8c
Merge pull request #4418 from FearlessTobi/port-1441
Port yuzu-emu/yuzu#1441: "logging: Add DebuggerBackend for logging to Visual Studio"
2018-12-04 22:20:41 +08:00
RoadrunnerWMC 008ef1fd71 DSP: Add a comment about physical address masking
See @wwylele's comment on PR 4483 for more details on what causes this behavior.
2018-12-03 12:22:11 -07:00
RoadrunnerWMC 3aff585f32 DSP: Add address mask for physical pointers to audio data buffers
Hardware testing indicated that FFFFFFFC is the correct mask for all audio formats (mono and stereo PCM8, mono and stereo PCM16, and ADPCM). This fixes broken audio in Luigi's Mansion: Dark Moon and a few other games.
2018-12-03 01:07:55 -07:00
Weiyi Wang 76944ec0e0
Merge pull request #4279 from FearlessTobi/better-mii-stub
applets: stub mii selector to always return a standard mii
2018-12-01 19:41:21 -05:00
Carl Kenner 3d083859c1 logging: Add DebuggerBackend for logging to Visual Studio 2018-12-01 12:54:17 +01:00
fearlessTobi 630e3d6dea web_service: move telemetry condition from TelemetrySession constructor to destructor
Fixes an issue where Testcases couldn't be sent when Telemetry was disabled, because both things are tied closely together in the backend.
2018-11-30 19:01:05 +01:00
zhupengfei 1970178cc0
citra_qt: rename the menu to Tools
Also made Movie a sub-menu of Tools.
2018-11-30 14:14:41 +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
Weiyi Wang 7e90abec78
Merge pull request #4442 from wwylele/memory-no-kernel
Memory: decouple from Kernel
2018-11-28 11:24:41 -05:00
Weiyi Wang b37d3be34e
Merge pull request #4458 from FearlessTobi/port-1773
Port yuzu-emu/yuzu#1773: "common/thread: Minor cleanup"
2018-11-28 11:07:48 -05:00
fearlessTobi 48239be22c mii_selector: Use BitField where possible 2018-11-27 14:57:51 +01:00
Weiyi Wang 2678c1a945
Merge pull request #4462 from FearlessTobi/fix-my-shit
ir_user: Remove ArrayToString() calls
2018-11-26 14:43:07 -05:00
fearlessTobi 5121fadb4f ir:/movie: Replace for-loops with fmt::join 2018-11-26 20:04:18 +01:00
shutterbug2000 a7bbe60c18 Put AddPostDataAscii in the function list 2018-11-25 15:47:37 -06:00
shutterbug2000 4c198591d5 Add HTTP_C::AddPostDataAscii 2018-11-25 15:29:04 -06:00
Lioncash 067f09b41d
kernel/shared_memory: std::move the string parameter in SetName()
This avoids a potential reallocation.
2018-11-24 10:07:11 -05:00
fearlessTobi fe99e5a51e mii_selector: map raw data to the MiiResult struct 2018-11-24 14:35:06 +01:00
Weiyi Wang 210e558bea
Merge pull request #4456 from FearlessTobi/port-1767
Port yuzu-emu/yuzu#1734 and yuzu-emu/yuzu#1767: Minor changes to "kernel"
2018-11-24 00:04:42 -05:00
bunnei 9bd7379cc6
Merge pull request #4454 from FearlessTobi/port-1758
Port yuzu-emu/yuzu#1758: "common/math_util: Minor cleanup"
2018-11-23 23:15:40 -05:00
bunnei dc16ba009e
Merge pull request #4444 from FearlessTobi/port-1684
Port yuzu-emu/yuzu#1684: "common/string_util: Minor cleanup"
2018-11-23 23:13:39 -05:00
Lioncash 00564bdb6f common/thread: Drop Hungarian notation on SetCurrentThreadName's parameter
This is inconsistent with our coding style.
2018-11-23 18:23:06 +01:00
Lioncash 255d46e6ee common/thread: Make Barrier's 'count' member non-const
While admirable as a means to ensure immutability, this has the
unfortunate downside of making the class non-movable. std::move cannot
actually perform a move operation if the provided operand has const data
members (std::move acts as an operation to "slide" resources out of an
object instance). Given Barrier contains move-only types such as
std::mutex, this can lead to confusing error messages if an object ever
contained a Barrier instance and said object was attempted to be moved.
2018-11-23 18:22:30 +01:00
Lioncash 4f0ec03c97 common/thread: Initialize class member variables where applicable
Simplifies the constructor interfaces for Barrier and Event classes.
2018-11-23 18:22:14 +01:00
Lioncash 9cbcc70c9b common/thread: Group non-member functions together
Keeps the non-member interface in one spot instead of split into two
places, making it nicer to locate functions.
2018-11-23 18:22:05 +01:00
Lioncash a7a319cfd1 common/thread: Remove SleepCurrentThread()
This is also unused and superceded by standard functionality. The
standard library provides std::this_thread::sleep_for(), which provides
a much more flexible interface, as different time units can be used with
it.
2018-11-23 18:21:59 +01:00
Lioncash 61eafcee98 common/thread: Remove unused CurrentThreadId()
This is an old function that's no longer necessary. C++11 introduced
proper threading support to the language and a thread ID can be
retrieved via std::this_thread::get_id() if it's ever needed.
2018-11-23 18:21:45 +01:00
Lioncash 86c36cb176 kernel/shared_memory: Make Map() and Unmap() take the target process by reference rather than as a pointer
Both member functions assume the passed in target process will not be
null. Instead of making this assumption implicit, we can change the
functions to be references and enforce this at the type-system level.
2018-11-23 17:00:12 +01:00
Lioncash 0f544af89a kernel/shared_memory: Add a const qualified member function overload for GetPointer()
Given this doesn't mutate instance state, we can provide a
const-qualified variant as well.
2018-11-23 16:38:18 +01:00
Lioncash 1cb9bea504 kernel/shared_memory: Make data members private
Rather than allow unfettered access to the class internals, we hide all
members by default and create and API that other code can operate
against.
2018-11-23 16:20:18 +01:00
Lioncash 662c3ff684 kernel/handle_table: Move private static functions into the cpp file
These don't depend on class state, and are effectively implementation
details, so they can go into the cpp file .
2018-11-23 15:58:12 +01:00
Lioncash 83f6e9ea72 kernel/handle_table: Default destructor in the cpp file
We don't need to potentially inline the teardown logic of all of the
handle instances.
2018-11-23 15:58:07 +01:00
Lioncash d37c826097 common/math_util: Simplify std::make_signed usages to std::make_signed_t
Gets rid of the need to use typename to access the ::type alias.
2018-11-23 15:01:05 +01:00
Lioncash 8d169a4bfa common/math_util: Make Rectangle's constructors constexpr
Allows objects that contain rectangle instances to be constexpr
constructible as well.
2018-11-23 15:00:59 +01:00
Lioncash bf8f7f0ab6 common/math_util: Remove unnecessary static from PI
const/constexpr variables have internal linkage by default.
2018-11-23 15:00:52 +01:00
Lioncash 2787d1230b common/math_util: Remove unused IntervalsIntersect() function
This hasn't been used since the project started, so we may as well get
rid of it to keep it from bit rotting.
2018-11-23 15:00:47 +01:00
BreadFish64 f4472a10e6 core: undef PAGE_SIZE and PAGE_MASK
these are defined a system header which causes complications when building for android
2018-11-20 14:24:19 -05:00
BreadFish64 6609ff83a7 android: set up cmake 2018-11-20 14:24:19 -05:00
fearlessTobi fc51a6fd08 Fix functions which used Common::ArrayToString 2018-11-20 15:05:54 +01:00
Weiyi Wang a854b23d9b RPC: add missing include 2018-11-19 11:16:55 -05:00
Weiyi Wang 679dfd7cdf Memory: remove CopyBlock with current process 2018-11-19 11:16:55 -05:00
Weiyi Wang 185a83f06d Memory: remove ZeroBlock with current process 2018-11-19 11:16:55 -05:00
Weiyi Wang 4e99641a3b Memory: remove WriteBlock with current process 2018-11-19 11:16:55 -05:00
Weiyi Wang 8871f5a4ac Memory: remove ReadBlock with current process 2018-11-19 11:16:55 -05:00
Weiyi Wang 524364d95a ldr_ro: pass process reference to memory operation
Note that not all memory operation is fixed. Specifically, u8/u16/u32 Read/Write is still using the current page tabel
2018-11-19 11:16:55 -05:00
Weiyi Wang d4ba87d90a Memory: remove GetMMIOHandler with current process 2018-11-19 11:16:55 -05:00
Weiyi Wang 7308b8d294 Memory: remove IsValidVirtualAddress with current process 2018-11-19 11:16:55 -05:00
Weiyi Wang 36cf104a02 Memory: replace GetPointerFromVMA with GetPointerForRasterizerCache
All usage of GetPointerFromVMA is to recover the pointer that is nulled by changing page type to RasterizerCachedMemory. Our rasterizer cache only works on linear heap and vram, so we can recover the pointer directly by address computation, instead of going through VMA table. Also removed a sanity check pointer!=nullptr in RasterizerMarkRegionCached(RasterizerCachedMemory=>Memory), as now the pointer is never null. The sanity check was added in f2a5a77 (#2797), which was originally necessary during VMA unmapping process, because the function is invloked by VMA after unmapping the page, which in turn invokes back to query the memory, forming a circular dependency. Now the dependency is resolved so the check is not necessary
2018-11-19 11:16:55 -05:00
Weiyi Wang 2b768da531
Merge pull request #4433 from wwylele/vmmanager-simple
VMManager: remove shared_ptr<vector> backing type
2018-11-19 11:13:22 -05:00
Weiyi Wang a7d6bc4e84
Merge pull request #4441 from FearlessTobi/port-1688
Port yuzu-emu/yuzu#1688: "service: Mark MakeFunctionString with the [[maybe_unused]] attribute."
2018-11-19 11:10:51 -05:00
Weiyi Wang 803f783f07
Merge pull request #4427 from wwylele/query-memory-merge
SVC: QueryMemory merges similar VMA
2018-11-19 11:10:15 -05:00
Weiyi Wang 471b4cf44f
Merge pull request #4436 from wwylele/p2ptr-boundary
Memory: GetPhysicalPointer should accept right open bound address
2018-11-19 11:05:42 -05:00
Weiyi Wang 0d96c0b44e
Merge pull request #4439 from FearlessTobi/actually-port-1649
Port yuzu-emu/yuzu#1649 and yuzu-emu/yuzu#1653: Changes to gl_resource_manager and gl_rasterizer
2018-11-19 11:05:10 -05:00
Weiyi Wang 1bc253f1be
Merge pull request #4353 from zaksabeast/ips-patches
Add IPS patching
2018-11-18 13:39:41 -05:00
Sebastian Valle b1fa9c0a7c
Merge pull request #4434 from wwylele/shared-memory-state
Kernel/SharedMemory: set and reset source memory state
2018-11-18 12:23:21 -05:00
B3N30 2f3142e192 Fix 16bit comparison operations 2018-11-18 14:37:11 +01:00
Lioncash 39fcc3a589 service: Mark MakeFunctionString with the [[maybe_unused]] attribute.
When yuzu is compiled in release mode this function is unused, however,
when compiled in debug mode, it's used within a LOG_TRACE statement.
This prevents erroneous compilation warnings about an unused function
(that isn't actually totally unused).
2018-11-17 16:41:10 +01:00
Markus Wick 62036bdea8 gl_rasterizer_cache: Add profiles for Copy and Blit
They were missed, and Copy is very high in profile here. It doesn't block the GPU,
but it stalls the driver thread. So with our bad GL instructions, this might block quite a while.
2018-11-17 15:11:56 +01:00
Markus Wick 2b793797e0 gl_resource_manager: Profile creation and deletion 2018-11-17 15:07:30 +01:00
Markus Wick 79696a1a43 gl_stream_buffer: Profile orphaning of stream buffer.
This serialize to the driver thread and so it may block for a while.
So if it is in the benchmark, we get noticed if it happens too often.
2018-11-17 15:03:20 +01:00
Markus Wick 392547a97c gl_resource_manager: Split implementations in .cpp file
Those implementations are quite costly, so there is no need to inline them to the caller.
Ressource deletion is often a performance bug, so in this way, we support to add breakpoints to them.
2018-11-17 15:01:40 +01:00
bunnei d3b1b5f22c
Merge pull request #4398 from zhaowenlan1779/config-fix
citra_qt/configuration: fix language configuration issues
2018-11-16 23:33:50 -08:00
bunnei 11baf7ac13
Merge pull request #4419 from FearlessTobi/port-1639
Port yuzu-emu/yuzu#1639: "qt: Add help option to open yuzu folder"
2018-11-16 23:29:59 -08:00
Tobias 46e8237e7e Port yuzu-emu/yuzu#1137: "renderer_opengl: Namespace OpenGL code" (#4423)
* renderer_opengl: Namespace OpenGL code

Namespaces all OpenGL code under the OpenGL namespace.

Prevents polluting the global namespace and allows clear distinction
between other renderers' code in the future.

* Also namespace TextureCubeConfig
2018-11-16 23:29:10 -08:00
bunnei 7f727177bf
Merge pull request #4431 from wwylele/no-v2p
Memory: remove VirtualToPhysicalAddress
2018-11-16 23:28:33 -08:00
Weiyi Wang 4d1c4f898b
Merge pull request #4324 from BreadFish64/android1
android: add initial android app
2018-11-16 21:40:57 -05:00
Ben b90ff739a0 Add CheatEngine and support for Gateway cheats (#4406)
* Add CheatEngine; Add support for Gateway cheats; Add Cheat UI

* fix a potential crash on some systems

* fix substr with negative length

* Add Joker to the NonOp comp handling

* Fixup JokerOp

* minor fixup in patchop; add todo for nested loops

* Add comment for PadState member variable in HID

* fix: stol to stoul in parsing cheat file

* fix misplaced parsing of values; fix patchop code

* add missing break

* Make read_func and write_func a template parameter
2018-11-16 18:01:10 -07:00
Weiyi Wang 95bbe2302b Kernel/IPC: fix mapped buffer target address 2018-11-16 19:47:16 -05:00
Weiyi Wang 365eeb889f Memory: GetPhysicalPointer should accept right open bound address
Also removed IO region check in GetPhysicalPointer as it doesn't make sense to get a pointer to MMIO
2018-11-16 10:27:30 -05:00
Lioncash 41376cfa26 string_util: Remove ArrayToString()
An old function from Dolphin. This is also unused, and pretty inflexible
when it comes to printing out different data types (for example, one
might not want to print out an array of u8s but a different type
instead. Given we use fmt, there's no need to keep this implementation
of the function around.
2018-11-16 15:29:40 +01:00
Lioncash cab8dc3824 string_util: Remove TryParse()
This is an unused hold-over from Dolphin that was primarily used to
parse values out of the .ini files. Given we already have libraries that
do this for us, we don't need to keep this around.
2018-11-16 15:27:35 +01:00
Lioncash 3d0339659a string_util: Remove ThousandSeparate()
This is currently unused and doesn't really provide much value to keep
around either.
2018-11-16 15:27:29 +01:00
Zach Hilman 3a1fe87f6c qt: Move Open yuzu Folder action from Help to File 2018-11-16 15:24:42 +01:00
Weiyi Wang d90094e8a7 Service: release shared memory object when finalize
Since last commit SharedMemory only reset source memory set on dtor, service should always release the ref as soon as possible to make the reset happen
2018-11-16 00:24:13 -05:00
Weiyi Wang cfa9a322c7 Kernel/SharedMemory: set and reset source memory state 2018-11-16 00:24:08 -05:00
Weiyi Wang b6ab4e466b VMManager: remove all backing block related functions
The shared_ptr<vector> type backing memory is unused now, and is not expected to be used in the future
2018-11-16 00:16:13 -05:00
Weiyi Wang 7f9873d7ec VMManager: change MapMemoryBlockToBase to use raw backing memory
And let ServerSession.MappedBufferContext hold the mapped memory
2018-11-16 00:16:13 -05:00
Weiyi Wang 0b8d2ecabe IPC: store mapped buffer info in session context
So that it doesn't have to scan over the request buffer again on reply. This also allow us to store additional info like memory mapping
2018-11-16 00:16:13 -05:00
Weiyi Wang 7a564b904b tests: use VMManager::MapBackingMemory 2018-11-16 00:16:13 -05:00
Weiyi Wang 560df843b1
Merge pull request #4405 from wwylele/svc-global
SVC: new wrapper template & pass system reference across the SVC barrier
2018-11-16 00:07:50 -05:00
Weiyi Wang a51d7430d7
Merge pull request #4408 from wwylele/ro-map
ldr_ro: properly map CRS/CRO buffer
2018-11-16 00:07:33 -05:00
Weiyi Wang ecc1c575d5
Merge pull request #4426 from wwylele/signed-bitfield
Common/Bitfield: store value as unsigned type
2018-11-16 00:07:16 -05:00
Zak Kurka 1ded48f5a3 Merge branch 'master' of github.com:citra-emu/citra into ips-patches 2018-11-15 07:11:18 -06:00
Zak Kurka 896577044d Remove ApplyIPS from the class and header 2018-11-15 07:11:06 -06:00
BreadFish64 18771f1b61 add test dependencies 2018-11-13 19:54:33 -06:00
BreadFish64 65f033f856 android: create bare application 2018-11-13 19:54:33 -06:00
BreadFish64 8838485b1a android: add build files 2018-11-13 19:54:32 -06:00
BreadFish64 6b4c40ffd5 android: add basic resources 2018-11-13 19:50:43 -06:00
Weiyi Wang 9e8d149ca7 Memory: remove unused VirtualToPhysical 2018-11-13 11:56:05 -05:00
Weiyi Wang 1388a44c41 GSP: uses a dedicate VirtualToPhysical converter 2018-11-13 11:24:46 -05:00
Weiyi Wang 12daaeedf1 Memory: Use the fixed PAddr directly in RasterizerFlushVirtualRegion 2018-11-13 11:24:46 -05:00
Weiyi Wang 248106d972 Skyeye: unstub cp15 virtual to physical address 2018-11-13 11:24:46 -05:00
Weiyi Wang b1f55c9cab
Merge pull request #4429 from wwylele/io-size
Memory: IO area is at most 4MB
2018-11-13 11:09:14 -05:00
Tobias 34e1250ccc
citra_qt: Add Amiibo hotkeys, notify user of loading errors (#4387) 2018-11-13 14:58:05 +01:00
Weiyi Wang fe47243690
Merge pull request #4413 from wwylele/memory-global
Fix shared font addres; Remove global PhysicalToVirtualAddress
2018-11-13 00:14:24 -05:00
Weiyi Wang 194118011a Memory: IO area is at most 4MB 2018-11-12 15:12:12 -05:00
Weiyi Wang c57ee36222 SVC: hide details in pimpl 2018-11-12 13:59:34 -05:00
Weiyi Wang aec8b1e375 SVC: use context and generic templates 2018-11-12 13:59:34 -05:00
Weiyi Wang 28513c5177 ResultCode: use default copy assignment
Our definition of the copy assignment is equivalent to the default one, but prevents the type being trivially copyable
2018-11-12 13:59:34 -05:00
Weiyi Wang d373a6430d SVC: move function_wrappers.h into kernel
It is only used by kernel/SVC
2018-11-12 13:59:34 -05:00
Weiyi Wang 29ade3e610 Process: check source/target overlap for Map/Unmap 2018-11-11 12:39:05 -05:00
Weiyi Wang 3db8915356 ldr_ro: properly map CRS/CRO buffer 2018-11-11 12:39:05 -05:00
Weiyi Wang 617b388354 Kernel/Process: implement prvileged Map/Unmap
This is used by svcControlProcessMemory and maps memory as Locked/AliasCode pair.

Also fixed a bug where map didn't apply specified permissions to the alias memory
2018-11-11 12:39:05 -05:00
Ben f43524fff1
Merge pull request #4415 from wwylele/tls-state
Kernel: correct MemoryState for TLS
2018-11-11 17:53:18 +01:00
Weiyi Wang 3d73b8d694 Common/Bitfield: store value as unsigned type
Storing signed type causes the following behaviour: extractValue can do overflow/negative left shift. Now it only relies on two implementation-defined behaviours (which are almost always defined as we want): unsigned->signed conversion and signed right shift
2018-11-10 23:42:39 -05:00
Weiyi Wang 5179915fb4 filesys/ncch: prevent buffer overflow on calculating SHA256 2018-11-10 22:58:32 -05:00
Zach Hilman 31c394e9b5 qt: Add help option to open yuzu folder 2018-11-09 17:00:14 +01:00
Weiyi Wang d0edb81182 Memory: convert PAddr for N3DS FCRAM extension 2018-11-09 10:40:04 -05:00
Weiyi Wang 98ddea4ddd Kernel: correct MemoryState for TLS 2018-11-09 00:14:13 -05:00
Weiyi Wang 5325388e24 SVC: QueryMemory merges similar VMA 2018-11-08 20:42:21 -05:00
Weiyi Wang 2654a679b3 Memory: replace PhysicalToVirtualAddress with a more dedicated function
There is no external use of PhysicalToVirtualAddress any more, so it there is no need to have a generic function that handles all physical regions. Also, the previous APT change makes it possible that linear heap has some regions mapped to old and new VAddr regions at the same time, so we need to check both region and mark cached for the mapped one. RasterizerMarkRegionCached would skip the unmapped one in its loop
2018-11-08 00:19:57 -05:00
Weiyi Wang 8c65433ab5 Kernel, APT: SharedFont/SharedMemoryOnSharedDevice should always use old linear heap VAddr 2018-11-08 00:19:19 -05:00
Valentin Vanelslande 0f4a6e39c9
ldr_ro: change std::tie to structured binding 2018-11-07 13:38:52 -05:00
Weiyi Wang 1444d60109
Merge pull request #4400 from wwylele/core-timing-global
CoreTiming: wrap into class
2018-11-06 20:04:56 -05:00
Weiyi Wang 2067946f59
Kernel: reimplement memory management on physical FCRAM (#4392)
* Kernel: reimplement memory management on physical FCRAM

* Kernel/Process: Unmap does not care the source memory permission

What game usually does is after mapping the memory, they reprotect the source memory as no permission to avoid modification there

* Kernel/SharedMemory: zero initialize new-allocated memory

* Process/Thread: zero new TLS entry

* Kernel: fix a bug where code segments memory usage are accumulated twice

It is added to both misc and heap (done inside HeapAlloc), which results a doubled number reported by svcGetProcessInfo. While we are on it, we just merge the three number misc, heap and linear heap usage together, as there is no where they are distinguished.

Question: is TLS page also added to this number?

* Kernel/SharedMemory: add more object info on mapping error

* Process: lower log level; SharedMemory: store phys offset

* VMManager: add helper function to retrieve backing block list for a range
2018-11-06 15:00:47 -05:00
Weiyi Wang 9458e4d8ec CoreTiming: wrap into class 2018-11-04 10:26:38 -05:00
Weiyi Wang 2d9dfe5bce Kernel: thread manager still has to be destructed first 2018-11-04 09:29:28 -05:00
Weiyi Wang 57e1f47a52 Kernel: destruct thread/timer managers after processes (#4399)
Processes can keep some Thread/Timer object alive while the manager is already destructed, resulting use-after-free in Thread::Stop and Timer::dtor. To resolve this, the manager objects should be destructed after all related object destructed.
Fixes a bug where quiting citra causes crash while the game is using a Timer.
2018-11-04 10:24:37 +01:00
zhupengfei ab07d44193
citra_qt/configuration: fix language configuration issues 2018-11-03 09:34:01 +08:00
Weiyi Wang fc84091d88 Service, Kernel: move named port list to kernel 2018-11-01 12:56:40 -04:00
Weiyi Wang ece96807c4 Kernel: move memory_regions into Kernel instance 2018-11-01 12:56:40 -04:00
Weiyi Wang 263290d48c HLE: move SharedPage into Kernel
similar to config_mem, kernel is responsible for setting up this
2018-11-01 12:56:40 -04:00
Weiyi Wang 773ec47629 Kernel: make config_mem and MapSharedPages members of KernelSystem 2018-11-01 12:56:40 -04:00
Weiyi Wang 95790218f2 HLE: move config_mem to kernel
ConfigMem is initialized in kernel and only used by kernel. It is also likely how it works on real 3DS
2018-11-01 11:21:34 -04:00
Weiyi Wang a753b9c6cc
Merge pull request #4228 from NarcolepticK/lle-mapped-buffer
LLE Mapped Buffer: Add unmapping of write buffer, zero-size, and multiple page handling
2018-10-30 19:18:11 -04:00
Weiyi Wang 445538c2cf
Merge pull request #4371 from wwylele/kernel-global-3
Kernel: eliminate global state for threads and timers
2018-10-30 00:36:10 -04:00
Weiyi Wang 2183d0d6be core: use internal kernel pointer directly 2018-10-30 00:35:37 -04:00
Weiyi Wang bd4beb6558
Merge pull request #4386 from wwylele/codeset-class
Kernel/CodeSet: change struct to class
2018-10-30 00:30:50 -04:00
NarcolepticK c97146226a LLE Mapped Buffer: Addressed comments. 2018-10-29 18:35:34 -04:00
Weiyi Wang f63098ccdf Kernel/CodeSet: change struct to class
Fix a warning where class definition and forward declaration mismatch. CodeSet is a kernel object and have ctor/dtor/private members like others, so in convention it should be a class
2018-10-28 10:35:40 -04:00
Weiyi Wang 67888f92e5
Merge pull request #4348 from B3n30/native_firm_keys
Load keys from save mode native firm
2018-10-28 10:24:29 -04:00
bunnei 9d05fbbef4
Merge pull request #4369 from FearlessTobi/compat-new
compatdb: Use a seperate endpoint for testcase submission
2018-10-28 03:53:10 -04:00
bunnei 3219bdb30d
Merge pull request #4382 from FearlessTobi/reset-defaults
configure_general: Add an option to reset defaults
2018-10-28 03:52:10 -04:00
fearlessTobi 96ee82c464 configure_general: Add an option to reset defaults 2018-10-27 22:43:29 +02:00
fearlessTobi 6e6c437a52 applets: stub mii selector to always return a standard mii
To obtain the data, the LLEd mii selector of system version 11.8.0 was used.
In AppletManager::GlanceParameter, the following code was added to write the returned buffer data to a file:

    if (parameter.buffer.size() == 132) {
        std::u16string name(10, '\0');
        std::memcpy(name.data(), parameter.buffer.data() + 0x26, 10 * sizeof(u16));
        name = std::u16string(name.data());
        FileUtil::IOFile file{fmt::format("{}.mii", Common::UTF16ToUTF8(name)), "wb"};
        file.WriteBytes(parameter.buffer.data(), parameter.buffer.size());
    }

Then "xxd -i" was used on the file to convert it to a hex array.
2018-10-27 12:23:24 +02:00
fearlessTobi 236a7dba7e Move "Report compatibility" button to Emulation tab 2018-10-27 12:20:03 +02:00
fearlessTobi b7117bf050 compatdb: Use a seperate endpoint for testcase submission 2018-10-27 12:20:03 +02:00
Weiyi Wang 5b7d21c3cd FileSys/DelayGenerator: add missing #include and virtual dtor (#4363)
* FileSys/DelayGenerator: add missing #include and virtual dtor

Added the needed include so that it won't cause error if another file includes this without including the depended files

Deleting a virtual class via base type without virtual dtor is UB, which happens inFileBackend.

* FileSys/DelayGenerator: move function definition into cpp file/n/nTo avoid generating vtable in all units that includes the header file

* filesys/delay_generator: rearrange #include
2018-10-27 12:46:03 +08:00
Weiyi Wang fa46dbdf0b
Merge pull request #4376 from FearlessTobi/port-1571
Port yuzu-emu/yuzu#1571: "graphic_breakpoints: Correct translation of strings in BreakpointModel's data() function"
2018-10-26 22:40:55 -04:00
Weiyi Wang 724b458a83
Merge pull request #4373 from FearlessTobi/port-1553
Port yuzu-emu/yuzu#1553: "common: Remove memory_util.h/.cpp"
2018-10-26 22:38:18 -04:00
Weiyi Wang f274340001
Merge pull request #4374 from FearlessTobi/frontend-ports
Port various frontend cleanups from yuzu
2018-10-26 22:38:07 -04:00
Weiyi Wang 477cda1a7e
Merge pull request #4364 from wwylele/gl-error-tr
citra_qt: fix translation for opengl version error
2018-10-26 22:37:47 -04:00
Weiyi Wang 59cb0ec570
Merge pull request #4359 from FearlessTobi/port-webstuff
web_service: Port yuzu-emu/yuzu#1465 and Port yuzu-emu/yuzu#1473 (Many self-contained changes)
2018-10-26 22:34:51 -04:00
fearlessTobi d28233961b Put WebResult into a seperate file 2018-10-27 00:39:02 +02:00
fearlessTobi 494d86d083 graphic_breakpoints: Correct translation of strings in BreakpointModel's data() function
tr() will not function properly on static/global data like this, as the
object is only ever constructed once, so the strings won't translate if
the language is changed without restarting the program, which is
undesirable. Instead we can just turn the map into a plain old function
that maps the values to their equivalent strings. This is also lessens
the memory allocated, since it's only allocating memory for the strings
themselves, and not an encompassing map as well.
2018-10-27 00:33:31 +02:00
Lioncash 9f6c1b058a CMakeLists: Use PROJECT_SOURCE_DIR instead of CMAKE_SOURCE_DIR
This is more localized to what we want to enforce directory-wise with
the project. CMAKE_SOURCE_DIR indicates the root of the source tree, but
this would cause the wrong behavior if someone included yuzu as part of
a larger buildsystem (for whatever reason). Instead, we want to use the
directory where the "project(yuzu)" command was declared as the root
path reference.
2018-10-27 00:20:52 +02:00
fearlessTobi 446989aaaf common: Actually remove memory_util.cpp 2018-10-27 00:14:23 +02:00
Lioncash a74d97b15f configure_system: Default initialize member variables
These should be initialized to deterministic values so it's easier to
catch improper behavior, as it'll always be reproducable, instead of
performing uninitialized reads.
2018-10-27 00:02:27 +02:00
Lioncash 470cc66049 configure_system: Amend function casing 2018-10-27 00:00:43 +02:00
Lioncash 97cdf44ddd configure_system: Add missing override specifier on the destructor 2018-10-26 23:59:18 +02:00
Lioncash 452cfb46a9 configure_system: Make public slots private
These are only used within this class, so we can make them private to
keep their use contained. This also gets rid of the pre-Qt5 'slot'
identifier, since Qt 5's connection syntax doesn't require a function to
be declared a slot anymore.
2018-10-26 23:58:37 +02:00
Lioncash 027197cf1f bootmanager: Use QStringLiteral instead of std::string to represent the window title
This gets rid of an unnecessary type conversion. We can just use the
regular QStringLiteral to already format the string as the type
setWindowTitle accepts instead of converting from a std::string
instance.
2018-10-26 23:56:04 +02: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
Lioncash f4bd5c3559 yuzu/configuration/config: Reorganize member variable and function layout
Makes the class layout consistent with the others.
2018-10-26 23:52:25 +02:00
Lioncash 452ccf02a6 game_list: Make game list column headers translatable
These are user-facing strings, so they should be marked as translatable
2018-10-26 23:51:04 +02:00
Lioncash 0242d2b13a common: Remove memory_util.cpp/.h
Everything from here is completely unused and also written with the
notion of supporting 32-bit architecture variants in mind. Given the
Switch itself is on a 64-bit architecture, we won't be supporting 32-bit
architectures. If we need specific allocation functions in the future,
it's likely more worthwhile to new functions for that purpose.
2018-10-26 23:39:08 +02:00
Weiyi Wang e5b93741d3 kernel/timer: add TimerManager for timer system states 2018-10-26 16:07:45 -04:00
Weiyi Wang 20ae37ba4f kernel/Thread: move thread list into the manager 2018-10-26 16:07:45 -04:00
Weiyi Wang 7fc61920cc kernel/Thread: move thread wake up table and callback handle into the manager 2018-10-26 16:07:45 -04:00
Weiyi Wang 0478bc3dee Kernel/Thread: move thread queue, current thread, and scheduling related function into the manager
As we touched it, remove IPC::GetCommandBuffer
2018-10-26 16:07:11 -04:00
Weiyi Wang 876729ab52 kernel/thread: move next_thread_id into manager 2018-10-26 16:07:11 -04:00
Weiyi Wang 34f1fe088c kernel/thread: add ThreadManager 2018-10-26 16:07:11 -04:00
Weiyi Wang f3ee5feb02
Merge pull request #4358 from wwylele/kernel-global-2
kernel: Eliminate global state in process and handle_table
2018-10-26 15:51:36 -04:00
Weiyi Wang 8ad6cbfde2 kernel/thread: change owner_process parameter to reference
To enforce a valid process object
2018-10-26 09:37:46 -04:00
Weiyi Wang b4062abc11 cubeb_sink: ignore null-name device when selecting
We already ignore them on listing devices. We should do the same when selecting devices. This fix a crash when opening a specific device while there is a null device in the list
2018-10-26 09:17:44 -04:00
Weiyi Wang fa0e82b812
SeedDB: replace seek(tell, set) with seek(cur) (#4344) 2018-10-25 21:39:26 -04:00
Weiyi Wang e5c5d1ecce Kernel: change owner_process in Thread/SharedMemory to raw pointer
Otherwise circular ownership would form in Process->handle_table->thread->owner_process
2018-10-25 19:54:06 -04:00
Weiyi Wang 92b1a5c546 citra_qt: fix translation for opengl version error
variable in tr() won't trigger linguist to generate translation entry. Instead it needs a string literal
2018-10-25 14:30:46 -04:00
Pengfei Zhu c5b7018625
citra_qt: add seconds section to clock settings (#4347)
* citra_qt: add seconds section to clock settings

Simple fix to make the UI more usable.

* Use an ISO styled format string

Not actually tested locally
2018-10-25 21:29:43 +08:00
Tobias dec3fb2dcf nfc: Add Amiibo support (REOPENED) (#4337)
* Initial implementation

* Various fixes and new features

* Address some review comments

* Fixes

* Address more comments

* Use g_hle_lock

* Add more state checking, remove unneeded include

* Minor changes
2018-10-24 21:01:38 -04:00
Weiyi Wang 6742472133
Merge pull request #4235 from FearlessTobi/port-1259
Port various game_list changes from yuzu
2018-10-24 20:57:58 -04:00
Lioncash 6147bb622d CMakeLists: Use target_compile_definitions instead of add_definitions to define YUZU_ENABLE_COMPATIBILITY_REPORTING
Keeps the definition constrained to the citra_qt target and prevents
polluting anything else in the same directory (should that ever happen).
It also keeps it consistent with how the USE_DISCORD_PRESENCE definition
is introduced below it.
2018-10-23 16:16:11 +02:00
Weiyi Wang 8d32843d68 thread/kernel: remove unused callback_id
we use the thread id for the same purpose now
2018-10-23 10:06:32 -04:00
Lioncash 6fb6737642 core/CMakeLists: Make all web_service-related libraries private
Now that all external dependencies are hidden, we can remove
json-headers from the publically linked libraries, as the use of this
library is now completely hidden from external users of the web_service
library. We can also make the web_services library private as well,
considering it's not a requirement. If a library needs to link in
web_service, it should be done explicitly -- not via indirect linking.
2018-10-23 15:43:40 +02:00
Lioncash 8b98560ebb web_backend: Make Client use the PImpl idiom
Like with TelemetryJson, we can make the implementation details private
and avoid the need to expose httplib to external libraries that need to
use the Client class.
2018-10-23 15:42:22 +02:00
Lioncash 25038aeb0d telemetry_json: Use the PImpl idiom to avoid unnecessary dependency exposure
Users of the web_service library shouldn't need to care about an
external library like json.h. However, given it's exposed in our
interface, this requires that other libraries publicly link in the JSON
library. We can do better.

By using the PImpl idiom, we can hide this dependency in the cpp file
and remove the need to link that library in altogether.
2018-10-23 15:35:17 +02:00
Lioncash 131ce59800 telemetry_json: Add missing override specifier to the destructor of TelemetryJson 2018-10-23 15:33:41 +02:00
Lioncash 8747d93f6a telemetry_json: Take std::string parameters by value
Taking them by const reference isn't advisable here, because it means
the std::move calls were doing nothing and we were always copying the
std::string instances.
2018-10-23 15:33:34 +02:00
Lioncash c9013c481a telemetry_json: Remove unnecessary includes
Removes unused includes. Also rectifies a missing <chrono> include.
2018-10-23 15:33:18 +02:00
Lioncash 7142d3cf78 telemetry_session: Remove doxygen comment for a non-existent parameter
There's no "func" parameter, so this can just be removed.
2018-10-23 15:30:07 +02:00
Lioncash 61627c2042 telemetry_session: Add missing includes
Prevents potential compilation issues in the future by including missing
headers for certain functions and types.
2018-10-23 15:28:50 +02:00
Lioncash d5bb2a21aa telemetry_session: Remove unimplemented FinalizeAsyncJob prototype
This isn't implemented anywhere, so it can just be removed.
2018-10-23 15:27:05 +02:00
Weiyi Wang eb285c33fd kernel: make handle table per-process 2018-10-22 21:32:34 -04:00
Weiyi Wang fda2a5cf54 kernel/thread: use std::unordered_map for callback record 2018-10-22 21:32:34 -04:00
Weiyi Wang 5b45a3e1b5 Kernel/Timer: use unordered_map for callback recording 2018-10-22 21:32:34 -04:00
Weiyi Wang 8fb3d8ff38 kernel/process: move current process to kernel instance
Two functional change:
QueryProcessMemory uses the process passed from handle instead current_process
Thread::Stop() uses TLS from owner_process instead of current_process
2018-10-22 21:32:34 -04:00
Weiyi Wang d9342622b0 kennel/process: move process list to kernel instance 2018-10-22 21:32:34 -04:00
Weiyi Wang 4238754d8c kernel/process: move next_process_id to kernel instance 2018-10-22 09:30:48 -04:00
Lioncash 930abb4b5e svc: Correct vma_map boundary check within QueryProcessMemory
This should be using the process instance retrieved within the function,
and not g_current_process, otherwise this is potentially comparing
iterators from unrelated vma_map instances (which is undefined
behavior).
2018-10-21 22:00:12 -04:00
Weiyi Wang 57ce5079bc
Merge pull request #4336 from wwylele/file-util-mingw
Only redefine some 64-bit file operation for MSVC
2018-10-21 20:34:48 -04:00
Weiyi Wang 6f1759c5bd
Merge pull request #4341 from wwylele/kernel-global
Kernel: make a kernel instance and remove object ID counter from global state
2018-10-21 18:53:36 -04:00
Zak Kurka 92f8b71137 Make ApplyIPS static and private 2018-10-21 10:42:23 -05:00
Zak Kurka 05c1816504 Stay in bounds 2018-10-21 07:48:54 -05:00
Zak Kurka 1c62bc06cf Add rle record support 2018-10-21 07:48:29 -05:00
Zak Kurka d8284dfacc Log invalid IPS attempt 2018-10-21 07:47:27 -05:00
Zak Kurka d0b54e9939 Check for EOF 2018-10-20 23:25:16 -05:00
Zak Kurka 2778801dc5 Updated based on review 2018-10-20 19:45:16 -05:00
Zak Kurka 2a5b56bb1d Be more intentional with check 2018-10-20 18:17:54 -05:00
Zak Kurka 261dc33507 Merge branch 'master' of github.com:citra-emu/citra into ips-patches 2018-10-20 18:11:38 -05:00
Zak Kurka bf50bb06f1 Minor style changes and use memcpy 2018-10-20 18:10:32 -05:00
Weiyi Wang 11729eafe1
Merge pull request #4315 from FearlessTobi/port-1332
WebService: Backport review comments from yuzu-emu/yuzu#1332
2018-10-20 18:05:06 -04:00
Zak Kurka 2496ecbaf6 Added IPS patching 2018-10-20 13:09:05 -05:00
Weiyi Wang 65ec8de31e web_service: hide dependencies to private 2018-10-20 10:47:17 -04:00
fearlessTobi 57d68bb541 Address review comments 2018-10-20 10:35:55 -04:00
fearlessTobi 7daac96862 Review comments - part 5 2018-10-20 10:35:55 -04:00
fearlessTobi 9901b289b6 Review comments -part 4 2018-10-20 10:35:55 -04:00
fearlessTobi 08793a6dae Review comments - part 3 2018-10-20 10:35:55 -04:00
fearlessTobi b0aed19823 Address a bunch of review comments 2018-10-20 10:35:55 -04:00
fearlessTobi 111b7db759 Stop splitting includes 2018-10-20 16:31:35 +02:00
Lioncash f56a840333 game_list_p: Take map iterator contents by const reference
We don't need to copy the whole struct in this instance, we can just
utilize a reference instead.
2018-10-20 16:31:35 +02:00
Lioncash 52ec85be12 game_list_p: Amend typo in GameListItemCompat's constructor parameter
Adds a missing 'i' character that was missing in compatibility.
2018-10-20 16:31:35 +02:00
Lioncash 230edc8c7c yuzu: Move compatibility list specifics to their own source files
Lets us keep the generic portions of the compatibility list code
together, and allows us to introduce a type alias that makes it so we
don't need to type out a very long type declaration anymore, making the
immediate readability of some code better.
2018-10-20 16:31:35 +02:00
lioncash 9238015dd4 yuzu: Move GameListWorker to its own source files
This has gotten sufficiently large enough to warrant moving it to its
own source files. Especially given it dumps the file_sys headers around
code that doesn't use it for the most part.

This'll also make it easier to introduce a type alias for the
compatibility list, so a large unordered_map type declaration doesn't
need to be specified all the time (we don't want to propagate the
game_list_p.h include via the main game_list.h header).
2018-10-20 16:31:35 +02:00
Weiyi Wang eadd8b91b2
Merge pull request #4338 from FearlessTobi/port-1490
Port yuzu-emu/yuzu#1490: "citra_qt/main: Simplify OnMenuLoadFile()"
2018-10-20 10:09:41 -04:00
Weiyi Wang 18caa787d2
Merge pull request #4197 from B3n30/spsc_queue_wait
threadsafe_queue: Add PopWait and use it where possible
2018-10-19 19:36:37 -04:00
Weiyi Wang 751ebe55e9 Kernel: pass ref down to Object and wrap ID counter into kernel state 2018-10-18 21:41:36 -04:00
Weiyi Wang 87426b29ff kernel: pass ref to shared memory 2018-10-18 21:41:36 -04:00
Weiyi Wang 2a411bb501 Kernel: wrap resource limit state into kernel state; pass ref to resource limit 2018-10-18 21:41:36 -04:00
Weiyi Wang 13c26b4371 Kernel: pass ref to session pair 2018-10-18 21:41:36 -04:00
Weiyi Wang 1213a298df Kernel: pass ref to port 2018-10-18 21:41:36 -04:00
Weiyi Wang c141657d83 Kernel: pass ref to timer 2018-10-18 21:41:36 -04:00
Weiyi Wang 247249d5d3 Kernel: pass ref to sempahore 2018-10-18 21:41:36 -04:00
Weiyi Wang 181646679c ServiceManager: pass down core reference 2018-10-18 21:41:36 -04:00
Weiyi Wang d940293d32 Kernel: pass ref to thread 2018-10-18 21:41:36 -04:00
Weiyi Wang 9565091fc2 kernel: pass ref in Process 2018-10-18 21:41:36 -04:00
Weiyi Wang 213b259cf1 kernel: pass ref in CodeSet 2018-10-18 21:41:36 -04:00
Weiyi Wang 7449ba85a6 Kernel: pass ref in Mutex 2018-10-18 21:41:36 -04:00
Weiyi Wang eec11a94cb Kernel: pass Kernel ref in Event 2018-10-18 21:41:36 -04:00
Weiyi Wang 734be98966 Kernel: pass Kernel reference into AddressArbiter 2018-10-18 21:41:00 -04:00
Weiyi Wang f446fd1fe5 Kernel: add KernelSystem class 2018-10-18 21:41:00 -04:00
Weiyi Wang 1de63f9b16
Merge pull request #4328 from B3n30/remove_current_module
remove GetCurrentModule() functions in HLE Services
2018-10-18 21:39:24 -04:00
Pengfei Zhu 9458ae0977
Merge pull request #4259 from zhaowenlan1779/game-list
citra_qt: Add Game List configuration
2018-10-18 21:29:33 +08:00
Weiyi Wang ad232efbf0 apply fixes 2018-10-17 18:35:16 +02:00
B3n30 be3bd18c42 Load keys from new3DS native firm 2018-10-17 17:44:54 +02:00
B3n30 15c9db0883 Load keys from the o3DS save mode native firm 2018-10-17 17:44:52 +02:00
Weiyi Wang 53a3498aee
Merge pull request #4193 from B3n30/controller5
Joystick: Allow for background events; Add deadzone to SDLAnalog
2018-10-17 10:49:21 -04:00
B3n30 1849e8b09c HW::AES: add generator_constant 2018-10-17 16:07:11 +02:00
Ben f48157c6ea
Load AES keys stored in boot9.bin (#4335)
* Load AES keys stored in boot9.bin
2018-10-17 10:13:55 +02:00
Lioncash 15ecc38ada citra_qt/main: Apply the [[maybe_unused]] attribute to the parameter of SetDiscordEnabled()
Depending on whether or not USE_DISCORD_PRESENCE is defined, the "state"
parameter can be used or unused. If USE_DISCORD_PRESENCE is not defined,
the parameter will be considered unused, which can lead to compiler
warnings. So, we can explicitly mark it with [[maybe_unused]] to inform
the compiler that this is intentional.
2018-10-16 14:42:48 +02:00
Ben b01b94d843 FileSys::Ticket::Load: Return error if signature type does not match (#4339)
* FileSys::Ticket::Load: Return error if signature type does not match

* fixup! FileSys::Ticket::Load: Return error if signature type does not match
2018-10-15 11:26:35 -04:00
Pengfei Zhu 0df32275a7
Merge pull request #4282 from zhaowenlan1779/frame-advance
core, citra_qt: add frame advancing to framelimiter
2018-10-15 21:25:41 +08:00
Lioncash 7ddfce4a87 citra_qt/main: Simplify OnMenuLoadFile()
We can utilize QStringList's join() function to perform all of the
appending in a single function call.

While we're at it, make the extension list a single translatable string
and add a disambiguation comment to explain to translators what %1
actually is.
2018-10-14 22:31:46 +02:00
zhupengfei 8ecd31db41
citra_qt: use enum classes for the settings 2018-10-14 22:55:28 +08:00
Pengfei Zhu 84ddb1cba0
Merge pull request #4331 from zhaowenlan1779/cemuhook-fix
citra: fix cemuhook module crash
2018-10-14 21:35:38 +08:00
Weiyi Wang 25a370ef19 only redefine 64 bit file operation for MSVC
MinGW provides POSIX functions
2018-10-13 13:21:18 -04:00
zhupengfei b459164c2a
citra: fix cemuhook module crash
fixes #4144. Updated inih to use the newly added GetString function which returns the default value on empty string.
2018-10-12 22:58:30 +08:00
B3n30 eb3af0f16a Add GetModule() helper functions, for HID, CAM, and CFG 2018-10-12 11:50:50 +02:00
B3n30 1b1de23a98 Fixup: Remove unneeded GetUsername 2018-10-11 20:05:45 +02:00
B3n30 9d53136f20 remove GetCurrentModule() functions in HLE Services 2018-10-11 19:23:14 +02:00
Weiyi Wang 0962ab8da9
Merge pull request #4305 from wwylele/fs-global
FS/archive: wrap states into ArchiveManager class
2018-10-11 13:04:02 -04:00
Weiyi Wang 9adc407112
Merge pull request #4304 from B3n30/std_optional
Replace boost::optional with std::optional where possible
2018-10-11 12:40:00 -04:00
Pengfei Zhu efc0d502ed
Merge pull request #4326 from zhaowenlan1779/multiplayer-retranslate
citra_qt/multiplayer: retranslate multiplayer dialogs
2018-10-11 09:44:33 -05:00
zhupengfei 748a9849ec
citra_qt/multiplayer: retranslate multiplayer dialogs 2018-10-10 18:21:22 +08:00
B3n30 ca77be3ac2 remove std::tie in sdl_impl 2018-10-09 23:19:24 +02:00
B3n30 2b46b838f1 fix deadzone max value 2018-10-09 21:23:50 +02:00
NeatNit 4ee914c7a8 implemented touch in Qt and SDL
change TouchToPixelPos to return std::pair<int, int>

static_cast (SDL)

various minor style and code improvements

style - PascalCase for function names

made touch events private

const pointer arg in touch events

make TouchToPixelPos a const member function

did I do this right?

braces on barely-multiline if

remove question comment (confirmed in Discord)

fixed consts

remove unused parameter from TouchEndEvent

DRY - High-DPI scaled touch put in separate function

also fixes a bug where if you start touching (with either mouse or touchscreen) and drag the mouse to the LEFT of the emulator window, the touch point jumps to the RIGHT side of the touchscreen; draggin to above the window would make it jump to the bottom.

implicit conversion from QPoint to QPointF, apparently

I have no idea what const even means but I'll put it here anyway

remove unused or used-once variables

make touch scaling functions const, and put their implementations together

removed unused FingerID parameters

QTouchEvent forward declaration; add comment to TouchBegin that was lost in an edit

better DRY in SDL

To do -> TODO(NeatNit)

remove unused include
2018-10-09 23:10: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
B3n30 e267377111 More fixes 2018-10-09 10:26:44 +02:00
B3n30 ad8b9c0429 Adressed review comments 2018-10-08 23:28:54 +02:00
Sebastian Valle f405134913
Merge pull request #4306 from Subv/apt_jump
Services/APT: Better implementation of PrepareToDoApplicationJump and DoApplicationJump.
2018-10-08 15:44:38 -05:00
Ben d99b1f581f NWM_UDS: Signal bind_node_event in Unbind (#4321) 2018-10-08 15:44:14 -05:00
BreadFish64 ce823759cc citra-qt: disable directory watcher during CIA installation (#4284)
* disable directory watcher during CIA installation

fixes several errors while installing multiple CIAs

* use braces in if statement
2018-10-08 15:37:44 -05:00
Weiyi Wang 756a3d404a
Merge pull request #4283 from valentinvanelslande/seed-db
Implement SeedDB & Seed Crypto
2018-10-08 14:18:42 -04:00
Weiyi Wang 3480c1d49d
Merge pull request #4242 from citra-valentin/fix-camera-on-linux-pr
Fix camera on Linux
2018-10-08 11:01:59 -04:00
Weiyi Wang 0b7b9a51d6
Merge pull request #4299 from B3n30/uds
NWM_UDS: Fix some issues, cleanups, better PacketHandling
2018-10-07 13:56:59 -04:00
Merry a8155fdf48
Merge pull request #4314 from FearlessTobi/port-1440
Port yuzu-emu/yuzu#1440: "ui_settings: Place definition of the theme array within the cpp file"
2018-10-07 11:14:58 +01:00
Merry aab56c2e20
Merge pull request #4316 from FearlessTobi/port-1442
Port yuzu-emu/yuzu#1442: "Avoid unnecessary string temporary creation in PrintMessage()"
2018-10-07 11:13:48 +01:00
Subv 8ec2a9817c Services/APT: Better implementation of PrepareToDoApplicationJump and DoApplicationJump.
The real console can't launch an Application directly from within another Application so it has to go through the Home Menu. We do not have such limitation and can directly launch the requested title.
2018-10-06 17:08:24 -05:00
Valentin Vanelslande 7b6c5cd988
fix reply header 2018-10-06 16:59:57 -05:00
Subv 1d59c8f792 Logging: Change the TimeStretch::Process log from debug to trace level.
This function is called too many times and makes the debug logging basically unusable due to the spam.
2018-10-06 16:55:05 +02:00
Lioncash cd7596e67e text_formatter: Avoid unnecessary string temporary creation in PrintMessage()
operator+ for std::string creates an entirely new string, which is kind
of unnecessary here if we just want to append a null terminator to the
existing one.

Reduces the total amount of potential allocations that need to be done
in the logging path.
2018-10-06 16:46:02 +02:00
Lioncash 365d8c57c7 ui_settings: Place definition of the theme array within the cpp file
Placing the array wholesale into the header places a copy of the whole
array into every translation unit that uses the data, which is wasteful.
Particularly given that this array is referenced from three different
translation units.

This also changes the array to contain pairs of const char*, rather than
QString instances. This way, the string data is able to be fixed into
the read-only segment of the program, as well as eliminate static
constructors/heap allocation immediately on program start.
2018-10-06 16:22:28 +02:00
Weiyi Wang 389d3d630e fs/archive: wrap states into archive manager 2018-10-06 01:23:03 -04:00
Weiyi Wang 7678327bf2 fs/archive: move file and directory classes to their own files 2018-10-06 01:23:03 -04:00
Weiyi Wang 81657b737f
Remove "#" in the version number (#4311)
So that people can stop using it in issue/pr comments and randomly link some other issue/pr unintentionally.
2018-10-06 00:55:52 -04:00
Valentin Vanelslande dcd6e7f99f movie: fix some checks
Fixes invalid movie error
2018-10-05 17:20:14 -05:00
Weiyi Wang b163502744
Core: pass down Core::System reference to all services (#4272)
* Core: pass down Core::System reference to all services

This has to be done at once due to unified interface used by HLE/LLE switcher

* apt: eliminate Core::System::GetInstance

* gpu_gsp: eliminate Core::System::GetInstance in service

* hid: eliminate Core::System::GetInstance

* nwm: eliminate Core::System::GetInstance

* err_f: eliminate Core::System::GetInstance
2018-10-05 10:59:43 -04:00
Weiyi Wang 794498c33e
Merge pull request #4289 from wwylele/sdl-twice-twice
input/sdl: lock map mutex after SDL call
2018-10-05 10:54:45 -04:00
B3n30 2306af3600 Handle cases when std::optional does not contain a value 2018-10-05 16:51:33 +02:00
Valentin Vanelslande 53afb1cc2d
Move if 2018-10-05 09:27:16 -05:00
Pengfei Zhu 2a90426cb8
Merge pull request #4267 from zhaowenlan1779/movie
movie: Add clock init time to CTM header
2018-10-05 08:20:33 -05:00
Valentin Vanelslande 19ef115f50
Address comment 2018-10-05 07:22:26 -05:00
B3n30 d37a2270d6 Replace boost::optional with std::optional where possible 2018-10-05 13:51:09 +02:00
B3n30 7efe60ed23 Use SPSCQueue::PopWait in Scripting 2018-10-05 11:25:23 +02:00
B3n30 9b49a79a72 threadsafe_queue: Add WaitIfEmpty and use it in logging 2018-10-05 11:09:38 +02:00
Pengfei Zhu 87e16c80ac
Merge pull request #4229 from zhaowenlan1779/open-folder
citra_qt, core: game list "Open XXX Location" improvements
2018-10-05 00:46:43 -05:00
Weiyi Wang cdf8d80c87
Merge pull request #4300 from FearlessTobi/port-1429-1431
Port yuzu-emu/yuzu#1429 and yuzu-emu/yuzu#1431: Minor configuration changes
2018-10-04 19:38:54 -04:00
Weiyi Wang a5daf60e62
Merge pull request #4301 from citra-emu/revert-4241-port-yuzu-1367
Revert "Port yuzu/#1367 from yuzu: "game_list: Handle plurals within setFilterResult() better""
2018-10-04 15:03:03 -04:00
Weiyi Wang eb494c574d
Merge pull request #4244 from wwylele/swap-enum
common/swap: add swap template for enum
2018-10-04 14:51:49 -04:00
Weiyi Wang 4352c6784b
Revert "Port yuzu/#1367 from yuzu: "game_list: Handle plurals within setFilterResult() better"" 2018-10-04 12:04:49 -04:00
B3n30 458346d1e8 Adressed feedback 2018-10-04 12:34:51 +02:00
Lioncash be534b9388 configure_audio: Move combo box index setting to their own functions
Keeps the individual behaviors in their own functions, and cleanly
separate. We can also do a little better by converting the relevant IDs
within the core to a QString only once, instead of converting every
string into a std::string.
2018-10-04 01:39:12 +02:00
Lioncash 2a612f7bd4 configure_audio: Use QString::fromStdString() for converting audio device names
This ensures that the proper codec will always be used no matter what.
It also avoids relying on ASCII conversions.
2018-10-04 01:39:12 +02:00
Lioncash 97e8354fb0 configure_audio: Add disambiguation comment for the volume percentage string
Disambiguates what the string represents to help translators more easily
understand what it is that they're translating. While we're at it, we
can move the code to its own function, so that we don't need to specify
the same string twice.
2018-10-04 01:39:12 +02:00
Lioncash 00af9da245 configure_input: Make analog mapping strings translatable
These strings are user-facing, so they should be specified as
translatable with tr().
2018-10-04 01:39:12 +02:00
B3n30 38f136048e Cleanup NWM_UDS::SendTo 2018-10-04 00:00:49 +02:00
Weiyi Wang ea53b0f795
Merge pull request #4298 from Subv/am_titles
Services/AM: Implemented BeginImportProgramTemporarily, EndImportProgramWithoutCommit and CommitImportPrograms.
2018-10-03 17:41:40 -04:00
B3n30 7e7f17c78d Add filter to PacketHandling; Fix some issues with Disconnect 2018-10-03 23:07:31 +02:00
Weiyi Wang cfa52e2b7b
Merge pull request #4296 from B3n30/service_getter
Give frontend access to the hle service interfaces
2018-10-03 15:58:27 -04:00
Subv 0f6f7cfd95 Services/AM: Implemented BeginImportProgramTemporarily, EndImportProgramWithoutCommit and CommitImportPrograms.
These functions are pretty much identical to BeginImportProgram and EndImportProgram.

We don't need to do anything special in EndImportProgramWithoutCommit and CommitImportPrograms because we don't need to implement the two-phase title installation that the 3DS uses to prevent corruption of the title.db.
2018-10-03 14:48:39 -05:00
B3n30 544eb25c99 fixup! Give frontend access to the hle service interfaces 2018-10-03 20:08:01 +02:00
B3n30 d3694a930e Give frontend access to the hle service interfaces 2018-10-03 19:44:23 +02:00
Sebastian Valle 3790ccc7b2
Merge pull request #4287 from Subv/am_subfile
Services/AM: Support using FS subfiles with the CIA-related service functions.
2018-10-03 10:13:46 -05:00
Subv 5165b63512 Services/AM: Support using FS subfiles with the CIA-related service functions.
FS subfiles are created with File::OpenSubFile, they have a start offset that must be added to all read/write operations.

The implementation in this commit is done using a new FileBackend that wraps the FS::File along with the start offset.
2018-10-03 09:57:05 -05:00
Kyran Butler 7df8c118d4
Slightly changed wording of LOG_ERROR statements.
More grammatically correct.
2018-10-02 13:20:36 -06:00
Weiyi Wang 22df17c303 input/sdl: lock map mutex after SDL call
Any SDL invocation can call the even callback on the same thread, which can call GetSDLJoystickBySDLID and eventually cause double lock on joystick_map_mutex. To avoid this, lock guard should be placed as closer as possible to the object accessing code, so that any SDL invocation is with the mutex unlocked
2018-10-02 11:22:20 -04:00
bunnei 2d116607fe
Merge pull request #4288 from Subv/am_system_mutex
Services/AM: Implement the GetSystemUpdaterMutex function.
2018-10-02 11:14:04 -04:00
Valentin Vanelslande b067b5aa5a Implement SeedDB & Seed Crypto 2018-10-02 10:12:40 -05:00
Subv 7aa97198a3 Services/AM: Implement the GetSystemUpdaterMutex function.
This function just returns a Mutex.
2018-10-02 09:07:00 -05:00
NarcolepticK 32aecd42a2 LLE Mapped Buffer: Corrected behavior 2018-10-01 21:07:25 -04:00
zhupengfei 8cf1132b2e
ncch_container: choose the first id as extdata id when extended save data access is used 2018-10-02 08:15:10 +08:00
zhupengfei cb775eb1ba
core, citra_qt: add frame advancing to framelimiter
Frame advancing is a commonly used TAS feature which basically means running the game frame by frame. TASers use this feature to press exact buttons at the exact frames. This commit added frame advancing to the framelimiter and two actions to the Movie menu. The default hotkey is `\` for advancing frames, and `Ctrl+A` for toggling frame advancing. The `Advance Frame` hotkey would automatically enable frame advancing if not already enabled.
2018-10-02 07:28:58 +08:00
Weiyi Wang fceec34945
Merge pull request #4278 from wwylele/cfg-ptm-direct-fs
cfg, ptm: access FS via backend directly
2018-10-01 18:32:43 -04:00
Weiyi Wang 0e77cd385a
Merge pull request #4277 from wwylele/cecd-direct-fs
cecd: access FS via backend directly
2018-10-01 18:26:51 -04:00
bunnei 4a5a97ab88
Merge pull request #4253 from wwylele/string-util-cleanup
common/string_util cleanup
2018-10-01 17:52:58 -04:00
Weiyi Wang fb720c00b7
Merge pull request #4273 from wwylele/apt-direct-fs
APT: access FS via backend directly
2018-10-01 14:24:06 -04:00
Weiyi Wang 5fb3137bdc
Merge pull request #4181 from wwylele/cia-crypto
Add encrypted CIA support
2018-10-01 14:23:35 -04:00
B3n30 4831095610 fixup! Joystick: Allow for background events; Add deadzone to SDLAnalog 2018-10-01 16:02:19 +02:00
Pengfei Zhu b2bfcfcbd7
Merge pull request #4140 from zhaowenlan1779/input-config
citra_qt/configuration: misc input tab improvements
2018-10-01 03:05:31 -05:00
NarcolepticK 51d53a6281 LLE Mapped Buffer: addressed comments 2018-09-30 23:23:21 -04:00
NarcolepticK 19291ba465 LLE Mapped Buffer: Add unmapping, zero-size, and multiple page handling 2018-09-30 22:34:13 -04:00
bunnei 9f972b9f5c
Merge pull request #4276 from MerryMage/jit_breakpoints
arm_dynarmic: Pass breakpoints to gdbstub
2018-09-30 21:42:00 -04:00
bunnei 27203c0d47
Merge pull request #4274 from wwylele/http-direct-fs
http_c: access FS via backend directly
2018-09-30 21:37:07 -04:00
zhupengfei bbf391abb9
citra_qt, core: game list "Open XXX Location" improvements 2018-10-01 08:42:22 +08:00
MerryMage b4d9d9661a arm_dynarmic: Pass breakpoints to gdbstub
Allow gdbstub to handle execution breakpoints
2018-09-30 19:40:49 +01:00
zhupengfei 9d142f981d
movie: fix default value in StartPlayback 2018-09-30 14:26:38 +08:00
Weiyi Wang 4a30a502a0
Merge pull request #4211 from wwylele/web-cleanup
web_service: stop using std::future + callback style async
2018-09-29 23:02:27 -04:00
Weiyi Wang edc6e419b0
Merge pull request #4232 from wwylele/multi-region
loader, cfg: choose region based on language if multiple regions available
2018-09-29 23:01:36 -04:00
Weiyi Wang fbc36ff63c
Merge pull request #4257 from jroweboy/sdl-globals
Input: Remove global variables from SDL Input
2018-09-29 23:00:12 -04:00
Weiyi Wang f5a3ec18c2
Merge pull request #4072 from B3n30/httpc3
Service::HTTP_C: Implement Client Cert opening and closing
2018-09-29 22:53:49 -04:00
Lioncash d64094a0d2 kernel/object: Remove unnecessary std::move from DynamicObjectCast()
boost::static_pointer_cast for boost::intrusive_ptr (what SharedPtr is),
takes its parameter by const reference. Given that, it means that this
std::move doesn't actually do anything other than obscure what the
function's actual behavior is, so we can remove this. To clarify, this
would only do something if the parameter was either taking its argument
by value, by non-const ref, or by rvalue-reference.
2018-09-29 23:14:10 +02:00
Weiyi Wang 89a5b9b622 qt/configure_system: FS decoupled 2018-09-28 17:34:47 -04:00
Weiyi Wang bcb5d438a9 cfg: access FS via backend directly 2018-09-28 17:32:05 -04:00
Weiyi Wang 2757eff122 ptm: access FS via backend directly 2018-09-28 17:21:45 -04:00
Weiyi Wang b03332d09b fs: remove ArchiveFactory_ExtSaveData::Initialize
This is unnecessary as any open archive would create the full path for themselves
2018-09-28 17:08:39 -04:00
Weiyi Wang bb252ecab3 cecd: access FS via backend directly 2018-09-28 17:03:24 -04:00
Weiyi Wang 0bc98cdca4 http_c: access FS via backend directly 2018-09-28 14:25:19 -04:00
Weiyi Wang 94b273ac20 APT: access FS via backend directly 2018-09-28 14:08:30 -04:00
zhupengfei ae5c658997
movie: Add clock init time to CTM header
This adds a clock init time field to the CTM header. The clock settings would be overridden when playing a movie. And when recording a movie, if the clock is set to System Time, it would be set to fixed init time at the current moment as well. In this way this keeps consistency with the RNG even if the user does just no setting.
2018-09-27 22:18:10 +08:00
Weiyi Wang 7c97e8df62
Merge pull request #4256 from wwylele/country-list
archive_ncch: add open source country list archive
2018-09-27 10:09:37 -04:00
Weiyi Wang 892ca2a94a
Merge pull request #4209 from zhaowenlan1779/play-coin
service/ptm, citra_qt: Add Play Coins setting
2018-09-27 10:09:02 -04:00
Weiyi Wang 08bfba5d8e
Merge pull request #4005 from NarcolepticK/stub-cecd
service/cecd: Implement some functions
2018-09-27 10:08:14 -04:00
Weiyi Wang a96f0f5167
Merge pull request #4241 from citra-valentin/port-yuzu-1367
Port yuzu/#1367 from yuzu: "game_list: Handle plurals within setFilterResult() better"
2018-09-25 23:09:40 -04:00
Weiyi Wang f05740a5fd
Merge pull request #4224 from FearlessTobi/port-1310
Port #734 and #1310 from yuzu: Changes to Thread-related enums
2018-09-25 23:07:43 -04:00
Weiyi Wang 1f9f220a3e
Merge pull request #4262 from EverOddish/master
Added CMake option to enable/disable scripting support
2018-09-25 22:57:07 -04:00
Pengfei Zhu d6a9b01624
Merge pull request #4183 from zhaowenlan1779/multiplayer-ui
citra_qt/multiplayer: three minor fixes
2018-09-24 13:20:32 +08:00
EverOddish 15d44f0450 Review changes for enable/disable scripting 2018-09-23 20:13:28 -04:00
EverOddish fce7afb8dc Added CMake option to enable/disable scripting support 2018-09-23 19:16:18 -04:00
Weiyi Wang 9668852c0d Service/AM: handle encrypted CIA 2018-09-23 13:05:55 -04:00
Weiyi Wang df77491938 FileSys/cia: add ticket parsing 2018-09-23 13:05:55 -04:00
Weiyi Wang b70e2bce58 HW/AES: add common key loading and selecting 2018-09-23 13:00:07 -04:00
Pengfei Zhu 6b538a49ac
Merge pull request #4246 from FearlessTobi/port-1346
Port yuzu-emu/yuzu#1346: "svc_wrap: Convert the PARAM macro into a function"
2018-09-23 13:10:11 +08:00
Weiyi Wang 20e42592ff
Merge pull request #4249 from FearlessTobi/port-760
Port yuzu-emu/yuzu#760: "file_util: Use an enum class for GetUserPath()"
2018-09-22 23:42:59 -04:00
Weiyi Wang e087cb9a28 string_util: unify UTF8<->UTF16 conversion to codecvt 2018-09-22 17:23:48 -04:00
James Rowe ded7e1f7c3
Merge pull request #4245 from wwylele/thread-cleanup
Common/Thread cleanup
2018-09-22 14:27:06 -06:00
Weiyi Wang 5b66c41686
Merge pull request #4251 from FearlessTobi/port-1309
Port yuzu-emu/yuzu#1309: "service: Use nested namespace specifiers where applicable"
2018-09-22 16:15:48 -04:00
James Rowe 3f4a7f8f58 Input: Remove global variables from SDL Input
Changes the interface as well to remove any unique methods that
frontends needed to call such as StartJoystickEventHandler by
conditionally starting the polling thread only if the frontend hasn't
started it already. Additionally, moves all global state into a single
SDLState class in order to guarantee that the destructors are called in
the proper order
2018-09-22 14:13:50 -06:00
Weiyi Wang 1123580738 archive_ncch: add open source country list archive 2018-09-22 16:11:57 -04:00
James Rowe bfcc712132 Input: Copy current SDL.h/cpp files to impl
This should make reviewing much easier as you can then see what changed
happened between the old file and the new one
2018-09-22 14:11:15 -06:00
Lioncash d2cd4a464d svc_wrap: Convert the PARAM macro into a function
This can just be a regular function, getting rid of the need to also
explicitly undef the define at the end of the file. Given FuncReturn()
was already converted into a function, it's #undef can also be removed.
2018-09-22 21:20:22 +02: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
Weiyi Wang e1765e7c5c string_util: remove TString conversion for windows
First of all they are foundamentally broken. As our convention is that std::string is always UTF-8, these functions assume that the multi-byte character version of TString (std::string) from windows is also in UTF-8, which is almost always wrong. We are not going to build multi-byte character build, and even if we do, this dirty work should be handled by frontend framework early.
2018-09-22 13:03:59 -04:00
Weiyi Wang 7db46da4fc
Merge pull request #4247 from FearlessTobi/port-1314
Port yuzu-emu/yuzu#1314: "audio_core/time_stretch: Silence truncation warnings in Process()"
2018-09-22 12:02:51 -04:00
Lioncash 46da908a00 service: Use nested namespace specifiers where applicable
There were a few places where nested namespace specifiers weren't being
used where they could be within the service code. This amends that to
make the namespacing a tiny bit more compact.
2018-09-22 16:14:10 +02:00
Lioncash bcb1aaf05c cubeb_sink: Get rid of variable shadowing within CubebSink's constructor
The parameter of the lambda was shadowing the variable that was being
assigned to.
2018-09-22 12:55:40 +02:00
Lioncash 553bdb2ae4 audio_core/time_stretch: Silence truncation warnings in Process()
The SoundTouch API only accepts uint amount of samples.
2018-09-22 12:52:13 +02:00
Weiyi Wang 16b22128bf string_util: remove ShiftJIS/CP1252 conversion function
We always use unicode internally. Any dirty work of conversion with other codec should be handled by frontend framework (Qt). Further more, ShiftJIS/CP1252 are not special (they are not code set used by 3ds, or any guest/host dependencies we have), so there is no reason to specifically include them
2018-09-22 00:45:50 -04:00
Weiyi Wang 1855fb3d88 common/thread: remove YieldCPU()
simply use the standard library yield()
2018-09-22 00:32:19 -04:00
Weiyi Wang 1e9d60cab6 common/thread: remove unnecessary macro for thread_local
we have bumped compiler version really high that all of them support this
2018-09-22 00:30:56 -04:00
Weiyi Wang 41d53cee1f nwm/uds_data: specify endianness for enum 2018-09-22 00:28:44 -04:00
Weiyi Wang e0336403ee nwm/uds_connection: specify endiannes for enum 2018-09-22 00:28:44 -04:00
Weiyi Wang 16b36b6025 service/cro: specify endianness for enum 2018-09-22 00:28:44 -04:00
Weiyi Wang 18e94897c4 hle/swkbd: specify endianness for enum and other members 2018-09-22 00:28:44 -04:00
Weiyi Wang 39feb0610b filesys/archive_selfncch: specify endiannes for enum 2018-09-22 00:28:44 -04:00
Weiyi Wang 9564b4b292 filesys/archive_ncch: specify endianness for enum
NCCHArchivePath::media_type is unchanged because its underlying type is unclear
2018-09-22 00:28:44 -04:00
Weiyi Wang 2badaf43b0 common/swap: add swap template for enum 2018-09-22 00:28:44 -04:00
Valentin Vanelslande 21bdc03908
Force camera pixel format to RGB565 on Linux 2018-09-21 18:28:46 -05:00
Lioncash 03908116ae game_list: Handle plurals within setFilterResult() better
Qt provides an overload of tr() that operates on quantities in relation
to pluralization. This also allows the translation to adapt based on the
target language rules better.

For example, the previous code would result in an incorrect translation
for the French language (which doesn't use the pluralized version of
"result" in the case of a total of zero. While in English it's
correct to use the pluralized version of "result", that is, "results"

---

For example:

English: "0 results"

French: "0 résultat" (uses the singular form)

In French, the noun being counted is singular if the quantity is 0 or 1.
In English, on the other hand, if the noun being counted has a quantity
of 0 or N > 1, then the noun is pluralized.

---

For another example in a language that has different counting methods
than the above, consider English and Irish. Irish has a special form of
of a grammatical number called a dual. Which alters how a word is
written when N of something is 2. This won't appear in this case with a
direct number "2", but it would change if we ever used "Two" to refer to
two of something. For example:

English: "Zero results"

Irish: "Toradh ar bith"

English: "One result"

Irish: "Toradh amháin"

English: "Two results"

Irish: "Dhá thorthaí" <- Dual case

Which is an important distinction to make between singular and plural,
because in other situations, "two" on its own would be written as "dó"
in Irish. There's also a few other cases where the order the words are
placed *and* whether or not the plural or singular variant of the word
is used *and* whether or not the word is placed after or between a set
of numbers can vary. Counting in Irish also differs depending on whether or not
you're counting things (like above) or counting people, in which case an
entirely different set of numbers are used.

It's not important for this case, but it's provided as an example as to why one
should never assume the placement of values in text will be like that of
English or other languages. Some languages have very different ways to
represent counting, and breaking up the translated string like this
isn't advisable because it makes it extremely difficult to get right
depending on what language a translator is translating text into due to
the ambiguity of the strings being presented for translation.

In this case a translator would see three fragmented strings on
Transifex (and not necessarily grouped beside one another, but even
then, it would still be annoying to decipher):

- "of"
- "result"
- "results"

There is no way a translator is going to know what those sets of words
are actually used for unless they look at the code to see what is being
done with them (which they shouldn't have to do).
2018-09-21 17:45:14 -05:00
Lioncash 333b6a556a gl_stream_buffer: Fix use of bitwise OR instead of logical OR in Map()
This was very likely intended to be a logical OR based off the
conditioning and testing of inversion in one case.

Even if this was intentional, this is the kind of non-obvious thing one
should be clarifying with a comment.
2018-09-21 17:20:42 -05:00
Weiyi Wang d1a576eb14
Merge pull request #4113 from namkazt/soc_recv_from
fix soc service - RecvFrom - SendTo
2018-09-21 12:33:23 -04:00
Weiyi Wang e9ed1c98da
Merge pull request #4114 from namkazt/soc_recv_from_other
Implement soc - RecvFromOther
2018-09-21 12:33:12 -04:00
Weiyi Wang 59982c5479
Merge pull request #4221 from FearlessTobi/port-1238
Port #1238 from yuzu: "common/logging: Minor changes"
2018-09-21 12:32:53 -04:00
fearlessTobi 3ee9f669c1 Address review comments 2018-09-21 16:39:10 +02:00
Lioncash 1cf3ef15b9 common/logging: Amend documentation comments
Multi-line doc comments still need the '<' after the ///, otherwise it's
treated as a regular comment and makes the original doc comment broken
in viewers, IDEs, etc. While we're at it, also fix some typos in the
comments.
2018-09-21 16:26:21 +02:00
Merry bb9e92c77c
Merge pull request #4194 from MerryMage/audiofifo
audio_core: Simplify sink interface
2018-09-21 13:30:51 +01:00
zhupengfei 31dc9003c5
citra_qt/configuration: Add Play Coins setting 2018-09-20 22:42:39 +08:00
James Rowe 687e3e74ca
Merge pull request #3959 from zhaowenlan1779/semi-reset
service/apt: Implement soft reset & CloseApplication
2018-09-19 21:02:59 -06:00
MerryMage c9c7097769 ring_buffer: Fix Push 2018-09-19 07:14:36 +01:00
Weiyi Wang 697bc1a9c7 loader, cfg: choose region based on language if multiple regions available 2018-09-18 10:26:31 -04:00
Lioncash 5ddd382a9b kernel/svc: Do nothing if svcOutputDebugString's length is <= 0
While likely very uncommon, this sanitizes the input and does nothing in
the event of the length being equal to or less than zero, avoiding
constructing a std::string when there's no need to. It also avoids an
out-of-memory scenario, as a negative value would wrap around to its
equivalent unsigned representation in std::string's constructor.

e.g. If someone was silly and a length of -1 was specified, this would
make a string with a length of 0xFFFFFFFFFFFFFFFF on a 64-bit platform,
which will obviously eventually fail due to the allocation being way too
large.
2018-09-17 19:52:53 -04:00
Weiyi Wang f3d59556ef web_backend: protect jwt cache with a mutex 2018-09-17 14:28:58 -04:00
Pengfei Zhu dc863724ac
Merge pull request #4231 from CaptV0rt3x/port-1336
Port #1336 from yuzu
2018-09-17 22:37:40 +08:00
Pengfei Zhu 9a1446886c
Merge pull request #4223 from FearlessTobi/port-1301
Port #1301 from yuzu: "game_list: Resolve variable shadowing within LoadCompatibilityList()"
2018-09-17 22:25:04 +08:00
CaptV0rt3x 48fafaba3e Antialias game list compatibility pixmaps 2018-09-17 19:00:28 +05:30
Lioncash ca3d9d659e kernel/thread: Include thread-related enums within the kernel namespace
Previously, these were sitting outside of the Kernel namespace, which
doesn't really make sense, given they're related to the Thread class
which is within the Kernel namespace.
2018-09-15 17:16:20 +02:00
Lioncash 5dfa7b74b5 thread: Convert ThreadStatus into an enum class
Makes the thread status strongly typed, so implicit conversions can't
happen. It also makes it easier to catch mistakes at compile time.
2018-09-15 17:02:44 +02:00
Lioncash d864d9bf03 game_list: Resolve variable shadowing within LoadCompatibilityList()
"value" is already a used variable name within the outermost ranged-for
loop, so this variable was shadowing the outer one. This isn't a bug,
but it will get rid of a -Wshadow warning.
2018-09-15 15:54:20 +02:00
Lioncash 52f12e303a game_list: Use QJsonValueRef() within LoadCompatibilityList()
This way, we aren't constructing unnecessary QJsonValue instances.
2018-09-15 15:53:36 +02:00
Lioncash 93bd630d40 audio_core/sink_details: Change std::string parameter into std::string_view
The given string is only ever used for lookup and comparison, so we can
just utilize a non-owning view to string data here
2018-09-15 15:48:24 +02:00
Lioncash 83c32b8d22 common/logging/filter: Replace C-style case with C++ static_cast 2018-09-15 15:43:00 +02:00
Lioncash 787fff9a64 common/logging/filter: Make constructor explicit
Implicit conversions aren't desirable here.
2018-09-15 15:41:51 +02:00
zhupengfei 9bd8edb3b6
citra_qt: add Camera tab to "System" category 2018-09-15 14:19:45 +08:00
Weiyi Wang 6767f4562b
Merge pull request #4187 from spycrab/qt_config_sidebar
Qt/Configure: Use sidebar to divide tabs into smaller groups
2018-09-14 16:45:45 -04:00
zhupengfei 458f8d103b
service/ptm: Add Get/SetPlayCoins functions 2018-09-14 22:28:38 +08:00
Weiyi Wang 77c1f647cb web_service: stop using std::future + callback style async 2018-09-13 16:14:34 -04:00
Valentin Vanelslande dce26367a2
ipc: fix typo 2018-09-13 11:51:08 -05:00
Weiyi Wang 0a4d338ffa
Merge pull request #4138 from FearlessTobi/change-web-links
web_service: Unify links for web service endpoints
2018-09-12 16:31:59 -04:00
fearlessTobi b82bf1ccdb Change variable name to web_api_url 2018-09-12 19:07:06 +02:00
Valentin Vanelslande 093987eaa7
Fix #4203 2018-09-11 22:45:12 -05:00
EverOddish 04dd91be82 Initial support for scripting (#4016)
* Add ZeroMQ external submodule

* ZeroMQ libzmq building on macOS

* Added RPC namespace, settings and logging

* Added request queue handling and new classes

* Add C++ interface to ZeroMQ

* Added start of ZeroMQ RPC Server implementation.

* Request construction and callback request handling

* Read and write memory implementation

* Add ID to request format and send reply

* Add RPC setting to macOS UI

* Fixed initialization order bug and added exception handling

* Working read-write through Python

* Update CMakeLists for libzmq to resolve target name conflict on Windows

* Platform-specific CMake definitions for Windows/non-Windows

* Add comments

* Revert "Add RPC setting to macOS UI"

* Always run RPC server instead of configurable

* Add Python scripting example. Updated .gitignore

* Rename member variables to remove trailing underscore

* Finally got libzmq external project building on macOS

* Add missing dependency during libzmq build

* Adding more missing dependencies [skip ci]

* Only build what is required from libzmq

* Extra length checks on client input

* Call InvalidateCacheRange after memory write

* Revert MinGW change. Fix clang-format. Improve error handling in request/reply. Allow any length of data read/write in Python.

* Re-organized RPC static global state into a proper class. [skip ci]

* Make sure libzmq always builds in Release mode

* Renamed Request to Packet since Request and Reply are the same thing

* Moved request fulfillment out of Packet and into RPCServer

* Change request thread from sleep to condition variable

* Remove non-blocking polling from ZMQ server code. Receive now blocks and terminates properly without sleeping. This change significantly improves script speed.

* Move scripting files to dist/ instead of src/

* C++ code review changes for jroweboy [skip ci]

* Python code review changes for jroweboy [skip ci]

* Add docstrings and tests to citra.py [skip ci]

* Add host OS check for libzmq build

* Revert "Add host OS check for libzmq build"

* Fixed a hang when emulation is stopped and restarted due to improper destruction order of ZMQ objects [skip ci]

* Add scripting directory to archive packaging [skip ci]

* Specify C/CXX compiler variables on MinGW build

* Only specify compiler on Linux mingw

* Use gcc and g++ on Windows mingw

* Specify generator for mingw

* Don't specify toolchain on windows mingw

* Changed citra.py to support Python 3 instead of Python 2

* Fix bug where RPC wouldn't restart after Stop/Start emulation

* Added copyright to headers and reorganized includes and forward declarations
2018-09-11 22:00:12 +02:00
NarcolepticK 0d15b99bfc service/cecd: Corrected cecd:s function table 2018-09-11 14:39:48 -04:00
spycrab d63a63cff0 Qt/Configure: Use sidebar to divide tabs into smaller groups 2018-09-11 16:02:39 +02:00
B3n30 0238cf52b7 SDLJoystick: Addressed review comments 2018-09-11 14:50:41 +02:00
NarcolepticK 105bcc95c0 service/cecd: Add hmac handling 2018-09-10 19:53:23 -04:00
NarcolepticK 192a0f3b92 service/cecd: Update handling of /outbox/boxinfo and /outbox/obindex 2018-09-10 04:21:24 -04:00
Weiyi Wang 9df1461cec
Merge pull request #4192 from valentinvanelslande/thread
svc: change unknown to thread in CreateThread
2018-09-09 18:41:51 -04:00
MerryMage a6cf2e1f9d cubeb_sink: Improve logging 2018-09-09 08:37:34 +01:00
MerryMage 675ffc1024 dsp_interface: Move volume control to audio thread
We also clamp the linear volume value to [0.0, 1.0].
Do nothing if linear volume is 1.0.
2018-09-08 22:24:51 +01:00
MerryMage eed55a813e time_stretch: Simplify audio stretcher 2018-09-08 22:09:26 +01:00
MerryMage f34711219a audio_core: Simplify sink interface 2018-09-08 22:09:26 +01:00
MerryMage 761ef78408 common: Implement a ring buffer 2018-09-08 22:09:26 +01:00
Ben 17978cf758
Joystick hotplug support (#4141)
* use SDL_PollEvent instead of SDL_JoystickUpdate

Register hot plugged controller by GUID if they were configured in a previous session

* Move SDL_PollEvent into its own thread

* Don't store SDLJoystick pointer in Input Device; Get pointer on each GetStatus call

* Fix that joystick_list gets cleared after SDL_Quit

* Add VirtualJoystick for InputDevices thats never nullptr

* fixup! Add VirtualJoystick for InputDevices thats never nullptr

* fixup! fixup! Add VirtualJoystick for InputDevices thats never nullptr

* Remove SDL_GameController, make SDL_Joystick* unique_ptr

* fixup! Remove SDL_GameController, make SDL_Joystick* unique_ptr

* Adressed feedback; fixed handling of same guid reconnects

* fixup! Adressed feedback; fixed handling of same guid reconnects

* merge the two joystick_lists into one

* make SDLJoystick a member of VirtualJoystick

* fixup! make SDLJoystick a member of VirtualJoystick

* fixup! make SDLJoystick a member of VirtualJoystick

* fixup! fixup! make SDLJoystick a member of VirtualJoystick
2018-09-08 19:01:30 +02:00
Valentin Vanelslande 5c4da2d218
svc: change unknown to thread in CreateThread 2018-09-08 07:40:24 -05:00
tgsm 5d142e2114 citra: fix SDL logging 2018-09-08 02:51:33 -04:00
zhupengfei a3625b544f
citra_qt/configuration: misc input tab improvements
* Added a context menu on the buttons including Clear & Restore Default

* Allow clearing (unsetting) inputs. Added a Clear All button

* Allow restoring a single input to default (instead of all)
2018-09-08 11:26:10 +08:00
NarcolepticK 648cecf1aa service/cecd: Utilize CryptoPP::Base64Encoder for message id 2018-09-07 23:09:14 -04:00
zhupengfei ad6b140cb0
service/apt: Implement soft reset & CloseApplication 2018-09-08 11:05:23 +08:00
Pengfei Zhu 0d2c027a9d
Merge pull request #4191 from valentinvanelslande/minor-fix
room_member: RakNet -> ENet
2018-09-08 10:05:33 +08:00
Valentin Vanelslande c29c66000e
room_member: RakNet -> ENet 2018-09-07 20:17:24 -05:00
Valentin Vanelslande fc876e727a
room_member: fix 3 typos 2018-09-07 20:12:52 -05:00
NarcolepticK ff1beca74a service/cecd: Fixed enum item naming style 2018-09-07 19:36:33 -04:00
Weiyi Wang 7d8f115185 Prefix all size_t with std::
done automatically by executing regex replace `([^:0-9a-zA-Z_])size_t([^0-9a-zA-Z_])` -> `$1std::size_t$2`
2018-09-06 16:03:28 -04:00
Merry eca98eeb3e
Merge pull request #4143 from zhaowenlan1779/shared-font-text-fix
core, citra_qt: unify status of system archives and shared fonts
2018-09-06 20:51:32 +01:00
NarcolepticK 69b3217394 service/cecd: Addressed comments, code cleanup 2018-09-06 15:50:27 -04:00
NarcolepticK c89759f597 service/cecd: Corrected eventlog.dat creation 2018-09-06 15:50:27 -04:00
NarcolepticK c185c35bc2 service/cecd: Clang format fixup 2018-09-06 15:50:27 -04:00
NarcolepticK dd7234a6d0 service/cecd: Migrate Common::StringFromFormat(...) to fmt::format(...) 2018-09-06 15:50:27 -04:00
NarcolepticK 25e7209d5c service/cecd: Updated function names 2018-09-06 15:50:27 -04:00
NarcolepticK 7a8477d106 service/cecd: Implement mboxlist handling 2018-09-06 15:50:27 -04:00
NarcolepticK 0e8398b51c service/cecd: Update header checks and increased debug logging 2018-09-06 15:50:27 -04:00
NarcolepticK 71204e525f service/cecd: Corrected behaviour, started checking and updating file headers 2018-09-06 15:50:27 -04:00
NarcolepticK d88ad61da4 service/cecd: Output icon to MBoxData.001 and title to MBoxData.010 2018-09-06 15:50:27 -04:00
NarcolepticK 010fbd8614 service/cecd: Update default values for in/out box info header 2018-09-06 15:50:27 -04:00
NarcolepticK d99585aa53 service/cecd: Add MBox directory check to OpenAndRead and OpenAndWrite and added a CreateAndPopulateMBoxDirectory function 2018-09-06 15:50:27 -04:00
NarcolepticK 30bbea3f4e service/cecd: Add initial files to archive after it is formatted 2018-09-06 15:50:27 -04:00
NarcolepticK e27c1bd1f5 service/cecd: Addressed comment about PopEnum 2018-09-06 15:50:27 -04:00
NarcolepticK 413f1651b7 service/cecd: Implement basic file handling functions. 2018-09-06 15:50:26 -04:00
NarcolepticK 2ee395d7de service/cecd: Implement functions 2018-09-06 15:50:26 -04:00
NarcolepticK 5dacf92fd7 service/cecd: Stub some functions 2018-09-06 15:50:26 -04:00
fearlessTobi cf8b1726df Address review comments 2018-09-06 00:00:21 +02:00
fearlessTobi cb3ef488c7 Fixup! string_util: Remove StringFromFormat() and related functions 2018-09-06 00:00:21 +02:00
Lioncash 3284bef360 string_util: Remove StringFromFormat() and related functions
Given we utilize fmt, we don't need to provide our own functions for formatting anymore
2018-09-06 00:00:21 +02:00
Weiyi Wang 22e172946b
Merge pull request #4132 from FearlessTobi/port-966
Port #966 and #414 from yuzu (Cleanups in common and file_util) & Make bitfield assignment operator public
2018-09-05 18:03:36 +03:00
zhupengfei cdd3bd72e5
citra_qt/multiplayer: three minor fixes
* Fix the issue that icons for owned games do not appear

* Fix the issue where you would double click on a room and connect to another

* Fix the issue that room name and nickname does not have size limitation
2018-09-05 22:46:33 +08:00
fearlessTobi d408f89a91 Rename announce-url, use variable for JWT retrieval url 2018-09-05 03:07:04 +02:00
fearlessTobi 73a38c6244 Fix compilation 2018-09-05 03:07:04 +02:00
fearlessTobi 0d6b1d161b web_service: Unify links for web service endpoints 2018-09-05 03:07:03 +02:00
fearlessTobi c7d8ffd14f Make bitfield assignment operator public
This change needs to be made to get the code compiling again. It was suggested after a conversation with Lioncash.

The conversation can be seen here: https://user-images.githubusercontent.com/20753089/45064197-b6107800-b0b2-11e8-9db8-f696299fb86a.PNG
2018-09-05 02:24:44 +02:00
fearlessTobi f3f4871275 Fix compilation errors 2018-09-05 02:19:55 +02:00
B3n30 dfb82b4dfd fixup! fix num_client_certs in CloseClientCertContext 2018-09-04 08:16:25 +02:00
Nguyen Dac Nam a8af14ad12
change buffer index from 1 to 0. 2018-09-04 09:41:34 +07:00
Weiyi Wang ae6007bf9d
Merge pull request #4069 from B3n30/wait_for_service_register
Service::SM: Wait till client is registered
2018-09-04 01:57:28 +03:00
Weiyi Wang fffa55b5d8
Merge pull request #4139 from tgsm/hid-update-table
Service/HID: update function table
2018-09-04 01:47:26 +03:00
Weiyi Wang 2396e58ee4
Merge pull request #4170 from FearlessTobi/port-stupid-fixes
citra_qt: Backport some review fixes of Lioncash
2018-09-04 01:47:03 +03:00
Weiyi Wang 12bba80d48
Merge pull request #4174 from wwylele/proctex-round-fix
gl_rasiterzer/proctex: revert back to round() for Nearest sampling
2018-09-04 01:36:16 +03:00
B3n30 cfd81be661 fixup! fixup! Service::SM: Wait till client is registered 2018-09-02 22:50:13 +02:00
B3n30 ae37b404c6 fixup! fixup! Service::SM: Wait till client is registered 2018-09-02 16:42:41 +02:00
Merry 978611e51e
Merge pull request #4086 from MerryMage/dynarmic-update-201808
externals: Update dynarmic
2018-09-02 09:55:32 +01:00
Merry f1b8d091db
Merge pull request #4157 from FearlessTobi/port-1048
Port #1048 from yuzu: "kernel/object: Tighten object against data races"
2018-09-02 09:54:49 +01:00
Merry b130dd6842
Merge pull request #4161 from FearlessTobi/port-1139
Port #1139 from yuzu: "bit_field: Convert ToBool() into explicit operator bool"
2018-09-02 09:53:50 +01:00
Merry 85e0553a1f
Merge pull request #4165 from B3n30/log_ncch_load
NCCH_Container: Add file_path log to Load()
2018-09-02 09:52:30 +01:00
Merry c99d197ff7
Merge pull request #4156 from FearlessTobi/port-1060
Port #1060 from yuzu: "logging/backend: Use const reference to refer to log filter"
2018-09-02 09:50:57 +01:00
Merry f03cc09998
Merge pull request #4168 from MerryMage/cubeb-lock
cubeb_sink: Protect queue against multithreaded access
2018-09-02 09:49:12 +01:00
fearlessTobi 488694d01f Replace ToBool() with static_cast() 2018-09-01 15:50:57 +02:00
Lioncash 6c3737a786 bit_field: Convert ToBool() into explicit operator bool
Gets rid of a TODO that is long overdue.
2018-09-01 15:44:09 +02:00
fearlessTobi 2f6f232965 Backport some review fixes of Lioncash 2018-09-01 15:41:46 +02:00
Weiyi Wang 99f4ea999c gl_rasiterzer/proctex: revert back to round() for Nearest sampling
This change to floor() was made in 2927c88, which was a result of doing some hwtest. It turned out that it was buggy edge cases in PICA, and for most cases round() still applies
2018-09-01 09:11:15 -04:00
Weiyi Wang b4fdce0c2c
Merge pull request #4171 from zhaowenlan1779/remove-glad-hack
Tests: Remove glad test OS X work-around
2018-09-01 15:30:06 +03:00
Yuri Kunde Schlesner 23506e8eae
Tests: Remove glad test OS X work-around 2018-09-01 11:44:24 +08:00
Pengfei Zhu 987e1279a3
Merge pull request #4155 from FearlessTobi/port-1062
Port yuzu-emu/yuzu#1062 from yuzu: "common: Remove unused old breakpoint source files"
2018-09-01 10:27:18 +08:00
Lioncash 664e92d6ae common: Remove unused old breakpoint source files
These currently aren't used and contain commented out source code that
corresponds to Dolphin's JIT. Given our CPU code is organized quite
differently, we shouldn't be keeping this around (at the moment it just
adds to compile times marginally).
2018-09-01 00:04:25 +02:00
Weiyi Wang ffd78b635e
Merge pull request #4163 from FearlessTobi/port-1097
Port #1097 from yuzu: "renderer_opengl: Treat OpenGL errors as critical."
2018-08-31 21:43:52 +03:00
MerryMage 7daed185cb cubeb_sink: Protect queue against multithreaded access 2018-08-31 18:44:19 +01:00
Pengfei Zhu ac419c8612
Merge pull request #4159 from FearlessTobi/port-1067
Port yuzu-emu/yuzu#1067 from yuzu: "emu_window: Ensure WindowConfig members are always initialized"
2018-08-31 19:44:33 +08:00
Pengfei Zhu 13f2cc9964
Merge pull request #4162 from FearlessTobi/port-1126
Port yuzu-emu/yuzu#1126 from yuzu: "Don't allocate std::string instances for program lifetime in GetTelemetryId() and RegenerateTelemetryId()"
2018-08-31 17:39:49 +08:00
B3n30 bfbb6f13b4 NCCH_COntainer: Add file_path log to Load() 2018-08-31 11:00:34 +02:00
Pengfei Zhu 1016d288c5
Merge pull request #4160 from FearlessTobi/port-1133
Port #1133 from yuzu: "gl_stream_buffer: Add missing header guard"
2018-08-31 16:18:10 +08:00
Pengfei Zhu 0fe57d075a
Merge pull request #4158 from FearlessTobi/port-933
Port #933 from yuzu: Multiple cleanups in memory
2018-08-31 14:38:43 +08:00
Pengfei Zhu 270155066c
Merge pull request #4154 from FearlessTobi/port-1063
Port #1063 from yuzu: "common/xbyak_abi: Mark defined functions in header as inline "
2018-08-31 12:59:29 +08:00
bunnei ffdc27351a renderer_opengl: Treat OpenGL errors as critical. 2018-08-31 01:56:38 +02:00
Lioncash 893f6e9766 telemetry_session: Don't allocate std::string instances for program lifetime in GetTelemetryId() and RegenerateTelemetryId()
Given these functions aren't intended to be used frequently, there's no
need to keep the std::string instances allocated for the whole lifetime
of the program. It's just a waste of memory.
2018-08-31 01:51:32 +02:00
Lioncash 6d280cb49a gl_stream_buffer: Add missing header guard
Prevents potential compilation errors from occuring due to multiple
inclusions
2018-08-31 01:45:44 +02:00
Lioncash d82ecb67f7 emu_window: Ensure WindowConfig members are always initialized
Previously we weren't always initializing all members of the struct.
Prevents potentially wonky behavior from occurring.
2018-08-31 00:55:04 +02:00
Lioncash 8fa861c2c6 memory: Make prototype parameter names match their definitions
Keeps the code consistent.
2018-08-31 00:33:20 +02:00
Lioncash 379b8c65b9 memory: Remove unnecessary const qualifiers in prototypes
These aren't necessary, as value-wise const only matters in the
definition.
2018-08-31 00:22:55 +02:00
Lioncash c47e1db46d kernel/object: Tighten object against data races
Despite being covered by a global mutex, we should still ensure that the
class handles its reference counts properly. This avoids potential
shenanigans when it comes to data races.

Given this is the root object that drives quite a bit of the kernel
object hierarchy, ensuring we always have the correct behavior (and no
races) is a good thing.
2018-08-31 00:14:48 +02:00
Lioncash 8fbfd0f7fa logging/backend: Use const reference to refer to log filter
The filter is returned via const reference, so this was making a
pointless copy of the entire filter every time a message was being
pushed into the logger instance.
2018-08-31 00:13:15 +02:00
Lioncash 0fbae792cf common/xbyak_abi: Mark defined functions in header as inline
Avoids potential One Definition Rule violations when these are used in
the future.
2018-08-31 00:08:42 +02:00
Lioncash d6bf1b31c8 common/xbyak: Use nested namespace specifiers where applicable 2018-08-31 00:08:34 +02:00
Lioncash ff1f7555de vector_math: Use variable template version of is_signed in Vec classes
Same behavior, less code
2018-08-30 23:38:32 +02:00
tgsm 7136777fec Service/HID: update function table
update
2018-08-29 17:51:47 -04:00
zhupengfei f28bc28d6b
core, citra_qt: unify status of system archives and shared fonts
Shared fonts is no different from any other system archives, and there is not really any point to make a separate status for it. This also fixes the incorrect error message that was introduced when I made the UI text improvements.
2018-08-27 22:40:35 +08:00
James Rowe 05118a2326
Merge pull request #4130 from FearlessTobi/port-942
Port #942 from yuzu: "qt: Minor cleanup-related changes"
2018-08-26 12:22:34 -06:00
James Rowe 83cc398514
Merge pull request #4127 from FearlessTobi/port-929
Port #929 from yuzu: "gdbstub: Minor changes "
2018-08-26 12:21:11 -06:00
James Rowe a6723ec2eb
Merge pull request #4126 from FearlessTobi/port-892
Port #892 from yuzu: "Make global EmuWindow instance part of the base renderer class"
2018-08-26 12:00:55 -06:00
James Rowe 50270fd791
Merge pull request #4059 from zhaowenlan1779/udp-input-ui
citra_qt: add motion/touch config
2018-08-26 11:56:50 -06: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
James Rowe 13262c187c
Merge pull request #3922 from zhaowenlan1779/qt-movie
movie: Add Qt Movie feature
2018-08-26 11:07:15 -06:00
MerryMage 1817e30eff arm_dynarmic: Print current instruction when ExceptionRaised 2018-08-26 00:50:40 +01:00
MerryMage 75f3d2ba31 externals: Update dynarmic to 7a2a4c8 2018-08-26 00:50:38 +01:00
Merry 9b9227089b
Merge pull request #4121 from FearlessTobi/port-894
Port #894 from yuzu: "kernel: Move object class to its own source files"
2018-08-26 00:02:33 +01:00
Tobias 604c1b5fc3
web_service: Change authentication system to use JWT (#4041)
* Change authentication system to JWT

* Address review comments
* Get rid of global variable, fix some documentations, fix a bug when verificating
* Refactor PostJson to avoid code duplication
* Rename jwt_token, add functionality to request a new JWT when getting a 401
* Take bools by value instead of const reference
* Send request again when JWT is invalid and use forward declarations
* Omit brackets
2018-08-25 21:39:23 +02:00
Lioncash 91559bfdfe gdbstub: Use type alias for breakpoint maps
Rather than having to type out the full std::map type signature, we can
just use a straightforward alias. While we're at it, rename
GetBreakpointList to GetBreakpointMap, which makes the name more
accurate. We can also get rid of unnecessary u64 static_casts, since
VAddr is an alias for a u64.
2018-08-25 15:34:21 +02:00
fearlessTobi 80f1ffd8dc Remove newline 2018-08-25 15:27:47 +02:00
Lioncash 8a109333b7 gdbstub: Move all file-static variables into the GDBStub namespace
Keeps everything under the same namespace. While we're at it, enclose
them all within an inner anonymous namespace
2018-08-25 15:27:46 +02:00
Lioncash db8ec37066 gdbstub: Replace PAddr alias with VAddr
In all cases, a virtual address is being passed in, not a physical one.
2018-08-25 15:25:12 +02:00
fearlessTobi f61c9c3eb7 video_core: Make global EmuWindow instance part of the base renderer …
…class

Makes the global a member of the RendererBase class. We also change this
to be a reference. Passing any form of null pointer to these functions
is incorrect entirely, especially given the code itself assumes that the
pointer would always be in a valid state.

This also makes it easier to follow the lifecycle of instances being
used, as we explicitly interact the renderer with the rasterizer, rather
than it just operating on a global pointer.
2018-08-25 15:20:40 +02:00
Merry b49d042200
Merge pull request #4101 from Hedges/GDBClean
GDB Modernization
2018-08-25 13:58:38 +01:00
fearlessTobi 4bf76833b8 Clean up aboutdialog.h 2018-08-25 14:45:50 +02:00
fearlessTobi 8fceac801c Fix clang-format 2018-08-25 14:05:59 +02:00
Lioncash cb1825a769 qt/hotkey: Get rid of global hotkey map instance
Instead, we make a proper registry class and house it within the main
window, then pass it to whatever needs access to the loaded hotkeys.

This way, we avoid a global variable, and don't need to initialize a
std::map instance before the program can do anything.
2018-08-25 13:43:11 +02:00
Merry 0a5621fafc
Merge pull request #3970 from FearlessTobi/more-popup-madness
citra_qt: Add more verbose popups for video_core errors
2018-08-24 19:21:35 +01:00
Merry 31133a4f2e
Merge pull request #4133 from FearlessTobi/port-968
Port #968 from yuzu: "vector_math: Minor cleanups"
2018-08-24 19:08:17 +01:00
Merry d4125ea4d7
Merge pull request #4119 from FearlessTobi/port-911
Port #911 from yuzu: "video_core: Remove unimplemented Start() function prototype"
2018-08-24 19:03:42 +01:00
Merry c824564fcf
Merge pull request #4120 from FearlessTobi/port-895
Port #895 from yuzu: "sink_details: std::move std::function instances "
2018-08-24 19:03:27 +01:00
Merry cf4f8463f1
Merge pull request #4122 from FearlessTobi/port-905
Port #905 from yuzu: "kernel/vm_manager: Minor changes"
2018-08-24 19:01:57 +01:00
Merry f2816aa430
Merge pull request #4123 from FearlessTobi/port-914
Port #914 from yuzu: "kernel/process: Use accessors instead of class members for referencing segment array"
2018-08-24 19:01:07 +01:00
Merry ed79288e41
Merge pull request #4124 from FearlessTobi/port-907
Port #907 from yuzu: "yuzu: Use Qt 5 signal/slots where applicable"
2018-08-24 19:00:10 +01:00
Merry 702ca755b3
Merge pull request #4131 from FearlessTobi/port-943
Port #943 from yuzu: "game_list: Join declarations and assignments in onTextChanged()"
2018-08-24 18:54:31 +01:00
zhaowenlan1779 3b37818e5e Port "externals: Update catch to 2.3.0" from yuzu (#4060)
* externals: Update catch to 2.3.0

Updates the library from 2.2.3 to 2.3.0

* fix catch2/catch.hpp includes
2018-08-24 19:45:57 +02:00
zhaowenlan1779 642f0bd62b Port "kernel/event: Make data members private" from yuzu (#4077)
* kernel/event: Make data members private

Instead we can simply provide accessors to the required data instead of
giving external read/write access to the variables directly.

* fix compile error
2018-08-24 19:43:28 +02:00
zhaowenlan1779 75927ee462 Port "client_port: Make all data members private" from yuzu (#4064)
* client_port: Make all data members private

These members don't need to be entirely exposed, we can instead expose
an API to operate on them without directly needing to mutate them

We can also guard against overflow/API misuse this way as well, given
active_sessions is an unsigned value.

* make the condition an assert
2018-08-24 19:31:20 +02:00
Lioncash c5d0a0ac65 vector_math: Remove unimplemented function prototypes 2018-08-24 18:46:24 +02:00
Lioncash d10e579292 vector_math: Make functions constexpr where applicable 2018-08-24 18:46:01 +02:00
Lioncash 6b1ec838aa vector_math: Convert typedefs to type aliases 2018-08-24 18:37:18 +02:00
Lioncash bf964ac6e9 common: Convert type traits templates over to variable template versions where applicable
Uses the C++17 inline variable variants
2018-08-24 18:22:42 +02:00
Lioncash a74ba1cd59 file_util: Remove compiler version checks around is_trivially_copyable()
The minimum clang/GCC versions we support already support this. We can also
remove is_standard_layout(), as fread and fwrite only require the type to be
trivially copyable.
2018-08-24 18:18:11 +02:00
fearlessTobi c8b1edac63 Port #943 from yuzu: "game_list: Join declarations and assignments in onTextChanged()" 2018-08-24 17:28:00 +02:00
fearlessTobi 1f0cbf43d6 Port #942 from yuzu: "qt: Minor cleanup-related changes" 2018-08-24 17:14:09 +02:00
Lioncash 79434d3d4c citra-qt: Use Qt 5 signal/slots where applicable
Makes the signal/slot connections type-safe instead of string-based.
2018-08-23 18:34:25 +02:00
fearlessTobi 2abe11ee1e Fix compile errors 2018-08-23 18:23:21 +02:00
Lioncash c786df3e4b kernel/process: Use std::array where applicable 2018-08-23 18:08:20 +02:00
Lioncash 37e78de206 kernel/process: Use accessors instead of class members for referencing segment array
Using member variables for referencing the segments array increases the
size of the class in memory for little benefit. The same behavior can be
achieved through the use of accessors that just return the relevant
segment.
2018-08-23 18:08:03 +02:00
Lioncash 469ed4a09f kernel/vm_manager: Convert loop into std::any_of() 2018-08-23 17:53:37 +02:00
Lioncash c7e1dab45b kernel/vm_manager: Use const where applicable
Makes our immutable state explicit.
2018-08-23 17:53:20 +02:00
Lioncash bb88c3b7b5 kernel/vm_manager: Use the VAddr type alias in CarveVMA()
These two variables correspond to address ranges.
2018-08-23 17:39:18 +02:00
Lioncash 63c7b44ba8 kernel: Move object class to its own source files
General moving to keep kernel object types separate from the direct
kernel code. Also essentially a preliminary cleanup before eliminating
global kernel state in the kernel code.
2018-08-23 17:31:59 +02:00
Lioncash 29e5dec986 sink_details: Deduplicate long std::function repetition
We can just use type aliases to avoid needing to write the same long
type twice
2018-08-23 17:03:09 +02:00
Lioncash 50b58da56c sink_details: std::move std::function instances
Given std::function is allowed to potentially allocate, these should be
std::move'd to prevent potential reallocation (should that ever happen).
2018-08-23 17:03:00 +02:00
Lioncash d944d1120f video_core: Remove unimplemented Start() function prototype
Given this has no definition, we can just remove it entirely.
2018-08-23 16:58:30 +02:00
Nguyen Dac Nam 41f256f3cd
fix clang-format 2018-08-21 22:22:50 +07:00
Nguyen Dac Nam 8d98a387ac
only get src_adr if input_adr available 2018-08-21 21:39:45 +07:00
Nguyen Dac Nam 0e89555a89
only get src_adr if input_adr available 2018-08-21 21:33:19 +07:00
Nguyen Dac Nam e8bb79be2d
do not init and copy to ctr_dest_addr unless have data 2018-08-21 20:51:13 +07:00
Nguyen Dac Nam 3b736a72a5
fix clang-format 2018-08-21 13:45:28 +07:00
Nguyen Dac Nam c5eec5656d
add RecvFromOther cmd 2018-08-21 13:40:11 +07:00
Nguyen Dac Nam 2cb979ed29
add header RecvFromOther 2018-08-21 13:38:14 +07:00
Nguyen Dac Nam fc8c199895
fix soc service - RecvFrom crash on Citra but not on 3DS 2018-08-21 12:59:02 +07:00
Nguyen Dac Nam 7d8569d799
fix soc service - Fcntl failed on validate header 2018-08-21 12:14:18 +07:00
James Rowe b3ca900ba7 Revert "Set DiscordRPC OFF by default (#4109)"
This reverts commit 516be14a6b.
2018-08-20 10:34:58 -06:00
Vamsi Krishna 516be14a6b Set DiscordRPC OFF by default (#4109) 2018-08-20 16:19:12 +02:00
zhupengfei 9d056282df citra_qt: record movie record/playback path 2018-08-20 11:36:00 +02:00
zhupengfei 3b459f6eb3 citra_qt, movie: allow recording/playback before emulation starts 2018-08-20 11:34:27 +02:00
zhupengfei a9ad8daf47 citra_qt: Add movie frontend 2018-08-20 11:34:26 +02:00
zhupengfei 0f44f7b481 core/movie: Movie refactor, add a completion callback 2018-08-20 11:27:25 +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
fearlessTobi b19e88a9f4 Small fixup 2018-08-19 16:46:10 +02:00
fearlessTobi 4cd737abae Address zhaowenlans feedback 2018-08-19 15:53:46 +02:00
fearlessTobi d1c5f01afe Add more verbose popups for video_core errors 2018-08-19 15:48:40 +02:00
Jarek Syrylak 039fb95f80 More fixes as per PR feedback. 2018-08-16 19:44:31 +01:00
Jarek Syrylak a6ecb3c913 Fixed as per PR feedback. 2018-08-16 16:24:16 +01:00
Jarek Syrylak bd658a8801 GDB Modernization:
- Can be used in either DynCom or Dynarmic mode
- Added support for threads
- Proper support for FPU registers
- Fix for NibbleToHex conversion that used to produce false error codes
- Fix for clang-format failing under Windows
2018-08-16 10:40:52 +01:00
zhaowenlan1779 5c5aad09ce qt_themes: add two colorful themes (#4004)
* qt_themes: add two colorful themes

These two colorful themes are based on the Default and Dark themes, and contain icons that are colored rather than black and white. These icons come from https://icons8.com and they have been slightly revised by me. I'm pretty sure I was licensed to use them for Citra.

* Add license for icons
2018-08-16 10:39:23 +02:00
James Rowe 20cb8f66db
Merge pull request #4099 from zhaowenlan1779/lle-service-modules-fixup
citra_qt: set object name for LLEServiceModulesWidget
2018-08-14 10:48:03 -06:00
zhaowenlan1779 e837717592
citra_qt: set object name for LLEServiceModulesWidget
Gets rid of a qt error that occurs when Citra is closed.
2018-08-14 20:28:47 +08:00
James Rowe aed15a8d9d
Merge pull request #4012 from zhaowenlan1779/ui-retext
citra_qt: UI text improvements
2018-08-13 23:31:39 -06:00
CodingKoopa 8cbb60c281 Change level of invalid UDP packet log message from Error to Debug. 2018-08-12 22:17:34 -04:00
Valentin Vanelslande 2c31bd1a52
network: fix 3 typos 2018-08-12 17:55:15 -05:00
Weiyi Wang 1b1439c6af NWM_UDS: use sizeof(<var being used>) instead of hard-coded type (#4093)
* NWM_UDS: use sizeof(<var being used>) instead of hard-coded type

Intend to fix #4090. 

` node_map.node.second` type was changed to `u16` in #3985. However the type change wasn't reflected here. Should have used variable name instead to automatically do type change

* NWM_UDS: ... and also the node.first one

* NWM_UDS: ... and here

* Network: bump version because we changed UDS packet layout

* Update nwm_uds.cpp
2018-08-12 22:47:48 +02:00
Merry c18a7896e0
Merge pull request #4078 from zhaowenlan1779/port-yuzu-934
Port " core_timing: Make GetGlobalTimeUs() return std::chrono::microseconds" from yuzu
2018-08-11 10:26:21 +01:00
zhupengfei 8db6822ee9
citra_qt: add motion/touch config 2018-08-11 14:16:44 +08:00
zhupengfei 8af89b6979
input_common, common: Add a few functions
These functions include reloading udp client, testing communication and configuring calibration. I also added a function to common/thread.h to use WaitFor.
2018-08-11 14:09:35 +08:00
zhupengfei e1ae14d508
input_common/udp: allow changing pad index 2018-08-11 13:23:10 +08:00
Merry d1c364bb85
Merge pull request #4073 from zhaowenlan1779/port-yuzu-988
Port "common/color: Minor cleanup" from yuzu
2018-08-10 21:18:01 +01:00
Merry c0346718fd
Merge pull request #4076 from zhaowenlan1779/port-yuzu-945
qt/main: Better file-existence checking within OnMenuRecentFile() and UpdateUITheme()
2018-08-10 21:17:32 +01:00
Merry 4aec7ec96b
Merge pull request #4079 from zhaowenlan1779/port-yuzu-932
Port "core_timing: Use transparent functors where applicable" from yuzu
2018-08-10 21:15:00 +01:00
Merry 0b798ab7a2
Merge pull request #4081 from zhaowenlan1779/port-yuzu-900
Port "math_util: Always initialize members of Rectangle" from yuzu
2018-08-10 21:09:02 +01:00
Merry f201484c63
Merge pull request #4082 from zhaowenlan1779/port-yuzu-906
Port "input_common: minor changes" from yuzu
2018-08-10 21:08:49 +01:00
Merry 44fc338f21
Merge pull request #4083 from zhaowenlan1779/port-yuzu-904
Port "kernel/thread: Minor changes" from yuzu
2018-08-10 21:08:22 +01:00
Lioncash 39d5ada4e1 kernel/thread: Remove unimplemented function prototype
Given there's no implementation, we may as well remove the code
entirely.
2018-08-10 17:05:01 +08:00
B3n30 10ef3109a4 fix num_client_certs in CloseClientCertContext 2018-08-10 09:55:59 +02:00
Lioncash 596caf70b7 kernel/thread: Make GetFreeThreadLocalSlot()'s loop indices size_t
Avoids using a u32 to compare against a range of size_t, which can be a
source of warnings. While we're at it, compress a std::tie into a
structured binding.
2018-08-10 10:13:50 +08:00
Lioncash 893d9c5ff3 kernel/thread: Make GetFreeThreadLocalSlot() reference parameter a const reference
This function only reads the data being referenced, it doesn't modify
it, so we can turn the reference into a const reference.
2018-08-10 10:13:49 +08:00
Lioncash c71c9e63ec kernel/thread: Make GetFreeThreadLocalSlot() internally linked
This function isn't used outside of this translation unit, so we can
make it internally linked.
2018-08-10 10:13:48 +08:00
Lioncash 384c9e5382 input_common: Use std::move where applicable
Avoids unnecessary atomic reference count increments and decrements
2018-08-10 10:12:30 +08:00
Lioncash 8ce104f0a0 input_common: Add missing override specifiers 2018-08-10 10:12:29 +08:00
Lioncash 23e8dd66c4 math_util: Always initialize members of Rectangle
Prevents potentially using the members uninitialized.
2018-08-10 10:11:25 +08:00
Lioncash a431c85b6b core_timing: Convert typedef into a type alias
Makes the alias a little more readable from left-to-right.
2018-08-10 10:00:36 +08:00
Lioncash 196ab8be89 core_timing: Use transparent functors where applicable
Gets rid of the need to hardcode the type in multiple places. This will
now be deduced automatically, based off the elements in the container
being provided to the algorithm.
2018-08-10 09:59:17 +08:00
Lioncash 660be9499d core_timing: Make GetGlobalTimeUs() return std::chrono::microseconds
Enforces the time unit being returned and also allows using the standard
time utilities to manipulate it.
2018-08-10 09:56:17 +08:00
Lioncash 265e875e5b
qt/main: Better file-existence checking within OnMenuRecentFile() and UpdateUITheme() 2018-08-10 09:45:48 +08:00
Lioncash 319d685b13 common/color: Remove unnecessary const qualifiers on return types
These are just superfluous and not necessesary
2018-08-10 09:35:28 +08:00
Lioncash b956a2be1c common/color: Get rid of undefined behavior
Gets rid of type punning via reinterpret_cast within functions. Instead,
we use memcpy to transfer the contents across types.
2018-08-10 09:35:27 +08:00
B3n30 c431b922d0 fix error code comment 2018-08-09 23:55:04 +02:00
B3n30 c6bdcf72a4 service::HTTP_C: Implement OpenClientCertContext, OpenDefaultClientCertContext, CloseClientCertContext 2018-08-09 23:05:09 +02:00
Ben 5e658efdb8
Service::HTTP_C: Add decryption of the ClCertA (#4045)
* Service::HTTP_C: Add decryption of the ClCertA

* fixup! Service::HTTP_C: Add decryption of the ClCertA

* fixup! Service::HTTP_C: Add decryption of the ClCertA

* FileSys:: Add MakeNCCHArchivePath and MakeNCCHFilePath; Small fixes in HTTP_C::DecryptDefaultClientCert

* fixup! fixup! Service::HTTP_C: Add decryption of the ClCertA

* fixup! fixup! fixup! Service::HTTP_C: Add decryption of the ClCertA
2018-08-09 23:02:53 +02: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 dceb4150a8
Merge pull request #4065 from zhaowenlan1779/port-yuzu-947
game_list: Use QString::fromStdString() where applicable instead of c_str()
2018-08-09 09:41:35 -06:00
James Rowe 77573b93ce
Merge pull request #4066 from zhaowenlan1779/port-yuzu-946
Port "qt/main: Collapse if statement in UpdateRecentFiles()" from yuzu
2018-08-09 09:41:10 -06:00
James Rowe 22c0575cf4
Merge pull request #4061 from zhaowenlan1779/port-yuzu-967
Port "file_util: Avoid sign-conversions in WriteArray() and ReadArray()" from yuzu
2018-08-09 09:40:26 -06:00
James Rowe cc6d3ce22f
Merge pull request #4053 from Steveice10/master
am: Corrections to handling of non-existent content indices.
2018-08-09 09:39:44 -06:00
B3n30 aa98e55a88 fixup! Service::SM: Wait till client is registered 2018-08-08 23:42:45 +02:00
B3n30 02a3b5ae2b Service::SM: Wait till client is registered 2018-08-08 23:30:48 +02:00
Weiyi Wang 84fc8eaaba
Merge pull request #4020 from wwylele/loader-crypto-new
ncch_container: support encrypted games
2018-08-08 22:12:19 +03:00
Ben 8ae126eb33
Merge pull request #4001 from Subv/http2
Services/HTTP: Corrected some error codes and added a few new ones.
2018-08-08 15:37:33 +02:00
Subv b72e7d48e8 Service/HTTP: Added logs to some of the error conditions. 2018-08-08 08:32:46 -05:00
zhupengfei a51c700f59
Port "qt/main: Collapse if statement in UpdateRecentFiles()" from yuzu 2018-08-08 16:55:23 +08:00
zhupengfei b71fbe62a8
game_list: Use QString::fromStdString() where applicable instead of c_str() 2018-08-08 16:43:59 +08:00
Lioncash 0495ba5d91 file_util: Avoid sign-conversions in WriteArray() and ReadArray()
Prevents compiler warnings.
2018-08-08 15:45:31 +08:00
James Rowe 93386efccb
Merge pull request #4056 from zhaowenlan1779/clear-recent-files
citra_qt: add Clear Recent Files menu action
2018-08-07 21:28:33 -06:00
James Rowe 169bb29a54 Correct direction vectors for cemuhook motion input 2018-08-07 21:05:09 -06: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
wwylele d4a808c885 ncch_container: support encrypted games 2018-08-07 18:53:06 +03:00
zhupengfei 6a1f9afbba
citra_qt: add Clear Recent Files menu action
I had to edit a bit of the Restart action so that it does not go wrong because recent files are cleared.
2018-08-06 09:19:35 +08:00
James Rowe 0233f3286c
Merge pull request #4052 from zhaowenlan1779/bg-color-real-fix
video_core: Allow changing background color while emulation is running
2018-08-04 09:27:30 -06:00
Steveice10 4c3961d5dd am: Correct ListDLCContentInfos index bounds. 2018-08-04 01:27:05 -07:00
Steveice10 d93ed644f6 am: Return empty path string for non-existent content indices. 2018-08-04 01:03:29 -07:00
zhupengfei 0c37140690 video_core: Allow changing background color while emulation is running
As @jroweboy stated, this is just one more atomic in VideoCore.
2018-08-04 15:11:51 +08:00
zhupengfei 9937cab2cd
citra: default_ini bg color default value fix
I discovered this while making changing background color.. Just a minor nit.
2018-08-04 12:20:47 +08:00
Subv 79db1f8b49 Service/HTTP: Log the PIDs in the Initialize functions. 2018-08-03 15:24:26 -05:00
Weiyi Wang 5bc72cca6b
Merge pull request #3924 from zhaowenlan1779/settings
citra_qt: Settings (configuration) default value fix
2018-08-03 23:09:57 +03:00
zhupengfei 650c20eebf
citra_qt: Settings (configuration) rework 2018-08-03 13:49:30 +08:00
James Rowe 751e00a615
Merge pull request #3902 from valentinvanelslande/restart
citra_qt: add restart hotkey & menu option
2018-08-02 22:55:07 -06:00
James Rowe 6bc87cdf3e
Merge pull request #3987 from zhaowenlan1779/language-config-fix-2
citra_qt/configuration: retranslate hotkey widget on language change
2018-08-02 11:15:27 -06:00
James Rowe c35a251d86
Merge pull request #3985 from BreadFish64/fix-warnings
core: clean up warnings
2018-08-02 11:14:57 -06:00
James Rowe 14b0435df2
Merge pull request #3994 from FearlessTobi/replace-clamp-functions
Remove MathUtil::Clamp and replace it with its std:: counterpart
2018-08-02 11:08:07 -06:00
James Rowe cafe9838b5
Merge pull request #4047 from zhaowenlan1779/bg-color
citra_qt/configuration: Add background color config
2018-08-02 11:05:20 -06:00
James Rowe 4b59c1b601
Merge pull request #4042 from wwylele/i-love-drivers
gl_rasterizer: apply AMD hack only when the vendor is AMD
2018-08-02 11:01:25 -06:00
James Rowe c771dd9813
Merge pull request #4021 from FearlessTobi/port-709
Port #709 from yuzu: "common/misc: Deduplicate code in GetLastErrorMsg()
2018-08-02 11:00:53 -06:00
Weiyi Wang 5bf87e986e
Merge pull request #4040 from valentinvanelslande/lighting
swrasterizer/lighting: remove newline in logging macro
2018-08-02 11:18:03 +03:00
Weiyi Wang 9b558253a0
Merge pull request #4031 from zhaowenlan1779/port-yuzu-723
Port "gdbstub: Get rid of a few signed/unsigned comparisons" from yuzu
2018-08-02 11:17:38 +03:00
Weiyi Wang 27b015e652
Merge pull request #4011 from zhaowenlan1779/cmake-warning
citra_qt/CMakeLists: get rid of a warning
2018-08-02 11:16:46 +03:00
Weiyi Wang 14bc20fc8d
Merge pull request #3996 from NarcolepticK/dsp-remove-weakptr
service/dsp: Clean up global state
2018-08-02 11:14:59 +03:00
zhupengfei 60edddac7d
citra_qt/configuration: Add background color config
This is actually very easy to do. I added a label and a push button for it, and used the Qt standard dialog QColorDialog for picking colors.
2018-08-02 11:39:27 +08:00
BreadFish64 aa4b71d0ce update fmt to latest stable release
5.1.0
fixes a multitude of errors on MSVC
2018-08-01 14:10:24 -05:00
BreadFish64 74cd98ecad core: clean up warnings 2018-08-01 14:10:23 -05:00
Merry ba6eee71f5
Merge pull request #4024 from zhaowenlan1779/port-yuzu-745
Port yuzu-emu/yuzu#745 from yuzu
2018-08-01 15:02:40 +01:00
Merry 6a9e18a49a
Merge pull request #4022 from zhaowenlan1779/port-yuzu-837
Port yuzu-emu/yuzu#837 from yuzu
2018-08-01 15:01:17 +01:00
Merry 703da21688
Merge pull request #4046 from zhaowenlan1779/config-camera-retranslate
citra_qt/configuration: retranslate camera tab
2018-08-01 15:00:12 +01:00
zhupengfei 51d05bd42b citra_qt/configuration: retranslate camera tab
It was really a stupid mistake..
2018-08-01 21:51:38 +08:00
Lioncash 8e103d0675
kernel/timer: Make data members private where applicable
Instead, we can just expose functions that return the queryable state
instead of letting anything modify it.
2018-08-01 17:49:52 +08:00
zhupengfei 383dd967d1
citra_qt: UI text improvements
Changed a few texts that are not so good in the UI according to
@neobrain.
2018-08-01 17:32:33 +08:00
Lioncash b92af5a858
param_package: Take std::string by value in string-based Set() function
Allows avoiding string copies by letting the strings be moved into the
function calls.
2018-08-01 17:21:11 +08:00
wwylele 266f2b6242 gl_rasterizer: only apply AMD hack when the vendor is AMD 2018-07-31 22:58:17 +03:00
Valentin Vanelslande b2ad88dac1
swrasterizer/lighting: remove newline in logging macro
Software rasterizer version of #3904
2018-07-30 16:09:16 -05:00
James Rowe 05eb0ccb03
Merge pull request #4014 from wwylele/old-service
service: remove deprecated service interface
2018-07-30 11:31:54 -06:00
Merry 9af731793a
Merge pull request #4025 from zhaowenlan1779/port-yuzu-775
Port "string_util: Minor changes" from yuzu
2018-07-30 18:28:38 +01:00
Merry ec76cd82b0
Merge pull request #4037 from zhaowenlan1779/port-yuzu-710
Port "common/common_funcs: Remove unused rotation functions" from yuzu
2018-07-30 18:28:11 +01:00
James Rowe 7b46b7e29a
Merge pull request #4010 from zhaowenlan1779/statusbar-retheme
qt_themes: add themed connected/disconnected icons for dark and fix status bar theme updating
2018-07-30 10:35:42 -06:00
James Rowe ecb3dc2fb8
Merge pull request #4038 from zhaowenlan1779/port-yuzu-711
Port "common/swap: Minor changes" from yuzu
2018-07-30 10:21:49 -06:00
James Rowe 8fd9f22657
Merge pull request #4030 from zhaowenlan1779/port-yuzu-743
Port "logging: Use std::string_view where applicable" from yuzu
2018-07-30 10:19:28 -06:00
zhupengfei 5a47cbed17
no need to cast to u32 according to @wwylele comment 2018-07-30 22:40:56 +08:00
Lioncash b4cdbf3ee8
gdbstub: Get rid of a few signed/unsigned comparisons
Ensures both operands in comparisons are the same signedness.
2018-07-30 22:40:43 +08:00
zhupengfei 5d7ccfb920
citra_qt/CMakeLists: get rid of a warning
This got rid of a warning of CMake Policy CMP0071 not set. In fact, setting it to either OLD or NEW is same for Citra (I tested on MSVC and MinGW), and the OLD option is deprecated, so I am using NEW here.
2018-07-30 22:32:48 +08:00
Lioncash 1a0529a064 common/swap: Remove unnecessary const on return value of swap() 2018-07-30 21:30:15 +08:00
Lioncash a2203e1566 common/swap: Use static_cast where applicable 2018-07-30 21:30:14 +08:00
Lioncash 5a66820c20 common/swap: Use using aliases where applicable 2018-07-30 21:30:13 +08:00
fearlessTobi b0c35c54ca Fix travis MinGW build 2018-07-30 14:50:23 +02:00
fearlessTobi 15abf35889 Address feedback by wwylele 2018-07-30 14:46:13 +02:00
Lioncash b539745153 common/common_funcs: Remove unused rotation functions
These are unused and essentially don't provide much benefit either. If
we ever need rotation functions, these can be introduced in a way that
they don't sit in a common_* header and require a bunch of ifdefing to
simply be available
2018-07-30 20:08:59 +08:00
Ben b4524eb70b
Merge pull request #3988 from zhaowenlan1779/multiplayer-block
citra_qt/multiplayer: allow blocking other players in chat room
2018-07-30 14:07:40 +02:00
Ben d5333c37de
Merge pull request #4033 from zhaowenlan1779/port-yuzu-764
Port "file_util: Minor changes to ScanDirectoryTree() and ForeachDirectoryEntry()" from yuzu
2018-07-30 13:51:21 +02:00
Merry 45beea31ea
Merge pull request #4034 from zhaowenlan1779/port-yuzu-802
Port "wait_tree: Silence warning about all code paths not returning a value" from yuzu
2018-07-30 12:38:24 +01:00
Merry 4acc4d87d6
Merge pull request #4032 from zhaowenlan1779/port-yuzu-758
Port "common: Remove synchronized_wrapper.h" from yuzu
2018-07-30 12:36:45 +01:00
Merry c4c158c6b6
Merge pull request #4036 from zhaowenlan1779/port-yuzu-705
Port "file_util: return string by const reference for GetExeDirectory()" from yuzu
2018-07-30 12:10:35 +01:00
Lioncash 995d1cd785 string_util: Get rid of separate resize() in CPToUTF16(), UTF16ToUTF8(), CodeToUTF8() and UTF8ToUTF16()
There's no need to perform the resize separately here, since the
constructor allows presizing the buffer.

Also move the empty string check before the construction of the string
to make the early out more straightforward.
2018-07-30 18:18:15 +08:00
Lioncash f34dde32d1 string_util: Use emplace_back() in SplitString() instead of push_back()
This is equivalent to doing:

push_back(std::string(""));

which is likely not to cause issues, assuming a decent std::string
implementation with small-string optimizations implemented in its
design, however it's still a little unnecessary to copy that buffer
regardless. Instead, we can use emplace_back() to directly construct the
empty string within the std::vector instance, eliminating any possible
overhead from the copy.
2018-07-30 18:18:14 +08:00
Lioncash 841bb4e5bd string_util: Remove unnecessary std::string instance in TabsToSpaces()
We can just use the variant of std::string's replace() function that can
replace an occurrence with N copies of the same character, eliminating
the need to allocate a std::string containing a buffer of spaces.
2018-07-30 18:18:12 +08:00
Weiyi Wang 71729fd47a
Merge pull request #3951 from zhaowenlan1779/cfg-country-code
service/cfg, citra_qt: add country code configuration
2018-07-30 12:02:07 +03:00
Weiyi Wang 1f14ebf35d
Merge pull request #3977 from B3n30/bad_word_list
Add virtual bad word list; Load if dump is missing
2018-07-30 12:01:45 +03:00
Lioncash 99b2a871a7 file_util: return string by const reference for GetExeDirectory()
This disallows modifying the internal string buffer (which shouldn't be
modified anyhow).
2018-07-30 16:55:55 +08:00
Weiyi Wang 77f4859059
Merge pull request #4026 from zhaowenlan1779/port-yuzu-765
Port "file_util: Remove goto usages from Copy()" from yuzu
2018-07-30 11:44:32 +03:00
Lioncash bf5b5d25ed wait_tree: Silence warning about all code paths not returning a value
If code execution hits this spot, something has gone very wrong, so mark
the path as unreachable. This silences a warning on MSVC.
2018-07-30 16:32:09 +08:00
Weiyi Wang abc86921ab
Merge pull request #4027 from zhaowenlan1779/port-yuzu-704
Port "string_util: Remove AsciiToHex()" from yuzu
2018-07-30 11:22:46 +03:00
Lioncash df5069f8c0 file_util: Use a u64 to represent number of entries
This avoids a truncating cast on size. I doubt we'd ever traverse a
directory this large, however we also shouldn't truncate sizes away.
2018-07-30 16:19:03 +08:00
Lioncash cc6cb45536 file_util: std::move FST entries in ScanDirectoryTree()
Avoids unnecessary copies when building up the FST entries.
2018-07-30 16:16:58 +08:00
Merry f4a389dca5
Merge pull request #4023 from zhaowenlan1779/port-yuzu-797
Port yuzu-emu/yuzu#797 from yuzu
2018-07-30 08:28:35 +01:00
Lioncash 1eb3d0c634 common: Remove synchronized_wrapper.h
This is entirely unused in the codebase.
2018-07-30 15:12:04 +08:00
Lioncash 1affca05c7 logging/filter: Use std::string_view in ParseFilterString()
Allows avoiding constructing std::string instances, since this only
reads an arbitrary sequence of characters.

We can also make ParseFilterRule() internal, since it doesn't depend on
any private instance state of Filter
2018-07-30 14:56:53 +08:00
Lioncash 798ebda049 logging/backend: Add missing standard includes
A few inclusions were being satisfied indirectly. To prevent breakages
in the future, include these directly.
2018-07-30 14:56:52 +08:00
Lioncash 765c7e711a logging/backend: Use std::string_view in RemoveBackend() and GetBackend()
These can just use a view to a string since its only comparing against
two names in both cases for matches. This avoids constructing
std::string instances where they aren't necessary.
2018-07-30 14:56:51 +08:00
Lioncash 8068f506c5 string_util: Remove AsciiToHex()
Easy TODO
2018-07-30 09:06:14 +08:00
Lioncash d3a52e45e3 file_util: Remove goto usages from Copy()
We can just leverage std::unique_ptr to automatically close these for us
in error cases instead of jumping to the end of the function to call
fclose on them.
2018-07-30 08:48:58 +08:00
Lioncash 5b691d3fe0 param_package: Use std::unordered_map's insert_or_assign instead of map indexing
This avoids a redundant std::string construction if a key doesn't exist
in the map already.

e.g.

data[key] requires constructing a new default instance of the value in
the map (but this is wasteful, since we're already setting something
into the map over top of it).
2018-07-30 08:22:42 +08:00
Lioncash 290bfa1804 param_package: Get rid of file-static std::string construction
Avoids potential dynamic allocation occuring during program launch
2018-07-30 08:22:41 +08:00
Lioncash 661f7bbcfd core: Make converting constructors explicit where applicable
Avoids unwanted implicit conversions. Thankfully, given the large amount
of cleanup in past PRs, only this tiny amount is left over to cover.
2018-07-30 08:21:13 +08:00
NarcolepticK 8f70e9a318 service/dsp: Addressed comments about function name and pointer type 2018-07-29 15:18:30 -04:00
Lioncash 3ad1ee65ad Port #709 from yuzu: "common/misc: Deduplicate code in GetLastErrorMsg()" 2018-07-29 16:28:58 +02:00
Ben 07a78a6dd2
Merge pull request #3986 from zhaowenlan1779/language-config-fix
citra_qt/configuration: fix input configuration disappearing after changing languages
2018-07-29 10:35:17 +02:00
Ben 04bd104c4a
Merge pull request #3992 from Subv/applets_close
Services/HLE: Implement PrepareToCloseLibraryApplet and CloseLibraryApplet
2018-07-29 10:34:32 +02:00
Weiyi Wang 383cde84d3
Merge pull request #3917 from Steveice10/master
am: Fix DLC loading.
2018-07-28 18:48:28 +03:00
B3n30 97fda30839 Use std::begin and std::end for system archives c array 2018-07-28 12:07:11 +02:00
zhupengfei b1bbe0441e
qt_themes: add themed connected/disconnected icons for dark and fix status bar theme updating
In dark theme, it is very hard to see the connected/disconnected icons because they are dark too. So I added two white-coloured icons for the dark theme. This also fixed an issue where theme update does not change the icon on the status bar.
2018-07-28 11:50:46 +08:00
wwylele 323313b2e9 service: remove deprecated service interface 2018-07-27 21:22:15 +03:00
Weiyi Wang be193869cd
Merge pull request #3990 from zhaowenlan1779/retranslation-continue
citra_qt: minor retranslation fix
2018-07-27 19:55:58 +03:00
James Rowe 6a973cc0bb citra-qt: Init logging sooner so we dont miss some logs on startup 2018-07-27 09:29:31 -06:00
NarcolepticK 5c52c6e64a service/boss: Migrate to ServiceFramework (#3998)
* service/boss: Migrate to ServiceFramework

* service/boss: Addressed comments

* service/boss: Added TODO: verify ResetType
2018-07-27 16:07:23 +03:00
NarcolepticK 5a4ed10982 service/csnd: Moved into csnd folder and stubbed a few functions (#4006)
* service/csnd: Moved into csnd folder and stubbed a few functions

* service/csnd: Addresed comment about missing rb.Skip
2018-07-27 11:25:20 +03:00
Weiyi Wang 719bec84cd
Merge pull request #4007 from B3n30/romfs_file
RomFS: add RomFSFile and RomFS::GetFile
2018-07-27 11:24:31 +03:00
Weiyi Wang 7babd78a23
Merge pull request #3928 from zhaowenlan1779/log-settings
citra_qt: Log settings on launch
2018-07-27 11:22:23 +03:00
fearlessTobi 71e1d6e25d Fix compile errors 2018-07-26 13:23:25 +02:00
B3n30 123c0886e6 RomFSFile: Default constructor 2018-07-26 13:10:56 +02:00
B3n30 b1f8c2fe67 Remove RomFS::GetFilePointer 2018-07-26 12:59:31 +02:00
B3n30 b62978b5a1 RomFS: add RomFSFile and GetRomFSFile 2018-07-26 12:31:59 +02:00
Weiyi Wang 7568020ea0
Merge pull request #3979 from zhaowenlan1779/filter-untranslated
game_list: move SearchField to game_list_p.h and fix untranslated text
2018-07-26 12:26:39 +03:00
Weiyi Wang 4b6d240641
Merge pull request #3983 from zhaowenlan1779/gamelist-translation
game_list: fix untranslated texts
2018-07-26 12:26:12 +03:00
Subv d19dbe8419 Services/HTTP: Added error handling to AddRequestHeader 2018-07-25 16:48:04 -05:00
Subv 03294ce6b4 Services/HTTP: Implemented the InitializeConnectionSession function. 2018-07-25 16:13:47 -05:00
Subv 28c296a13b Services/HTTP: Corrected some error codes and added a few new ones.
Use the session data to store information about the HTTP session state.
This is based on reverse engineering of the HTTP module.

The AddRequestHeader function is still mostly incorrect, this will be fixed in follow up PRs
2018-07-25 14:59:29 -05:00
James Rowe 4a3c4f5f67
Merge pull request #3989 from zhaowenlan1779/statusbar-retranslate
citra_qt: retranslate status bar
2018-07-25 10:19:11 -06:00
James Rowe d79cb6373d
Merge pull request #3972 from zhaowenlan1779/common-timer
common/timer: use std::chrono, avoid platform-dependent code
2018-07-25 10:00:04 -06:00
James Rowe e4d65927c2
Merge pull request #3991 from zhaowenlan1779/no-lle-applets
applet_manager: disable loading LLE applets
2018-07-25 09:54:02 -06:00
James Rowe 9d95373282
Merge pull request #3999 from NarcolepticK/stub-service-ps
service/ps: Boilerplate to register service, no functions implemented
2018-07-25 09:52:45 -06:00
James Rowe 7fb8b6b7a2
Merge pull request #3971 from adityaruplaha/cpu-jit-move
citra_qt: Move CPU JIT toggle to Debug tab.
2018-07-25 09:50:33 -06:00
Sebastian Valle 472ee00e8f
Merge pull request #3981 from B3n30/httpc
Migrate HTTP_C to the ServiceFramework and implement functions
2018-07-25 10:20:27 -05:00
Weiyi Wang b65ee99681
Merge pull request #3997 from zhaowenlan1779/use-std-transform
common/string_utils: replace boost::transform with std counterpart
2018-07-25 10:38:36 +03:00
NarcolepticK 081becc9f5 service/ps: Boilerplate to register service, no functions implemented 2018-07-25 02:25:51 -04:00
zhupengfei cc1f44f7bd
common/string_utils: replace boost::transform with std counterpart
Note: according to cppreference it is necessary to convert char to unsigned char when using std::tolower and std::toupper, otherwise the behaviour would be undefined.
2018-07-25 08:04:00 +08:00
B3n30 050d116cb6 Fixed include in http_c,h; added ERROR_CONTEXT_ERROR to CreateContext 2018-07-24 23:38:19 +02:00
NarcolepticK b840c63386 service/dsp: Clean up global state 2018-07-24 16:15:37 -04:00
Subv cce882b688 Services/HLE: Implement PrepareToCloseLibraryApplet and CloseLibraryApplet.
This allows LLE library applets (like swkbd) to properly close and return to the application instead of hanging.

There is still a bug in our rasterizer cache that may cause crashes some time after an applet is closed, but that is tangential to this change and should be tackled separately.
2018-07-24 14:50:19 -05:00
fearlessTobi 7a3e126a4f Replace MathUtil::Clamp with its std counterpart 2018-07-24 19:08:17 +02:00
zhupengfei 44db59be2b
applet_manager: disable loading LLE applets
Currently LLE applets cannot exit properly in Citra and causes Citra to hang. We are already providing HLE for applets, and the LLE applets are preventing users who dumped their system files from using the applets correctly. Before the further fix is done, I think we should temporaily disable loading LLE applets.
2018-07-24 23:24:27 +08:00
zhupengfei 3a8b002ede citra_qt: minor retranslation fix
When you change the language when a game is running, the "Continue" action in the "Emulation" menu would become "Start". This commit fixes the issue by checking and setting it if it should be "Continue". It seems that this is the only place with this issue.
2018-07-24 19:49:49 +08:00
zhupengfei 76465dd0f5
citra_qt: retranslate status bar 2018-07-24 19:20:00 +08:00
zhupengfei 921037a7c3
citra_qt/multiplayer: allow blocking other players in chat room 2018-07-24 15:24:21 +08:00
zhupengfei 2cf7576351
citra_qt/configuration: retranslate hotkey widget on language change
The hotkey widget has a separate class defined for it, and qt cannot automatically retranslate it when retranslateUi is called. This commit explicitly calls the function to retranslate the hotkey dialog.
2018-07-24 12:32:09 +08:00
zhupengfei 79a38f8782 citra_qt/configuration: fix input configuration disappearing after changing languages
Previously, once you change language, the texts in the buttons in the Input tab will disappear. It is because the default text in the buttons are empty, and we did not update the text after translations are reloaded, aka texts are reset. This commit fixed the issue.
2018-07-24 12:19:47 +08:00
B3n30 daac1349db Service/HTTP_C: Add some comments; Fixed header in CloseContext 2018-07-23 21:14:41 +02:00
Weiyi Wang 14878a17d9
Merge pull request #3978 from zhaowenlan1779/remove-app-warning
core/loader: avoid "different type" warning for .app
2018-07-23 21:02:54 +03:00
B3n30 2f50bf0007 Service/HTTP_C: Fix error in CreateContext 2018-07-23 18:02:35 +02:00
zhupengfei f70dc9198c
game_list: fix untranslated texts
Due to a bug of Qt Linguist, the spliters in numbers cannot be parsed correctly and will cause strange issues. As far as I know, this caused 4 texts to be untranslated (translation source for them are not generated). Before the Qt bug is fixed (and we move to that version), I think we can temporarily remove the spliters from the numbers.
2018-07-23 23:44:43 +08:00
zhupengfei 11da018ea6
game_list: move SearchField to game_list_p.h and fix untranslated text
I have tested and made sure the text is translatable, but this would require a translation update to take effect.
2018-07-23 21:26:55 +08:00
zhupengfei 4fb16098a4
core/loader: avoid "different type" warning for .app
Previously for installed titles, the file type would be NCCH (assumed as CXI) and the extension would be ".app". This would trigger a warning of the file "having a different type than its extension", which is actually not true here.
2018-07-23 17:37:52 +08:00
Weiyi Wang 87872aa369
Merge pull request #3976 from MerryMage/rm-code_block
common: CodeBlock is unused
2018-07-23 09:21:37 +03:00
B3n30 7605e26b94 Add virtual bad word list; Load if dump is missing 2018-07-22 22:55:44 +02:00
MerryMage eae523ae17 common: CodeBlock is unused 2018-07-22 21:04:29 +01:00
Weiyi Wang 8388e5519b
Merge pull request #3944 from wwylele/soc-new-framework
Service/SOC: convert to ServiceFramework
2018-07-22 22:23:05 +03:00
Weiyi Wang 29ddbe4e7b
Merge pull request #3973 from B3n30/MPSCQueue
remove polymorphism issue
2018-07-22 22:22:22 +03:00
Weiyi Wang 2cef04db80
Merge pull request #3964 from LittleWhite-tb/soft-keyboard-fix
Small fixes on software keyboard implementation
2018-07-22 22:22:06 +03:00
B3n30 2d09355a25 Make Service::HTTP::Context non-copyable 2018-07-22 18:15:44 +02:00
B3n30 5af6a1d8ee Revert stubbed InitializeConnectionSession 2018-07-22 18:15:44 +02:00
B3n30 32155cd683 Service/HTTP: stubbed InitializeConnectionSession 2018-07-22 18:15:44 +02:00
B3n30 65c7ed8445 Service/HTTP: Moved declarations to the header file 2018-07-22 15:01:32 +02:00
B3n30 0606e7010c Services/HTTP: Implemented the AddRequestHeader service function. 2018-07-22 13:38:31 +02:00
zhupengfei 872e505cc6
common/timer: use std::chrono, avoid platform-dependent code
* core/timer: use even more std::chrono

* common/timer: convert GetLocalTimeSinceJan1970
2018-07-22 15:40:07 +08:00
Subv 799b45233f Services/HTTP: Stubbed the CloseContext service function.
It is currently unknown how the real http module handles trying to close contexts for requests that are already in flight.
2018-07-21 20:11:20 -05:00
Subv 34baa882c8 Services/HTTP: Corrected the error code for an invalid request method. 2018-07-21 19:50:13 -05:00
Subv 70e6979695 Services/HTTP: Implemented the CreateContext function handler. 2018-07-21 19:30:40 -05:00
B3n30 87ec3934a6 Services/HTTP: Added structures to represent an HTTP context.
More fields will probably need to be added to these structures in the future.
2018-07-21 19:10:00 -05:00
B3n30 fe5a3d22c5 Services/HTTP: Added structures to store both client and server certificates. 2018-07-21 19:00:50 -05:00
B3n30 1f865fd524 Services/HTTP: Stubbed the Initialize function. 2018-07-21 18:54:06 -05:00
B3n30 28124c053a Services/HLE: Convert the http:C service to the new service framework. 2018-07-21 18:48:57 -05:00
Alexandre LittleWhite Laurent 578b08c53b Truncating UTF16 text before converting them toUTF8 2018-07-21 18:17:46 +02:00
B3n30 8480899d8b remove polymorphism issue 2018-07-21 16:16:21 +02:00
adityaruplaha 38d4b41b0a citra_qt: Move CPU JIT toggle to Debug tab. 2018-07-21 12:43:24 +05:30
Alexandre LittleWhite Laurent e28c527bfa Fix missing return value 2018-07-20 19:53:23 +02:00
Weiyi Wang 78685065cf
Merge pull request #3916 from wwylele/mipmap-proctex
gl_rasterizer: implement mipmap for procedural texture
2018-07-19 11:51:57 +03:00
Weiyi Wang c8c5b55c00
Merge pull request #3957 from lioncash/qt
game_list: Remove unnecessary QString initialization in KeyReleaseEater
2018-07-19 10:14:58 +03:00
Weiyi Wang f40ce71f76
Merge pull request #3958 from lioncash/func
game_list: Make containsAllWords() a non-member function
2018-07-19 10:14:18 +03:00
Weiyi Wang 67c0c2e0a0
Merge pull request #3956 from lioncash/telemetry
common/telemetry: Minor changes
2018-07-19 10:14:06 +03:00
Weiyi Wang 680c8b9c0b
Merge pull request #3926 from wwylele/texture-barrier
gl_rasterizer: call glTextureBarrier when an image is bound to both texture and framebuffer
2018-07-19 10:13:48 +03:00
zhupengfei e8ac58c480
settings: move log code to settings 2018-07-19 08:38:57 +08:00
Lioncash 6614450da3 game_list: Make containsAllWords() a non-member function
This doesn't depend on class state at all, so this can be made internal.
While we're at it, amend the function to take its arguments by const reference.
2018-07-18 16:55:13 -04:00
Lioncash 033e889645 game_list: Remove unnecessary QString initialization in KeyReleaseEater
QString initializes to an empty string by default, so this does nothing
meaningful. While we're at it, use a constructor initializer list for
initializing the gamelist member variable.
2018-07-18 16:44:21 -04:00
Lioncash 0a8563fb79 telemetry: Remove unnecessary Field constructor
We can just take the value parameter by value which allows both moving
into it, and copies at the same time, depending on the calling code.
2018-07-18 16:18:34 -04:00
Lioncash 3244042c4c telemetry: Make operator== and operator!= const member functions of Field
These operators don't modify internal class state, so they can be made
const member functions. While we're at it, drop the unnecessary inline
keywords. Member functions that are defined in the class declaration are
already inline by default.
2018-07-18 16:17:40 -04:00
Lioncash faa62b0d1e telemetry: Default copy/move constructors and assignment operators
This provides the equivalent behavior, but without as much boilerplate.
While we're at it, explicitly default the move constructor, since we
have a move-assignment operator defined.
2018-07-18 16:15:58 -04:00
Ben 7f1303a834 Use open source Shared Font if no dumped file is available (#3881)
* Add virtual SharedFont; Load if dumped is missing

* Move open_source_archives to externals; add readme and git hash to open_source_archives

* Updated shared font to newest version: m fixed, symbols fixed
2018-07-18 10:20:31 -06: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
James Rowe bc30b314d8
Merge pull request #3947 from zhaowenlan1779/autofill-multiplayer
citra_qt: use Citra Web Service username as default multiplayer nickname
2018-07-18 10:02:14 -06:00
James Rowe 2f8c9c8126
Merge pull request #3831 from FearlessTobi/add-volume-slider
citra_qt: Add a volume slider
2018-07-18 09:56:47 -06:00
zhupengfei e61b7d265f
service/cfg, citra_qt: add country code configuration 2018-07-18 20:09:34 +08:00
wwylele aa02c50a2e Service/SOC: convert to ServiceFramework 2018-07-18 09:52:51 +03:00
zhupengfei bcbfac4081
configure_system: fix an untranslated text 2018-07-18 14:50:38 +08:00
James Rowe bf6da61da5
Merge pull request #3850 from zhaowenlan1779/swkbd
applets/swkbd: Software Keyboard Implementation
2018-07-17 09:02:55 -06:00
zhupengfei a9e922e68f service/fs: implement obsoleted Create/DeleteExtSaveData (#3948)
* service/fs: implement obsoleted Create/DeleteExtSaveData

* service/fs: remove the STUBBED warning
2018-07-17 17:59:42 +03:00
zhupengfei b54e3b7aa9
frontend/applets/swkbd: use system username 2018-07-17 22:42:53 +08:00
zhupengfei 82aa45d9fa
citra_qt/configuration: log on config dialog close 2018-07-17 15:33:59 +08:00
zhupengfei 250cf584e3
citra_qt: Log settings on launch 2018-07-17 15:33:58 +08:00
zhupengfei 40aea8d6b8
citra_qt: use Citra Web Service username as default multiplayer nickname 2018-07-17 15:25:00 +08: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
Merry 47d283a1e4
Merge pull request #3909 from MerryMage/rm-SetDevice
sink_details: Tidy-up device listing code
2018-07-12 20:49:29 +01:00
MerryMage 7d642b25e9 sink: Make auto device name a constant 2018-07-12 15:56:37 +01:00
NarcolepticK c39daa3c01 service/dsp: Migrate to ServiceFramework (#3915)
* service/dsp: Migrate to ServiceFramework

* service/dsp: Removed redundant buffer copy

* service/dsp: Addressed comment about pushing u32 instead of bool

* service/dsp: Fix clang format

* service/dsp: Addressed comment about minimizing global state

* service/dsp: Addressed comments and fixed log call issue

* service/dsp: Fix missed clang format
2018-07-12 17:54:26 +03:00
Weiyi Wang edcea90948
Merge pull request #3921 from B3n30/fixGetStartupArgument
Fix parameter_size in APT::GetStartupArgument
2018-07-11 11:41:04 +03:00
B3n30 208e789182 Fix error log 2018-07-11 09:00:05 +02:00
朱鹏飞 aaeba160a1 telemetry: Add a few fields of UserConfig (#3927)
* telemetry: Add a few fields of UserConfig

* telemetry: change entry names a bit
2018-07-11 09:51:02 +03:00
zhupengfei dcaf4a8e83
citra_qt: Add length validation 2018-07-10 13:05:13 +08:00
zhupengfei 5407ed8b5e
citra_qt/applets/swkbd: QtKeyboard and misc fixes
* Addressed comments and removed the applet interface

* swkbd: address @lioncash's comments

* core: more fixes

** Moved registered_swkbd to System

** Removed an usused virtual

** Removed functionality of DrawScreenKeyboard

** Removed src/core/settings.h change

* swkbd: address @lioncash's 2nd review

* swkbd: update logging macro

* QtKeyboard: Make dialog modal and hide help
2018-07-10 12:49:55 +08:00
Steveice10 56488a969d am: Run clang-format and attribute TODOs. 2018-07-09 16:05:52 -07:00
wwylele 431fe444a9 gl_rasterizer: call glTextureBarrier when an image is bound to both texture and framebuffer 2018-07-09 23:11:29 +03:00
B3n30 468c689cf4 Set max parameter_size to 0x1000 2018-07-07 18:52:27 +02:00
B3n30 be1ae17c61 Fix parameter_size in GetStartupArgument 2018-07-07 18:38:38 +02:00