Commit Graph

190 Commits

Author SHA1 Message Date
Johannes Schickel
6aac905dfd AGI: Make GPL headers consistent in themselves. 2014-02-18 02:39:32 +01:00
Filippos Karapetis
5fadff59f9 AGI: Fix bug #3600733 - "AGI FANMADE: function slowing down game"
We now only test for events in testKeypressed() without updating the
game cycle at all (NAGI doesn't update the game cycle either). This
fixes the slowdowns in some animations where have.key() is issued,
like Manannan's lightnings in the intro of KQ3 and the bullets in the
intro of PQ1
2013-05-11 17:09:59 +03:00
Filippos Karapetis
85ca13db4b AGI: Use the ScummVM dialogs for saving/loading
An option has been added to use the original ones, if needed
2012-03-27 00:21:50 +03:00
D G Turner
bbe686c507 AGI: Fix compilation on NDS, broken due to predictive text changes. 2012-03-26 01:09:15 +01:00
Oleksiy Kurochko
ec32ccb6d6 GUI: Move predictive dialog to common gui 2012-03-25 12:21:38 +03:00
Max Horn
215b41b244 COMMON: Move RenderMode and GUIOptions functionality into separate files 2012-02-26 15:19:31 +01:00
Tarek Soliman
921f602ab8 JANITORIAL: Fix whitespace in pointer template arg 2012-02-15 10:07:08 -06:00
Willem Jan Palenstijn
8c7cd344c7 AGI: Clean up predictive matching
Specifically:
* Don't enable the 'next' button in predictive mode when we don't have a
  full match. Doing this didn't make sense since you'd iterate over a
  seemingly arbitrary set of completions instead of all possible ones.
* Do only a single binary search.
* Fix the width of the mode button for mouse press detections.
2012-01-06 23:28:45 +01:00
Willem Jan Palenstijn
43e2fde7a9 AGI: Fix ignoring some exact matches in predictive input
The matcher now always tries an exact match before trying an inexact one.
Together with 41ba2433f, this fixes bug #3470080.
2012-01-06 11:22:06 +01:00
Max Horn
6310cce74e AGI: Remove two unused pure virtual methods
This avoid warnings, as these methods were being hidden by methods in subclasses
with differing signatures.
2011-12-12 17:17:49 +01:00
Willem Jan Palenstijn
bff2e73dc1 AGI: Fix style 2011-09-26 14:31:04 +02:00
Willem Jan Palenstijn
c442295b9f AGI: Clean up save/load String usage 2011-09-26 09:27:15 +02:00
Filippos Karapetis
2be8db90ee AGI: Fixed bug #3196882 - "KQ3: PCSpeaker affects render mode" 2011-09-26 05:23:42 +03:00
Filippos Karapetis
62c8d82560 AGI: Fixed the actual cause of bug #3295652, and partially fixed bug #3080415 2011-09-26 03:50:58 +03:00
Filippos Karapetis
81fdf2c103 AGI: Fixed bug #3074570 - "AGI LSL1: TAB stops working after restart"
Applied eriktorbjorn's patch from that bug tracker item (slightly
modified), which is what NAGI does, and which fixes restarting in LSL1
and PQ1 (bug #2823762), and other AGI games that do not reset the
controller keys when restarting.
2011-09-26 00:56:10 +03:00
Filippos Karapetis
bd6a05bdd4 AGI: Fix bug #3080041 - "AGI Mother Goose: White bar in intro" 2011-09-26 00:11:45 +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
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
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
09f937126e AGI: Fix and clarify IF expression handling 2011-08-13 23:27:13 +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
04353038ae AGI: Add loader and detection for Black Cauldron booter 2011-08-13 23:26:58 +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
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
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
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
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
Max Horn
477d6233c3 ENGINES: Change 2nd param of Engine::saveGameState to Common::String 2011-06-02 18:31:59 +02:00
Max Horn
39ab4a2dc4 AGI: Constify stuff 2011-05-18 13:06:33 +02:00
Max Horn
44b798d107 AGI: Unify RandomSource instantiation
This fixes a leak in PreAGI games (which never deleted their
RandomSource), ensures that PreAGI's RandomSource has a name (and hence
is registered with the event recorder) and even slightly simplifies the
AgiEngine destructor.
2011-05-17 12:17:27 +02: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
Ori Avtalion
cd6ee0589d JANITORIAL: Format forward declarations to follow convention 2011-04-28 12:20:34 +03:00
Max Horn
73f04118f3 COMMON: Rename Error to ErrorCode, introduce new Error class 2011-04-18 18:22:02 +02:00
Max Horn
2e095e25f2 ALL: centre -> center 2011-04-14 14:34:28 +02:00
Max Horn
84184aabc0 ALL: colour -> color 2011-04-14 14:12:35 +02:00
dhewg
69a026192e AGI: Kill the timer based counter
Using the timer mechanism for just a simple counter is not just
overkill, its also inaccurate. When using a call frequency of x,
and waiting for y callbacks, the passed time will not be x*y.
The problem amplifies on slower platforms and/or fair thread
schedulers.
Use absolute times instead. Most notably, the walking speed of
the avatar is now smooth on android, but probably on all other
handhelds we support too.
2011-03-05 11:00:37 +01:00
Max Horn
0a8189fd41 AGI: cleanup
svn-id: r55124
2011-01-05 13:04:08 +00: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
Max Horn
4ccce19876 ENGINES: Enhance namespace comments a bit
svn-id: r53484
2010-10-15 12:48:19 +00:00
Eugene Sandulenko
764eaa554c AGI: Fix some code analysis warnings (bug #3087825)
svn-id: r53470
2010-10-15 08:49:20 +00:00
Eugene Sandulenko
fcdb349fa2 AGI: Respect mute setting
svn-id: r52373
2010-08-25 07:41:14 +00:00
Filippos Karapetis
4304a414ab AGI: Removed the deprecated (and confusing) getGameId() function inside the AgiEngine class, and fixed a related bug, too
svn-id: r50607
2010-07-02 23:12:17 +00:00