Commit Graph
161 Commits
Author SHA1 Message Date
Nicola Mettifogo 361bed0a95 Massive refactoring of dialogue code, which is now implemented as a finite state machine. Related code in other files has been updated has well.
svn-id: r33162
2008-07-21 06:08:30 +00:00
Nicola Mettifogo 17d86414cb Fixed regression bug in dialogue, which de-facto allowed user to skip in-game protection.
svn-id: r33086
2008-07-17 00:38:11 +00:00
Nicola Mettifogo 8ed023142a Moved program and command execution code out of the engine, into their own brand new
classes.

svn-id: r33003
2008-07-11 13:06:28 +00:00
Nicola Mettifogo d387d1af0e - Moved dialogue balloon management code from Gfx to its own class
- Added a class to draw balloons in BRA (still without text and with wrong placement)

svn-id: r32902
2008-07-04 00:29:21 +00:00
Nicola Mettifogo d8645297cd Changed all remaining code to use the GfxObj class to keep frames data. This allows for more uniform processing during rendering, and also fixes the display of dialogue faces for BRA.
svn-id: r32833
2008-06-29 09:30:32 +00:00
Filippos Karapetis 9194f39185 Fixed 2 MSVC warnings (potentially undefined behavior and possibly uninitialized variable used)
svn-id: r32758
2008-06-22 17:36:14 +00:00
Christopher Page a338d5fdb2 PARA: Got rid of calls to system->quit() so that the Parallaction engine can return to the launcher. Also fixed a couple of memory leaks.
svn-id: r32504
2008-06-02 21:08:49 +00:00
Nicola Mettifogo 40ff1537a9 - Moved input code to its own class.
- Slightly simplified inventory highlight code thanks to changes in input code.

svn-id: r32115
2008-05-14 14:34:01 +00:00
Nicola Mettifogo 1ddd54b50d - Moved some members from the engine class to Location, since they belong there.
- Cleaned up usage of location flags by using accessor functions.

svn-id: r31872
2008-05-05 11:02:40 +00:00
Jordi Vilalta Prat d6c34bdc4b Fixed the spaces before tabs.
svn-id: r30667
2008-01-28 00:14:17 +00:00
Nicola Mettifogo 605c9d0fd6 Turned Gfx::setFont into a protected member, since now Gfx can automatically detect which font to use. Gfx still needs setFont internally to select fonts. The font shadowing introduced in revision 30221 has been removed as well, since the new approach handles it better.
svn-id: r30361
2008-01-09 21:54:58 +00:00
Filippos Karapetis f3b99816c6 Fixed an MSVC warning
svn-id: r30319
2008-01-07 08:43:20 +00:00
Nicola Mettifogo 35b7021fac Fixes wrong type.
svn-id: r30313
2008-01-06 20:46:03 +00:00
Torbjörn Andersson eeb212c7e0 Indent with tabs instead of spaces.
svn-id: r30312
2008-01-06 20:42:28 +00:00
Nicola Mettifogo db51514dd3 Moved balloons management into Gfx, which is now responsible for positioning and drawing. All balloons are now drawn on a different layer than the game graphics, thus simplifying screen management. Dialogue code has undergone a major revision, and the superior implementation of answer selection in the Amiga version is now used in place of the poor PC one. Other bits (where some changes had already been introduced) have been updated, too.
svn-id: r30311
2008-01-06 19:29:41 +00:00
Nicola Mettifogo b91300e1cc Fix for bug #1829409. Character now changes expression accordingly with available dialogue answers.
svn-id: r30171
2008-01-02 21:33:18 +00:00
Nicola Mettifogo a3abaaa709 Refactored main input code.
svn-id: r29532
2007-11-17 09:39:20 +00:00
Nicola Mettifogo 9d14d74e8d Temporarily force quits when user presses exit key combination. A TODO comment has been added to places where behavior should be changed to allow the engine to exit gracefully.
svn-id: r29270
2007-10-27 21:29:38 +00:00
Nicola Mettifogo 1c52ea0562 Decoupled password request from actual rendering of the dialogue screen, thus making it possible to fix bug #1765300. This bug was present in the original game, causing garbled text to appear when asking for password (only in the English version).
svn-id: r29213
2007-10-13 21:49:38 +00:00
Nicola Mettifogo d7ae40b65d Refactored a lot of Character-related code and put it into the Character class.
svn-id: r29025
2007-09-22 18:45:43 +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
Nicola Mettifogo c37de0131b Revised debug levels and added many debug strings for parsers.
svn-id: r28921
2007-09-16 08:43:34 +00:00
Nicola Mettifogo 39e4a9b180 Added an abstract base class for representing multiple-frames for animations. Changed user code to rely on the new interface. Cnv has been turned into an implementation of the new interface, and it is now known as a concrete class only to Disk and Font code for Nippon Safes.
svn-id: r28734
2007-08-25 20:34:10 +00:00
Nicola Mettifogo 8f2e600601 Merged most parser contexts into a single structure, added some new fields to support BRA.
svn-id: r28727
2007-08-25 16:45:06 +00:00
Nicola Mettifogo 37cdd1c69a First step in restructuring engine code:
- code has been consolidated in fewer files
- new table-driven parsers/execution
- some functions has been pushed down the engine hierarchy
- Parallaction_br now inherits from Parallaction_ns

