Commit Graph

68 Commits

Author SHA1 Message Date
Martin Kiewitz
14f338e2dd AGI: Revert revert the keyboard handling changes
It seems the issues on AmigaOS aren't actually caused by the new
code. Reverting the revert.
2016-02-01 15:02:52 +01:00
Martin Kiewitz
83ad64f947 AGI: Keyboard handling change
It seems the current code causes issues on at least AmigaOS.
Changed current code to the way SCI handled it.
Needs to get investigated in detail.
Added FIXME. Also see engines/sci/event.cpp
2016-02-01 02:17:47 +01:00
Martin Kiewitz
c28e101cdb AGI: implement predictive dialog 2016-02-01 01:34:36 +01:00
Martin Kiewitz
fd9c46831d AGI: remove timer hack, implement in game timer
in game timer is now updated, when scripts read in game timer
VM variables and during main loop. ScummVM total play time feature
is used for it. Game cycle syncing is done at the same time.
2016-01-31 20:53:36 +01:00
Martin Kiewitz
4bc01ab7d5 AGI: getflag/setflag/etc. cleanup
renamed getflag() to getFlag()
renamed setflag() to setFlag()
renamed flipflag() to flipFlag()
preagi: renamed setFlag for this engine to setWinnieFlag
2016-01-31 17:56:53 +01:00
Martin Kiewitz
82b958f274 AGI: VM Var code cleanup
Don't access variables directly, but through method
Shouldn't include any functional differences
Also changed several hardcoded values to the corresponding enums.
2016-01-31 17:35:13 +01:00
Martin Kiewitz
83495eab28 AGI: change key -> direction handling
After the VM Var 6 <-> ego direction change, this is required
Also our original behavior was inaccurate in that part as well.
2016-01-31 01:52:00 +01:00
Martin Kiewitz
72f0d012c6 AGI: fix keyboard input code for keycodes
Reset key, when no valid .ascii was received.
2016-01-30 02:43:08 +01:00
Martin Kiewitz
e8791ac979 AGI: add hack to make numpad cursor keys work
should probably get fixed at some point in backend
2016-01-29 22:49:24 +01:00
Martin Kiewitz
8a595e7771 AGI: graphics rewrite + cleanup
- graphics code fully rewritten
- Apple IIgs font support
- Amiga Topaz support
- Word parser rewritten
- menu code rewritten
- removed forced 2 second delay on all room changes
  replaced with heuristic to detect situations, where it's required
- lots of naming cleanup
- new console commands show_map, screenobj, vmvars and vmflags
- all sorts of hacks/workarounds removed
- added SCI wait mouse cursor
- added Apple IIgs mouse cursor
- added Atari ST mouse cursor
- added Amiga/Apple IIgs transition
- added Atari ST transition
- user can select another render mode and
  use Apple IIgs palette + transition for PC versions
- inventory screen rewritten
- SetSimple command now properly implemented
- PreAGI Mickey: Sierra logo now shown
- saved games: now saving controller key mapping
  also saving automatic save data (SetSimple command)
