Commit Graph

1251 Commits

Author SHA1 Message Date
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
Brian Koropoff
2cfedab339 task_database_cue: only return error when errno would be set
On a short read, errno will be 0, and returning 0 without
setting system_name will cause a crash later.  Just continue
to the next magic number instead.
2017-09-20 21:24:59 -07: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
46e78e9d1b task_database: fix parsing CUEs with one track 2017-09-18 09:03:43 -07:00
Brian Koropoff
c6c090052e task_database: fix memory leak 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
Brian Koropoff
edf90d250f task_database: fix memory leak in error path 2017-09-18 09:00:39 -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
c1f60c1aa6 task_database_cue.c - reduce stack usage 2017-09-12 05:04:27 +02:00
twinaphex
c1c42cac6b (task_database.c) Reduce stack usage 2017-09-12 05:00:22 +02:00
twinaphex
0007d66bf8 Fix memory leaks 2017-09-11 02:22:46 +02:00
twinaphex
0724cbbf2b Reduce stack usage 2017-09-10 21:58:05 +02:00
twinaphex
91b1afad0a (dirs.c/task_content.c) reduce stack usage 2017-09-10 21:42:24 +02:00
twinaphex
750621e28c (tasks/task_content.c) Reduce stack usage 2017-09-09 23:17:28 +02:00
twinaphex
6df9c7ca30 Cleanup 2017-09-09 20:10:28 +02:00
Twinaphex
ca6a7578e4 Merge pull request #5407 from aarononeal/hotfix/slowscan
Fix slow content scans.
2017-09-08 20:22:33 +02:00
Brad Parker
07566c51a1 VC6 buildfixes, add Makefile.griffin target for it 2017-09-07 11:50:10 -04:00
Aaron Oneal
e3f4e0d71a Fix ISO scan crash from buffer overflow
Recent additions in commit #bbb2a7d6f to scan ISO files with ASCII characters overflowed the serial number buffer and caused a crash. This fix limits the read to 15 bytes which is all that is actually required.
2017-09-06 23:37:46 -07: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
Brad Parker
0a1b3fedc0 VC6 support (targets NT 3.51) 2017-09-06 23:03:02 -04:00
twinaphex
e16371b8a5 Merge input_config.c and input_driver.c 2017-08-31 02:25:04 +02:00
twinaphex
af477ff317 C89 buildfix 2017-08-06 17:11:13 +02:00
radius
cf8783644d allow screenshots into content dir via bool setting in addition of the empty string 2017-08-05 13:57:24 -05:00
Twinaphex
d11b9e80b4 Merge pull request #5244 from rtissera/modsupport
Add MOD/S3M/XM support to audio mixer (libretro-common) through micromod/ibxm
2017-08-04 20:36:55 +02:00
Romain Tisserand
cbe2d9a941 Preliminary MOD/S3M/XM support through ibmx library (part of micromod repository) 2017-08-04 15:05:29 +02:00
radius
3a3d9cd41e if swap override is not specified it should be false 2017-08-04 01:37:16 -05: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
Twinaphex
6995154a9a Merge pull request #5133 from fr500/master
Fix #5091
2017-07-01 04:35:59 +02:00
twinaphex
e9f9702a2d (playlist.c) Don't expose struct details to outside 2017-07-01 03:38:36 +02:00
radius
0a7968761f improve logging 2017-06-30 20:05:30 -05:00
twinaphex
b11620e1eb Add retro_timers.h/retro_math.h 2017-06-28 04:41:38 +02:00
twinaphex
6af5bd01bf Merge retro_stat and file_path 2017-06-16 15:00:11 +02:00