Commit Graph
147 Commits
Author SHA1 Message Date
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 d2f9087f20 AGI: Fix warning messages about undefined opcodes 2011-08-13 23:27:20 +01:00
Jussi Pitkanen 2289ba88b6 AGI: Rename cmd_what_ever to cmdWhatEver 2011-08-13 23:27:15 +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 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 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
Matthew Hoops eea482fa43 ALL: behaviour -> behavior 2011-05-25 10:50:46 -04:00
strangerke 69b1485a22 GIT: Clean up: Suppress SVN tags, now useless 2011-05-12 01:16:22 +02:00
Ori Avtalion 9414d7a6e2 JANITORIAL: Reduce header dependencies in shared code
Some backends may break as I only compiled SDL
2011-04-28 15:08:58 +03:00
Max Horn 7c2323bdc3 AGI: Replace report() macro by debug() / warning()
This makes AGI quite a bit less noisy by default.

svn-id: r53868
2010-10-26 22:33:49 +00:00
Torbjörn Andersson 4543855eca AGI: Fix bug in cmd_cancel_line()
We have to update cursor position, not just terminate the input
buffer. This makes Ctrl-C work as intended, which fixes one half of
bug #3054184 ("SQ1 AGI: keyboard special keys are not functioning
properly"). I'm not sure if the second half actually is a bug. 

svn-id: r52899
2010-09-26 11:20:55 +00:00
Eugene Sandulenko aea09cb3a0 AGI: Fix spelling and formatting
svn-id: r51310
2010-07-26 14:21:18 +00:00
Johannes Schickel e75eee21e3 Use "true" instead of "1" in if statements to make clang a bit more happier with -Werror.
svn-id: r50943
2010-07-16 21:50:12 +00:00
Max Horn e7da62763e AGI: Turn timerHack and curLogic into AgiEngine members; get rid of some #defines
svn-id: r50125
2010-06-21 21:33:22 +00:00
Max Horn df569a6c82 AGI: Change AGI commands/opcodes to member methods
svn-id: r50124
2010-06-21 21:32:56 +00:00
Max Horn da28fde4c6 AGI: Change some #defines to enums
svn-id: r50033
2010-06-18 22:07:32 +00:00
Eugene Sandulenko 88421532aa AGI: Implemented immediate update for most of gfx to match original.
This fixes many subtle effects as in many cases there were no
special pausing and engine relied only on the slowliness of the
machine.

svn-id: r49745
2010-06-15 10:32:25 +00:00
Eugene Sandulenko ffc390e64c AGI: Fix bug #1945716.
Bug #1945716: "AGI: Fan(Kings Quest 2 1/4) - Sprite not erased".
Added a workaround, since it is design flaw of our rendering
system.

