aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--scumm/insane/insane.cpp15
1 files changed, 11 insertions, 4 deletions
diff --git a/scumm/insane/insane.cpp b/scumm/insane/insane.cpp
index 7fc9afa308..61e0eccb16 100644
--- a/scumm/insane/insane.cpp
+++ b/scumm/insane/insane.cpp
@@ -674,14 +674,21 @@ void Insane::readState(void) { // PATCH
_enemy[EN_VULTF2].isEmpty = readArray(339);
_enemy[EN_CAVEFISH].isEmpty = readArray(56);
+ // FIXME
// Some sanity checks. There were submitted savefiles where these values were wrong
- if (_enemy[EN_VULTM2].isEmpty != readArray(7))
- error("Wrong INSANE parameters for EN_VULTM2 (%d %d). Please, report this",
+ // Still it is unknown what leads to this state. Most probably it is memory
+ // overwrite
+ if (_enemy[EN_VULTM2].isEmpty != readArray(7)) {
+ warning("Wrong INSANE parameters for EN_VULTM2 (%d %d)",
_enemy[EN_VULTM2].isEmpty, readArray(7));
+ _enemy[EN_VULTM2].isEmpty = readArray(7);
+ }
- if (_enemy[EN_VULTF2].isEmpty != (_actor[0].inventory[INV_CHAINSAW] != 0))
- error("Wrong INSANE parameters for EN_VULTF2 (%d %d). Please, report this",
+ if (_enemy[EN_VULTF2].isEmpty != (_actor[0].inventory[INV_CHAINSAW] != 0)) {
+ warning("Wrong INSANE parameters for EN_VULTF2 (%d %d)",
_enemy[EN_VULTF2].isEmpty, _actor[0].inventory[INV_CHAINSAW]);
+ _enemy[EN_VULTF2].isEmpty = (_actor[0].inventory[INV_CHAINSAW] != 0);
+ }
// FIXME
// This used to be here but.