Commit graph

1503 commits

Author SHA1 Message Date
catrplr
eb1996db37 AGI: Review all the games in the website and Add new ones 2024-03-15 09:21:15 -07:00
sluicebox
c0ec5f5a81 AGI: Fix Gold Rush clock time at Fast and Fastest speeds
Fixes bugs #4147, #13910

The Apple IIgs version is unaffected and will require a separate fix.
That version only had one speed, so it does not contain the script that
synchronizes clock speed with game speed. We add this feature, and will
also need to implement this synchronization.
2024-03-11 10:34:38 -07:00
sluicebox
6afe8087de AGI: Fix LSL1 shoplifting bug
Fixes bug #13137
2024-03-07 16:29:46 -07:00
sluicebox
8413b06c3e AGI: Fix KQ1 ego direction after bowing to king
Fixes bug #7045
2024-03-06 23:38:14 -07:00
sluicebox
2106470cc6 AGI: Add WINNIE error checking when playing sound
Fixes crash that occurs when attempting to play the wind (sound 10)

Bug #14454
2024-03-06 14:44:02 -07:00
sluicebox
9ec216e9d7 AGI: Fix KQ3 Rosella staircase bug
Fixes bug #11996
2024-03-06 12:06:18 -07:00
sluicebox
334627b4c2 AGI: Remove AGIMOUSE polling code
The AGIMOUSE protocol is for three mouse variables to be set by the
interpreter in response to opcode 171. This code updated two of the
three variables when processing events, causing the variables to
unexpectedly change in the middle of a game cycle, such as when
displaying a message box.

Fixes phantom clicks in "DG: The AGIMouse Adventure"
2024-03-04 17:02:43 -07:00
sluicebox
2365826779 AGI: Reset AGIMOUSE button state when changing rooms
Fixes infinite loop in "DG: The AGIMouse Adventure", bug #10737
2024-03-04 17:02:31 -07:00
sluicebox
18dc896692 AGI: Exclude DDP from motion/loop workaround
Fixes Donald Duck's Playground introduction, bug #14170
2024-03-04 16:15:05 -07:00
sluicebox
0ba98e8f64 AGI: Restrict AGIMOUSE feature to AGIMOUSE games
Fixes bug #12747 where fan game Phil's Quest immediately ends, but this
also affects early KQ2 and other games.
2024-03-02 13:29:04 -07:00
sluicebox
081a606790 AGI: Fix Manhunter 2 detection entry 2024-03-01 00:59:05 -07:00
antoniou79
e1b62264e2 AGI: Fix missing words from our dictionary
This fixes bug #15000 "V Demo does not recognize valid word ammunition"

