[Scummvm-cvs-logs] CVS: scummvm/scumm/smush insane.cpp,1.8,1.9 insane.h,1.5,1.6 smush_player.cpp,1.69,1.70

Eugene Sandulenko sev at users.sourceforge.net
Fri Dec 12 06:31:01 CET 2003


Update of /cvsroot/scummvm/scummvm/scumm/smush
In directory sc8-pr-cvs1:/tmp/cvs-serv21027

Modified Files:
	insane.cpp insane.h smush_player.cpp 
Log Message:
  o Fixed playback. Now you see Ben falling 
  o Next batch of enemy code implemented
  o Cleanup


Index: insane.cpp
===================================================================
RCS file: /cvsroot/scummvm/scummvm/scumm/smush/insane.cpp,v
retrieving revision 1.8
retrieving revision 1.9
diff -u -d -r1.8 -r1.9
--- insane.cpp	10 Dec 2003 06:02:14 -0000	1.8
+++ insane.cpp	12 Dec 2003 14:29:58 -0000	1.9
@@ -150,6 +150,10 @@
 	_keybY = 0;
 	_firstBattle = false;
 	_battleScene = true;
+	_kickBenProgress = false;
+	_weaponBenJustSwitched = false;
+	_kickEnemyProgress = false;
+	_weaponEnemyJustSwitched = false;
 	_val11d = 0;
 	_val32d = -1;
 	_val51d = 0;
@@ -173,8 +177,6 @@
 	_val122_ = false;
 	_val123_ = false;
 	_val124_ = false;
-	_kickingInProgress = false;
-	_weaponJustSwitched = false;
 	_val130b = 0;
 	_val131w = 0;
 	_val132w = 0;
@@ -2829,7 +2831,7 @@
 				tsceneProp = &_sceneProp[_currScenePropIdx + _currScenePropSubIdx];
 				tsceneProp->counter = 0;
 				if (tsceneProp->trsId)
-					_currTrsMsg = handleTrsTag(_trsFilePtr, tsceneProp->trsId);
+					_currTrsMsg = tsceneProp->trsId;
 				else
 					_currTrsMsg = 0;
 
@@ -3296,7 +3298,7 @@
 			_actor[0].act[2].state = 1;
 			_actor[0].inventory[INV_MACE] = 0;
 			smlayer_startSound2(318);
-			switchWeapon();
+			switchBenWeapon();
 		}
 		_actor[0].act[2].tilt = calcTilt(_actor[0].speed);
 		break;
@@ -3316,7 +3318,7 @@
 			_actor[0].act[2].state = 1;
 			_actor[0].inventory[INV_MACE] = 0;
 			smlayer_startSound2(318);
-			switchWeapon();
+			switchBenWeapon();
 		}
 		_actor[0].act[2].tilt = calcTilt(_actor[0].speed);
 		break;
@@ -3336,7 +3338,7 @@
 			_actor[0].act[2].state = 1;
 			_actor[0].inventory[INV_CHAIN] = 0; // Chain
 			smlayer_startSound2(318);
-			switchWeapon();
+			switchBenWeapon();
 		}
 		_actor[0].act[2].tilt = calcTilt(_actor[0].speed);
 		break;
@@ -3345,7 +3347,7 @@
 		_actor[0].field_2C = 1;
 		_actor[0].kicking = 0;
 		_actor[0].field_44 = 1;
