Commit Graph

1299 Commits

Author SHA1 Message Date
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
twinaphex 6c81007eb9 Should hopefully fix scanning of PS1 games 2017-06-07 11:12:11 +02:00
twinaphex c7b45aaf80 warning fix for C89_BUILD 2017-06-06 23:22:20 +02:00
twinaphex f5225a479e (task_database_cue.c) Use string_is_equal instead 2017-06-06 10:20:34 +02:00
twinaphex 3d54afdc1b Change to string_is_equal 2017-06-06 09:46:13 +02:00
twinaphex 6b638cae8b prevent uninitialized variable 2017-05-31 02:21:43 +02:00
Tatsuya79 1df9766491 Hide load message when saving state.
fix https://github.com/libretro/RetroArch/issues/4460
2017-05-30 14:07:04 +02:00
twinaphex 449483206f Revert "New attempt to fix memory leaks of struct retro_system_info"
This reverts commit a1d3dd69dd.
2017-05-30 01:44:49 +02:00
twinaphex a1d3dd69dd New attempt to fix memory leaks of struct retro_system_info
char variables
2017-05-29 22:24:10 +02:00
twinaphex dfae380f33 Backport patches -
- Attempt to skip cheevos when path is of media type
- Don't do CRC32 encoding for media types
2017-05-29 20:26:10 +02:00
twinaphex 9fa871ccf9 Buildfixes for consoles 2017-05-28 18:33:44 +02:00
twinaphex cf2f8f6489 Prevent passing NULL/empty strings to memcmp 2017-05-28 18:07:00 +02:00
twinaphex 3fbed8df27 (Menu) Menu driver no longer uses a duplicate system info
struct
2017-05-28 17:21:57 +02:00
twinaphex c74104f8c9 Get rid of RARCH_MENU_CTL_SYSTEM_INFO_* 2017-05-28 16:25:46 +02:00
radius f019b434ef resume game immediately if it was already underway 2017-05-27 20:21:44 -05:00
twinaphex 9438545bca Add music tab for non-ffmpeg enabled builds now; add 'Run'
and 'Add to mixer' options when selecting Ogg/WAV files
2017-05-27 23:56:10 +02:00
aliaspider bf7d19f401 skip loading a core when it is already active when starting a netplay
game.
2017-05-24 15:10:31 +01:00
radius a98c2c38c0 update copyrights 2017-05-23 19:55:47 -05:00
Twinaphex 50fc71a0a6 Merge pull request #4957 from fr500/fixes
[lobby] allow connecting without reloading content
2017-05-22 08:23:24 +02:00
aliaspider 634de19dc9 (WiiU) enable libretrodb. 2017-05-22 06:07:27 +01:00
radius bae2110bb4 cleanup conditionals 2017-05-21 23:43:12 -05:00
radius d1291f406b allow connecting without reloading content when content_get_crc matches with that of the current loaded game 2017-05-21 23:43:12 -05:00
aliaspider eede1a4978 no need to swap endianess here. 2017-05-22 05:26:13 +01:00
twinaphex 4333e3d5e7 Cleanups 2017-05-20 14:02:16 +02:00
twinaphex a87f3ae3cd Prevent explicit NULL pointer dereference warning 2017-05-19 18:54:40 +02:00
twinaphex c53bb90b75 Get rid of error_msg label 2017-05-18 08:04:24 +02:00
twinaphex 82d37d2036 Don't loop audio files by default 2017-05-18 07:27:41 +02:00
twinaphex 5343648dc9 Start creating state machien for audio mixer streams 2017-05-18 06:16:16 +02:00
twinaphex 312a2b5c80 Cleanups/try to prevent memory leaks with task_audio_mixer.c 2017-05-18 05:12:41 +02:00
twinaphex 668813cca9 (task_image.c) Refactor code 2017-05-18 01:31:14 +02:00
twinaphex 9a90477c6d Reimplement task_audio_mixer.c 2017-05-18 01:19:47 +02:00
twinaphex b3faed3906 Remove NBIO_STATUS_TRANSFER_PARSE_FREE to NBIO_STATUS_TRANSFER_FINISHED 2017-05-18 00:39:39 +02:00
twinaphex 4ad8d3c917 Remove NBIO_STATUS_POLL 2017-05-18 00:09:17 +02:00
twinaphex 80512800e1 (task_audio_mixer.c) Further work on task_audio_mixer.c 2017-05-17 14:13:02 +02:00
twinaphex 21341c5b3a Rework task_audio_mixer.c to use NBIO 2017-05-17 14:04:33 +02:00
radius 6e45af3858 look into the history playlist too 2017-05-17 02:08:17 -05:00
twinaphex 1bf0175da4 Try to prevent string message leaking in tasks 2017-05-16 04:50:20 +02:00
twinaphex 126a5bf121 Use string_is_equal_fast/string_is_not_equal_fast 2017-05-16 04:00:37 +02: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 7e89335392 (task_wifi.c) Prevent memory leak for title 2017-05-16 02:52:30 +02:00
twinaphex 8e76c4a131 Prevent title memory leak 2017-05-16 02:48:54 +02:00
twinaphex 2f9eb86a59 Cleanup 2017-05-16 00:02:26 +02:00
twinaphex c21abd28f8 Implement audio_mixer_stopped differently 2017-05-15 23:15:22 +02:00
twinaphex b8cea125e4 Create stub function for looping sounds 2017-05-15 23:03:54 +02:00
twinaphex 69f9bc840d Remove unused variable 2017-05-15 19:16:40 +02:00
twinaphex 5fc5cb4962 Cleanups 2017-05-15 11:25:45 +02:00
twinaphex 67610b8263 Update task_audio_mixer.c 2017-05-15 11:07:12 +02:00
twinaphex 375b588847 Cleanups 2017-05-15 09:29:44 +02:00
twinaphex bf3188eac4 Combine runloop_ctl and rarch_ctl 2017-05-15 05:06:23 +02:00
twinaphex e2c7671e9f Create rarch_menu_running/rarch_menu_running_finished 2017-05-15 04:31:40 +02:00
twinaphex b9148c1d70 Cleanups 2017-05-15 02:50:14 +02:00
twinaphex 8bdcb2f123 Push callback to task_push_wifi_scan 2017-05-15 02:44:24 +02:00
twinaphex 56fb642119 Rewrite task_netplay_lan_scan.c - pass callback function to task 2017-05-15 02:09:26 +02:00