diff options
Diffstat (limited to 'engines/hugo/parser_v1d.cpp')
| -rw-r--r-- | engines/hugo/parser_v1d.cpp | 130 | 
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(); | 