svn-id: r28711
2007-08-24 20:14:51 +00:00
Nicola Mettifogo f0f46113ee Changed more parsing routines to use tables instead of switch statements.
svn-id: r28637
2007-08-16 17:28:18 +00:00
Nicola Mettifogo a2a450dfae Changed Table to return 0 instead of -1 when lookup fails. Lookup already yields 1-based values when the item is found.
svn-id: r28600
2007-08-13 23:17:17 +00:00
Nicola Mettifogo b07f787f7f Moved core font management from Gfx to engine. Gfx still retains features related to displaying text on screen.
svn-id: r28530
2007-08-11 17:25:57 +00:00
Nicola Mettifogo d800f33ff1 Turned StaticCnv struct into stock Graphics::Surface, and changed all relevant code.
svn-id: r28484
2007-08-07 15:08:45 +00:00
Nicola Mettifogo bd56174b5d User can now quit (using shortcuts) when asked for ingame protection code.
svn-id: r28468
2007-08-06 08:45:59 +00:00
Nicola Mettifogo a210dcc03b Fixes bug #1766217 (flickering monk), and prevents animations from stepping back one frame when a dialogue starts. This is part of the regression introduced when screen refreshes were cut down.
svn-id: r28467
2007-08-06 08:44:14 +00:00
Nicola Mettifogo ca01e07a3c Fixes bug #1765310. Counter needs to be reset at the beginning of each iteration.
svn-id: r28451
2007-08-04 22:14:45 +00:00
Nicola Mettifogo 283b89daf8 Cleanup.
svn-id: r28315
2007-07-29 19:17:53 +00:00
Nicola Mettifogo a641ee4fbe Changed inventory graphics update from synchronous to lazy.
svn-id: r27975
2007-07-08 20:15:43 +00:00
Nicola Mettifogo d1b9002bb0 Cleanup inventory code.
svn-id: r27974
2007-07-08 19:56:12 +00:00
Travis Howell 7a2949dcfc The mouse cursor is shown during dialogues in the Amiga versions (Demo and Multi-lingual).
svn-id: r27955
2007-07-08 02:33:47 +00:00
Travis Howell be61cff6d1 Fix incorrect face frame been shown during dialogs, due to regression in revision 27834.
svn-id: r27917
2007-07-05 06:38:54 +00:00
Nicola Mettifogo 87594aae73 Changed Dialogue from a typedef for an implicit n-tree of Questions to a plain-vanilla array. This greatly simplify management and doesn't require obscure flagging of tree leaves.
svn-id: r27887
2007-07-03 19:44:31 +00:00
Nicola Mettifogo e8e2ddc8e6 Some cheap renaming and cleanup.
svn-id: r27886
2007-07-03 19:27:44 +00:00
Nicola Mettifogo 99df4dd7e2 Removed special displayBalloonString routine.
svn-id: r27850
2007-07-02 07:32:06 +00:00
Nicola Mettifogo 3a0e0916d6 Fixed glitch: protection code appearing over prompt.
svn-id: r27848
2007-07-02 07:07:47 +00:00
Nicola Mettifogo 89a7005148 Applied new flatBlitCnv and little refactoring to dialogue code.
svn-id: r27834
2007-07-01 19:29:09 +00:00
Nicola Mettifogo 94fab1c151 Wrapped dialogue functions into a new DialogueManager, and some basic refactoring.
svn-id: r27827
2007-07-01 16:12:21 +00:00
Max Horn 86dffa1dc9 0xD -> Common::KEYCODE_RETURN
svn-id: r27639
2007-06-22 23:14:33 +00:00
Nicola Mettifogo f6e2c67cbb Mouse is now properly hidden during dialogues, and is restored after load/save dialog boxes are closed. Moreover, kEngineMouse constant has been renamed to better match its meaning.
svn-id: r27539
2007-06-18 20:11:49 +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
Nicola Mettifogo ada3424d8a Fixed bug when typing protection code.
svn-id: r26847
2007-05-15 20:07:07 +00:00
Nicola Mettifogo ae63466446 cleanup
svn-id: r26834
2007-05-13 14:38:05 +00:00
Nicola Mettifogo 987638a713 Now handling fonts with brand-new Font hierarchy. Amiga font have been implemented for dialogues/descriptions, but not for labels yet.
svn-id: r26530
2007-04-16 20:16:18 +00:00
Nicola Mettifogo c43960b958 - Fonts are now preloaded at start.
- Replaced font string names with enums.
- Some slight simplification to Disk.

svn-id: r26518
2007-04-15 20:57:56 +00:00