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