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
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
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
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
Matthew Hoops
30d0010b9e
MOHAWK: Stub off xflies
2011-08-11 17:49:01 -04:00
Bertrand Augereau
b08b31eed3
DREAMWEB: 'setuptimedtemp' ported to C++
2011-08-11 22:01:53 +02:00
Matthew Hoops
bb3b1a2b75
MOHAWK: Error out on any unknown Riven stack variables
2011-08-11 13:14:04 -04:00
Matthew Hoops
1737190a71
MOHAWK: Implement the rest of the sunners code
2011-08-11 13:14:03 -04:00
Bertrand Augereau
2250c10ffe
DREAMWEB: 'dumptimedtext' ported to C++
2011-08-11 15:29:29 +02:00
Bertrand Augereau
701776a73a
DREAMWEB: 'multiget' and 'multiput' don't dirty segments anymore
2011-08-11 15:18:41 +02:00
Paul Gilbert
744f04bf50
TSAGE: Implemented new Globals for Blue Force, and beginnings of implementation of Scene 100 (Title Screen)
2011-08-11 22:05:44 +10:00
Paul Gilbert
c903411036
TSAGE: Added support for reverse palette fading
2011-08-11 22:03:57 +10:00
Bertrand Augereau
cea283644f
DREAMWEB: 'getreelstart' ported to C++
2011-08-11 13:29:33 +02:00
Alyssa Milburn
76a18b247b
COMPOSER: Stop kBitmapSpp32 writing off the end of the buffer.
...
This fixes corruption when there's only one pixel left to
decompress, but two pixels available in the compressed data.
Also, improve error checking in the bitmap decompression code.
2011-08-11 13:15:18 +02:00
Bertrand Augereau
a8c619d7ad
DREAMWEB: 'dealwithspecial' has a better signature
2011-08-11 12:33:33 +02:00
Bertrand Augereau
b6a8e2e98c
DREAMWEB: Misc cleanings in stubs.cpp
2011-08-11 12:26:30 +02:00
Bertrand Augereau
d5a184e2f0
DREAMWEB: 'showframe' takes a Frame
2011-08-11 03:30:41 +02:00
Bertrand Augereau
c2e9f01ae4
DREAMWEB: A stub has become useless
2011-08-11 03:23:22 +02:00
Bertrand Augereau
707c6ed01c
DREAMWEB: 'printslow' API improved
2011-08-11 03:19:51 +02:00
Bertrand Augereau
b701deed4f
DREAMWEB: Less ds pollution in 'printslow' and 'printdirect'
2011-08-11 02:30:25 +02:00
Bertrand Augereau
3e9773a858
DREAMWEB: Stricter typing in the printing subsystem
2011-08-11 02:27:41 +02:00
Strangerke
2739d8fa20
COMPOSER: Add detection for Dragor FR and Gregory FR
2011-08-10 21:23:33 +02:00
Bertrand Augereau
a710b32c61
DREAMWEB: Removed useless push/pops
2011-08-10 17:35:55 +02:00
Bertrand Augereau
80f712b5b9
DREAMWEB: 'multidump' doesn't dirty ds anymore
2011-08-10 17:34:41 +02:00
Bertrand Augereau
81a522e03e
DREAMWEB: Improvement of 'printslow' signature
2011-08-10 17:20:34 +02:00
Bertrand Augereau
78e337203d
DREAMWEB: Improvement of 'printdirect' signature and register usage
2011-08-10 17:12:26 +02:00
Bertrand Augereau
d8cbea02f9
DREAMWEB: Improvement of 'getnumber' signature
2011-08-10 17:03:02 +02:00
Bertrand Augereau
edbec1cccb
DREAMWEB: Improvement of 'printchar' signature
2011-08-10 16:54:23 +02:00
Matthew Hoops
a9345c0cc3
SCUMM: Remove unused soccer u32 code
2011-08-10 10:12:56 -04:00
Johannes Schickel
74560278b2
SCUMM: Change CMS sfx methods to use its own register set.
...
This is now like in the original and helps comparing register writes against
DOSBox's behavior.
2011-08-10 00:00:12 +02:00
Johannes Schickel
37a34e6da2
SCUMM: Do not pack structs in CMS code.
2011-08-10 00:00:06 +02:00
Bertrand Augereau
4ad8b54241
DREAMWEB: 'checkdest' ported to C++
2011-08-09 22:40:03 +02:00
Bertrand Augereau
3407f2803a
DREAMWEB: 'autosetwalk' ported to C++
2011-08-09 22:40:03 +02:00
Matthew Hoops
acb0a36b6e
Merge remote branch 'upstream/master' into soccer
2011-08-09 16:26:25 -04:00
Matthew Hoops
b087acd793
SCUMM: Fix bug in soccer u32 op_1014_sub3
2011-08-09 16:25:57 -04:00
Travis Howell
05c0c8e98b
SCUMM: Backyard Soccer 2004 uses a different INI setting to disable printing.
2011-08-09 11:46:50 +10:00
Matthew Hoops
677aa78370
Merge remote branch 'upstream/master' into soccer
2011-08-08 21:36:50 -04:00
Matthew Hoops
dbceb0a77d
SCUMM: Add some HE72 differences to mouse click handling
...
Backyard Soccer at least requires this to have input during gameplay.
2011-08-08 21:15:28 -04:00
Ori Avtalion
c3cfdd36a5
AGOS: Fix struct/class mismatch
2011-08-09 00:52:33 +03:00
Max Horn
529919e20b
SCI: Remove dead code
2011-08-08 20:33:42 +02:00
Max Horn
321c0ce027
TINSEL: Code formatting
2011-08-08 20:33:33 +02:00
Johannes Schickel
fdb2f735dc
SCUMM: Remove unneeded check for CMS in readSoundResource.
...
CMS support is only available in games using readSoundResourceSmallHeader.
2011-08-08 20:15:24 +02:00
Matthew Hoops
9c52724ce5
SCUMM: Fix another original soccer u32 difference
...
Soccer is slightly more playable, but clicking does nothing most of the time.
2011-08-08 00:59:09 -04:00
Travis Howell
99d5087918
SCUMM: Set default Benchmark speed in Moonbase Commander, based on the original Moonbase.ini.
2011-08-08 14:46:12 +10:00
Travis Howell
c87ff89b4a
SCUMM: Update stub in arrayOps for Moonbase Commander.
2011-08-08 13:50:47 +10:00
Travis Howell
905e9bc3ed
SCUMM: Add sprite code difference in Moonbase Commander.
2011-08-08 11:41:06 +10:00
Matthew Hoops
c05c42ecc6
Merge remote branch 'upstream/master' into soccer
2011-08-07 20:11:27 -04:00
Travis Howell
45dc303159
SCUMM: Fix endian issue in captureWizPolygon.
2011-08-08 09:48:31 +10:00
Bastien Bouclet
2345228643
MOHAWK: Add specific cursor handling for Myst demo
2011-08-07 16:54:20 +02:00
Bastien Bouclet
216d3c5cef
MOHAWK: Leaving from the slides should go to the information screens in Myst Demo.
2011-08-07 16:54:20 +02:00
Bastien Bouclet
b15ad58f11
MOHAWK: Disable zip mode in Myst demo
2011-08-07 16:54:19 +02:00
Johannes Schickel
acffd12d07
SCUMM: Further clean up of the CMS code.
2011-08-07 16:49:25 +02:00
Johannes Schickel
26b6fd5930
SCUMM: Clean up CMS code some more.
2011-08-07 16:15:46 +02:00
Johannes Schickel
88354bed23
SCUMM: Mark some overwritten methods as virtual.
2011-08-07 15:58:27 +02:00
Johannes Schickel
6bd9cd33d9
SCUMM: Cleanup CMS code a bit.
2011-08-07 15:56:49 +02:00
Christoph Mallon
e35b4f20c1
GRAPHICS: Simplify the interface of Graphics::loadThumbnail().
...
Now it returns the Surface, so the caller does not need to create one and pass it.
2011-08-07 15:19:09 +02:00
Christoph Mallon
b4b6ce0954
ALL: Use Graphics::skipThumbnail() where appropriate.
2011-08-07 15:19:09 +02:00
Christoph Mallon
3ee307e6b3
KYRA: Simplify initializing a buffer with a string.
2011-08-07 15:19:08 +02:00
Christoph Mallon
ab80b20a30
COMMON: Replace x + ARRAYSIZE(x) by the simpler ARRAYEND(x).
2011-08-07 15:19:08 +02:00
Christoph Mallon
a5a8833c05
COMMON: Add DisposablePtr<T>, which replaces many repeated implementations of a dispose flag.
2011-08-07 15:19:08 +02:00
Christoph Mallon
a5675c3dbe
TEENAGENT: Pass streams as references.
2011-08-07 15:19:08 +02:00
Christoph Mallon
0e6751372a
SCI: Simplify allocation of ResourceManager.
2011-08-07 15:19:08 +02:00
Christoph Mallon
f3afb32ee6
SCI: Remove unnecessary cast.
2011-08-07 15:19:08 +02:00
Christoph Mallon
5f4d83c38d
AGOS: Correct off-by-one error in range check for setting the debug level.
2011-08-07 15:19:07 +02:00
Christoph Mallon
0a458019b3
AGOS: Replace if-cascade by switch.
2011-08-07 15:19:07 +02:00
Christoph Mallon
715c07930d
CRUISE: Replace casts and offset calculations for memory debugger by a simple struct.
2011-08-07 15:19:07 +02:00
Christoph Mallon
08ad90edf6
TSAGE: Reduce scope of variable.
2011-08-07 15:19:07 +02:00
Paul Gilbert
680ef79726
TSAGE: Implemented title screen of Blue Force
2011-08-07 23:14:09 +10:00
Filippos Karapetis
e95bc9d7b0
SWORD25: Make sure that id is always initialized in playSoundEx()
2011-08-07 16:05:54 +03:00
Filippos Karapetis
5974fcd0c1
TINSEL: Use SAVEGAME_ID when getting savegame info, if a VM is instantiated
2011-08-07 15:10:17 +03:00
Christoph Mallon
23a0f5318c
JANITORIAL: Remove trailing empty lines.
2011-08-07 13:53:33 +02:00
Christoph Mallon
bf580e6e6b
JANITORIAL: Add missing NL at EOF.
2011-08-07 13:53:33 +02:00
Filippos Karapetis
2c9fdf0df7
TINSEL: Fixed deleting saved games from the launcher (bug #3387551 )
2011-08-07 14:21:28 +03:00
Tarek Soliman
47f0ce2fa7
TSAGE: Flag Blue Force with ADGF_UNSTABLE
2011-08-06 23:34:44 -05:00
Tarek Soliman
2c3b7392b8
TSAGE: Flag CD titles with ADGF_CD
2011-08-06 23:33:23 -05:00
Tarek Soliman
a30c3697fb
TINSEL: Flag CD titles with ADGF_CD
2011-08-06 23:33:15 -05:00
Tarek Soliman
40f765850f
SAGA: Flag CD titles with ADGF_CD
2011-08-06 23:33:04 -05:00
Tarek Soliman
45fa59598e
MADE: Flag CD titles with ADGF_CD
2011-08-06 23:32:52 -05:00
Tarek Soliman
79efb47cf6
AGOS: Flag CD titles with ADGF_CD
2011-08-06 23:32:37 -05:00
Paul Gilbert
622f8a166c
TSAGE: Changed game Id from 'ring' to 'ringworld'
...
This should help avoid name conflicts in the future with the Ring engine
2011-08-07 11:07:02 +10:00
Matthew Hoops
e43a6671fc
SCUMM: Fix some soccer u32 code in op_1011
...
Spotted by fuzzie
2011-08-06 15:54:11 -04:00
Littleboy
e978a6afb7
ENGINES: Use the new taskbar error notification methods in the engines defaultErrorHandler()
2011-08-06 15:27:43 -04:00
Matthew Hoops
605473d117
SCUMM: Add a few more notes to soccer u32 code
2011-08-06 13:08:56 -04:00
Matthew Hoops
6528f902fc
SCUMM: Remove soccer editor-related u32 code
...
The built-in editor, while could potentially be a cool feature, seems incomplete and unusable. Room 4 (the editor room) in all three games is not accessible without jumping to it.
2011-08-06 13:02:43 -04:00
Alyssa Milburn
72160f53aa
TSAGE: Remove incorrect endian-specific read in audio code.
2011-08-06 17:57:34 +02:00
Bastien Bouclet
3384f9146c
KYRA: Don't loose the next event when leaving the text input event loop.
2011-08-06 15:48:12 +02:00
Eugene Sandulenko
192b245d51
SCUMM: Fix compilation
2011-08-06 11:39:37 +01:00
Eugene Sandulenko
54f5383356
TASKBAR: Set taskbar to error on engine error()
2011-08-06 11:30:49 +01:00
Eugene Sandulenko
0dafa7f80f
ALL: Reduce audio/ header dependency
2011-08-06 11:30:42 +01:00
Eugene Sandulenko
6e795a89b0
AGOS: Reduced header dependency
2011-08-06 11:28:40 +01:00
Eugene Sandulenko
43c7b10566
LASTEXPRESS: Reduce header dependency
2011-08-06 11:28:37 +01:00
Eugene Sandulenko
78f1ea7690
OSYSTEM: extended installTimerProc() with timer ID parameter
2011-08-06 11:28:35 +01:00
Eugene Sandulenko
e72c2fae88
COMPOSER: Added detection entries for 2 more games
2011-08-06 11:28:32 +01:00
Eugene Sandulenko
c451ae639f
SCUMM: Proper fix of Russian subtitles
...
Initial fix in 11a17b3
(r51211) led to chopped inventory items.
No idea why it does not work with our code, as it seems to match
the disassembly. Thus implementing this hackish workaround.
2011-08-06 11:28:30 +01:00
Paul Gilbert
4c89f4ac22
TSAGE: Fix compilation on AmigaOS4
2011-08-06 17:48:37 +10:00
Johannes Schickel
68b4873559
SCUMM: Properly reset midi channel voice mapping in CMS on new track.
...
This fixes an ugly dead lock in some cases.
2011-08-06 03:45:40 +02:00
Johannes Schickel
70a694ce43
SCUMM: Remove unneeded members in CMS class.
2011-08-06 03:28:42 +02:00
Johannes Schickel
018e304916
SCUMM: Slight cleanup in CMS code.
2011-08-06 03:28:42 +02:00
Johannes Schickel
5a0eb6ba60
SCUMM: Fix some valgrind warnings in CMS code.
2011-08-06 03:28:42 +02:00
Matthew Hoops
ed2563bf35
SCUMM: Mark pass as having CMS support
2011-08-05 18:03:42 -04:00
Matthew Hoops
836f3fa052
SCUMM: Mark monkey1 VGA floppy as having CMS support
2011-08-05 17:29:30 -04:00
Matthew Hoops
a63aaec46b
SCUMM: Mark Indy3 VGA as having CMS support
2011-08-05 17:15:23 -04:00
Johannes Schickel
b86de198a0
SCUMM: Fix up CMS player implementation.
...
It's much better now and hopefully quite close to the original when it comes
to the music part. The intro music of Loom and Monkey Island 1 EGA sounds fine
to me now at least.
2011-08-05 22:58:50 +02:00
Matthew Hoops
bf841e1e94
SCUMM: Fix a few more bugs in soccer u32 op_1014_sub1
...
Thanks to fuzzie
2011-08-05 13:03:08 -04:00
Matthew Hoops
68f07efa95
SCUMM: Fix another typo in soccer u32 op_1014_sub1
2011-08-05 11:46:21 -04:00
Matthew Hoops
2b92f6df0f
SCUMM: Fix minor logic bug in soccer u32 op_1014
...
Spotted by fuzzie
2011-08-05 11:29:06 -04:00
Matthew Hoops
3b3ab9a502
SCUMM: Add note to soccer u32 op_1011 about cursor scaling
2011-08-05 09:23:18 -04:00
Paul Gilbert
75ca55eaec
TSAGE: Updated Ringworld detection entries to ADGF_TESTING
2011-08-05 19:03:12 +10:00
Alyssa Milburn
62a22b6293
COMPOSER: Fix a warning and an uninitialized value.
2011-08-04 21:50:17 +02:00
Matthew Hoops
51fc76acd4
SCUMM: Add notes on the unused soccer u32 opcodes
...
Might be nice to implement the soccer editor one day in the future, but it's definitely a secondary goal. In fact, I'm not even sure how to access it yet other than jumping to the room (4).
2011-08-04 11:02:11 -04:00
Paul Gilbert
7356b83faf
M4: Fix identified assert calls that had file reads inside them
2011-08-04 22:37:30 +10:00
Bertrand Augereau
baa109f058
DREAMWEB: Less register usage in misc. places
2011-08-04 11:13:59 +02:00
Bertrand Augereau
5bf9c42c45
DREAMWEB: Deprecated functions suppressed
2011-08-04 11:07:02 +02:00
Bertrand Augereau
a3c8c1334b
DREAMWEB: Helper function to acquire a temporary segment ref to avoid ds and es pollution
2011-08-04 11:03:08 +02:00
Bertrand Augereau
3427d07de0
DREAMWEB: 'doblocks' ported to C++
2011-08-04 10:45:43 +02:00
Paul Gilbert
5f2402bd36
TSAGE: Fix incorrect sample data being used in _soPlaySound2.
...
This fixes the playback of the Intruder Alert message in Scene #95 .
2011-08-04 08:35:24 +10:00
Bertrand Augereau
8ee7ed1066
DREAMWEB: Less register usage in 'plotreel'
2011-08-03 18:39:24 +02:00
Matthew Hoops
2ea594de83
SCUMM: Fix shadows in soccer
...
Spotted by fuzzie
2011-08-03 11:57:18 -04:00