Filippos Karapetis
453fab3de1
SCI: Added a workaround for bug #3295652 - "AGI: (Fan) SQ0: Animation overdraws some of the text window" and removed some duplicate code
2011-09-25 21:27:12 +03:00
Filippos Karapetis
0e4b35a8e8
AGI: Switched to Common::String in the save/load code
2011-09-25 21:25:25 +03:00
Filippos Karapetis
c8777b774f
AGI: Rewrite getSavegameFilename() so that it doesn't try to return a pointer to a local variable
2011-09-25 19:33:01 +03:00
Filippos Karapetis
b56c5cc370
AGI: Fixed EOF in text.cpp
2011-09-25 18:47:17 +03:00
Filippos Karapetis
bc3c68c508
AGI: Fixed bug #3292784 - "AGI: SQ2: Name forgotten after game restart"
...
The string buffer should not be cleared on game restart, as game scripts
depend on it being maintained unchanged during restart.
2011-09-25 18:39:22 +03:00
Filippos Karapetis
0779018484
AGI: Bugfix for script bug #3116541 - "AGI FAN Beyond the Titanic 2: Crash on Item Viewing"
2011-09-25 18:37:37 +03:00
Filippos Karapetis
c02603fce2
AGI: Replaced odd usage of sprintf() with strcpy()
...
Fixes an odd bug with savegame names being truncated in MSVC
2011-09-25 18:36:33 +03:00
Filippos Karapetis
18a0214672
AGI: Resolved an old FIXME concerning OOB access
2011-09-25 18:35:37 +03:00
Filippos Karapetis
a1c4aa6d89
AGI: Fixed typo in restart dialog
2011-09-25 18:34:35 +03:00
Filippos Karapetis
85213cdb32
AGI: Cleanup of some detection entries
2011-09-25 18:15:30 +03:00
Filippos Karapetis
cfa262b1b7
AGI: Add some comments regarding save slot 0, and use the default SaveStateDescriptor constructor
2011-09-25 15:10:43 +03:00
Filippos Karapetis
d01d228ee8
AGI/COMMON: Fixed bug #3407308 - "AGI: SQ2: Saving allowed in autosave slot 0 from scummvmmenu"
...
The save/load dialog code was not polling for meta info for empty slots
2011-09-25 15:03:02 +03:00
Eugene Sandulenko
4e83a49b0f
AGI: Fix bug #3398171 : AGI: SQ1/SQ2: problem entering name
...
Was introduced during refactoring to SCI-like opcode handling.
Also restored original comments about opcode parameter differences
between AGI versions.
2011-08-27 23:43:46 +01:00
Matthew Hoops
6f83052b40
AGI: Cleanup PreAGI console code
2011-08-15 22:24:42 -04:00
Matthew Hoops
62aabc57e4
AGI: Reorganize the PreAGI code a bit
2011-08-15 11:55:03 -04:00
Matthew Hoops
6a9d4b3e5b
AGI: Make Troll inherit from PreAgiEngine
2011-08-15 11:55:03 -04:00
Matthew Hoops
cb43e9694b
AGI: Make Mickey inherit from PreAgiEngine
2011-08-15 11:55:03 -04:00
Matthew Hoops
fcd0cda9a9
AGI: Make Winnie inherit from PreAgiEngine
2011-08-15 11:55:01 -04:00
Eugene Sandulenko
b83cf61bfb
Checked V1 instructions till 0x42
2011-08-14 21:40:07 +01:00
Eugene Sandulenko
273e37f726
AGI: Renamed some #defines to our code conventions and moved them to enums
2011-08-14 18:48:59 +01:00
Matthew Hoops
40f40303ef
AGI: Enable sound support for Winnie DOS
2011-08-14 13:14:37 -04:00
Matthew Hoops
de6390dddb
AGI: Make the sound code use AgiBase instead of AgiEngine
...
In preparation of using the sound code with Winnie
2011-08-14 13:10:43 -04:00
Eugene Sandulenko
46354d5772
AGI: Switched booters detection to AD
2011-08-13 23:27:34 +01:00
Eugene Sandulenko
3cb41b5dfc
AGI: Checked V1 instructions till 0x2c
2011-08-13 23:27:32 +01:00
Eugene Sandulenko
be9c5c0427
AGI: Checked V1 instructions till 0x20
2011-08-13 23:27:29 +01:00
Eugene Sandulenko
3fb50b815e
AGI: Further work on v1 opcode difference
2011-08-13 23:27:27 +01:00
Jussi Pitkanen
af691e46c4
AGI: Updates to V1 instruction table, plus an outcommented experiment
...
The experiment tries to implement the program control of the V1 interpreter.
Maybe it is better to add another method for doing that once the workings of
it are more clear.
2011-08-13 23:27:24 +01:00
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