svn-id: r49742
2010-06-15 10:31:18 +00:00
Eugene Sandulenko 7034d071b6 AGI: proper fix for sprite leftover-related bugs. Removed workarounds.
svn-id: r49741
2010-06-15 10:30:54 +00:00
Eugene Sandulenko 295edafdc4 AGI: improve script-related debug output.
svn-id: r49740
2010-06-15 10:30:26 +00:00
Max Horn d78dba3bca COMMON: Move Common::RandomSource to common/random.*
svn-id: r48279
2010-03-18 15:07:11 +00:00
Eugene Sandulenko 8ad5694cb1 Reduce header dependencies for AGI engine.
svn-id: r46942
2010-01-03 20:15:44 +00:00
Max Horn 50435d6bae AGI: Turn g_tickTimer & g_mouse into members of class AgiEngine resp. AgiBase
svn-id: r45259
2009-10-20 11:13:00 +00:00
Max Horn 03953bf292 AGI: Remove some global vars
svn-id: r45255
2009-10-19 22:51:37 +00:00
Eugene Sandulenko 0d4fc81698 Fix bug #2838551: "PSP: AGI games are unbearably slow"
svn-id: r43452
2009-08-16 19:48:13 +00:00
Kari Salminen 9a2785bc3b Partially fix automatic restarting of AGI games (Addresses bug #2798797 ('AGI: larry 1 doesn't restart after dying') but doesn't fully fix it. There seems to be more to the problem still. Automatic restarting after dying of an STD doesn't take away the STD-condition and Larry continues to die in a loop).
svn-id: r42482
2009-07-14 15:02:17 +00:00
Eugene Sandulenko 8bcdd8d7f6 Run AGIMOUSE hack as a side effect always
svn-id: r41536
2009-06-15 07:06:52 +00:00
Eugene Sandulenko 0057d9b9b2 Add guard check to set.key opcode.
svn-id: r41260
2009-06-06 17:48:30 +00:00
Eugene Sandulenko ea3373708c Correct implementation for set.key opcode. Fixes #2605104: "AGI: Manhunter, F3 hotkey dosent work", removed number of hacks
svn-id: r41259
2009-06-06 17:48:09 +00:00
Eugene Sandulenko d6a4dbeb1d Implement fence.mouse opcode
svn-id: r41258
2009-06-06 17:47:29 +00:00
Eugene Sandulenko 8792628a46 Implement hide.mouse and show.mouse opcodes
svn-id: r41257
2009-06-06 17:46:55 +00:00
Eugene Sandulenko 9ff714a2db Implement allow.menu opcode
svn-id: r41256
2009-06-06 17:46:38 +00:00
Eugene Sandulenko c393144b19 Implement hold.key and release.key opcodes
svn-id: r41255
2009-06-06 17:46:19 +00:00
Eugene Sandulenko 1a321a2064 Cleanup
svn-id: r41254
2009-06-06 17:45:52 +00:00
Eugene Sandulenko 2113060c43 Implement cancel.line. Consider obj.status.f implemented
svn-id: r41253
2009-06-06 17:45:06 +00:00
Eugene Sandulenko ed797c0709 Implement debug commands "room" and "bt"
svn-id: r41249
2009-06-06 17:43:26 +00:00
Eugene Sandulenko a5d762c029 Fix bug #1745954: "GR: Intro "jumpy" in parts (Amiga version)"
svn-id: r41244
2009-06-06 17:41:29 +00:00
Eugene Sandulenko 26d8b2bb72 Fix bug #2721940: "AGI: Gold Rush! Restart Option differs from original"
svn-id: r41243
2009-06-06 17:40:56 +00:00
Eugene Sandulenko a7049e5b3d Fix implementation of prevent.input. This fixes SQ2 intro
svn-id: r41241
2009-06-06 17:40:09 +00:00
Eugene Sandulenko 93d62da652 Whitespace fixes and C++ comments
svn-id: r41239
2009-06-06 17:39:13 +00:00
Filippos Karapetis 0015657caa Fix for bug #2541237 - "AGI: Restart quits ScummVM"
svn-id: r36279
2009-02-12 15:13:52 +00:00
Eugene Sandulenko c31a0f7089 Fix bug #1942471: "AGI: Fan(Get Outta SQ): No Word wrapping"
svn-id: r35767
2009-01-07 13:27:58 +00:00
Torbjörn Andersson 9a9c1a40d9 Added a few more shouldQuit() checks. It's now possible to quit while, for
instance, Leisure Suit Larry is waiting for you to enter your age.

svn-id: r35761
2009-01-06 23:29:58 +00:00
Max Horn 9b160804ab Renamed Engine::quit to Engine::shouldQuit (previously, it was easily confused with Engine::quitGame); also cleaned up engine.h a bit
svn-id: r34700
2008-09-30 12:27:38 +00:00
Christopher Page 30b1a62e81 Removed unnecessary #inlcudes
svn-id: r32984
2008-07-10 05:15:19 +00:00
Christopher Page e808cdf7a0 Reimplemented pushEvent() and artificialEventQueue to work with Events instead of EventTypes. Reimplemented Queue as a List instead of Array. Updated AGOS, AGI, CINE, GOB, and KYRA to work with the current implementation of the GMM
svn-id: r32971
2008-07-09 02:27:05 +00:00
Christopher Page 61d25a912e Agi works with the new GMM implementation
svn-id: r32953
2008-07-07 23:24:12 +00:00
Christopher Page f878820bbe Created Global Main Menu Dialog. Made a uniform _quit flag for engines. So far agi, agos, and cine are now using the new _quit flag.
svn-id: r32770
2008-06-24 21:15:30 +00:00