Commit Graph

64 Commits

Author SHA1 Message Date
Nicola Mettifogo
6398e56d09 Added midi support to BRA. So far music starts, but related script commands haven't been implemented yet.
svn-id: r39397
2009-03-14 17:02:28 +00:00
Nicola Mettifogo
33a8fe7a7e Initialize and save zones flags and follower position when a location switch occurs.
svn-id: r39064
2009-03-02 08:36:42 +00:00
Nicola Mettifogo
44906f574f The engine has now to build the drawing list for the graphic department, instead of setting visibility flags; the new field _prog has been added to GfxObj to help sorting the list.
The outcome is that cleaning up unused resources on location switches is now easier to manage, and less error prone.

svn-id: r38928
2009-02-27 08:56:19 +00:00
Nicola Mettifogo
88efc8603e Removed null*Ptr dummy objects, using SharedPtr's reset method to null pointers instead.
svn-id: r38897
2009-02-26 10:44:01 +00:00
Nicola Mettifogo
93666ef53c Updated all for(;;) loops to use prefix increment on iterators.
svn-id: r38876
2009-02-25 08:53:58 +00:00
Nicola Mettifogo
6334125d1c Implemented follower support, except that:
* follower is forgotten when location changes (see freeLocation)
* the final walking frame is screwed

svn-id: r38838
2009-02-24 11:20:45 +00:00
Nicola Mettifogo
e3afa772e2 Cleanup.
svn-id: r38817
2009-02-23 12:17:25 +00:00
Nicola Mettifogo
d1b71335d6 Fixed support for walking zones in BRA:
* patches are not applied if the zone is not visible when loading 
* when applying a patch, always overwrite the existing data instead of OR'ing

svn-id: r36209
2009-02-03 10:42:27 +00:00
Nicola Mettifogo
e5d75d1f7b Fixed regression from revision 35765. Mask and path patches were destroyed before getting a chance to be used.
svn-id: r35835
2009-01-12 13:14:09 +00:00
Nicola Mettifogo
f1ad8b6934 Extended PathBuffer to support BRA.
svn-id: r35766
2009-01-07 08:16:18 +00:00
Nicola Mettifogo
21fae9d029 * moved more mask management to BackgroundInfo
* simplified mask management for client code
* reduced the clutter into graphics.h by moving the implementations of BackgroundInfo, MaskBuffer and PathBuffer to graphics.cpp
* preparation for the full implementation of BRA's PathBuffer

svn-id: r35765
2009-01-07 07:35:11 +00:00
Nicola Mettifogo
f2b495ba2d Implemented counters in BRA. Only valid answer options are shown, and counter calculations in scripts are performed.
svn-id: r35723
2009-01-04 14:23:20 +00:00
Nicola Mettifogo
b2d7ae871b Dropped the script preprocessor introduced to fix the broken scripts. The parser has evolved in the meantime and can deal with it accordingly.
svn-id: r35700
2009-01-03 14:03:12 +00:00
Nicola Mettifogo
025b2a93e9 Moved mask creation/handling to Gfx.
svn-id: r35447
2008-12-20 08:15:09 +00:00
Nicola Mettifogo
774773b7cd Reduced code duplication when manipulating Animations, and cleanup.
svn-id: r35408
2008-12-17 11:15:47 +00:00
Nicola Mettifogo
e98bc7e402 Removed some unused code.
svn-id: r35357
2008-12-14 10:08:31 +00:00
Nicola Mettifogo
3eeece6a25 * cleanup
* moved find routines from Parallaction to Location

svn-id: r34940
2008-11-08 15:02:19 +00:00
Nicola Mettifogo
fc4256ca85 Fixed error in parsing.
svn-id: r34093
2008-08-22 06:32:12 +00:00
Nicola Mettifogo
7891e5afce Implemented raster operation for masks and postponed blitting of zones after everything in the location has been loaded. This fixes the remaining problems with animations not being masked by items.
svn-id: r33903
2008-08-15 15:08:08 +00:00
Nicola Mettifogo
05a021fd95 Added routines to load and handle item masks: animation are now correctly hidden when they are behind any object. The masks of items that are not explicitly activated (even if visible) still are handled (e.g. the crown in the museum is not visible in the foreground).
svn-id: r33900
2008-08-15 14:25:43 +00:00
Nicola Mettifogo
22eaffcb34 Updated layer calculation: animations are now hidden properly by background elements (but not items yet).
svn-id: r33894
2008-08-15 08:44:41 +00:00
Nicola Mettifogo
0606fef24e Made coordinates and frame number protected into Zone and Animation, and changed client code to use get/set. This will allow various simplifications (e.g. when calculating Z), and is a step towards correct handling of interactive zones of Zone/Animation in BRA.
svn-id: r33892
2008-08-15 04:30:45 +00:00
Nicola Mettifogo
c70d09bc26 Made scripts access Animation fields via accessors and mutators, instead of using raw pointers.
svn-id: r33891
2008-08-15 03:59:45 +00:00
Nicola Mettifogo
2679f6ce7a Disabled lip syncing code in BRA, since I couldn't find any scripts actually using it. Some warnings have been added as a sentinel.
svn-id: r33890
2008-08-15 03:36:01 +00:00
Nicola Mettifogo
ea2a2cbb7c Simplified handling of script variables (especially locals).
svn-id: r33889
2008-08-15 02:52:42 +00:00
Nicola Mettifogo
86079c20f5 Fixed issues detected by DrMcCoy's obnoxious compiler. ;)
svn-id: r33511
2008-08-02 02:43:05 +00:00
Nicola Mettifogo
15aada52c4 * Added a preprocessor to deal with the crappy location scripts in BRA.
* Added some comments on how the parser and related code should be changed to make things smoother.

