Commit Graph
86814 Commits
Author SHA1 Message Date
Jussi Pitkanen 1dbe5bfccf AGI: Implement loader for V1 "object" file 2011-08-13 23:27:22 +01:00
Jussi Pitkanen d2f9087f20 AGI: Fix warning messages about undefined opcodes 2011-08-13 23:27:20 +01:00
Jussi Pitkanen e4a1193d22 AGI: Add last undefined V1 test command that tests if a bit of var is set
Also fix skipInstruction() for V1.
2011-08-13 23:27:17 +01:00
Jussi Pitkanen 2289ba88b6 AGI: Rename cmd_what_ever to cmdWhatEver 2011-08-13 23:27:15 +01:00
Jussi Pitkanen 09f937126e AGI: Fix and clarify IF expression handling 2011-08-13 23:27:13 +01:00
Jussi Pitkanen 9bc25749d6 AGI: Implement V1 SAID test commands
Yes, V1 has three versions of SAID, for one, two and three arguments.

Also add a few corrections to V1 instruction tables.
2011-08-13 23:27:10 +01:00
Jussi Pitkanen d02251fa4d AGI: Formatting (+ a few debug prints) 2011-08-13 23:27:08 +01:00
Jussi Pitkanen 368a3722a3 AGI: Implement loader for V1 words.tok dictionary 2011-08-13 23:27:05 +01:00
Jussi Pitkanen c731f1f48c AGI: Implement common internal dictionary for different words.tok formats
Preparations for V1 words.tok support.
2011-08-13 23:27:03 +01:00
Jussi Pitkanen 0b6b670803 AGI: Add still incomplete V1 instruction tables 2011-08-13 23:27:00 +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 41dccce00c AGI: Execute test commands only when needed 2011-08-13 23:26:53 +01:00
Jussi Pitkanen a4e0cd53f0 AGI: Refactor interpreter core (somewhat akin to SCI)
* Instruction tables are now defined in opcodes.{cpp,h}.

* Move opcode handlers from Agi::AgiEngine to Agi
* Opcode handlers take as parameter a pointer to AGI state (AgiGame)
2011-08-13 23:26:51 +01:00
Jussi Pitkanen e1153cf11f AGI: Comment cleanup 2011-08-13 23:26:48 +01:00
Jussi Pitkanen eb797b692f AGI: Simplify handling of IF conditions
Execute all test commands in a condition even when not strictly needed.
2011-08-13 23:26:46 +01:00
Jussi Pitkanen 7a80c4cdb3 AGI: Fix row duration in V1 SOUND resource player 2011-08-13 23:26:44 +01:00
Jussi Pitkanen 1507fe4e79 AGI: Fix detection of IIgs sample resources 2011-08-13 23:26:41 +01:00
Jussi Pitkanen d8e1b392d2 AGI: Use a jump table for test commands instead of switch/case
Preparations for V1 support.
2011-08-13 23:26:39 +01:00
Jussi Pitkanen 24bb5da228 AGI: Add a layer of abstraction between the sound chip and the two players 2011-08-13 23:26:36 +01:00
Jussi Pitkanen 8183103777 AGI: Simplify sector offset calculation 2011-08-13 23:26:34 +01:00
Jussi Pitkanen 7405140474 AGI: Cleanup 2011-08-13 23:26:32 +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 1f680ecbc8 AGI: Detect the end of V1 sound resources correctly, fixing crashes 2011-08-13 23:26:27 +01:00
Jussi Pitkanen 010315dc0c AGI: Implement resource loader for the DDP booter game 2011-08-13 23:26:24 +01:00
Jussi Pitkanen 3fd26de379 AGI: Detect the bootable floppy version of Donald Duck's Playground
Also create a framework into which more booter games can be added.
2011-08-13 23:26:22 +01:00
Jussi Pitkanen ab784944ea AGI: Implement note fetch routine for AGI v2.001 sound resources
I suspect this is the format for AGI V1 sound resources as well. It is
currently implemented by splitting getNextNote() to getNextNote_v2() and
getNextNote_v1(). Since the V1 format consists of simple register values
to the sound chip in PCjr, this could probably be made more cleanly by
refactoring the code to resemble the chip more closely, so that its state
is updated by writing to the registers.
2011-08-13 23:26:19 +01:00
Alyssa Milburn a6acf42e74 COMPOSER: Support reading V1 buttons. 2011-08-13 22:15:23 +02:00
Alyssa Milburn bdc24b6565 COMPOSER: Split out filename mangling into a separate function. 2011-08-13 22:11:27 +02:00
Alyssa Milburn c3339c15fa COMPOSER: Tweak button z-ordering slightly.
This fixes agreeing to make ice cream sundaes in Gregory.
2011-08-13 22:08:42 +02: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
Bastien Bouclet 0bbd43eb32 MOHAWK: Implement Myst demo opcodes 298 and 299, sneak preview speech. 2011-08-13 20:22:27 +02:00
Ori Avtalion 0e8840568b README: Make 'Hotkeys' title consistent with ToC 2011-08-13 20:41:16 +03:00
Paul Gilbert 2dbd858186 TSAGE: Fix crash when exiting whilst a palette rotation is active 2011-08-13 21:14:48 +10:00
Paul Gilbert 2a69bcbeba CGE: Fix backslashes in module.mk 2011-08-13 19:56:43 +10:00
Paul Gilbert e9c8232da8 TSAGE: Split up the hard-coded logic files for Ringworld and Blue Force into separate sub-folderes 2011-08-13 19:49:54 +10:00
Strangerke 1d3f1830c8 CGE: Remove useless functions related to data file creation (unused) 2011-08-13 10:17:41 +02:00
Paul Gilbert 177da650dd CGE: Fix loading of vol.cat file to be endian safe 2011-08-13 18:06:09 +10:00
Strangerke b02e34cade CGE: Implement sayTime() 2011-08-13 09:33:39 +02:00
Strangerke 58229750cc CGE: silent valgrind warnings 2011-08-13 09:16:15 +02:00
Paul Gilbert ef7a17a64a CGE: Fix for HLINE not being available for demo
The HorizLine class is really only used for on-screen debugging information anyway, so it's not a problem.
2011-08-13 16:44:48 +10:00
Paul Gilbert 161a39e9fe CGE: Got rid of stub warnings for things that don't need to be implemented in ScummVM 2011-08-13 11:04:10 +10:00
Matthew Hoops c109a60a92 SCUMM: Implement basic basketball court data parsing 2011-08-12 16:41:48 -04:00
Alyssa Milburn b631104fd0 COMPOSER: Catch up with animations if we're starved of CPU time. 2011-08-12 21:16:47 +02:00
Alyssa Milburn d13b967376 MOHAWK: Yet more LB detection entries. 2011-08-12 21:11:39 +02:00
Alyssa Milburn 5d416e7903 COMPOSER: Don't ignore setCursorVisible when there's no cursor yet. 2011-08-12 20:58:08 +02:00
Strangerke 6af5fffd36 CGE: Cleanup: remove useless classes 2011-08-12 19:11:17 +02:00
Matthew Hoops 26befa4b40 SCUMM: Implement basketball u32 op 1012
The game no longer divides by zero when starting a match and the court is now visible.
2011-08-12 09:29:37 -04:00
Paul Gilbert 91fdecbf68 CGE: Properly implemented MIDI music playback 2011-08-12 23:10:30 +10:00
Paul Gilbert b76c0af2f4 CGE: Work on implementing MIDI music playback.
Music playback is now sort of working, but it seems like only a beat track of the MIDI is getting played
2011-08-12 21:33:45 +10:00