-		if (_actor[0].act[2].frame >= 2 && !_kickingInProgress) {
+		if (_actor[0].act[2].frame >= 2 && !_kickBenProgress) {
 			smlayer_setActorFacing(0, 2, 19, 180);
 			_actor[0].act[2].state = 74;
 		}
@@ -3390,7 +3392,7 @@
 		_actor[0].field_2C = 1;
 		_actor[0].kicking = 0;
 		_actor[0].field_44 = 1;
-		if (_actor[0].act[2].frame >= 2 && !_kickingInProgress) {
+		if (_actor[0].act[2].frame >= 2 && !_kickBenProgress) {
 			smlayer_setActorFacing(0, 2, 23, 180);
 			_actor[0].act[2].state = 82;
 		}
@@ -3434,7 +3436,7 @@
 		_actor[0].field_2C = 0;
 		_actor[0].kicking = 0;
 		_actor[0].field_44 = 1;
-		if (_actor[0].act[2].frame >= 2 && !_kickingInProgress) {
+		if (_actor[0].act[2].frame >= 2 && !_kickBenProgress) {
 			smlayer_setActorFacing(0, 2, 23, 180);
 			_actor[0].act[2].state = 84;
 		}
@@ -3456,7 +3458,7 @@
 		_actor[0].field_2C = 1;
 		_actor[0].kicking = 0;
 		_actor[0].field_44 = 1;
-		if (_actor[0].act[2].frame >= 4 && !_kickingInProgress) {
+		if (_actor[0].act[2].frame >= 4 && !_kickBenProgress) {
 			smlayer_setActorFacing(0, 2, 23, 180);
 			_actor[0].act[2].state = 76;
 		}
@@ -4196,7 +4198,7 @@
 		_actor[0].kicking = 0;
 		
 		if (!smlayer_actorNeedRedraw(0, 2)) {
-			switchWeapon();
+			switchBenWeapon();
 			_actor[0].act[2].tilt = 0;
 		}
 		_actor[0].act[2].tilt = calcTilt(_actor[0].speed);
@@ -4375,17 +4377,17 @@
 void Insane::actor01Reaction(int32 buttons) {
 	int32 tmpx, tmpy;
 
-	chooseWeaponAnim(buttons);
+	chooseBenWeaponAnim(buttons);
 
 	switch (_actor[0].speed) {
 	case -3:
 		if (_actor[0].act[1].state != 41 || _actor[0].field_2C != _actor[0].field_30) {
-			setEnemyAnimation(0, 6);
+			setBenAnimation(0, 6);
 			_actor[0].act[1].state = 41;
 		}
 	
 		if (_actor[0].field_14 >= -100) {
-			setEnemyAnimation(0, 7);
+			setBenAnimation(0, 7);
 			_actor[0].act[1].state = 40;
 			_actor[0].field_8 = 48;
 			_actor[0].speed = -2;
@@ -4393,7 +4395,7 @@
 		break;
 	case -2:
 		if (_actor[0].act[1].state != 40 || _actor[0].field_2C != _actor[0].field_30) {
-			setEnemyAnimation(0, 7);
+			setBenAnimation(0, 7);
 			_actor[0].act[1].state = 40;
 		}
 		if (_actor[0].field_8 == 48)
@@ -4403,7 +4405,7 @@
 		break;
 	case -1:
 		if (_actor[0].act[1].state != 39 || _actor[0].field_2C != _actor[0].field_30) {
-			setEnemyAnimation(0, 8);
+			setBenAnimation(0, 8);
 			_actor[0].act[1].state = 39;
 		}
 	
@@ -4414,18 +4416,18 @@
 		break;
 	case 0:
 		if (_actor[0].act[1].state != 1 || _actor[0].field_2C != _actor[0].field_30) {
-			setEnemyAnimation(0, 9);
+			setBenAnimation(0, 9);
 			_actor[0].act[1].state = 1;
 		}
 		_actor[0].field_8 = 1;
 		if (_actor[0].field_14 < -100) {
-			setEnemyAnimation(0, 8);
+			setBenAnimation(0, 8);
 			_actor[0].act[1].state = 39;
 			_actor[0].field_8 = 46;
 			_actor[0].speed = -1;
 		} else {
 			if (_actor[0].field_14 > 100) {
-				setEnemyAnimation(0, 10);
+				setBenAnimation(0, 10);
 				_actor[0].act[1].state = 55;
 				_actor[0].field_8 = 49;
 				_actor[0].speed = 1;
@@ -4434,7 +4436,7 @@
 		break;
 	case 1:
 		if (_actor[0].act[1].state != 55 || _actor[0].field_2C != _actor[0].field_30) {
-			setEnemyAnimation(0, 10);
+			setBenAnimation(0, 10);
 			_actor[0].act[1].state = 55;
 		}
 		if (_actor[0].field_8 == 51)
@@ -4444,7 +4446,7 @@
 		break;
 	case 2:
 		if (_actor[0].act[1].state != 56 || _actor[0].field_2C != _actor[0].field_30) {
-			setEnemyAnimation(0, 11);
+			setBenAnimation(0, 11);
 			_actor[0].act[1].state = 56;
 		}
 		if (_actor[0].field_8 == 51)
@@ -4454,12 +4456,12 @@
 		break;
 	case 3:
 		if (_actor[0].act[1].state != 57 || _actor[0].field_2C != _actor[0].field_30) {
-			setEnemyAnimation(0, 12);
+			setBenAnimation(0, 12);
 			_actor[0].act[1].state = 57;
 		}
 	
 		if (_actor[0].field_14 <= 100) {
-			setEnemyAnimation(0, 11);
+			setBenAnimation(0, 11);
 			_actor[0].act[1].state = 56;
 			_actor[0].field_8 = 51;
 			_actor[0].speed = 2;
@@ -4567,10 +4569,10 @@
 	}
 }
 
-void Insane::chooseWeaponAnim(int buttons) {
+void Insane::chooseBenWeaponAnim(int buttons) {
 	// kick
 	if ((buttons & 1) && (_currEnemy != EN_TORQUE)) {
-		if (!_kickingInProgress && actor0StateFlags2(_actor[0].act[2].state + _actor[0].weapon * 238)) {
+		if (!_kickBenProgress && actor0StateFlags2(_actor[0].act[2].state + _actor[0].weapon * 238)) {
 			switch (_actor[0].weapon) {
 			case INV_CHAIN:
 				_actor[0].act[2].state = 10;
@@ -4600,15 +4602,15 @@
 				break;
 			}
 			_actor[0].kicking = 1;
-			_kickingInProgress = true;
+			_kickBenProgress = true;
 		}
 	} else {
-		_kickingInProgress = false;
+		_kickBenProgress = false;
 	}
 
 	// switch weapon
 	if ((buttons & 2) && (_currEnemy != EN_TORQUE)) {
-		if (_weaponJustSwitched)
+		if (_weaponBenJustSwitched)
 			return;
 
 		if (!actor0StateFlags1(_actor[0].act[2].state))
@@ -4627,26 +4629,26 @@
 		case INV_HAND:
 		case INV_DUST:
 			_actor[0].act[2].state = 0;
-			switchWeapon();
+			switchBenWeapon();
 		}
 		
-		_weaponJustSwitched = true;
+		_weaponBenJustSwitched = true;
 	} else {
-		_weaponJustSwitched = false;
+		_weaponBenJustSwitched = false;
 	}
 }
 
-void Insane::setEnemyAnimation(int32 actornum, int32 arg_4) {
-	if (arg_4 <= 12)
+void Insane::setBenAnimation(int32 actornum, int anim) {
+	if (anim <= 12)
 		smlayer_setActorFacing(actornum, 1, 
-			  actorAnimationData[_actor[actornum].field_2C * 7 + arg_4 - 6], 180);
+			  actorAnimationData[_actor[actornum].field_2C * 7 + anim - 6], 180);
 }
 
-void Insane::switchWeapon(void) {
+void Insane::switchBenWeapon(void) {
 	do {
 		_actor[0].weapon++;
 		if (_actor[0].weapon > 7)
-			_actor[0].weapon = 0;
+			_actor[0].weapon = INV_CHAIN;
 
 	} while (!_actor[0].inventory[_actor[0].weapon]);
 
@@ -4745,7 +4747,7 @@
 	_sceneProp[scenePropNum + 1].counter = 0;
 	_currScenePropSubIdx = 1;
 	if (_sceneProp[scenePropNum + 1].trsId)
-		_currTrsMsg = handleTrsTag(_trsFilePtr, _sceneProp[scenePropNum + 1].trsId);
+		_currTrsMsg = _sceneProp[scenePropNum + 1].trsId;
 	else
 		_currTrsMsg = 0;
 
@@ -5267,17 +5269,19 @@
 	debug(1, "11:%d 12:%d 13:%d 10:%d", _actor[1].act[1].state, 
 				_actor[1].act[2].state, _actor[1].act[3].state, _actor[1].act[0].state);
 	actor11Reaction(buttons);
-	proc51(buttons);
-	proc54(buttons);
+	actor12Reaction(buttons);
+	actor13Reaction(buttons);
 	actor10Reaction(buttons);
 }
 
 void Insane::actor11Reaction(int32 buttons) {
-	proc56(buttons);
+	int32 tmpx, tmpy;
+
+	chooseEnemyWeaponAnim(buttons);
 
 	switch(_actor[1].speed) {
 	case -3:
-		if (_actor[1].act[1].state != 41 || _actor[1].field_2C != _actor[0].field_30) {
+		if (_actor[1].act[1].state != 41 || _actor[1].field_2C != _actor[1].field_30) {
 			setEnemyAnimation(1, 6);
 			_actor[1].act[1].state = 41;
 		}
@@ -5289,25 +5293,351 @@
 			_actor[1].speed = -2;
 		}
 
-		//insane_actor1.x += (a - a * 32) / 32;
+		_actor[1].x += _actor[1].field_14 / 32;
+		break;
+	case -2:
+		if (_actor[1].act[1].state != 40 || _actor[1].field_2C != _actor[1].field_30) {
+			setEnemyAnimation(1, 7);
+			_actor[1].act[1].state = 40;
+		}
+		if (_actor[1].field_8 == 48)
+			_actor[1].speed = -1;
+		else
+			_actor[1].speed = -3;
 
-		//_actor[1].x = _actor[1].field_14; // XXX
+		_actor[1].x += _actor[1].field_14 / 32;
+		break;
+	case -1:
+		if (_actor[1].act[1].state != 39 || _actor[1].field_2C != _actor[1].field_30) {
+		    setEnemyAnimation(1, 8);
+			_actor[1].act[1].state = 39;
+		}
+	
+		if (_actor[1].field_8 == 48)
+			_actor[1].speed = 0;
+		else
+			_actor[1].speed = -2;
+
+		_actor[1].x += _actor[1].field_14 / 32;
+		break;
+	case 0:
+		if (_actor[1].act[1].state != 1 || _actor[1].field_2C != _actor[1].field_30) {
+			setEnemyAnimation(1, 9);
+			_actor[1].act[1].state = 1;
+		}
+		_actor[1].field_8 = 1;
+		if (_actor[1].field_14 < -100) {
+			setEnemyAnimation(1, 8);
+			_actor[1].act[1].state = 39;
+			_actor[1].field_8 = 46;
+			_actor[1].speed = -1;
+		} else {
+			if (_actor[1].field_14 > 100) {
+				setEnemyAnimation(1, 10);
+				_actor[1].act[1].state = 55;
+				_actor[1].field_8 = 49;
+				_actor[1].speed = 1;
+			}
+		}
+		break;
+	case 1:
+		if (_actor[1].act[1].state != 55 || _actor[1].field_2C != _actor[1].field_30) {
+			setEnemyAnimation(1, 10);
+			_actor[1].act[1].state = 55;
+		}
+		if (_actor[1].field_8 == 51)
+			_actor[1].speed = 0;
+		else
+			_actor[1].speed = 2;
+
+		_actor[1].x += _actor[1].field_14 / 32;
+		break;
+	case 2:
+		if (_actor[1].act[1].state != 56 || _actor[1].field_2C != _actor[1].field_30) {
+			setEnemyAnimation(1, 11);
+			_actor[1].act[1].state = 56;
+		}
+		if (_actor[1].field_8 == 51)
+			_actor[1].speed = 1;
+		else
+			_actor[1].speed = 3;
+
+		_actor[1].x += _actor[1].field_14 / 32;
+		break;
+	case 3:
+		if (_actor[1].act[1].state != 57 || _actor[1].field_2C != _actor[1].field_30) {
+			setEnemyAnimation(1, 12);
+			_actor[1].act[1].state = 57;
+		}
+	
+		if (_actor[1].field_14 <= 100) {
+			setEnemyAnimation(1, 11);
+			_actor[1].act[1].state = 56;
+			_actor[1].field_8 = 51;
+			_actor[1].speed = 2;
+		}
+
+		_actor[1].x += _actor[1].field_14 / 32;
 		break;
 	}
+	
+	tmpx = _actor[1].x;
+	tmpy = _actor[1].y + _actor[1].y1;
+
+	if (_actor[1].act[1].room)
+		smlayer_putActor(1, 1, tmpx, tmpy, _smlayer_room2);
+	else 
+		smlayer_putActor(1, 1, tmpx, tmpy, _smlayer_room);
+
+	_actor[1].field_30 = _actor[1].field_2C;
 }
 
-void Insane::proc56(int32 buttons) {
-	// FIXME: implement
+void Insane::setEnemyAnimation(int32 actornum, int anim) {
+	int d = 0;
+
+	if (_currEnemy == EN_VULTM1)
+		d = 14;
+
+	if (anim <= 12)
+		smlayer_setActorFacing(actornum, 1, 
+			  actorAnimationData[_actor[actornum].field_2C * 7 + anim - 6 + d], 180);
 }
 
-// 12
-void Insane::proc51(int32 buttons) {
-	// FIXME: implement
+void Insane::chooseEnemyWeaponAnim(int32 buttons) {
+	// kick
+	if ((buttons & 1) && (!_actor[0].lost)) {
+		if (!_kickEnemyProgress && actor0StateFlags2(_actor[1].act[2].state + _actor[1].weapon * 238)) {
+			switch (_actor[1].weapon) {
+			case INV_CHAIN:
+				_actor[1].act[2].state = 10;
+				break;
+			case INV_CHAINSAW:
+				_actor[1].act[2].state = 14;
+				break;
+			case INV_MACE:
+				_actor[1].act[2].state = 18;
+				break;
+			case INV_2X4:
+				_actor[1].act[2].state = 22;
+				break;
+			case INV_WRENCH:
+				_actor[1].act[2].state = 26;
+				break;
+			case INV_BOOT:
+				_actor[1].act[2].state = 93;
+				break;
+			case INV_HAND:
+				_actor[1].act[2].state = 2;
+				break;
+			case INV_DUST:
+				_actor[1].act[2].state = 89;
+				break;
+			default:
+				break;
+			}
+			_kickEnemyProgress = true;
+		}
+	} else {
+		_kickEnemyProgress = false;
+	}
+
+	// switch weapon
+	if ((buttons & 2) && (_currEnemy != EN_TORQUE)) {
+		if (_weaponBenJustSwitched || _actor[1].act[2].state == 35 ||
+			_actor[1].act[2].state == 34)
+			return;
+
+		if (!actor0StateFlags1(_actor[1].act[2].state))
+			return;
+
+		switch (_actor[1].weapon) {
+		case INV_CHAIN:
+		case INV_CHAINSAW:
+		case INV_MACE:
+		case INV_2X4:
+		case INV_WRENCH:
+			_actor[1].act[2].state = 35;
+			smlayer_setActorFacing(1, 2, 24, 180);
+			break;
+		case INV_BOOT:
+		case INV_HAND:
+		case INV_DUST:
+			_actor[1].act[2].state = 0;
+			switchEnemyWeapon();
+		}
+		
+		_weaponEnemyJustSwitched = true;
+	} else {
+		_weaponEnemyJustSwitched = false;
+	}
 }
 
-// 13
-void Insane::proc54(int32 buttons) {
+void Insane::switchEnemyWeapon(void) {
+	do {
+		_actor[1].weapon++;
+		if (_actor[1].weapon > 7)
+			_actor[1].weapon = INV_CHAIN;
+
+	} while (!_actor[1].inventory[_actor[1].weapon]);
+
+	switch (_actor[1].weapon) {
+	case INV_CHAIN:
+	case INV_CHAINSAW:
+	case INV_MACE:
+	case INV_2X4:
+	case INV_WRENCH:
+		smlayer_setActorCostume(1, 2, readArray(_numberArray, _enemy[_currEnemy].costume4));
+		smlayer_setActorFacing(1, 2, 18, 180);
+		_actor[1].field_2C = 1;
+		_actor[1].act[2].state = 34;
+		break;
+	case INV_BOOT:
+		_actor[1].field_2C = 2;
+		_actor[1].act[2].state = 1;
+		break;
+	case INV_HAND:
+		smlayer_setActorCostume(1, 2, readArray(_numberArray, _enemy[_currEnemy].costume4));
+		_actor[1].field_2C = 1;
+		_actor[1].act[2].state = 34;
+		break;
+	case INV_DUST:
+		enemyDustAction();
+		break;
+	default:
+		break;
+	}
+}
+
+void Insane::enemyDustAction(void) {
+	if (_actor[1].lost)
+		return;
+
+	_actor[1].act[2].facing = -1000;
+
+	if (_currEnemy == EN_CAVEFISH) {
+		_actor[1].field_2C = 2;
+		if (!_val121_)
+			_actor[1].act[2].state = 98;
+		else
+			_actor[1].act[2].state = 99;
+		
+		return;
+	}
+
+	switch (_actor[1].weapon) {
+	case INV_CHAIN:
+		_actor[1].field_2C = 1;
+		_actor[1].act[2].state = 63;
+		break;
+	case INV_CHAINSAW:
+		_actor[1].field_2C = 1;
+		_actor[1].act[2].state = 64;
+		break;
+	case INV_MACE:
+		_actor[1].field_2C = 1;
+		_actor[1].act[2].state = 65;
+		break;
+	case INV_2X4:
+		_actor[1].field_2C = 1;
+		_actor[1].act[2].state = 66;
+		break;
+	case INV_WRENCH:
+		_actor[1].field_2C = 1;
+		_actor[1].act[2].state = 62;
+		break;
+	case INV_BOOT:
+	case INV_HAND:
+	case INV_DUST:
+		_actor[1].field_2C = 2;
+		_actor[1].act[2].state = 1;
+	}
+}
+
+void Insane::actor12Reaction(int32 buttons) {
 	// FIXME: implement
+}
+
+void Insane::actor13Reaction(int32 buttons) {
+	int32 tmp;
+
+	switch (_actor[1].act[3].state) {
+	case 117:
+		smlayer_setActorFacing(1, 3, 13, 180);
+		_actor[1].field_54 = 1;
+		_actor[1].act[3].state = 69;
+		break;
+	case 69:
+		if (_actor[1].act[3].frame >= 2)
+			_actor[1].act[3].state = 70;
+		break;
+	case 70:
+		if (_actor[1].scenePropSubIdx) {
+			smlayer_setActorFacing(1, 3, 4, 180);
+			tmp = _currScenePropIdx + _actor[1].scenePropSubIdx;
+			if (!smlayer_startSound2(_sceneProp[tmp].sound))
+				_actor[1].runningSound = 0;
+			else
+				_actor[1].runningSound = _sceneProp[tmp].sound;
+			_actor[1].act[3].state = 72;
+		} else {
+			_actor[1].act[3].state = 118;
+		}
+		break;
+	case 72:
+		if (_actor[1].runningSound) {
+			if (!smlayer_isSoundRunning(_actor[1].runningSound)) {
+				smlayer_setActorFacing(1, 3, 5, 180);
+				_actor[1].act[3].state = 70;
+				_actor[1].scenePropSubIdx = 0;
+			}
+		} else {
+			tmp = _currScenePropIdx + _actor[1].scenePropSubIdx;
+			if (_sceneProp[tmp].counter >= _sceneProp[tmp].maxCounter) {
+				smlayer_setActorFacing(1, 3, 5, 180);
+				_actor[1].act[3].state = 70;
+				_actor[1].scenePropSubIdx = 0;
+				_actor[1].runningSound = 0;
+			}
+		}
+		break;
+	case 118:
+		smlayer_setActorFacing(1, 3, 14, 180);
+		_actor[1].act[3].state = 71;
+		break;
+	case 71:
+		_actor[1].field_54 = 0;
+		if (_actor[1].act[3].frame >= 2)
+			_actor[1].act[3].state = 1;
+		break;
+	case 52:
+		if (_actor[1].runningSound)
+			smlayer_stopSound(_actor[1].runningSound);
+		
+		if (_currScenePropIdx)
+			shutCurrentScene();
+
+		_actor[1].runningSound = 0;
+		_actor[1].field_4C = 0;
+		_actor[1].field_54 = 0;
+		smlayer_setActorFacing(1, 3, 15, 180);
+		_actor[1].act[3].state = 53;
+		break;
+	case 53:
+		_actor[1].field_54 = 0;
+		if (_actor[1].act[3].frame >= 2) {
+			smlayer_setActorFacing(1, 3, 16, 180);
+			_actor[1].act[3].state = 54;
+		}
+		break;
+	case 54:
+		_actor[1].field_54 = 0;
+		break;
+	case 1:
+		_actor[1].field_54 = 0;
+		break;
+	default:
+		break;
+	}
 }
 
 

Index: insane.h
===================================================================
RCS file: /cvsroot/scummvm/scummvm/scumm/smush/insane.h,v
retrieving revision 1.5
retrieving revision 1.6
diff -u -d -r1.5 -r1.6
--- insane.h	10 Dec 2003 06:02:14 -0000	1.5
+++ insane.h	12 Dec 2003 14:29:59 -0000	1.6
@@ -115,9 +115,11 @@
 	int _keybX;
 	int _keybY;
 	int32 _firstBattle;
-	bool _weaponJustSwitched;
-	bool _kickingInProgress;
+	bool _weaponBenJustSwitched;
+	bool _kickBenProgress;
 	int32 _battleScene;
+	bool _kickEnemyProgress;
+	bool _weaponEnemyJustSwitched;
 	int32 _val8d;
 	byte _val10b;
 	int32 _val11d;
@@ -448,14 +450,14 @@
 	void actor03Reaction(int32 buttons);
 	void turnEnemy(bool battle);
 	int32 actionBen(void);
-	void chooseWeaponAnim(int arg_0);
-	void setEnemyAnimation(int32 actornum, int arg_4);
+	void chooseBenWeaponAnim(int buttons);
+	void setBenAnimation(int32 actornum, int anim);
 	int calcTilt(int speed);
 	bool smush_eitherNotStartNewFrame(void);
 	void smlayer_setActorFacing(int actornum, int actnum, int frame, int direction);
 	int32 weaponMaxRange(int32 actornum);
 	int32 weaponMinRange(int32 actornum);
-	void switchWeapon(void);
+	void switchBenWeapon(void);
 	void prepareScenePropScene(int32 scenePropNum, bool arg_4, bool arg_8);
 	int32 calcDamage(bool arg_0, bool arg_4);
 	int32 weaponDamage(int32 actornum);
@@ -483,13 +485,16 @@
 	int32 getLastKey(bool arg_0);
 	void drawSpeedyActor(int32 arg_0);
 	void actor11Reaction(int32 buttons);
-	void proc51(int32 buttons);
-	void proc54(int32 buttons);
+	void actor12Reaction(int32 buttons);
+	void actor13Reaction(int32 buttons);
 	void actor10Reaction(int32 buttons);
 	int32 actionEnemy(void);
 	int32 processKeyboard(void);
 	int32 func75(void);
-	void proc56(int32 buttons);
+	void setEnemyAnimation(int32 actornum, int anim);
+	void chooseEnemyWeaponAnim(int buttons);
+	void switchEnemyWeapon(void);
+	void enemyDustAction(void);
 
 	void blah(void);
 

Index: smush_player.cpp
===================================================================
RCS file: /cvsroot/scummvm/scummvm/scumm/smush/smush_player.cpp,v
retrieving revision 1.69
retrieving revision 1.70
diff -u -d -r1.69 -r1.70
--- smush_player.cpp	8 Dec 2003 23:21:04 -0000	1.69
+++ smush_player.cpp	12 Dec 2003 14:29:59 -0000	1.70
@@ -993,6 +993,9 @@
 
 	if (pos != 8)
 		_base->seek(pos, FileChunk::seek_start);
+
+	// FIXME: is this really applicable? HACK
+	_frame = 0;
 }
 
 void SmushPlayer::play(const char *filename, const char *directory) {





More information about the Scummvm-git-logs mailing list