Commit graph

61 commits

Author SHA1 Message Date
FearlessTobi
4d55e58ee4 scope_exit: Make constexpr
Allows the use of the macro in constexpr-contexts.
Also avoids some potential problems when nesting braces inside it.
2024-02-19 16:00:46 +01:00
german77
75a5c016f1 dmnt: cheats: Fix valid address range 2024-02-17 19:10:17 -06:00
liamwhite
7bf634bca4 Merge pull request #12927 from german77/cheat-pause
dmnt: cheat: Add pause and resume support
2024-02-09 11:47:34 -05:00
Narr the Reg
f07a3ef82c dmnt: cheat: Invalidate cache on memory writes 2024-02-06 13:49:48 -06:00
german77
4397b591ec dmnt: cheat: Add pause and resume support 2024-02-05 14:38:26 -06:00
german77
2015976f1f dmnt: cheats: Silence memory errors 2024-02-05 11:08:24 -06:00
german77
2b2282ddb4 dmnt: cheats: Update cheat vm to latest version 2024-02-04 17:46:20 -06:00
Narr the Reg
146975c880 hid_core: Move hid to it's own subproject 2024-01-05 11:41:15 -06:00
Liam
b9545c5a0e core_timing: remove user data value 2023-12-23 15:36:44 -05:00
Narr the Reg
fd0ac567a5 core: Make sure npad is initialized 2023-12-14 20:04:38 -06:00
Narr the Reg
5f6b4418df service: hid: Create appropriate hid resources 2023-11-20 17:19:17 -06:00
Narr the Reg
174c52d27b service: hid: Split hid.cpp into individual interfaces 2023-11-15 09:59:54 -06:00
german77
535c39a080 cheats: Clamp cheat names without failing 2023-10-21 21:04:03 -06:00
lat9nq
d7d4e66657 cheat_engine: Remove uncaught usage of stoul 2023-09-13 13:51:58 -04:00
Liam
b47ce23b31 kernel: reduce page table region checking 2023-07-14 22:33:10 -04:00
Liam
6b6f0b21b9 k_process: PageTable -> GetPageTable 2023-07-14 21:43:15 -04:00
Liam
6eaef51cf2 memory: rename global memory references to application memory 2023-03-23 20:28:47 -04:00
Liam
156516e399 kernel: use KTypedAddress for addresses 2023-03-22 09:35:16 -04:00
Liam
b8da5b73b2 kernel: convert KProcess to new style 2023-03-12 22:09:27 -04:00
Liam
165ba6a98b cheat_engine: add check for hid initialization 2023-02-21 12:19:25 -05:00
Liam
c68577384a general: rename CurrentProcess to ApplicationProcess 2023-02-13 19:03:12 -05:00
Liam
9c69743686 dmnt:cht: fix copy-paste error 2022-11-20 10:14:22 -05:00
Kelebek1
f66a68fa1b PR 2022-07-10 08:29:37 +01:00
Kelebek1
03de5e053d Rework CoreTiming 2022-07-10 06:59:40 +01:00
Morph
2b87305d31 general: Convert source file copyright comments over to SPDX
This formats all copyright comments according to SPDX formatting guidelines.
Additionally, this resolves the remaining GPLv2 only licensed files by relicensing them to GPLv2.0-or-later.
2022-04-23 05:55:32 -04:00
Morph
f34773ee36 npad: Return NpadButton in GetAndResetPressState
We were previously truncating this to a u32 as there were no known buttons that used the full 64 bits of this type. Fix this now that we know they are used.
2021-11-29 19:21:51 -05:00
Morph
41a0c088ba general: Get the current process program id directly from the system
This allows us to avoid including KProcess' header file in files that only need to get the current process' program id.
2021-11-04 16:59:39 -04:00
Morph
10508e7af2 general: Rename GetTitleID to GetProgramID 2021-11-04 16:57:16 -04:00
ameerj
d27abf5546 core: Remove unused includes 2021-11-03 21:42:57 -04:00
Lioncash
eeae5217ba core: Make variable shadowing a compile-time error
Now that we have most of core free of shadowing, we can enable the
warning as an error to catch anything that may be remaining and also
eliminate this class of logic bug entirely.
2021-05-16 03:43:16 -04:00
bunnei
ad048de3d6 hle: kernel: Rename Process to KProcess. 2021-05-05 16:40:52 -07:00
Lioncash
84b656fbbd core: Resolve misc cases of variable shadowing
Resolves shadowing warnings that aren't in a particularly large
subsection of core. Brings us closer to turning -Wshadow into an error.

