Commit Graph

250 Commits

Author SHA1 Message Date
twinaphex 61d3f90cae Add hint defines to libretro.h 2017-12-11 12:53:47 +01:00
twinaphex 38e6d2443f Change functions 2017-12-11 12:31:14 +01:00
twinaphex 8aa4d6d148 Move convenience functions to interface_stream.c 2017-12-11 12:23:40 +01:00
twinaphex 6897f9a987 Pass hints to intfstream_open_file 2017-12-11 12:20:06 +01:00
twinaphex 318f17c4cb Start using VFS API constant defines 2017-12-11 12:15:00 +01:00
twinaphex 2e979ec537 Replace function signatures of file_stream file functions 2017-12-10 22:25:38 +01:00
twinaphex d75c187c5b Don't show 'Scanning of Directory Finished' if we are scanning a
file instead
2017-11-27 07:04:52 +01:00
Brian Koropoff fb5e788c1e task_database: fix crash from Windows-incomptabile format string 2017-11-24 18:17:43 -08:00
Brian Koropoff bedf65e72e scanner: prioritize databases with recent matches
This should improve performance when scanning many files
in a row that all match against the same database, which is
the expectation.
2017-11-17 16:53:49 -08:00
Brian Koropoff b668193923 scanner: allow matching archives by member
This allows more flexible detection of content packaged as multiple
compressed files (e.g. MAME).
2017-11-17 16:53:49 -08:00
Jean-André Santoni bd17c11350 Fix gamecube scanning 2017-10-27 15:17:18 +07:00
Jean-André Santoni 2ddba6770d Start implementing gamecube scanning 2017-10-27 15:17:18 +07:00
Alcaro b97853a536 Rename STRING_REP_ULONG to STRING_REP_USIZE 2017-10-02 22:51:51 +02:00
twinaphex 3040d1da36 (task_database.c) Simplify conditionals 2017-09-30 06:21:38 +02:00
twinaphex bae31a318d Prevent memory leak 2017-09-29 21:32:05 +02:00
twinaphex 3490c3dbc5 Cleanups 2017-09-29 20:51:20 +02:00
twinaphex 3090f3ff3a (task_database.c) Rewrite char arrays 2017-09-29 20:47:54 +02:00
twinaphex 6cf6d46e4b Try silencing more warnings - do something with return value 2017-09-26 03:51:50 +02:00
twinaphex cc8e897222 C89_BUILD fixes 2017-09-22 05:12:26 +02:00
twinaphex 50d48139a3 Fix some more memory leaks 2017-09-21 23:38:29 +02:00
twinaphex 1a77c383b9 Fix plethora of memory leaks again 2017-09-21 21:33:13 +02:00
twinaphex 0f80e31382 task_database.c - cleanups 2017-09-21 19:57:10 +02:00
Twinaphex cff35f3611 Fix warning - wrong type used 2017-09-21 19:24:42 +02:00
twinaphex 0002912328 Change size of variables 2017-09-20 16:35:18 +02:00
twinaphex 808a723969 Fix memory leaks 2017-09-20 12:18:31 +02:00
twinaphex ac732ecdb0 Fix memory leak 2017-09-20 12:13:44 +02:00
twinaphex 37715114ae Cleanup 2017-09-20 09:55:53 +02:00
Aaron Oneal 4a929bd8e2 Optimize scanning using directory name hint
As discussed in issue #5440, directory scans are slow when compressed files must be checked against multiple databases. This commit adds support to hint to the scanner that a particular database should be used so that only a single scan is required. If the directory name being scanned matches the database name then that single database is selected.
2017-09-19 16:58:28 -07:00
Aaron Oneal 6ac4486f4d Fix typo from 9a76a93ea that broke the build 2017-09-19 16:49:45 -07:00
Twinaphex 9a76a93ea8 OSX buildfixes/cleanups 2017-09-19 21:37:51 +02:00
twinaphex e8f39f004e MSVC buildfixes 2017-09-19 21:29:28 +02:00
Twinaphex ee06a8f175 Merge pull request #5447 from bkoropoff/scanning2
More scanning rework
2017-09-19 15:46:04 +02:00
Aaron Oneal fb8fe84684 Fix archive scanning
Archive scans were broken for cores like Atari 5200 and Commodore 64 because archive contents were skipped if a core reported it supported compressed files. The problem is, it's a false assumption that just because a core supports compressed files that the content database contains CRCs for compressed files.

Instead of adding the contents of every compressed file to the scan list ahead of time, the patched logic now checks for the CRC of the archive itself as it always has but then adds the archive contents to the scan list if the archive itself is no match. This maintains the logic of adding only the archive if the core supports compressed files and the archive CRC matches but also allows for deeper content scans when there is no match.

The patch also removes `core_info_unsupported_content_path` as it was redundant with existing `core_info_database_supports_content_path` logic.
2017-09-18 23:15:28 -07:00
Brian Koropoff d4beeeda33 task_database: skip serials for the right file type! 2017-09-18 09:03:43 -07:00
Brian Koropoff 84edc8ffb0 task_database: prune files referenced from cue/gdi files
Since we use cue/gdi files to find the right track file to
scan, don't bother scanning them separately.
2017-09-18 09:03:43 -07:00
Brian Koropoff 6c1044a699 task_database: support GDI files 2017-09-18 09:03:43 -07:00
Brian Koropoff fa6d0fac67 task_database: more scanning rework
- Use the primary (largest data) track for CRC identification, as it
  seems least likely to be shared among multiple discs
- CRC the primary track when importing a loose .cue file.
- If multiple tracks are in the same file, CRC the correct chunk
2017-09-18 09:03:43 -07:00
twinaphex 49cf80db10 Fix resource leaks 2017-09-18 15:57:05 +02:00
Twinaphex 6648ebed0d Silence some warnings 2017-09-18 11:56:59 +02:00
Brian Koropoff 5a3969d4fa task_database: rework cd scanning
Support chd files.  Fall back to using the CRC32 of the last track
of CDs if a serial number is not available.  This requires new
database files, but is necessary for chd scanning to work.
2017-09-17 02:11:07 -07:00
twinaphex b51a19da5c Fix memory leak 2017-09-12 05:26:59 +02:00
twinaphex c1c42cac6b (task_database.c) Reduce stack usage 2017-09-12 05:00:22 +02:00
Aaron Oneal 48550235d5 Fix slow content scans.
The check for unsupported content was reversed which was causing files to be checked against every database. Correcting this improves performance drastically. This appears to have been broken since at least commit #fc1f2cdcf.
2017-09-06 20:51:37 -07:00
twinaphex 50b838d8ed Cleanups 2017-07-30 10:11:41 +02:00
Rob Loach bbb2a7d6f4
Add serial detection for Wii 2017-07-29 23:23:05 -04:00
Brad Parker 5733d8ebd5 move content list builder into scanner task with progress, fixes menu freeze with large playlists 2017-07-09 00:44:02 -04:00
aliaspider 634de19dc9 (WiiU) enable libretrodb. 2017-05-22 06:07:27 +01:00
aliaspider eede1a4978 no need to swap endianess here. 2017-05-22 05:26:13 +01:00
twinaphex 8eca08c6ac Start using string_is_equal_fast/string_is_not_equal_fast macros
instead of straight memcmp
2017-05-16 03:20:59 +02:00
twinaphex 80d9d1f143 Rewrite task_queue 2017-05-14 20:43:48 +02:00