Commit Graph

2757 Commits

Author SHA1 Message Date
Stephen Miller
54a1694a2b
memory: Implement protecting multiple VMAs (#2484)
* Implement protecting multiple VMAs

A handful of games expect this to work, and updated versions of Grand Theft Auto V crash if it doesn't work.

* Clang
2025-02-21 08:28:47 +02:00
georgemoralis
14717b8ecb
New Crowdin updates (#2483)
* New translations en_us.ts (Norwegian Bokmal)

* New translations en_us.ts (Norwegian Bokmal)

* New translations en_us.ts (Norwegian Bokmal)
2025-02-21 08:28:29 +02:00
Stephen Miller
85e466f113 Fix the Bloodborne fix 2025-02-20 19:26:24 -06:00
Stephen Miller
81e9a547ec Improve error checks on posix_unlink
Just because a file isn't opened doesn't mean the file doesn't exist.
Fixes the error returned if host_path.empty(), and removes the error return for when GetFile fails.
2025-02-20 18:50:04 -06:00
Stephen Miller
6d19a8ec0c Clang
Out of all the changes, this is apparently the only thing Clang-Format doesn't like.
I'm honestly surprised.
2025-02-20 17:59:53 -06:00
Stephen Miller
6c2329eadf Check if file exists before calling platform-specific code
Bloodborne checks if a file doesn't exist using open, checking if it specifically failed with error code ENOENT. To avoid working with platform-specific errnos, add a proper error return for if the file doesn't exist.
Fixes a regression in Bloodborne.
2025-02-20 17:57:31 -06:00
Paris Oplopoios
3ed1c31678
Update README.md (#2488) 2025-02-21 00:30:40 +02:00
Stephen Miller
b52b6ae04b Merge remote-tracking branch 'upstream/main' into fs-cleanup 2025-02-20 15:39:57 -06:00
Stephen Miller
10c7b02621 Update header exports
Not sure where these get used, but might as well keep them consistent with the rest of this.
2025-02-20 15:36:51 -06:00
Missake212
b6baf78812
adding info about MSYS2 build (#2482)
adding information about MSYS2 builds being broken right now and redirecting people to VS 2022
2025-02-20 10:16:13 +02:00
Dmugetsu
2af20b0d83
Now lightbar overwrite works on dualsense while using it on bluetooth (#2481) 2025-02-20 10:15:54 +02:00
Stephen Miller
bdfc0c246c Remove SetPosixErrno
Ideally, we've handled all possible error conditions before calling these functions, so treat errors in platform-specific code as IO errors and return POSIX_EIO instead.
2025-02-19 19:24:22 -06:00
georgemoralis
cc583b6189 hot-fix: rasterizer 2025-02-19 13:55:18 +02:00
TheTurtle
da0ab005c7
video_core: Fix some cases of "Attempted to track non-GPU memory" (#2447)
* memory: Consider flexible mappings as gpu accessible

Multiple guest apps do this with perfectly valid sharps in simple shaders. This needs some hw testing to see how it is handled but for now doesnt hurt to handle it

* memory: Clamp large buffers to mapped area

Sometimes huge buffers can be bound that start on some valid mapping but arent fully contained by it. It is not reasonable to expect the game needing all of the memory, so clamp the size to avoid the gpu tracking assert

* clang-format fix

---------

Co-authored-by: georgemoralis <giorgosmrls@gmail.com>
2025-02-19 13:31:35 +02:00
jarred wilson
50aa0f5564
Update linux build docs (#2474)
* fix: update linux build dependencies for libpng

- add libpng to linux build docs
- add libpng to nix build file

* linux docs: reformat code blocks

- add code block bash syntax highlighting
- format long code blocks to multiline
2025-02-19 13:29:31 +02:00
georgemoralis
f686b1df98
New Crowdin updates (#2478)
* New translations en_us.ts (French)

* New translations en_us.ts (Portuguese)

* New translations en_us.ts (Italian)
2025-02-19 13:29:16 +02:00
DanielSvoboda
48c621532c
Cheats/Patches - add mask_jump32 (#2477)
* mask_jump32

* fix qt/sdl

* fix dangling pointer?

fixes the warning: "clang-diagnostic-dangling-gls: object backing the pointer will be destroyed at the end of the full-expression"
2025-02-19 13:29:04 +02:00
georgemoralis
7d756e79ae
New Crowdin updates (#2470)
* New translations en_us.ts (Romanian)

* New translations en_us.ts (French)

* New translations en_us.ts (Spanish)

* New translations en_us.ts (Arabic)

* New translations en_us.ts (Danish)

* New translations en_us.ts (German)

* New translations en_us.ts (Greek)

* New translations en_us.ts (Finnish)

* New translations en_us.ts (Hungarian)

* New translations en_us.ts (Italian)

* New translations en_us.ts (Japanese)

* New translations en_us.ts (Korean)

* New translations en_us.ts (Lithuanian)

* New translations en_us.ts (Dutch)

* New translations en_us.ts (Polish)

* New translations en_us.ts (Russian)

* New translations en_us.ts (Albanian)

* New translations en_us.ts (Swedish)

* New translations en_us.ts (Turkish)

* New translations en_us.ts (Ukrainian)

* New translations en_us.ts (Chinese Simplified)

* New translations en_us.ts (Chinese Traditional)

* New translations en_us.ts (Vietnamese)

* New translations en_us.ts (Portuguese, Brazilian)

* New translations en_us.ts (Indonesian)

* New translations en_us.ts (Persian)

* New translations en_us.ts (Portuguese)

* New translations en_us.ts (Norwegian Bokmal)

* New translations en_us.ts (Italian)

* New translations en_us.ts (Russian)

* New translations en_us.ts (Portuguese, Brazilian)

* New translations en_us.ts (Turkish)

* New translations en_us.ts (Turkish)

* New translations en_us.ts (Turkish)

* New translations en_us.ts (Chinese Simplified)

* New translations en_us.ts (Swedish)

* New translations en_us.ts (Spanish)

* New translations en_us.ts (Albanian)
2025-02-18 15:55:41 +02:00
¥IGA
8447412c77
Bump to Clang 19 (#2434) 2025-02-18 15:55:13 +02:00
Stephen Miller
cc07a4da15 Update file_system.cpp 2025-02-17 21:37:28 -06:00
Stephen Miller
4118999831 Implement posix_pwrite and posix_unlink
Also fixes errno behavior in related functions.
2025-02-17 21:19:14 -06:00
Stephen Miller
1858214d51 Fix errno behavior of sceKernelFsync 2025-02-17 21:11:59 -06:00
Stephen Miller
74b513ddcd Implement posix_getdents, getdirentries, and posix_getdirentries
Also fixes errno behavior for the kernel variants of these functions.
2025-02-17 21:11:33 -06:00
Stephen Miller
dfff0d188d Fix compile 2025-02-17 20:36:40 -06:00
Stephen Miller
c8b3af1d3f Add posix_preadv and posix_pread
Also fixes some incorrect error returns, fixes errno behavior, and removes an unnecessary hack.
2025-02-17 20:03:06 -06:00
Stephen Miller
578b6e7961 Implement posix_rename, fix sceKernelRename errno behavior 2025-02-17 19:56:16 -06:00
Stephen Miller
aa00a9ceee Add missing error conversions for more device functions 2025-02-17 19:52:52 -06:00
Stephen Miller
12af813b7c Implement posix_ftruncate
Implements posix_ftruncate and fixes errno behavior for sceKernelFtruncate
2025-02-17 19:47:45 -06:00
Stephen Miller
0032531856 Refactor fstat
Fixes errno behavior, implements fstat, and shifts exports around based on file position.
Might reorganize function locations later though.
2025-02-17 19:42:08 -06:00
Stephen Miller
7dd7ee4bfe Slight clean up of sceKernelStat
Fixes error behavior and changes some of the old data types.
2025-02-17 19:34:30 -06:00
Stephen Miller
b5fa582573 Fix errno behavior on sceKernelRmdir
Also reduces function logging to bring it closer to the level of logging seen in other filesystem functions.
2025-02-17 19:28:18 -06:00
Stephen Miller
c83c2e73f5 Swap sceKernelMkdir and posix_mkdir
Fixes errno behavior on kernel calls, also fixed some incorrect error returns.
2025-02-17 19:15:39 -06:00
Stephen Miller
db695fe3a3 Implement read
Also fixes error behavior
2025-02-17 19:04:03 -06:00
Stephen Miller
5e04d7aa91 Update file_system.cpp 2025-02-17 19:01:18 -06:00
Stephen Miller
555dea92f4 Swap around sceKernelLseek and posix_lseek
This ensures that these have the correct error behavior, and makes their behavior align with the updated implementations for earlier functions.
2025-02-17 19:00:01 -06:00
Stephen Miller
ba75bc2274 More cleanup on older functions 2025-02-17 18:59:14 -06:00
Stephen Miller
dd027c6d36 Implement posix_writev and sceKernelWritev
Also fixes error behavior on writev, since it shouldn't ever return kernel errors (since our device files return those)
2025-02-17 18:35:54 -06:00
Stephen Miller
2920707702 Cleanup readv 2025-02-17 18:34:15 -06:00
Stephen Miller
3e7d1092f2 Move sceKernelUnlink
Will deal with this one later, was just annoyed by how it's location doesn't align with the export order.
2025-02-17 18:29:40 -06:00
Stephen Miller
bb75754245 Implement posix_readv and sceKernelReadv
Also fixes error behavior on readv, as that function shouldn't be returning any kernel error codes.
2025-02-17 18:28:57 -06:00
Stephen Miller
80da8a9ae9 Oops 2025-02-17 18:22:54 -06:00
Stephen Miller
c4fae1690b Implement write and posix_write 2025-02-17 18:18:41 -06:00
Stephen Miller
801687da3f Update file_system.cpp 2025-02-17 18:10:16 -06:00
Stephen Miller
475c42bc38 Swap some stuff around
I see nothing that suggests "open" only takes two parameters, so this should be completely safe.
It's also more accurate to how these are handled in libkernel, and means I won't need to reorganize anything for readv and writev.
2025-02-17 18:09:36 -06:00
Stephen Miller
ba1c5bdc8f Remaining placeholder exports 2025-02-17 18:01:53 -06:00
Stephen Miller
534f50ba09 Missing exports
Commented out while I gradually work through them all
2025-02-17 15:50:48 -06:00
Stephen Miller
55790e37e8 Readd hack in posix_close
It's either this, or removing LLE DiscMap.
Or shadow implements posix sockets.
2025-02-17 15:22:16 -06:00
Stephen Miller
671cbfbbd0 posix_open fixups 2025-02-17 15:21:35 -06:00
Stephen Miller
4a4589a1e9 Fix log on close 2025-02-17 15:11:28 -06:00
Stephen Miller
fb8883dcea Improve close
Removes the EPERM return, as it makes no sense, and swaps sceKernelClose with posix_close to properly emulate errno behavior.
2025-02-17 15:05:45 -06:00