diff options
Diffstat (limited to 'scumm/insane')
| -rw-r--r-- | scumm/insane/insane.cpp | 110 | ||||
| -rw-r--r-- | scumm/insane/insane.h | 6 | ||||
| -rw-r--r-- | scumm/insane/insane_ben.cpp | 48 | ||||
| -rw-r--r-- | scumm/insane/insane_enemy.cpp | 18 | ||||
| -rw-r--r-- | scumm/insane/insane_iact.cpp | 44 | ||||
| -rw-r--r-- | scumm/insane/insane_scenes.cpp | 118 | 
6 files changed, 173 insertions, 171 deletions
diff --git a/scumm/insane/insane.cpp b/scumm/insane/insane.cpp index bc45ab70a7..def4a29646 100644 --- a/scumm/insane/insane.cpp +++ b/scumm/insane/insane.cpp @@ -666,36 +666,36 @@ void Insane::putActors(void) {  }  void Insane::readState(void) { -	_actor[0].inventory[INV_CHAIN] = readArray(_numberArray, 50) != 0; -	_actor[0].inventory[INV_CHAINSAW] = readArray(_numberArray, 51) != 0; -	_actor[0].inventory[INV_MACE] = readArray(_numberArray, 52) != 0; -	_actor[0].inventory[INV_2X4] = readArray(_numberArray, 53) != 0; -	_actor[0].inventory[INV_WRENCH] = readArray(_numberArray, 54) != 0; -	_actor[0].inventory[INV_DUST] = readArray(_numberArray, 55) != 0; +	_actor[0].inventory[INV_CHAIN] = readArray(50) != 0; +	_actor[0].inventory[INV_CHAINSAW] = readArray(51) != 0; +	_actor[0].inventory[INV_MACE] = readArray(52) != 0; +	_actor[0].inventory[INV_2X4] = readArray(53) != 0; +	_actor[0].inventory[INV_WRENCH] = readArray(54) != 0; +	_actor[0].inventory[INV_DUST] = readArray(55) != 0;  	_actor[0].inventory[INV_HAND] = 1; // Boot  	_actor[0].inventory[INV_BOOT] = 1; // Hand -	_smlayer_room = readArray(_numberArray, 320); -	_smlayer_room2 = readArray(_numberArray, 321); -	_val55d = readArray(_numberArray, 322); -	_val53d = readArray(_numberArray, 323); -	_val57d = readArray(_numberArray, 324); -	_val52d = readArray(_numberArray, 325); -	_val56d = readArray(_numberArray, 326); -	_val54d = readArray(_numberArray, 327); -	_val51d = readArray(_numberArray, 328); -	_enemy[EN_TORQUE].field_8 = readArray(_numberArray, 337); -	_enemy[EN_ROTT1].field_8 = readArray(_numberArray, 329); -	_enemy[EN_ROTT2].field_8 = readArray(_numberArray, 330); -	_enemy[EN_ROTT3].field_8 = readArray(_numberArray, 331); -	_enemy[EN_VULTF1].field_8 = readArray(_numberArray, 332); -	_enemy[EN_VULTM1].field_8 = readArray(_numberArray, 333); -	_enemy[EN_VULTF2].field_8 = readArray(_numberArray, 334); -	_enemy[EN_VULTM2].field_8 = readArray(_numberArray, 335); -	_enemy[EN_CAVEFISH].field_8 = readArray(_numberArray, 336); -	_enemy[EN_VULTM2].field_10 = readArray(_numberArray, 340); -	_enemy[EN_CAVEFISH].field_10 = readArray(_numberArray, 56); -	_enemy[EN_VULTF2].field_10 = readArray(_numberArray, 339); +	_smlayer_room = readArray(320); +	_smlayer_room2 = readArray(321); +	_val55d = readArray(322); +	_val53d = readArray(323); +	_val57d = readArray(324); +	_val52d = readArray(325); +	_val56d = readArray(326); +	_val54d = readArray(327); +	_val51d = readArray(328); +	_enemy[EN_TORQUE].field_8 = readArray(337); +	_enemy[EN_ROTT1].field_8 = readArray(329); +	_enemy[EN_ROTT2].field_8 = readArray(330); +	_enemy[EN_ROTT3].field_8 = readArray(331); +	_enemy[EN_VULTF1].field_8 = readArray(332); +	_enemy[EN_VULTM1].field_8 = readArray(333); +	_enemy[EN_VULTF2].field_8 = readArray(334); +	_enemy[EN_VULTM2].field_8 = readArray(335); +	_enemy[EN_CAVEFISH].field_8 = readArray(336); +	_enemy[EN_VULTM2].field_10 = readArray(340); +	_enemy[EN_CAVEFISH].field_10 = readArray(56); +	_enemy[EN_VULTF2].field_10 = readArray(339);  }  void Insane::setTrsFile(int file) { @@ -804,7 +804,7 @@ void Insane::smush_setToFinish(void) {  // smlayer_stopSound  void Insane::smlayer_stopSound(int idx) { -	_vm->_sound->stopSound(readArray(_numberArray, idx)); +	_vm->_sound->stopSound(readArray(idx));  }  void Insane::switchSceneIfNeeded(void) { @@ -939,9 +939,9 @@ int32 Insane::weaponDamage(int32 actornum) {  }  void Insane::reinitActors(void) { -	smlayer_setActorCostume(0, 2, readArray(_numberArray, 12)); -	smlayer_setActorCostume(0, 0, readArray(_numberArray, 14)); -	smlayer_setActorCostume(0, 1, readArray(_numberArray, 13)); +	smlayer_setActorCostume(0, 2, readArray(12)); +	smlayer_setActorCostume(0, 0, readArray(14)); +	smlayer_setActorCostume(0, 1, readArray(13));  	smlayer_setActorLayer(0, 1, 1);  	smlayer_setActorLayer(0, 2, 5);  	smlayer_setActorLayer(0, 0, 10); @@ -1002,11 +1002,11 @@ void Insane::escapeKeyHandler(void) {  	switch (_currSceneId) {  	case 1:  		queueSceneSwitch(1, _smush_minedrivFlu, "minedriv.san", 64, 0, _continueFrame1, 1300); -		setWordInString(_numberArray, 9, 0); +		writeArray(9, 0);  		break;  	case 18:  		queueSceneSwitch(1, _smush_minedrivFlu, "minedriv.san", 64, 0, _continueFrame1, 1300); -		setWordInString(_numberArray, 9, 1); +		writeArray(9, 1);  		break;  	case 2:  		flu = &_fluConf[14 + _iactSceneId2]; @@ -1020,14 +1020,14 @@ void Insane::escapeKeyHandler(void) {  		if (_needSceneSwitch)  			return; -		if (readArray(_numberArray, 6)) { -			if (readArray(_numberArray, 4)) { +		if (readArray(6)) { +			if (readArray(4)) {  				queueSceneSwitch(14, 0, "hitdust2.san", 64, 0, 0, 0);  			} else {  				queueSceneSwitch(14, 0, "hitdust4.san", 64, 0, 0, 0);  			}  		} else { -			if (readArray(_numberArray, 4)) { +			if (readArray(4)) {  				queueSceneSwitch(14, 0, "hitdust1.san", 64, 0, 0, 0);  			} else {  				queueSceneSwitch(14, 0, "hitdust3.san", 64, 0, 0, 0); @@ -1035,26 +1035,26 @@ void Insane::escapeKeyHandler(void) {  		}  		break;  	case 5: -		if (readArray(_numberArray, 4)) { +		if (readArray(4)) {  			if (_needSceneSwitch)  				return;  			queueSceneSwitch(15, 0, "vistthru.san", 64, 0, 0, 0);  		} else { -			setWordInString(_numberArray, 1, _val53d); +			writeArray(1, _val53d);  			smush_setToFinish();  		}  		break;  	case 6: -		if (readArray(_numberArray, 4)) { +		if (readArray(4)) {  			if (_needSceneSwitch)  				return;  			queueSceneSwitch(15, 0, "chasthru.san", 64, 0, 0, 0);  		} else { -			if (readArray(_numberArray, 5)) { -				setWordInString(_numberArray, 1, _val57d); +			if (readArray(5)) { +				writeArray(1, _val57d);  				smush_setToFinish();  			} else { -				setWordInString(_numberArray, 4, 1); +				writeArray(4, 1);  				queueSceneSwitch(15, 0, "chasout.san", 64, 0, 0, 0);  			}  		} @@ -1088,10 +1088,10 @@ void Insane::escapeKeyHandler(void) {  		queueSceneSwitch(21, 0, "rottfite.san", 64, 0, 0, 0);  		break;  	case 16: -		setWordInString(_numberArray, 4, 0); -		setWordInString(_numberArray, 5, 1); -		setWordInString(_numberArray, 1, _val56d); -		setWordInString(_numberArray, 3, _val55d); +		writeArray(4, 0); +		writeArray(5, 1); +		writeArray(1, _val56d); +		writeArray(3, _val55d);  		smush_setToFinish();  		break;  	case 15: @@ -1153,7 +1153,7 @@ int Insane::smlayer_loadSound(int id, int flag, int phase) {  			if (_objArray2Idx >= _objArray2Idx2)  				return 0;  	} -	resid = readArray(_numberArray, id); +	resid = readArray(id);  	if (!resid && phase == 2)  		return 0; @@ -1187,7 +1187,7 @@ void Insane::IMUSE_restoreVolume(void) {  // smlayer_loadCostume1 && smlayer_loadCostume2  int Insane::smlayer_loadCostume(int id, int phase) {  	int resid; -	resid = readArray(_numberArray, id); +	resid = readArray(id);  	if (!resid)  		return 0; @@ -1235,12 +1235,12 @@ void Insane::smlayer_setFluPalette(byte *pal, int shut_flag) {  }  bool Insane::smlayer_isSoundRunning(int32 sound) { -	return _vm->_sound->isSoundRunning(readArray(_numberArray, sound)) != 0; +	return _vm->_sound->isSoundRunning(readArray(sound)) != 0;  }  bool Insane::smlayer_startSfx(int32 sound) {  	if (smlayer_loadSound(sound, 0, 2)) { -		_vm->_imuseDigital->startSfx(readArray(_numberArray, sound)); +		_vm->_imuseDigital->startSfx(readArray(sound));  		return true;  	} else  		return false; @@ -1248,7 +1248,7 @@ bool Insane::smlayer_startSfx(int32 sound) {  bool Insane::smlayer_startVoice(int32 sound) {  	if (smlayer_loadSound(sound, 0, 2)) { -		_vm->_imuseDigital->startSfx(readArray(_numberArray, sound)); +		_vm->_imuseDigital->startSfx(readArray(sound));  		return true;  	} else  		return false; @@ -1375,12 +1375,12 @@ void Insane::smush_setPaletteValue(int where, int r, int g, int b) {  	warning("stub Insane::smlayer_setPaletteValue(%d, %d, %d, %d)", where, r, g, b);  } -int32 Insane::readArray (int number, int item) { -	return _vm->readArray (number, 0, item); +int32 Insane::readArray (int item) { +	return _vm->readArray(_numberArray, 0, item);  } -void Insane::setWordInString(int number, int item, int value) { -	_vm->writeArray(number, 0, item, value); +void Insane::writeArray(int item, int value) { +	_vm->writeArray(_numberArray, 0, item, value);  }  void Insane::smush_setupSanWithFlu(const char *filename, int32 setupsan2, int32 step1,  diff --git a/scumm/insane/insane.h b/scumm/insane/insane.h index 4851d11428..f4bd574dd4 100644 --- a/scumm/insane/insane.h +++ b/scumm/insane/insane.h @@ -303,8 +303,10 @@ class Insane {  	void smlayer_putActor(int actornum, int act, int x, int y, byte room);  	void smlayer_setActorLayer(int actornum, int act, int layer);  	void smlayer_setFluPalette(byte *pal, int shut_flag); -	int32 readArray (int field, int number); -	void setWordInString(int field, int number, int value); + +	int32 readArray(int item); +	void writeArray(int item, int value); +  	int smlayer_mainLoop(void);  	void mainLoop(void);  	bool idx1Compare(void); diff --git a/scumm/insane/insane_ben.cpp b/scumm/insane/insane_ben.cpp index 1c7549151f..45e4b53b74 100644 --- a/scumm/insane/insane_ben.cpp +++ b/scumm/insane/insane_ben.cpp @@ -250,7 +250,7 @@ void Insane::mineChooseRoad(int32 buttons) {  		case 17:  			if (buttons & 1) {  				if (_val123_) { -					setWordInString(_numberArray, 1, _val52d); +					writeArray(1, _val52d);  					smush_setToFinish();  				} @@ -303,7 +303,7 @@ void Insane::mineChooseRoad(int32 buttons) {  			if (_val119_ && !_needSceneSwitch) {  				_iactSceneId2 = _iactSceneId; -				if (readArray(_numberArray, 4) && _val211d < 3) { +				if (readArray(4) && _val211d < 3) {  					_val211d++;  					queueSceneSwitch(8, 0, "fishfear.san", 64, 0, 0, 0);  				} else { @@ -312,16 +312,16 @@ void Insane::mineChooseRoad(int32 buttons) {  			}  			if (_val120_) { -				setWordInString(_numberArray, 1, _val55d); -				setWordInString(_numberArray, 3, _val57d); +				writeArray(1, _val55d); +				writeArray(3, _val57d);  				smush_setToFinish();  			}  			if (!_val212_)  				return; -			setWordInString(_numberArray, 1, _val56d); -			setWordInString(_numberArray, 3, _val57d); +			writeArray(1, _val56d); +			writeArray(3, _val57d);  			smush_setToFinish();  			break;  		case 6: @@ -340,7 +340,7 @@ void Insane::mineChooseRoad(int32 buttons) {  			if (_val119_ && !_needSceneSwitch) {  				_iactSceneId2 = _iactSceneId; -				if (readArray(_numberArray, 4) && _val211d < 3) { +				if (readArray(4) && _val211d < 3) {  					_val211d++;  					queueSceneSwitch(7, 0, "fishfear.san", 64, 0, 0, 0);  				} else { @@ -349,16 +349,16 @@ void Insane::mineChooseRoad(int32 buttons) {  			}  			if (_val120_) { -				setWordInString(_numberArray, 1, _val55d); -				setWordInString(_numberArray, 3, _val53d); +				writeArray(1, _val55d); +				writeArray(3, _val53d);  				smush_setToFinish();  			}  			if (!_val212_)  				return; -			setWordInString(_numberArray, 1, _val56d); -			setWordInString(_numberArray, 3, _val53d); +			writeArray(1, _val56d); +			writeArray(3, _val53d);  			smush_setToFinish();  			break;  		default: @@ -769,7 +769,7 @@ void Insane::actor02Reaction(int32 buttons) {  					_actor[0].act[1].room = 0;  					_actor[0].act[0].room = 0;  					smlayer_setActorLayer(0, 2, 25); -					smlayer_setActorCostume(1, 2, readArray(_numberArray, 45)); +					smlayer_setActorCostume(1, 2, readArray(45));  					smlayer_setActorFacing(1, 2, 6, 180);  					smlayer_startSfx(101);  					_actor[1].act[2].state = 97; @@ -854,7 +854,7 @@ void Insane::actor02Reaction(int32 buttons) {  		_actor[0].weaponClass = 2;  		_actor[0].field_34 = 1;  		_actor[0].kicking = 0; -		smlayer_setActorCostume(0, 2, readArray(_numberArray, 22)); +		smlayer_setActorCostume(0, 2, readArray(22));  		smlayer_setActorFacing(0, 2, 19, 180);  		_actor[0].act[2].state = 7;  		_actor[0].act[2].tilt = calcTilt(_actor[0].tilt); @@ -893,7 +893,7 @@ void Insane::actor02Reaction(int32 buttons) {  		_actor[0].field_34 = 1;  		_actor[0].kicking = 0;  		if (_actor[0].act[2].frame >= 3) { -			smlayer_setActorCostume(0, 2, readArray(_numberArray, 12)); +			smlayer_setActorCostume(0, 2, readArray(12));  			_actor[0].field_34 = 2;  			_actor[0].act[2].state = 1;  		} @@ -1264,7 +1264,7 @@ void Insane::actor02Reaction(int32 buttons) {  	case 30:  		smlayer_setActorLayer(0, 2, 4);  		_actor[0].weaponClass = 1; -		smlayer_setActorCostume(0, 2, readArray(_numberArray, 21)); +		smlayer_setActorCostume(0, 2, readArray(21));  		smlayer_setActorFacing(0, 2, 18, 180);  		_actor[0].act[2].state = 31;  		_actor[0].act[2].tilt = calcTilt(_actor[0].tilt); @@ -1310,7 +1310,7 @@ void Insane::actor02Reaction(int32 buttons) {  		_actor[0].weaponClass = 1;  		_actor[0].kicking = 0;  		if (_actor[0].act[2].frame >= 5) { -			smlayer_setActorCostume(0, 2, readArray(_numberArray, 12)); +			smlayer_setActorCostume(0, 2, readArray(12));  			_actor[0].act[2].state = 1;  		}  		_actor[0].act[2].tilt = calcTilt(_actor[0].tilt); @@ -1318,7 +1318,7 @@ void Insane::actor02Reaction(int32 buttons) {  	case 36:  		smlayer_setActorLayer(0, 2, 5);  		_actor[0].kicking = 0; -		smlayer_setActorCostume(0, 2, readArray(_numberArray, 18)); +		smlayer_setActorCostume(0, 2, readArray(18));  		smlayer_setActorFacing(0, 2, 6, 180);  		smlayer_startSfx(96);  		switch (_currEnemy) { @@ -1876,35 +1876,35 @@ void Insane::switchBenWeapon(void) {  	switch (_actor[0].weapon) {  	case INV_CHAIN: -		smlayer_setActorCostume(0, 2, readArray(_numberArray, 20)); +		smlayer_setActorCostume(0, 2, readArray(20));  		smlayer_setActorFacing(0, 2, 18, 180);  		_actor[0].weaponClass = 0;  		_actor[0].act[2].state = 34;  		break;  	case INV_CHAINSAW: -		smlayer_setActorCostume(0, 2, readArray(_numberArray, 24)); +		smlayer_setActorCostume(0, 2, readArray(24));  		smlayer_setActorFacing(0, 2, 18, 180);  		_actor[0].weaponClass = 0;  		_actor[0].act[2].state = 34;  		break;  	case INV_MACE: -		smlayer_setActorCostume(0, 2, readArray(_numberArray, 23)); +		smlayer_setActorCostume(0, 2, readArray(23));  		smlayer_setActorFacing(0, 2, 18, 180);  		_actor[0].weaponClass = 0;  		_actor[0].act[2].state = 34;  		break;  	case INV_2X4:  		if (_currEnemy == EN_CAVEFISH) -			smlayer_setActorCostume(0, 2, readArray(_numberArray, 38)); +			smlayer_setActorCostume(0, 2, readArray(38));  		else -			smlayer_setActorCostume(0, 2, readArray(_numberArray, 19)); +			smlayer_setActorCostume(0, 2, readArray(19));  		smlayer_setActorFacing(0, 2, 18, 180);  		_actor[0].weaponClass = 0;  		_actor[0].act[2].state = 34;  		break;  	case INV_WRENCH: -		smlayer_setActorCostume(0, 2, readArray(_numberArray, 25)); +		smlayer_setActorCostume(0, 2, readArray(25));  		smlayer_setActorFacing(0, 2, 18, 180);  		_actor[0].weaponClass = 0;  		_actor[0].act[2].state = 34; @@ -1912,7 +1912,7 @@ void Insane::switchBenWeapon(void) {  	case INV_BOOT:  	case INV_HAND:  	case INV_DUST: -		smlayer_setActorCostume(0, 2, readArray(_numberArray, 12)); +		smlayer_setActorCostume(0, 2, readArray(12));  		_actor[0].weaponClass = 2;  		_actor[0].act[2].state = 1;  		break; diff --git a/scumm/insane/insane_enemy.cpp b/scumm/insane/insane_enemy.cpp index 8e235bf029..915da647c3 100644 --- a/scumm/insane/insane_enemy.cpp +++ b/scumm/insane/insane_enemy.cpp @@ -1149,7 +1149,7 @@ int32 Insane::enemy6handler(int32 actor1, int32 actor2, int32 probability) {  		_actor[0].act[1].room = 0;  		_actor[0].act[0].room = 0;  		smlayer_setActorLayer(1, 2, 25); -		smlayer_setActorCostume(1, 2, readArray(_numberArray, 45)); +		smlayer_setActorCostume(1, 2, readArray(45));  		smlayer_setActorFacing(1, 2, 6, 180);  		_actor[1].act[2].state = 97;  		_actor[1].act[2].room = 1; @@ -1562,7 +1562,7 @@ void Insane::switchEnemyWeapon(void) {  	case INV_MACE:  	case INV_2X4:  	case INV_WRENCH: -		smlayer_setActorCostume(1, 2, readArray(_numberArray, _enemy[_currEnemy].costume4)); +		smlayer_setActorCostume(1, 2, readArray(_enemy[_currEnemy].costume4));  		smlayer_setActorFacing(1, 2, 18, 180);  		_actor[1].weaponClass = 1;  		_actor[1].act[2].state = 34; @@ -1572,7 +1572,7 @@ void Insane::switchEnemyWeapon(void) {  		_actor[1].act[2].state = 1;  		break;  	case INV_HAND: -		smlayer_setActorCostume(1, 2, readArray(_numberArray, _enemy[_currEnemy].costume4)); +		smlayer_setActorCostume(1, 2, readArray(_enemy[_currEnemy].costume4));  		_actor[1].weaponClass = 2;  		_actor[1].act[2].state = 1;  		break; @@ -2206,7 +2206,7 @@ void Insane::actor12Reaction(int32 buttons) {  		_actor[1].weaponClass = 1;  		_actor[1].kicking = 0;  		if (_actor[1].act[2].frame >= 15) { -			smlayer_setActorCostume(1, 2, readArray(_numberArray, 44)); +			smlayer_setActorCostume(1, 2, readArray(44));  			smlayer_setActorFacing(1, 2, 6, 180);  			_actor[1].act[2].state = 95;  			_actor[1].act[0].room = 0; @@ -2231,7 +2231,7 @@ void Insane::actor12Reaction(int32 buttons) {  		smlayer_setActorLayer(1, 2, 25);  		_actor[1].lost = true;  		if (_actor[1].act[2].frame >= 18) { -			setWordInString(_numberArray, 7, 1); +			writeArray(7, 1);  			_enemy[EN_VULTM2].field_10 = 1;  			queueSceneSwitch(12, 0, "getnitro.san", 0, 0, 0, 0);  		} @@ -2273,7 +2273,7 @@ void Insane::actor12Reaction(int32 buttons) {  		_actor[1].field_54 = 1;  		_actor[1].cursorX = 0;  		_actor[1].kicking = 0; -		smlayer_setActorCostume(1, 2, readArray(_numberArray, _enemy[_currEnemy].costumevar)); +		smlayer_setActorCostume(1, 2, readArray(_enemy[_currEnemy].costumevar));  		smlayer_setActorFacing(1, 2, 6, 180);  		smlayer_setActorLayer(1, 2, 25);  		smlayer_startSfx(96); @@ -2318,7 +2318,7 @@ void Insane::actor12Reaction(int32 buttons) {  		_actor[1].lost = 1;  		_actor[1].cursorX = 0;  		_actor[1].kicking = 0; -		smlayer_setActorCostume(1, 2, readArray(_numberArray, 40)); +		smlayer_setActorCostume(1, 2, readArray(40));  		smlayer_setActorFacing(1, 2, 6, 180);  		smlayer_setActorLayer(1, 2, 25);  		_actor[1].act[2].state = 103; @@ -2335,7 +2335,7 @@ void Insane::actor12Reaction(int32 buttons) {  	case 113:  		_actor[1].lost = 1;  		_actor[1].kicking = 0; -		smlayer_setActorCostume(1, 2, readArray(_numberArray, 46)); +		smlayer_setActorCostume(1, 2, readArray(46));  		smlayer_setActorFacing(1, 2, 6, 180);  		smlayer_setActorLayer(1, 2, 25);  		_actor[1].act[1].room = 0; @@ -2363,7 +2363,7 @@ void Insane::actor12Reaction(int32 buttons) {  	case 115:  		_actor[1].lost = 1;  		_actor[1].kicking = 0; -		smlayer_setActorCostume(1, 2, readArray(_numberArray, 47)); +		smlayer_setActorCostume(1, 2, readArray(47));  		smlayer_setActorFacing(1, 2, 6, 180);  		smlayer_setActorLayer(1, 2, 25);  		_actor[1].act[1].room = 0; diff --git a/scumm/insane/insane_iact.cpp b/scumm/insane/insane_iact.cpp index 048ac4f766..f7e4534507 100644 --- a/scumm/insane/insane_iact.cpp +++ b/scumm/insane/insane_iact.cpp @@ -138,7 +138,7 @@ void Insane::iactScene1(byte *renderBitmap, int32 codecparam, int32 setupsan12,  			_iactSceneId = par4;  			break;  		case 7: -			if (readArray(_numberArray, 4) != 0) +			if (readArray(4) != 0)  				return;  			_val120_ = true; @@ -146,11 +146,11 @@ void Insane::iactScene1(byte *renderBitmap, int32 codecparam, int32 setupsan12,  								  _smush_icons2Nut, 8, 0, 0);  			break;  		case 8: -			if (readArray(_numberArray, 4) == 0 || readArray(_numberArray, 6) == 0) +			if (readArray(4) == 0 || readArray(6) == 0)  				return; -			setWordInString(_numberArray, 1, _val55d); -			setWordInString(_numberArray, 3, _val57d); +			writeArray(1, _val55d); +			writeArray(3, _val57d);  			smush_setToFinish();  			break; @@ -192,7 +192,7 @@ void Insane::iactScene1(byte *renderBitmap, int32 codecparam, int32 setupsan12,  	}  	if (_val32d < 0 || _val32d > 4) -		if (readArray(_numberArray, 8)) { +		if (readArray(8)) {  			smlayer_drawSomething(renderBitmap, codecparam, 270, 20, 3,   								  _smush_icons2Nut, 20, 0, 0);  			_val122_ = true; @@ -200,7 +200,7 @@ void Insane::iactScene1(byte *renderBitmap, int32 codecparam, int32 setupsan12,  }  void Insane::proc62(void) { -	if (readArray(_numberArray, 58) == 0) +	if (readArray(58) == 0)  		_enemy[EN_TORQUE].field_10 = 1;  	if (_enemy[EN_TORQUE].field_8 == 0) { @@ -403,19 +403,19 @@ void Insane::iactScene4(byte *renderBitmap, int32 codecparam, int32 setupsan12,  		switch (par3) {  		case 1:  			if (par4 == 1) { -				if (readArray(_numberArray, 6)) +				if (readArray(6))  					setBit(par5);  				else  					clearBit(par5);  			} else { -				if (readArray(_numberArray, 6)) +				if (readArray(6))  					clearBit(par5);  				else  					setBit(par5);  			}  			break;  		case 2: -			if (readArray(_numberArray, 5)) +			if (readArray(5))  				clearBit(par5);  			else  				setBit(par5); @@ -431,7 +431,7 @@ void Insane::iactScene4(byte *renderBitmap, int32 codecparam, int32 setupsan12,  			_iactSceneId = par4;  			break;  		case 7: -			if (readArray(_numberArray, 4) != 0) +			if (readArray(4) != 0)  				return;  			_val120_ = true; @@ -439,16 +439,16 @@ void Insane::iactScene4(byte *renderBitmap, int32 codecparam, int32 setupsan12,  								  _smush_icons2Nut, 8, 0, 0);  			break;  		case 8: -			if (readArray(_numberArray, 4) == 0 || readArray(_numberArray, 6) == 0) +			if (readArray(4) == 0 || readArray(6) == 0)  				return; -			setWordInString(_numberArray, 1, _val55d); -			setWordInString(_numberArray, 3, _val57d); +			writeArray(1, _val55d); +			writeArray(3, _val57d);  			smush_setToFinish();  			break;  		case 25:				 -			if (readArray(_numberArray, 5) == 0) +			if (readArray(5) == 0)  				return;  			_val212_ = true; @@ -484,19 +484,19 @@ void Insane::iactScene6(byte *renderBitmap, int32 codecparam, int32 setupsan12,  		switch (par3) {  		case 1:  			if (par4 == 1) { -				if (readArray(_numberArray, 6)) +				if (readArray(6))  					setBit(par5);  				else  					clearBit(par5);  			} else { -				if (readArray(_numberArray, 6)) +				if (readArray(6))  					clearBit(par5);  				else  					setBit(par5);  			}  			break;  		case 2: -			if (readArray(_numberArray, 5)) +			if (readArray(5))  				clearBit(par5);  			else  				setBit(par5); @@ -512,7 +512,7 @@ void Insane::iactScene6(byte *renderBitmap, int32 codecparam, int32 setupsan12,  			_iactSceneId = par4;  			break;  		case 7: -			if (readArray(_numberArray, 4) != 0) +			if (readArray(4) != 0)  				return;  			_val120_ = true; @@ -520,16 +520,16 @@ void Insane::iactScene6(byte *renderBitmap, int32 codecparam, int32 setupsan12,  								  _smush_icons2Nut, 8, 0, 0);  			break;  		case 8: -			if (readArray(_numberArray, 4) == 0 || readArray(_numberArray, 6) == 0) +			if (readArray(4) == 0 || readArray(6) == 0)  				return; -			setWordInString(_numberArray, 1, _val55d); -			setWordInString(_numberArray, 3, _val53d); +			writeArray(1, _val55d); +			writeArray(3, _val53d);  			smush_setToFinish();  			break;  		case 25:				 -			if (readArray(_numberArray, 5) == 0) +			if (readArray(5) == 0)  				return;  			_val212_ = true; diff --git a/scumm/insane/insane_scenes.cpp b/scumm/insane/insane_scenes.cpp index bb9b0a552b..7a07884a6b 100644 --- a/scumm/insane/insane_scenes.cpp +++ b/scumm/insane/insane_scenes.cpp @@ -70,21 +70,21 @@ void Insane::runScene(int arraynum) {  	_val10b = _val50d; // FIXME: seems to be unused  	setTrsFile(_trsFilePtr); // FIXME: we don't need it -	debug(0, "INSANE Arg: %d", readArray(_numberArray, 0)); +	debug(0, "INSANE Arg: %d", readArray(0)); -	switch (readArray(_numberArray, 0)) { +	switch (readArray(0)) {  	case 1:  		initScene(1);  		setupValues(); -		smlayer_setActorCostume(0, 2, readArray(_numberArray, 10)); +		smlayer_setActorCostume(0, 2, readArray(10));  		smlayer_putActor(0, 2, _actor[0].x, _actor[0].y1+190, _smlayer_room2);  		startVideo("minedriv.san", 1, 32, 12, 0);  		break;  	case 2:  		setupValues(); -		smlayer_setActorCostume(0, 2, readArray(_numberArray, 11)); +		smlayer_setActorCostume(0, 2, readArray(11));  		smlayer_putActor(0, 2, _actor[0].x, _actor[0].y1+190, _smlayer_room2); -		_val8d = readArray(_numberArray, 2); +		_val8d = readArray(2);  		if (_val55d) {  			initScene(5);  			startVideo("tovista2.san", 1, 32, 12, 0); @@ -98,9 +98,9 @@ void Insane::runScene(int arraynum) {  		break;  	case 3:  		setupValues(); -		smlayer_setActorCostume(0, 2, readArray(_numberArray, 11)); +		smlayer_setActorCostume(0, 2, readArray(11));  		smlayer_putActor(0, 2, _actor[0].x, _actor[0].y1+190, _smlayer_room2); -		_val8d = readArray(_numberArray, 2); +		_val8d = readArray(2);  		if (_val55d) {  			initScene(6);  			startVideo("toranch.san", 1, 32, 12, 0, _smush_toranchFlu, 300); @@ -119,7 +119,7 @@ void Insane::runScene(int arraynum) {  		startVideo("minefite.san", 1, 32, 12, 0);  		break;  	case 5: -		setWordInString(_numberArray, 1, _val54d); +		writeArray(1, _val54d);  		initScene(24);  		startVideo("rottopen.san", 1, 32, 12, 0);  		break; @@ -127,7 +127,7 @@ void Insane::runScene(int arraynum) {  		initScene(1);  		setupValues();  		smlayer_setFluPalette(_smush_roadrashRip, 1); -		smlayer_setActorCostume(0, 2, readArray(_numberArray, 10)); +		smlayer_setActorCostume(0, 2, readArray(10));  		smlayer_putActor(0, 2, _actor[0].x, _actor[0].y1+190, _smlayer_room2);  		startVideo("minedriv.san", 1, 32, 12, 0, _smush_minedrivFlu, 420);  		break; @@ -137,10 +137,10 @@ void Insane::runScene(int arraynum) {  		break;  	case 10:  		initScene(26); -		setWordInString(_numberArray, 1, _val54d); +		writeArray(1, _val54d);  		startVideo("credits.san", 1, 32, 12, 0);  	default: -		warning("Unknown FT_INSANE mode %d", readArray(_numberArray, 0)); +		warning("Unknown FT_INSANE mode %d", readArray(0));  		break;  	} @@ -153,24 +153,24 @@ void Insane::runScene(int arraynum) {  	_insaneIsRunning = false; -	setWordInString(_numberArray, 50, _actor[0].inventory[INV_CHAIN]); -	setWordInString(_numberArray, 51, _actor[0].inventory[INV_CHAINSAW]); -	setWordInString(_numberArray, 52, _actor[0].inventory[INV_MACE]); -	setWordInString(_numberArray, 53, _actor[0].inventory[INV_2X4]); -	setWordInString(_numberArray, 54, _actor[0].inventory[INV_WRENCH]); -	setWordInString(_numberArray, 55, _actor[0].inventory[INV_DUST]); -	setWordInString(_numberArray, 337, _enemy[EN_TORQUE].field_8); -	setWordInString(_numberArray, 329, _enemy[EN_ROTT1].field_8); -	setWordInString(_numberArray, 330, _enemy[EN_ROTT2].field_8); -	setWordInString(_numberArray, 331, _enemy[EN_ROTT3].field_8); -	setWordInString(_numberArray, 332, _enemy[EN_VULTF1].field_8); -	setWordInString(_numberArray, 333, _enemy[EN_VULTM1].field_8); -	setWordInString(_numberArray, 334, _enemy[EN_VULTF2].field_8); -	setWordInString(_numberArray, 335, _enemy[EN_VULTM2].field_8); -	setWordInString(_numberArray, 336, _enemy[EN_CAVEFISH].field_8); -	setWordInString(_numberArray, 339, _enemy[EN_VULTF2].field_10); -	setWordInString(_numberArray, 56, _enemy[EN_CAVEFISH].field_10); -	setWordInString(_numberArray, 340, _enemy[EN_VULTM2].field_10); +	writeArray(50, _actor[0].inventory[INV_CHAIN]); +	writeArray(51, _actor[0].inventory[INV_CHAINSAW]); +	writeArray(52, _actor[0].inventory[INV_MACE]); +	writeArray(53, _actor[0].inventory[INV_2X4]); +	writeArray(54, _actor[0].inventory[INV_WRENCH]); +	writeArray(55, _actor[0].inventory[INV_DUST]); +	writeArray(337, _enemy[EN_TORQUE].field_8); +	writeArray(329, _enemy[EN_ROTT1].field_8); +	writeArray(330, _enemy[EN_ROTT2].field_8); +	writeArray(331, _enemy[EN_ROTT3].field_8); +	writeArray(332, _enemy[EN_VULTF1].field_8); +	writeArray(333, _enemy[EN_VULTM1].field_8); +	writeArray(334, _enemy[EN_VULTF2].field_8); +	writeArray(335, _enemy[EN_VULTM2].field_8); +	writeArray(336, _enemy[EN_CAVEFISH].field_8); +	writeArray(339, _enemy[EN_VULTF2].field_10); +	writeArray(56, _enemy[EN_CAVEFISH].field_10); +	writeArray(340, _enemy[EN_VULTM2].field_10);  	// insane_unlock(); // FIXME  	_vm->_sound->stopAllSounds(); // IMUSE_StopAllSounds();  	if (_memoryAllocatedNotOK) { @@ -623,7 +623,7 @@ void Insane::setSceneCostumes(int sceneId) {  	switch (sceneId) {  	case 1: -		smlayer_setActorCostume(0, 2, readArray(_numberArray, 10)); +		smlayer_setActorCostume(0, 2, readArray(10));  		smlayer_putActor(0, 2, _actor[0].x, _actor[0].y1+190, _smlayer_room2);  		smlayer_setFluPalette(_smush_roadrashRip, 0);  		setupValues(); @@ -635,7 +635,7 @@ void Insane::setSceneCostumes(int sceneId) {  		return;  		break;  	case 2: -		smlayer_setActorCostume(0, 2, readArray(_numberArray, 10)); +		smlayer_setActorCostume(0, 2, readArray(10));  		setupValues();  		return;  		break; @@ -654,14 +654,14 @@ void Insane::setSceneCostumes(int sceneId) {  	case 4:  	case 5:  	case 6: -		smlayer_setActorCostume(0, 2, readArray(_numberArray, 11)); +		smlayer_setActorCostume(0, 2, readArray(11));  		smlayer_putActor(0, 2, _actor[0].x, _actor[0].y1+190, _smlayer_room2);  		setupValues();  		return;  		break;  	case 7:  	case 8: -		setWordInString(_numberArray, 4, 0); +		writeArray(4, 0);  		return;  	}  } @@ -671,9 +671,9 @@ void Insane::setEnemyCostumes(void) {  	debug(0, "setEnemyCostumes(%d)", _currEnemy); -	smlayer_setActorCostume(0, 2, readArray(_numberArray, 12)); -	smlayer_setActorCostume(0, 0, readArray(_numberArray, 14)); -	smlayer_setActorCostume(0, 1, readArray(_numberArray, 13)); +	smlayer_setActorCostume(0, 2, readArray(12)); +	smlayer_setActorCostume(0, 0, readArray(14)); +	smlayer_setActorCostume(0, 1, readArray(13));  	smlayer_setActorLayer(0, 1, 1);  	smlayer_setActorLayer(0, 2, 5);  	smlayer_setActorLayer(0, 0, 10); @@ -682,7 +682,7 @@ void Insane::setEnemyCostumes(void) {  	smlayer_putActor(0, 0, _actor[0].x, _actor[0].y1+200, _smlayer_room2);  	if (_currEnemy == EN_CAVEFISH) { -		smlayer_setActorCostume(1, 2, readArray(_numberArray, _enemy[_currEnemy].costume4)); +		smlayer_setActorCostume(1, 2, readArray(_enemy[_currEnemy].costume4));  		_actor[1].act[2].room = 1;  		_actor[1].act[1].room = 0;  		_actor[1].act[0].room = 0; @@ -695,7 +695,7 @@ void Insane::setEnemyCostumes(void) {  		smlayer_putActor(1, 2, _actor[1].x + _actor[1].act[2].tilt - 17,   						 _actor[1].y + _actor[1].y1 - 98, _smlayer_room2);  	} else if (_currEnemy == EN_TORQUE) { -		smlayer_setActorCostume(1, 2, readArray(_numberArray, _enemy[_currEnemy].costume4)); +		smlayer_setActorCostume(1, 2, readArray(_enemy[_currEnemy].costume4));  		_actor[1].act[2].room = 1;  		_actor[1].act[1].room = 0;  		_actor[1].act[0].room = 0; @@ -711,13 +711,13 @@ void Insane::setEnemyCostumes(void) {  		_actor[1].act[0].room = 1;  		if (_enemy[_currEnemy].costume4) -			smlayer_setActorCostume(1, 2, readArray(_numberArray, _enemy[_currEnemy].costume4)); +			smlayer_setActorCostume(1, 2, readArray(_enemy[_currEnemy].costume4));  		if (_enemy[_currEnemy].costume5) -			smlayer_setActorCostume(1, 0, readArray(_numberArray, _enemy[_currEnemy].costume5)); +			smlayer_setActorCostume(1, 0, readArray(_enemy[_currEnemy].costume5));  		if (_enemy[_currEnemy].costume6) -			smlayer_setActorCostume(1, 1, readArray(_numberArray, _enemy[_currEnemy].costume6)); +			smlayer_setActorCostume(1, 1, readArray(_enemy[_currEnemy].costume6));  		_actor[1].field_8 = 1;  		_actor[1].act[2].state = 1; @@ -1031,11 +1031,11 @@ void Insane::postCase17(byte *renderBitmap, int32 codecparam, int32 setupsan12,  		if (_currSceneId == 18) {  			queueSceneSwitch(17, _smush_minedrivFlu, "minedriv.san", 64, 0,   							 _continueFrame1, 1300); -			setWordInString(_numberArray, 9, 1); +			writeArray(9, 1);  		} else {  			queueSceneSwitch(1, _smush_minedrivFlu, "minedriv.san", 64, 0,  							 _continueFrame1, 1300); -			setWordInString(_numberArray, 9, 0); +			writeArray(9, 0);  		}  	}  	_val119_ = false; @@ -1145,24 +1145,24 @@ void Insane::postCase3(byte *renderBitmap, int32 codecparam, int32 setupsan12,  	if (curFrame >= maxFrame) {  		if (_currSceneId == 4) {  			if (!_needSceneSwitch) { -				if (readArray(_numberArray, 6)) { -					if (readArray(_numberArray, 4)) +				if (readArray(6)) { +					if (readArray(4))  						queueSceneSwitch(14, 0, "hitdust2.san", 64, 0, 0, 0);  					else  						queueSceneSwitch(14, 0, "hitdust4.san", 64, 0, 0, 0);  				} else { -					if (readArray(_numberArray, 4)) +					if (readArray(4))  						queueSceneSwitch(14, 0, "hitdust1.san", 64, 0, 0, 0);  					else  						queueSceneSwitch(14, 0, "hitdust3.san", 64, 0, 0, 0);  				}  			}  		} else { -			if (readArray(_numberArray, 4)) { +			if (readArray(4)) {  				if (!_needSceneSwitch)  					queueSceneSwitch(15, 0, "vistthru.san", 64, 0, 0, 0);  			} else { -				setWordInString(_numberArray, 1, _val53d); +				writeArray(1, _val53d);  				smush_setToFinish();  			}  		} @@ -1187,12 +1187,12 @@ void Insane::postCase5(byte *renderBitmap, int32 codecparam, int32 setupsan12,  	}  	if (curFrame >= maxFrame) { -		if (readArray(_numberArray, 4)) { +		if (readArray(4)) {  			if (!_needSceneSwitch)  				queueSceneSwitch(15, 0, "chasthru.san", 64, 0, 0, 0);  		} else { -			if (readArray(_numberArray, 5)) { -				setWordInString(_numberArray, 1, _val57d); +			if (readArray(5)) { +				writeArray(1, _val57d);  				smush_setToFinish();  			} else {  				queueSceneSwitch(15, 0, "chasout.san", 64, 0, 0, 0); @@ -1263,11 +1263,11 @@ void Insane::postCase10(byte *renderBitmap, int32 codecparam, int32 setupsan12,  		switch (_currSceneId) {  		case 20: -			setWordInString(_numberArray, 8, 1); +			writeArray(8, 1);  			queueSceneSwitch(12, 0, "liftgog.san", 0, 0, 0, 0);  			break;  		case 22: -			setWordInString(_numberArray, 1, _val54d); +			writeArray(1, _val54d);  			smush_setToFinish();  			break;  		default: @@ -1349,7 +1349,7 @@ void Insane::postCase12(byte *renderBitmap, int32 codecparam, int32 setupsan12,  			break;  		case EN_TORQUE:  			turnBen(false); -			setWordInString(_numberArray, 1, _val51d); +			writeArray(1, _val51d);  			smush_setToFinish();  			break;  		case EN_ROTT1: @@ -1397,7 +1397,7 @@ void Insane::postCase23(byte *renderBitmap, int32 codecparam, int32 setupsan12,  		if (_currSceneId == 24)  			queueSceneSwitch(21, 0, "rottfite.san", 64, 0, 0, 0); -		if (readArray(_numberArray, 6) && readArray(_numberArray, 4)) +		if (readArray(6) && readArray(4))  			queueSceneSwitch(16, 0, "limocrsh.san", 64, 0, 0, 0);  		queueSceneSwitch(5, 0, "tovista2.san", 64, 0, 0, 290); @@ -1410,10 +1410,10 @@ void Insane::postCase14(byte *renderBitmap, int32 codecparam, int32 setupsan12,  						int32 setupsan13, int32 curFrame, int32 maxFrame) {  	if (curFrame >= maxFrame) {  		if (_currSceneId == 16) { -			setWordInString(_numberArray, 4, 0); -			setWordInString(_numberArray, 5, 1); -			setWordInString(_numberArray, 1, _val56d); -			setWordInString(_numberArray, 3, _val55d); +			writeArray(4, 0); +			writeArray(5, 1); +			writeArray(1, _val56d); +			writeArray(3, _val55d);  			smush_setToFinish();  		} else {  			switch (_tempSceneId) {  | 
