diff options
Diffstat (limited to 'scumm')
-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 | ||||
-rw-r--r-- | scumm/script_v6.cpp | 4 |
7 files changed, 175 insertions, 173 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) { diff --git a/scumm/script_v6.cpp b/scumm/script_v6.cpp index e544be6683..6baf5d1c6f 100644 --- a/scumm/script_v6.cpp +++ b/scumm/script_v6.cpp @@ -2565,8 +2565,8 @@ void ScummEngine_v6::o6_kernelSetFunctions() { // PC demo uses different INSANE if (!(_features & GF_DEMO)) { - _insane->setSmushParams(speed); - _insane->runScene(insaneVarNum); + _insane->setSmushParams(speed); + _insane->runScene(insaneVarNum); } } delete sp; |