Commit Graph
36 Commits
Author SHA1 Message Date
sluicebox 96fa848264 AGI: Handle compressed V3 volumes in V2 games (CoCo3)
CoCo3 games use V3 volumes, and most use V3 compression, even though
they are V2 games with V2 directory files. Only KQ3 uses V2 volumes.

LSL1 CoCo3 now starts, along with the many CoCo3 fan ports.

Big thanks to @MusicallyInspired,  @EpicPotatoFiend, and the
SQHistorian discord for teaching me Tandy!
2024-01-28 10:39:18 -08:00
Filippos Karapetis 671298f2d1 AGI: Remove superfluous AGI version setup for AGDS games 2024-01-27 04:28:47 +02:00
sluicebox be698249f1 AGI: Cleanup loader code
Most of these changes resolve inconsistencies between the three loaders.
Formatting, error handling, logging, etc.

V2 and V3 parsers no longer assume that directory files are multiples
of three. Some Mac games have padding. This caused uninitialized memory
to be parsed and stored in the directory table.
2024-01-22 17:32:46 -07:00
sluicebox c0433ab956 AGI: Remove unused unload code 2024-01-22 17:32:45 -07:00
sluicebox 34a1e5aac4 AGI: Add error check when loading sounds
Fixes the CoCo3 version of Xmas Card 86 crashing on startup.

The sound format isn't supported yet but the return value from
AgiSound::createFromRawResource wasn't tested.
2024-01-16 10:11:13 -07:00
sluicebox a5656b43fe AGI: Detect V3 volume format in V2 games
The CoCo3 version of Xmas Card 86 has a volume file with a V3 format.

The V2 loader now detects this and ignores the extra header bytes.

Fixes bug #14699
2024-01-16 10:11:13 -07:00
Le Philousophe 3457d49fd5 AGI: Migrate engine to Path 2023-12-24 13:19:25 +01:00
DL ef332f38c1 AGI: French translation support 2022-09-19 00:46:07 +02:00
Eugene Sandulenko abea37c9bb ALL: Update ScummVM project license to GPLv3+ 2021-12-26 18:48:43 +01:00
Orgad Shaneh f1f4657b10 AGI: Use nullptr
Using clang-tidy modernize-use-nullptr
2021-11-14 15:51:59 +02:00
Orgad Shaneh a05e54f00c JANITORIAL: Remove trailing whitespaces 2021-05-04 11:46:30 +03:00
Zvika Haramaty 5a93dc2275 AGI: Add Hebrew support 2021-03-14 18:52:36 +01:00
D G Turner 95c0afa2c3 AGI: Fix Missing Default Switch Cases
These are flagged by GCC if -Wswitch-default is enabled.
2019-10-14 03:54:10 +01:00
Martin Kiewitz 9dd0cd51d5 AGI: Clean up VM opcode handling
so that invalid opcodes won't crash ScummVM anymore
2017-02-23 23:54:45 +01:00
Johannes Schickel 6778175f6d AGI: Fix formatting.
This mostly enforces tabs for indentation and spaces for formatting. But also
fixes spaces on empty lines, some extra/missing spaces.

astyle + manual fixup
2016-02-02 20:15:18 +01:00
Martin Kiewitz 8a595e7771 AGI: graphics rewrite + cleanup
- graphics code fully rewritten
- Apple IIgs font support
- Amiga Topaz support
- Word parser rewritten
- menu code rewritten
- removed forced 2 second delay on all room changes
  replaced with heuristic to detect situations, where it's required
- lots of naming cleanup
- new console commands show_map, screenobj, vmvars and vmflags
- all sorts of hacks/workarounds removed
- added SCI wait mouse cursor
- added Apple IIgs mouse cursor
- added Atari ST mouse cursor
- added Amiga/Apple IIgs transition
- added Atari ST transition
- user can select another render mode and
  use Apple IIgs palette + transition for PC versions
