Commit Graph
1528 Commits
Author SHA1 Message Date
Marco Borrini 2e27d4e958 AGI: Adds updated versions for "Enclosure" and "Voodoo Girl" 2024-05-23 20:27:30 -07:00
Torbjörn Andersson c78780bca0 AGI: Clarified text delay comment at m-kiewitz's request 2024-05-14 20:25:48 +02:00
Torbjörn Andersson da8e500bd7 AGI: Fix duration of timed text boxes
The messageBox() function assumed 20 cycles per second, but that was
changed to 40 cycles per second years ago. This made the King's Quest
III intro hard to read. There are probably other cases as well, but
that's the one that was asked about on the forum.
2024-05-13 18:43:35 +02:00
sluicebox 19165baa6b AGI: Fix view decoding regression
Another of my blunders from f4201eeda8

Thanks to m-kiewitz for spotting this
2024-05-13 09:04:07 -07:00
sluicebox ada17669dc AGI: Misc init cleanup 2024-04-15 18:23:47 -07:00
sluicebox b04f59b464 AGI: Add Flag Quest version check workaround
Fixes bug #15060
2024-04-15 18:23:47 -07:00
sluicebox 2a66a9d8a7 AGI: Add bounds checking to strings
Fan games are known to use out of bounds string numbers
2024-04-15 18:23:47 -07:00
sluicebox 935b538bb7 AGI: Fix view decoding regression
Fixes bug #15059

Introduced during my refactor last month:
f4201eeda8
2024-04-10 15:20:00 -07:00
Filippos Karapetis b9ea8f6d9b AGI: Remove obsolete info about game menus
The forced menus feature has been removed a long time ago
2024-04-01 09:30:31 +03:00
sluicebox c5995d64e7 AGI: Refactor away agiDetectGame 2024-03-21 07:37:27 -07:00
sluicebox 9795144183 AGI: Implement motion/cycler overwrite behavior
- Fixes Black Cauldron witches not disappearing at end of game
- Properly fixes Donald Duck's Playground intro, bug #14170
- Continues to fix KQ1 eagle jump, bug #7046

Big thanks to @AGKorson for providing detailed information on this
interpreter behavior, script analysis, and maintaining excellent
AGI documentation in WinAGI.

See also:
8a595e7771
5484f0bc58
cc7cbfe626
2024-03-21 10:02:02 +02:00
catrplr d83100c97e AGI: Review all the games in the website and Add new ones 2024-03-15 09:19:50 -07:00
Matthew Jimenez 5219c99400 GRAPHICS: Move PaletteManager definition to a separate header 2024-03-12 12:24:00 +02:00
sluicebox 77deb41c25 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:06:11 -07:00
sluicebox 1c273ecfb1 AGI: Reduce g_system usage 2024-03-11 09:48:53 -07:00
sluicebox f4201eeda8 AGI: More misc cleanup 2024-03-10 17:20:54 -06:00
sluicebox 942303bbc6 AGI: Fix KQ3 infinite falling
Fixes bug #13379
2024-03-09 09:07:59 -07:00
sluicebox d6c220896e AGI: Misc cleaup 2024-03-09 09:07:59 -07:00
sluicebox 065d049008 AGI: op_cmd cleanup 2024-03-09 09:07:59 -07:00
sluicebox aabb7b4c30 AGI: Bool usage 2024-03-09 09:07:59 -07:00
sluicebox c3325f25bd AGI: Console cleanup 2024-03-09 09:07:59 -07:00
sluicebox ee5a70598e AGI: Fix LSL1 shoplifting bug
Fixes bug #13137
2024-03-07 16:12:55 -07:00
sluicebox 3d2783c074 AGI: Fix KQ1 ego direction after bowing to king
Fixes bug #7045
2024-03-06 23:32:13 -07:00
sluicebox 198e28bdd9 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:24:10 -07:00
sluicebox 30bfbecc1f AGI: Fix KQ3 Rosella staircase bug
Fixes bug #11996
2024-03-06 11:21:46 -07:00
sluicebox c1248bb971 AGI: Remove unused StringData 2024-03-06 09:30:57 -07:00
sluicebox 7e382256ac AGI: Fix uninitialized WagProperty pointer
Coverity CID 1435881
2024-03-06 09:29:08 -07:00
sluicebox 80f428b930 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-05 02:00:33 +02:00
sluicebox 44373c95a4 AGI: Reset AGIMOUSE button state when changing rooms
Fixes infinite loop in "DG: The AGIMouse Adventure", bug #10737
2024-03-05 02:00:33 +02:00
sluicebox cc7cbfe626 AGI: Exclude DDP from motion/loop workaround
Fixes Donald Duck's Playground introduction, bug #14170
2024-03-04 16:13:40 -07:00
sluicebox 126c19855a 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:22:38 -07:00
sluicebox 1fa0250e04 AGI: Fix Manhunter 2 detection entry 2024-03-01 00:56:13 -07:00
antoniou79 9828447be4 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:29:11 -07:00
sluicebox 858be3a931 AGI: Update V1 opcode table 2024-02-17 15:44:09 -05:00
sluicebox 03e26a507a 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 15:44:09 -05:00
sluicebox 89723ae889 AGI: Move SQ2 Apple IIgs unknown opcode handling 2024-01-30 13:22:44 -08:00
sluicebox a8145c5930 AGI: Cleanup op_cmd.cpp 2024-01-30 13:22:44 -08:00
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
sluicebox 76c894acdc AGI: Document CoCo3 games in detection table 2024-01-28 10:37:00 -08:00
Filippos Karapetis 671298f2d1 AGI: Remove superfluous AGI version setup for AGDS games 2024-01-27 04:28:47 +02:00
Filippos Karapetis 8dcd4e27f4 AGI: Get rid of the older game flags
These are leftovers from Sarien, and are no longer needed
2024-01-27 03:27:27 +02:00
sluicebox 0c06708053 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-01-26 13:34:53 -08:00
sluicebox 15819e0686 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-01-26 13:34:53 -08:00
sluicebox d4a3c8c1c2 AGI: Fix Manhunter 2 Amiga emulated version
Fixes the hold.key opcode being parsed incorrectly
2024-01-26 13:34:53 -08:00
sluicebox 663ea06fce 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-01-24 12:48:51 -08:00
sluicebox bc8550ce02 AGI: Allow message box to be drawn over menu
Fixes five Mixed-Up Mother Goose nursery rhymes. Bug #13820
2024-01-22 18:06:40 -07:00
sluicebox 8f2127e418 AGI: Cleanup graphics code 2024-01-22 17:32:46 -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 8c5b6c032e AGI: Rewrite logic decoding for clarity, OOB fixes 2024-01-22 17:32:45 -07:00
sluicebox c0433ab956 AGI: Remove unused unload code 2024-01-22 17:32:45 -07:00