Commit Graph
1276 Commits
Author SHA1 Message Date
Willem Jan Palenstijn 9ffe3e11d9 Merge pull request #182 from fingolfin/forbid-ctype
ALL: Avoid using is* macros from ctype.h
2012-02-21 11:33:32 -08:00
Max Horn 4f8665fc83 COMMON: Move isFoo functions to namespace Common, add doxygen comments 2012-02-20 16:18:27 +01:00
Max Horn 46321aacd8 AGOS: Cleanup 2012-02-16 11:12:35 +01:00
Max Horn 658080deed ALL: Avoid using is* macros from ctype.h
On some systems, passing signed chars to macros like isspace() etc. lead
to a runtime error. Hence, mark these macros as forbidden by default,
and introduce otherwise equivalent alternatives for them.
2012-02-15 16:51:37 +01:00
Johannes Schickel 827cdbd22e AGOS: Make ArchiveMan a proper sub-type of SearchSet.
Now all of the Archive API is implemented to avoid possibly inconsistent
behavior when an ArchiveMan object is accessed via a class type higher in the
class hierachy.
2012-01-27 20:35:34 +01:00
Johannes Schickel a231f9d5dd AGOS: Rename ArchiveMan's open to createReadStreamForMember to match our Archive API. 2012-01-27 20:30:02 +01:00
Johannes Schickel a7cc5bd301 AGOS: Properly overwrite hasFile from SearchSet in ArchiveMan.
Formerly the hasFile method was non-const, thus did not overwrite the virtual
hasFile method of SearchSet. Since all accesses to this function have been
done through a ArchiveMan typed variable, the missing overwrite should not
have caused any trouble.

It looks like this was forgotten in a6ec4f70da.
2012-01-27 20:10:31 +01:00
Johannes Schickel baafd74b66 AGOS: Fix silly copy&paste mistake, which broke Vorbis and MP3 support. 2012-01-26 01:35:06 +01:00
Johannes Schickel c82a75df69 AGOS: Rework digital sound playback.
The BaseSound class does now only save the sound filename instead of a file
handle. When a new sound is started a new file handle is created, which
assures that each sound uses a different file handle and thus allows for
directly streaming sounds from disk.

This fixes bug #3475610
"AGOS: Wrong sound effects during intro of Simon 2 (DOS)".
2012-01-26 01:01:41 +01:00
Andrea Corna a6ec4f70da COMMON: Make more members of Archive constant. 2011-12-13 17:55:57 +01:00
Travis Howell 105c90b9d5 AGOS: Fix using saved games from the CD versions of Simon the Sorcerer 2, on the floppy disk versions of Simon the Sorcerer 2. 2011-11-19 17:05:23 +11:00
Strangerke bab4b6f729 LAUNCHER: Introduce GUIO0() in order to replace GUIO1(GUIO_NONE) 2011-11-16 22:38:58 +01:00
D G Turner 783e3fea62 AGOS: Fix engine crash when playing Feeble Files from cabinet datafiles.
Playing with cabinet datafiles, this failed to find the "Charisma.smk"
file in the cabinets when in the Recreation (TV) room on Cygnus Alpha
and this caused an engine abort after the GUI dialog warning of the
"missing" video file. This was due to animation.cpp code using
Common::file::exists() instead of going via the ArchiveMan.

However,a hasFile() method implementation was also required to implement
fallback to decompressed (movie) files if the file requested is not in
the cabinet or the cabinet has been externally decompressed to files.

Thanks to fuzzie for the hasFile() patch.