svn-id: r33509
2008-08-02 02:24:36 +00:00
Nicola Mettifogo
f5b7004fae * Removed references to the current _backgroundInfo from parser code.
* Re-enabled masks (in BRA DOS).

svn-id: r33474
2008-07-31 15:15:42 +00:00
Nicola Mettifogo
6ed4beb1bf Made changing of background more flexible, in that the engine can now configure its BackgroundInfo before passing it to Gfx.
svn-id: r33469
2008-07-31 12:50:43 +00:00
Nicola Mettifogo
591973c827 Changed Gfx::_backgroundInfo to be a pointer. This temporarily kills all z-buffering.
svn-id: r33468
2008-07-31 12:26:12 +00:00
Nicola Mettifogo
f4ef55a2e5 Tiny readability aid for parser code.
svn-id: r33369
2008-07-28 11:47:03 +00:00
Travis Howell
b5a7735ffc Correct character name set by character location parser.
svn-id: r33361
2008-07-28 08:44:14 +00:00
Nicola Mettifogo
aee1284678 BRA now parses path data from the scripts.
svn-id: r33295
2008-07-26 02:09:50 +00:00
Eugene Sandulenko
de09845319 Fix for bug #2008054: Parallaction engine doesn't compile under MSVC9
svn-id: r32879
2008-07-03 08:44:29 +00:00
Nicola Mettifogo
73832f2edd * Implemented character change opcodes in BRA
* Fixed loading of dialogue characters in BRA

svn-id: r32529
2008-06-04 09:07:55 +00:00
Nicola Mettifogo
22d63345e3 Got rid of the static arrays for initialization of parsers and exec opcodes, to make returning to launcher easier. The code has been borrowed by Kyra, after suggestion by LordHoto.
svn-id: r32465
2008-06-01 14:05:39 +00:00
Max Horn
6e3c92e239 Renamed some parallaction member vars to have a leading underscore (besides being part of our code formatting conventions, this fixes various name clash warnings)
svn-id: r32041
2008-05-11 22:08:32 +00:00
Nicola Mettifogo
1320ab610b Cleanup of parsing code.
svn-id: r31999
2008-05-11 08:55:16 +00:00
Nicola Mettifogo
6979458e26 Extracted script parsing code to its own class.
svn-id: r31972
2008-05-10 11:11:03 +00:00
Nicola Mettifogo
1d025957ca Moved location parsing out of the engines, to LocationParser_ns and LocationParser_br.
svn-id: r31958
2008-05-09 01:35:43 +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
Nicola Mettifogo
4295392906 Added new Parser class, which will gradually grow to include all parsing code from the engine class.
svn-id: r31865
2008-05-04 15:09:23 +00:00
Nicola Mettifogo
3d1a2e2049 Replaced custom ManagedList with Common::SharedPtr.
svn-id: r31415
2008-04-06 05:40:02 +00:00
Nicola Mettifogo
435c437f6d More refactoring for command parsing/execution.
svn-id: r30841
2008-02-09 23:26:45 +00:00
Nicola Mettifogo
265621de58 Fixes to make BRA introduction run:
- fixed location command parser
- implemented stop command
- temporary disabled speak zones (audio is not yet supported)

svn-id: r30796
2008-02-05 09:30:58 +00:00
Nicola Mettifogo
a53d87791d - Character is now initialized when needed (for the moment only by NS)
- Forward lists are now bigger since BRA scripts are larger

svn-id: r30769
2008-02-03 16:02:21 +00:00
Nicola Mettifogo
85171eadaa Programs are now handled in their own list, instead of being accessed via the referring Animation.
svn-id: r30768
2008-02-03 14:58:16 +00:00
Nicola Mettifogo
d8349d66ff Subtitles are now displayed in the intro for BRA, though in wrong color (and I don't know why).
svn-id: r30747
2008-02-02 21:22:05 +00:00
Nicola Mettifogo
ed09766acc BRA now loads and displays location backgrounds (at least in the intro).
svn-id: r30740
2008-02-02 13:57:29 +00:00
Nicola Mettifogo
015ad5e469 Some more integration of background code into BackgroundInfo.
svn-id: r30731
2008-02-02 09:48:07 +00:00