summaryrefslogtreecommitdiff
path: root/src
AgeCommit message (Collapse)Author
2018-10-10web_backend: Make Client use the PImpl idiomLioncash
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-10telemetry_json: Use the PImpl idiom to avoid unnecessary dependency exposureLioncash
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-10telemetry_json: Add missing override specifier to the destructor of ↵Lioncash
TelemetryJson
2018-10-10telemetry_json: Take std::string parameters by valueLioncash
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-10telemetry_json: Remove unnecessary includesLioncash
Removes unused includes. Also rectifies a missing <chrono> include.
2018-10-10core/CMakeLists: Use target_compile_definitions instead of add_definitions ↵Lioncash
for specifying ENABLE_WEB_SERVICE Avoids introducing the definition to the whole directory space and localizes it to being added to the library that needs it.
2018-10-10Merge pull request #1460 from FernandoS27/scissor_testbunnei
Implemented Scissor Testing
2018-10-10Merge pull request #1425 from ReinUsesLisp/geometry-shadersbunnei
gl_shader_decompiler: Implement geometry shaders
2018-10-10kernel/thread: Use a regular pointer for the owner/current processLioncash
There's no real need to use a shared pointer in these cases, and only makes object management more fragile in terms of how easy it would be to introduce cycles. Instead, just do the simple thing of using a regular pointer. Much of this is just a hold-over from citra anyways. It also doesn't make sense from a behavioral point of view for a process' thread to prolong the lifetime of the process itself (the process is supposed to own the thread, not the other way around).
2018-10-09Merge pull request #1461 from lioncash/warnbunnei
ips_layer: Silence truncation and conversion warnings
2018-10-09Merge pull request #1464 from lioncash/uniquebunnei
patch_manager: Return a std::unique_ptr from ParseControlNCA() and GetControlMetadata() instead of a std::shared_ptr
2018-10-09Merge pull request #1466 from lioncash/unusedbunnei
gl_shader_decompiler: Remove unused variables in TMML's implementation
2018-10-09Merge pull request #1463 from FearlessTobi/port-4310bunnei
Port citra-emu/citra#4310: "Handle touch input"
2018-10-09Merge pull request #1459 from ogniK5377/breakbunnei
svcBreak, Signalling to the debugger should not kill execution
2018-10-09Merge pull request #1465 from lioncash/telemetrybunnei
telemetry_session: Minor miscellaneous changes
2018-10-09Merge pull request #1462 from lioncash/movebunnei
ips_layer: Minor miscellaneous changes
2018-10-09Merge pull request #1455 from ogniK5377/smo-softlockfixbunnei
Fixed smo softlock due to incorrect effect state updating
2018-10-09gl_shader_decompiler: Remove unused variables in TMML's implementationLioncash
Given "y" isn't always used, but "x" is, we can rearrange this to avoid unused variable warnings by changing the names of op_a and op_b
2018-10-09telemetry_session: Remove doxygen comment for a non-existent parameterLioncash
There's no "func" parameter, so this can just be removed.
2018-10-09telemetry_session: Add missing includesLioncash
Prevents potential compilation issues in the future by including missing headers for certain functions and types.
2018-10-09telemetry_session: Remove unimplemented FinalizeAsyncJob prototypeLioncash
This isn't implemented anywhere, so it can just be removed.
2018-10-09telemetry_session: Use a std::array in GenerateTelemetryId()Lioncash
We don't need to potentially heap-allocate a std::string instance here, given the data is known ahead of time. We can just place it within an array and pass this to the mbedtls functions.
2018-10-09patch_manager: Return a std::unique_ptr from ParseControlNCA() and ↵Lioncash
GetControlMetadata() instead of a std::shared_ptr Neither of these functions require the use of shared ownership of the returned pointer. This makes it more difficult to create reference cycles with, and makes the interface more generic, as std::shared_ptr instances can be created from a std::unique_ptr, but the vice-versa isn't possible. This also alters relevant functions to take NCA arguments by const reference rather than a const reference to a std::shared_ptr. These functions don't alter the ownership of the memory used by the NCA instance, so we can make the interface more generic by not assuming anything about the type of smart pointer the NCA is contained within and make it the caller's responsibility to ensure the supplied NCA is valid.
2018-10-09implemented touch in Qt and SDLNeatNit
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-09ips_layer: Avoid constructing std::vector instances where not necessaryLioncash
We can just compare the existing std::vector instance with a constexpr std::array containing the desired match. This is lighter resource-wise, as we don't need to allocate on the heap.
2018-10-09ips_layer: Remove unnecessary explicit std::pair constructor in std::arrayLioncash
Makes the layout of the array consistent, by making all elements match, instead of special-casing the first one.
2018-10-09ips_layer: Add missing includesLioncash
Adds missing includes to prevent potential compilation issues in the future. Also moves the definition of a struct into the cpp file, so that some includes don't need to be introduced within the header.
2018-10-09ips_layer: std::move data within PatchIPS() and Apply()Lioncash
We don't need to make a copy of the read data, so we can std::move it into the make_shared call here.
2018-10-09ips_layer: Silence truncation and conversion warningsLioncash
Makes type conversions explicit to avoid compiler warnings.
2018-10-08Implement Scissor TestFernandoS27
2018-10-09Added bitfield instead of manually checking if the bit is setDavid Marcec
2018-10-08Assert Scissor testsFernandoS27
2018-10-09EffectOutStatus padding is now in hexDavid Marcec
2018-10-09Actual kill execution when the bit isn't set, not the other way aroundDavid Marcec
2018-10-09svcBreak, Signalling to the debugger should not kill executionDavid Marcec
When loading NROs, svcBreak is called to signal to the debugger that a new "module" is loaded. As no debugger is technically attached we shouldn't be killing the programs execution.
2018-10-08Merge pull request #1423 from DarkLordZach/romfs-file-extsbunnei
fsmitm_romfsbuild: Add support for stubbing and IPS patches in LFS
2018-10-08Merge pull request #1424 from DarkLordZach/ips-witchbunnei
ips_layer: Add support for IPSwitch executable patches
2018-10-08Merge pull request #1456 from ogniK5377/aoc-u-fixupsbunnei
Fixed assertion due to CountAddOnContent & Casting warnings
2018-10-08Merge pull request #1457 from ogniK5377/unmap-bufferbunnei
Unmapping an unmapped buffer should succeed
2018-10-08Unmapping an unmapped buffer should succeedDavid Marcec
Hardware tests show that trying to unmap an unmapped buffer already should always succeed. Hardware test was tested up to 32 iterations of attempting to unmap
2018-10-07gl_shader_decompiler: Move position varying location from 15 to 0 and apply ↵ReinUsesLisp
an offset
2018-10-07gl_shader_decompiler: Implement geometry shadersReinUsesLisp
2018-10-07video_core: Allow LabelGLObject to use extra info on any objectReinUsesLisp
2018-10-07nso/nro: Use default allocation size for arg_dataZach Hilman
2018-10-07cmd: Support passing game arguments from command lineZach Hilman
Uses -p (--program) and following string as args.
2018-10-07qt: Add UI option to configure argumentsZach Hilman
2018-10-07settings: Add program_args string settingZach Hilman
2018-10-07nso/nro: Add NSO arguments structure to data sectionZach Hilman
Only added if arguments string is non-empty and a pass is requested by loader.
2018-10-08Fixed assertion due to CountAddOnContentDavid Marcec
Word count should be 3 since we're pushing a result code and a u32. Also fixed up compiler warnings due to casting
2018-10-06Merge pull request #1396 from DarkLordZach/packed-updatesbunnei
loader: Add support for packed updates