Megamouse
8f660fc6b1
cellGem: update gun handler connection periodically
2025-01-23 12:35:02 +01:00
Megamouse
e83eeb3cca
cellGem: Move the cursor out of the screen (Time Crisis 4 needs this)
2025-01-23 08:18:07 +01:00
Megamouse
f537a62ca6
cellGem: Set 255 as value for analog_t
2025-01-23 08:18:07 +01:00
Megamouse
b30ea34d05
cellGem: mark device as not visible at the screen borders
2025-01-23 08:18:07 +01:00
Megamouse
79d79aa80c
cellCamera: move attach event to thread
...
Time crisis doesn't seem to like the immediate push to the queue.
2025-01-22 02:18:07 +01:00
Megamouse
fbc7ad6788
cellGem: move some locks around wait loops
2025-01-22 02:18:07 +01:00
Megamouse
fcac6a9322
sys_event: remove unnecessary copy
2025-01-22 02:18:07 +01:00
Megamouse
74540844d2
cellGem: ignore missing pad handler
...
This is a hacky way to fix cellGem savestates
2025-01-22 02:18:07 +01:00
Megamouse
23483a80c7
cellGem: Fix camera image when loading savestates
2025-01-22 02:18:07 +01:00
Megamouse
ade2698bb4
cellCamera: start camera when loading savestates
2025-01-22 02:18:07 +01:00
Megamouse
85de7432a2
cellGem: improve convert_image_format logging
2025-01-22 02:18:07 +01:00
Emma
10e0fb2b54
sys_prx: implement get_module_id_by_name, module_info_v2 ( #16573 )
2025-01-18 15:16:38 +02:00
capriots
ae670c35f7
cellAtracXdec: use lv2 mutexes + conds
2025-01-14 11:32:32 +02:00
Megamouse
d1ccadbac2
cellGem: ignore intercepted input
2025-01-14 08:53:36 +01:00
Megamouse
1b87e186c4
cellGem: fix initial tracker done state
2025-01-10 21:53:37 +01:00
Megamouse
3eb1e6303c
cellGem: Use wait_on, fix fake/mouse move tracker wait
2025-01-10 21:53:37 +01:00
Megamouse
3b8efecc52
cellGem: Use atomic wait instead of wait_for
2025-01-10 21:53:37 +01:00
Megamouse
6716d555ff
cellGem: Update controllers at 10 Hz in separate thread
...
Some games don't use cellGemGetInfo.
Which means we had to reboot the game if the controller wasn't
connected on boot.
Updating controllers outside of the cell functions fixes this problem.
2025-01-10 21:53:37 +01:00
Megamouse
a0df1e09a6
ps move: allow to configure mouse move handler buttons
2025-01-10 00:50:02 +01:00
Megamouse
9407974c10
cellGem: Add more camera image conversions
2025-01-09 09:38:36 +01:00
Megamouse
3381a884d0
Fix some warnings
2025-01-08 20:02:33 +01:00
Megamouse
415c2d0795
fake move: add gyro support
2025-01-08 20:02:33 +01:00
Elad
c6f3737c2a
PPU LLVM: Fixup patches enlisting in analyzer
2025-01-07 20:42:45 +02:00
Elad
0b784ff2c1
PPU LLVM: Function table dependent resolver hashing
2025-01-07 15:43:41 +02:00
Megamouse
2ac171a30f
move error_report to ErrorCodes.cpp
2025-01-06 15:49:09 +01:00
Megamouse
1ab3a0bd73
RSX/Qt: Reuse gs_frame if possible
2025-01-06 15:49:09 +01:00
Elad
6165c2d8b3
Thread.h: Fix a bug by adding thread_state::destroying_context
2025-01-05 10:01:35 +02:00
Elad
036693a14d
Fix sys_config_unregister_service
2025-01-05 10:01:35 +02:00
Elad
2614450e4b
Fix IDM image serialization
2025-01-04 09:29:09 +02:00
Elad
a8f80ebfe9
sys_time.cpp: Anti TSC measures
2025-01-03 16:26:21 +02:00
Megamouse
fb237dd568
Audio: Add mute/unmute and volume shortcuts
...
Also add auto repeat to volume shortcuts
2025-01-02 09:34:47 +01:00
Megamouse
1c22cc2f52
overlays: add trophy list dialog
2025-01-01 13:42:21 +01:00
Elad
a8bfa6a16c
SPU: Operating system LR memory signals
2024-12-29 21:01:17 +02:00
Megamouse
15f29eedee
Fix atomic_ptr value constructing overloads ( #16473 )
...
* Fix idm remove
idm::remove calls shared_ptr::exchange with a null_ptr.
This calls the stored object's constructor with null args.
---------
Co-authored-by: Elad <18193363+elad335@users.noreply.github.com>
2024-12-29 14:53:04 +02:00
Elad
439d665096
CELL: Fix reservation notifications
2024-12-29 11:06:44 +02:00
Megamouse
a49cfc5a91
Simplify some ternaries
2024-12-28 19:58:59 +01:00
Elad
7a4e88c146
Savestates: Fix main_ppu_module definition
2024-12-27 22:08:28 +02:00
Elad
0cc655074d
serialzation.hpp: Fix add_padding
2024-12-27 22:08:28 +02:00
Elad
a5ba96e991
Fixup lv2_socket
2024-12-27 22:08:28 +02:00
Elad
d376ba5994
Remove lv2_socket_native destructor
2024-12-24 21:31:57 +02:00
Elad
3bf735161f
sys_config: Move cleanup to IDM abort
2024-12-24 21:31:57 +02:00
Elad
6eb4138595
Fixup sys_process
2024-12-24 21:31:57 +02:00
Megamouse
53817dcc90
Fix fs::file log formatting
2024-12-23 11:29:13 +01:00
Elad
575a245f8d
IDM: Implement lock-free smart pointers ( #16403 )
...
Replaces `std::shared_pointer` with `stx::atomic_ptr` and `stx::shared_ptr`.
Notes to programmers:
* This pr kills the use of `dynamic_cast`, `std::dynamic_pointer_cast` and `std::weak_ptr` on IDM objects, possible replacement is to save the object ID on the base object, then use idm::check/get_unlocked to the destination type via the saved ID which may be null. Null pointer check is how you can tell type mismatch (as dynamic cast) or object destruction (as weak_ptr locking).
* Double-inheritance on IDM objects should be used with care, `stx::shared_ptr` does not support constant-evaluated pointer offsetting to parent/child type.
* `idm::check/get_unlocked` can now be used anywhere.
Misc fixes:
* Fixes some segfaults with RPCN with interaction with IDM.
* Fix deadlocks in access violation handler due locking recursion.
* Fixes race condition in process exit-spawn on memory containers read.
* Fix bug that theoretically can prevent RPCS3 from booting - fix `id_manager::typeinfo` comparison to compare members instead of `memcmp` which can fail spuriously on padding bytes.
* Ensure all IDM inherited types of base, either has `id_base` or `id_type` defined locally, this allows to make getters such as `idm::get_unlocked<lv2_socket, lv2_socket_raw>()` which were broken before. (requires save-states invalidation)
* Removes broken operator[] overload of `stx::shared_ptr` and `stx::single_ptr` for non-array types.
2024-12-22 20:59:48 +02:00
Whatcookie
385710672f
SPU LLVM: Recognize ROTYQBYI and ROTQBI rotation pattern ( #16409 )
...
Co-authored-by: Elad <18193363+elad335@users.noreply.github.com>
2024-12-22 10:29:15 +02:00
Megamouse
ec7f50d925
ps move tracker: set max of radii to 50%
...
It makes no sense to have a larger radius than half of the image size
2024-12-21 14:36:24 +01:00
Megamouse
d450a5ee95
cellGem: add magnetometer support
2024-12-21 03:24:32 +01:00
Megamouse
1cf927aef9
cellGem: request orientation reset during calibration
2024-12-21 00:48:52 +01:00
Megamouse
8678402c25
cellGem: fix some data types
2024-12-20 17:30:25 +01:00
Megamouse
ee2ea0cb02
cellGem: invalidate hue and tracking in cellGemInvalidateCalibration
...
This fixes the cursor color in OVERKILL
2024-12-20 17:30:25 +01:00
Megamouse
cf0b4d4ed4
cellGem: split status_flags into calibration flags and runtime flags
2024-12-20 17:30:25 +01:00
Megamouse
cc50049bca
cellGem: implement cellGemSetRumble
2024-12-20 17:30:25 +01:00
Megamouse
c6a76eb9af
cellGem: add setting to let the game actually set the device hues
...
This is not very useful at the moment since the tracker can't really
handle random hues yet.
2024-12-20 17:30:25 +01:00
Megamouse
67e8e373a7
cellGem: set sphere RGB when a hue is set and vice versa
2024-12-20 17:30:25 +01:00
Megamouse
304964ba71
cellGem: add debug setting for painting spheres into the live image
2024-12-20 17:30:25 +01:00
Megamouse
d2c58765cd
cellGem: fix some data types
2024-12-20 17:30:25 +01:00
Megamouse
0fd6956bb0
cellPhotoDecode: allow dev_bdvd paths
2024-12-19 18:01:10 +01:00
Megamouse
5073477415
cellGem: Split horizontal and vertical mouse rotation cone setting
2024-12-19 16:55:39 +01:00
capriots
9d4ff13c2b
cellAdec implementation part 2: LPCM decoder ( #16381 )
...
* cellAdec: savestate fixup
* simd.hpp: add some intrinsics
* cellAdec implementation part 2: LPCM decoder
* cellAdec: set to HLE by default
* cellAdec: review fixes
---------
Co-authored-by: Elad <18193363+elad335@users.noreply.github.com>
2024-12-18 20:21:56 +02:00
Megamouse
e18ae5abd6
cellGem: expose rotation cone to settings
2024-12-18 09:14:04 +01:00
Megamouse
f3ef4f3658
cellCamera: try to fix internal state on stop
...
When stopping, the camera is supposed to be open still.
Add an expected state to check the camera signal does what it should.
2024-12-18 03:54:25 +01:00
RipleyTom
18f82f0006
Fix unused p2p socket closing
2024-12-17 15:09:59 +02:00
Megamouse
8dbe88782c
cellGem: Improve mouse handler orientation
...
This also makes it easily configurable with the CONE setting in the future
2024-12-13 08:55:52 +01:00
Megamouse
f96cfe08f4
cellGem: lock tracker mutex in get_info
...
This may reduce the possibility of unexpected tracking results
2024-12-12 16:52:47 +01:00
Megamouse
a31ebc248e
cellGem: implement quaternion transformation
2024-12-11 18:56:53 +01:00
Megamouse
3d11b6efa3
cellGem: try to map accelerometer and gyro
2024-12-11 18:56:53 +01:00
Megamouse
13cd461a1f
sys_rsx_context_attribute: Improve errors
2024-12-11 18:56:53 +01:00
Darkhost1999
05d12f68ad
Test
...
Works on my machine
2024-12-05 12:55:23 +02:00
Elad
d84fe592c8
PRX: Do not check exported function code address
2024-12-03 19:01:17 +02:00
Elad
b4505600c7
PPU: Notify SPUs while waiting for its own state
2024-11-30 18:06:34 +02:00
Elad
a4ea71d18f
CELL: Rewrite reservation notification postponing
2024-11-30 18:06:34 +02:00
Megamouse
729826ec40
cellGem: fix HUE_NOT_SET
2024-11-29 05:39:11 +01:00
Megamouse
a8b0c0be07
cellGem: calculate distance from sphere to camera
2024-11-29 05:39:11 +01:00
Elad
926de68a79
Debugger: Dump related thread information on crash
2024-11-28 13:32:52 +02:00
Elad
d63e643081
Emu: Fixup
2024-11-28 05:47:40 +02:00
Elad
f3b9d64df7
Add some asserts for g_fxo->init<>
2024-11-27 16:00:40 +02:00
Elad
b073d08a52
LLVM: Implement Recursive Intrinsics
2024-11-23 20:22:58 +02:00
capriots
e7fd4224ad
cellDmuxPamf: add module + stubs
2024-11-23 17:01:25 +02:00
capriots
8778e69f9d
cellAdec: make AdecContext and AdecFrame trivial classes
2024-11-23 17:01:25 +02:00
capriots
108247dccc
Invalidate savestates
2024-11-23 17:01:25 +02:00
capriots
9b3b9562c0
cellAdec: review + warning fixes
2024-11-23 17:01:25 +02:00
capriots
e7f1a34fe1
cellAdec implementation part 1: abstraction layer
2024-11-23 17:01:25 +02:00
capriots
0a29ca2946
Fix HLE PPU callback stack arguments
2024-11-23 17:01:25 +02:00
RipleyTom
0e8f1a9bf9
sys_net: Remove lingering ppu_to_awake from queue on timeout
2024-11-22 18:44:01 +02:00
Megamouse
29901d65ed
More constexpr
2024-11-16 15:10:20 +01:00
Elad
68d74bc28a
Progress Dialog: Fix recursion and concurrency use of text updates
2024-11-16 12:22:23 +02:00
Megamouse
4df58494a0
Fix compilation
2024-11-16 09:45:31 +01:00
Megamouse
b89cc9b973
cellGem: implement real ps move handler
2024-11-16 09:45:31 +01:00
Megamouse
7866dc2e34
overlays: localize RPCS3 progress dialog
2024-11-15 09:48:12 +01:00
Elad
c5bbee7a0a
SPU: Fixup code comparison
2024-11-14 13:43:01 +02:00
Elad
8c00842614
Fixup std::vector to std::span
2024-11-14 13:43:01 +02:00
Elad
72437b50b4
LV2: Fix thread notifications regression
2024-11-12 15:00:35 +02:00
Elad
e9b24eba85
SPU Analyzer: Fix programs code caching
2024-11-12 11:11:37 +02:00
oltolm
2b0f786b2d
Fix std::basic_string warnings ( #16261 )
2024-11-11 21:54:44 +02:00
Megamouse
2262ac1684
Qt: Replace QMap with std::map
...
This should reduce the amount of string conversions during list refreshes
2024-11-06 09:34:32 +01:00
NicknineTheEagle
6d766ccbb5
cellSaveData: Add autosave indicator ( #15720 )
2024-11-04 21:53:34 +01:00
Elad Ashkenazi
bc22df8ba8
SPU: Optimize cellSpurs reservations
2024-11-03 11:13:54 +02:00
Elad
85d1649696
utils/atomic.hpp: Make atomic_op reject non-non-const lvalue
2024-11-02 21:43:35 +02:00
oltolm
42751cc8fb
SPULLVMRecompiler: remove unnecessary bitcast
2024-11-01 16:31:14 +02:00
Elad
e67d090c35
Fixup sys_event_port_send
2024-11-01 10:43:46 +02:00