bunnei
24086d05bb
Merge pull request #5471 from vitor-k/misc
...
Fix some warnings and some small changes
2021-04-23 22:54:00 -07:00
FearlessTobi
da908a9ed1
core: Remove unnecessary enum casts in log calls
...
Follows the video core PR. fmt doesn't require casts for enum classes
anymore, so we can remove quite a few casts.
Co-Authored-By: LC <712067+lioncash@users.noreply.github.com>
2020-12-29 06:39:21 +01:00
Vitor Kiguchi
1df939469a
Resolve some type conversion warnings
2020-12-06 15:59:13 -03:00
zhupengfei
faf9162dbd
layered_fs: Make LoadFile and LoadDirectory less recursive
...
The deep recursion has caused issues in certain games with large numbers of files, especially with MSVC builds.
Previously the recursion depth is about equal to the number of files present. With this the depth should be about equal to the maximum depth of the directory structure of the RomFS.
2020-10-01 00:32:40 +08:00
Ben
1722701c07
[WIP] NCCHContainer: support for partitions if container is NCSD ( #5345 )
...
* GetProgramLaunchInfo: improve to for 3ds files
* NCSD: allow to load other partitions
* fix typo
* Update src/core/hle/service/fs/fs_user.cpp
Co-authored-by: Valentin Vanelslande <vvanelslandedev@gmail.com>
* Update src/core/hle/service/fs/fs_user.cpp
Co-authored-by: Valentin Vanelslande <vvanelslandedev@gmail.com>
Co-authored-by: Marshall Mohror <mohror64@gmail.com>
Co-authored-by: Valentin Vanelslande <vvanelslandedev@gmail.com>
2020-07-14 09:14:30 -05:00
LC
902cc1eb49
am: Resolve truncation and sign conversion warnings in WriteContentData() ( #5397 )
...
We can adjust the API to allow std::size_t indices, which simplifies
operating with standard container types. It also prevents truncation
warnings from occurring in these cases as well.
2020-06-20 13:09:56 -05:00
LC
8ce81b19be
General: Remove usages of ARRAY_SIZE where applicable. ( #5392 )
...
Same behavior, but without our own boilerplate function.
2020-06-19 09:10:45 -05:00
Lioncash
ba2ae9616a
fs_user: std::move vectors where applicable
...
Allows removing some allocation churn in some locations by moving
std::vectors into Path where applicable.
2020-05-04 12:07:57 -04:00
Pengfei Zhu
70a43be714
Merge pull request #5306 from lioncash/view2
...
file-sys: Make use of std::string_view where applicable
2020-05-02 08:07:10 +08:00
Pengfei Zhu
8e7abecf7e
Merge pull request #5307 from lioncash/guard
...
file_sys/seed_db: Add missing include guard
2020-05-02 08:04:58 +08:00
Lioncash
98385b75d6
file_sys/seed_db: Add missing include guard
...
Prevents any potential inclusion errors from occurring.
2020-05-01 09:59:58 -04:00
Lioncash
10a32c94b6
title_metadata: Take std::vector by const reference in Load()
...
This isn't modified in the implementation, so this can be a const
reference to eliminate an unnecessary heap reallocation.
2020-05-01 09:53:44 -04:00
Lioncash
147073a5a0
file-sys: Make use of std::string_view where applicable
...
Same behavior, but makes the interface more flexible and allows
non-std::string instances to be used with it.
2020-05-01 09:49:36 -04:00
Lioncash
37a6ea72e5
layered_fs: Mark functions as static where applicable
...
Makes them internally linked and prevents potential
-Wmissing-declaration warnings.
2020-05-01 09:35:59 -04:00
FearlessTobi
7f8151b9b9
savedata_archive: Make GetFreeBytes return a more accurate value
...
Previously, we were returning a value that was way too big, causing an integer overflow in Fractured Souls.
According to wwylele, the biggest oberserved save size for 3DS is 1MB, so this new value should leave plenty of room, even if games use a bigger size.
2020-04-29 05:42:40 +02:00
Ben
c605bb42db
Merge pull request #4908 from hamish-milne/feature/savestates-2
...
Save states
2020-04-17 21:52:51 +02:00
Hamish Milne
e9ab8f82d4
Add disk archive serialization (fix crash in driver renegade etc.)
2020-04-11 11:52:11 +01:00
Hamish Milne
6760ea18b6
Serialize ArchiveManager and other code review actions
2020-03-29 18:56:25 +01:00
Hamish Milne
841255cd16
Attempt to fix the linux builds
2020-03-28 21:40:18 +00:00
Hamish Milne
de9ae14059
Only serialize wchar paths on windows
2020-03-28 19:29:29 +00:00
Hamish Milne
8f164a16ce
Review changes
2020-03-28 17:08:27 +00:00
Hamish Milne
4aab38f133
Refactored out the horrible static var in CoreTiming
2020-03-28 15:47:36 +00:00
Hamish Milne
232b52a27d
Minor cleanup
2020-03-28 09:59:45 +00:00
Hamish Milne
5604613642
More merge fixes
2020-03-27 21:48:58 +00:00
B3n30
a4457d871c
Log if common key during Ticket::Load is missing
2020-03-15 21:10:26 +01:00
B3n30
1d92343344
fix more review comments
2020-03-15 19:00:26 +01:00
B3n30
2465fd423a
fix review comments
2020-03-15 18:57:29 +01:00
B3n30
ae4ba287d5
warn if cia contend is encrypted
2020-03-15 18:23:19 +01:00
Hamish Milne
da3ab3d56e
Merge branch 'master' into feature/savestates-2
2020-03-07 21:23:08 +00:00
Tobias
6d3d9f7a8a
core: Add support for N3DS memory mappings ( #5103 )
...
* core: Add support for N3DS memory mappings
* Address review comments
2020-02-29 19:48:27 +01:00
zhupengfei
0fe832bb49
Make the arrays const
2020-02-29 09:11:34 +08:00
zhupengfei
9d57325a8b
core/file_sys: Add alternative override pathes for ExeFS files
...
You can now directly place ExeFS overrides/patches inside the mod folder (instead of the exefs subfolder). This allows us to have drop-in compatibility with Luma3DS mods.
2020-02-28 23:36:17 +08:00
zhupengfei
8eacfceb6a
layered_fs: Fix missing file size update
...
This was a silly typo from a previous change.
2020-02-23 15:22:41 +08:00
Hamish Milne
8abc5525be
Added Signals; more runtime fixes
2020-02-13 17:42:09 +08:00
Hamish Milne
e4f05884c3
Fixed serialization runtime exceptions
2020-02-13 17:42:08 +08:00
Hamish Milne
ca971ff31f
Serialize file/directory services
2020-02-13 17:42:08 +08:00
Hamish Milne
9525d81344
More base-derived fixes
2020-02-13 17:42:07 +08:00
Hamish Milne
996aba39fe
Correct exports; add some file serialization; fix service base object serialization
2020-02-13 17:42:07 +08:00
Hamish Milne
558e710e17
Finished archives; remove pod.h
2020-02-13 17:41:26 +08:00
Hamish Milne
2bf5b46460
Basic archive backend serialization
2020-02-13 17:41:26 +08:00
Hamish Milne
2d2c7218ef
Serialize CECD, CFG services
2020-02-13 17:41:25 +08:00
zhupengfei
4273b967b5
core/file_sys: Do not apply the same mods to DLCs
...
Now you can apply separate mods to DLCs and mods for the original title won't be applied.
2020-02-11 14:03:07 +08:00
zhupengfei
d9ae4c332d
layered_fs: Do not open all replacement files on load
...
Instead open them when we want to read them. This is because the standard library has a limit on the number of opened files.
2020-02-09 21:48:42 +08:00
zhupengfei
13e2d534e9
core: Add dump RomFS support
...
This is added to LayeredFS, then the NCCH container and then the loader interface.
2020-02-09 20:59:31 +08:00
zhupengfei
db18f6c79a
Address review
...
simplify code
2020-02-07 23:53:00 +08:00
zhupengfei
6e0afbaa19
Fix build
...
Explicitly use `std::min<std::size_t>`
Added virtual destructor
2020-02-07 16:26:33 +08:00
zhupengfei
eed9de2336
core/file_sys: Allow exheader replacement to be read from mods path
...
The previous method (filename.exheader) can still be used.
2020-02-07 15:55:35 +08:00
zhupengfei
53d0c618a0
core/file_sys: Read mods for the original title for updates
...
Updates can override RomFS and ExeFS, therefore we should apply the mods to them as well.
2020-02-07 15:20:20 +08:00
zhupengfei
91e5a39a08
core/file_sys: Allow exefs mods to be read from mods path
...
The original path (file_name.exefsdir) is still supported, but alternatively users can choose to put exefs patches in the same place as LayeredFS files (`load/mods/<Title ID>/exefs`).
2020-02-07 15:20:19 +08:00
zhupengfei
8a570bf00c
core: Use LayeredFS while reading RomFS
...
Only enabled for NCCHs that do not have an override romfs.
LayeredFS files should be put in the `load` directory in User Directory. The directory structure is similar to yuzu's but currently does not allow named mods yet. Replacement files should be put in `load/mods/<Title ID>/romfs` while patches/stubs should be put in `load/mods/<Title ID>/romfs_ext`.
2020-02-07 15:20:18 +08:00