Commit graph

63 commits

Author SHA1 Message Date
eladash 450e2c9a0e cellSaveData: Add missing SDK version check for setParam->reserved2 check 2019-04-20 20:43:58 +01:00
eladash ae5a4b697e Fix cellSaveDataListAutoSave/Load unk flags 2019-04-20 01:04:41 +03:00
eladash 9446bd2d3f Handle a few more cellSaveData errors
* Check directory existence if setParam is NULL (dont create directory)
* Fix mask for reCreateMode
* Check a few setParam fields including reserved buffers.
* Fix sizeKb when the dir is empty except from PARAM.SFO
* Fix error checking when CELL_SAVEDATA_RECREATE_YES is specified but setParam is NULL (Doesnt do anything, simply errors)
2019-04-20 01:04:41 +03:00
eladash ff11d9a3bd Improve scheduler control for cellSaveData
TODO: There are probably more spots where we should yield.
A little more at the start because PacketRead is called twice.
Dont use sys_timer_usleep because it will just call this_thread::yield() repeatedly.
2019-04-20 01:04:41 +03:00
eladash 9497270da5 Implement initial arguments error checking for cellSaveData 2019-04-20 01:04:41 +03:00
eladash 2b4bc588dc Put missing check_state() in some places
Fixes a few verification failures while closing the emulator with HLE liblv2
2019-04-20 01:04:41 +03:00
Nekotekina 9736773c04 Implement vfs::host::rename
With spurious access error workaround
2019-04-10 13:58:12 +03:00
elad b7da3ea5cd Release ppu thread before ShowSaveDataDialog, Fixes #4031 2019-03-08 23:44:46 +03:00
Nekotekina 400718dfd9 cellSaveData: try to handle occasional failures
Retry moving directory on FILE_ACCESS_ERROR
2019-01-31 01:08:30 +03:00
Megamouse 58a22d1461 cellSaveData: add error_code 2019-01-14 21:12:13 +01:00
Nekotekina 453344c232 cellSaveData: workaround possible issues with symlinks
Don't use ../ location for temporary directories
2019-01-13 14:45:36 +03:00
Nekotekina f750b4c420 cellSaveData: try to address #5415 2018-12-24 16:04:46 +03:00
Nekotekina d6afba96f1 cellSaveData: fix 'Already exists' error 2018-12-10 01:43:47 +03:00
RipleyTom 5207b00973 Extra Handling of result value of funcStat CB. 2018-12-08 18:44:00 +03:00
Nekotekina 65ca934452 cellSaveData: fix truncation size (regression) 2018-11-17 14:40:11 +03:00
Nekotekina 12ceceff19 cellSaveData: restore atime/mtime for unmodified files 2018-11-17 14:40:11 +03:00
Nekotekina eaa17b7f7c cellSaveData: anti-corruption precautions
Try to commit changes atomically
2018-11-05 13:14:11 +03:00
Nekotekina ca5158a03e Cleanup semaphore<> (sema.h) and mutex.h (shared_mutex)
Remove semaphore_lock and writer_lock classes, replace with std::lock_guard
Change semaphore<> interface to Lockable (+ exotic try_unlock method)
2018-09-03 23:00:36 +03:00
Nekotekina 363811981d Reintroduce LOG_CHANNEL
Groundwork for further improvements
2018-08-25 15:39:00 +03:00
Megamouse f6a3659a14 user_manager: megamouse fixes 4 2018-07-26 03:16:51 +04:00
mpm11011 68202eb2b7 user-manager: replacing fmt::format with string concat.
(cherry picked from commit 63379afc7a402edb2159912318281febc3e7438a)
2018-07-26 03:16:51 +04:00
mpm11011 948bd3673e user-manager: squash all commits for this feature. 2018-07-26 03:16:51 +04:00
Nekotekina d2d07abcc5 cellSaveData: print SECUREFILE secureId
This can help to decrypt savedata
2018-07-21 12:18:07 +03:00
Ofek d3596fbc95 Change all hddFreeSizeKB to 40gb-1 2018-07-11 02:16:14 +04:00
Megamouse 5454f57dd0 cellSaveData: handle fatal error fs::file is_null (read-only files) 2018-06-08 23:41:56 +03:00
Nekotekina 182259e4a5 cellSaveData fix 2018-05-21 21:47:04 +03:00
Megamouse 68fff54a8b cellSaveData: don't return after funcStat was successful in savedata_op
also add some missing constants
2018-05-20 23:16:11 +04:00
Nekotekina da9baac842 Improve save data dialog
Bug fix: don't display new data entry when not asked for
Use icon/title provided by the game for the new data entry
Display new data entry at the beginning of list when necessary
Minor cellSaveData cleanup
2018-04-02 16:27:28 +03:00
jjsat 4620fa8bd8 Return parameter error if the result of funcFixed is invalid. 2018-04-01 01:04:37 +04:00
jjsat 1dc87a0704 Corrected logic for handling number of returned save data list entries and total number of save entries. 2018-04-01 01:04:37 +04:00
jjsat bba7184090 Handle some invalid save function parameters. 2018-04-01 01:04:37 +04:00
jjsat d973337c4e Calculate save data file size more accurately and return size in savedata_get_list_item if requested. 2018-04-01 01:04:37 +04:00
kd-11 71f69d1d48
rsx/overlays: Introduce 'native' HUD UI and implement some common dialogs (#4011) 2018-01-17 19:14:00 +03:00
Megamouse 2053de0885 handle some warnings 2018-01-13 23:38:23 +04:00
Nekotekina d8ae94df5b savedata: avoid passing vm memory to fs::file 2017-12-05 15:55:10 +03:00
Nekotekina c435b328c7 Implement savedata delete op 2017-11-15 21:00:02 +03:00
Nekotekina 16d7023a92 cellSaveData fixes 2017-11-15 21:00:02 +03:00
Nekotekina 5b19908996 Escape problematic characters in VFS
With full-width <>:"\|?*
2017-10-11 22:01:37 +03:00
Nekotekina e789b969b0 Implemented MFF_HIDDEN for VNIDs
Minor refactoring
Now possible: ```REF_FUNC(...).flag(MFF_HIDDEN);```
2017-09-19 15:07:07 +03:00
RipleyTom b2fa0fdf53 Fix PARAM.SFO filename case (#3081)
For (get_list_item)
2017-07-24 23:53:20 +03:00
Dangles91 7426eb285f Fixes for save_op_get_list_item
Only return data for dir and bind where requested. Some games like Akiba's Trip call this function but don't ask for any data back.
2017-07-18 15:22:49 +03:00
Dangles 6610abcd5f Minor changes for save data utility (#3005) 2017-07-16 19:10:45 +03:00
Robbie ab595d2b95 Improve Save Manager (#2951)
* Add the save icons to the save data entry and manager.

* Simplify code slightly since I have an else now so no need for == false

* Move the icon to the top of the list because it looks better.  Remove redundant settitle.

* Fix size.  It's a bit forced but there wasn't any better way as far as I could see on stack overflow.

Also, add an error dialog if you have no entries.

Simplify the logic slightly for the selected since with the no data case handled, I can make more assumptions about the return value.

* save_data_utility: fix dialog sizes

* CELL_OK

* Retcon dialog to instead be error in log.

* Dangle92 and I had some fun. Everything should be good now.

* In dangle's code he disabled the icon, in mine I hide it if there is nothing. Having both isn't needed.  Yay merges resulting in doing stupid things.

* Fix leek

* Default size to zero for sanity. Shared pointer is fine handling null (tested with disgaea and renaming icon file)

* Simplifying. Thanks for review and advice all
2017-07-13 18:38:13 +03:00
Robbie 458968658f Fix akiba with cell cancel 2017-07-03 23:56:55 +03:00
Robbie 190a59ce03 Basic Save Manager (#2924)
* The basic unstubbing.  Save entries will be listed and you can select a save.  If you select none, then it'll work as well.  WIP

* Filled out the trivial parts of the info dialog.

* Finish implementation and clean up.  No "maintain" dialog or context menu for now until the copy/delete functions are implemented.

* Fix crash

* Update cellSaveData.cpp
2017-07-01 21:42:09 +03:00
Nekotekina 7ac64a6725 CELL_OK cleanup 2017-05-15 14:58:32 +03:00
Nekotekina 88fef183a3 config.yml: Log section optimized 2017-05-15 14:37:05 +03:00
Nekotekina 5f26c2fc8f REG_FUNC+ macro improved
This includes REG_FNID, REG_VAR, REG_VNID
Allows to specify alternative function name
2017-04-26 23:38:24 +03:00
Jeremiah 14f02b23c2 Properly overwrite param.sfo in savedata (#2690) 2017-04-16 01:45:50 +03:00
Jeremiah 370c2ecac5 Update cellSaveDataGetListItem 2017-04-13 18:42:38 +03:00