Commit Graph

432 Commits

Author SHA1 Message Date
georgemoralis
a9df50cc9b
Merge branch 'main' into user_and_settings 2026-02-15 10:31:05 +02:00
Niram7777
8d4cbdbca9
Log actually not always compact (#4035) 2026-02-14 22:31:19 +02:00
georgemoralis
7c0303db56
Merge branch 'main' into user_and_settings 2026-02-13 10:31:17 +02:00
Stephen Miller
1a06020f70
Core: Mount system fonts (#4028)
* Mount system fonts

Now that font LLE works, these are necessary for some titles.

* Make fonts path configurable

By user request.
2026-02-13 09:02:30 +02:00
kalaposfos13
9b8c15276a merge fixes 2026-02-12 22:31:45 +01:00
kalaposfos13
1472781784 Merge remote-tracking branch 'origin/main' into user_and_settings 2026-02-12 22:31:24 +01:00
Niram7777
ffae535a5c
[LOG] group same lines with counter (#4010)
* [LOG] group same lines with counter

* Log in single line counter

* Protect log singleton from ps4 threads

* Log always compact
2026-02-09 20:19:39 +02:00
Kyoskii
341de9aa17
Update config.cpp (#4004)
Some checks are pending
Build and Release / reuse (push) Waiting to run
Build and Release / clang-format (push) Waiting to run
Build and Release / get-info (push) Waiting to run
Build and Release / windows-sdl (push) Blocked by required conditions
Build and Release / macos-sdl (push) Blocked by required conditions
Build and Release / linux-sdl (push) Blocked by required conditions
Build and Release / linux-sdl-gcc (push) Blocked by required conditions
Build and Release / pre-release (push) Blocked by required conditions
InternalScreenWidth would get internalScreenHeight instead of InternalScreenWidth
2026-02-07 19:03:45 -06:00
kalaposfos13
2e789649ec
Automatically add missing hotkeys to the global input config (#4003)
Some checks are pending
Build and Release / reuse (push) Waiting to run
Build and Release / clang-format (push) Waiting to run
Build and Release / get-info (push) Waiting to run
Build and Release / windows-sdl (push) Blocked by required conditions
Build and Release / macos-sdl (push) Blocked by required conditions
Build and Release / linux-sdl (push) Blocked by required conditions
Build and Release / linux-sdl-gcc (push) Blocked by required conditions
Build and Release / pre-release (push) Blocked by required conditions
2026-02-07 22:39:08 +02:00
georgemoralis
1dc45ab6b3
npWebApi (#3878)
* added function parameters

* added logging

* more logging

* added error codes file

* sceNpWebApiCreateExtdPushEventFilter some re

* added np_web_api_internal

* more np_web_api_internal definations

* Initial types cleanup

* Basic library context handling.

Followed decomp closely, using standard library classes where possible to simplify code.

* Fix params to sceNpWebApiCreateContext

* Context logic fixes

* User contexts

* Clang

* sceNpWebApiVshInitialize

* Better initialization

* Request creation logic

* Some cleanup

* sceNpWebApiAbortRequest, sceNpWebApiDeleteRequest

* SendRequest functions

* formatting

* Update terminateContext and deleteUserContext

Addressing some unimplemented bits now that I have requests and user contexts here.

* Copyright

* sceNpWebApiCreateHandle, sceNpWebApiDeleteHandle, sceNpWebApiAbortHandle

also some bugfixing

* Extended push event filter

* abort handles in terminateContext

* Other push event filter types

* Register callbacks

* unregister callbacks

* oops

* One final update to deleteContext

* Logging changes

* Bug fixes

Fixes memory leaks, pretty sure these are the only places where that was an issue.

* sceNpWebApiCheckTimeout

* Handle and request timeouts

* Oops

* Push event filter parameters

Tested with Assassin's Creed Unity, seems to be correct.

* Service push event filter parameters

Tested again with Assassin's Creed Unity, seems to work fine.
Also fixed some code bugs I noticed, and removed an unnecessary part of my internal structs

* Stub implementation for createUserContextWithOnlineId

Might need a PSN check to be properly accurate, not sure.

* added sceNpWebApiGetHttpStatusCode

* opps

* opss 2

* sceNpWebApiReadData

* clang

* Fix context ids, user context ids, and request ids

Overlooked how these ids are actually calculated.

* Additional PSN checks

Seems creating any form of push event filter with an np service name fails when you're not connected to PSN.
Not sure of the actual cause yet, but given the error code, it's related to sceNpManagerIntGetUserList.

* compile fix

---------

Co-authored-by: Stephen Miller <millerste004@gmail.com>
Co-authored-by: Stephen Miller <56742918+StevenMiller123@users.noreply.github.com>
2026-02-07 21:05:47 +02:00
georgemoralis
0f9cc89ae5
Improved sceAudioOut and SDL3 backend (#3984)
Some checks are pending
Build and Release / reuse (push) Waiting to run
Build and Release / clang-format (push) Waiting to run
Build and Release / get-info (push) Waiting to run
Build and Release / windows-sdl (push) Blocked by required conditions
Build and Release / macos-sdl (push) Blocked by required conditions
Build and Release / linux-sdl (push) Blocked by required conditions
Build and Release / linux-sdl-gcc (push) Blocked by required conditions
Build and Release / pre-release (push) Blocked by required conditions
* improved sdl backend

* small cleanups

* misc

* adjustments and new definations

* cleanups

* more debuging

* rewrote sceAudioOut calls

* fixed a trace

* fixed audio3d port

* small debug fixes

* small additions

* using shared_ptr

* compile fixes

* make macOS happy

* using shared mutex

* implemented audio input backend

* fixed port construction based on decompile

* implemented partially sceAudioInGetSilentState to return correct code if mic device is null

* improved sdl volume handling

* dynamic volume update

* this one is for @UltraDaCat

---------

Co-authored-by: kalaposfos13 <153381648+kalaposfos13@users.noreply.github.com>
2026-02-07 16:38:45 +02:00
jas0n098
8da0b58aaa
Fix thread names being set to garbage (#3985)
Some checks are pending
Build and Release / reuse (push) Waiting to run
Build and Release / clang-format (push) Waiting to run
Build and Release / get-info (push) Waiting to run
Build and Release / windows-sdl (push) Blocked by required conditions
Build and Release / macos-sdl (push) Blocked by required conditions
Build and Release / linux-sdl (push) Blocked by required conditions
Build and Release / linux-sdl-gcc (push) Blocked by required conditions
Build and Release / pre-release (push) Blocked by required conditions
SetThreadName gets passed an std::string's c_str whose pointer gets invalidated by the assignment of g_curthread->name, resulting in broken thread names further down the line
2026-02-03 09:58:22 +01:00
Marcin Mikołajczyk
c0987ecc73
Fake Matching2 (#3959)
Some checks are pending
Build and Release / reuse (push) Waiting to run
Build and Release / clang-format (push) Waiting to run
Build and Release / get-info (push) Waiting to run
Build and Release / windows-sdl (push) Blocked by required conditions
Build and Release / macos-sdl (push) Blocked by required conditions
Build and Release / linux-sdl (push) Blocked by required conditions
Build and Release / linux-sdl-gcc (push) Blocked by required conditions
Build and Release / pre-release (push) Blocked by required conditions
2026-01-30 23:42:37 +02:00
Marcin Mikołajczyk
39a7738d04
Include NpTus stub (#3970)
Some checks are pending
Build and Release / reuse (push) Waiting to run
Build and Release / clang-format (push) Waiting to run
Build and Release / get-info (push) Waiting to run
Build and Release / windows-sdl (push) Blocked by required conditions
Build and Release / macos-sdl (push) Blocked by required conditions
Build and Release / linux-sdl (push) Blocked by required conditions
Build and Release / linux-sdl-gcc (push) Blocked by required conditions
Build and Release / pre-release (push) Blocked by required conditions
2026-01-29 17:46:30 +02:00
Stephen Miller
f14bad729c
Np: libSceNpPartner001 stubs (#3963)
Some checks are pending
Build and Release / reuse (push) Waiting to run
Build and Release / clang-format (push) Waiting to run
Build and Release / get-info (push) Waiting to run
Build and Release / windows-sdl (push) Blocked by required conditions
Build and Release / macos-sdl (push) Blocked by required conditions
Build and Release / linux-sdl (push) Blocked by required conditions
Build and Release / linux-sdl-gcc (push) Blocked by required conditions
Build and Release / pre-release (push) Blocked by required conditions
* Initial work

* Oops
2026-01-28 15:10:37 +02:00
kalaposfos13
cc70fa8bb5
Fix thread names not updating correctly (#3968)
Also, apply consistency to thread names
Also also, copyright 2026
2026-01-28 13:25:48 +02:00
Stephen Miller
4ba0e62670
Kernel.Vmm: Attempt to address race conditions involving ClampRangeSize, CopySparseMemory, and TryWriteBacking (#3956)
* no

no

* Adjust locking strategy

Use a separate mutex for the initial error checks + GPU unmap instead of using the reader lock. Make sure all writers lock this separate mutex, and for those that don't perform GPU unmaps, lock the writer lock immediately too.

This gets around every race condition I've envisioned so far, and hopefully does the trick?

* Clang

* Always GPU unmap

GPU unmaps have logic built-in to only run on mapped areas.
Not sure if userfaultfd would work with this, but since that's already broken anyway, I'll let reviewers decide that.

Without doing this, I'd need to do an extra pass through VMAs to find what all needs to be GPU modified before I can unmap from GPU, then perform remaining unmap work. Especially for places like MapMemory, that's a lot of code bloat.

* Fixups

* Update memory.cpp

* Rename mutex

It's really just a mutex for the sole purpose of dealing with GPU unmaps, so unmap_mutex is a bit more fitting than transition_mutex
2026-01-27 12:25:23 +02:00
georgemoralis
7709e7db7c
Merge branch 'main' into user_and_settings
Some checks failed
Build and Release / reuse (push) Has been cancelled
Build and Release / clang-format (push) Has been cancelled
Build and Release / get-info (push) Has been cancelled
Build and Release / windows-sdl (push) Has been cancelled
Build and Release / macos-sdl (push) Has been cancelled
Build and Release / linux-sdl (push) Has been cancelled
Build and Release / linux-sdl-gcc (push) Has been cancelled
Build and Release / pre-release (push) Has been cancelled
2026-01-21 15:39:20 +02:00
georgemoralis
c898071b72
Introducing key_manager for storing encryption keys . (#3935)
Some checks failed
Build and Release / reuse (push) Has been cancelled
Build and Release / clang-format (push) Has been cancelled
Build and Release / get-info (push) Has been cancelled
Build and Release / windows-sdl (push) Has been cancelled
Build and Release / macos-sdl (push) Has been cancelled
Build and Release / linux-sdl (push) Has been cancelled
Build and Release / linux-sdl-gcc (push) Has been cancelled
Build and Release / pre-release (push) Has been cancelled
* Introducing key_manager for storing encryption keys . Currently only trophy key is neccesary

* keep gcc happy?

* addded logging to keymanager

* revert file

* added npbind file format and rewrote part of trp file format
2026-01-19 18:49:57 +02:00
georgemoralis
e16dd9ebe4
Merge branch 'main' into user_and_settings
Some checks failed
Build and Release / reuse (push) Has been cancelled
Build and Release / clang-format (push) Has been cancelled
Build and Release / get-info (push) Has been cancelled
Build and Release / windows-sdl (push) Has been cancelled
Build and Release / macos-sdl (push) Has been cancelled
Build and Release / linux-sdl (push) Has been cancelled
Build and Release / linux-sdl-gcc (push) Has been cancelled
Build and Release / pre-release (push) Has been cancelled
2026-01-12 10:08:06 +02:00
Stephen Miller
ed73d2b02c
Libraries: libSceNpWebApi2 stubs (#3908)
* libSceNpWebApi2 stubs

Based on some brief decompilation, brings some extra Unreal Engine titles futher.

* Clang

* Suggestions and fixes
2026-01-10 17:33:28 +02:00
georgemoralis
2e8c24aea9 more settings 2026-01-09 20:59:46 +02:00
georgemoralis
251a6e29e8 fixed compiling 2026-01-09 20:18:26 +02:00
georgemoralis
d427b96f17
Merge branch 'main' into user_and_settings 2026-01-09 20:00:12 +02:00
georgemoralis
be99cb4d5b
Emulator state (#3906)
* moved getShowFpsCounter to emu state

* more state variables

* fps counter is back

* removed fpscolor
2026-01-09 19:42:05 +02:00
georgemoralis
4cc35755e1 more removals + clang fixes 2026-01-09 16:38:16 +02:00
georgemoralis
e122087998 More settings 2026-01-09 11:04:06 +02:00
georgemoralis
50f2ed8c34 more settings 2026-01-09 10:32:44 +02:00
georgemoralis
6d94cb39e9
Merge branch 'main' into user_and_settings 2026-01-09 08:30:35 +02:00
TheThunderTurner
233192fa95
LIbrary: libSceRudp (#3903)
* libSceRudp

* use newer glslang

* remove module start/stop

* register lib, revert glslang upgrade

* 2026

* remove default funcions
2026-01-08 21:22:21 +02:00
georgemoralis
153618c1a4 even more settings 2026-01-08 11:05:48 +02:00
georgemoralis
8d202e5bff correct vulkan setting 2026-01-08 10:44:03 +02:00
georgemoralis
6e5e765498 more vulkan settings 2026-01-08 10:30:08 +02:00
georgemoralis
fbd6dd8215 more vk* settings 2026-01-08 09:50:22 +02:00
georgemoralis
343288f340 vkValidation* 2026-01-08 09:17:13 +02:00
georgemoralis
164dba99e3
Merge branch 'main' into user_and_settings 2026-01-08 09:01:00 +02:00
Ploo
240c1d6441
Update backend.cpp (#3900) 2026-01-07 18:36:07 +02:00
kalaposfos13
299159b1e0
logging: fix thread name logging for async logs (#3898)
* logging: fix thread name logging for async logs

* copyright 2026
2026-01-06 20:49:52 +02:00
kalaposfos13
55e2b0f520
fix float parsing (#3896) 2026-01-05 19:56:43 +01:00
georgemoralis
fc227f5664 even more settings 2026-01-05 18:51:36 +02:00
georgemoralis
61d5a93a11 Added more settings 2026-01-05 17:58:29 +02:00
georgemoralis
4b113543ea
Merge branch 'main' into user_and_settings 2026-01-05 16:17:42 +02:00
kalaposfos13
df844f8c02
Add thread names to log lines (#3893)
* the bare minimum (this won't even compile on windows yet)

* well I guess this is redundant now

* Windows GetThreadName

* Move function to common/thread and add full guest name where applicable

* the loathsome clang-formatter

* do stuff first ask for opinions later

* copyright 2026

* remove unused header

* copyright 2024-2026

---------

Co-authored-by: Stephen Miller <56742918+StevenMiller123@users.noreply.github.com>
2026-01-04 21:10:42 +02:00
kalaposfos13
bebd97ccfe copyright 2026 (happy new year everyone) 2026-01-01 00:01:55 +01:00
georgemoralis
a8f1e2e63f added more settings 2025-12-25 18:15:19 +02:00
georgemoralis
fca94497b1 savedata path is not homedir / userid / savedata / gameid 2025-12-09 18:22:01 +02:00
georgemoralis
34ef7fd0bf
Merge branch 'main' into user_and_settings 2025-12-09 14:43:15 +02:00
AlpinDale
de6c5bbb83
cli: add --show-fps to the CLI launcher (#3860)
* cli: add `--show-fps` to the CLI launcher

* fix: clang-format

* nit: PascalCase -> camelCase
2025-12-08 21:02:54 +01:00
kalaposfos13
88c30ab9d6 copyright 2025
Some checks failed
Build and Release / reuse (push) Has been cancelled
Build and Release / clang-format (push) Has been cancelled
Build and Release / get-info (push) Has been cancelled
Build and Release / windows-sdl (push) Has been cancelled
Build and Release / macos-sdl (push) Has been cancelled
Build and Release / linux-sdl (push) Has been cancelled
Build and Release / linux-sdl-gcc (push) Has been cancelled
Build and Release / pre-release (push) Has been cancelled
2025-12-02 10:28:13 +01:00
kalaposfos13
f50d842f80 Merge remote-tracking branch 'origin/main' into user_and_settings 2025-12-02 09:49:07 +01:00