Commit graph

38 commits

Author SHA1 Message Date
Le Philousophe
9db7dc73aa SCUMM: Split file.cpp to avoid referencing ScummEngine in detection code
This creates a specific translation unit for the code making use of
ScummEngine while keeping file.cpp for the classes needed for the
detection code.

This allows to build with UBSan while the Scumm engine is disabled.
2024-12-28 22:12:21 +02:00
Filippos Karapetis
fe8380fc65 SCUMM: Separate the PAK index reading code 2024-12-21 18:55:18 +02:00
Filippos Karapetis
e9400af000 SCUMM: Hook up the new PAK file handler in the sound code
We need to cache the location of monster.sou, otherwise we'll end up
reindexing the PAK file on every speech sound.

With this, the classic version of DOTT found in the remaster works
2024-12-20 13:20:51 +02:00
Filippos Karapetis
6a0965c239 SCUMM: Add support for reading files from DoubleFine PAK files
This will be used when reading the files of the classic versions found in
the DoubleFine remasters. Since the Full Throttle package is over 4GB,
we have adapted the internal sub file range code to use 64-bit integers
for file locations

The implementation is based on the work done in DoubleFine Explorer:
https://github.com/bgbennyboy/DoubleFine-Explorer/blob/master/uDFExplorer_LPAKManager.pas
2024-12-20 13:20:51 +02:00
Filippos Karapetis
395f63dc71 SCUMM: Initialize class members 2024-11-16 18:40:51 +02:00
Le Philousophe
17f09bb48c SCUMM: Migrate engine to Path 2023-12-24 13:19:25 +01:00
Vladimir Serbinenko
b06893a692 SCUMM: Support extracting resources from macbinary 2023-05-10 22:44:04 +02:00
Vladimir Serbinenko
0208fac907 SCUMM: Make Scumm*File compatible with non-File streams 2023-05-10 22:44:04 +02:00
Eugene Sandulenko
abea37c9bb
ALL: Update ScummVM project license to GPLv3+ 2021-12-26 18:48:43 +01:00
djsrv
0d65c2fd12 ALL: Use Path type in File functions 2021-08-07 10:44:37 +02:00
Paul Gilbert
005561d305 COMMON: Increase Stream pos, seek, size from int32 to int64 2021-07-08 18:24:28 -07:00
aryanrawlani28
29ceb07959 ENGINES: ALL: Revert detection submodule to be directly present in the engine directory
- DETECT_OBJS are present and added inside an engine's modules.mk file.
2020-10-03 14:56:36 +02:00
aryanrawlani28
8189a05316 ENGINES: ALL: Adapt to changes for new plugins by defining a new detection module
For each engine:
- Make a new folder detection
- Move detection-related files inside the folder
- Add a new module "enginename/detection"
- Add DETECT_OBJS here
- Adjust the normal engine module to remove detect_objs
- Adjust every file for the new changes.
2020-10-03 14:56:36 +02:00
aryanrawlani28
4c1a03845f SCUMM: Refactoring, remove detection.o dependency from modules.
- Move detection code used by createInstance & MetaEngine to a common header - detection_internal.h
- Move steam-related method & table to detection_steam.h
- More info in comments.
2020-10-03 14:56:36 +02:00
Bastien Bouclet
730a1ee4cc SCUMM: Add override keywords 2020-02-09 12:43:16 +01:00
Johannes Schickel
c44c46a4fb SCUMM: Simplify index file handling for Steam versions.
This also makes sure that all extra needed detection data for the Steam
releases is located inside detection.cpp.
2014-07-05 14:16:20 +02:00
Filippos Karapetis
902a140f3e SCUMM: Add support for Steam versions of Indy 3, Indy 4, Loom and Dig
Many Thanks to Ben Castricum for the original patch
2014-07-03 00:13:33 +03:00
strangerke
69b1485a22 GIT: Clean up: Suppress SVN tags, now useless 2011-05-12 01:16:22 +02:00
Max Horn
09ba53dcfb SCUMM: Use explicit XOR decoding code in BaseScummFile subclasses
This made it possible to turn some MemoryReadStream pointers into plain
SeekableReadStream pointers.

svn-id: r54435
2010-11-23 22:25:36 +00:00
Max Horn
2180b2d6b5 COMMON: Split common/stream.h into several headers
svn-id: r54385
2010-11-19 17:03:07 +00:00
Willem Jan Palenstijn
f9208f1bb0 Make ScummFile::eos() consistent with Stream::eos().
Remove usage of ioFailed from SCUMM engine.
Fix reading up to the end of a SCUMM SubFile.
This hopefully fixes #2820957.

svn-id: r42632
2009-07-20 20:55:28 +00:00
Filippos Karapetis
a1a9702f24 Oops, removed the *actual* unused code, and fixed my previous incorrect commit. DOTT and S&M work correctly again
svn-id: r35162
2008-11-23 20:54:55 +00:00
Filippos Karapetis
f53429b1b7 Removed unused/dead code
svn-id: r35161
2008-11-23 15:44:47 +00:00
Max Horn
18536552e0 Added const qualifiers
svn-id: r34682
2008-09-29 11:01:25 +00:00
Max Horn
655ce26b3f Big patch changing the signature of various Stream methods (some ports may need to be slightly tweaked to fix overloading errors/warnings)
svn-id: r34514
2008-09-13 16:51:46 +00:00
Max Horn
088a1c0806 ScummFile: Don't use the File::_ioFailed flag, rather track the io status separately; also, changed eof() -> eos()
svn-id: r34389
2008-09-06 20:34:21 +00:00
Max Horn
0be985ce83 Changed class File (and derived classes) to only support read-only access; added a new class DumpFile for writing
svn-id: r33412
2008-07-29 16:09:10 +00:00
Max Horn
7f81de6794 cleanup
svn-id: r31289
2008-03-28 08:30:42 +00:00
Eugene Sandulenko
44405b664f Put ScummNESFile class into separate file.
svn-id: r28497
2007-08-08 23:31:21 +00:00
Eugene Sandulenko
3f3f43dd5e Add Spanish MM NES (2/2)
svn-id: r28496
2007-08-08 23:07:56 +00:00
Max Horn
218e132e37 Updated legal headers in source files, based on what Pidgin (the IM client formerly knowns as Gaim) does; added new (incomplete) COPYRIGHT file; updated copyright dates in a few spots
svn-id: r27024
2007-05-30 21:56:52 +00:00
Max Horn
579a3fe7cf Renamed plugin.cpp to detection.cpp in all engines
svn-id: r26622
2007-04-27 20:23:25 +00:00
Travis Howell
fdc61643f4 Rename file class, since it is been used for disk images of Apple II and Commodore 64 versions now.
svn-id: r25847
2007-02-25 07:26:41 +00:00
Travis Howell
19d2310b71 Add support for using disks images for Apple II version of Maniac Mansion.
svn-id: r25846
2007-02-25 07:23:52 +00:00
Max Horn
2888110b3c Turning various static tables into static const
svn-id: r24323
2006-10-15 01:24:17 +00:00
Max Horn
206fdf0528 Fixed broken svn:keywords values
svn-id: r21939
2006-04-16 13:01:41 +00:00
Max Horn
1470dadb1d Changed File::open to take a Common::String as file name parameter
svn-id: r21867
2006-04-14 01:48:51 +00:00
Max Horn
bac32d1a5c Moved ScummFile etc. to the new file.cpp / file.h
svn-id: r21038
2006-03-03 15:16:02 +00:00