aboutsummaryrefslogtreecommitdiff
path: root/engines/parallaction/parallaction.h
diff options
context:
space:
mode:
Diffstat (limited to 'engines/parallaction/parallaction.h')
-rw-r--r--engines/parallaction/parallaction.h49
1 files changed, 22 insertions, 27 deletions
diff --git a/engines/parallaction/parallaction.h b/engines/parallaction/parallaction.h
index 791724a08d..e9b28a1f1d 100644
--- a/engines/parallaction/parallaction.h
+++ b/engines/parallaction/parallaction.h
@@ -43,6 +43,7 @@ namespace GUI {
class ListWidget;
class CommandSender;
}
+#define BRA_TEST 0
extern OSystem *g_system;
@@ -161,14 +162,10 @@ public:
typedef Job* JobPointer;
typedef ManagedList<JobPointer> JobList;
-typedef void (*callable)(void*);
-
extern uint16 _mouseButtons;
extern uint16 _score;
extern uint16 _language;
extern uint32 _engineFlags;
-extern callable _callables[];
-extern uint32 _localFlags[];
extern Command *_forwardedCommands[];
extern char _forwardedAnimationNames[][20];
extern uint16 _numForwards;
@@ -338,7 +335,7 @@ typedef Common::Array<const Opcode*> OpcodeSet;
#define DECLARE_UNQUALIFIED_INSTRUCTION_OPCODE(op) void instOp_##op()
-
+#define NUM_LOCATIONS 120
class Parallaction : public Engine {
friend class Debugger;
@@ -448,7 +445,8 @@ public:
Character _char;
char _characterName[30];
- char _locationNames[120][32];
+ uint32 _localFlags[NUM_LOCATIONS];
+ char _locationNames[NUM_LOCATIONS][32];
int16 _currentLocationIndex;
uint16 _numLocations;
Location _location;
@@ -466,6 +464,7 @@ public:
Font *_menuFont;
Font *_dialogueFont;
+
protected: // data
Debugger *_debugger;
@@ -637,28 +636,18 @@ protected:
Table *_locationZoneStmt;
Table *_locationAnimStmt;
- struct {
+ struct LocationParserContext {
+ bool end;
+
const char *filename;
- bool end;
- Script *script;
- } _locParseCtxt;
- struct {
- bool end;
- Script *script;
- Zone *z;
- } _locZoneParseCtxt;
- struct {
- bool end;
- Script *script;
- Animation *a;
- } _locAnimParseCtxt;
- struct {
- Command *cmd;
- int nextToken;
+ Script *script;
+ Zone *z;
+ Animation *a;
+ int nextToken;
CommandList *list;
- bool end;
- Script *script;
- } _cmdParseCtxt;
+ bool endcommands;
+ Command *cmd;
+ } _locParseCtxt;
DECLARE_UNQUALIFIED_LOCATION_PARSER(invalid);
DECLARE_UNQUALIFIED_LOCATION_PARSER(endlocation);
@@ -796,7 +785,7 @@ protected:
-
+#define NUM_ZONES 100
class Parallaction_br : public Parallaction_ns {
@@ -832,6 +821,12 @@ public:
int32 _counters[32];
+ uint32 _zoneFlags[NUM_LOCATIONS][NUM_ZONES];
+
+ struct LocationParserContext_br : public LocationParserContext {
+ int numZones;
+ } _locParseCtxt;
+
private:
void initResources();
void initFonts();