Commit Graph
32 Commits
Author SHA1 Message Date
Eugene Sandulenko 337a1d0117 AGI: Fix debugC() usage 2025-02-22 21:24:22 +01:00
sluicebox 0ffed94e13 AGI: Create AgiLoader method for locating disk images 2025-01-23 03:18:14 -08:00
sluicebox be53239eef AGI: Move AgiLoader definitions to loader.h 2025-01-23 03:18:14 -08:00
sluicebox 2f2f3a59bd AGI: Apple II NIB and WOZ disk image support 2024-08-25 14:57:06 +03:00
sluicebox f6e38f6d52 AGI: New AGIv1 loader and detection
- Detection table now uses LOGDIR hash instead of disk image hash.
- Detection no longer requires hard-coded names for image files.
- Loader now parses INITDIR to locate files
- King's Quest II now loads resources. Promoted to Unstable.
- All AGIv1 game versions are now detected and can load resources.
2024-08-19 07:39:54 +03:00
sluicebox 65b606feb7 AGI: Cleanup AgiDir initialization 2024-08-17 17:56:39 -07:00
sluicebox 4bba0c332e AGI: Cleanup AgiLoader initialization 2024-08-17 17:56:39 -07:00
sluicebox 22dc206476 AGI: Remove AgiLoader::loadResource implementations
All three implementations were the same
2024-08-17 17:56:39 -07:00
sluicebox fb35bc6aa9 AGI: Cleanup AgiLoader 2024-08-17 17:56:29 -07:00
sluicebox 6b50eadebf AGI: Remove "agi" prefix from AgiEngine method names 2024-08-17 17:56:29 -07:00
sluicebox 5761f2d768 AGI: Remove AgiLoader::unloadResource implementations
All three implementations were the same
2024-08-17 17:56:29 -07: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 3531843679 AGI: Add more error checks when loading sounds
Applies the previous commit to V1 and V3 loaders
2024-01-16 10:52:52 -07: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
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
Johannes Schickel 6aac905dfd AGI: Make GPL headers consistent in themselves. 2014-02-18 02:39:32 +01:00
Eugene Sandulenko 8109ffd253 AGI: Fix potential buffer overrun. CID 1004028 2013-10-07 23:13:30 +03:00
Max Horn 4fb289e346 AGI: Get rid of unused SoundMgr parameters 2013-04-18 23:50:19 +02:00
Johannes Schickel 89abab97e3 JANITORIAL: Remove trailing whitespaces.
Powered by:
git ls-files "*.cpp" "*.h" "*.m" "*.mm" | xargs sed -i -e 's/[ \t]*$//'
2012-09-26 04:17:55 +02:00
Eugene Sandulenko 46354d5772 AGI: Switched booters detection to AD 2011-08-13 23:27:34 +01:00
Jussi Pitkanen 1dbe5bfccf AGI: Implement loader for V1 "object" file 2011-08-13 23:27:22 +01:00
Jussi Pitkanen 368a3722a3 AGI: Implement loader for V1 words.tok dictionary 2011-08-13 23:27:05 +01:00
Jussi Pitkanen 04353038ae AGI: Add loader and detection for Black Cauldron booter 2011-08-13 23:26:58 +01:00
Jussi Pitkanen d273f58b3c AGI: AgiLoader_v1: Precalculate final resource offsets
That is, calculate the final offsets when loading the resource directories,
and when loading the resource simply seek into the disk image file.
2011-08-13 23:26:56 +01:00
Jussi Pitkanen 8183103777 AGI: Simplify sector offset calculation 2011-08-13 23:26:34 +01:00
Jussi Pitkanen 4d4a558f7b AGI: Do not try to pass filenames of disk images from the detector to engine 2011-08-13 23:26:29 +01:00
Jussi Pitkanen 010315dc0c AGI: Implement resource loader for the DDP booter game 2011-08-13 23:26:24 +01:00