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>
* Always present acquired swapchain images
Always present acquired swapchain images in order to be able to acquire them again.
fix#865
* Recreate swapchain if window is resized
* Respect aspect ratio when blitting to frame
* Make SDL window resizable
* clang-format
* designator order (building with gcc)
Fix /shadPS4/src/video_core/renderer_vulkan/vk_instance.cpp:314:9: error: designator order for field ‘vk::PhysicalDeviceVulkan12Features::samplerMirrorClampToEdge’ does not match declaration order in ‘vk::PhysicalDeviceVulkan12Features’
* Clear frame before blitting
* clang-format
* Revert "designator order (building with gcc)"
There already is a PR opened for this.
This reverts commit 7f8ccf4b1e.
* 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>
* I hate programming and will furiously smash my monitor if I ever see another oversight of this caliber ever again in my goddamn life
* Merge both protect functions together
* Use a singleton for instruction decoding
* Use singleton class
* Patch `EXTRQ`
* Fixup signal context functions
* Update CMakeLists.txt
---------
Co-authored-by: georgemoralis <giorgosmrls@gmail.com>
* video info: add frame graph
Toggle advanced info with CTRL+F10.
Also fixed imgui using gamepad for nav in wrong situations
* 60fps!
Implemented a timer that accumulates the time spent sleeping and sleeps for the remaining time.
Also measure entire PresentThread time instead of just the time spent in Flip.
* sceKernelGettimeofday: replace chrono by win32 api. Better performance
bb uses this function too much. Consuming almost 30% of cpu time
* Add ElfInfo to track current game info in a singleton
* SaveData compatibility with old firmwares
* sceKernelOpen: fix for write-only mode
* imgui: add font to render non-ascii characters
* save_data: fix Backup Job including old backup in the new backup
* Save backup: fix to avoid filling the queue
Also limiting 1 backup / 10sec
* Save backup: fix search not handling empty pattern
*backup time improv
* shader_recompiler: Use push constants for user data regs
* shader: Add some GR2 instructions
* shader: Add some instructions
* shader: Add instructions for knack
* touchups
* spirv: Better names
* buffer_cache: Ignore non gpu modified images
* clang format
* Add log
* more fixes
* Safety checks in all SFO readings
* SaveData: log backup error and continue & fix possible concurrent file editing
* SaveData: Fix issue with old firmwares
* video_core: texture: image subresources state tracking
* shader_recompiler: use one binding if the same image is read and written
* video_core: added rebinding of changed textures after overlap resolve
* don't use pointers; slight `FindTexture` refactoring
* video_core: buffer_cache: don't copy over the image size
* redundant barriers removed; fixes
* regression fixes
* texture_cache: 3d texture layers count fixup
* shader_recompiler: support for partially bound cubemaps
* added support for cubemap arrays
* don't bind unused color buffers
* fixed depth promotion to do not use stencil
* doors
* bonfire lit
* cubemap array index calculation
* final touches
* save_data: Fix save data list back button.
* common: Add more null checks in CString.
Co-authored-by: Vinicius Rangel <me@viniciusrangel.dev>
---------
Co-authored-by: Vinicius Rangel <me@viniciusrangel.dev>
* 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
* cpu_patches: Patch just-in-time using illegal instruction handler.
* core: Add common signal dispatch system and use for on-demand TCB patches.
* page_manager: Re-add userfaultfd implementation.
* graphics_pipeline: More proper masking
* pipeline_cache: Skip setting depth/stencil fields when test is disabled
* pipeline_cache: More fixes to depth stencil state
* vk_rasterizer: Use dynamic state for depth bounds and bias
* pipeline_cache: Missed depth bias enable
* vk_rasterizer: Add stencil dynamic states
* thread: Reduce spammy log
* Remove some leftover state
* pipeline_cache: Allocate pipelines from pools
* vk_graphics_pipeline: Remove bindings member
Saves about 1KB from each pipeline
* fix review's from last pr
* save timestamp when trophies are unlocked
* implement GetTrophyInfo()
* use strncpy instead of strcpy_s, should fix actions
* nptrophy: GetGameInfo(), GetGroupInfo()
* various fixes
* format
* libSceRazorCpu needed for gravity rush
* libSceCesCs needed for blue reflection
* clang format fix
* set scePadSetVibration to log debug
* initial sceNetCtl module implementation
* improved error codes in file system
* some intial work on netctl callbacks (helps a bit CUSA10135)
* misc
* improved callbacks handling in sceNetCtl
* small fixes
* added libSceRudp.sprx to lle modules
* draft work for npcallbacks
* Add 5-second sleep on sceNetAccept as this can be called in an infinite loop and would normally block (this isn't ideal for non-blocking sockets but it's all stubs at the moment anyway)
* SDLAudio::AudioOutOutput: protect against invalid handle, support NULL input (wait only), replace fixed 65536 with an amount based on settable latency target (20ms for now)
* Fix whitespace
---------
Co-authored-by: j <j@local>
* 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
* system/MsgDialog: types & basic text display
* system/MsgDialog: User message dialog
* system/MsgDialog: RAII for MsgDialog ui
* system/MsgDialog: Progress bar dialog
* system/MsgDialog: System message texts
* system/MsgDialog: copy all ui state to local memory
handles when game release memory before close
extracted all UI code to it's own file
use single window instead of creating new one every single dialogOpen
* system/MsgDialog: debug logging
* added imgui as dependency
* imgui renderer/basic input implementation
* imgui: add layers system
Add video info layer to show fps. Press F10 to toggle it.
* imgui: add custom imgui config
* imgui: gamepad capture, stopping propagation
* imgui: changed config & log file path to use portable dir
* videoout: render blank frame when video output is closed
required to render imgui even when game has no video output
- fixed merge compile-error
* shader_recompiler: Add more format swap modes
* texture_cache: Handle stencil texture reads
* emulator: Support loading font library
* readme: Add thanks section
* shader_recompiler: Constant buffers as integers
* shader_recompiler: Typed buffers as integers
* shader_recompiler: Separate thread bit scalars
* We can assume guest shader never mixes them with normal sgprs. This helps avoid errors where ssa could view an sgpr write dominating a thread bit read, due to how control flow is structurized, even though its not possible in actual control flow
* shader_recompiler: Implement data append/consume operations
* clang format
* buffer_cache: Simplify invalidation scheme
* video_core: Remove some invalidation remnants
* adjust
* SetTick + GetTick, adding functions, checkvalid
* format
* more functions
* format
* implement lizardy's changes
* fix linux build
* various formatting improvements and fixes
* fix sceRtcGetCurrentClockLocalTime,
fixes sceRtcGetCurrentClockLocalTime using lizardy's suggestions.
also implements various formatting improvements and logging changes
* fix mac and linux builds, const for UNIX_EPOCH
* fix ConvertUtcToLocalTime,RtcConvertLocalTimeToUtc
* format rfc2822, format rfc3339
* format
* GetDosTime, GetTime_t, GetWin32FileTime
+various formatting improvements
* sceRtcParseRFC3339, sceRtcParseDateTime
* Implement some missing shader opcodes
Implements TBUFFER_STORE_FORMAT_XYZW, IMAGE_SAMPLE_CD, and IMAGE_GATHER4_C_LZ.
These are seen in https://github.com/shadps4-emu/shadPS4/issues/496.
* Implement IMAGE_STORE_MIP
Not sure if this is the right way to do this, let me know if this needs changing.
* Revert "Implement IMAGE_STORE_MIP"
This reverts commit cff78b5924.
* shader_recompiler: Implement V_MOVRELS_B32, V_MOVRELD_B32,
V_MOVRELSD_B32
Generates a ton of OpSelects to hardcode reading or writing from each
possible vgpr depending on the value of m0
Future work is to do range analysis to put an upper bound on m0 and
check fewer registers.
* fix runtime info after rebase
* texture_cache: Use invalidate threshhold
* It's possible for shaders to bind huge buffers and only write to lower portion of it. This is a problem if upper parts of the buffer overlap with render targets. If the image is very far away from buffer base it's unlikely the shader will want to write it, so skip invalidation for it
* video_core: Allow using texture cache to validate texture buffers
* texture_cache: Use buffer cache in all cases for data source
* Allows to correctly handle compute written micro tiled textures
* texture_cache: Fix depth pitch
* kernel: Remove missed code
* clang format
* video_core: Adjust depth format
* buffer_cache: Do not cache buffer views
* thread_management: Do not call createMutex on unlock
* temp: Revert this when pr is done
* buffer_cache: Dont skip cpu uploads with image sync
* Sometimes image does not fully overlap with a region
* fix build
* video_core: Improve invalidate heuristic
* small fixes
* video_core: Hopefully fix some vertex explosions
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.
* shader_recompiler: Use null image when shader is compiled with unbound sharp
* video_core: Refactor and render target swizzles
* liverpool_to_vk: Add missing swap format from RDR
* video_core: Refactor shader recompiler interface
* Makes it much easier to pass runtime information to the recompiler and have it treated as part of the shader key. Also pulls out most runtime state from Info struct
* shader_recompiler: Avoid some asserts
The memory_type default is based on fpPS4 behavior.
I'm not entirely sure how the offset should be handled, but since the value we use defaults to 0 anyway, that should be better than leaving random data in that area.
The headers for these functions were technically not the same as the actual function definition. This didn't cause any emulation issues, but caused some weird issues with my IDE.
Found this issue while looking at code from fpPS4. VirtualQuery was setting is_commited to true when the queried region was reserved.
Also sets the protection value in the VirtualQueryInfo, as I'd assume not storing that could cause issues in games.
This fixes all games currently hanging on the sceKernelmprotect stub.
* video_core: Compile shader permutations
* spirv: Only specific storage image format for atomics
* ir: Avoid cube coord patching for storage image
* spirv: Fix default attributes
* data_share: Add more instructions
* video_core: Query storage flag with runtime state
* kernel: Use std::list for semaphore
* video_core: Use texture buffers for untyped format load/store
* buffer_cache: Limit view usage
* vk_pipeline_cache: Fix invalid iterator
* image_view: Reduce log spam when alpha=1 in storage swizzle
* video_core: More features and proper spirv feature detection
* video_core: Attempt no2 for specialization
* spirv: Remove conflict
* vk_shader_cache: Small cleanup
In the case of certain games, such as Battlefield 4 (CUSA00110), the local pathing will resolve to /hostapp instead of /app0, which works fine on PS4, but was failing to resolve to any meaningful mount in shadPS4, this corrects this issue when running from eboot.bin directly.
* 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>
* memory: Size direct memory based on requested flexible memory.
* memory: Guard against OrbisProcParam without an OrbisKernelMemParam.
* memory: Account for alignment in direct memory suitability checks and add more debugging.
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'
* core/libraries/kernel: Fix inaccurate direct memory size
* core/memory: Fix available dmem query on non-free dmem areas
* core/kernel: return ENOMEM if memory area size is zero
* core/kernel: Fix returns on `sceKernelAvailableDirectMemorySize`
* core/memory: Remove unneeded size alignment
* shader_recompiler: handle fetch shader address offsets
parse index & offset sgpr from fetch shader and propagate them to vkBindVertexBuffers
* shader_recompiler: fix fetch_shader when offset is not present
* video_core: propagate index/offset SGPRs to vkCmdDraw instead of offsetting the buffer address
* video_core: add vertex_offset to non-indexed draw calls
renamed fetch offset fields