Commit Graph

60 Commits

Author SHA1 Message Date
Henrik Rydgård 5e0a9a0113 Add really simple 7z extraction, using the 7z VFS 2026-03-27 14:34:18 -06:00
Henrik Rydgård c74e21243d Add support for installing plugins directly from zip files 2026-02-25 14:28:57 +01:00
Henrik Rydgård 4c72a1c041 Handle zipped extracted ISOs a little better (don't try to install them as savedata) 2026-02-06 12:43:13 +01:00
Henrik Rydgård 0f85b06908 Add basic support for installing savestate ZIPs (useful for iOS testing) 2026-01-29 22:10:46 +01:00
Henrik Rydgård 8f76b191cd More improvements to ISO detection 2026-01-28 23:48:49 +01:00
Henrik Rydgård 19a6232b48 Improve handling of the UMD VIDEO error case (no, we still don't support them) 2026-01-28 14:32:38 +01:00
Henrik Rydgård 24f2deeb2e Improve file identification.
Fixes #21154
2026-01-28 10:21:09 +01:00
刘皓 5716cbd41d Use the libretro VFS interface in libretro builds 2026-01-01 00:24:01 -05:00
Henrik Rydgård 0cab218877 Rework InstallZipScreen to work in portrait 2025-11-23 21:24:29 +01:00
Henrik Rydgård 7fda054147 ImDebugger: Add a GameInfo tab to the PARAM.SFO window. 2025-09-03 14:10:54 +02:00
Kevin Reinholz 795c8678a6 Fixed build with system libzip and miniupnpc 2025-05-31 16:03:57 -07:00
Henrik Rydgård 71533ac2b7 Trash handling is too high level for FileUtil, move it up. 2025-04-15 17:42:24 +02:00
Henrik Rydgård 1babbca72a Move the zip file content checker into Loaders.cpp, should fix the libretro build 2025-04-12 23:38:59 +02:00
Henrik Rydgård fffbed53bc Add a ZipFileLoader, which can let us load any single-file file type from a zip.
Useful for loading framedumps from github without manually having to
unzip each one, for example.
2025-04-12 22:23:23 +02:00
Henrik Rydgård e2e99caeee Some minor reordering, reduce the calls to Identify_File 2025-03-26 09:24:14 +01:00
Henrik Rydgård 5926886c0c Some include cleanup, delete some obsolete code 2024-07-25 14:52:41 +02:00
Herman Semenov af41281761 [Core/Dialog/ELF/FileSystems/HLE/HW/Util] Added const reference for function params 2023-12-14 14:22:24 +03:00
Henrik Rydgård 1f60247749 Fix hang when changing UMD with retroachievements enabled
Fixes #17976
2023-09-12 14:17:50 +02:00
Unknown W. Brackets f44852bb18 Global: Cleanup virtual/override specifiers.
Also missing virtual destructors, hidden non-overrides, etc.
2022-12-10 21:13:36 -08:00
Henrik Rydgård d4dedeeeb8 Detect ISO files from file contents if extensions are wrong.
On older Android versions (that still support Android Storage
Framework), filenames are not always preserved in Content URIs, they can
look like .../msf:342 and things like that. So identify a few more file
types by content if filename identification fails.
2022-04-30 17:47:17 +02:00
Henrik Rydgård 43ba908225 Propagate errors from file identification upwards better. 2021-08-07 11:54:45 +02:00
Henrik Rydgård 2e16e83159 It never ends... 2021-05-13 10:39:16 +02:00
Henrik Rydgård 939dd200c3 Loaders: Remove fileLoader->Extension(). 2021-05-09 17:17:13 -07:00
Henrik Rydgård 9480b6672b Loaders: Rename Path() to GetPath().
Path is going to be a struct name.
2021-05-09 17:10:14 -07:00
Henrik Rydgård e60b38b6cb Address feedback, remove probably-misleading comment (had already fixed it). 2021-02-27 22:19:03 +01:00
shenweip 9fa4ae7b15 fix 2020-01-04 09:11:15 +08:00
shenweip d09543ebd7 Move umd replace to loaders. 2020-01-02 14:56:24 +08:00
Henrik Rydgård 0e978ba2e3 Pre-check the contents of ZIP files before allowing install. 2019-07-13 18:19:43 +02:00
Unknown W. Brackets 872fcecfad http: Report errors reading discs.
For more clarity when they can't load.
2018-12-27 10:33:32 -08:00
Unknown W. Brackets 7f84c87931 Loaders: Refactor chaining to avoid dup code. 2018-12-27 10:32:47 -08:00
Henrik Rydgård 7e756544ee Add a missing virtual destructor, fix a warning 2018-05-30 18:01:49 +02:00
Unknown W. Brackets 8b665ae696 Loaders: Depriorize disc streaming queue items.
We want the local items, if any, to load first.  This gives us icons, etc.
2017-12-09 17:07:42 -08:00
Unknown W. Brackets ee5b68f1fc Loaders: Add cancelation to all file loaders.
Mainly, for HTTP which might be stalled trying to connect (especially if
you're not near your PC right now and it's in your recent, for example.)
2017-12-09 16:47:37 -08:00
Simonas Kazlauskas 38c416df86 Add a note about thread-safety req in FileLoader 2017-06-24 21:10:20 +03:00
Simonas Kazlauskas 3c3596dbf2 Make the Loader API thread-safe
Since the majority of the code is using ReadAt API already, map this to
a `readp` "syscall" which does not mutate any state about the file
descriptor therefore making it fairly safe multi-threading wise.

This allows to get rid of read-time mutexes in RamCachedFileLoader and
therefore fixes #9803
2017-06-23 17:23:43 +03:00
Unknown W. Brackets 36069d1446 GE Debugger: Simple framework to load dumps.
This tries to execute them within the context of the emulator as much as
possible, so we don't have weird bugs.  Going with a file type so we can
easily load the dump by opening the file directly.
2017-06-03 15:29:11 -07:00
Henrik Rydgard 792dd1557c Improve StorageFileLoader enough to actually kind of work 2017-03-23 10:02:28 +01:00
Henrik Rydgard ff2b6b3fca Assorted cleanup, UWP memory map fixes. PSPFlower runs in both 32-bit and 64-bit. 2017-03-23 10:02:28 +01:00
Henrik Rydgard 4ced81b1df UWP: Hook up basic touch/mouse input. Start work on loading from a StorageFile. Getting closer to starting to boot a game 2017-03-23 10:02:28 +01:00
Henrik Rydgard 5b835839fa Make IdentifiedFileType a proper enum class 2017-03-02 12:29:03 +01:00
Unknown W. Brackets 65c7d0bd04 Add uncached flag for file loader reads.
This allows us to indicate that a read need not be cached.
2016-07-04 12:07:15 -07:00
Unknown W. Brackets 429346bb94 http: Make sure we don't hang checking existence.
It's not great to delay loading when the server is down - we'll do a
proper check when we display the games.

This also fixes shutdown being slow.
2016-07-04 00:46:42 -07:00
Unknown W. Brackets 9d6684a776 Consistently resolve PBP paths, use /s in recent.
Drag and drop was using \s causing duplicate recent entries and confusing
some of the PBP parsing.  Let's make it all a bit safer.
2016-06-26 20:33:25 -07:00
Unknown W. Brackets a563e606b3 Resolve PBP directories earlier in load process.
This allows us to initialize the memory AFTER determining the proper size,
in the case of remasters.  It also avoids going through load twice.
2015-12-28 14:13:07 -08:00
Henrik Rydgard 381e0c0fe3 Implement basic savedata UI. Not much actual functionality yet but can browse saves and states. 2015-06-11 23:59:02 +02:00
Henrik Rydgard 084aad74c3 Make GameInfoCache understand PSP savedata as a "game" type. Use it to create a basic savedata listing screen. 2015-06-11 20:22:16 +02:00
Unknown W. Brackets b620070fa6 Kill FileLoader::Reopen()...
Was a bad idea.
2014-11-23 14:08:14 -08:00
Unknown W. Brackets fd2d7406d1 Make LocalFileLoader essentially private. 2014-11-23 14:02:35 -08:00
Unknown W. Brackets 102b7b03fa Add an interface to load files with.
This allows loading from other than raw files.
2014-11-23 13:25:32 -08:00
Henrik Rydgard e6334dd9d8 Display .7z files in file listings. Can't decompress them though. 2014-10-21 00:09:24 +02:00