Commit Graph

693 Commits

Author SHA1 Message Date
Nicola Mettifogo
963e63d985 Integrated low-level routines into the Script class, turning it into a self-contained parser for location, program and table scripts.
svn-id: r29221
2007-10-14 21:32:43 +00:00
Nicola Mettifogo
652069f1a6 Made location parser more fault-tolerant, in that it prints out a warning message instead of exiting ScummVM when it encounters an unexpected keywords in the scripts.
svn-id: r29220
2007-10-14 20:59: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
8a73ce38bb Added beep sound to Nippon Safes for Amiga.
svn-id: r29171
2007-10-07 19:18:41 +00:00
Nicola Mettifogo
6351ed5379 Fixed bug #1808529. One must use memmove() when copying overlapping blocks of memory (blush).
svn-id: r29161
2007-10-07 07:11:09 +00:00
Nicola Mettifogo
0fab64817f Fixed bug #1808615. An unexpected (but harmless) 'ENDCOMMANDS' statement was spotted in the game scripts by the new stricter parser.
svn-id: r29158
2007-10-06 21:15:53 +00:00
Nicola Mettifogo
9280c25a36 Fixed bug #1808620. The original Inventory::addItem routine relied on a trick that went undetected until r29060 actually broke it. Not all regression is bad, after all.
svn-id: r29157
2007-10-06 20:56:17 +00:00
Nicola Mettifogo
439c6e1d53 Fixed bug #1803287. The inner block was changing the test condition causing unwanted behavior.
svn-id: r29155
2007-10-04 16:19:42 +00:00
Nicola Mettifogo
212d4ed913 Changed InventoryRenderer to draw inventory over a Surface, thus removing useless drawing routines.
svn-id: r29097
2007-09-25 15:58:44 +00:00
Nicola Mettifogo
8e1e4b9079 Fixed inventory regression introduced with yesterday's commit.
svn-id: r29091
2007-09-24 19:45:18 +00:00
Nicola Mettifogo
19e9161a20 Oops. Some debug code was committed.
svn-id: r29061
2007-09-23 20:23:49 +00:00
Nicola Mettifogo
05abbf49a2 Moved most of inventory-related code inside classes Inventory and InventoryRenderer. Shift is not completed, as new code doesn't handle selections yet (falling back to existent code).
svn-id: r29060
2007-09-23 20:17:50 +00:00
Nicola Mettifogo
50fb8b2734 Fixed broken compile on MSVC.
svn-id: r29026
2007-09-22 19:31:24 +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
f04ba3ac7c Added copyright notice to existing files.
svn-id: r28973
2007-09-19 20:01:42 +00:00
Eugene Sandulenko
77eea722af Modified patch #1738058: "Action recorder".
svn-id: r28968
2007-09-19 13:55:05 +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
ef0df159f1 * moved Table handling to objects.cpp
* added helper functions to load tables from files
* fixed occasional lock-ups on location change because of broken Table deallocation