Also, removed noisy warning which this correction triggers repeatedly in
installshield_cab.cpp hasFile(). This looks like leftover from
debugging, so not critical.
2011-11-13 23:44:38 +00:00
Travis Howell b05187c1a7 AGOS: Merge duplicate code remaining from refactoring in the past. 2011-11-03 13:02:12 +11:00
Eugene Sandulenko 0e1affcc97 AGOS: Fix warnings 2011-11-02 22:55:58 +00:00
Strangerke 4e0c574fd2 LAUNCHER: Add GUIO_NOASPECT to agos 2011-10-24 00:57:30 +02:00
Eugene Sandulenko 32972a5ffb AD: Switched rest of the engines to new GUIO 2011-10-23 17:53:13 +01:00
Johannes Schickel 3e1405b939 AUDIO: Add default disposeAfterUse value to makeVOCStream again. 2011-10-09 21:24:06 +02:00
Johannes Schickel 221434a83f AUDIO: Remove unused makeVOCStream interface. 2011-10-09 21:23:29 +02:00
Travis Howell d5a763b763 AGOS: Update MidiPlayer::~MidiPlayer() to match the default implementation. Hopefully will fix bug #3419778, thanks to digitall for the pointer. 2011-10-07 14:38:24 +11:00
Travis Howell f20b8ecaa1 AGOS: Fix dumping all images option. 2011-10-07 00:04:08 +11:00
Travis Howell 460c4eca26 AGOS: Fix loading VGA files from InstallShield cab file. 2011-09-25 10:32:20 +10:00
Johannes Schickel 507b9a75e7 AGOS: Made some static data const. 2011-09-08 00:38:39 +02:00
Travis Howell 039805ad3b AGOS: Fix regression when starting Personal Nightmare, or disabling AGOS2. 2011-08-28 16:40:03 +10:00
Eugene Sandulenko 35aa235e4b Merge pull request #79 from clone2727/agos_cab
AGOS: Add support for loading data from Windows (InstallShield) installer archives
2011-08-27 08:21:57 -07:00
Travis Howell 5346ac18b7 AGOS: Integrate InstallShield support. 2011-08-27 11:00:24 -04:00
Travis Howell 5e174cbfe4 AGOS: Fix load/save issues in Waxworks, which were caused by error in loadRoomItems. 2011-08-27 10:46:54 +10:00
Johannes Schickel f705a9b286 AGOS: Proper implementation of the Simon 1 demo aka Accolade MIDI parser.
This is based on the Elvira 1 demo.
2011-08-21 04:49:48 +02:00
Johannes Schickel 7173dbfd35 AGOS: Use delete instead of free on an C++ object.
This fixes some ugly valgrind warnings and some crashes when quitting AGOS
games for me.
2011-08-21 04:48:58 +02:00
Matthew Hoops f91f0f2756 AGOS: Add an archive class for handling InstallShield Cabinets 2011-08-20 16:42:09 -04:00
Johannes Schickel 5a1f75eae3 AGOS: Slight cleanup.
Now AgosEngine::_language is of type Common::Language instead of uint16. It is
currently only used with values of that enumeration, thus it should be safe to
use that type for it too.
2011-08-20 19:30:18 +02:00
Eugene Sandulenko 52147dc0c0 AGOS: Switched pause dialog to getLanguageKeyYes usage 2011-08-20 12:52:34 +01:00
Filippos Karapetis 21b2a7064f Merge pull request #63 from tsoliman/detection-tables
Some missing ADGF_CD and ADGF_UNSTABLE flags
2011-08-13 12:24:30 -07:00
Ori Avtalion c3cfdd36a5 AGOS: Fix struct/class mismatch 2011-08-09 00:52:33 +03:00
Christoph Mallon a5a8833c05 COMMON: Add DisposablePtr<T>, which replaces many repeated implementations of a dispose flag. 2011-08-07 15:19:08 +02:00
Christoph Mallon 5f4d83c38d AGOS: Correct off-by-one error in range check for setting the debug level. 2011-08-07 15:19:07 +02:00
Christoph Mallon 0a458019b3 AGOS: Replace if-cascade by switch. 2011-08-07 15:19:07 +02:00
Christoph Mallon 23a0f5318c JANITORIAL: Remove trailing empty lines. 2011-08-07 13:53:33 +02:00
Tarek Soliman 79efb47cf6 AGOS: Flag CD titles with ADGF_CD 2011-08-06 23:32:37 -05:00
Eugene Sandulenko 6e795a89b0 AGOS: Reduced header dependency 2011-08-06 11:28:40 +01:00
Littleboy b694a78f62 ANALYSIS: Add static casts to is* functions
This fixes a potential problem with passing char values that would be sign-extended and yield unexpected results.
See http://msdn.microsoft.com/en-us/library/ms245348.aspx
2011-06-23 08:52:52 -04:00
Julien a8b13e8a6b AGOS: Fix operator precedence warning 2011-06-23 15:11:36 +08:00
Max Horn 88913c0139 ALL: Remove trailing whitespaces
This tries to make our code a bit more compliant with our code formatting
conventions. For future use, this is the command I used:
  git ls-files "*.cpp" "*.h" | xargs sed -i -e 's/[ \t]*$//'
2011-06-20 00:59:48 +02:00
Johannes Schickel 0246bdf74e AGOS: Get rid of unused variable. 2011-06-18 19:56:07 +02:00
Max Horn 5455fc5ff4 AGOS: Replace vsprintf by Common::String::vformat 2011-06-18 01:36:15 +02:00
Max Horn 593b929047 DETECTOR: Separate code for handling obsolete gameids from advanced detector
This includes a renaming of ADObsoleteGameID to Engine::ObsoleteGameID,
and AdvancedDetector::findGameID now is Engines::findGameID.

Doxygen comments were added or improved
2011-06-14 18:52:07 +02:00
Max Horn 7c992d6598 DETECTOR: Merge ADParams into AdvancedMetaEngine 2011-06-14 18:17:01 +02:00
Thierry Crozat 06bbb57ad7 I18N: Make many more GUI MessageDialog strings translatable 2011-06-13 22:19:18 +01:00
Max Horn 58c36801f4 AGOS: Switch to alternate AdvancedMetaEngine, avoid ADParams 2011-06-10 22:15:40 +02:00
Max Horn 4827cc914a ENGINES: Change incorrect use of 'target' to 'gameid' 2011-06-10 22:15:40 +02:00