Commit graph

158 commits

Author SHA1 Message Date
Nekotekina Aux1
250736ece5 Fix warnings in emucore 2020-03-04 21:23:34 +03:00
Eladash
de1774d8f2
cellSaveData: fix doneGet->sizeKB (#7674)
* cellSaveData: fix doneGet->sizeKB

* [⚠️] Warning: beware of typos [⚠️]
2020-03-03 11:24:49 +03:00
Eladash
7dfd50d5cc cellSaveData: followup to #7652 2020-03-01 20:09:46 +03:00
Eladash
ffd5a9e91c cellSaveData: Add some error checks for fixedSet, fileSet params 2020-03-01 10:56:41 +02:00
Eladash
655f7ce8a2 cellSaveData: Add null funcStat check
it's ordered specially for some functions
2020-03-01 00:14:45 +03:00
Eladash
34a0c3f488 cellSaveData: Add error param 72, 73 checks for file write ops 2020-02-29 13:06:14 +03:00
Eladash
30f7c81cc5 cellSaveData: Implement/Fix param error 22 for funcFile, funcDone, funcFixed and funcList 2020-02-28 16:47:51 +01:00
Eladash
0eabfdcadd cellSavedata: reset padding of g_savedata_context 2020-02-27 22:31:31 +03:00
Eladash
d86241bbcd cellSaveData: reset fileSet and fileGet->reserved everytime 2020-02-27 22:31:31 +03:00
Eladash
42a0512c66 cellSaveData: Avoid passing vm pointer to native API 2020-02-27 22:31:31 +03:00
Eladash
556aba46b5 cellSaveData: do not fail on empty directory 2020-02-27 22:31:31 +03:00
gamerforEA
93552a5958 Apply some Clang-Tidy fixes 2020-02-27 00:38:55 +03:00
JohnHolmesII
9b7d28b5dd cellSaveData.cpp: Use ref instead of copy 2020-02-23 09:38:04 +03:00
Nekotekina
92e3eaf3ff Fix signed-unsigned comparisons and mark warning as error (part 2). 2020-02-19 22:54:58 +03:00
Nekotekina
771eff273b First part of fixing sign-compare warning (inside be_t). 2020-02-19 22:54:58 +03:00
Nekotekina
f08c778d2c Use more starts_with/ends_with.
Remove ends_with global func.
2020-02-18 14:53:23 +03:00
Megamouse
fe75311be2 move config structs to own files and clean up some headers 2020-02-17 15:08:17 +03:00
Megamouse
b3ad89cc8b cellSaveData: remove duplicate yield 2020-01-03 14:22:40 +01:00
Megamouse
7af2ebb6f4 cellSaveData: use errDialog to skip error dialogs 2020-01-02 05:49:03 +01:00
Megamouse
a5c5927468 cellSaveData: only show dialogs in fixed functions 2019-12-31 14:15:43 +01:00
Megamouse
45dc5d9b02 cellSaveData: improve ppu schedule during dialogs 2019-12-29 14:22:58 +01:00
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
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
d73f04da13 cellSaveData: avoid nullptr if there is no dialog 2019-12-03 07:59:10 +01: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
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
Eladash
75ee668922 Log fs::g_tls_error on ACCESS_ERROR errors 2019-10-14 20:44:23 +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
Nekotekina
57f2189b1a cellSaveData: fix VFS escape usage 2019-09-27 19:04:16 +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
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
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
Megamouse
32b5b11a83 cellSaveData/overlays: prevent possible array out of bounds in list view 2019-08-26 21:09:20 +02: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
Megamouse
8debdfcd09 handle empty callback returns 2019-08-14 23:54:09 +02:00
Eladash
997e3046e3 vm/sys_overlay Improvements
- Implement sys_overlay_load_module_by_fd.
- Implement special segment allocation when ppc_seg flag is specified.
2019-07-28 14:23:58 +03:00
msuih
d57124d075 Explicitly cast size_t to integer types 2019-07-01 04:33:23 +03:00
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