- fixed invalid memory access when saving games (31 bytes were saved
  using Common::String c_ptr()

Special Thanks to:
- fuzzie for helping out with the Apple IIgs font + valgrind
- eriktorbjorn for helping out with valgrind
- LordHoto for figuring out the code, that caused invalid memory
  access in the original code, when saving a game
- sev for help out with reversing the Amiga transition

currently missing:
- mouse support for menu
- mouse support for system dialogs
- predictive dialog support
2016-01-29 13:22:22 +01:00
Johannes Schickel
6aac905dfd AGI: Make GPL headers consistent in themselves. 2014-02-18 02:39:32 +01:00
Oleksiy Kurochko
ec32ccb6d6 GUI: Move predictive dialog to common gui 2012-03-25 12:21:38 +03:00
Filippos Karapetis
5dbb51db6d AGI: Marked 4070342 as a workaround 2011-09-26 04:29:41 +03:00
Filippos Karapetis
40703426c9 AGI: Fix for bug #3018770 - "AGI: PQ1: Flickering newspaper" 2011-09-26 04:23:03 +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
Eugene Sandulenko
273e37f726 AGI: Renamed some #defines to our code conventions and moved them to enums 2011-08-14 18:48:59 +01:00
strangerke
69b1485a22 GIT: Clean up: Suppress SVN tags, now useless 2011-05-12 01:16:22 +02:00
Eugene Sandulenko
52c05acd95 AGI: Fix bug #3087825: AGI: Code analysis warnings 2011-04-24 12:28:22 +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
Max Horn
651e2760a3 Fix spelling, cleanup
svn-id: r49843
2010-06-15 12:33:20 +00:00
Eugene Sandulenko
81870dba58 AGI: Fix bug #2825273.
Bug #2825273: "AGI: KQ4: Dwarf sequence". Always allow ESC to work
in KQ4.

svn-id: r49746
2010-06-15 10:32:44 +00:00
Eugene Sandulenko
462d1afed8 AGI: Fix bug #1875842.
Bug #1875842: "AGI: Character loses final walking position".
Do not reset ADJ_EGO_XY if non-directional keys were pressed.

svn-id: r49744
2010-06-15 10:32:01 +00:00
Eugene Sandulenko
14205bdbc0 AGI: add more status-related debug output.
svn-id: r49731
2010-06-15 10:27:23 +00:00
Eugene Sandulenko
8ad5694cb1 Reduce header dependencies for AGI engine.
svn-id: r46942
2010-01-03 20:15:44 +00:00
Max Horn
51933629d1 Changed foo(void) to foo() in almost all non-backend source files
svn-id: r45616
2009-11-02 21:54:57 +00:00
Max Horn
3a1495f247 AGI: Make scancodeTable const
svn-id: r45261
2009-10-20 11:13:42 +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
Eugene Sandulenko
483a4c0eeb Move functions from agi.cpp to more appropriate files.
svn-id: r42662
2009-07-22 15:55:33 +00:00
Eugene Sandulenko
88395007fb Fix bug #2823759: "AGI: PQ1 help not showing the first time you press F1"
svn-id: r42659
2009-07-22 12:24:55 +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
1a321a2064 Cleanup
svn-id: r41254
2009-06-06 17:45:52 +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
93d62da652 Whitespace fixes and C++ comments
svn-id: r41239
2009-06-06 17:39:13 +00:00
Eugene Sandulenko
40dd214789 Start of fixing bug #2537054: "AGI: Using GMM to load causes graphics glitches"
The engine still crashes when load from GMM occured with a text box on screen.

svn-id: r40733
2009-05-19 21:09:43 +00:00
Eugene Sandulenko
565c23b601 Fix bug #1946262: "LSL1: Age Verification answer input not working"
svn-id: r40468
2009-05-11 20:58:55 +00:00
Filippos Karapetis
0015657caa Fix for bug #2541237 - "AGI: Restart quits ScummVM"
svn-id: r36279
2009-02-12 15:13:52 +00:00
Max Horn
ac59693be2 A ton of code formatting fixes; also fixed warnings about single line loops like 'while(cond);' by inserting newlines
svn-id: r36127
2009-01-29 05:26:12 +00:00
Willem Jan Palenstijn
e5bff7bf92 typo
svn-id: r36109
2009-01-27 19:58:30 +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
Filippos Karapetis
b804175684 Update AGI timers while waiting for a key to be pressed (e.g. when showing blocking text windows). Fixes bugs #1935909 and #1943872
svn-id: r31777
2008-04-29 18:50:17 +00:00
Filippos Karapetis
58b78bae07 Initial attempt at handling non-default AGI game input prompt
svn-id: r31477
2008-04-10 21:58:59 +00:00
Filippos Karapetis
71f6a7e855 Allow the predictive dialog to be shown when ego cannot be moved (i.e. when _game.playerControl is 0), since in those cases it is possible to enter text in the input area. Should fix bugs #1935844 - "PQ1: Predictive Text does not load" and #1936374 - "LSL1: No predictive input at age verification page"
svn-id: r31462
2008-04-10 08:27:09 +00:00
Kari Salminen
286a3da49b Remove disabling of moving using mouse in mines in Amiga's Gold Rush introduced in r30375. So bug #1733297 remains although not stricly in its original form (Moving using mouse in the mines bugs still but not identically as when the bug report was given).
svn-id: r30377
2008-01-10 12:40:57 +00:00
Kari Salminen
6b372d97ee Disable moving using mouse in mines (Rooms 147-162) and 'adj.ego.move.to.x.y'-command (Which uses 2 arguments) in Amiga's Gold Rush. This temporary hack fixes bug #1733297 (GR: Actor stuck (Amiga version)).
svn-id: r30375
2008-01-10 12:02:03 +00:00
Nicola Mettifogo
258901bab9 Merged common/stdafx.h into common/scummsys.h. All referencing files have been updated.
svn-id: r28966
2007-09-19 08:40:12 +00:00
Filippos Karapetis
a5e6b75edb Re-enabled the 3 entries that can't have menus (KQ3 ST, KQ3 DOS 1.01, SQ1 DOS 1.0X). The ESC key will pause the game in those 3 games
svn-id: r28129
2007-07-17 20:17:28 +00:00
Filippos Karapetis
6376321e5a Enabled menus in some old AGI games (released in 1986) which did not have menus them originally: KQ1 Amiga and ST and early versions of KQ3 Amiga, SQ1 ST, SQ1 DOS and SQ1 Amiga. The GF_FORCEMENUS flag has been remaned to GF_MENUS. Also, two problematic versions of KQ3, a problematic version of SQ1 and a problematic version of Mixed up Mother Goose have been disabled. Finally, a duplicate detection entry for SQ1 has been removed
svn-id: r28095
2007-07-15 06:24:39 +00:00
Filippos Karapetis
e10a6e6515 Fix for bug #1746661: "KQ3: Lockup when pressing ESC (Amiga version)"
svn-id: r27989
2007-07-09 12:03:53 +00:00
Neil Millstone
91648d68e0 Adding hooks for word completion interface on DS port
svn-id: r27871
2007-07-02 22:45:21 +00:00
Max Horn
218e132e37 Updated legal headers in source files, based on what Pidgin (the IM client formerly knowns as Gaim) does; added new (incomplete) COPYRIGHT file; updated copyright dates in a few spots
svn-id: r27024
2007-05-30 21:56:52 +00:00