aboutsummaryrefslogtreecommitdiff
path: root/engines
diff options
context:
space:
mode:
authorPaul Gilbert2012-11-28 20:42:56 +1100
committerPaul Gilbert2012-11-28 20:42:56 +1100
commit0465fa37b901c812bd2dc130afd0dfc0368e0ff3 (patch)
tree124862aff8f3d31da80eafce5c2fc3be34039a30 /engines
parent8896ba99fcde2b694dfe86769c3fc1621d8b3296 (diff)
downloadscummvm-rg350-0465fa37b901c812bd2dc130afd0dfc0368e0ff3.tar.gz
scummvm-rg350-0465fa37b901c812bd2dc130afd0dfc0368e0ff3.tar.bz2
scummvm-rg350-0465fa37b901c812bd2dc130afd0dfc0368e0ff3.zip
HOPKINS: Bugfix for Hopkins/Samantha appearing when you're controlling the other.
Diffstat (limited to 'engines')
-rw-r--r--engines/hopkins/script.cpp54
1 files changed, 25 insertions, 29 deletions
diff --git a/engines/hopkins/script.cpp b/engines/hopkins/script.cpp
index 9955b77aca..8330c1ea43 100644
--- a/engines/hopkins/script.cpp
+++ b/engines/hopkins/script.cpp
@@ -213,41 +213,37 @@ LABEL_1141:
_vm->_objectsManager.PERI = v5;
if (_vm->_objectsManager.CH_TETE == 1) {
if (_vm->_globals.SAUVEGARDE->data[svField354] == 1
- && _vm->_globals.SAUVEGARDE->data[svField180]
- && _vm->_globals.SAUVEGARDE->data[svField181]
- && _vm->_globals.SAUVEGARDE->data[svField182]
- && _vm->_globals.SAUVEGARDE->data[svField183]) {
- _vm->_objectsManager.PERX = _vm->_globals.SAUVEGARDE->data[svField180];
- _vm->_objectsManager.PERY = _vm->_globals.SAUVEGARDE->data[svField181];
- _vm->_objectsManager.PERI = _vm->_globals.SAUVEGARDE->data[svField182];
+ && _vm->_globals.SAUVEGARDE->cloneHopkins.xp && _vm->_globals.SAUVEGARDE->cloneHopkins.yp
+ && _vm->_globals.SAUVEGARDE->cloneHopkins.field2 && _vm->_globals.SAUVEGARDE->cloneHopkins.location) {
+
+ _vm->_objectsManager.PERX = _vm->_globals.SAUVEGARDE->cloneHopkins.xp;
+ _vm->_objectsManager.PERY = _vm->_globals.SAUVEGARDE->cloneHopkins.yp;
+ _vm->_objectsManager.PERI = _vm->_globals.SAUVEGARDE->cloneHopkins.field2;
}
if (_vm->_globals.SAUVEGARDE->data[svField356] == 1
- && _vm->_globals.SAUVEGARDE->data[svField190]
- && _vm->_globals.SAUVEGARDE->data[svField191]
- && _vm->_globals.SAUVEGARDE->data[svField192]
- && _vm->_globals.SAUVEGARDE->data[svField193]) {
- _vm->_objectsManager.PERX = _vm->_globals.SAUVEGARDE->data[svField190];
- _vm->_objectsManager.PERY = _vm->_globals.SAUVEGARDE->data[svField191];
- _vm->_objectsManager.PERI = _vm->_globals.SAUVEGARDE->data[svField192];
+ && _vm->_globals.SAUVEGARDE->samantha.xp && _vm->_globals.SAUVEGARDE->samantha.yp
+ && _vm->_globals.SAUVEGARDE->samantha.field2 && _vm->_globals.SAUVEGARDE->samantha.location) {
+ _vm->_objectsManager.PERX = _vm->_globals.SAUVEGARDE->samantha.xp;
+ _vm->_objectsManager.PERY = _vm->_globals.SAUVEGARDE->samantha.yp;
+ _vm->_objectsManager.PERI = _vm->_globals.SAUVEGARDE->samantha.field2;
}
if (_vm->_globals.SAUVEGARDE->data[svField357] == 1
- && _vm->_globals.SAUVEGARDE->data[svField185]
- && _vm->_globals.SAUVEGARDE->data[svField186]
- && _vm->_globals.SAUVEGARDE->data[svField187]
- && _vm->_globals.SAUVEGARDE->data[svField188]) {
- _vm->_objectsManager.PERX = _vm->_globals.SAUVEGARDE->data[svField185];
- _vm->_objectsManager.PERY = _vm->_globals.SAUVEGARDE->data[svField186];
- _vm->_objectsManager.PERI = _vm->_globals.SAUVEGARDE->data[svField187];
+ && _vm->_globals.SAUVEGARDE->realHopkins.xp && _vm->_globals.SAUVEGARDE->realHopkins.yp
+ && _vm->_globals.SAUVEGARDE->realHopkins.field2 && _vm->_globals.SAUVEGARDE->realHopkins.location) {
+ _vm->_objectsManager.PERX = _vm->_globals.SAUVEGARDE->realHopkins.xp;
+ _vm->_objectsManager.PERY = _vm->_globals.SAUVEGARDE->realHopkins.yp;
+ _vm->_objectsManager.PERI = _vm->_globals.SAUVEGARDE->realHopkins.field2;
}
}
- if (_vm->_globals.SAUVEGARDE->data[svField356] == 1 && _vm->_globals.SAUVEGARDE->data[svField188] == _vm->_globals.ECRAN) {
+ if (_vm->_globals.SAUVEGARDE->data[svField356] == 1
+ && _vm->_globals.SAUVEGARDE->realHopkins.location == _vm->_globals.ECRAN) {
_vm->_objectsManager.SPRITE(
_vm->_globals.TETE,
- _vm->_globals.SAUVEGARDE->data[svField185],
- _vm->_globals.SAUVEGARDE->data[svField186],
+ _vm->_globals.SAUVEGARDE->realHopkins.xp,
+ _vm->_globals.SAUVEGARDE->realHopkins.yp,
1,
2,
- _vm->_globals.SAUVEGARDE->data[svField189],
+ _vm->_globals.SAUVEGARDE->realHopkins.field4,
0,
34,
190);
@@ -256,14 +252,14 @@ LABEL_1141:
}
if (_vm->_globals.SAUVEGARDE->data[svField357] == 1
&& _vm->_globals.SAUVEGARDE->data[svField355] == 1
- && _vm->_globals.SAUVEGARDE->data[svField193] == _vm->_globals.ECRAN) {
+ && _vm->_globals.SAUVEGARDE->samantha.location == _vm->_globals.ECRAN) {
_vm->_objectsManager.SPRITE(
_vm->_globals.TETE,
- _vm->_globals.SAUVEGARDE->data[svField190],
- _vm->_globals.SAUVEGARDE->data[svField191],
+ _vm->_globals.SAUVEGARDE->samantha.xp,
+ _vm->_globals.SAUVEGARDE->samantha.yp,
1,
3,
- _vm->_globals.SAUVEGARDE->data[svField194],
+ _vm->_globals.SAUVEGARDE->samantha.field4,
0,
20,
127);