Commit graph

128 commits

Author SHA1 Message Date
Nicola Mettifogo
919c0a2833 * added adapter from Graphics::Surface to Frames
* changed all Disk routines to return Frames* instead of Graphics::Surface*
* changed displayItemComment to use new gfx routines
* merged code for Examine zones into displayComment

svn-id: r29615
2007-11-22 21:51:33 +00:00
Nicola Mettifogo
d8e8050015 * added (incomplete) explicit state machine handling in engine class (see _inputMode)
* added service routines to Gfx
* changed displayCharacterComment to work with the new state machine and gfx routines

svn-id: r29613
2007-11-22 21:19:44 +00:00
Nicola Mettifogo
6af9577e84 * moved label drawing into Gfx, to be drawn directly in the framebuffer
* changed low level blitting function to accept Graphics::Surface to ease development
* temporarily disabled labels/subtitles in BRA

svn-id: r29593
2007-11-21 20:04:14 +00:00
Nicola Mettifogo
f8e1da5b60 * made engine use Inventory and InventoryRenderer
* inventory drawing is now performed directly in the framebuffer instead of using the game screen buffer
* specialized jobs to handle inventory drawing have been deleted as they had become obsolete

svn-id: r29571
2007-11-19 20:46:28 +00:00
Nicola Mettifogo
1ea0b305a5 Added color-inversion effect in character selection screen. The effect doesn't exactly work like the original yet (Amiga only).
svn-id: r29372
2007-11-01 21:56:14 +00:00
Nicola Mettifogo
db19310ad1 Cut down screen updates when palette is not animated: should lead to performance increase on systems with low resources
svn-id: r29225
2007-10-15 19:00:46 +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
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
21e4f4f176 Simplified global label management and added subtitles for BRA.
svn-id: r28828
2007-09-02 18:34:11 +00:00
Nicola Mettifogo
60a6d5aa53 Jobs are now members of the engine and are handled with a table, instead of being external functions.
svn-id: r28824
2007-09-02 15:17:41 +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
9125ccb3eb Oops. Buffers are now initialized properly.
svn-id: r28559
2007-08-12 13:06:42 +00:00
Travis Howell
efaca7c657 Change BRA to default to 1x scaler.
svn-id: r28558
2007-08-12 12:52:38 +00:00
Nicola Mettifogo
be994c88db Moved intro hack routines to Parallaction_ns callables, where they belonged from the beginning.
svn-id: r28541
2007-08-12 09:10:10 +00:00
Nicola Mettifogo
8444ad7f48 Even better large background support. Now internal buffers aren't reallocated if not background size stays the same across location switches.
svn-id: r28540
2007-08-12 08:47:45 +00:00
Nicola Mettifogo
fdee6a6e87 Better support for large backgrounds.
svn-id: r28539
2007-08-12 08:37:46 +00:00
Nicola Mettifogo
46c74a5bcf Added very basic support for backgrounds larger than screen:
- background surfaces are now reallocated for every location
- screen is copied according to _scrollX/Y position

svn-id: r28538
2007-08-12 08:26:20 +00:00
Nicola Mettifogo
9167422ce3 Moved cursor handling from Gfx to engine subclasses.
svn-id: r28534
2007-08-11 20:44:22 +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
8c2ae45ab4 Overhaul of background/mask/path handling:
- added new BackgroundInfo structure
- added helper functions to aid management of BackgroundInfo. Engine is now responsible for allocation/deallocation.
- simplified loading and handling of background resources.

svn-id: r28524
2007-08-11 13:07:21 +00:00
Nicola Mettifogo
2c6c654435 Added new clone method to Palette object.
svn-id: r28523
2007-08-11 12:26:17 +00:00
Kari Salminen
1b7bed55fd Removed an extra semicolon.
svn-id: r28512
2007-08-09 21:32:26 +00:00
Nicola Mettifogo
df7bd6f41c Fix warning.
svn-id: r28510
2007-08-09 19:24:51 +00:00
Nicola Mettifogo
aa1175ed13 Encapsulated palette stuff into a new Palette object and got rid of a lot of #defines. This should ease handling of palettes in different versions of the engine.
svn-id: r28509
2007-08-09 18:02:37 +00:00
Nicola Mettifogo
6160b7ec97 Removed some duplicated code.
svn-id: r28491
2007-08-08 18:33:55 +00:00
Nicola Mettifogo
07d6d0fe47 Fix memory leak.
svn-id: r28485
2007-08-07 15:56:44 +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
d30c3650a3 MaskBuffer and PathBuffer are now correctly freed before they are deallocated, and so is background Surface.
svn-id: r28483
2007-08-07 14:53:58 +00:00
Nicola Mettifogo
4d83622af7 Location comments are now displayed by a single Gfx function.
svn-id: r28481
2007-08-07 13:54:29 +00:00
Nicola Mettifogo
797f114aac - Renamed BitBuffer to MaskBuffer
- Added PathBuffer to handle 1-bit buffers for walkable areas
- Changed relevant walk code to use PathBuffer objects for querying screen dimensions.

