Go to file
DanielSvoboda 614a23b369
Cheats/Patches (#493)
* Cheats/Patches

Adds the possibility of applying cheats/patches according to the specific game serial+version

The logic for adding modifications has not yet been implemented!

Interface based on issues/372 https://github.com/shadps4-emu/shadPS4/issues/372

[X]Front-end
[]Back-end

Create a synchronized fork of the cheats/patches repository

* Clang Format

* separate files

The code has been separated into separate files as suggested by georgemoralis.
Added the Patch tab, which has not been implemented yet.
Added the 'applyCheat' area to apply the modification, not implemented yet...
And added LOG_INFO.

* reuse

* initial implementation of cheat functionality

* Update cheats_patches.cpp

sets all added buttons to the size of the largest button.
and fixes some aesthetic issues.

* move eboot_address to module.h

fixes the non-qt builds and makes more sense to be there anyway

* Patchs menu and fixes

adds the possibility to download Patches, it does not modify the memory yet.
and some other fixes

* MemoryPatcher namespace, activate cheats on start

* format

* initial patch implementation

* format

* format again...

* convertValueToHex

* Fixes

Choosing which cheat file to use.
And some other fixes

* fix bytes16, bytes32, bytes64 type patches

If a patch is any of these types we convert it from little endian to big endian

* format

* format again :(

* Implement pattern scanning for mask type patches

* add check to stop patches applying to wrong game

previously if you added a patch to a game, but closed the window and opened a different game it would still try to apply the patch, this is now fixed

* format

* Fix 'Hint' 0x400000 |  and Author

* Management |save checkbox | shadps4 repository

MENU - Cheats/Patches Management (implementing Patches)
save patches checkbox
add shadps4 repository

* Load saved patches, miscellaneous fixes

* Fix an issue with mask patches not being saved

* format + remove debug log

* multiple patches | TR translation for cheats/patches

* clang

* ENABLE_QT_GUI

* OK

* move memory_patcher to qt_gui

* clang

* add cheats hu_HU

* fix log

* Remove the item from the patchesListView if no patches were added (the game has patches, but not for the current version)

---------

Co-authored-by: CrazyBloo <CrazyBloo@users.noreply.github.com>
2024-08-29 07:18:50 +03:00
.ci video_core: prefer discrete gpu if available (#116) 2024-04-30 00:19:12 +03:00
.github ci: Fix linux-qt CI 2024-08-25 16:03:25 +03:00
.reuse Adding icons to categories (#479) 2024-08-19 18:42:23 +03:00
LICENSES reuse: fix license for externals (#358) 2024-08-02 15:57:16 +03:00
cmake cmake: prefer system renderdoc library (#452) 2024-08-16 19:49:32 +03:00
documents DOCS: Correct and expand windows build instructions (#617) 2024-08-28 13:10:04 +03:00
externals Lot of small fixes 2024-08-22 18:01:30 +02:00
scripts fix typo in LOG_INFO (#559) 2024-08-26 15:22:11 +03:00
src Cheats/Patches (#493) 2024-08-29 07:18:50 +03:00
.gitignore print git info in windows title 2024-08-01 00:56:10 +03:00
.gitmodules Lot of small fixes 2024-08-22 18:01:30 +02:00
CMakeLists.txt Cheats/Patches (#493) 2024-08-29 07:18:50 +03:00
CMakeSettings.json Separation between release mode and RelWithDebInfo (#186) 2024-06-10 22:59:28 +03:00
CONTRIBUTING.md Fix typo in CONTRIBUTING.md comment 2024-08-23 18:29:00 -07:00
LICENSE Initial commit 2022-10-24 12:48:38 +03:00
README.md docs: Removed misinformation 2024-08-25 14:37:17 +02:00

README.md



shadPS4

General information

shadPS4 is an early PlayStation 4 emulator for Windows, Linux and macOS written in C++.

If you encounter problems or have doubts, do not hesitate to look at the Quickstart.

To verify that a game works, you can look at shadPS4 Game Compatibility.

To discuss shadPS4 development, suggest ideas or to ask for help, join our Discord server.

To get the latest news, go to our X (Twitter) or our website.

Status

[!IMPORTANT] shadPS4 is early in developement, don't expect a flawless experience.

Currently, the emulator successfully runs small games like Sonic Mania, Undertale and it can even somewhat run Bloodborne.

Why

This project began as a fun project. Given our limited free time, it may take some time before shadPS4 can run more complex games, but we're committed to making small, regular updates.

Building

Windows

Check the build instructions for Windows.

Linux

Check the build instructions for Linux.

Building status

Windows
Windows Build status
Windows SDL Build Windows-sdl
Windows Qt Build Windows-qt
Linux
Linux Build status
Linux SDL Build Linux-sdl
Linux Qt Build Linux-qt
macOS
macOS Build status
macOS SDL Build macOS-sdl
macOS Qt Build macOS-qt

Debugging and reporting issues

For more information on how to test, debug and report issues with the emulator or games, read the Debugging documentation.

Keyboard mapping

[!NOTE] Xbox and DualShock controllers work out of the box.

Controller button Keyboard equivelant
LEFT AXIS UP W
LEFT AXIS DOWN S
LEFT AXIS LEFT A
LEFT AXIS RIGHT D
RIGHT AXIS UP I
RIGHT AXIS DOWN K
RIGHT AXIS LEFT J
RIGHT AXIS RIGHT L
TRIANGLE Numpad 8
CIRCLE Numpad 6
CROSS Numpad 2
SQUARE Numpad 4
PAD UP UP
PAD DOWN DOWN
PAD LEFT LEFT
PAD RIGHT RIGHT
OPTIONS RETURN
TOUCH PAD SPACE
L1 Q
R1 U
L2 E
R2 O
L3 X
R3 M

Main team

Logo is done by Xphalnos

Contributing

If you want to contribute, please look the CONTRIBUTING.md file.

Open a PR and we'll check it :)

Contributors

Sister Projects

  • Panda3DS: A multiplatform 3DS emulator from our co-author wheremyfoodat.
  • hydra: A multisystem, multiplatform emulator (chip-8, GB, NES, N64) from Paris.

License