svn-id: r28933
2007-09-17 18:22:52 +00:00
Nicola Mettifogo
04c323a19f Split code from parseZoneTypeBlock in specialized parser functions.
svn-id: r28922
2007-09-16 09:26:03 +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
c22784449f Fixed BRA parser table for scripts.
svn-id: r28905
2007-09-15 12:16:43 +00:00
Max Horn
4cc9d17c34 Adding various FIXME comments to bogus (non-self-explanatory) existing FIXME comments; and some other related cleanup
svn-id: r28890
2007-09-11 09:20:39 +00:00
Max Horn
4a302b25ad Lots of source code formatting corrections
svn-id: r28887
2007-09-10 13:17:20 +00:00
Nicola Mettifogo
b819ae3e78 More support for subtitles in BRA.
svn-id: r28829
2007-09-02 19:00:22 +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
Max Horn
f1f324cee4 fixed some warnings
svn-id: r28827
2007-09-02 17:28:00 +00:00
Nicola Mettifogo
af72280fb9 Cleanup: removed unneeded references to engine (_vm).
svn-id: r28826
2007-09-02 15:27:25 +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
bc44745011 Pushed current save/load code from Parallaction down to Parallaction_ns.
svn-id: r28775
2007-08-31 18:34:46 +00:00
Nicola Mettifogo
771f3e5306 Enforced use of character's feet coordinates throughout the walk code.
svn-id: r28760
2007-08-28 14:30:17 +00:00
Nicola Mettifogo
9c608fcacb Implemented more opcodes.
svn-id: r28746
2007-08-26 09:01:19 +00:00
Nicola Mettifogo
6928087999 Added implementation for most parser and exec opcodes in BRA.
svn-id: r28735
2007-08-25 20:37: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
f6322b698e Fix build.
svn-id: r28729
2007-08-25 17:20:58 +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
1e8ebaa7bd Cleanup script routines.
svn-id: r28718
2007-08-25 11:45:05 +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
dd215f3e9f Fixed bug #1777058.
svn-id: r28666
2007-08-19 19:05:41 +00:00
Nicola Mettifogo
eb0798d580 Now using stacks to keep track of multiple levels when parsing location scripts.
svn-id: r28639
2007-08-16 19:47:22 +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
429af74320 Oops oops. This fixes the bug fix.
svn-id: r28623
2007-08-14 19:57:20 +00:00
Nicola Mettifogo
dc35b37d93 Oops. Removed debug code.
svn-id: r28622
2007-08-14 19:55:10 +00:00
Nicola Mettifogo
70f69a18bb Fixed bug (array-overflow) in NS introduction. This randomly caused the intro to crash during sketching.
svn-id: r28621
2007-08-14 19:53:32 +00:00
Nicola Mettifogo
32164ff210 Defined new Table for location scripts level-0 statements, and changed parseLocation to use a function pointer array instead of a big switch statement.
svn-id: r28620
2007-08-14 18:58:47 +00:00
Nicola Mettifogo
d02441a372 Fixed a couple of mistyped strings, solving a crash in the introduction of BS and a soon-to-be-spotted issue in BRA.
svn-id: r28619
2007-08-14 16:39:25 +00:00
Nicola Mettifogo
76e1be89c3 Partially reverting commit 28568, so now engine is back in charge for parsing locations. I'm going to convert this if/else/else hell into smaller opcode-like routines to achieve more flexibility first, and then assign version-specific opcodes to subclasses.
svn-id: r28609
2007-08-14 08:03:13 +00:00
Torbjörn Andersson
92ea1804ca GCC doesn't like the extra qualifier when DECLARE_COMMAND_PARSER() etc. are
used within the class definition. Added macros for the unqualified form. Feel
free to give them a less cumbersome name -- I just wanted to be able to compile
ScummVM again. :-)

svn-id: r28608
2007-08-14 05:38:27 +00:00
Nicola Mettifogo
3c43ebd49f Added invalid opcode entries in slot 0 of opcode lists, and adjusted indices to avoid small decrements.
svn-id: r28603
2007-08-13 23:58:17 +00:00
Nicola Mettifogo
681ae6ca85 Moved opcode initialization to new routine.
svn-id: r28602
2007-08-13 23:49:38 +00:00
Nicola Mettifogo
0f489597aa Changed instruction parsing to array of function pointers.
svn-id: r28601
2007-08-13 23:44:13 +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
9694215490 Changed Command parsing/execution and Instruction execution from switch statements into arrays of function pointers.
svn-id: r28599
2007-08-13 22:59:13 +00:00
Eugene Sandulenko
837381f1d4 Fix linking errors.
svn-id: r28587
2007-08-13 10:12:07 +00:00
Eugene Sandulenko
daf5c30551 Switch Parallaction back to single gameid (to be compatible with 0.10.x), and
made it use new AdvancedDetector features.

