Commit Graph

49 Commits

Author SHA1 Message Date
Bastien Bouclet
0f2c6cd9ea ENGINES: Change mac resource fork file detection to use the file cache
Common::MacResMan is now able to open files from a specified
Common::Archive. This is a bit hacky as dynamic_cast is used to break
the Archive encapsulation to retreive the underlying FSNode. It should
however be more correct than the previous code that assumed files were
at the root of the currently running game's path.

AdvancedDetector constructs a Common::Archive from its FileMap based
filesystem cache and uses it to detect the mac resource fork files.

This cuts the time it takes to run the detection code with all the
engines enabled as dynamic plugins on the 3DS to 30 s from 280 s.
2020-09-20 16:33:45 +02:00
Eugene Sandulenko
1bb73862a1 COMMON: Lightened another MacBinary check so ISOBuster files really work 2020-08-01 22:38:09 +02:00
Eugene Sandulenko
4221c38167 COMMON: Support MacBinary3 files produced by ISOBuster 2020-08-01 20:25:39 +02:00
Eugene Sandulenko
bcd1d3c688 COMMON: Add 'vers' resource parser to MacResMan 2020-07-08 11:42:59 +02:00
Eugene Sandulenko
be388e644a COMMON: Give direct access to Data fork in MacResMan 2020-07-07 22:31:13 +02:00
Eugene Sandulenko
7200acb791 COMMON: Clarify comment in MacResMan 2020-05-29 15:55:07 +02:00
Eugene Sandulenko
169e8f3dd5 COMMON: Remove redundant code 2020-04-27 18:34:23 +02:00
jepael
83d481f882 COMMON: Fix compiler warning 2020-02-07 21:58:31 +01:00
Eugene Sandulenko
008f4c6f8d COMMON: Added dumper method to MacResMan 2020-02-06 21:42:01 +01:00
Eugene Sandulenko
5375a2a048 COMMON: Add sanity check to MacResMan 2019-12-26 17:03:44 +01:00
D G Turner
2d90392ba5 COMMON: Fix GCC-9 Warning in MacResManager Class
This is another case of a warning from using memset to clear a non-trivial
data structure.

GCC-9 detects this with the default warning of -Wclass-memaccess.
2019-12-09 16:59:10 +00:00
Bastien Bouclet
955e18c648 COMMON: Use nullptr instead of NULL or 0 where appropriate 2018-05-10 08:35:46 +02:00
Johannes Schickel
b8fb9e6a51 COMMON: Cleanup: Use StringArray instead of custom type. 2016-03-01 19:18:23 +01:00
Johannes Schickel
91b5c5a413 COMMON: Add a method to list files to MacResManager. 2016-03-01 19:16:10 +01:00
Johannes Schickel
854e22b38b COMMON: Make GPL headers consistent in themselves. 2014-02-18 02:39:33 +01:00
Matthew Hoops
1f6894ab25 COMMON: Cleanup the MacResManager a bit 2013-07-11 23:45:19 -04:00
Matthew Hoops
6b6e6c92c7 COMMON: Fix potential uninitialized memory usage 2012-12-13 00:39:48 -05:00
Matthew Hoops
5dfa4333d1 COMMON: Hopefully fix AppleDouble files with directories 2012-04-07 21:19:11 -04:00
Matthew Hoops
1e734ab48c COMMON: Add an exists function to MacResManager 2012-03-08 08:02:06 -05:00
Torbjörn Andersson
a010038492 JANITORIAL: Remove unnecessary semicolons 2011-10-29 11:23:44 +02:00
Matthew Hoops
711d0ff037 COMMON: Ensure numTypes is set to 0 on close 2011-10-07 11:32:57 -04:00
Max Horn
7ab553d72a COMMON: Do not try to read from res forks of non-existant files 2011-06-10 22:30:03 +02:00
Max Horn
3cc2e5b927 COMMON: Access mac res fork via FSNode instead of StdioStream
This fixes linker problems with the unit tests on Mac OS X. it is also
"more proper" to use the high-level FSNode API. StdioStream is a
(relatively) low-level wrapper intended for use inside of backends only.
2011-06-03 17:30:30 +02:00
strangerke
69b1485a22 GIT: Clean up: Suppress SVN tags, now useless 2011-05-12 01:16:22 +02:00
Matthew Hoops
44ad7d45ba COMMON: Remove convertCrsrCursor()
Graphics::MacCursor is its replacement
2011-05-05 19:48:57 -04:00
Ori Avtalion
9414d7a6e2 JANITORIAL: Reduce header dependencies in shared code
Some backends may break as I only compiled SDL
2011-04-28 15:08:58 +03:00
Eugene Sandulenko
ce0cc0ee85 COMMON: Partial fix for #3087922: COMMON/BASE/BACKENDS: Code analysis warnings 2011-04-17 15:25:06 +03:00
Matthew Hoops
6582b77f1c SCUMM: Use the new WinCursor code in SCUMM HE
Also, updated the MacResManager cursor code to reflect the SCUMM resource extractor code changes
2011-03-06 19:57:18 -05:00
Johannes Schickel
39861271d6 COMMON: Make MacResManager::convertCrsrCursor to return a RGB palette. 2011-02-14 17:08:33 +01:00
Matthew Hoops
2be57434a1 COMMON: Only take the md5 of the resource fork data section
Since various apps can modify the type/creator of the files, we can't rely on the header of the resource fork to take the md5. I've therefore also recalculated all of the detector entries (all 5 of them) that use the Mac resource fork code.

