aboutsummaryrefslogtreecommitdiff
path: root/engines/hugo/parser_v1d.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'engines/hugo/parser_v1d.cpp')
-rw-r--r--engines/hugo/parser_v1d.cpp130
1 files changed, 65 insertions, 65 deletions
diff --git a/engines/hugo/parser_v1d.cpp b/engines/hugo/parser_v1d.cpp
index ccd428311b..aa43cce536 100644
--- a/engines/hugo/parser_v1d.cpp
+++ b/engines/hugo/parser_v1d.cpp
@@ -81,32 +81,32 @@ const char *Parser_v1d::findNextNoun(const char *noun) const {
bool Parser_v1d::isNear_v1(const char *verb, const char *noun, object_t *obj, char *comment) const {
debugC(1, kDebugParser, "isNear(%s, %s, obj, %s)", verb, noun, comment);
- if (!noun && !obj->verbOnlyFl) { // No noun specified & object not context senesitive
+ if (!noun && !obj->_verbOnlyFl) { // No noun specified & object not context senesitive
return false;
- } else if (noun && (noun != _vm->_text->getNoun(obj->nounIndex, 0))) { // Noun specified & not same as object
+ } else if (noun && (noun != _vm->_text->getNoun(obj->_nounIndex, 0))) { // Noun specified & not same as object
return false;
- } else if (obj->carriedFl) { // Object is being carried
+ } else if (obj->_carriedFl) { // Object is being carried
return true;
- } else if (obj->screenIndex != *_vm->_screen_p) { // Not in same screen
- if (obj->objValue)
+ } else if (obj->_screenIndex != *_vm->_screen_p) { // Not in same screen
+ if (obj->_objValue)
strcpy (comment, _vm->_text->getTextParser(kCmtAny4));
return false;
}
- if (obj->cycling == kCycleInvisible) {
- if (obj->seqNumb) { // There is an image
+ if (obj->_cycling == kCycleInvisible) {
+ if (obj->_seqNumb) { // There is an image
strcpy(comment, _vm->_text->getTextParser(kCmtAny5));
return false;
} else { // No image, assume visible
- if ((obj->radius < 0) ||
- ((abs(obj->x - _vm->_hero->x) <= obj->radius) &&
- (abs(obj->y - _vm->_hero->y - _vm->_hero->currImagePtr->y2) <= obj->radius))) {
+ if ((obj->_radius < 0) ||
+ ((abs(obj->_x - _vm->_hero->_x) <= obj->_radius) &&
+ (abs(obj->_y - _vm->_hero->_y - _vm->_hero->_currImagePtr->_y2) <= obj->_radius))) {
return true;
} else {
// User is either not close enough (stationary, valueless objects)
// or is not carrying it (small, portable objects of value)
if (noun) { // Don't say unless object specified
- if (obj->objValue && (verb != _vm->_text->getVerb(_vm->_take, 0)))
+ if (obj->_objValue && (verb != _vm->_text->getVerb(_vm->_take, 0)))
strcpy(comment, _vm->_text->getTextParser(kCmtAny4));
else
strcpy(comment, _vm->_text->getTextParser(kCmtClose));
@@ -116,15 +116,15 @@ bool Parser_v1d::isNear_v1(const char *verb, const char *noun, object_t *obj, ch
}
}
- if ((obj->radius < 0) ||
- ((abs(obj->x - _vm->_hero->x) <= obj->radius) &&
- (abs(obj->y + obj->currImagePtr->y2 - _vm->_hero->y - _vm->_hero->currImagePtr->y2) <= obj->radius))) {
+ if ((obj->_radius < 0) ||
+ ((abs(obj->_x - _vm->_hero->_x) <= obj->_radius) &&
+ (abs(obj->_y + obj->_currImagePtr->_y2 - _vm->_hero->_y - _vm->_hero->_currImagePtr->_y2) <= obj->_radius))) {
return true;
} else {
// User is either not close enough (stationary, valueless objects)
// or is not carrying it (small, portable objects of value)
if (noun) { // Don't say unless object specified
- if (obj->objValue && (verb != _vm->_text->getVerb(_vm->_take, 0)))
+ if (obj->_objValue && (verb != _vm->_text->getVerb(_vm->_take, 0)))
strcpy(comment, _vm->_text->getTextParser(kCmtAny4));
else
strcpy(comment, _vm->_text->getTextParser(kCmtClose));
@@ -143,28 +143,28 @@ bool Parser_v1d::isNear_v1(const char *verb, const char *noun, object_t *obj, ch
bool Parser_v1d::isGenericVerb_v1(const char *word, object_t *obj) {
debugC(1, kDebugParser, "isGenericVerb(%s, object_t *obj)", word);
- if (!obj->genericCmd)
+ if (!obj->_genericCmd)
return false;
// Following is equivalent to switch, but couldn't do one
if (word == _vm->_text->getVerb(_vm->_look, 0)) {
- if ((LOOK & obj->genericCmd) == LOOK)
- Utils::notifyBox(_vm->_text->getTextData(obj->dataIndex));
+ if ((LOOK & obj->_genericCmd) == LOOK)
+ Utils::notifyBox(_vm->_text->getTextData(obj->_dataIndex));
else
Utils::notifyBox(_vm->_text->getTextParser(kTBUnusual_1d));
} else if (word == _vm->_text->getVerb(_vm->_take, 0)) {
- if (obj->carriedFl)
+ if (obj->_carriedFl)
Utils::notifyBox(_vm->_text->getTextParser(kTBHave));
- else if ((TAKE & obj->genericCmd) == TAKE)
+ else if ((TAKE & obj->_genericCmd) == TAKE)
takeObject(obj);
- else if (!obj->verbOnlyFl) // Make sure not taking object in context!
+ else if (!obj->_verbOnlyFl) // Make sure not taking object in context!
Utils::notifyBox(_vm->_text->getTextParser(kTBNoUse));
else
return false;
} else if (word == _vm->_text->getVerb(_vm->_drop, 0)) {
- if (!obj->carriedFl)
+ if (!obj->_carriedFl)
Utils::notifyBox(_vm->_text->getTextParser(kTBDontHave));
- else if ((DROP & obj->genericCmd) == DROP)
+ else if ((DROP & obj->_genericCmd) == DROP)
dropObject(obj);
else
Utils::notifyBox(_vm->_text->getTextParser(kTBNeed));
@@ -185,42 +185,42 @@ bool Parser_v1d::isObjectVerb_v1(const char *word, object_t *obj) {
debugC(1, kDebugParser, "isObjectVerb(%s, object_t *obj)", word);
// First, find matching verb in cmd list
- uint16 cmdIndex = obj->cmdIndex; // ptr to list of commands
+ uint16 cmdIndex = obj->_cmdIndex; // ptr to list of commands
if (!cmdIndex) // No commands for this obj
return false;
int i;
- for (i = 0; _cmdList[cmdIndex][i].verbIndex != 0; i++) { // For each cmd
- if (!strcmp(word, _vm->_text->getVerb(_cmdList[cmdIndex][i].verbIndex, 0))) // Is this verb catered for?
+ for (i = 0; _cmdList[cmdIndex][i]._verbIndex != 0; i++) { // For each cmd
+ if (!strcmp(word, _vm->_text->getVerb(_cmdList[cmdIndex][i]._verbIndex, 0))) // Is this verb catered for?
break;
}
- if (_cmdList[cmdIndex][i].verbIndex == 0) // No
+ if (_cmdList[cmdIndex][i]._verbIndex == 0) // No
return false;
// Verb match found, check all required objects are being carried
cmd *cmnd = &_cmdList[cmdIndex][i]; // ptr to struct cmd
- if (cmnd->reqIndex) { // At least 1 thing in list
- uint16 *reqs = _arrayReqs[cmnd->reqIndex]; // ptr to list of required objects
+ if (cmnd->_reqIndex) { // At least 1 thing in list
+ uint16 *reqs = _arrayReqs[cmnd->_reqIndex]; // ptr to list of required objects
for (i = 0; reqs[i]; i++) { // for each obj
if (!_vm->_object->isCarrying(reqs[i])) {
- Utils::notifyBox(_vm->_text->getTextData(cmnd->textDataNoCarryIndex));
+ Utils::notifyBox(_vm->_text->getTextData(cmnd->_textDataNoCarryIndex));
return true;
}
}
}
// Required objects are present, now check state is correct
- if ((obj->state != cmnd->reqState) && (cmnd->reqState != kStateDontCare)){
- Utils::notifyBox(_vm->_text->getTextData(cmnd->textDataWrongIndex));
+ if ((obj->_state != cmnd->_reqState) && (cmnd->_reqState != kStateDontCare)){
+ Utils::notifyBox(_vm->_text->getTextData(cmnd->_textDataWrongIndex));
return true;
}
// Everything checked. Change the state and carry out any actions
- if (cmnd->reqState != kStateDontCare) // Don't change new state if required state didn't care
- obj->state = cmnd->newState;
- Utils::notifyBox(_vm->_text->getTextData(cmnd->textDataDoneIndex));
- _vm->_scheduler->insertActionList(cmnd->actIndex);
+ if (cmnd->_reqState != kStateDontCare) // Don't change new state if required state didn't care
+ obj->_state = cmnd->_newState;
+ Utils::notifyBox(_vm->_text->getTextData(cmnd->_textDataDoneIndex));
+ _vm->_scheduler->insertActionList(cmnd->_actIndex);
// Special case if verb is Take or Drop. Assume additional generic actions
if ((word == _vm->_text->getVerb(_vm->_take, 0)) || (word == _vm->_text->getVerb(_vm->_drop, 0)))
isGenericVerb_v1(word, obj);
@@ -237,9 +237,9 @@ bool Parser_v1d::isBackgroundWord_v1(const char *noun, const char *verb, objectL
if (!noun)
return false;
- for (int i = 0; obj[i].verbIndex; i++) {
- if ((verb == _vm->_text->getVerb(obj[i].verbIndex, 0)) && (noun == _vm->_text->getNoun(obj[i].nounIndex, 0))) {
- Utils::notifyBox(_vm->_file->fetchString(obj[i].commentIndex));
+ for (int i = 0; obj[i]._verbIndex; i++) {
+ if ((verb == _vm->_text->getVerb(obj[i]._verbIndex, 0)) && (noun == _vm->_text->getNoun(obj[i]._nounIndex, 0))) {
+ Utils::notifyBox(_vm->_file->fetchString(obj[i]._commentIndex));
return true;
}
}
@@ -252,13 +252,13 @@ bool Parser_v1d::isBackgroundWord_v1(const char *noun, const char *verb, objectL
void Parser_v1d::takeObject(object_t *obj) {
debugC(1, kDebugParser, "takeObject(object_t *obj)");
- obj->carriedFl = true;
- if (obj->seqNumb) // Don't change if no image to display
- obj->cycling = kCycleAlmostInvisible;
+ obj->_carriedFl = true;
+ if (obj->_seqNumb) // Don't change if no image to display
+ obj->_cycling = kCycleAlmostInvisible;
- _vm->adjustScore(obj->objValue);
+ _vm->adjustScore(obj->_objValue);
- Utils::notifyBox(Common::String::format(TAKE_TEXT, _vm->_text->getNoun(obj->nounIndex, TAKE_NAME)));
+ Utils::notifyBox(Common::String::format(TAKE_TEXT, _vm->_text->getNoun(obj->_nounIndex, TAKE_NAME)));
}
/**
@@ -267,13 +267,13 @@ void Parser_v1d::takeObject(object_t *obj) {
void Parser_v1d::dropObject(object_t *obj) {
debugC(1, kDebugParser, "dropObject(object_t *obj)");
- obj->carriedFl = false;
- obj->screenIndex = *_vm->_screen_p;
- if (obj->seqNumb) // Don't change if no image to display
- obj->cycling = kCycleNotCycling;
- obj->x = _vm->_hero->x - 1;
- obj->y = _vm->_hero->y + _vm->_hero->currImagePtr->y2 - 1;
- _vm->adjustScore(-obj->objValue);
+ obj->_carriedFl = false;
+ obj->_screenIndex = *_vm->_screen_p;
+ if (obj->_seqNumb) // Don't change if no image to display
+ obj->_cycling = kCycleNotCycling;
+ obj->_x = _vm->_hero->_x - 1;
+ obj->_y = _vm->_hero->_y + _vm->_hero->_currImagePtr->_y2 - 1;
+ _vm->adjustScore(-obj->_objValue);
Utils::notifyBox(_vm->_text->getTextParser(kTBOk));
}
@@ -284,15 +284,15 @@ void Parser_v1d::dropObject(object_t *obj) {
bool Parser_v1d::isCatchallVerb_v1(bool testNounFl, const char *noun, const char *verb, objectList_t obj) const {
debugC(1, kDebugParser, "isCatchallVerb(%d, %s, %s, object_list_t obj)", (testNounFl) ? 1 : 0, noun, verb);
- if (_vm->_maze.enabledFl)
+ if (_vm->_maze._enabledFl)
return false;
if (testNounFl && !noun)
return false;
- for (int i = 0; obj[i].verbIndex; i++) {
- if ((verb == _vm->_text->getVerb(obj[i].verbIndex, 0)) && ((noun == _vm->_text->getNoun(obj[i].nounIndex, 0)) || (obj[i].nounIndex == 0))) {
- Utils::notifyBox(_vm->_file->fetchString(obj[i].commentIndex));
+ for (int i = 0; obj[i]._verbIndex; i++) {
+ if ((verb == _vm->_text->getVerb(obj[i]._verbIndex, 0)) && ((noun == _vm->_text->getNoun(obj[i]._nounIndex, 0)) || (obj[i]._nounIndex == 0))) {
+ Utils::notifyBox(_vm->_file->fetchString(obj[i]._commentIndex));
return true;
}
}
@@ -310,7 +310,7 @@ void Parser_v1d::lineHandler() {
// Toggle God Mode
if (!strncmp(_vm->_line, "PPG", 3)) {
_vm->_sound->playSound(!_vm->_soundTest, kSoundPriorityHigh);
- gameStatus.godModeFl = !gameStatus.godModeFl;
+ gameStatus._godModeFl = !gameStatus._godModeFl;
return;
}
@@ -321,7 +321,7 @@ void Parser_v1d::lineHandler() {
// fetch <object name> Hero carries named object
// fetch all Hero carries all possible objects
// find <object name> Takes hero to screen containing named object
- if (gameStatus.godModeFl) {
+ if (gameStatus._godModeFl) {
// Special code to allow me to go straight to any screen
if (strstr(_vm->_line, "goto")) {
for (int i = 0; i < _vm->_numScreens; i++) {
@@ -335,7 +335,7 @@ void Parser_v1d::lineHandler() {
// Special code to allow me to get objects from anywhere
if (strstr(_vm->_line, "fetch all")) {
for (int i = 0; i < _vm->_object->_numObj; i++) {
- if (_vm->_object->_objects[i].genericCmd & TAKE)
+ if (_vm->_object->_objects[i]._genericCmd & TAKE)
takeObject(&_vm->_object->_objects[i]);
}
return;
@@ -343,7 +343,7 @@ void Parser_v1d::lineHandler() {
if (strstr(_vm->_line, "fetch")) {
for (int i = 0; i < _vm->_object->_numObj; i++) {
- if (!scumm_stricmp(&_vm->_line[strlen("fetch") + 1], _vm->_text->getNoun(_vm->_object->_objects[i].nounIndex, 0))) {
+ if (!scumm_stricmp(&_vm->_line[strlen("fetch") + 1], _vm->_text->getNoun(_vm->_object->_objects[i]._nounIndex, 0))) {
takeObject(&_vm->_object->_objects[i]);
return;
}
@@ -353,8 +353,8 @@ void Parser_v1d::lineHandler() {
// Special code to allow me to goto objects
if (strstr(_vm->_line, "find")) {
for (int i = 0; i < _vm->_object->_numObj; i++) {
- if (!scumm_stricmp(&_vm->_line[strlen("find") + 1], _vm->_text->getNoun(_vm->_object->_objects[i].nounIndex, 0))) {
- _vm->_scheduler->newScreen(_vm->_object->_objects[i].screenIndex);
+ if (!scumm_stricmp(&_vm->_line[strlen("find") + 1], _vm->_text->getNoun(_vm->_object->_objects[i]._nounIndex, 0))) {
+ _vm->_scheduler->newScreen(_vm->_object->_objects[i]._screenIndex);
return;
}
}
@@ -369,7 +369,7 @@ void Parser_v1d::lineHandler() {
// SAVE/RESTORE
if (!strcmp("save", _vm->_line)) {
- if (gameStatus.gameOverFl)
+ if (gameStatus._gameOverFl)
_vm->gameOverMsg();
else
_vm->_file->saveGame(-1, Common::String());
@@ -387,7 +387,7 @@ void Parser_v1d::lineHandler() {
if (strspn(_vm->_line, " ") == strlen(_vm->_line)) // Nothing but spaces!
return;
- if (gameStatus.gameOverFl) {
+ if (gameStatus._gameOverFl) {
// No commands allowed!
_vm->gameOverMsg();
return;
@@ -425,8 +425,8 @@ void Parser_v1d::lineHandler() {
void Parser_v1d::showInventory() const {
status_t &gameStatus = _vm->getGameStatus();
- if (gameStatus.viewState == kViewPlay) {
- if (gameStatus.gameOverFl)
+ if (gameStatus._viewState == kViewPlay) {
+ if (gameStatus._gameOverFl)
_vm->gameOverMsg();
else
showDosInventory();