[Scummvm-cvs-logs] CVS: scummvm/queen cutaway.cpp,1.53,1.54

David Eriksson twogood at users.sourceforge.net
Fri Nov 7 07:35:19 CET 2003


Update of /cvsroot/scummvm/scummvm/queen
In directory sc8-pr-cvs1:/tmp/cvs-serv17334/queen

Modified Files:
	cutaway.cpp 
Log Message:
Implement some special actions


Index: cutaway.cpp
===================================================================
RCS file: /cvsroot/scummvm/scummvm/queen/cutaway.cpp,v
retrieving revision 1.53
retrieving revision 1.54
diff -u -d -r1.53 -r1.54
--- cutaway.cpp	7 Nov 2003 10:57:20 -0000	1.53
+++ cutaway.cpp	7 Nov 2003 15:34:51 -0000	1.54
@@ -292,9 +292,148 @@
 
 	switch (index) {
 
+		case 2:
+			_logic->joeUseDress(false);
+			break;
+
+		// c74a.cut - use clothes
+		case 3:
+			_logic->joeUseClothes(false);
+			break;
+
+		case 4:
+			_logic->joeUseUnderwear();
+			break;
+
+		// cdres.cut
+		case 5:
+			_logic->display()->palSetJoe(JP_DRESS);
+			break;
+
+		// cdclo.cut - Set Joe's palette
+		case 6:
+			_logic->display()->palSetJoe(JP_CLOTHES);
+			break;
+
+		// c73e.cut - carbam background animation
+		case 7:
+			_graphics->bobClear(5);	// Car
+			_graphics->bobClear(6);	// FX
+			_graphics->bobClear(7);	// Rico
+			_graphics->bob(5)->active = true;
+			_graphics->bob(6)->active = true;
+			_graphics->bob(7)->active = true;
+			break;
+
+		// c74a.cut - Turn off big oil splat and gun shots!
+		case 8:
+			{
+				// XXX bamflag=0;
+				uint16 oilBobIndex = _logic->findBob(594);
+				_graphics->bob(oilBobIndex)->active = false;
+				_graphics->bob(7)->active = false;
+			}
+			break;
+
 		// cdint.cut - put camera on Joe
 		case 16:
 			_graphics->cameraBob(0);
+			break;
+
+		// c75b.cut - Lightning hits plane
+		case 28:
+			{
+				_graphics->cameraBob(-1);
+				
+				short iy = 0, x, ydir = -1, j, k;
+				
+				BobSlot *planeBob       = _graphics->bob(5);
+				BobSlot *lightningBob   = _graphics->bob(20);
+
+				planeBob->box.y2 = lightningBob->box.y2 = 199;
+				planeBob->y = 135;
+
+				planeBob->scale = 20;
+
+				for (x = 660; x > 163; x -= 6) {
+					planeBob->x = x;
+					planeBob->y = 135 + iy;
+
+					iy -= ydir;
+					if (iy < -9 || iy > 9)
+						ydir = -ydir;
+
+					planeBob->scale++;
+					if (planeBob->scale > 100)
+						planeBob->scale = 100;
+
+					int scrollX = x - 163;
+					if (scrollX > 320)
+						scrollX = 320;
+					_logic->display()->horizontalScroll(scrollX);
+
+					_logic->update();
+				}
+
+ 				planeBob->scale = 100;
+				_logic->display()->horizontalScroll(0);
+
+				planeBob->x -= -8;
+				planeBob->y += 6;
+
+				lightningBob->x = 160;
+				lightningBob->y = 0;
+
+				// 23/2/95 - Play lightning SFX
+				// XXX sfxplay(NULLstr);
+
+				_graphics->bankUnpack(18, lightningBob->frameNum, 15);
+				_graphics->bankUnpack(4,  planeBob    ->frameNum, 15);
+
+                // Plane plunges into the jungle!
+
+				BobSlot *fireBob = _graphics->bob(6);
+
+				fireBob->animating = true;
+				fireBob->x = planeBob->x;
+				fireBob->y = planeBob->y + 10;
+				
+				_graphics->bankUnpack(19, fireBob->frameNum, 15);
+				_logic->update();
+
+				k = 20;
+				j = 1;
+
+				for (x = 163; x > -30; x -= 10) {
+					planeBob->y += 4;
+					fireBob->y += 4;
+					planeBob->x = fireBob->x = x;
+
+					if (k < 40) {
+						_graphics->bankUnpack(j, planeBob->frameNum, 15);
+						_graphics->bankUnpack(k, fireBob ->frameNum, 15);
+						k++;
+						j++;
+
+						if (j == 4)
+							j = 1;
+					}
+					
+					_logic->update();
+				}
+
+				_graphics->cameraBob(0);
+			}
+			break;
+			
+		// c74a.cut - Wait for car to reach correct position before pouring oil
+		case 31:
+			// XXX while(bamindex!=60) update();
+			break;
+
+		// c75b.cut - Screen shake
+		case 32:
+			// TODO implement
 			break;
 
 		// cred.cut - scale title





More information about the Scummvm-git-logs mailing list