svn-id: r28585
2007-08-13 09:02:11 +00:00
Nicola Mettifogo
d95994e660 Fix build.
svn-id: r28569
2007-08-12 20:27:45 +00:00
Nicola Mettifogo
3465571b12 Added preliminary support for loading locations in BRA:
- changed parseLocation to invoke subclasses for version-specific keywords.
- implemented loading of background resources (backgrounds should be visible)

svn-id: r28568
2007-08-12 19:11:37 +00:00
Nicola Mettifogo
10ee427772 Changed signature of disk routines for backgrounds to something resembling revisions prior to 28524, yet keeping the new useful BackgroundInfo struct. Those routines can now be used to fill specific fields of the struct, instead of having them create a new one at each call.
This feature is needed by BRA, since background, mask and path are specified by different instructions in the script.

svn-id: r28566
2007-08-12 17:13:21 +00:00
Nicola Mettifogo
0ec634ea06 Fixed location retrieval.
svn-id: r28565
2007-08-12 13:54:31 +00:00
Nicola Mettifogo
12d9e7aed9 Added first location selection for each part.
svn-id: r28564
2007-08-12 13:54:01 +00:00
Nicola Mettifogo
a3e1907837 Added more resource loading.
svn-id: r28563
2007-08-12 13:47:19 +00:00
Nicola Mettifogo
c408e30bb9 BRA now loads tables and correctly selects episode (part) for resource loading.
svn-id: r28562
2007-08-12 13:27:48 +00:00
Nicola Mettifogo
de30651476 Disk can now load tables for BRA.
svn-id: r28561
2007-08-12 13:21:45 +00:00
Nicola Mettifogo
6bbeb8c6d1 Added simple game loop to BRA. The game still crashes after menu.
svn-id: r28560
2007-08-12 13:10:04 +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
Travis Howell
4c9a175ff9 Fix BRA regressions.
svn-id: r28557
2007-08-12 12:51:10 +00:00
Nicola Mettifogo
ee7102d0e7 Pushed menu handling into Parallaction_ns.
svn-id: r28556
2007-08-12 12:44:26 +00:00
Nicola Mettifogo
41b8ec417c Added menu options enum to BRA and some refactoring.
svn-id: r28554
2007-08-12 12:24:59 +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
ccfd109e25 Added partial cursor support for Big Red Adventure. Small adjustments to generalize disk code for multiple cursors.
svn-id: r28537
2007-08-11 21:08:08 +00:00
Nicola Mettifogo
9167422ce3 Moved cursor handling from Gfx to engine subclasses.
svn-id: r28534
2007-08-11 20:44:22 +00:00
Torbjörn Andersson
ceaeba852e Fixed warning.
svn-id: r28533
2007-08-11 19:35:27 +00:00
Nicola Mettifogo
b11a47bd17 Main menu in Big Red Adventure is now available. Cursor is still ScummVM stock.
svn-id: r28531
2007-08-11 19:08:32 +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
81b864e9e8 Added preliminary font support for Big Red Adventure.
svn-id: r28529
2007-08-11 14:26:12 +00:00
Nicola Mettifogo
1d0541a1db Since splash screen graphics will be called slides (like in Nippon Safes), loading code has been moved to loadSlide. Related code in engine has been refactored as well.
svn-id: r28527
2007-08-11 14:18:00 +00:00
Nicola Mettifogo
0c7d53a2a4 Deleted some rotten comments.
svn-id: r28526
2007-08-11 13:17:57 +00:00
Nicola Mettifogo
4c89de8fc0 Cleanup.
svn-id: r28525
2007-08-11 13:13:56 +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
a644817966 Added code to load and display splash screens for BRA. The game crashes afterwards.
svn-id: r28511
2007-08-09 19:26:20 +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
d340961f78 Fixed some memory leaks.
svn-id: r28503
2007-08-09 11:42:26 +00:00
Travis Howell
760986259c Fix compile warnings.
svn-id: r28501
2007-08-09 05:43:58 +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
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
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
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
e65c744039 Added workaround for bugged scripts not declaring local variables before using them (as a sample, see balzo.script in Amiga versions).
svn-id: r28466
2007-08-06 08:38:45 +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
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
1935f5a8b3 Fixed broken implementation of Close command.
svn-id: r28444
2007-08-04 09:43:28 +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
fa190dc297 Fixed palette going psychedelic at the very end of the game.
svn-id: r28335
2007-07-30 19:05:49 +00:00
Nicola Mettifogo
ba271c0405 Replaced some palette code in _c_endComment with a function call.
svn-id: r28334
2007-07-30 18:39:38 +00:00
Nicola Mettifogo
d9e6db79b5 Refactored allegedly ugly code.
svn-id: r28318
2007-07-29 21:14:17 +00:00
Nicola Mettifogo
b89bd7462c Oops. Last cleanup left out one very important line.
svn-id: r28317
2007-07-29 21:08:39 +00:00
Nicola Mettifogo
65ee4ae2d4 Now callables array is properly initialized.
svn-id: r28316
2007-07-29 19:56:06 +00:00
Nicola Mettifogo
283b89daf8 Cleanup.
svn-id: r28315
2007-07-29 19:17:53 +00:00
Nicola Mettifogo
160a4ceaad Added callables stubs for Big Red Adventure.
svn-id: r28312
2007-07-29 18:49:24 +00:00
Nicola Mettifogo
092de55a6a Removed debug code.
svn-id: r28311
2007-07-29 18:46:29 +00:00
Max Horn
50537d3ae0 Fixed some warnings
svn-id: r28308
2007-07-29 17:37:08 +00:00
Nicola Mettifogo
ae461cebd6 Cleanup.
svn-id: r28303
2007-07-29 17:06:23 +00:00
Nicola Mettifogo
4774696a96 Made current callable routines members of Parallaction_ns, and moved them to callables_ns.cpp.
svn-id: r28302
2007-07-29 17:02:08 +00:00
Nicola Mettifogo
9df68f57b0 Fixed mismatched table name in initialization.
svn-id: r28300
2007-07-29 16:56:06 +00:00
Nicola Mettifogo
7e4909efad Moved all callable routines and related data into callables.cpp.
svn-id: r28299
2007-07-29 16:42:29 +00:00
Nicola Mettifogo
b01232f08a - Added parser strings for Big Red Adventure
- Pushed parser strings initialization down to engine subclasses

