[Scummvm-cvs-logs] scummvm master -> f3fc6720d1c319ad00e5b15cbe7d087831fe807c
dreammaster
dreammaster at scummvm.org
Sun Oct 16 05:15:16 CEST 2011
This automated email contains information about 4 new commits which have been
pushed to the 'scummvm' repo located at https://github.com/scummvm/scummvm .
Summary:
0af554b891 TSAGE: Workaround for script bug in Blue Force using invalid visage rlb indexes.
d8863110e9 TSAGE: Bugfix for infinite recursion when talking to grandma.
1d99d51b28 TSAGE: Workaround for original game bug in BF scene 600.
f3fc6720d1 TSAGE: Bugfixes for fax machine in Lyle's Office
Commit: 0af554b891eb35a222688d5e3df3639afaa3f097
https://github.com/scummvm/scummvm/commit/0af554b891eb35a222688d5e3df3639afaa3f097
Author: Paul Gilbert (dreammaster at scummvm.org)
Date: 2011-10-15T19:54:54-07:00
Commit Message:
TSAGE: Workaround for script bug in Blue Force using invalid visage rlb indexes.
This affects the inspection cut-scene on Day 2
Changed paths:
engines/tsage/core.cpp
Commit: d8863110e96528b2dc945608b1becbfc0098ad9b
https://github.com/scummvm/scummvm/commit/d8863110e96528b2dc945608b1becbfc0098ad9b
Author: Paul Gilbert (dreammaster at scummvm.org)
Date: 2011-10-15T19:54:55-07:00
Commit Message:
TSAGE: Bugfix for infinite recursion when talking to grandma.
Changed paths:
engines/tsage/blue_force/blueforce_scenes2.cpp
Commit: 1d99d51b2879f5e7ba45be7e4542eb0a70cb9c8b
https://github.com/scummvm/scummvm/commit/1d99d51b2879f5e7ba45be7e4542eb0a70cb9c8b
Author: Paul Gilbert (dreammaster at scummvm.org)
Date: 2011-10-15T19:54:56-07:00
Commit Message:
TSAGE: Workaround for original game bug in BF scene 600.
The global scroll object follower was set to a scene object in this scene, but not reset when the scene ends, resulting in the pointer pointing to a freed object.
Changed paths:
engines/tsage/blue_force/blueforce_scenes6.cpp
engines/tsage/blue_force/blueforce_scenes6.h
diff --git a/engines/tsage/blue_force/blueforce_scenes6.cpp b/engines/tsage/blue_force/blueforce_scenes6.cpp
index 86e64aa..e8c9af5 100644
--- a/engines/tsage/blue_force/blueforce_scenes6.cpp
+++ b/engines/tsage/blue_force/blueforce_scenes6.cpp
@@ -131,6 +131,14 @@ void Scene600::signal() {
BF_GLOBALS._sceneManager.changeScene(620);
}
+// WORKAROUND: Fix for original game bug where the global scrolling object follower
+// remains set to an object within the scene that is no longer active
+void Scene600::remove() {
+ BF_GLOBALS._scrollFollower = &BF_GLOBALS._player;
+
+ SceneExt::remove();
+}
+
/*--------------------------------------------------------------------------
* Scene 620 - Hospital cut-scene
*
diff --git a/engines/tsage/blue_force/blueforce_scenes6.h b/engines/tsage/blue_force/blueforce_scenes6.h
index 7c35b75..e354e9e 100644
--- a/engines/tsage/blue_force/blueforce_scenes6.h
+++ b/engines/tsage/blue_force/blueforce_scenes6.h
@@ -55,6 +55,7 @@ public:
virtual void postInit(SceneObjectList *OwnerList = NULL);
virtual void signal();
+ virtual void remove();
};
class Scene620 : public PalettedScene {
Commit: f3fc6720d1c319ad00e5b15cbe7d087831fe807c
https://github.com/scummvm/scummvm/commit/f3fc6720d1c319ad00e5b15cbe7d087831fe807c
Author: Paul Gilbert (dreammaster at scummvm.org)
Date: 2011-10-15T19:54:56-07:00
Commit Message:
TSAGE: Bugfixes for fax machine in Lyle's Office
Changed paths:
engines/tsage/blue_force/blueforce_scenes8.cpp
engines/tsage/blue_force/blueforce_scenes8.h
diff --git a/engines/tsage/blue_force/blueforce_scenes8.cpp b/engines/tsage/blue_force/blueforce_scenes8.cpp
index e888bbc..1f8d40c 100644
--- a/engines/tsage/blue_force/blueforce_scenes8.cpp
+++ b/engines/tsage/blue_force/blueforce_scenes8.cpp
@@ -638,7 +638,7 @@ bool Scene810::Object3::startAction(CursorType action, Event &event) {
}
}
-bool Scene810::Object4::startAction(CursorType action, Event &event) {
+bool Scene810::FaxMachineInset::startAction(CursorType action, Event &event) {
Scene810 *scene = (Scene810 *)BF_GLOBALS._sceneManager._scene;
switch (action) {
@@ -775,19 +775,27 @@ bool Scene810::FaxMachine::startAction(CursorType action, Event &event) {
} else {
BF_GLOBALS._player.disableControl();
scene->_sceneMode = 8105;
- ADD_PLAYER_MOVER(67, 111);
+
+ Common::Point destPos(67, 111);
+ PlayerMover *mover = new PlayerMover();
+ BF_GLOBALS._player.addMover(mover, &destPos, scene);
}
return true;
case INV_PRINT_OUT:
- BF_INVENTORY.setObjectScene(INV_PRINT_OUT, 811);
- BF_GLOBALS._player.disableControl();
- scene->_sceneMode = 811;
+ if (BF_INVENTORY.getObjectScene(INV_COBB_RAP) == 1)
+ SceneItem::display2(810, 31);
+ else {
+ BF_INVENTORY.setObjectScene(INV_PRINT_OUT, 811);
+ BF_GLOBALS._player.disableControl();
+ scene->_sceneMode = 811;
- if (BF_GLOBALS._sceneObjects->contains(&scene->_lyle)) {
- scene->setAction(&scene->_sequenceManager1, scene, BF_GLOBALS.getFlag(onDuty) ? 8108 : 8105,
- &scene->_object6, NULL);
- } else {
- scene->setAction(&scene->_sequenceManager1, scene, 8111, &BF_GLOBALS._player, &scene->_object6, NULL);
+ if (BF_GLOBALS._sceneObjects->contains(&scene->_lyle)) {
+ scene->setAction(&scene->_sequenceManager1, scene, BF_GLOBALS.getFlag(onDuty) ? 8108 : 8105,
+ &BF_GLOBALS._player, &scene->_object6, NULL);
+ } else {
+ scene->setAction(&scene->_sequenceManager1, scene, 8111, &BF_GLOBALS._player,
+ &scene->_object6, NULL);
+ }
}
return true;
default:
@@ -1108,12 +1116,13 @@ void Scene810::signal() {
switch (_sceneMode) {
case 811:
case 8105:
- _object4.postInit();
- _object4.setVisage(810);
- _object4.setPosition(Common::Point(77, 94));
- _object4.setStrip(8);
- _object4.fixPriority(250);
- BF_GLOBALS._sceneItems.push_back(&_object4);
+ _faxMachineInset.postInit();
+ _faxMachineInset.setVisage(810);
+ _faxMachineInset.setPosition(Common::Point(77, 94));
+ _faxMachineInset.setStrip(8);
+ _faxMachineInset.fixPriority(250);
+ BF_GLOBALS._sceneItems.push_back(&_faxMachineInset);
+ BF_GLOBALS._player.enableControl();
break;
case 8100:
if (BF_GLOBALS.getFlag(examinedFile810)) {
@@ -1230,7 +1239,7 @@ void Scene810::signal() {
}
void Scene810::process(Event &event) {
- if (BF_GLOBALS._player._enabled && (event.mousePos.y < (BF_INTERFACE_Y - 1))) {
+ if (BF_GLOBALS._player._enabled && !_focusObject && (event.mousePos.y < (BF_INTERFACE_Y - 1))) {
// Check if the cursor is on an exit
if (_exit.contains(event.mousePos)) {
GfxSurface surface = _cursorVisage.getFrame(EXITFRAME_E);
@@ -1253,9 +1262,9 @@ void Scene810::dispatch() {
_lyle.updateAngle(BF_GLOBALS._player._position);
}
- if (BF_GLOBALS._sceneObjects->contains(&_object4) && (BF_GLOBALS._player._position.x != 67) &&
+ if (BF_GLOBALS._sceneObjects->contains(&_faxMachineInset) && (BF_GLOBALS._player._position.x != 67) &&
(BF_GLOBALS._player._position.y != 111)) {
- _object4.remove();
+ _faxMachineInset.remove();
}
if (!_action) {
diff --git a/engines/tsage/blue_force/blueforce_scenes8.h b/engines/tsage/blue_force/blueforce_scenes8.h
index aa63002..ad223fe 100644
--- a/engines/tsage/blue_force/blueforce_scenes8.h
+++ b/engines/tsage/blue_force/blueforce_scenes8.h
@@ -185,7 +185,7 @@ class Scene810: public SceneExt {
public:
virtual bool startAction(CursorType action, Event &event);
};
- class Object4: public NamedObject {
+ class FaxMachineInset: public FocusObject {
public:
virtual bool startAction(CursorType action, Event &event);
};
@@ -208,7 +208,7 @@ public:
Lyle _lyle;
Chair _chair;
Object3 _object3;
- Object4 _object4;
+ FaxMachineInset _faxMachineInset;
Object5 _object5;
NamedObject _object6;
Object7 _object7;
More information about the Scummvm-git-logs
mailing list