[Scummvm-cvs-logs] CVS: scummvm/scumm akos.cpp,1.159,1.160

Travis Howell kirben at users.sourceforge.net
Tue Sep 7 17:20:16 CEST 2004


Update of /cvsroot/scummvm/scummvm/scumm
In directory sc8-pr-cvs1.sourceforge.net:/tmp/cvs-serv20532/scumm

Modified Files:
	akos.cpp 
Log Message:

Add more akos codes for HE80+.


Index: akos.cpp
===================================================================
RCS file: /cvsroot/scummvm/scummvm/scumm/akos.cpp,v
retrieving revision 1.159
retrieving revision 1.160
diff -u -d -r1.159 -r1.160
--- akos.cpp	6 Sep 2004 06:51:30 -0000	1.159
+++ akos.cpp	8 Sep 2004 00:19:18 -0000	1.160
@@ -70,6 +70,10 @@
 	AKC_AddVar = 0xC040,
 	AKC_C042 = 0xC042,
 	AKC_C044 = 0xC044,
+	AKC_C045 = 0xC045,
+	AKC_C046 = 0xC046,
+	AKC_C047 = 0xC047,
+	AKC_C048 = 0xC048,
 	AKC_Ignore = 0xC050,
 	AKC_IncVar = 0xC060,
 	AKC_CmdQue3Quick = 0xC061,
@@ -107,6 +111,10 @@
 	AKC_C0A1 = 0xC0A1,
 	AKC_C0A2 = 0xC0A2,
 	AKC_C0A3 = 0xC0A3,
+	AKC_C0A4 = 0xC0A4,
+	AKC_C0A5 = 0xC0A5,
+	AKC_C0A6 = 0xC0A6,
+	AKC_C0A7 = 0xC0A7,
 	AKC_EndSeq = 0xC0FF
 };
 
@@ -1127,13 +1135,14 @@
 	byte active;
 	uint old_curpos, curpos, end;
 	uint code;
-	bool flag_value;
+	bool flag_value, needRedraw;
 	int tmp, tmp2;
 
 	active = a->cost.active[chan];
 	end = a->cost.end[chan];
 	old_curpos = curpos = a->cost.curpos[chan];
 	flag_value = false;
+	needRedraw = false;
 
 	do {
 
@@ -1221,6 +1230,11 @@
 				}
 				break;
 			case AKC_C021:
+			case AKC_C045:
+			case AKC_C046:
+			case AKC_C047:
+			case AKC_C048:
+				needRedraw = 1;
 				curpos += aksq[curpos + 2];
 				break;
 			default:
@@ -1348,7 +1362,10 @@
 		case AKC_ComplexChan:
 		case AKC_C08E:
 		case AKC_ComplexChan2:
+			break;
+
 		case AKC_C021:
+			needRedraw = 1;
 			break;
 
 		case AKC_Cmd3:
@@ -1415,6 +1432,23 @@
 		case AKC_C044:
 			akos_queCommand(3, a, a->sound[a->getAnimVar(GB(2))], 0);
 			continue;
+
+		case AKC_C045:
+			//actorSetUserCondition(a, GB(3), a->getAnimVar(GB(4)));
+			continue;
+
+		case AKC_C046:
+			//a->setAnimVar(GB(4), actorIsUserConditionSet(a, GB(3)));
+			continue;
+
+		case AKC_C047:
+			//actorSetTalkCondition(a, GB(3));
+			continue;
+
+		case AKC_C048:
+			//a->setAnimVar(GB(4), actorIsTalkConditionSet(a, GB(3)));
+			continue;
+
 		default:
 			if ((code & 0xC000) == 0xC000)
 				error("Undefined uSweat token %X", code);
@@ -1429,7 +1463,10 @@
 
 	a->cost.curpos[chan] = curpos;
 
-	return curpos != old_curpos;
+	if (needRedraw)
+		return 1;
+	else
+		return curpos != old_curpos;
 }
 
 void ScummEngine::akos_queCommand(byte cmd, Actor *a, int param_1, int param_2) {





More information about the Scummvm-git-logs mailing list