Megamouse
c4b4ce46b8
cellSaveData: don't pause apps during dialogs
2019-12-29 14:22:58 +01:00
Megamouse
0b78404337
cellSaveData: get confirmation if not CELL_SAVEDATA_OPTION_NOCONFIRM
2019-12-29 01:19:04 +01:00
Megamouse
ff0089bc6f
cellSaveData: add more constants
2019-12-29 01:19:04 +01:00
Megamouse
bb7848f6e5
cellSaveData: add error dialog to callback result errors
2019-12-29 01:19:04 +01:00
Megamouse
47da907366
cellSaveData: add confirmation dialog for save data interactions
2019-12-29 01:19:04 +01:00
Megamouse
ef6f565dbd
silence some annoying warnings
2019-12-28 15:40:57 +01:00
Megamouse
e83dfedff9
stub cellRemotePlay and cellResc and cellStorage
2019-12-24 11:54:32 +01:00
linkmauve
e9c5c6e6bf
Move input to its own directory ( #7126 )
2019-12-22 17:39:42 +01:00
Eladash
db4041e079
Implement rounded_div
...
Round-to-nearest integral based division, optimized for unsigned integral.
Used in sceNpTrophyGetGameProgress.
Do not allow signed values for aligned_div(), align().
2019-12-20 14:47:04 +03:00
Eladash
6dd4003154
Fix cellNetCtlNetStartDialogUnloadAsync
2019-12-20 10:20:32 +01:00
Megamouse
7fcef227af
sceNpTrophy: minor optimizations
2019-12-19 18:15:22 +01:00
Eladash
8d955cfb8c
Hotfix sceNpTrophyGetTrophyUnlockState
2019-12-18 13:07:55 +01:00
Eladash
e380a8c279
Fix sceNpTrophyGetGameProgress ( #7103 )
...
* Fix sceNpTrophyGetGameProgress
Was missing multiplication by 100.
* apply requested changes
* Enforce round-to-nearest rounding mode
2019-12-17 22:43:00 +00:00
Jayveer
364ba95d26
Updated sys_net to use WSAPoll on win32 as this fixes connection issues
...
in Metal Gear Online. Also aligns with implementations on non win32
platforms
2019-12-13 21:52:29 +03:00
Nekotekina
321f7e7197
Fix missing-braces warnings
2019-12-13 03:21:43 +03:00
Nekotekina
69e81da57b
Fix some warnings
2019-12-13 02:08:52 +03:00
Megamouse
038694ae28
cellGem: add some explanatory comments
2019-12-10 23:20:13 +01:00
Megamouse
691c7cde67
cellGem: cleanup some spacings
2019-12-10 23:20:13 +01:00
Zangetsu38
af8ebc76e2
Modules/cellGem: Implement pos, quat and handle_pos in Gemstate for mouse.
...
Modules/cellGem: Fix name for gem_image_state.
Modules/cellGem: Implement projectiion(x/y) in gem_image_State for mouse.
Modules/cellGem: Add cross, triangle, circle and start with use middle click for mouse.
Modules/cellGem: Refactor global code.
Modules/cellGem: fix some warning with initializing value.
2019-12-10 23:20:13 +01:00
VelocityRa
ac2b0c9752
PSMove: Rudimentary mouse emulation.
2019-12-10 23:20:13 +01:00
Eladash
6a4ba9d562
Fix warning about truncation
2019-12-07 10:22:11 +01:00
Eladash
a5b3b0df40
sceNpBasicAddBlockListEntry: Add connection check
2019-12-07 10:22:11 +01:00
Eladash
963d5fb981
sceNpBasicAddPlayersHistory(Async) fixes
...
* Check if count == 0.
* u64 typos fixed.
* description won't be checked if null.
* Check each npid provided, not only the first.
2019-12-07 10:22:11 +01:00
Eladash
e050dcbc52
Move size write in cellGamePatchCheck
2019-12-05 23:31:46 +03:00
Eladash
401813f962
Revert part of #7044
...
oops.
2019-12-05 23:31:46 +03:00
Nekotekina
835892aa51
C-style cast cleanup VII
2019-12-05 02:10:15 +03:00
Nekotekina
185c067d5b
C-style cast cleanup V
2019-12-03 17:23:00 +03:00
Megamouse
46ca39ec4d
Add Emu.HasGui() to properly hide Qt dialogs in no-gui mode
2019-12-03 09:12:51 +01:00
Megamouse
d73f04da13
cellSaveData: avoid nullptr if there is no dialog
2019-12-03 07:59:10 +01:00
Nekotekina
bf11a28fb5
C-style cast cleanup IV
2019-12-01 22:12:33 +03:00
Eladash
d45fbc331c
Fix error checking of cellGameContentPermit
2019-12-01 21:11:43 +03:00
Eladash
1a6e8e20dc
cellGameBootCheck Improvements
...
* size->sysSizeKB returns 4kb. (hw tested, unknown if in different situations this value changes)
* Return CELL_GAME_ERROR_BROKEN on failure to init. (hw tested)
* Write to dirName only when type is HDD game. (REd)
* Don't write to *size on errors, make it happen after *attributes and *type writes. (REd)
2019-12-01 21:11:43 +03:00
Eladash
37c220af72
Fix sceNpTrophyRegisterContext hack
2019-12-01 21:11:43 +03:00
Eladash
038c6bb234
Avoid calling lv2_obj::sleep sequantially in sceNpTrophyRegisterContext
...
Also fix a correctness issue with queued.
2019-11-27 21:41:40 +01:00
Eladash
3b06214f88
Decrease memory stats in cellGemInit if needed
...
Also:
* fix state reset of cellGem
* Check max_connect == 0 in cellGemInit
2019-11-27 21:41:40 +01:00
Eladash
b5f6b27f86
cellSysutilGetSystemParamString improvements
...
- Check bufsize, must match to max string length
- Add missing cases for ParamId 0x1008, 0x1011, 0x1012, 0x1024
- Set actual current username in buffer on id == ID_CURRENT_USERNAME
2019-11-26 20:21:33 +00:00
Eladash
70ace4bb83
Fix cellAudioCreateNotifyEventQueue queue depth
...
TODO: global sdk value used is set in cellAudioInit, which means sdk var value is 0 before it's initialization, currently safely set queue size to 8 in this case.
2019-11-25 09:04:56 +00:00
Eladash
17ae70b935
Implement cellAudioCreateNotifyEventQueueEx
2019-11-25 09:04:56 +00:00
Eladash
40db205f5d
Fix cellVoiceCreatePort
2019-11-25 09:04:56 +00:00
Eladash
1233c48d92
cellAudio: Implement event source
2019-11-25 09:04:56 +00:00
Eladash
f4ac8a2e0c
cellVoice: Fix NOT_INIT checks, implement 0 event source handling
2019-11-25 09:04:56 +00:00
Eladash
c9066e7236
cellVoice Update
...
* Use shared lock wherever possible.
* Fix cellVoiceSetVolume.
* Fix error logging of cellVoiceCreateNotifyEventQueue, cellAudioCreateNotifyEventQueue
2019-11-25 09:04:56 +00:00
Eladash
8d5ef2c7b9
Clamp volume in cellAudioAdd/2c/6c/Data
...
Same as firmware, NaN and Inf are flushed to zero.
2019-11-20 21:58:43 +03:00
Megamouse
2152a77005
HLE: stub cellCrossController some more
2019-11-18 23:42:49 +01:00
Megamouse
41505117a7
HLE: stub cellCelpEnc and cellCelp8Enc
2019-11-18 23:42:49 +01:00
Megamouse
ca59ab59e9
HLE: add even more error_code
2019-11-18 23:42:49 +01:00
Megamouse
0b28f0fa14
HLE: add more error_code
2019-11-16 10:38:56 +01:00
Eladash
0f2adab05f
Disallow NaN in cellVideoOutSetGamma
2019-11-16 11:21:10 +03:00
Eladash
610463a425
cellSysutilGetSystemParamInt(ID_PAD_RUMBLE) changed to return ON status
2019-11-15 20:17:51 +01:00
Eladash
da12969898
cellSysUtil: Add a few CELL_SYSUTIL_ERROR_VALUE checks
2019-11-15 20:17:51 +01:00
Eladash
894658f14c
cellSysutil: Log error code
2019-11-15 20:17:51 +01:00
Eladash
25382a7dae
Restore cellPadSetActDirect's reserved error check
2019-11-15 20:17:51 +01:00
Eladash
3f3ce53c67
Fix string length check in cellGameThemeInstall
...
vm::ptr::size() returns sizeof type instead.
2019-11-10 14:32:15 +03:00
Eladash
1986944c61
Implement sysutil_check_name_string
...
* Fully implement 3, 4, 16 and 17 error checks of cellSaveData.
* cellSysCacheMount restrict characters in ID.
* cellHddGameCheck restricts characters in dirName.
2019-11-10 14:32:15 +03:00
Nekotekina
0d629743ca
cellSysCache: poison opened cache files on cache clear
...
Make opened files return CELL_EIO after cache clear.
2019-11-09 14:50:41 +03:00
Nekotekina
73ee6abb0f
cellSysCache: return /dev_hdd1 root
...
It simplifies internal logic a little.
2019-11-09 14:43:19 +03:00
Nekotekina
e0bc276205
cellSysCache: keep mounted /dev_hdd1 after exitspawn
2019-11-09 14:43:19 +03:00
Nekotekina
ccac9d4777
Remove throwing and catching cpu_flag::stop
...
Since there is spu_runtime::g_escape function now.
2019-11-08 19:27:11 +03:00
Nekotekina
03b9ee27c5
Virtualize cellSysCache
...
Allows caches from multiple games to coexist.
Also change the way of handling cache IDs (file-less).
2019-11-06 14:12:43 +03:00
eladash
33fe0fdd6b
Add missng check for key in cellAudioSetNotifyEventQueue
...
key is checked once according to hw test.
2019-11-03 14:59:47 +03:00
Hula Hoop
200ec5c4b3
Super-important PR ( #6900 )
...
* Fix capitalisation errors and typos
* Oops
2019-10-28 17:44:44 +03:00
Eladash
65e47490c4
cellSysCacheClear/Mount() improved
...
Clear() error checking simplified a bit
Mount() now clears cache if ID was changed from last or NULL specified.
Implemented vfs::host::remove_all():
Clear() now uses vfs::host::remove_all() to match behaviour on Windows with ps3
2019-10-27 15:56:16 +03:00
MSuih
f3ed26e9db
Small warnings cleanup ( #6671 )
...
* Ignore more warnings
These are intentional
* Signed/unsigned mismatch when comparing
* Explictly cast values
* Intentionally discard a nodiscard value
* Change ppu_tid to u32
* Do not use POSIX function name on Windows
* Qt: Use horizontalAdvance instead of width
* Change progress variables to u32
2019-10-25 13:32:21 +03:00
arabek
63a0b97dd1
Normalize audio when downmixing to avoid clipping ( #6867 )
...
* Normalize audio when downmixing to avoid clipping
Idea came from this topic:
https://hydrogenaud.io/index.php?topic=104214.msg855199#msg855199
Fixes very loud audio in Motorstorm (and probably other games
when playing over headphones/stereo speakers with
Downmix to Stereo option enabled)
2019-10-25 12:56:47 +03:00
JohnHolmesII
0842724f94
Update cellVoice.cpp
...
Caused warnings. Not sure what the actual intention was, this may need to be inverted.
This commit assumes that erase() returning 0 is a sign that deletion
failed, or that there was corruption. There should be a port there.
2019-10-24 14:19:52 +03:00
Eladash
586fe11e22
Fix cellGcm HLE regression
...
Also correct flags.
2019-10-22 13:45:09 +03:00
eladash
730e9cde84
sys_rsx: Improve allocations and error checks
...
* allow sys_rsx_device_map to be called twice: in this case the DEVICE address retrived from the previous call returned
* Add ENOMEM checks for sys_rsx_memory_allocate and sys_rsx_context_allocate
* add EINVAL check for sys_rsx_context_allocate if memory handle is not found
* Separate sys_rsx_device_map allocation from sys_rsx_context_allocate's
* Implement sys_rsx_memory_free; used by cellGcmInit upon failure
* Added context_id checks
* Throw if sys_rsx_context_allocate was called twice.
2019-10-21 15:31:45 +03:00
Eladash
6c2307fb96
cellVoice: Initial Implementation
...
Implement system service events, error checking and some functions.
2019-10-20 15:16:53 +01:00
Eladash
fa73175754
sceNpBasicGetEvent error checks improved
2019-10-20 14:56:44 +01:00
Eladash
d9a97d8674
sceNpUtil Improvements
2019-10-20 14:56:44 +01:00
Megamouse
0ef7ad129d
cellNetCtl: improve param checks
2019-10-19 19:20:18 +02:00
Megamouse
e6aeb7ecb9
stub cellKey2Char
2019-10-19 19:13:33 +02:00
Megamouse
0bad56da67
cellScreenshot: initial implementation
2019-10-17 21:24:25 +02:00
Megamouse
60f3ed7607
stub cellSsl
2019-10-17 20:32:33 +02:00
Eladash
6dd96d3db9
Fixes for cellUserInfoGetList
...
- Don't allow all args to be nullptr at once.
- Fill listBuf with zeroes for unwritten entries
- Fix userId set in listBuf
Similarly to what the firmware does
2019-10-16 21:11:29 +03:00
Eladash
4ed2c7b594
error checking bugfix for sceNpTrophyCreateContext
...
options = 1 is allowed.
2019-10-16 00:50:58 +03:00
Eladash
ab02c56725
sceNpTrophyRegisterContext verbose logging in TROPHY_ERROR_ILLEGAL_UPDATE error
...
Also use safer checking when creating trophy ctxt dir
2019-10-16 00:50:58 +03:00
Eladash
75ee668922
Log fs::g_tls_error on ACCESS_ERROR errors
2019-10-14 20:44:23 +03:00
Eladash
1d07c40aa5
Fix state reset in cellMic, cellAudio, cellCamera ( #6761 )
2019-10-13 19:26:11 +03:00
Nekotekina
ac712bf4e3
lf_queue: remove explicit notify(), notify in push() instead
...
Should be cheap enough now if there are no waiters.
2019-10-12 22:45:17 +03:00
Nekotekina
5624b001ae
lf_queue: add range-for support (endless loop with waiting)
2019-10-12 22:37:52 +03:00
Nekotekina
16dd72b3e3
Replace some uses of Emu.IsStopped()
...
Poll thread state instead.
2019-10-12 21:12:47 +03:00
Megamouse
07022fd3b6
stub cellVoice
2019-10-12 10:16:01 +02:00
Eladash
0172e097f7
Fix cellCameraInit (camera_handler::null)
2019-10-11 21:55:10 +02:00
Eladash
5cc12ef22e
cellCamera: Log error code
2019-10-11 21:55:10 +02:00
Nekotekina
8f604ddded
Fix log format misuse
...
Harden log channel methods against non-constant string.
2019-10-09 02:14:52 +03:00
Eladash
af417c93d0
cellGemUpdateStart/Finish error checking improved
...
* camera_frame = NULL is now checked for CELL_GEM_NO_VIDEO (applied both on start and finish)
* camera_frame = NULL on Start() still starts the update
* Implemented NOT_FINISHED/STARTED
All of those were reversed and hw tested.
2019-10-08 23:12:34 +03:00
Megamouse
278050f8d0
add cellPadFilter functions
2019-10-08 08:21:30 +02:00
Megamouse
29c77132cb
add error code to cellPadInfoPressMode and cellPadInfoSensorMode
2019-10-08 08:21:30 +02:00
Megamouse
f8c6cc2476
cellMic: add some params
...
makes me wonder if dev_num should always be s32
2019-10-08 08:21:30 +02:00
Megamouse
3455d76970
cellPadGetData: clear buttons if input is ignored but not intercepted.
...
needed in Hotline Miami and NinJa Gaiden Sigma, fixes Gran Turismo 6 regression
2019-10-07 19:25:50 +02:00
Megamouse
d402507be2
cellOskDialog: add some param checks
2019-10-07 19:25:50 +02:00
Eladash
286d62d09c
sceNp2Init: use u32 in poolsize
2019-10-02 01:52:42 +01:00
Eladash
b9b879c3d3
Bugfix for sceNpUtilCmpNpId
...
Fix checking bounds, use memcmp
Fix result store on sceNpUtilCmpNpIdInOrder
2019-09-28 16:02:55 +03:00
Nekotekina
bd1a24b894
Tidy endianness support (se_t) implementation
...
Move se_t and se_storage to util/endian.hpp
Use single template instead of two specializations.
Add minor optimization for MSVC.
Remove v128 dependency.
Try to enable intrinsics for unaligned data.
Fix minor bug in u16/u32/u64 specializations.
2019-09-28 15:39:50 +03:00
Eladash
d0503dc937
SCE_NP_ERROR_OFFLINE logging disabled
2019-09-28 03:16:01 +03:00
Nekotekina
57f2189b1a
cellSaveData: fix VFS escape usage
2019-09-27 19:04:16 +03:00
Nekotekina
c065a21b74
cellMsgDialog: use g_fxo
2019-09-26 23:26:36 +03:00
Nekotekina
3c72069ae6
cellOskDialog: use g_fxo
2019-09-26 23:26:36 +03:00
Nekotekina
240b4a8bd8
cellGameData: use g_fxo for content_permission
2019-09-26 23:26:36 +03:00
Nekotekina
cd843bda6e
cellSaveData: always commit changes on error in funcFile loop
...
Make sure the changes which are already done are written.
2019-09-25 18:47:38 +03:00
Nekotekina
f841b47b6b
cellSaveData: add auto maintenance routine in Emu.Init()
...
This routine:
1) Removes junk backup directories
2) Fixes interrupted save data process in edge case
This case can happen if emu terminates between two atomic renames.
Also use directory renaming technique for delete op.
Also rewrite recreate operation to be part of atomic process.
2019-09-25 18:47:38 +03:00
JohnHolmesII
c62a667fb1
Fix null pointer check (clang warnings)
2019-09-24 09:11:50 +02:00
Nekotekina
40fcd457bf
cellSaveData fixup
2019-09-23 03:15:41 +03:00
Eladash
2494091353
cellSaveData: Log param error code ( #6587 )
2019-09-23 03:07:23 +03:00
Megamouse
88388f1efc
sceNpSns: add more logging
2019-09-22 10:16:55 +02:00
Megamouse
2dc71cfe51
sceNpTrophy: add errors from RE
2019-09-22 10:16:55 +02:00
Nekotekina
e7d67f9732
Fix unwanted statichle_handler init
2019-09-21 03:59:43 +03:00
Megamouse
caef52e3b3
Input: don't intercept pads after system dialogs, but still ignore input
2019-09-20 22:12:40 +02:00
Megamouse
571bb914f5
cellPad: fix out of bounds warning
2019-09-20 22:12:40 +02:00
Megamouse
7193d407b9
Input: Remove unused flush member
2019-09-20 22:12:40 +02:00
Eladash
c50119aefa
Fix sceNp2Init
2019-09-19 08:26:29 +02:00
Nekotekina
4b19e55fcc
Use g_fxo for cellKb, cellMouse
...
Use init_mutex
2019-09-19 02:16:14 +03:00
Nekotekina
353a7ff8e6
cellCamera: use g_fxo
2019-09-19 02:16:14 +03:00
Nekotekina
c2fe2ac4a4
cellMic: use g_fxo
2019-09-17 02:46:34 +03:00
Nekotekina
36a528067c
cellAudio: use g_fxo
2019-09-17 02:46:34 +03:00
Nekotekina
76314520ef
cellAudio: use vm::gvar to allocate working memory
2019-09-17 02:46:34 +03:00
Nekotekina
584174d371
vm::gvar: add array support
2019-09-17 02:46:34 +03:00
RipleyTom
2b8890b193
CellPadLdd functions implementation
2019-09-17 01:17:48 +03:00
Megamouse
32a4c2242b
sceNp: fixups
2019-09-13 06:18:49 +02:00
Nekotekina
b91661ae71
Remove timeout support from lf_queue::wait
...
Add notify method and use atomic wait
2019-09-10 19:25:39 +03:00
Wojtek Arabczyk
cb66d05693
Fix warnings in rpcs3/Emu/Cell/Modules/sceNp.cpp
2019-09-09 19:16:02 +03:00
Megamouse
aa262889f2
cellVdec: add error_code
2019-09-08 20:54:43 +03:00
Megamouse
6aacec4694
cellMouse: add error_code
2019-09-08 20:54:43 +03:00
Megamouse
c111209639
cellGem: add error_code
2019-09-08 20:54:43 +03:00
Nekotekina
693d54553c
Fix compilation
2019-09-08 19:26:10 +03:00
Megamouse
cb00b71c4b
sceNp: add error_code and some param checks ( #6416 )
...
* sceNp: add error_code and basic implementations
* sceNp: and fix some structs
* sceNpSns: improvements
* sceNpUtil: improvements
* sceNpTus: improvements
2019-09-08 18:36:10 +03:00
Megamouse
cddc045c69
cellPad: disable reserved bit check in cellPadSetActDirect
2019-09-08 08:49:15 +02:00
Nekotekina
d0db7ca6bd
cellSaveData fixup ( #6393 )
...
Increase entry max size
2019-09-05 14:49:03 +03:00
RipleyTom
8de1239132
Simulate BSD FS for file order presentation in savedata
2019-09-05 03:01:46 +03:00
isJuhn
08c12f4c00
File.cpp: add rounding_alignment argument to get_dir_size to allow GetSizeKB functions to report size more accurately
2019-09-03 03:19:49 +03:00
Nekotekina
a5be410e3f
[noexcept] Don't throw on unimplemented HLE functions.
...
Getting rid of exceptions.
2019-09-02 14:43:31 +03:00
Nekotekina
796a6646f7
Silence statichle
2019-08-27 13:56:50 +03:00
Nekotekina
e41b234dc4
Use g_fxo for cellSysCache
2019-08-27 03:50:15 +03:00
Nekotekina
d2eba2387b
Use g_fxo for display_manager
2019-08-27 03:50:15 +03:00
Nekotekina
2a37a4bcea
Use g_fxo for cellPad
...
Rename pad_t -> pad_info
2019-08-27 03:50:15 +03:00
Nekotekina
928719b658
Use g_fxo for rsx::avconf
2019-08-27 03:50:15 +03:00
Nekotekina
cfdd298693
Use g_fxo for cellMusicDecode
2019-08-27 03:50:15 +03:00
Nekotekina
7b0d834477
Use g_fxo for gem_camera_shared
2019-08-27 03:50:15 +03:00
Nekotekina
e4a7e8c058
Use g_fxo for cellGem
...
Rename gem_t -> gem_config
2019-08-27 03:50:15 +03:00
Nekotekina
1d3c18f4e2
Use g_fxo for cellGcm
...
Rename CellGcmSysConfig -> gcm_config
2019-08-27 03:50:15 +03:00
Nekotekina
9a2338a5ca
Use g_fxo for fs_aio_manager (dummy)
2019-08-27 03:50:15 +03:00
Nekotekina
8304043d00
Use g_fxo for sysutil_cb_manager
2019-08-27 03:50:15 +03:00
Megamouse
32b5b11a83
cellSaveData/overlays: prevent possible array out of bounds in list view
2019-08-26 21:09:20 +02:00
Nekotekina
6165bd68c0
Use g_fxo for avconf_manager
2019-08-22 15:14:33 +03:00
Megamouse
94dd6c2007
cellSaveData: improve param.sfo creation
2019-08-22 08:05:12 +02:00
Megamouse
896cfd2ade
cellSaveData/cellMsgDialog: implement cellSaveDataDelete
2019-08-22 08:05:12 +02:00
Megamouse
0b720aeb59
cellSaveData: ignore dot and dotdot
2019-08-22 08:05:12 +02:00
Megamouse
b3c1759853
cellSaveData/overlays/Qt: fix some warnings and a possible nullptr deref
2019-08-22 08:05:12 +02:00
Nekotekina
8cf025bf71
Use g_fxo for cellWebBrowser
...
Rename browser_t -> browser_info
2019-08-22 02:13:39 +03:00