svn-id: r28478
2007-08-06 22:03:17 +00:00
Nicola Mettifogo
16f161f689 Made disk code directly create background Surface from resources.
svn-id: r28475
2007-08-06 20:07:57 +00:00
Nicola Mettifogo
7c20288ba1 Removed useless mask width and size data members from engine.
svn-id: r28474
2007-08-06 19:43:33 +00:00
Nicola Mettifogo
14448af3bb Made disk code directly create mask BitBuffer from resources.
svn-id: r28473
2007-08-06 19:39:00 +00:00
Nicola Mettifogo
57196e5dd8 Cleanup.
svn-id: r28472
2007-08-06 19:19:59 +00:00
Nicola Mettifogo
6c0288044b Changed graphics mask to a more generic BitBuffer object.
svn-id: r28471
2007-08-06 19:13:51 +00:00
Nicola Mettifogo
872a6edfc6 Made thickness of balloon borders consistent with original games.
svn-id: r28470
2007-08-06 15:40:12 +00:00
Nicola Mettifogo
15c3264971 Changed internal graphics buffers to use Surface instead of vanilla arrays. ScummVM's stock surfaces are used for the moment.
svn-id: r28469
2007-08-06 13:22:21 +00:00
Nicola Mettifogo
663e78b911 Added routine to restore door backgrounds: this means that backgrounds for door and get zones are now handled by two different sets of routines. This fixes bugs #1765191 and #1762643 (it was actually the same bug).
svn-id: r28449
2007-08-04 18:58:50 +00:00
Nicola Mettifogo
4b008f9724 Changed code to use the new fadePalette function, thus removing fadeInPalette and some custom fade code in _c_endComment.
svn-id: r28368
2007-07-31 19:33:36 +00:00
Nicola Mettifogo
b29935e93c Generalized fadePalette to support custom target palette.
svn-id: r28367
2007-07-31 19:25:07 +00:00
Nicola Mettifogo
bd22db4502 Renamed palette functions.
svn-id: r28365
2007-07-31 19:12:44 +00:00
Nicola Mettifogo
236634662c Made screen size parameters properties of engine instead of compile-time constants.
svn-id: r28219
2007-07-26 18:30:27 +00:00
Nicola Mettifogo
9b4cfc5bbe Screen update is no more triggered automatically when performing full screen-size blits on Front buffer. Menu code has been changed accordingly to retain consistency.
svn-id: r28097
2007-07-15 10:10:48 +00:00
Nicola Mettifogo
5a85103374 Full screen updates aren't automatic after palette changes anymore now. Traded some code pollution with SPEED!
svn-id: r28061
2007-07-13 20:50:57 +00:00
Nicola Mettifogo
40905f7ca2 Removed leftover empty function.
svn-id: r28004
2007-07-10 09:30:56 +00:00
Nicola Mettifogo
945be6e5f2 Moved mouse cursor tampering from inventory.cpp to Gfx class, and some cleanup.
svn-id: r27996
2007-07-09 19:19:56 +00:00
Nicola Mettifogo
17da12ca07 Oops.
svn-id: r27968
2007-07-08 13:53:56 +00:00
Nicola Mettifogo
3036c37dd8 Yet another fix for broken parsing/displaying of strings. Now quotes are properly considered when they are needed, and ignored when they aren't.
svn-id: r27967
2007-07-08 13:39:23 +00:00
Nicola Mettifogo
99df4dd7e2 Removed special displayBalloonString routine.
svn-id: r27850
2007-07-02 07:32:06 +00:00
Nicola Mettifogo
675227e81f Introduced new flatBlitCnv to reduce code duplication.
svn-id: r27833
2007-07-01 19:28:32 +00:00