94 Commits

Author SHA1 Message Date
Nicola Mettifogo
249877fa82 Moved depth buffer and palette rotation data into BackgroundInfo.
svn-id: r30725
2008-02-02 00:41:31 +00:00
Nicola Mettifogo
fb4ef4b394 More cleanup: kBit2 is now replaced by the BackgroundInfo structure.
svn-id: r30697
2008-01-29 10:04:49 +00:00
Nicola Mettifogo
0e02a9398a Cleanup (step 2). No code outside Gfx reference screen buffers anymore.
svn-id: r30695
2008-01-29 09:37:03 +00:00
Nicola Mettifogo
1a36ba488c Cleanup (step 1).
svn-id: r30689
2008-01-28 20:40:05 +00:00
Nicola Mettifogo
68fc3f1dee Removed usage of kBitFront and kBitBack. Only the old kBit2 buffer is kept to store the background picture.
svn-id: r30687
2008-01-28 19:56:29 +00:00
Nicola Mettifogo
56eed45317 Move low level background management into Gfx.
svn-id: r30681
2008-01-28 17:28:16 +00:00
Nicola Mettifogo
3c2c16c705 Fixed animation sorting: everything should be drawn like before revision 30673 now. Character may still disappear when changing location because of wrong resource management, though.
svn-id: r30680
2008-01-28 16:52:41 +00:00
Sven Hesse
57a862b2a0 Fix compilation
svn-id: r30676
2008-01-28 14:45:54 +00:00
Nicola Mettifogo
be2c5d3c87 All interactive objects are now drawn in the framebuffer instead of using the old kBitBack/kBitFront buffers. Animation are not sorted yet, so they can overlap in an inconsistent fashion for the time being.
svn-id: r30673
2008-01-28 12:20:53 +00:00
Jordi Vilalta Prat
d6c34bdc4b Fixed the spaces before tabs.
svn-id: r30667
2008-01-28 00:14:17 +00:00
Nicola Mettifogo
dd45b7ad45 Some refactoring of text drawing routines.
svn-id: r30615
2008-01-22 20:53:29 +00:00
Nicola Mettifogo
6b188943ac Merged low level blitting functions into one single routine.
svn-id: r30600
2008-01-21 20:03:37 +00:00
Nicola Mettifogo
7d635a4b9c Added function to encapsulate/protect manipulation of background.
svn-id: r30441
2008-01-12 10:46:51 +00:00
Nicola Mettifogo
3ed0ddd375 Refactored some text drawing code.
svn-id: r30362
2008-01-09 22:03:51 +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
Nicola Mettifogo
bdf440fdae Replaced the remaining old string code with the new label code. All the text is now drawn in the framebuffer instead of being blitted onto the internal game screen buffer.
svn-id: r30360
2008-01-09 21:46:57 +00:00
Nicola Mettifogo
e21fd496f8 Restructured label handling and moved all related code to Gfx.
svn-id: r30345
2008-01-08 20:46:58 +00:00
Torbjörn Andersson
1ddc8ab0fa Indent with tabs instead of spaces.
svn-id: r30315
2008-01-06 20:57:46 +00:00
Nicola Mettifogo
5ff1ccabe6 Removed now useless functions.
svn-id: r30314
2008-01-06 20:51:05 +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
3e04d8b215 Fix for bug# 1729307. Fonts are now displayed with shadows when needed on Amiga. The correct font for intro screen has also been selected.
svn-id: r30221
2008-01-04 21:24:51 +00:00
Nicola Mettifogo
d632206248 Added halfbrite effect to Nippon Safes Amiga. Implementation is not complete, since the spotlight during Donna's dance is not moving yet.
svn-id: r29863
2007-12-15 20:56:05 +00:00
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
6471eb84f2 Cleanup.
svn-id: r29556
2007-11-18 13:22:38 +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
21e4f4f176 Simplified global label management and added subtitles for BRA.
svn-id: r28828
2007-09-02 18:34:11 +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
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
2c6c654435 Added new clone method to Palette object.
svn-id: r28523
2007-08-11 12:26:17 +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
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
66c0a57248 Cleanup.
svn-id: r28482
2007-08-07 14:05:39 +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
c60fc2202f Made sure mask buffer is zeroed to prevent bizarre artifacts.
svn-id: r28477
2007-08-06 21:58:25 +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
14448af3bb Made disk code directly create mask BitBuffer from resources.
svn-id: r28473
2007-08-06 19:39:00 +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
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