All that remains now is for cases in the kernel (left untouched for now
since a big change by bunnei is pending), and a few left over in the
service code (will be tackled next).
2021-05-03 01:19:13 -04:00
bunnei
5dbcaa2970 hle: kernel: Migrate PageHeap/PageTable to KPageHeap/KPageTable. 2021-02-18 16:16:25 -08:00
Lioncash
16de0a6a96 core/CMakeLists: Make some warnings errors
Makes our error coverage a little more consistent across the board by
applying it to Linux side of things as well. This also makes it more
consistent with the warning settings in other libraries in the project.

This also updates httplib to 0.7.9, as there are several warning
cleanups made that allow us to enable several warnings as errors.
2020-10-13 13:16:49 -04:00
Lioncash
15fa8f52fc cheat_engine: Convert ExtractName into a non-template function
We don't need to create two separate instantiations of the same code, we
can simply make the character template argument a regular function
parameter.
2020-09-15 03:24:44 -04:00
Lioncash
6711031e7d cheat_engine: Remove unnecessary system argument to CheatParser's Parse function
This isn't used within the function at all in any implementations, so we
can remove it entirely.
2020-09-15 03:20:40 -04:00
Rodrigo Locatti
2740be0f9d Merge pull request #4495 from lioncash/conv
cheat_engine: Resolve implicit bool->u64 conversion
2020-08-14 03:10:17 -03:00
Lioncash
304da7bfc8 cheat_engine: Resolve implicit bool->u64 conversion
We can just return zero here.
2020-08-06 02:55:47 -04:00
Lioncash
6c2392941b cheat_engine: Make use of designated initializers
Same behavior, but makes the member being assigned obvious.
2020-08-06 02:48:13 -04:00
Lioncash
743ed2b727 dmnt_cheat_vm: Make use of designated initializers
Allows for more compact code.
2020-08-03 08:50:51 -04:00
Lioncash
7decda6bc2 core_timing: Make use of uintptr_t to represent user_data
Makes the interface future-proofed for supporting other platforms in the event we ever support platforms with differing pointer sizes. This way, we have a type in place that is always guaranteed to be able to represent a pointer exactly.
2020-07-27 21:21:01 -04:00
bunnei
01588e3e91 Merge pull request #4348 from lioncash/nano
core_timing: Make usage of nanoseconds more consistent in the interface
2020-07-18 01:45:10 -04:00
Lioncash
56054fe86d core_timing: Make TimedCallback take std::chrono::nanoseconds
Enforces our desired time units directly with a concrete type.
2020-07-15 19:41:22 -04:00
Lioncash
9e113a2b67 core_timing: Make use of std::chrono with ScheduleEvent 2020-07-15 18:54:15 -04:00
VolcaEM
67310a4623 clang-format 2020-07-15 01:22:52 +02:00
VolcaEM
bec0bdabc8 dmnt_cheat_vm: Implement opcode 0xC3 (ReadWriteStaticRegister)
This was based on Atmosphére's DMNT Cheat VM:

- https://github.com/Atmosphere-NX/Atmosphere/blob/master/stratosphere/dmnt/source/cheat/impl/dmnt_cheat_vm.hpp
- https://github.com/Atmosphere-NX/Atmosphere/blob/master/stratosphere/dmnt/source/cheat/impl/dmnt_cheat_vm.cpp

From Atmosphére's documentation: "Code type 0xC3 reads or writes a static register with a given register"

There are now only two remaining opcodes to implement (PauseProcess and BreakProcess)

This is untested because I don't have any experience in testing cheats on yuzu
2020-07-15 01:19:22 +02:00
Fernando Sahmkow
7ee76003ad General: Recover Prometheus project from harddrive failure
This commit: Implements CPU Interrupts, Replaces Cycle Timing for Host 
Timing, Reworks the Kernel's Scheduler, Introduce Idle State and 
Suspended State, Recreates the bootmanager, Initializes Multicore 
system.
2020-06-27 11:35:06 -04:00
bunnei
88324e3513 memory: cheat_engine: Updates for new VMM. 2020-04-17 00:59:33 -04:00
bunnei
5b9e69e7fe core: memory: Move to Core::Memory namespace.
- helpful to disambiguate Kernel::Memory namespace.
2020-04-17 00:59:28 -04:00
Lioncash
02e095313a CMakeLists: Specify -Wextra on linux builds
Allows reporting more cases where logic errors may exist, such as
implicit fallthrough cases, etc.

We currently ignore unused parameters, since we currently have many
cases where this is intentional (virtual interfaces).

While we're at it, we can also tidy up any existing code that causes
warnings. This also uncovered a few bugs as well.
2020-04-15 21:33:46 -04:00