svn-id: r55764
2011-02-04 15:27:56 +00:00
Jordi Vilalta Prat
dd47d644d3 COMMON: Fix a few space formatting issues.
svn-id: r55200
2011-01-11 03:03:40 +00:00
Matthew Hoops
70ab5a21da COMMON: Fix AppleDouble support in the MacResManager (thanks, fuzzie)
svn-id: r54775
2010-12-05 00:51:04 +00:00
Max Horn
2180b2d6b5 COMMON: Split common/stream.h into several headers
svn-id: r54385
2010-11-19 17:03:07 +00:00
Max Horn
f9d311d1ef COMMON: Add const qualifiers and remove Common:: prefix in MacResManager code
svn-id: r54122
2010-11-07 17:17:21 +00:00
Max Horn
4d3a07b494 COMMON: Rename and tweak MD5 functions
* names now comply to our naming conventions
* the function computeStreamMD5AsString which computes the MD5
  as a hex string now returns it as a Common::String
* add doxygen comments

svn-id: r54121
2010-11-07 17:16:59 +00:00
Matthew Hoops
7835ce5cb8 COMMON: Extend getting a Mac resource fork resource with a name
Resource names can be the same across types (ie. 'PICT' "Foo" and 'snd ' "Foo"), so this ensures that the right type is chosen in those cases.

svn-id: r52756
2010-09-17 03:55:41 +00:00
Matthew Hoops
d882661aec COMMON: Cleanup MacResManager::convertCrsrCursor a bit
It's now a static function since it doesn't require any local variables and is really separate from the resource fork code. Also, actually assigning the keycolor (which was just being ignored).

svn-id: r52075
2010-08-14 04:03:36 +00:00
Torbjörn Andersson
38b172e8e5 Fixed some Cppcheck warnings. (There are plenty left, if anyone's wondering.)
svn-id: r50120
2010-06-21 19:32:25 +00:00
Matthew Hoops
5ceb896b6b Have the MacResManager ignore resources with length 0.
svn-id: r49190
2010-05-24 16:51:33 +00:00
Jordi Vilalta Prat
474b804e33 Make the MacResManager opening more robust to failed tries and plug its memory leaks
svn-id: r49116
2010-05-20 13:46:18 +00:00
Eugene Sandulenko
15986b81c2 Added getBaseFileName() method and enhanced open() with trying macbinary format in plain files
svn-id: r49074
2010-05-18 10:39:08 +00:00
Matthew Hoops
fab2e2a8c4 Fix mismatched new[]/delete[]
svn-id: r49018
2010-05-12 20:22:10 +00:00
Matthew Hoops
8b1cb63de3 Pass by reference instead of value to getResource(String)
svn-id: r49008
2010-05-11 19:13:24 +00:00
Matthew Hoops
59476e44b9 Add support for getting a resource from the resource fork by name.
svn-id: r49004
2010-05-11 15:38:21 +00:00
Matthew Hoops
b9813063ad Add support to the MacResManager and AdvancedDetector to take the md5 of a resource fork. This introduces a new flag, ADGF_MACRESFORK, which when set will take the md5 and size from the resource fork instead of the data fork.
svn-id: r48997
2010-05-10 18:23:54 +00:00
Matthew Hoops
cdf30ecc5a Minor fix for using the MacResManager with a regular file; switch MacBinary's data fork to using a SeekableSubReadStream instead of a MemoryReadStream.
svn-id: r48995
2010-05-10 00:50:37 +00:00
Eugene Sandulenko
57f2425b28 Patch #2901515: HE: Resource Forks on Mac OS X
svn-id: r48984
2010-05-09 18:27:56 +00:00
Johannes Schickel
aed02365ec Strip trailing spaces/tabs.
svn-id: r47541
2010-01-25 01:39:44 +00:00
Eugene Sandulenko
80ee1de8e4 Move Mac Binary resource loader to common class. Plug tons of memory leaks along the way.
svn-id: r47258
2010-01-11 20:41:07 +00:00