Commit Graph

67 Commits

Author SHA1 Message Date
Tarek Soliman
921f602ab8 JANITORIAL: Fix whitespace in pointer template arg 2012-02-15 10:07:08 -06:00
strangerke
69b1485a22 GIT: Clean up: Suppress SVN tags, now useless 2011-05-12 01:16:22 +02:00
Nicola Mettifogo
c4e4f7dc86 PARALLACTION: parse command lists for kNoneType zones, even if defined after TYPE markers. This fixes bug #3131769.
svn-id: r54879
2010-12-12 07:17:13 +00:00
Max Horn
2180b2d6b5 COMMON: Split common/stream.h into several headers
svn-id: r54385
2010-11-19 17:03:07 +00:00
Nicola Mettifogo
466479eb77 Added a parser for kZoneNone zones/animations in BRA.
The only thing it does is parsing a possible command list, which is enough to support the script bug in "scende2". See ticket #3005384.

svn-id: r49628
2010-06-13 09:07:15 +00:00
Nicola Mettifogo
f84b232443 Add a parser for HEAR zones in BRA, and handle the relative MUSIC command. Patch 3003382 by fuzzie, with enhancements.
svn-id: r49105
2010-05-19 17:16:15 +00:00
Nicola Mettifogo
83c8679127 Moved parser functions arrays to file scope, as they were tripping up the obsolete gcc used for the BeOS/Haiku port. If anybody can work out a better solution please apply it, because this makes me sick.
svn-id: r42793
2009-07-26 08:37:03 +00:00
Nicola Mettifogo
20bdfe4173 Moved background and character loading code from LocationParser_br to the engine for BRA.
svn-id: r39814
2009-04-03 17:09:12 +00:00
Nicola Mettifogo
011b73a09b Commands now evaluate their reference Zone at runtime, thus handling of forward references in the parser is no more needed.
svn-id: r39738
2009-03-29 12:41:00 +00:00
Nicola Mettifogo
c1ff3aec3e Removed paranoia check.
svn-id: r39656
2009-03-24 09:01:44 +00:00
Nicola Mettifogo
76c0d08200 * Pushed evaluation of 'following question' from dialogue parsing to dialogue execution.
* Removed all the question forwards declaration code

svn-id: r39654
2009-03-24 08:20:08 +00:00
Nicola Mettifogo
d82aea1e54 Turned ZoneTypes into a regular numeric id (no more a bitfield).
svn-id: r39648
2009-03-23 22:34:46 +00:00
Nicola Mettifogo
d18274d0ee Implemented all variants of IF script instruction. Program class has been changed to store an Array of instruction instead of a List, so that references to instructions are integers.
svn-id: r39631
2009-03-23 11:38:09 +00:00
Nicola Mettifogo
739181c3b7 Postpone loading of mask and path data on BRA. This fixed locations in which mask and path are defined before the screen bitmap.
svn-id: r39512
2009-03-18 10:55:05 +00:00
Max Horn
f9ecd95d69 Whitespace cleanup: Convert space followed by tab to just tab
svn-id: r39203
2009-03-07 19:24:31 +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
659c9fb901 Changed interface to walk code, to better handle the differences between games. Moreover:
* merged PathBuilder_BR into PathWalker_BR
* implemented checkTrap routine for BRA

svn-id: r38836
2009-02-24 08:42:46 +00:00
Nicola Mettifogo
294c76f4c4 Don't assert anymore when a command flag doesn't exist, but ignore it and print a warning instead. Some location scripts in BRA are totally broken.
svn-id: r35783
2009-01-08 07:11:32 +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
e11c17a005 Moved more GfxObj management to Gfx object.
svn-id: r35466
2008-12-21 15:42:47 +00:00
Nicola Mettifogo
b3475d8178 * Replaced char* with Common::String in the parser.
* Enforced const-correctness on related routines.

svn-id: r35326
2008-12-13 03:37:43 +00:00
Nicola Mettifogo
db88c544b7 Fixed assorted leaks in Parallaction.
svn-id: r35270
2008-12-07 12:41:50 +00:00
Nicola Mettifogo
de0fe01c04 Removed unused parameter.
svn-id: r35053
2008-11-14 12:13:59 +00:00
Nicola Mettifogo
618644ba0c Update to the low level parser:
* made it detect buffer overflows 
* removed unused code paths
* general simplification

svn-id: r35047
2008-11-13 15:15:54 +00:00
Nicola Mettifogo
93499c8032 Update ReadStringStream and parser to work with the new eos() logic.
svn-id: r34945
2008-11-09 09:39:36 +00:00
Willem Jan Palenstijn
c8eeae8d4d Big patch changing semantics of ReadStream::eos():
eos() now only returns true _after_ trying to read past the end of the stream.

This has a large potential for regressions. Please test!

svn-id: r34549
2008-09-14 22:28:53 +00:00
Nicola Mettifogo
983863bef3 Uniformed the interface of Parallaction class (and its hierarchy) with regards of gui code, which is now independent of engine version.
svn-id: r34219
2008-08-31 05:18:25 +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
5cfa50f028 Finally moved parseNextToken to Script, where it belongs!
svn-id: r33859
2008-08-14 07:14:34 +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
f4ef55a2e5 Tiny readability aid for parser code.
svn-id: r33369
2008-07-28 11:47:03 +00:00
Nicola Mettifogo
aee1284678 BRA now parses path data from the scripts.
svn-id: r33295
2008-07-26 02:09:50 +00:00
Nicola Mettifogo
1174296a66 Changed the remaining references to Nodes into Points.
svn-id: r33290
2008-07-25 16:08:10 +00:00
Nicola Mettifogo
3e08d36363 * Changed walk code to use Common::Point instead of the clumsy WalkNode.
* Changed walk code to use object copy instead of managing pointers.

svn-id: r33289
2008-07-25 16:01:25 +00:00
Christopher Page
cae6396ce7 Merged revisions 32507-32513,32516,32518,32520-32521,32523-32524,32526-32548,32550-32562 via svnmerge from
https://scummvm.svn.sourceforge.net/svnroot/scummvm/scummvm/trunk

svn-id: r32563
2008-06-05 21:20:35 +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
Christopher Page
fa75221e48 PARA: Fixed some memory leaks
svn-id: r32519
2008-06-03 18:24:54 +00:00
Nicola Mettifogo
b87c11a4a1 Fixed initialization of parsers, necessary after the latest removal of static arrays.
svn-id: r32509
2008-06-03 00:49:27 +00:00
Christopher Page
0cbfc3a9d1 Merged revisions 32348-32349,32351-32356,32358-32411,32413-32441,32443-32445,32449,32453-32454,32456-32457,32459-32462,32464-32465,32467-32492,32494-32503 via svnmerge from
https://scummvm.svn.sourceforge.net/svnroot/scummvm/scummvm/trunk

svn-id: r32505
2008-06-02 21:36:45 +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
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
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