- Added parser strings for Big Red Adventure
- Pushed parser strings initialization down to engine subclasses svn-id: r28295
This commit is contained in:
parent
bf5bb9280b
commit
b01232f08a
6 changed files with 206 additions and 17 deletions
|
@ -468,7 +468,7 @@ void jobRunScripts(void *parm, Job *j) {
|
|||
|
||||
while (((*inst)->_index != INST_SHOW) && (a->_flags & kFlagsActing)) {
|
||||
|
||||
debugC(9, kDebugJobs, "Animation: %s, instruction: %s", a->_label._text, (*inst)->_index == INST_END ? "end" : _instructionNamesRes[(*inst)->_index - 1]);
|
||||
debugC(9, kDebugJobs, "Animation: %s, instruction: %s", a->_label._text, (*inst)->_index == INST_END ? "end" : _vm->_instructionNamesRes[(*inst)->_index - 1]);
|
||||
|
||||
switch ((*inst)->_index) {
|
||||
case INST_ENDLOOP: // endloop
|
||||
|
|
|
@ -146,8 +146,6 @@ Parallaction::~Parallaction() {
|
|||
|
||||
int Parallaction::init() {
|
||||
|
||||
initResources(); // needs to be pushed into subclass
|
||||
|
||||
_engineFlags = 0;
|
||||
_objectsNames = NULL;
|
||||
_globalTable = NULL;
|
||||
|
|
|
@ -182,8 +182,6 @@ extern uint16 _introSarcData3; // sarcophagus stuff to be saved
|
|||
extern uint16 _introSarcData2; // sarcophagus stuff to be saved
|
||||
extern char _saveData1[];
|
||||
extern uint32 _commandFlags;
|
||||
extern const char *_instructionNamesRes[];
|
||||
extern const char *_commandsNamesRes[];
|
||||
extern const char *_dinoName;
|
||||
extern const char *_donnaName;
|
||||
extern const char *_doughName;
|
||||
|
@ -435,7 +433,6 @@ protected: // members
|
|||
|
||||
void initGame();
|
||||
void initGlobals();
|
||||
void initResources();
|
||||
void runGame();
|
||||
uint32 getElapsedTime();
|
||||
void resetTimer();
|
||||
|
@ -482,6 +479,13 @@ protected: // members
|
|||
public:
|
||||
virtual void callFunction(uint index, void* parm) { }
|
||||
|
||||
public:
|
||||
const char **_zoneFlagNamesRes;
|
||||
const char **_zoneTypeNamesRes;
|
||||
const char **_commandsNamesRes;
|
||||
const char **_callableNamesRes;
|
||||
const char **_instructionNamesRes;
|
||||
|
||||
};
|
||||
|
||||
class Parallaction_ns : public Parallaction {
|
||||
|
@ -494,6 +498,10 @@ public:
|
|||
|
||||
public:
|
||||
virtual void callFunction(uint index, void* parm);
|
||||
|
||||
private:
|
||||
void initResources();
|
||||
|
||||
};
|
||||
|
||||
class Parallaction_br : public Parallaction {
|
||||
|
@ -504,6 +512,14 @@ public:
|
|||
|
||||
int init();
|
||||
|
||||
public:
|
||||
Table *_audioCommandsNames;
|
||||
const char **_audioCommandsNamesRes;
|
||||
|
||||
private:
|
||||
void initResources();
|
||||
|
||||
|
||||
};
|
||||
|
||||
// FIXME: remove global
|
||||
|
|
|
@ -50,6 +50,8 @@ int Parallaction_br::init() {
|
|||
|
||||
_soundMan = new DummySoundMan(this);
|
||||
|
||||
initResources();
|
||||
|
||||
Parallaction::init();
|
||||
|
||||
return 0;
|
||||
|
|
|
@ -61,6 +61,8 @@ int Parallaction_ns::init() {
|
|||
_soundMan = new AmigaSoundMan(this);
|
||||
}
|
||||
|
||||
initResources();
|
||||
|
||||
Parallaction::init();
|
||||
|
||||
return 0;
|
||||
|
|
|
@ -219,7 +219,7 @@ byte _amigaTopazFont[2600] =
|
|||
|
||||
|
||||
|
||||
const char *_zoneFlagNamesRes[] = {
|
||||
const char *_zoneFlagNamesRes_ns[] = {
|
||||
"closed",
|
||||
"active",
|
||||
"remove",
|
||||
|
@ -234,7 +234,7 @@ const char *_zoneFlagNamesRes[] = {
|
|||
"nowalk"
|
||||
};
|
||||
|
||||
const char *_zoneTypeNamesRes[] = {
|
||||
const char *_zoneTypeNamesRes_ns[] = {
|
||||
"examine",
|
||||
"door",
|
||||
"get",
|
||||
|
@ -262,7 +262,7 @@ const char _gameNames[10][20] = {
|
|||
"GAME10"
|
||||
};
|
||||
|
||||
const char *_commandsNamesRes[] = {
|
||||
const char *_commandsNamesRes_ns[] = {
|
||||
"set",
|
||||
"clear",
|
||||
"start",
|
||||
|
@ -281,7 +281,7 @@ const char *_commandsNamesRes[] = {
|
|||
"stop"
|
||||
};
|
||||
|
||||
const char *_instructionNamesRes[] = {
|
||||
const char *_instructionNamesRes_ns[] = {
|
||||
"on",
|
||||
"off",
|
||||
"x",
|
||||
|
@ -302,7 +302,7 @@ const char *_instructionNamesRes[] = {
|
|||
"move"
|
||||
};
|
||||
|
||||
const char *_callableNamesRes[] = {
|
||||
const char *_callableNamesRes_ns[] = {
|
||||
"Projector",
|
||||
"HBOff",
|
||||
"StartIntro",
|
||||
|
@ -330,6 +330,148 @@ const char *_callableNamesRes[] = {
|
|||
"TestResult"
|
||||
};
|
||||
|
||||
const char *_zoneTypeNamesRes_br[] = {
|
||||
"examine",
|
||||
"door",
|
||||
"get",
|
||||
"merge",
|
||||
"taste",
|
||||
"hear",
|
||||
"feel",
|
||||
"speak",
|
||||
"none",
|
||||
"trap",
|
||||
"you",
|
||||
"command",
|
||||
"path",
|
||||
"box"
|
||||
};
|
||||
|
||||
const char *_zoneFlagNamesRes_br[] = {
|
||||
"closed",
|
||||
"active",
|
||||
"remove",
|
||||
"acting",
|
||||
"locked",
|
||||
"fixed",
|
||||
"noname",
|
||||
"nomasked",
|
||||
"looping",
|
||||
"added",
|
||||
"character",
|
||||
"nowalk",
|
||||
"yourself",
|
||||
"scaled",
|
||||
"selfuse"
|
||||
};
|
||||
|
||||
const char *_instructionNamesRes_br[] = {
|
||||
"on",
|
||||
"off",
|
||||
"x",
|
||||
"y",
|
||||
"z",
|
||||
"f",
|
||||
"loop",
|
||||
"endloop",
|
||||
"show",
|
||||
"inc",
|
||||
"dec",
|
||||
"set",
|
||||
"put",
|
||||
"call",
|
||||
"wait",
|
||||
"start",
|
||||
"process",
|
||||
"move",
|
||||
"color",
|
||||
"sound",
|
||||
"mask",
|
||||
"print",
|
||||
"text",
|
||||
"mul",
|
||||
"div",
|
||||
"if",
|
||||
"ifeq",
|
||||
"iflt",
|
||||
"ifgt",
|
||||
"endif",
|
||||
"stop"
|
||||
};
|
||||
|
||||
const char *_commandsNamesRes_br[] = {
|
||||
"set",
|
||||
"clear",
|
||||
"start",
|
||||
"speak",
|
||||
"get"
|
||||
"location",
|
||||
"open",
|
||||
"close",
|
||||
"on",
|
||||
"off",
|
||||
"call",
|
||||
"toggle",
|
||||
"drop",
|
||||
"quit",
|
||||
"move",
|
||||
"stop",
|
||||
"character",
|
||||
"followme",
|
||||
"onmouse",
|
||||
"offmouse",
|
||||
"add",
|
||||
"leave",
|
||||
"inc",
|
||||
"dec",
|
||||
"text",
|
||||
"dummy",
|
||||
"dummy",
|
||||
"let",
|
||||
"music",
|
||||
"fix",
|
||||
"unfix",
|
||||
"zeta",
|
||||
"scroll",
|
||||
"swap",
|
||||
"give",
|
||||
"text",
|
||||
"part",
|
||||
"dummy",
|
||||
"return",
|
||||
"onsave",
|
||||
"offsave"
|
||||
};
|
||||
|
||||
const char *_callableNamesRes_br[] = {
|
||||
"blufade",
|
||||
"resetpalette",
|
||||
"ferrcycle",
|
||||
"lipsinc",
|
||||
"albycle",
|
||||
"password"
|
||||
};
|
||||
|
||||
const char *_audioCommandsNamesRes_br[] = {
|
||||
"play",
|
||||
"stop",
|
||||
"pause",
|
||||
"channel_level",
|
||||
"fadein",
|
||||
"fadeout",
|
||||
"volume",
|
||||
" ",
|
||||
"faderate",
|
||||
" ",
|
||||
" ",
|
||||
" ",
|
||||
" ",
|
||||
" ",
|
||||
" ",
|
||||
" ",
|
||||
"loop"
|
||||
};
|
||||
|
||||
typedef void (*callable)(void*);
|
||||
|
||||
|
||||
|
@ -385,13 +527,19 @@ const char *_minidoughName = "minidough";
|
|||
const char *_minidrkiName = "minidrki";
|
||||
|
||||
|
||||
void Parallaction::initResources() {
|
||||
void Parallaction_ns::initResources() {
|
||||
|
||||
_callableNames = new Table(ARRAYSIZE(_callableNamesRes), _callableNamesRes);
|
||||
_instructionNames = new Table(ARRAYSIZE(_instructionNamesRes), _instructionNamesRes);
|
||||
_zoneFlagNames = new Table(ARRAYSIZE(_zoneFlagNamesRes), _zoneFlagNamesRes);
|
||||
_zoneTypeNames = new Table(ARRAYSIZE(_zoneTypeNamesRes), _zoneTypeNamesRes);
|
||||
_commandsNames = new Table(ARRAYSIZE(_commandsNamesRes), _commandsNamesRes);
|
||||
_zoneFlagNamesRes = _zoneFlagNamesRes_ns;
|
||||
_zoneTypeNamesRes = _zoneTypeNamesRes_ns;
|
||||
_commandsNamesRes = _commandsNamesRes_ns;
|
||||
_callableNamesRes = _callableNamesRes_ns;
|
||||
_instructionNamesRes = _instructionNamesRes_ns;
|
||||
|
||||
_callableNames = new Table(ARRAYSIZE(_zoneFlagNamesRes_ns), _zoneFlagNamesRes_ns);
|
||||
_instructionNames = new Table(ARRAYSIZE(_instructionNamesRes_ns), _instructionNamesRes_ns);
|
||||
_zoneFlagNames = new Table(ARRAYSIZE(_zoneFlagNamesRes_ns), _zoneFlagNamesRes_ns);
|
||||
_zoneTypeNames = new Table(ARRAYSIZE(_zoneTypeNamesRes_ns), _zoneTypeNamesRes_ns);
|
||||
_commandsNames = new Table(ARRAYSIZE(_commandsNamesRes_ns), _commandsNamesRes_ns);
|
||||
|
||||
_localFlagNames = new Table(120);
|
||||
_localFlagNames->addData("visited");
|
||||
|
@ -452,5 +600,28 @@ void Parallaction::initResources() {
|
|||
|
||||
}
|
||||
|
||||
void Parallaction_br::initResources() {
|
||||
|
||||
_zoneFlagNamesRes = _zoneFlagNamesRes_br;
|
||||
_zoneTypeNamesRes = _zoneTypeNamesRes_br;
|
||||
_commandsNamesRes = _commandsNamesRes_br;
|
||||
_callableNamesRes = _callableNamesRes_br;
|
||||
_instructionNamesRes = _instructionNamesRes_br;
|
||||
_audioCommandsNamesRes = _audioCommandsNamesRes_br;
|
||||
|
||||
_callableNames = new Table(ARRAYSIZE(_callableNamesRes_br), _callableNamesRes_br);
|
||||
_instructionNames = new Table(ARRAYSIZE(_instructionNamesRes_br), _instructionNamesRes_br);
|
||||
_zoneFlagNames = new Table(ARRAYSIZE(_zoneFlagNamesRes_br), _zoneFlagNamesRes_br);
|
||||
_zoneTypeNames = new Table(ARRAYSIZE(_zoneTypeNamesRes_br), _zoneTypeNamesRes_br);
|
||||
_commandsNames = new Table(ARRAYSIZE(_commandsNamesRes_br), _commandsNamesRes_br);
|
||||
_audioCommandsNames = new Table(ARRAYSIZE(_audioCommandsNamesRes_br), _audioCommandsNamesRes_br);
|
||||
|
||||
// TODO: make sure there are 120 max locations in Big Red Adventure
|
||||
_localFlagNames = new Table(120);
|
||||
_localFlagNames->addData("visited");
|
||||
|
||||
// TODO: init callables for Big Red Adventure
|
||||
|
||||
}
|
||||
|
||||
} // namespace Parallaction
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue