diff options
| -rw-r--r-- | engines/gargoyle/glk.cpp | 6 | ||||
| -rw-r--r-- | engines/gargoyle/scott/scott.cpp | 162 | 
2 files changed, 72 insertions, 96 deletions
| diff --git a/engines/gargoyle/glk.cpp b/engines/gargoyle/glk.cpp index dc91d4cca1..25ce3cc45e 100644 --- a/engines/gargoyle/glk.cpp +++ b/engines/gargoyle/glk.cpp @@ -1090,7 +1090,7 @@ void Glk::glk_simple_time_to_date_local(glsi32 time, glui32 factor, glkdate_t *d  }  void Glk::glk_date_to_time_utc(const glkdate_t *date, glktimeval_t *time) { -	// TODO: timezones aren't currently supported +	// WORKAROUND: timezones aren't currently supported  	*time = TimeAndDate(*date);  } @@ -1099,7 +1099,7 @@ void Glk::glk_date_to_time_local(const glkdate_t *date, glktimeval_t *time) {  }  glsi32 Glk::glk_date_to_simple_time_utc(const glkdate_t *date, glui32 factor) { -	// TODO: timezones aren't currently supported +	// WORKAROUND: timezones aren't currently supported  	assert(factor);  	TimeSeconds ts = TimeAndDate(*date);  	return ts / factor; @@ -1113,7 +1113,7 @@ glsi32 Glk::glk_date_to_simple_time_local(const glkdate_t *date, glui32 factor)  /*--------------------------------------------------------------------------*/ -/* XXX non-official Glk functions that may or may not exist */ +/* XXX non-official Glk functions */  const char *Glk::garglk_fileref_get_name(frefid_t fref) const {  	return fref->_filename.c_str(); diff --git a/engines/gargoyle/scott/scott.cpp b/engines/gargoyle/scott/scott.cpp index b0c3444a45..8728cdb46d 100644 --- a/engines/gargoyle/scott/scott.cpp +++ b/engines/gargoyle/scott/scott.cpp @@ -101,7 +101,7 @@ Distributed under the GNU software license\n\n");  			break;  		} -		/* Brian Howarth games seem to use -1 for forever */ +		// Brian Howarth games seem to use -1 for forever  		if (Items[LIGHT_SOURCE].Location/*==-1*/ != DESTROYED && GameHeader.LightTime != -1) {  			GameHeader.LightTime--;  			if (GameHeader.LightTime < 1) { @@ -208,7 +208,7 @@ int Scott::countCarried(void) {  const char *Scott::mapSynonym(const char *word) {  	int n = 1;  	const char *tp; -	static char lastword[16];	/* Last non synonym */ +	static char lastword[16];	// Last non synonym  	while (n <= GameHeader.NumWords) {  		tp = Nouns[n];  		if (*tp == '*') @@ -264,20 +264,16 @@ char *Scott::readString(Common::SeekableReadStream *f) {  			}  		}  		if (c == '`') -			c = '"'; /* pdd */ +			c = '"'; // pdd -					 /* Ensure a valid Glk newline is sent. */ +		// Ensure a valid Glk newline is sent.  		if (c == '\n')  			tmp[ct++] = 10; -		/* Special case: assume CR is part of CRLF in a -		* DOS-formatted file, and ignore it. -		*/ +		// Special case: assume CR is part of CRLF in a DOS-formatted file, and ignore it.  		else if (c == 13)  			; -		/* Pass only ASCII to Glk; the other reasonable option -		* would be to pass Latin-1, but it's probably safe to -		* assume that Scott Adams games are ASCII only. -		*/ +		// Pass only ASCII to Glk; the other reasonable option would be to pass Latin-1, +		// but it's probably safe to assume that Scott Adams games are ASCII only.  		else if ((c >= 32 && c <= 126))  			tmp[ct++] = c;  		else @@ -297,8 +293,8 @@ void Scott::loadDatabase(Common::SeekableReadStream *f, bool loud) {  	Action *ap;  	Room *rp;  	Item *ip; -	/* Load the header */ - +	 +	// Load the header  	readInts(f, 12, &unused, &ni, &na, &nw, &nr, &mc, &pr, &tr, &wl, <, &mn, &trm);  	GameHeader.NumItems = ni; @@ -320,8 +316,7 @@ void Scott::loadDatabase(Common::SeekableReadStream *f, bool loud) {  	Messages = (const char **)memAlloc(sizeof(char *)*(mn + 1));  	GameHeader.TreasureRoom = trm; -	/* Load the actions */ - +	// Load the actions  	ct = 0;  	ap = Actions;  	if (loud) @@ -377,7 +372,7 @@ void Scott::loadDatabase(Common::SeekableReadStream *f, bool loud) {  	while (ct < ni + 1) {  		ip->Text = readString(f);  		ip->AutoGet = strchr(ip->Text, '/'); -		/* Some games use // to mean no auto get/drop word! */ +		// Some games use // to mean no auto get/drop word!  		if (ip->AutoGet && strcmp(ip->AutoGet, "//") && strcmp(ip->AutoGet, "/*")) {  			char *t;  			*ip->AutoGet++ = 0; @@ -393,7 +388,7 @@ void Scott::loadDatabase(Common::SeekableReadStream *f, bool loud) {  		ct++;  	}  	ct = 0; -	/* Discard Comment Strings */ +	// Discard Comment Strings  	while (ct<na + 1) {  		free(readString(f));  		ct++; @@ -654,12 +649,12 @@ int Scott::getInput(int *vb, int *no) {  			case 'w':strcpy(verb, "WEST"); break;  			case 'u':strcpy(verb, "UP"); break;  			case 'd':strcpy(verb, "DOWN"); break; -				/* Brian Howarth interpreter also supports this */ +			// Brian Howarth interpreter also supports this  			case 'i':strcpy(verb, "INVENTORY"); break;  			}  		}  		nc = whichWord(verb, Nouns); -		/* The Scott Adams system has a hack to avoid typing 'go' */ +		// The Scott Adams system has a hack to avoid typing 'go'  		if (nc >= 1 && nc <= 6) {  			vc = 1;  		} else { @@ -673,7 +668,7 @@ int Scott::getInput(int *vb, int *no) {  		}  	} while (vc == -1); -	strcpy(NounText, noun);	/* Needed by GET/DROP hack */ +	strcpy(NounText, noun);	// Needed by GET/DROP hack  	return 0;  } @@ -765,14 +760,16 @@ int Scott::performLine(int ct) {  			if (Items[dv].Location == Items[dv].InitialLoc)  				return 0;  			break; -		case 19:/* Only seen in Brian Howarth games so far */ +		case 19: +			// Only seen in Brian Howarth games so far  			if (CurrentCounter != dv)  				return 0;  			break;  		}  		cc++;  	} -	/* Actions */ + +	// Actions  	act[0] = Actions[ct].action[0];  	act[2] = Actions[ct].action[1];  	act[1] = act[0] % 150; @@ -789,15 +786,13 @@ int Scott::performLine(int ct) {  		} else if (act[cc] > 101) {  			output(Messages[act[cc] - 50]);  			output("\n"); -		} -		else { +		} else {  			switch (act[cc]) { -			case 0:/* NOP */ +			case 0:// NOP  				break;  			case 52: -				if (countCarried() == GameHeader.MaxCarry) -				{ -					if (Options&YOUARE) +				if (countCarried() == GameHeader.MaxCarry) { +					if (Options & YOUARE)  						output("You are carrying too much. ");  					else  						output("I've too much to carry! "); @@ -835,27 +830,25 @@ int Scott::performLine(int ct) {  				else  					output("I am dead.\n");  				BitFlags &= ~(1 << DARKBIT); -				MyLoc = GameHeader.NumRooms;/* It seems to be what the code says! */ +				MyLoc = GameHeader.NumRooms;// It seems to be what the code says!  				break; -			case 62: -			{ -				/* Bug fix for some systems - before it could get parameters wrong */ +			case 62: { +				// Bug fix for some systems - before it could get parameters wrong */  				int i = param[pptr++];  				Items[i].Location = param[pptr++];  				break;  			}  			case 63: -				doneit:				output("The game is now over.\n"); -									glk_exit(); -									break; +doneit: +				output("The game is now over.\n"); +				glk_exit(); +				break;  			case 64:  				break; -			case 65: -			{ +			case 65: {  				int i = 0;  				int n = 0; -				while (i <= GameHeader.NumItems) -				{ +				while (i <= GameHeader.NumItems) {  					if (Items[i].Location == GameHeader.TreasureRoom &&  						*Items[i].Text == '*')  						n++; @@ -869,27 +862,22 @@ int Scott::performLine(int ct) {  				output(" treasures.  On a scale of 0 to 100, that rates ");  				outputNumber((n * 100) / GameHeader.Treasures);  				output(".\n"); -				if (n == GameHeader.Treasures) -				{ +				if (n == GameHeader.Treasures) {  					output("Well done.\n");  					goto doneit;  				}  				break;  			} -			case 66: -			{ +			case 66: {  				int i = 0;  				int f = 0;  				if (Options&YOUARE)  					output("You are carrying:\n");  				else  					output("I'm carrying:\n"); -				while (i <= GameHeader.NumItems) -				{ -					if (Items[i].Location == CARRIED) -					{ -						if (f == 1) -						{ +				while (i <= GameHeader.NumItems) { +					if (Items[i].Location == CARRIED) { +						if (f == 1) {  							if (Options & TRS80_STYLE)  								output(". ");  							else @@ -917,13 +905,12 @@ int Scott::performLine(int ct) {  				BitFlags &= ~(1 << LIGHTOUTBIT);  				break;  			case 70: -				clearScreen(); /* pdd. */ +				clearScreen(); // pdd.  				break;  			case 71:  				saveGame();  				break; -			case 72: -			{ +			case 72: {  				int i1 = param[pptr++];  				int i2 = param[pptr++];  				int t = Items[i1].Location; @@ -937,15 +924,15 @@ int Scott::performLine(int ct) {  			case 74:  				Items[param[pptr++]].Location = CARRIED;  				break; -			case 75: -			{ +			case 75: {  				int i1, i2;  				i1 = param[pptr++];  				i2 = param[pptr++];  				Items[i1].Location = Items[i2].Location;  				break;  			} -			case 76:	/* Looking at adventure .. */ +			case 76: +				// Looking at adventure ..  				break;  			case 77:  				if (CurrentCounter >= 0) @@ -957,19 +944,16 @@ int Scott::performLine(int ct) {  			case 79:  				CurrentCounter = param[pptr++];  				break; -			case 80: -			{ +			case 80: {  				int t = MyLoc;  				MyLoc = SavedRoom;  				SavedRoom = t;  				break;  			} -			case 81: -			{ -				/* This is somewhat guessed. Claymorgue always -				seems to do select counter n, thing, select counter n, -				but uses one value that always seems to exist. Trying -				a few options I found this gave sane results on ageing */ +			case 81: { +				// This is somewhat guessed. Claymorgue always seems to do +				// select counter n, thing, select counter n, but uses one value that always +				// seems to exist. Trying a few options I found this gave sane results on ageing  				int t = param[pptr++];  				int c1 = CurrentCounter;  				CurrentCounter = Counters[t]; @@ -983,8 +967,8 @@ int Scott::performLine(int ct) {  				CurrentCounter -= param[pptr++];  				if (CurrentCounter < -1)  					CurrentCounter = -1; -				/* Note: This seems to be needed. I don't yet -				know if there is a maximum value to limit too */ +				// Note: This seems to be needed. I don't yet know if there +				// is a maximum value to limit too  				break;  			case 84:  				output(NounText); @@ -996,10 +980,8 @@ int Scott::performLine(int ct) {  			case 86:  				output("\n");  				break; -			case 87: -			{ -				/* Changed this to swap location<->roomflag[x] -				not roomflag 0 and x */ +			case 87: { +				// Changed this to swap location<->roomflag[x] not roomflag 0 and x  				int p = param[pptr++];  				int sr = MyLoc;  				MyLoc = RoomSaved[p]; @@ -1011,9 +993,9 @@ int Scott::performLine(int ct) {  				break;  			case 89:  				pptr++; -				/* SAGA draw picture n */ -				/* Spectrum Seas of Blood - start combat ? */ -				/* Poking this into older spectrum games causes a crash */ +				// SAGA draw picture n +				// Spectrum Seas of Blood - start combat ? +				// Poking this into older spectrum games causes a crash  				break;  			default:  				error("Unknown action %d [Param begins %d %d]\n", @@ -1029,7 +1011,7 @@ int Scott::performLine(int ct) {  }  int Scott::performActions(int vb, int no) { -	static int disable_sysfunc = 0;	/* Recursion lock */ +	static int disable_sysfunc = 0;	// Recursion lock  	int d = BitFlags&(1 << DARKBIT);  	int ct = 0; @@ -1069,11 +1051,11 @@ int Scott::performActions(int vb, int no) {  	while (ct <= GameHeader.NumActions) {  		int vv, nv;  		vv = Actions[ct].Vocab; -		/* Think this is now right. If a line we run has an action73 -		run all following lines with vocab of 0,0 */ +		// Think this is now right. If a line we run has an action73 +		// run all following lines with vocab of 0,0  		if (vb != 0 && (doagain&&vv != 0))  			break; -		/* Oops.. added this minor cockup fix 1.11 */ +		// Oops.. added this minor cockup fix 1.11  		if (vb != 0 && !doagain && fl == 0)  			break;  		nv = vv % 150; @@ -1085,7 +1067,7 @@ int Scott::performActions(int vb, int no) {  				if (fl == -1)  					fl = -2;  				if ((f2 = performLine(ct)) > 0) { -					/* ahah finally figured it out ! */ +					// ahah finally figured it out !  					fl = 0;  					if (f2 == 2)  						doagain = 1; @@ -1096,13 +1078,10 @@ int Scott::performActions(int vb, int no) {  		}  		ct++; -		/* Previously this did not check ct against -		* GameHeader.NumActions and would read past the end of -		* Actions.  I don't know what should happen on the last -		* action, but doing nothing is better than reading one -		* past the end. -		* --Chris -		*/ +		// Previously this did not check ct against GameHeader.NumActions and would read +		// past the end of Actions.  I don't know what should happen on the last action, +		// but doing nothing is better than reading one past the end. +		// --Chris  		if (ct <= GameHeader.NumActions && Actions[ct].Vocab != 0)  			doagain = 0;  	} @@ -1112,7 +1091,7 @@ int Scott::performActions(int vb, int no) {  			Items[LIGHT_SOURCE].Location == CARRIED)  			d = 0;  		if (vb == 10 || vb == 18) { -			/* Yes they really _are_ hardcoded values */ +			// Yes they really _are_ hardcoded values  			if (vb == 10) {  				if (xstrcasecmp(NounText, "ALL") == 0) {  					int i = 0; @@ -1125,8 +1104,8 @@ int Scott::performActions(int vb, int no) {  					while (i <= GameHeader.NumItems) {  						if (Items[i].Location == MyLoc && Items[i].AutoGet != nullptr && Items[i].AutoGet[0] != '*') {  							no = whichWord(Items[i].AutoGet, Nouns); -							disable_sysfunc = 1;	/* Don't recurse into auto get ! */ -							performActions(vb, no);	/* Recursively check each items table code */ +							disable_sysfunc = 1;	// Don't recurse into auto get ! +							performActions(vb, no);	// Recursively check each items table code  							disable_sysfunc = 0;  							if (countCarried() == GameHeader.MaxCarry) {  								if (Options&YOUARE) @@ -1146,13 +1125,11 @@ int Scott::performActions(int vb, int no) {  						output("Nothing taken.");  					return 0;  				} -				if (no == -1) -				{ +				if (no == -1) {  					output("What ? ");  					return 0;  				} -				if (countCarried() == GameHeader.MaxCarry) -				{ +				if (countCarried() == GameHeader.MaxCarry) {  					if (Options&YOUARE)  						output("You are carrying too much. ");  					else @@ -1160,8 +1137,7 @@ int Scott::performActions(int vb, int no) {  					return 0;  				}  				item = matchUpItem(NounText, MyLoc); -				if (item == -1) -				{ +				if (item == -1) {  					if (Options&YOUARE)  						output("It is beyond your power to do that. ");  					else | 