svn-id: r28295
2007-07-29 16:29:41 +00:00
Nicola Mettifogo
5ff9d0fe89 Fix build.
svn-id: r28292
2007-07-29 16:08:30 +00:00
Nicola Mettifogo
9a766cf5c4 Removed direct references to callable functions (opcodes). They are now only available via a virtual member function in the engine.
svn-id: r28291
2007-07-29 15:21:33 +00:00
Nicola Mettifogo
04027589ab Cleanup and some new comments.
svn-id: r28290
2007-07-29 14:32:30 +00:00
Nicola Mettifogo
7e7b07132e Moved specialized initialization code into subclasses.
svn-id: r28289
2007-07-29 14:24:31 +00:00
Nicola Mettifogo
47e5b0f0ff Added dummy SoundMan to help with integration of Big Red Adventure.
svn-id: r28288
2007-07-29 14:23:26 +00:00
Nicola Mettifogo
4bce4afbd2 Should fix bug #1762614. There is a chance some regression glitches appear in locations where animations are displayed together with character comments.
svn-id: r28272
2007-07-28 15:15:23 +00:00
Nicola Mettifogo
6320e6db3c Now yielding control to system after updateScreen is invoked to get smoother mouse movements.
svn-id: r28269
2007-07-28 14:21:16 +00:00
Travis Howell
92c90ab8d6 Remove debug code.
svn-id: r28268
2007-07-28 14:10:25 +00:00
Nicola Mettifogo
7059a69bde Fixed bug #1762638. Mask filenames weren't chosen correctly when not explicitly specified by scripts.
svn-id: r28267
2007-07-28 13:56:27 +00:00
Nicola Mettifogo
b8f55ec742 Screen is now refreshed when waiting for left clicks. Solves bug #1762618.
svn-id: r28265
2007-07-28 13:27:48 +00:00
Travis Howell
bb2796c57a Add support for multi-tune Protracker modules used in the Amiga version of Waxworks.
svn-id: r28256
2007-07-28 07:52:24 +00:00
Nicola Mettifogo
d1986857d5 Added Italian language flag to Big Red Adventure detection structs.
svn-id: r28248
2007-07-27 23:42:59 +00:00
Nicola Mettifogo
8b62b591a8 Added detection target for Big Red Adventure, and derived new engine classes for supported games.
svn-id: r28247
2007-07-27 23:41:43 +00:00
Nicola Mettifogo
67869d2c10 - Moved disk code for Nippon Safes in new file disk_ns.cpp, adding _ns suffix to classes and member functions.
- Added function stubs into new file disk_br.cpp for Big Red Adventure [IT STILL CRASHES!].
- Modified engine to create the proper Disk manager object.

