* Add show game size toggle
* Fix (#7)
* Fix
I removed the gameSizeCheckBox from the 'Emulator' group and put it in 'GUI settings'
hLayoutTrophy which contains the Trophy information was inside the GUIMusicLayout, so I fixed that too.
* TR
* Use cached sizes if the feature is enabled
---------
Co-authored-by: DanielSvoboda <daniel.svoboda@hotmail.com>
* Support for true fullscreen
* clang
* Re-add mistakenly deleted line
* Size
I adjusted the size of the entire screen.
trophies font size and added a margin so it wouldn't be so spaced out.
---------
Co-authored-by: DanielSvoboda <daniel.svoboda@hotmail.com>
* Adding Swedish translation
* Updated Swedish translation with additional strings
Updated the Swedish translations using lupdate to found additional strings
cd src/qt_gui/treanslations
lupdate ../../../../shadPS4/ -tr-function-alias QT_TRANSLATE_NOOP+=TRANSLATE,QT_TRANSLATE_NOOP+=TRANSLATE_SV,QT_TRANSLATE_NOOP+=TRANSLATE_STR,QT_TRANSLATE_NOOP+=TRANSLATE_FS,QT_TRANSLATE_N_NOOP3+=TRANSLATE_FMT,QT_TRANSLATE_NOOP+=TRANSLATE_NOOP,translate+=TRANSLATE_PLURAL_STR,translate+=TRANSLATE_PLURAL_FS -no-obsolete -locations none -source-language en -ts sv.ts
* Update sv.ts
* Fix SDL version cannot launch game using game ID
Missing from https://github.com/shadps4-emu/shadPS4/pull/1507.
* Added --add-game-folder argument
Also added "treat the last argument as the game, if it isn't found already" option to the qt version
---------
Co-authored-by: kalaposfos13 <153381648+kalaposfos13@users.noreply.github.com>
* GUI: TR Units - Size and Time
Added translation for these units:
B, KB, MB, GB, TB
h, m, s
Added missing text:
Games: - text in the lower left corner
Compatibility...
Update database
View report
Submit a report
Fixed the size of the settings menu
* Audio Backend
* Fixed the size of the settings menu
* compatibility_data: added compatibility related settings to gui
* New game compatibility section in settings dialog
* Context menu now has a compatibility section
* Adjusted minimum size of updater section to 265
* update translations
* revert to deprecated statechanged
* fix display compatibility data option
* wip: added basic gui for compat data
* data is currently pulled directly from github API, awaiting server infra
* removed unused initalizer
* fixes
* fix cmake
* wip: add some testing date / version
* add tooltip
* fix nested QJsonObject
* fix tooltip color
* fix clang-format
* Edit style
* Add clickable status
* formatting
* import order
* typo
* fix clang format 2
---------
Co-authored-by: georgemoralis <giorgosmrls@gmail.com>
* handle getdents + fix condition + add info to description
* fix not handling dents errors
* to not overwrite it, only gather separate update entries when normal folder is done
* fix always setting entries to 0 and guest name including "UPDATE"
* reset indexes on completion
* don't use concat, fixes long standing bug
* make sce_module module loading take both paths into account
* Do not save settings when close button pressed instead of save
* Update src/common/config.h
Co-authored-by: TheTurtle <geoster3d@gmail.com>
* Revert "Update src/common/config.h"
This reverts commit 125303ea86.
---------
Co-authored-by: rainmakerv2 <30595646+jpau02@users.noreply.github.com>
Co-authored-by: TheTurtle <geoster3d@gmail.com>
* Skip GUI if launching a game directly
* Rerun jobs 2
* Added --show-gui, --help, open game by ID and more
* Clang-format
* Added non-GUI related upgrades to SDL version
* clang-format
* Added --fullscreen <true|false> argument
* Update --help text
* description + string fixes
* fix use condition
* clang format
* updates now fully extract to game update folder
* don't guarantee the overwrite game condition
* separate updates implementation
* clang format
clang format
clang format
clang format
clang hates me
work please
* hotfix: check for sfo file instead of the folder
* tiny change
* refactor
* forgot to change this over
* add review changes
* use operator
* fix: game dir dupes on each launch
* fix copy around settings_addon_install_dir vector
* do not show the path if it is not added
* remove installDir from config file
* format
* moved migration code to save, and added notice
* move ui->removeFolderButton->setEnabled to LoadValuesFromConfig
* avoid checking duplicates for gameDirs loaded from config
* use else condition to switch to the installDirs
* Wire up translations and descriptions for the cursor settings.
* Move controller settings to input tab and rename it to controller (to inline it with how other settings are shown).
* Fixed unnecessary double initialization of the back button setting.
* Organize statements and functions w/ respect to their tabs and some minor QOL changes for the settings UI in general.
* Play Time
* SDL
* QT
* Sort / Formatting
* Timer 1 minute
* remove the seconds
removes the seconds from the screen, but in the play_time.txt file it continues to record the seconds for better accuracy, and the screen is cleaner
* fixes the invisible 0
* SDL . . .
* Fix Timer
Implement hide cursor on idle w/ idle timeout duration (configurable via GUI). While at it add always and never to hide the cursor options as well.
* Revert commit #1211 as to not interfere with the cursor states.
* Make hide cursor on idle as the default setting w/ timeout duration of 5 seconds to hide.
* Add an input tab in the settings page to add the hide cursor setting, with hiding the idle timeout box with respect to the cursor hide option.
Co-authored-by: georgemoralis <giorgosmrls@gmail.com>
* Working touchpad support
Tested on PS5 controller plugged in via USB.
* fix lint
* Add support to click touchpad using back button on other controllers
Takes the back button and allows the user to change the behavior of how it clicks the touchpad. The current options are left, right, center, and none.
* add description text
* make more generic so translations can be supported in combobox
* fix lint
* linter again
* support back button to touchpad for spacebar as well
* linter at it again
* Devtools: Pause system
* Devtools: pm4 viewer
- new menu bar
- refactored video_info layer
- dump & inspect pm4 packets
- removed dumpPM4 config
- renamed System to DebugState
- add docking space
- simple video info constrained to window size
* Devtools: pm4 viewer - add combo to select the queue
* Devtools: pm4 viewer - add hex editor
* Devtools: pm4 viewer - dump current cmd
* add monospaced font to devtools
* Devtools: pm4 viewer - use spec op name
avoid some allocations
* trophy icon + platinum fixes
cleaned up some parts too
* format
* implement turtles review
* use fs native where possible, clang format
* implement vinicius suggestions
* format
* final reviews
* mutex for trophy queue, remove unneeded field
* format
Changed from checkUpdate.cpp to check_update.cpp
Removed this part, as the function that used it no longer exists:
<details>
<summary><strong>See removed text</strong></summary>
```ts
<message>
<location filename="../checkUpdate.cpp" line="352"/>
<source>Failed to open the ZIP file</source>
<translation>Failed to open the ZIP file</translation>
</message>
<location filename="../checkUpdate.cpp" line="420"/>
<source>File name is empty. Possibly corrupted ZIP.</source>
<translation>File name is empty. Possibly corrupted ZIP.</translation>
</message>
<message>
<location filename="../checkUpdate.cpp" line="445"/>
<source>Failed to create directory</source>
<translation>Failed to create directory</translation>
</message>
<message>
<location filename="../checkUpdate.cpp" line="464"/>
<source>Error decompressing file</source>
<translation>Error decompressing file</translation>
</message>
<message>
<location filename="../checkUpdate.cpp" line="487"/>
<source>Failed to open output file</source>
<translation>Failed to open output file</translation>
</message>
<message>
<location filename="../checkUpdate.cpp" line="497"/>
<source>Unsupported compression method for file:</source>
<translation>Unsupported compression method for file:</translation>
</message>
<message>
<location filename="../checkUpdate.cpp" line="510"/>
<source>Failed to create TAR extraction directory</source>
<translation>Failed to create TAR extraction directory</translation>
</message>
<message>
<location filename="../checkUpdate.cpp" line="525"/>
<source>Failed to extract the TAR file</source>
<translation>Failed to extract the TAR file</translation>
</message>
```
</details>
And it was standardized, all files with the correct formatting.
* Use filesystem::path whenever possible, remove fs::path::string
* My hatred for Windows grows with every passing day
* More Qt stuff
* custom u8string formatter for fmt library
* Use u8string for imgui
* Fix toml errors hopefully
* Fix not printing issue
* Oh and on SDL
* I hate Windows even more today
* fix toml reading utf-8 paths
also small fix for fmt::UTF
* Formatting
* Fix QT path to run games
* Fix path logging in save data
* Fix trophy path handling
* Update game_list_frame.cpp
fixed snd0path
* Update main_window.cpp
fix snd0path
* Update main_window.cpp
* paths finally fixed
* git info in WIP versions title
---------
Co-authored-by: Vinicius Rangel <me@viniciusrangel.dev>
Co-authored-by: georgemoralis <giorgosmrls@gmail.com>
* add playback of background/title music
* clang_format
* add windows multimedia build instructions
* fix typo accidentally made to arm
* address comments
* loop music
* feedback
* fix CI
* add newline
* playBGM off by default
---------
Co-authored-by: Charles <charles@superfocus.ai>
* Updater
* clang
* Adding Updater icon
* Updater
* TR
* settings_dialog.ui
* Changelog for Pre-release only
* Adding Dump and Download icons
* Forgot this...
* fix linux and resize
* powershell_unzip | changelog fix
Does not use zlin-ng to unpack, now uses powershell on windows and on linux/mac uses unzip or 7z, and if it does not find it, it will ask if you want to install it before extracting.
Do not show the changelog button if: The current version is a pre-release and the version to be downloaded is a release.
* Clang
* formatting
* links fixed
---------
Co-authored-by: Xphalnos <164882787+Xphalnos@users.noreply.github.com>
* Safety checks in all SFO readings
* SaveData: log backup error and continue & fix possible concurrent file editing
* SaveData: Fix issue with old firmwares
* core: Rewrite PSF parser & add encoder
add .sfo hex pattern to /scripts
* core/fs: allow to mount path as read-only
* common: Add CString wrapper to handle native null-terminated strings
* SaveData: rewrite to implement full functionality
* mock value for SYSTEM_VER
* SavaData: backup features
* SavaData: SaveDataMemory features
* imgui Ref-counted textures
- has a background thread to decode textures
* imgui: rework gamepad navigation
* PSF: fixed psf not using enum class for PSFEntryFmt (was a standard old ugly enum)
- Add null check to CString when itself is used in a nullable field
* SaveDataDialog implementation
- Fix Mounting/Unmounting check of SaveInstance
* add pugixml
* trophy_viewer: support for trophy unlocking
* nptrophy: UnlockTrophy(), DestroyContext()
* initial imgui popup
* queue to handle multiple trophies at once
* extract trophy info on game start + various fixes
* platinum trophy support + extract trophy data on startup
* format
* nptrophy: GetTrophyUnlockState
* implement vinicius' reviews
* Fixed compiler error for av_err2string by redefining in c++ friendly way
* removed link from comment, putting in PR
* fixed formatting
* Minor fix: enable qt gui to find PKG files with lowercase extension .pkg
* Added missing dependencies and instructions for enabling QT for linux builds
If the patch does not appear, it may be that it does not exist for the specific serial and version of the game. It may be necessary to update the game.
* 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>
fix: file name typo constant_propogation_pass.cpp
fix typo from 'symbol_vitrual_addr' variable
fix typo in emit_spirv_context_get_set.cpp
fix typo from constant_propagation_pass.cpp in CMakeLists
fix typo in these some config.cpp functions
- setSliderPosition
- setSliderPositionGrid
- getSliderPosition
- getSliderPositionGrid
fix typo inside src\core\aerolib\stubs.cpp
fix typo in a comment from src\core\file_format\pkg.cpp
fix typo inside src\core\file_sys\fs.cpp + fs.h
- NeedsCaseInsensiveSearch -> NeedsCaseInsensitiveSearch
fix 2 function typos: sceAppContentAddcontEnqueueDownloadByEntitlemetId and sceAppContentAddcontMountByEntitlemetId
fix typo on comment inside src\core\libraries\kernel\file_system.cpp
fix typo on src\core\libraries\videoout\driver.cpp
fix typo in src\core\memory.cpp
fix typo from comment in src\qt_gui\game_list_utils.h
fix typo in src\video_core\amdgpu\liverpool.h
- window_offset_disble to window_offset_disable
fix typo from comments in src\video_core\host_shaders\detile_m32x1.comp + detile_m32x2.comp
- subotimal -> suboptimal
fix typo from comment in src\video_core\renderer_vulkan\renderer_vulkan.cpp
- dimentions -> dimensions
fix typo from enum in src\common\debug.h and other files
- MarkersPallete -> MarkersPalette
fix last typo in src\video_core\amdgpu\pm4_opcodes.h
- PremableCntl -> PreambleCntl
* feat: add pt_BR translation
- Made by @LeDragoX
- Revised by @gabsF
* fix: change translation string 'Mostrar Tela Inicial' to 'Mostrar Splash Inicial'
* gui: add option to boot a game by choosing elf file
* core: some small implementations
* fs: implement open func
* add some validations
* spirv: add image format
* video_core: add eR16Uint to formats
* qt-gui: Added GPU device selection functionality
* Getting list of GPU only when application starts
* Fixed formatting
* Fixed formatting
* Fixed formatting
* Added warning when GPU doesn't support API version.
* Changed Unsupported Vulkan Version warning
* Removed unused size checking on GetPhysicalDevices
The method is only being called once so this doesn't make sense. It was some left over of me trying to get this done some other way.
* Fix formatting
* Fix formatting
* SettingsDialog: Passing physical devices as span
* Fixed formatting
qt_gui: When a command line argument is passed to the GUI version, it will always prompt to change the game directory. This happens because the "user" folder is created on the elf or eboot.bin location.
This change will ignore the game install directory configuration at startup when an command line argument is passed.
Since if a game was passed, it should start automatically as this is the expected behaviour.
The game list wasn't being refreshed automaticly after a manual directory change on the QT GUI, now the RefreshGameTable will be called after the GameInstallDialog is executed.
"Show Game List" button originally didn't have any action assigned to it, so this PR is supposed to implement the change that would make sense to it (even though I don't think anyone would be using this too much.)
* sceKernelOpen truncate is not neccesary
* fixup scePthreadCondSignal
* dummy error , ime dialogs stubbed
* sceErrorDialog implemenation (no ui)
* small fix in sceSaveDataGetEventResult and sceAppContentTemporaryDataMount2.
* ime dialog structs and functions definations
* added stubbed avplayer
* Open folder should be first on context menu
---------
Co-authored-by: raziel1000 <ckraziel@gmail.com>
Added 'Create Shortcut' option to gui_context_menus
Implemented functionality to create shortcuts:
convertPngToIco: Converts PNG icons to ICO format.
createShortcutWin: Creates shortcuts on Windows using COM interfaces.
createShortcutLinux: Generates .desktop files for shortcut creation on Linux.
Note: Linux functionality has not been tested.
- Added a trophy viewer (right click on game ==> trophy viewer)
- Enabled Run button.
- Switched gui settings to toml.
- Added recent files (6 max)
- Applied @raphaelthegreat suggestions and corrections (Thanks a lot).
- Fixed several bugs and crashes.
- Full screen should disabled by default.
- Added region in list mode.
- Added a simple temp elf list widget.
- Added messages when extracting pkg (ex: installing a patch before the game...etc)