shadPS4/src
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
..
common npWebApi (#3878) 2026-02-07 21:05:47 +02:00
core npWebApi (#3878) 2026-02-07 21:05:47 +02:00
images Qt: Add GUI for game-specific settings (#3533) 2025-09-10 12:18:39 +03:00
imgui ImGui: keep drawing when there's a pending change_layer (#3782) 2025-11-06 20:58:15 -03:00
input Improved sceAudioOut and SDL3 backend (#3984) 2026-02-07 16:38:45 +02:00
shader_recompiler shader_recompiler: fix for incorrectly outputted attribute if cdist emulation is not needed (#3986) 2026-02-02 08:07:47 +02:00
video_core Prevent Rasterizer::IsMapped from returning true for memory ranges that wrap the address space (#3989) 2026-02-02 20:51:50 +02:00
.clang-format chore: Make shadps4 REUSE compliant 2024-02-23 23:33:43 +02:00
emulator.cpp pngenc hle (#3957) 2026-01-30 10:53:09 +02:00
emulator.h Impl sceSystemServiceLoadExec (#3647) 2025-09-25 23:01:52 -03:00
main.cpp this is why you don't push local changes, shadow 2026-01-30 13:56:25 +01:00
sdl_window.cpp Add basic mouse-to-touchpad emulation (#3842) 2025-12-02 10:21:01 +02:00
sdl_window.h Hotkey config changes (#3391) 2025-09-04 20:47:06 +03:00
shadps4.rc [Windows] Adding Properties to the Executable (#2789) 2025-04-17 09:43:14 +03:00