- inventory screen rewritten
- SetSimple command now properly implemented
- PreAGI Mickey: Sierra logo now shown
- saved games: now saving controller key mapping
  also saving automatic save data (SetSimple command)
- fixed invalid memory access when saving games (31 bytes were saved
  using Common::String c_ptr()

Special Thanks to:
- fuzzie for helping out with the Apple IIgs font + valgrind
- eriktorbjorn for helping out with valgrind
- LordHoto for figuring out the code, that caused invalid memory
  access in the original code, when saving a game
- sev for help out with reversing the Amiga transition

currently missing:
- mouse support for menu
- mouse support for system dialogs
- predictive dialog support
2016-01-29 13:22:22 +01:00
Pino Toscano f29b3658b0 AGI: use shorter sizes for buffers
Instead of allocate them with MAXPATHLEN as size, just give them the
size for the data that are going to be written on them.
2014-12-22 23:10:31 +01:00
Pino Toscano cfd00ad6af AGI: use Common::String::format when possible
Use Common::String::format instead of a MAXPATHLEN-sized char[] buffer.
2014-12-22 23:10:31 +01:00
Johannes Schickel 6aac905dfd AGI: Make GPL headers consistent in themselves. 2014-02-18 02:39:32 +01:00
Eugene Sandulenko dcad1cfb55 AGI: Fix buffer overrun. CID 1004033 2013-10-07 23:07:25 +03:00
Max Horn 4fb289e346 AGI: Get rid of unused SoundMgr parameters 2013-04-18 23:50:19 +02:00
Max Horn 6c5f50c246 COMMON: Add exit() to list of forbidden symbols 2011-05-23 19:39:26 +02:00
strangerke 69b1485a22 GIT: Clean up: Suppress SVN tags, now useless 2011-05-12 01:16:22 +02: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
Max Horn 9a350f4398 ENGINES: Get rid of some (f)printfs
svn-id: r54011
2010-11-01 16:04:47 +00:00
Max Horn 7c2323bdc3 AGI: Replace report() macro by debug() / warning()
This makes AGI quite a bit less noisy by default.

svn-id: r53868
2010-10-26 22:33:49 +00:00
Eugene Sandulenko 0a1a919406 AGI: Implement FR #1913900.
FR #1913900: "AGI: MIDI support".
Currently it gets selected when Adlib is chosen. Finding a better
way to do it is a todo.

Also default instrument mapping is plain.

Based on original code by Jens. Christian Restemeier.

svn-id: r49751
2010-06-15 10:34:45 +00:00
Eugene Sandulenko 8ad5694cb1 Reduce header dependencies for AGI engine.
svn-id: r46942
2010-01-03 20:15:44 +00:00
Eugene Sandulenko 1a321a2064 Cleanup
svn-id: r41254
2009-06-06 17:45:52 +00:00
Eugene Sandulenko 45764de138 Cleanup
svn-id: r41251
2009-06-06 17:44:24 +00:00
Eugene Sandulenko 93d62da652 Whitespace fixes and C++ comments
svn-id: r41239
2009-06-06 17:39:13 +00:00
Max Horn d104637a3a Do not use abort (for that matter, shouldn't used exit(), either, but we (ab)use that in various places anyway...)
svn-id: r29994
2007-12-25 23:33:08 +00:00
Nicola Mettifogo 258901bab9 Merged common/stdafx.h into common/scummsys.h. All referencing files have been updated.
svn-id: r28966
2007-09-19 08:40:12 +00:00
Eugene Sandulenko 35d6862117 Remove/clarify several FIXMEs
svn-id: r28892
2007-09-11 15:49:19 +00:00
Max Horn 4cc9d17c34 Adding various FIXME comments to bogus (non-self-explanatory) existing FIXME comments; and some other related cleanup
svn-id: r28890
2007-09-11 09:20:39 +00:00
Eugene Sandulenko 554cff0384 GIve some files more logical names
svn-id: r28791
2007-09-01 17:28:15 +00:00