svn-id: r28246
2007-07-27 19:02:19 +00:00
Nicola Mettifogo
2b219db314 Merged archive.cpp into disk.cpp.
svn-id: r28221
2007-07-26 20:22:51 +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
d3e7e81c8a Dos full version of Big Red Adventure is detected now. The engine crashes immediately afterwards.
svn-id: r28218
2007-07-26 18:23:09 +00:00
Nicola Mettifogo
2f7f5271ac Refactored selectCharacter so that menu code doesn't need auxiliary buffer kBit2 anymore.
svn-id: r28106
2007-07-15 16:04:34 +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
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
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
373cadce5b Finally fixed parsing of labels.
svn-id: r27962
2007-07-08 12:39:39 +00:00
Nicola Mettifogo
a7a62d3c9d Made parseNextToken *really* work this time.
svn-id: r27960
2007-07-08 09:22:08 +00:00
Nicola Mettifogo
cdae0280be Parser is now able to deal with missing quotes at the end of instructions in location scripts.
svn-id: r27959
2007-07-08 08:34:19 +00:00
Nicola Mettifogo
674f2e93c2 Location background sound (different from music) now implemented.
svn-id: r27958
2007-07-08 08:13:32 +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
Nicola Mettifogo
214cbc40f5 Moved SaveLoadChooser class to saveload.cpp and adjusted dependencies.
svn-id: r27954
2007-07-07 19:42:06 +00:00
Nicola Mettifogo
65ac39fb8b Oops. Crappy dump code doesn't belong to global repository.
svn-id: r27950
2007-07-07 15:12:01 +00:00
Nicola Mettifogo
d87e8c81aa DLTA tags in multi-frame images are now supported.
svn-id: r27949
2007-07-07 14:56:30 +00:00
Travis Howell
bb37b9b839 Skip DLTA frames for now, when loading character face data in the Amiga multi-lingual version. To prevent reading past the end of data.
svn-id: r27918
2007-07-05 07:39:53 +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
Travis Howell
3c94b096f6 Fix introduction in Amiga multi-lingual version. Specifically characters for the introduction are only available in disk1
svn-id: r27897
2007-07-04 11:17:37 +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
675227e81f Introduced new flatBlitCnv to reduce code duplication.
svn-id: r27833
2007-07-01 19:28:32 +00:00
Max Horn
e1bcd70436 Re-added __attribute__(packed)
svn-id: r27830
2007-07-01 18:18:43 +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
Nicola Mettifogo
d2189e7111 Removed some paranoia screen updates. May cause some minor glitches.
svn-id: r27817
2007-07-01 10:07:59 +00:00
Nicola Mettifogo
caa69a55fc Made changeCharacter restore the previous open Archive after completing its duties: this fixes known crash when mini-Dino activates robot, and possibly many unknown others.
svn-id: r27684
2007-06-23 21:53:13 +00:00
Nicola Mettifogo
2fb22f2eea Now clipping frame # to avoid crashes because of bad behavior of game scripts.
svn-id: r27683
2007-06-23 21:42:45 +00:00
Max Horn
9f1e47aa53 Compare Common::KEYCODE_ against KeyState::keycode, not KeyState::ascii
svn-id: r27666
2007-06-23 14:19:54 +00:00
Nicola Mettifogo
83172bc8b0 Changed input routine to use KEYCODE.
svn-id: r27664
2007-06-23 14:10:44 +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
Filippos Karapetis
77acf1bd38 Silence MSVC8 warning
svn-id: r27475
2007-06-16 17:55:45 +00:00
Travis Howell
f4518cd344 The codes difference when selecting character, only applies to the Amiga multi-lingual version.
svn-id: r27464
2007-06-16 11:45:40 +00:00
Nicola Mettifogo
9b62d2a6ea Fixed - embarrassing - broken password check.
svn-id: r27463
2007-06-16 11:43:07 +00:00
Travis Howell
5b7d2d2f10 Add code difference in Amiga versions, when selecting character.
svn-id: r27462
2007-06-16 11:35:29 +00:00
Nicola Mettifogo
860f9613b5 Made language selection screen policy clearer.
svn-id: r27461
2007-06-16 11:28:07 +00:00
Nicola Mettifogo
d3ced30c81 Fixed regression: crash when loading objects on Amiga.
svn-id: r27460
2007-06-16 11:22:23 +00:00
Travis Howell
987aaa6d81 Reduce code duplication.
svn-id: r27459
2007-06-16 11:13:36 +00:00
Travis Howell
ae3a2b70fb Fix quit command failing in certain locations (ie character/language selection) for now.
svn-id: r27458
2007-06-16 10:47:27 +00:00
Travis Howell
e8b89bcca1 Update comment.
svn-id: r27446
2007-06-16 08:56:50 +00:00
Travis Howell
ab1b2e04a9 Remove code to skip frames in the Amiga demo again, as it fixes Honest Chan not appearing correctly.
svn-id: r27442
2007-06-16 06:36:16 +00:00
Travis Howell
4362692684 Add GF_LANG_MULT game flag, for detecting differences between the two Amiga versions.
svn-id: r27441
2007-06-16 02:43:31 +00:00
Nicola Mettifogo
85ce1d85ca All known versions of Nippon Safes are now enabled with all features except for half-brite effects. Please keep an eye out for regression.
svn-id: r27437
2007-06-15 21:40:02 +00:00
Travis Howell
021a66a0ab More adjustments for Amiga version.
svn-id: r27417
2007-06-15 14:39:57 +00:00
Travis Howell
6c3a81cd4e More adjustments for Amiga version.
svn-id: r27416
2007-06-15 14:28:14 +00:00
Travis Howell
f8b030991d When selecting language, ignore request for language that doesn't exist.
svn-id: r27414
2007-06-15 06:30:44 +00:00
Travis Howell
ef14ab45df Another adjustment for Amiga version.
svn-id: r27413
2007-06-15 04:22:21 +00:00
Travis Howell
e5c1149cde Enable language screen in Amiga version.
svn-id: r27412
2007-06-15 04:15:41 +00:00
Travis Howell
388b8689a6 Add basic support for Amiga version.
svn-id: r27411
2007-06-15 04:05:57 +00:00
Nicola Mettifogo
24daa86bdd oops wrong platform.
svn-id: r27398
2007-06-14 10:12:25 +00:00
Nicola Mettifogo
607b2f3476 Added full version of Nippon Safes for Amiga (EN/FR/DE) to detector.
svn-id: r27389
2007-06-13 20:00:39 +00:00
Eugene Sandulenko
6e5b70f5e9 Patch #1733764: "Fallback detection patch". GSoC student.
svn-id: r27375
2007-06-12 12:22:25 +00:00