Our code was actually not parsing correctly many (all?) words starting with "a" in this particular game.
2024-02-29 19:31:09 -07:00
sluicebox
6621bb4281 AGI: Update V1 opcode table 2024-02-17 20:51:49 -05:00
sluicebox
eeb5bc4931 AGI: Update detection tables
- Mixed-Up Mother Goose (Mac)
- Police Quest 1 (PC 720k) 2.0E
- Manhunter NY (PC 3.5") 1.22 variant
- Clarifications, sorting
2024-02-17 20:51:41 -05:00
sluicebox
45bbc029b0 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-02-15 21:40:22 -05:00
sluicebox
9aa94960bd AGI: Document CoCo3 games in detection table 2024-02-15 21:40:14 -05:00
Filippos Karapetis
d71734fff0 AGI: Remove superfluous AGI version setup for AGDS games 2024-02-15 21:40:09 -05:00
Filippos Karapetis
9667ee52c3 AGI: Get rid of the older game flags
These are leftovers from Sarien, and are no longer needed
2024-02-15 21:40:09 -05:00
sluicebox
8cf76f893e AGI: Fix opcode table version detection
- Fixes Manhunter 1 Amiga / Atari ST not starting
- Fixes Manhunter 2 Amiga not starting
- Fixes Gold Rush Atari ST
- Fixes King's Quest IV Apple IIGS
- Fixes Black Cauldron Apple IIGS
- Uses original opcode name: get.mse.posn (from GR Amiga)
2024-02-15 21:40:02 -05:00
sluicebox
f2221d9b1e AGI: Use correct Amiga platform value
The correct value for variable 20 on Amiga interpreters is always 5.

Confirmed in the Amiga scripts for SQ1, MH1, and MH2. These games all
expect variable 20 to have a value of 5, just like all Amiga games.

Fixes Amiga menus and help text not appearing, and other details.

Note that this fix exposes another bug which now prevents the Amiga
Manhunter games from starting: the opcode table is wrong for these
versions. This also prevents the Atari ST version of MH1 from starting.
Fixed in next commit.
2024-02-15 21:40:00 -05:00
sluicebox
6f346f9608 AGI: Fix Manhunter 2 Amiga emulated version
Fixes the hold.key opcode being parsed incorrectly
2024-02-15 21:40:00 -05:00
sluicebox
b5458e3ad5 AGI: Fix Mixed-Up Mother Goose Amiga emulated version
Fixes the wrong graphics in the opening credits and throughout
the game. Fixes using the mouse to walk to room edges.
2024-02-15 21:39:59 -05:00
sluicebox
4671c96143 AGI: Allow message box to be drawn over menu
Fixes five Mixed-Up Mother Goose nursery rhymes. Bug #13820
2024-02-15 21:39:59 -05:00
sluicebox
9f4049a678 AGI: Cleanup graphics code 2024-02-15 21:39:59 -05:00
sluicebox
b21288d43e 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.

Cherry picked and adapted from be698249f1
2024-02-15 21:38:44 -05:00
sluicebox
c6dc29d64d AGI: Rewrite logic decoding for clarity, OOB fixes 2024-02-15 21:26:38 -05:00
sluicebox
249d4d0e30 AGI: Remove unused unload code 2024-02-15 21:26:38 -05:00
sluicebox
f878d20614 AGI: Use parameter names in function declarations 2024-02-15 21:26:37 -05:00
sluicebox
87f982d806 AGI: Add more error checks when loading sounds
Applies the previous commit to V1 and V3 loaders
2024-02-15 21:26:37 -05:00
sluicebox
2a35eb308c 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-02-15 21:26:37 -05:00
sluicebox
312b421662 AGI: Remove unused function declarations 2024-02-15 21:26:37 -05:00
sluicebox
f81324d82c 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-02-15 21:26:36 -05:00
sluicebox
7241b9feae AGI: Fix Cmd_RunOpcode output 2024-02-15 21:26:36 -05:00
sluicebox
6c5ecf767e AGI: Fix uninit memory use, crash on error
Fixes random crashes when an illegal opcode is encountered.

See bug #14699
2024-01-02 00:35:28 -08:00
sluicebox
368d44e3c8 AGI: Fix print.at parameter count in SQ1 1.0X
Fixes the skimmer sequence locking up when displaying a message box.

fixes bug #10872
2024-01-02 00:35:19 -08:00
Eugene Sandulenko
65dad3186b
AGI: Explain that preAGI games cannot be load or saved 2023-12-08 12:26:21 +01:00
Eugene Sandulenko
0edbea4ba9
ENGINES: Added optional parameter to canSave/LoadGameStateCurrently() for indicating the reason 2023-12-08 12:24:25 +01:00
Walter Agazzi
e5e986ab91 AGI: Add detection entry for goldrush spanish fanmade 2023-12-07 12:22:49 +01:00
Lothar Serra Mari
ba265ceec3 AGI: Add missing platform information [TRAC #14287] 2023-12-03 18:50:54 +01:00
Lothar Serra Mari
af29e53807 AGI: Add missing platform information [TRAC #14286] 2023-12-03 18:50:54 +01:00
Lothar Serra Mari
2edfbcde4c AGI: Add new detection entry for KQ2 variant [TRAC #14604] 2023-12-03 18:50:54 +01:00
Lothar Serra Mari
3e6eca3bab AGI: Add new detection entry for SQ2 variant [TRAC #14287] 2023-12-03 18:50:54 +01:00
Lothar Serra Mari
4dec4bf568 AGI: Add new detection entry for SQ2 variant [TRAC #13274] 2023-12-03 18:50:54 +01:00
Lothar Serra Mari
bd223c5d05 AGI: Fix floppy type in game description for SQ2 variant 2023-12-03 18:50:54 +01:00
Lothar Serra Mari
4d407cab49 AGI: Add new detection entry for SQ2 variant [TRAC #14286] 2023-12-03 18:50:54 +01:00
Lothar Serra Mari
764ef67331 AGI: Add new detection entry for KQ4 variant [TRAC #13734] 2023-12-03 18:50:54 +01:00
Cameron Cawley
c4a0d2210f AGI: Replace use of MetaEngineDetection::parseAndCustomizeGuiOptions() 2023-08-28 22:59:50 +02:00
Cameron Cawley
841d088060 AGI: Use OSystem::setShakePos() for screen shaking 2023-08-08 17:34:47 +03:00
Torbjörn Andersson
086661d2d9 AGI: Fix regression in Winnie the Pooh graphics
The left side of each picture was cut off, and padded with white at the
right side instead. This regression was introduced somewhere between
1.7.0 and 1.8.0 as part of a "graphics rewrite + cleanup".
2023-07-17 15:27:45 +02:00
Eugene Sandulenko
af5714fc3c
AGI: Remove non-ASCII symbol from the detection table 2023-06-23 19:15:29 +02:00