[Scummvm-git-logs] scummvm master -> 2cc09b6b1097007b6eeac12882c03475e56e1be0
peterkohaut
peterkohaut at users.noreply.github.com
Thu Jan 24 23:05:34 CET 2019
This automated email contains information about 5 new commits which have been
pushed to the 'scummvm' repo located at https://github.com/scummvm/scummvm .
Summary:
7183f368dc BLADERUNNER: Fixed BB51 video
00c54db83c BLADERUNNER: Splitted debugger draw commands
5475bca1e1 BLADERUNNER: Skip empty obstacle polygons
2fd29c5193 BLADERUNNER: Fixed fog rendering
2cc09b6b10 BLADERUNNER: Fixes for game scripts & cleanup
Commit: 7183f368dcaa667d975a1d842168706aa7ef906f
https://github.com/scummvm/scummvm/commit/7183f368dcaa667d975a1d842168706aa7ef906f
Author: Peter Kohaut (peter.kohaut at gmail.com)
Date: 2019-01-24T22:59:49+01:00
Commit Message:
BLADERUNNER: Fixed BB51 video
Packet CBPZ was not supported.
Changed paths:
engines/bladerunner/vqa_decoder.cpp
diff --git a/engines/bladerunner/vqa_decoder.cpp b/engines/bladerunner/vqa_decoder.cpp
index 07df325..65afef8 100644
--- a/engines/bladerunner/vqa_decoder.cpp
+++ b/engines/bladerunner/vqa_decoder.cpp
@@ -41,6 +41,7 @@ namespace BladeRunner {
#define kAESC 0x41455343
#define kCBFZ 0x4342465A
+#define kCBPZ 0x4342505A
#define kCIND 0x43494E44
#define kCINF 0x43494E46
#define kCINH 0x43494E48
@@ -366,6 +367,7 @@ bool VQADecoder::VQAVideoTrack::readVQFR(Common::SeekableReadStream *s, uint32 s
bool rc = false;
switch (chd.id) {
case kCBFZ: rc = ((readFlags & kVQAReadCodebook ) == 0) ? s->skip(roundup(chd.size)) : readCBFZ(s, chd.size); break;
+ case kCBPZ: rc = ((readFlags & kVQAReadCodebook ) == 0) ? s->skip(roundup(chd.size)) : readCBFZ(s, chd.size); break;
case kVPTR: rc = ((readFlags & kVQAReadVectorPointerTable) == 0) ? s->skip(roundup(chd.size)) : readVPTR(s, chd.size); break;
default:
s->skip(roundup(chd.size));
Commit: 00c54db83ce72635cd060114f3e53760a49c4fe6
https://github.com/scummvm/scummvm/commit/00c54db83ce72635cd060114f3e53760a49c4fe6
Author: Peter Kohaut (peter.kohaut at gmail.com)
Date: 2019-01-24T22:59:49+01:00
Commit Message:
BLADERUNNER: Splitted debugger draw commands
Debugger overlay is now more configurable
Added basic support for fogs
Changed paths:
engines/bladerunner/bladerunner.cpp
engines/bladerunner/debugger.cpp
engines/bladerunner/debugger.h
diff --git a/engines/bladerunner/bladerunner.cpp b/engines/bladerunner/bladerunner.cpp
index 5ac67ac..e2510ca 100644
--- a/engines/bladerunner/bladerunner.cpp
+++ b/engines/bladerunner/bladerunner.cpp
@@ -962,9 +962,10 @@ void BladeRunnerEngine::gameTick() {
_walkSoundId = -1;
}
- if (_debugger->_viewSceneObjects) {
- _debugger->drawSceneObjects();
+ if (_debugger->_isDebuggerOverlay) {
+ _debugger->drawDebuggerOverlay();
}
+
if (_debugger->_viewObstacles) {
_obstacles->draw();
}
diff --git a/engines/bladerunner/debugger.cpp b/engines/bladerunner/debugger.cpp
index 5c3346d..b65088c 100644
--- a/engines/bladerunner/debugger.cpp
+++ b/engines/bladerunner/debugger.cpp
@@ -27,6 +27,7 @@
#include "bladerunner/boundingbox.h"
#include "bladerunner/combat.h"
#include "bladerunner/font.h"
+#include "bladerunner/fog.h"
#include "bladerunner/game_constants.h"
#include "bladerunner/game_flags.h"
#include "bladerunner/game_info.h"
@@ -36,8 +37,10 @@
#include "bladerunner/savefile.h"
#include "bladerunner/scene.h"
#include "bladerunner/scene_objects.h"
+#include "bladerunner/screen_effects.h"
#include "bladerunner/settings.h"
#include "bladerunner/set.h"
+#include "bladerunner/set_effects.h"
#include "bladerunner/text_resource.h"
#include "bladerunner/vector.h"
#include "bladerunner/view.h"
@@ -56,8 +59,15 @@ namespace BladeRunner {
Debugger::Debugger(BladeRunnerEngine *vm) : GUI::Debugger() {
_vm = vm;
+ _isDebuggerOverlay = false;
+
_viewSceneObjects = false;
_viewActorsOnly = false;
+ _viewLights = false;
+ _viewFogs = false;
+ _viewRegions = false;
+ _viewWaypoints = false;
+ _viewWalkboxes = false;
_viewObstacles = false;
_viewUI = false;
_viewZBuffer = false;
@@ -72,6 +82,7 @@ Debugger::Debugger(BladeRunnerEngine *vm) : GUI::Debugger() {
registerCmd("scene", WRAP_METHOD(Debugger, cmdScene));
registerCmd("var", WRAP_METHOD(Debugger, cmdVariable));
registerCmd("clue", WRAP_METHOD(Debugger, cmdClue));
+ registerCmd("timer", WRAP_METHOD(Debugger, cmdTimer));
registerCmd("load", WRAP_METHOD(Debugger, cmdLoad));
registerCmd("save", WRAP_METHOD(Debugger, cmdSave));
}
@@ -101,7 +112,7 @@ bool Debugger::cmdAnimation(int argc, const char **argv) {
if (argc == 3) {
int animationMode = atoi(argv[2]);
debugPrintf("actorAnimationMode(%i) = %i\n", actorId, animationMode);
- actor->changeAnimationMode(animationMode);
+ actor->changeAnimationMode(animationMode, true);
return false;
}
@@ -112,7 +123,7 @@ bool Debugger::cmdAnimation(int argc, const char **argv) {
bool Debugger::cmdDraw(int argc, const char **argv) {
if (argc != 2) {
debugPrintf("Enables debug rendering of scene objects, obstacles, ui elements, zbuffer or disables debug rendering.\n");
- debugPrintf("Usage: %s (obj | actors | obstacles | ui | zbuf | reset)\n", argv[0]);
+ debugPrintf("Usage: %s (obj | reg | lit | fog | way | walk | act | obstacles | ui | zbuf | reset)\n", argv[0]);
return true;
}
@@ -120,6 +131,21 @@ bool Debugger::cmdDraw(int argc, const char **argv) {
if (arg == "obj") {
_viewSceneObjects = !_viewSceneObjects;
debugPrintf("Drawing scene objects = %i\n", _viewSceneObjects);
+ } else if (arg == "reg") {
+ _viewRegions = !_viewRegions;
+ debugPrintf("Drawing regions = %i\n", _viewRegions);
+ } else if (arg == "lit") {
+ _viewLights = !_viewLights;
+ debugPrintf("Drawing lights = %i\n", _viewLights);
+ } else if (arg == "fog") {
+ _viewFogs = !_viewFogs;
+ debugPrintf("Drawing fogs = %i\n", _viewFogs);
+ } else if (arg == "way") {
+ _viewWaypoints = !_viewWaypoints;
+ debugPrintf("Drawing waypoints = %i\n", _viewWaypoints);
+ } else if (arg == "walk") {
+ _viewWalkboxes = !_viewWalkboxes;
+ debugPrintf("Drawing walk boxes = %i\n", _viewWalkboxes);
} else if (arg == "actors") {
_viewSceneObjects = !_viewSceneObjects;
_viewActorsOnly = _viewSceneObjects;
@@ -142,6 +168,7 @@ bool Debugger::cmdDraw(int argc, const char **argv) {
debugPrintf("Drawing Z buffer = %i\n", _viewZBuffer);
}
+ _isDebuggerOverlay = _viewSceneObjects | _viewRegions | _viewLights | _viewFogs | _viewWaypoints | _viewWalkboxes;
return true;
}
@@ -527,6 +554,48 @@ bool Debugger::cmdClue(int argc, const char **argv) {
return true;
}
+bool Debugger::cmdTimer(int argc, const char **argv) {
+ if (argc != 2 && argc != 4) {
+ debugPrintf("Get or changes timers for an actor.\n");
+ debugPrintf("Usage: %s <actorId> [<timer> <value>]\n", argv[0]);
+ return true;
+ }
+
+ int actorId = atoi(argv[1]);
+
+ Actor *actor = nullptr;
+ if ((actorId >= 0 && actorId < (int)_vm->_gameInfo->getActorCount()) || (actorId == kActorVoiceOver)) {
+ actor = _vm->_actors[actorId];
+ }
+
+ if (actor == nullptr) {
+ debugPrintf("Unknown actor %i\n", actorId);
+ return true;
+ }
+
+ if (argc == 4) {
+ int timer = atoi(argv[2]);
+ int value = atoi(argv[3]);
+
+ if (timer < 0 || timer > 6) {
+ debugPrintf("Timer must be [0..6]");
+ return true;
+ }
+
+ if (value == 0) {
+ actor->timerReset(timer);
+ } else {
+ actor->timerStart(timer, value);
+ }
+ }
+
+ for (int i = 0; i < 7; ++i) {
+ debugPrintf("actorTimer(%i, %i) = %i ms\n", actorId, i, actor->timerLeft(i));
+ }
+
+ return true;
+}
+
bool Debugger::cmdLoad(int argc, const char **argv) {
if (argc != 2) {
debugPrintf("Loads a save game from original format.\n");
@@ -579,6 +648,15 @@ bool Debugger::cmdSave(int argc, const char **argv) {
return true;
}
+void Debugger::drawDebuggerOverlay() {
+ if (_viewSceneObjects) drawSceneObjects();
+ if (_viewLights) drawLights();
+ if (_viewFogs) drawFogs();
+ if (_viewRegions) drawRegions();
+ if (_viewWaypoints) drawWaypoints();
+ if (_viewWalkboxes) drawWalkboxes();
+}
+
void Debugger::drawBBox(Vector3 start, Vector3 end, View *view, Graphics::Surface *surface, int color) {
Vector3 bfl = view->calculateScreenPosition(Vector3(start.x, start.y, start.z));
Vector3 bfr = view->calculateScreenPosition(Vector3(start.x, end.y, start.z));
@@ -653,36 +731,9 @@ void Debugger::drawSceneObjects() {
}
}
}
+}
- if (_viewActorsOnly)
- return;
-
- //draw regions
- for (int i = 0; i < 10; i++) {
- Regions::Region *region = &_vm->_scene->_regions->_regions[i];
- if (!region->present) continue;
- _vm->_surfaceFront.frameRect(region->rectangle, 0x001F); // 00000 00000 11111
- }
-
- for (int i = 0; i < 10; i++) {
- Regions::Region *region = &_vm->_scene->_exits->_regions[i];
- if (!region->present) continue;
- _vm->_surfaceFront.frameRect(region->rectangle, 0x7FFF); // 11111 11111 11111
- }
-
- //draw walkboxes
- for (int i = 0; i < _vm->_scene->_set->_walkboxCount; i++) {
- Set::Walkbox *walkbox = &_vm->_scene->_set->_walkboxes[i];
-
- for (int j = 0; j < walkbox->vertexCount; j++) {
- Vector3 start = _vm->_view->calculateScreenPosition(walkbox->vertices[j]);
- Vector3 end = _vm->_view->calculateScreenPosition(walkbox->vertices[(j + 1) % walkbox->vertexCount]);
- _vm->_surfaceFront.drawLine(start.x, start.y, end.x, end.y, 0x7FE0); // 11111 11111 00000
- Vector3 pos = _vm->_view->calculateScreenPosition(0.5 * (start + end));
- _vm->_mainFont->drawColor(walkbox->name, _vm->_surfaceFront, pos.x, pos.y, 0x7FE0); // 11111 11111 00000
- }
- }
-
+void Debugger::drawLights() {
// draw lights
for (int i = 0; i < (int)_vm->_lights->_lights.size(); i++) {
Light *light = _vm->_lights->_lights[i];
@@ -712,8 +763,56 @@ void Debugger::drawSceneObjects() {
_vm->_surfaceFront.drawLine(posOriginT.x, posOriginT.y, posTargetT.x, posTargetT.y, color);
_vm->_mainFont->drawColor(light->_name, _vm->_surfaceFront, posOriginT.x, posOriginT.y, color);
}
+}
+
+void Debugger::drawFogs() {
+ // draw fogs
+ for (Fog *fog = _vm->_scene->_set->_effects->_fogs; fog != nullptr; fog = fog->_next) {
+
+ // Matrix4x3 m = fog->_matrix;
+ // m = invertMatrix(m);
+ Matrix4x3 m = fog->_inverted;
+
+ //todo do this properly
+ Vector3 posOrigin = m * Vector3(0.0f, 0.0f, 0.0f);
+ float t = posOrigin.y;
+ posOrigin.y = posOrigin.z;
+ posOrigin.z = -t;
+
+
+ Vector3 size = Vector3(5.0f, 5.0f, 5.0f);
+ int colorR = (fog->_fogColor.r * 31.0f);
+ int colorG = (fog->_fogColor.g * 31.0f);
+ int colorB = (fog->_fogColor.b * 31.0f);
+ int color = (colorR << 10) + (colorG << 5) + colorB;
+
+ drawBBox(posOrigin - size, posOrigin + size, _vm->_view, &_vm->_surfaceFront, color);
+
+ Vector3 posOriginT = _vm->_view->calculateScreenPosition(posOrigin);
+ // Vector3 posTargetT = _vm->_view->calculateScreenPosition(posTarget);
+ // _vm->_surfaceFront.drawLine(posOriginT.x, posOriginT.y, posTargetT.x, posTargetT.y, color);
+ _vm->_mainFont->drawColor(fog->_name, _vm->_surfaceFront, posOriginT.x, posOriginT.y, color);
+ }
+}
- //draw waypoints
+void Debugger::drawRegions() {
+ //draw regions
+ for (int i = 0; i < 10; i++) {
+ Regions::Region *region = &_vm->_scene->_regions->_regions[i];
+ if (!region->present) continue;
+ _vm->_surfaceFront.frameRect(region->rectangle, 0x001F); // 00000 00000 11111
+ }
+
+ //draw exits
+ for (int i = 0; i < 10; i++) {
+ Regions::Region *region = &_vm->_scene->_exits->_regions[i];
+ if (!region->present) continue;
+ _vm->_surfaceFront.frameRect(region->rectangle, 0x7FFF); // 11111 11111 11111
+ }
+}
+
+void Debugger::drawWaypoints() {
+ //draw world waypoints
for (int i = 0; i < _vm->_waypoints->_count; i++) {
Waypoints::Waypoint *waypoint = &_vm->_waypoints->_waypoints[i];
if(waypoint->setId != _vm->_scene->getSetId()) {
@@ -760,11 +859,27 @@ void Debugger::drawSceneObjects() {
sprintf(fleeText, "flee %i", i);
_vm->_mainFont->drawColor(fleeText, _vm->_surfaceFront, spos.x, spos.y, color);
}
+}
-#if 0
+void Debugger::drawWalkboxes() {
+ //draw walkboxes
+ for (int i = 0; i < _vm->_scene->_set->_walkboxCount; i++) {
+ Set::Walkbox *walkbox = &_vm->_scene->_set->_walkboxes[i];
+
+ for (int j = 0; j < walkbox->vertexCount; j++) {
+ Vector3 start = _vm->_view->calculateScreenPosition(walkbox->vertices[j]);
+ Vector3 end = _vm->_view->calculateScreenPosition(walkbox->vertices[(j + 1) % walkbox->vertexCount]);
+ _vm->_surfaceFront.drawLine(start.x, start.y, end.x, end.y, 0x7FE0); // 11111 11111 00000
+ Vector3 pos = _vm->_view->calculateScreenPosition(0.5 * (start + end));
+ _vm->_mainFont->drawColor(walkbox->name, _vm->_surfaceFront, pos.x, pos.y, 0x7FE0); // 11111 11111 00000
+ }
+ }
+}
+
+void Debugger::drawScreenEffects() {
//draw aesc
- for (uint i = 0; i < _screenEffects->_entries.size(); i++) {
- ScreenEffects::Entry &entry = _screenEffects->_entries[i];
+ for (uint i = 0; i < _vm->_screenEffects->_entries.size(); i++) {
+ ScreenEffects::Entry &entry = _vm->_screenEffects->_entries[i];
int j = 0;
for (int y = 0; y < entry.height; y++) {
for (int x = 0; x < entry.width; x++) {
@@ -779,11 +894,11 @@ void Debugger::drawSceneObjects() {
CLIP(color.r * bladeToScummVmConstant, 0, 255),
CLIP(color.g * bladeToScummVmConstant, 0, 255),
CLIP(color.b * bladeToScummVmConstant, 0, 255));
- _surfaceFront.fillRect(r, color555);
+ _vm->_surfaceFront.fillRect(r, color555);
}
}
}
-#endif
}
+
} // End of namespace BladeRunner
diff --git a/engines/bladerunner/debugger.h b/engines/bladerunner/debugger.h
index f801aee..0946e7f 100644
--- a/engines/bladerunner/debugger.h
+++ b/engines/bladerunner/debugger.h
@@ -40,12 +40,20 @@ class Debugger : public GUI::Debugger{
BladeRunnerEngine *_vm;
public:
+ bool _isDebuggerOverlay;
+
bool _viewSceneObjects;
bool _viewActorsOnly;
+ bool _viewLights;
+ bool _viewFogs;
+ bool _viewRegions;
+ bool _viewWaypoints;
+ bool _viewWalkboxes;
bool _viewObstacles;
bool _viewUI;
bool _viewZBuffer;
+
Debugger(BladeRunnerEngine *vm);
~Debugger();
@@ -60,12 +68,21 @@ public:
bool cmdScene(int argc, const char **argv);
bool cmdVariable(int argc, const char **argv);
bool cmdClue(int argc, const char **argv);
+ bool cmdTimer(int argc, const char **argv);
bool cmdLoad(int argc, const char **argv);
bool cmdSave(int argc, const char **argv);
+ void drawDebuggerOverlay();
+
void drawBBox(Vector3 start, Vector3 end, View *view, Graphics::Surface *surface, int color);
void drawSceneObjects();
- void drawZBuffer();
+ void drawActors();
+ void drawLights();
+ void drawFogs();
+ void drawRegions();
+ void drawWaypoints();
+ void drawWalkboxes();
+ void drawScreenEffects();
};
} // End of namespace BladeRunner
Commit: 5475bca1e1996977a45c598d61e186f10c407155
https://github.com/scummvm/scummvm/commit/5475bca1e1996977a45c598d61e186f10c407155
Author: Peter Kohaut (peter.kohaut at gmail.com)
Date: 2019-01-24T22:59:49+01:00
Commit Message:
BLADERUNNER: Skip empty obstacle polygons
It was causing issues in BB07
Changed paths:
engines/bladerunner/obstacles.cpp
diff --git a/engines/bladerunner/obstacles.cpp b/engines/bladerunner/obstacles.cpp
index 9a8792e..6e038b9 100644
--- a/engines/bladerunner/obstacles.cpp
+++ b/engines/bladerunner/obstacles.cpp
@@ -284,12 +284,20 @@ restart:
continue;
}
+ if (polyA.verticeCount == 0) {
+ continue;
+ }
+
for (int j = i+1; j < kPolygonCount; ++j) {
Polygon &polyB = _polygons[j];
if (!polyB.isPresent) {
continue;
}
+ if (polyB.verticeCount == 0) {
+ continue;
+ }
+
if (!overlaps(polyA.rect, polyB.rect)) {
continue;
}
Commit: 2fd29c5193a0b9e6d3920f0512ce3ca37b00bf7e
https://github.com/scummvm/scummvm/commit/2fd29c5193a0b9e6d3920f0512ce3ca37b00bf7e
Author: Peter Kohaut (peter.kohaut at gmail.com)
Date: 2019-01-24T22:59:49+01:00
Commit Message:
BLADERUNNER: Fixed fog rendering
Fogs were not animated.
Clean up of the fog calculation routines.
Changed paths:
engines/bladerunner/debugger.cpp
engines/bladerunner/debugger.h
engines/bladerunner/fog.cpp
engines/bladerunner/fog.h
engines/bladerunner/set_effects.cpp
engines/bladerunner/set_effects.h
engines/bladerunner/vector.h
diff --git a/engines/bladerunner/debugger.cpp b/engines/bladerunner/debugger.cpp
index b65088c..996873b 100644
--- a/engines/bladerunner/debugger.cpp
+++ b/engines/bladerunner/debugger.cpp
@@ -61,15 +61,16 @@ Debugger::Debugger(BladeRunnerEngine *vm) : GUI::Debugger() {
_isDebuggerOverlay = false;
- _viewSceneObjects = false;
_viewActorsOnly = false;
_viewLights = false;
_viewFogs = false;
+ _viewSceneObjects = false;
+ _viewScreenEffects = false;
+ _viewObstacles = false;
_viewRegions = false;
+ _viewUI = false;
_viewWaypoints = false;
_viewWalkboxes = false;
- _viewObstacles = false;
- _viewUI = false;
_viewZBuffer = false;
registerCmd("anim", WRAP_METHOD(Debugger, cmdAnimation));
@@ -122,53 +123,72 @@ bool Debugger::cmdAnimation(int argc, const char **argv) {
bool Debugger::cmdDraw(int argc, const char **argv) {
if (argc != 2) {
- debugPrintf("Enables debug rendering of scene objects, obstacles, ui elements, zbuffer or disables debug rendering.\n");
- debugPrintf("Usage: %s (obj | reg | lit | fog | way | walk | act | obstacles | ui | zbuf | reset)\n", argv[0]);
+ debugPrintf("Enables debug rendering of actors, screen effect, fogs, lights, scene objects, obstacles, regsions, ui elements, walk boxes, waypoints, zbuffer or disables debug rendering.\n");
+ debugPrintf("Usage: %s (act | eff | fog | lit | obj | obstacles | reg | ui | walk | way | zbuf | reset)\n", argv[0]);
return true;
}
Common::String arg = argv[1];
- if (arg == "obj") {
+ if (arg == "act") {
_viewSceneObjects = !_viewSceneObjects;
- debugPrintf("Drawing scene objects = %i\n", _viewSceneObjects);
- } else if (arg == "reg") {
- _viewRegions = !_viewRegions;
- debugPrintf("Drawing regions = %i\n", _viewRegions);
- } else if (arg == "lit") {
- _viewLights = !_viewLights;
- debugPrintf("Drawing lights = %i\n", _viewLights);
+ _viewActorsOnly = _viewSceneObjects;
+ debugPrintf("Drawing actors = %i\n", _viewSceneObjects);
+ } else if (arg == "eff") {
+ _viewScreenEffects = !_viewScreenEffects;
+ debugPrintf("Drawing screen effects = %i\n", _viewScreenEffects);
} else if (arg == "fog") {
_viewFogs = !_viewFogs;
debugPrintf("Drawing fogs = %i\n", _viewFogs);
- } else if (arg == "way") {
- _viewWaypoints = !_viewWaypoints;
- debugPrintf("Drawing waypoints = %i\n", _viewWaypoints);
- } else if (arg == "walk") {
- _viewWalkboxes = !_viewWalkboxes;
- debugPrintf("Drawing walk boxes = %i\n", _viewWalkboxes);
- } else if (arg == "actors") {
+ } else if (arg == "lit") {
+ _viewLights = !_viewLights;
+ debugPrintf("Drawing lights = %i\n", _viewLights);
+ } else if (arg == "reg") {
+ _viewRegions = !_viewRegions;
+ debugPrintf("Drawing regions = %i\n", _viewRegions);
+ }else if (arg == "obj") {
_viewSceneObjects = !_viewSceneObjects;
- _viewActorsOnly = _viewSceneObjects;
- debugPrintf("Drawing scene actors = %i\n", _viewSceneObjects);
+ debugPrintf("Drawing scene objects = %i\n", _viewSceneObjects);
} else if (arg == "obstacles") {
_viewObstacles = !_viewObstacles;
debugPrintf("Drawing obstacles = %i\n", _viewObstacles);
} else if (arg == "ui") {
_viewUI = !_viewUI;
debugPrintf("Drawing UI elements = %i\n", _viewUI);
+ } else if (arg == "way") {
+ _viewWaypoints = !_viewWaypoints;
+ debugPrintf("Drawing waypoints = %i\n", _viewWaypoints);
+ } else if (arg == "walk") {
+ _viewWalkboxes = !_viewWalkboxes;
+ debugPrintf("Drawing walk boxes = %i\n", _viewWalkboxes);
} else if (arg == "zbuf") {
_viewZBuffer = !_viewZBuffer;
debugPrintf("Drawing Z buffer = %i\n", _viewZBuffer);
} else if (arg == "reset") {
+ _viewActorsOnly = false;
+ _viewScreenEffects = false;
+ _viewFogs = false;
+ _viewLights = false;
+ _viewObstacles = false;
+ _viewRegions = false;
_viewSceneObjects = false;
_viewUI = false;
+ _viewWaypoints = false;
+ _viewWalkboxes = false;
_viewZBuffer = false;
+
+ debugPrintf("Drawing screen effects = %i\n", _viewScreenEffects);
+ debugPrintf("Drawing fogs = %i\n", _viewFogs);
+ debugPrintf("Drawing lights = %i\n", _viewLights);
+ debugPrintf("Drawing obstacles = %i\n", _viewObstacles);
+ debugPrintf("Drawing regions = %i\n", _viewRegions);
debugPrintf("Drawing scene objects = %i\n", _viewSceneObjects);
debugPrintf("Drawing UI elements = %i\n", _viewUI);
+ debugPrintf("Drawing waypoints = %i\n", _viewWaypoints);
+ debugPrintf("Drawing walkboxes = %i\n", _viewWalkboxes);
debugPrintf("Drawing Z buffer = %i\n", _viewZBuffer);
}
- _isDebuggerOverlay = _viewSceneObjects | _viewRegions | _viewLights | _viewFogs | _viewWaypoints | _viewWalkboxes;
+ _isDebuggerOverlay = _viewSceneObjects | _viewScreenEffects | _viewRegions | _viewLights | _viewFogs | _viewWaypoints | _viewWalkboxes;
return true;
}
@@ -650,6 +670,7 @@ bool Debugger::cmdSave(int argc, const char **argv) {
void Debugger::drawDebuggerOverlay() {
if (_viewSceneObjects) drawSceneObjects();
+ if (_viewScreenEffects) drawScreenEffects();
if (_viewLights) drawLights();
if (_viewFogs) drawFogs();
if (_viewRegions) drawRegions();
@@ -760,13 +781,14 @@ void Debugger::drawLights() {
Vector3 posOriginT = _vm->_view->calculateScreenPosition(posOrigin);
Vector3 posTargetT = _vm->_view->calculateScreenPosition(posTarget);
+
_vm->_surfaceFront.drawLine(posOriginT.x, posOriginT.y, posTargetT.x, posTargetT.y, color);
+
_vm->_mainFont->drawColor(light->_name, _vm->_surfaceFront, posOriginT.x, posOriginT.y, color);
}
}
void Debugger::drawFogs() {
- // draw fogs
for (Fog *fog = _vm->_scene->_set->_effects->_fogs; fog != nullptr; fog = fog->_next) {
// Matrix4x3 m = fog->_matrix;
@@ -779,6 +801,10 @@ void Debugger::drawFogs() {
posOrigin.y = posOrigin.z;
posOrigin.z = -t;
+ Vector3 posTarget = m * Vector3(0.0f, 0.0f, -100.0f);
+ t = posTarget.y;
+ posTarget.y = posTarget.z;
+ posTarget.z = -t;
Vector3 size = Vector3(5.0f, 5.0f, 5.0f);
int colorR = (fog->_fogColor.r * 31.0f);
@@ -789,8 +815,11 @@ void Debugger::drawFogs() {
drawBBox(posOrigin - size, posOrigin + size, _vm->_view, &_vm->_surfaceFront, color);
Vector3 posOriginT = _vm->_view->calculateScreenPosition(posOrigin);
- // Vector3 posTargetT = _vm->_view->calculateScreenPosition(posTarget);
- // _vm->_surfaceFront.drawLine(posOriginT.x, posOriginT.y, posTargetT.x, posTargetT.y, color);
+ Vector3 posTargetT = _vm->_view->calculateScreenPosition(posTarget);
+
+ // TODO: draw line only for cone fogs, draw boxes or circles for the other types
+ _vm->_surfaceFront.drawLine(posOriginT.x, posOriginT.y, posTargetT.x, posTargetT.y, color);
+
_vm->_mainFont->drawColor(fog->_name, _vm->_surfaceFront, posOriginT.x, posOriginT.y, color);
}
}
diff --git a/engines/bladerunner/debugger.h b/engines/bladerunner/debugger.h
index 0946e7f..9b3d169 100644
--- a/engines/bladerunner/debugger.h
+++ b/engines/bladerunner/debugger.h
@@ -42,15 +42,16 @@ class Debugger : public GUI::Debugger{
public:
bool _isDebuggerOverlay;
- bool _viewSceneObjects;
bool _viewActorsOnly;
- bool _viewLights;
bool _viewFogs;
+ bool _viewLights;
+ bool _viewScreenEffects;
+ bool _viewSceneObjects;
+ bool _viewObstacles;
bool _viewRegions;
+ bool _viewUI;
bool _viewWaypoints;
bool _viewWalkboxes;
- bool _viewObstacles;
- bool _viewUI;
bool _viewZBuffer;
diff --git a/engines/bladerunner/fog.cpp b/engines/bladerunner/fog.cpp
index cb8235b..dac7f29 100644
--- a/engines/bladerunner/fog.cpp
+++ b/engines/bladerunner/fog.cpp
@@ -43,9 +43,6 @@ Fog::Fog() {
_m32ptr = nullptr;
_m33ptr = nullptr;
_m34ptr = nullptr;
- _parameter1 = 0.0f;
- _parameter2 = 0.0f;
- _parameter3 = 0.0f;
_next = nullptr;
}
@@ -74,14 +71,14 @@ void Fog::readAnimationData(Common::ReadStream *stream, int size) {
}
_m11ptr = _animationData;
- _m12ptr = _m11ptr + (_animatedParameters & 0x1 ? _frameCount : 1);
- _m13ptr = _m12ptr + (_animatedParameters & 0x2 ? _frameCount : 1);
- _m14ptr = _m13ptr + (_animatedParameters & 0x4 ? _frameCount : 1);
- _m21ptr = _m14ptr + (_animatedParameters & 0x08 ? _frameCount : 1);
- _m22ptr = _m21ptr + (_animatedParameters & 0x10 ? _frameCount : 1);
- _m23ptr = _m22ptr + (_animatedParameters & 0x20 ? _frameCount : 1);
- _m24ptr = _m23ptr + (_animatedParameters & 0x40 ? _frameCount : 1);
- _m31ptr = _m24ptr + (_animatedParameters & 0x80 ? _frameCount : 1);
+ _m12ptr = _m11ptr + (_animatedParameters & 0x1 ? _frameCount : 1);
+ _m13ptr = _m12ptr + (_animatedParameters & 0x2 ? _frameCount : 1);
+ _m14ptr = _m13ptr + (_animatedParameters & 0x4 ? _frameCount : 1);
+ _m21ptr = _m14ptr + (_animatedParameters & 0x8 ? _frameCount : 1);
+ _m22ptr = _m21ptr + (_animatedParameters & 0x10 ? _frameCount : 1);
+ _m23ptr = _m22ptr + (_animatedParameters & 0x20 ? _frameCount : 1);
+ _m24ptr = _m23ptr + (_animatedParameters & 0x40 ? _frameCount : 1);
+ _m31ptr = _m24ptr + (_animatedParameters & 0x80 ? _frameCount : 1);
_m32ptr = _m31ptr + (_animatedParameters & 0x100 ? _frameCount : 1);
_m33ptr = _m32ptr + (_animatedParameters & 0x200 ? _frameCount : 1);
_m34ptr = _m33ptr + (_animatedParameters & 0x400 ? _frameCount : 1);
@@ -94,14 +91,14 @@ void Fog::reset() {
void Fog::setupFrame(int frame) {
int offset = frame % _frameCount;
- _matrix._m[0][0] = (_animatedParameters & 0x1 ? _m11ptr[offset] : *_m11ptr);
- _matrix._m[0][1] = (_animatedParameters & 0x2 ? _m12ptr[offset] : *_m12ptr);
- _matrix._m[0][2] = (_animatedParameters & 0x4 ? _m13ptr[offset] : *_m13ptr);
- _matrix._m[0][3] = (_animatedParameters & 0x8 ? _m14ptr[offset] : *_m14ptr);
- _matrix._m[1][0] = (_animatedParameters & 0x10 ? _m21ptr[offset] : *_m21ptr);
- _matrix._m[1][1] = (_animatedParameters & 0x20 ? _m22ptr[offset] : *_m22ptr);
- _matrix._m[1][2] = (_animatedParameters & 0x40 ? _m23ptr[offset] : *_m23ptr);
- _matrix._m[1][3] = (_animatedParameters & 0x80 ? _m24ptr[offset] : *_m24ptr);
+ _matrix._m[0][0] = (_animatedParameters & 0x1 ? _m11ptr[offset] : *_m11ptr);
+ _matrix._m[0][1] = (_animatedParameters & 0x2 ? _m12ptr[offset] : *_m12ptr);
+ _matrix._m[0][2] = (_animatedParameters & 0x4 ? _m13ptr[offset] : *_m13ptr);
+ _matrix._m[0][3] = (_animatedParameters & 0x8 ? _m14ptr[offset] : *_m14ptr);
+ _matrix._m[1][0] = (_animatedParameters & 0x10 ? _m21ptr[offset] : *_m21ptr);
+ _matrix._m[1][1] = (_animatedParameters & 0x20 ? _m22ptr[offset] : *_m22ptr);
+ _matrix._m[1][2] = (_animatedParameters & 0x40 ? _m23ptr[offset] : *_m23ptr);
+ _matrix._m[1][3] = (_animatedParameters & 0x80 ? _m24ptr[offset] : *_m24ptr);
_matrix._m[2][0] = (_animatedParameters & 0x100 ? _m31ptr[offset] : *_m31ptr);
_matrix._m[2][1] = (_animatedParameters & 0x200 ? _m32ptr[offset] : *_m32ptr);
_matrix._m[2][2] = (_animatedParameters & 0x400 ? _m33ptr[offset] : *_m33ptr);
@@ -109,175 +106,119 @@ void Fog::setupFrame(int frame) {
_inverted = invertMatrix(_matrix);
}
-void FogCone::read(Common::ReadStream *stream, int frameCount) {
+void FogSphere::read(Common::ReadStream *stream, int frameCount) {
_frameCount = frameCount;
int size = readCommon(stream);
- _parameter1 = stream->readFloatLE();
+ _radius = stream->readFloatLE();
readAnimationData(stream, size - 52);
}
-void FogCone::calculateCoeficient(Vector3 position, Vector3 viewPosition, float *coeficient) {
+void FogSphere::calculateCoeficient(Vector3 position, Vector3 viewPosition, float *coeficient) {
*coeficient = 0.0f;
- Vector3 positionT = _matrix * position;
- Vector3 viewPositionT = _matrix * viewPosition;
-
- Vector3 vectorT = (viewPositionT - positionT).normalize();
-
- float v67 = - positionT.x * vectorT.x - positionT.y * vectorT.y - positionT.z * vectorT.z;
- float v66 = - (positionT.z * positionT.z) - (positionT.y * positionT.y) - (positionT.x * positionT.x) + (v67 * v67) + (_parameter1 * _parameter1);
+ // ray - sphere intersection, where sphere center is always at 0, 0, 0 as everything else tranformed by the fog matrix
+ Vector3 rayOrigin = _matrix * position;
+ Vector3 rayDestination = _matrix * viewPosition;
+ Vector3 rayDirection = (rayDestination - rayOrigin).normalize();
- if (v66 >= 0.0f) {
- float v24 = sqrt(v66);
+ float b = Vector3::dot(rayDirection, rayOrigin);
+ float c = Vector3::dot(rayOrigin, rayOrigin) - (_radius * _radius);
+ float t = b * b - c;
- Vector3 v29 = positionT + (v67 - v24) * vectorT;
- Vector3 v36 = positionT + (v67 + v24) * vectorT;
+ if (t >= 0.0f) { // there is an interstection between ray and the sphere
+ Vector3 intersection1 = rayOrigin + (-b - sqrt(t)) * rayDirection;
+ Vector3 intersection2 = rayOrigin + (-b + sqrt(t)) * rayDirection;
- Vector3 v39 = _inverted * v29;
- Vector3 v42 = _inverted * v36;
+ Vector3 intersection1World = _inverted * intersection1;
+ Vector3 intersection2World = _inverted * intersection2;
- float v74 = (v39 - position).length();
- float v76 = (v42 - position).length();
+ float intersection1Distance = (intersection1World - position).length();
+ float intersection2Distance = (intersection2World - position).length();
- Vector3 vector = viewPosition - position;
+ float distance = (viewPosition - position).length();
- float vectorLength = vector.length();
-
- if (v74 < 0.0f) {
- v74 = 0.0f;
+ if (intersection1Distance < 0.0f) {
+ intersection1Distance = 0.0f;
}
- if (v76 > vectorLength) {
- v76 = vectorLength;
+ if (intersection2Distance > distance) {
+ intersection2Distance = distance;
}
- if (v76 >= v74) {
- *coeficient = v76 - v74;
+ if (intersection2Distance >= intersection1Distance) {
+ *coeficient = intersection2Distance - intersection1Distance;
}
}
}
-void FogSphere::read(Common::ReadStream *stream, int frameCount) {
+void FogCone::read(Common::ReadStream *stream, int frameCount) {
_frameCount = frameCount;
int size = readCommon(stream);
- _parameter1 = stream->readFloatLE();
+ _coneAngle = stream->readFloatLE();
readAnimationData(stream, size - 52);
}
-void FogSphere::calculateCoeficient(Vector3 position, Vector3 viewPosition, float *coeficient) {
+void FogCone::calculateCoeficient(Vector3 position, Vector3 viewPosition, float *coeficient) {
*coeficient = 0.0f;
+ // ray - cone intersection, cone vertex V lies at (0,0,0) and direction v = (0,0,-1)
+ // The algorithm looks like from book Alan W. Paeth (1995), Graphics Gems V (p. 228-230)
+
Vector3 positionT = _matrix * position;
Vector3 viewPositionT = _matrix * viewPosition;
- Vector3 v158 = Vector3::cross(positionT, viewPositionT);
-
- if (v158.x != 0.0f || v158.y != 0.0f || v158.z != 0.0f) {
- Vector3 v167 = v158.normalize();
- if (v167.z < 0.0f) {
- v167 = -1.0f * v167;
- }
+ Vector3 v(0.0f, 0.0f, -1.0f);
- float v173 = sqrt(1.0f - v167.z * v167.z);
- if (v173 > cos(_parameter1)) {
- Vector3 v37 = Vector3(v167.y, -v167.x, 0.0f).normalize();
+ Vector3 planeNormal = Vector3::cross(positionT, viewPositionT).normalize();
- float v41 = 1.0f / v173 / v173 - 1.0f;
- float v42 = sqrt(v41);
- float v43 = tan(_parameter1);
- float v44 = sqrt(v43 * v43 - v41);
+ if (planeNormal.x != 0.0f || planeNormal.y != 0.0f || planeNormal.z != 0.0f) {
- Vector3 v45 = v44 * v37;
+ if (planeNormal.z < 0.0f) {
+ planeNormal = -1.0f * planeNormal;
+ }
- Vector3 v48 = Vector3(
- -v37.y * v42,
- v37.x * v42,
- 0.0f * v42);
+ float cosTheta = sqrt(1.0f - Vector3::dot(planeNormal, v) * Vector3::dot(planeNormal, v));
- Vector3 v51 = v48 + Vector3(0.0f, 0.0f, -1.0f);
+ if (cosTheta > cos(_coneAngle)) {
+ Vector3 u = Vector3::cross(v, planeNormal).normalize();
+ Vector3 w = Vector3::cross(u, v).normalize();
- Vector3 v186 = v51 - v45;
- Vector3 v183 = v51 + v45;
+ float tanTheta = sqrt(1.0f - cosTheta * cosTheta) / cosTheta;
- Vector3 vector = viewPositionT - positionT;
+ Vector3 temp1 = tanTheta * w;
+ Vector3 temp2 = sqrt(tan(_coneAngle) * tan(_coneAngle) - tanTheta * tanTheta) * u;
- Vector3 v177 = -1.0f * positionT;
- Vector3 v174 = Vector3::cross(v186, vector);
+ Vector3 delta1 = v + temp1 - temp2;
+ Vector3 delta2 = v + temp1 + temp2;
- float v189, v191;
- if (fabs(v174.x) <= fabs(v174.y)) {
- if (fabs(v174.y) <= fabs(v174.z)) {
- v191 = v177.x * v186.y - v177.y * v186.x;
- v189 = v186.y * vector.x - v186.x * vector.y;
- } else {
- v191 = v177.z * v186.x - v186.z * v177.x;
- v189 = v186.x * vector.z - v186.z * vector.x;
- }
- } else {
- if (fabs(v174.x) <= fabs(v174.z)) {
- v191 = v177.x * v186.y - v177.y * v186.x;
- v189 = v186.y * vector.x - v186.x * vector.y;
- } else {
- v191 = v186.z * v177.y - v186.y * v177.z;
- v189 = v186.z * vector.y - v186.y * vector.z;
- }
- }
+ Vector3 d = viewPositionT - positionT;
+ Vector3 vecVD = -1.0f * positionT;
- float v88;
- if (v189 == 0.0f) {
- v88 = 0.0f;
- } else {
- v88 = v191 / v189;
- }
+ Vector3 crossddelta1 = Vector3::cross(d, delta1);
+ Vector3 crossddelta2 = Vector3::cross(d, delta2);
- Vector3 v196 = -1.0f * positionT;
- Vector3 v193 = Vector3::cross(v183, vector);
-
- float v190, v192;
- if (fabs(v193.x) <= fabs(v193.y)) {
- if (fabs(v193.y) <= fabs(v193.z)) {
- v192 = v196.x * v183.y - v196.y * v183.x;
- v190 = v183.y * vector.x - v183.x * vector.y;
- } else {
- v192 = v196.z * v183.x - v183.z * v196.x;
- v190 = v183.x * vector.z - v183.z * vector.x;
- }
- } else {
- if (fabs(v193.x) <= fabs(v193.z)) {
- v192 = v196.x * v183.y - v196.y * v183.x;
- v190 = v183.y * vector.x - v183.x * vector.y;
- } else {
- v192 = v183.z * v196.y - v183.y * v196.z;
- v190 = v183.z * vector.y - v183.y * vector.z;
- }
- }
+ float r1 = Vector3::dot(Vector3::cross(vecVD, delta1), crossddelta1) / Vector3::dot(crossddelta1, crossddelta1);
+ float r2 = Vector3::dot(Vector3::cross(vecVD, delta2), crossddelta2) / Vector3::dot(crossddelta2, crossddelta2);
- float v114;
- if (v190 == 0.0f) {
- v114 = 0.0f;
- } else {
- v114 = v192 / v190;
+ if (r2 < r1) {
+ float temp = r1;
+ r1 = r2;
+ r2 = temp;
}
- if (v114 < v88) {
- float temp = v88;
- v88 = v114;
- v114 = temp;
- }
-
- if (v88 <= 1.0f && v114 >= 0.0f) {
- if (v88 < 0.0f) {
- v88 = 0.0;
+ if (r1 <= 1.0f && r2 >= 0.0f) {
+ if (r1 < 0.0f) {
+ r1 = 0.0;
}
- if (v114 > 1.0f) {
- v114 = 1.0;
+ if (r2 > 1.0f) {
+ r2 = 1.0;
}
- Vector3 v139 = positionT + (v88 * vector);
- Vector3 v142 = _inverted * v139;
+ Vector3 intersection1 = positionT + (r1 * d);
+ Vector3 intersection1World = _inverted * intersection1;
- Vector3 v148 = positionT + (v114 * vector);
- Vector3 v151 = _inverted * v148;
+ Vector3 intersection2 = positionT + (r2 * d);
+ Vector3 intersection2World = _inverted * intersection2;
- *coeficient = (v151 - v142).length();
+ *coeficient = (intersection2World - intersection1World).length();
}
}
}
@@ -286,111 +227,101 @@ void FogSphere::calculateCoeficient(Vector3 position, Vector3 viewPosition, floa
void FogBox::read(Common::ReadStream *stream, int frameCount) {
_frameCount = frameCount;
int size = readCommon(stream);
- _parameter1 = stream->readFloatLE();
- _parameter2 = stream->readFloatLE();
- _parameter3 = stream->readFloatLE();
+ _size.x = stream->readFloatLE();
+ _size.y = stream->readFloatLE();
+ _size.z = stream->readFloatLE();
readAnimationData(stream, size - 60);
}
void FogBox::calculateCoeficient(Vector3 position, Vector3 viewPosition, float *coeficient) {
- Vector3 positionT = _matrix * position;
- Vector3 viewPositionT = _matrix * viewPosition;
+ *coeficient = 0.0f;
+
+ // line - box intersection, where everything is rotated to box orientation by the fog matrix
+
+ Vector3 point1 = _matrix * position;
+ Vector3 point2 = _matrix * viewPosition;
- Vector3 positionTadj = positionT;
- Vector3 viewPositionTadj = viewPositionT;
+ Vector3 intersection1 = point1;
+ Vector3 intersection2 = point2;
- Vector3 direction = viewPositionT - positionT;
+ Vector3 direction = point2 - point1;
- float parameter1half = _parameter1 * 0.5f;
- if (positionT.x < -parameter1half) {
- if (viewPositionT.x < -parameter1half) {
- *coeficient = 0.0f;
+ // clip X
+ float minX = -(_size.x * 0.5f);
+ if (point1.x < minX) {
+ if (point2.x < minX) {
return;
}
- float v28 = (-positionT.x - parameter1half) / direction.x;
- Vector3 v29 = v28 * direction;
- positionTadj = positionT + v29;
- } else if (viewPositionT.x < -parameter1half) {
- float v19 = (-viewPositionT.x - parameter1half) / direction.x;
- Vector3 v20 = v19 * direction;
- viewPositionTadj = viewPositionT + v20;
+ float scale = (minX - point1.x) / direction.x;
+ intersection1 = point1 + scale * direction;
+ } else if (point2.x < minX) {
+ float scale = (minX - point2.x) / direction.x;
+ intersection2 = point2 + scale * direction;
}
- if (parameter1half < positionTadj.x) {
- if (parameter1half < viewPositionTadj.x) {
- *coeficient = 0.0f;
+ float maxX = _size.x * 0.5f;
+ if (intersection1.x > maxX ) {
+ if (intersection2.x > maxX) {
return;
}
- float v48 = (parameter1half - positionTadj.x) / direction.x;
- Vector3 v49 = v48 * direction;
- positionTadj = positionTadj + v49;
- } else if (parameter1half < viewPositionTadj.x) {
- float v40 = (parameter1half - viewPositionTadj.x) / direction.x;
- Vector3 v41 = v40 * direction;
- viewPositionTadj = viewPositionTadj + v41;
+ float scale = (maxX - intersection1.x) / direction.x;
+ intersection1 = intersection1 + scale * direction;
+ } else if (intersection2.x > maxX) {
+ float scale = (maxX - intersection2.x) / direction.x;
+ intersection2 = intersection2 + scale * direction;
}
- float parameter2half = _parameter2 * 0.5f;
- if (positionTadj.y < -parameter2half) {
- if (viewPositionTadj.y < -parameter2half) {
- *coeficient = 0.0f;
+ // clip Y
+ float minY = -(_size.y * 0.5f);
+ if (intersection1.y < minY) {
+ if (intersection2.y < minY) {
return;
}
- float v71 = (-positionTadj.y - parameter2half) / direction.y;
- Vector3 v72 = v71 * direction;
- positionTadj = positionTadj + v72;
- } else if (viewPositionTadj.y < -parameter2half) {
- float v62 = (-viewPositionTadj.y - parameter2half) / direction.y;
- Vector3 v63 = v62 * direction;
- viewPositionTadj = viewPositionTadj + v63;
+ float scale = (minY - intersection1.y) / direction.y;
+ intersection1 = intersection1 + scale * direction;
+ } else if (intersection2.y < minY) {
+ float scale = (minY - intersection2.y) / direction.y;
+ intersection2 = intersection2 + scale * direction;
}
- if (parameter2half < positionTadj.y) {
- if (parameter2half < viewPositionTadj.y) {
- *coeficient = 0.0f;
+ float maxY = _size.y * 0.5f;
+ if (intersection1.y > maxY) {
+ if (intersection2.y > maxY) {
return;
}
- float v91 = (parameter2half - positionTadj.y) / direction.y;
- Vector3 v92 = v91 * direction;
- positionTadj = positionTadj + v92;
- } else if (parameter2half < viewPositionTadj.y) {
- float v83 = (parameter2half - viewPositionTadj.y) / direction.y;
- Vector3 v84 = v83 * direction;
- viewPositionTadj = viewPositionTadj + v84;
+ float scale = (maxY - intersection1.y) / direction.y;
+ intersection1 = intersection1 + scale * direction;
+ } else if (intersection2.y > maxY) {
+ float scale = (maxY - intersection2.y) / direction.y;
+ intersection2 = intersection2 + scale * direction;
}
- if (0.0f > positionTadj.z) {
- if (0.0f > viewPositionTadj.z) {
- *coeficient = 0.0f;
+ // clip Z
+ if (intersection1.z < 0.0f) {
+ if (intersection2.z < 0.0f) {
return;
}
- float v111 = -positionTadj.z / direction.z;
- Vector3 v112 = v111 * direction;
- positionTadj = positionTadj + v112;
- } else if (0.0f > viewPositionTadj.z) {
- float v103 = -viewPositionTadj.z / direction.z;
- Vector3 v104 = v103 * direction;
- viewPositionTadj = viewPositionTadj + v104;
+ float scale = -intersection1.z / direction.z;
+ intersection1 = intersection1 + scale * direction;
+ } else if (intersection2.z < 0.0f) {
+ float scale = -intersection2.z / direction.z;
+ intersection2 = intersection2 + scale * direction;
}
- if (positionTadj.z > _parameter3) {
- if (viewPositionTadj.z > _parameter3) {
- *coeficient = 0.0f;
+ if (intersection1.z > _size.z) {
+ if (intersection2.z > _size.z) {
return;
}
- float v132 = (_parameter3 - positionTadj.z) / direction.z;
- Vector3 v133 = v132 * direction;
- positionTadj = positionTadj + v133;
- } else if (viewPositionTadj.z > _parameter3) {
- float v124 = (_parameter3 - viewPositionTadj.z) / direction.z;
- Vector3 v125 = v124 * direction;
- viewPositionTadj = viewPositionTadj + v125;
+ float scale = (_size.z - intersection1.z) / direction.z;
+ intersection1 = intersection1 + scale * direction;
+ } else if (intersection2.z > _size.z) {
+ float scale = (_size.z - intersection2.z) / direction.z;
+ intersection2 = intersection2 + scale * direction;
}
- Vector3 v137 = _inverted * positionTadj;
- Vector3 v140 = _inverted * viewPositionTadj;
- Vector3 v143 = v140 - v137;
+ Vector3 intersection1World = _inverted * intersection1;
+ Vector3 intersection2World = _inverted * intersection2;
- *coeficient = v143.length();
+ *coeficient = (intersection2World - intersection1World).length();
}
} // End of namespace BladeRunner
diff --git a/engines/bladerunner/fog.h b/engines/bladerunner/fog.h
index e952d24..d9e32f6 100644
--- a/engines/bladerunner/fog.h
+++ b/engines/bladerunner/fog.h
@@ -36,6 +36,7 @@ class SetEffects;
class Fog {
friend class SetEffects;
+ friend class Debugger;
protected:
Common::String _name;
@@ -60,10 +61,6 @@ protected:
float *_m33ptr;
float *_m34ptr;
- float _parameter1;
- float _parameter2;
- float _parameter3;
-
Fog *_next;
public:
@@ -82,17 +79,29 @@ protected:
};
-class FogCone : public Fog {
+class FogSphere : public Fog {
+private:
+ float _radius = 0.0f;
+
+public:
void read(Common::ReadStream *stream, int frameCount);
void calculateCoeficient(Vector3 position, Vector3 viewPosition, float *coeficient);
};
-class FogSphere : public Fog {
+class FogCone : public Fog {
+private:
+ float _coneAngle = 0.0f;
+
+public:
void read(Common::ReadStream *stream, int frameCount);
void calculateCoeficient(Vector3 position, Vector3 viewPosition, float *coeficient);
};
class FogBox : public Fog {
+private:
+ Vector3 _size;
+
+public:
void read(Common::ReadStream *stream, int frameCount);
void calculateCoeficient(Vector3 position, Vector3 viewPosition, float *coeficient);
};
diff --git a/engines/bladerunner/set_effects.cpp b/engines/bladerunner/set_effects.cpp
index 3d46e41..99cb030 100644
--- a/engines/bladerunner/set_effects.cpp
+++ b/engines/bladerunner/set_effects.cpp
@@ -58,10 +58,10 @@ void SetEffects::read(Common::ReadStream *stream, int frameCount) {
Fog *fog = nullptr;
switch (type) {
case 0:
- fog = new FogCone();
+ fog = new FogSphere();
break;
case 1:
- fog = new FogSphere();
+ fog = new FogCone();
break;
case 2:
fog = new FogBox();
@@ -92,6 +92,9 @@ void SetEffects::reset() {
}
void SetEffects::setupFrame(int frame) {
+ for (Fog *fog = _fogs; fog != nullptr; fog = fog->_next) {
+ fog->setupFrame(frame);
+ }
}
void SetEffects::setFadeColor(float r, float g, float b) {
diff --git a/engines/bladerunner/set_effects.h b/engines/bladerunner/set_effects.h
index 6bd139c..6145b48 100644
--- a/engines/bladerunner/set_effects.h
+++ b/engines/bladerunner/set_effects.h
@@ -32,6 +32,8 @@
namespace BladeRunner {
class SetEffects {
+ friend class Debugger;
+
BladeRunnerEngine *_vm;
Color _distanceColor;
diff --git a/engines/bladerunner/vector.h b/engines/bladerunner/vector.h
index d5d6365..52883cb 100644
--- a/engines/bladerunner/vector.h
+++ b/engines/bladerunner/vector.h
@@ -55,8 +55,11 @@ public:
Vector3(float ax, float ay, float az) : x(ax), y(ay), z(az) {}
- float length() { return sqrt(x * x + y * y + z * z); }
- Vector3 normalize() {
+ inline float length() {
+ return sqrt(x * x + y * y + z * z);
+ }
+
+ inline Vector3 normalize() {
float len = length();
if (len == 0) {
return Vector3(0.0f, 0.0f, 0.0f);
@@ -64,13 +67,17 @@ public:
return Vector3(x / len, y / len, z / len);
}
- static Vector3 cross(Vector3 a, Vector3 b) {
+ inline static Vector3 cross(Vector3 a, Vector3 b) {
return Vector3(
a.y * b.z - a.z * b.y,
a.z * b.x - a.x * b.z,
a.x * b.y - a.y * b.x);
}
+ inline static float dot(Vector3 a, Vector3 b) {
+ return a.x * b.x + a.y * b.y + a.z * b.z;
+ }
+
Vector2 xz() const {
return Vector2(x, z);
}
Commit: 2cc09b6b1097007b6eeac12882c03475e56e1be0
https://github.com/scummvm/scummvm/commit/2cc09b6b1097007b6eeac12882c03475e56e1be0
Author: Peter Kohaut (peter.kohaut at gmail.com)
Date: 2019-01-24T23:05:13+01:00
Commit Message:
BLADERUNNER: Fixes for game scripts & cleanup
Changed paths:
engines/bladerunner/game_constants.h
engines/bladerunner/script/ai/clovis.cpp
engines/bladerunner/script/ai/dektora.cpp
engines/bladerunner/script/ai/early_q.cpp
engines/bladerunner/script/ai/gaff.cpp
engines/bladerunner/script/ai/gordo.cpp
engines/bladerunner/script/ai/holloway.cpp
engines/bladerunner/script/ai/howie_lee.cpp
engines/bladerunner/script/ai/insect_dealer.cpp
engines/bladerunner/script/ai/izo.cpp
engines/bladerunner/script/ai/klein.cpp
engines/bladerunner/script/ai/mccoy.cpp
engines/bladerunner/script/ai/moraji.cpp
engines/bladerunner/script/ai/mutant1.cpp
engines/bladerunner/script/ai/mutant2.cpp
engines/bladerunner/script/ai/mutant3.cpp
engines/bladerunner/script/ai/officer_grayford.cpp
engines/bladerunner/script/ai/officer_leary.cpp
engines/bladerunner/script/ai/photographer.cpp
engines/bladerunner/script/ai/runciter.cpp
engines/bladerunner/script/ai/sadik.cpp
engines/bladerunner/script/ai/steele.cpp
engines/bladerunner/script/ai/transient.cpp
engines/bladerunner/script/ai/zuben.cpp
engines/bladerunner/script/ai_script.h
engines/bladerunner/script/esper_script.cpp
engines/bladerunner/script/init_script.cpp
engines/bladerunner/script/scene/ar01.cpp
engines/bladerunner/script/scene/ar02.cpp
engines/bladerunner/script/scene/bb01.cpp
engines/bladerunner/script/scene/bb02.cpp
engines/bladerunner/script/scene/bb03.cpp
engines/bladerunner/script/scene/bb04.cpp
engines/bladerunner/script/scene/bb05.cpp
engines/bladerunner/script/scene/bb06.cpp
engines/bladerunner/script/scene/bb07.cpp
engines/bladerunner/script/scene/bb12.cpp
engines/bladerunner/script/scene/bb51.cpp
engines/bladerunner/script/scene/ct01.cpp
engines/bladerunner/script/scene/ct02.cpp
engines/bladerunner/script/scene/ct03.cpp
engines/bladerunner/script/scene/ct04.cpp
engines/bladerunner/script/scene/ct05.cpp
engines/bladerunner/script/scene/ct06.cpp
engines/bladerunner/script/scene/ct11.cpp
engines/bladerunner/script/scene/ct12.cpp
engines/bladerunner/script/scene/dr01.cpp
engines/bladerunner/script/scene/dr02.cpp
engines/bladerunner/script/scene/dr03.cpp
engines/bladerunner/script/scene/dr04.cpp
engines/bladerunner/script/scene/dr05.cpp
engines/bladerunner/script/scene/dr06.cpp
engines/bladerunner/script/scene/hc01.cpp
engines/bladerunner/script/scene/hc02.cpp
engines/bladerunner/script/scene/hc03.cpp
engines/bladerunner/script/scene/hc04.cpp
engines/bladerunner/script/scene/hf01.cpp
engines/bladerunner/script/scene/hf05.cpp
engines/bladerunner/script/scene/hf07.cpp
engines/bladerunner/script/scene/ma01.cpp
engines/bladerunner/script/scene/ma02.cpp
engines/bladerunner/script/scene/ma04.cpp
engines/bladerunner/script/scene/ma07.cpp
engines/bladerunner/script/scene/nr01.cpp
engines/bladerunner/script/scene/nr04.cpp
engines/bladerunner/script/scene/ps01.cpp
engines/bladerunner/script/scene/ps04.cpp
engines/bladerunner/script/scene/ps05.cpp
engines/bladerunner/script/scene/ps07.cpp
engines/bladerunner/script/scene/ps14.cpp
engines/bladerunner/script/scene/rc01.cpp
engines/bladerunner/script/scene/rc02.cpp
engines/bladerunner/script/scene/rc03.cpp
engines/bladerunner/script/scene/rc51.cpp
engines/bladerunner/script/scene/tb02.cpp
engines/bladerunner/script/scene/tb07.cpp
engines/bladerunner/script/scene/ug01.cpp
engines/bladerunner/script/scene/ug02.cpp
engines/bladerunner/script/scene/ug03.cpp
engines/bladerunner/script/scene/ug04.cpp
engines/bladerunner/script/scene/ug05.cpp
engines/bladerunner/script/scene/ug06.cpp
engines/bladerunner/script/scene/ug09.cpp
engines/bladerunner/script/scene/ug10.cpp
engines/bladerunner/script/scene/ug12.cpp
engines/bladerunner/script/scene/ug13.cpp
engines/bladerunner/script/scene/ug14.cpp
engines/bladerunner/script/scene/ug15.cpp
engines/bladerunner/script/scene/ug16.cpp
engines/bladerunner/script/scene/ug17.cpp
engines/bladerunner/script/scene/ug19.cpp
engines/bladerunner/script/scene_script.h
diff --git a/engines/bladerunner/game_constants.h b/engines/bladerunner/game_constants.h
index 52ef19c..b14b720 100644
--- a/engines/bladerunner/game_constants.h
+++ b/engines/bladerunner/game_constants.h
@@ -442,17 +442,17 @@ enum Flags {
kFlagNotUsed0 = 0, // is never checked
kFlagRC02Entered = 1,
// 2 is never used
- kFlagGotOfficersStatement = 3,
- kFlagRC02FirstLeave = 4,
+ kFlagRC01GotOfficersStatement = 3,
+ kFlagRC02Left = 4,
// 5 is never used
- kFlagRunciterInterviewA = 6,
+ kFlagRC02RunciterInterview = 6,
// 7 is never used
kFlagRC01toRC02 = 8,
kFlagRC02toRC01 = 9,
kFlagDR01toDR04 = 10,
kFlagDR04toDR01 = 11,
- kFlagKleinTalkShellCasings = 12,
- kFlagKleinTalkOfficersStatement = 13,
+ kFlagPS07KleinTalkShellCasings = 12,
+ kFlagPS07KleinTalkOfficersStatement = 13,
kFlagPS10toPS11 = 14,
kFlagPS11toPS10 = 15,
kFlagPS11toPS12 = 16,
@@ -471,7 +471,7 @@ enum Flags {
kFlagCT01ZubenLeft = 29,
kFlagNotUsed30 = 30, // is never set
kFlagCT01ZubenGone = 31,
- kFlagCT01McCoyTalkedToGordo = 32,
+ kFlagCT01GordoTalk = 32,
kFlagMA02toMA06 = 33,
kFlagMA06ToMA02 = 34,
kFlagMA02ToMA04 = 35,
@@ -533,7 +533,7 @@ enum Flags {
kFlagCT12toCT11 = 91,
// 92 is never used
// 93 is never used
- kFlagWarehouseOpen = 94,
+ kFlagCT05WarehouseOpen = 94,
kFlagTB05toTB02 = 95,
kFlagTB02toTB05 = 96, // is never checked
kFlagTB05toTB06 = 97, // is never checked
@@ -543,14 +543,14 @@ enum Flags {
kFlagTB05MonitorDone = 101,
kFlagTB06Visited = 102,
kFlagNotUsed103 = 103, // is never set
- kFlagKleinTalkPaintTransfer = 104,
- kFlagKleinTalkChromeDebris = 105,
- kFlagIsabellaIntroduced = 106,
+ kFlagPS07KleinTalkPaintTransfer = 104,
+ kFlagPS07KleinTalkChromeDebris = 105,
+ kFlagHC04IsabellaTalk = 106,
kFlagHC04toRC03 = 107,
kFlagRC03toHC04 = 108,
kFlagHC04toHC02 = 109,
kFlagHC02toHC04 = 110,
- kFlagKleinTalkClues = 111,
+ kFlagPS07KleinTalkClues = 111,
// 112 is never used
// 113 is never used
kFlagRC03toRC01 = 114,
@@ -568,7 +568,7 @@ enum Flags {
kFlagMcCoyHasOfficersStatement = 126,
kFlagMcCoyHasPaintTransfer = 127,
kFlagMcCoyHasChromeDebris = 128,
- kFlagZubenCheckOnMcCoy = 129,
+ kFlagCT01ZubenMcCoyCheck = 129,
kFlagPS02toPS01 = 130,
kFlagPS02toPS07 = 131,
kFlagPS02toPS03 = 132,
@@ -576,52 +576,52 @@ enum Flags {
kFlagPS03toPS14 = 134,
kFlagPS14toPS03 = 135,
kFlagPS05toPS06 = 136,
- kFlagHomelessTalkedTo = 137,
- kFlagKleinInsulted = 138,
+ kFlagCT04HomelessTalk = 137,
+ kFlagPS07KleinInsulted = 138,
// 139 is never used
// 140 is never used
kFlagRC51Available = 141,
kFlagNotUsed142 = 142, // is never checked
// 143 is never used
kFlagCT07toCT06 = 144,
- kFlagZubenPhoto = 145,
+ kFlagCT06ZubenPhoto = 145,
kFlagChapter1Ending = 146,
- kFlagChopstickWrapperTaken = 147,
- kFlagCandyTaken = 148,
- kFlagToyDogTaken = 149,
+ kFlagRC51ChopstickWrapperTaken = 147,
+ kFlagRC51CandyTaken = 148,
+ kFlagRC51ToyDogTaken = 149,
kFlagNotUsed150 = 150, // has no use
kFlagRC03UnlockedToUG01 = 151,
- kFlagUG15toUG16 = 152,
- kFlagUG16toUG15 = 153,
+ kFlagUG15toUG16a = 152,
+ kFlagUG16toUG15a = 153,
kFlagTB02toTB03 = 154, // is never checked
kFlagTB03toTB02 = 155,
- kFlagKleinInsultedTalk = 156,
+ kFlagPS07KleinInsultedTalk = 156,
// 157 is never used
kFlagSergeantWallsBuzzInDone = 158,
- kFlagGuzzaTalkZubenRetired = 159,
- kFlagGuzzaTalkZubenEscaped = 160,
- kFlagGuzzaTalk1 = 161,
- kFlagGuzzaTalk2 = 162,
- kFlagChromeDebrisTaken = 163,
+ kFlagPS04GuzzaTalkZubenRetired = 159,
+ kFlagPS04GuzzaTalkZubenEscaped = 160,
+ kFlagPS04GuzzaTalk1 = 161,
+ kFlagPS04GuzzaTalk2 = 162,
+ kFlagRC01ChromeDebrisTaken = 163,
kFlagIzoArrested = 164,
kFlagCrazylegsArrested = 165,
kFlagPS09CrazylegsTalk1 = 166,
kFlagPS09IzoTalk1 = 167,
kFlagPS09IzoTalk2 = 168,
- kFlagMcCoyKilledHomeless = 169,
- kFlagHomelessBodyInDumpster = 170,
- kFlagHomelessBodyFound = 171,
- kFlagDumpsterEmptied = 172,
- kFlagHomelessBodyInDumpsterNotChecked = 173, // is never checked
- kFlagLicensePlaceFound = 174,
+ kFlagCT04HomelessKilledByMcCoy = 169,
+ kFlagCT04HomelessBodyInDumpster = 170,
+ kFlagCT04HomelessBodyFound = 171,
+ kFlagCT04HomelessBodyThrownAway = 172,
+ kFlagCT04HomelessBodyInDumpsterNotChecked = 173, // is never checked
+ kFlagCT04LicensePlaceFound = 174,
kFlagPS09CrazylegsTalk2 = 175,
- kFlagMcCoyAtCTxx = 176,
- kFlagMcCoyAtDRxx = 177,
- kFlagMcCoyAtPSxx = 178,
- kFlagMcCoyAtMAxx = 179,
- kFlagMcCoyAtARxx = 180,
- kFlagMcCoyAtNRxx = 181,
- kFlagMcCoyAtRCxx = 182,
+ kFlagMcCoyInChinaTown = 176,
+ kFlagMcCoyInDNARow = 177,
+ kFlagMcCoyInPoliceStation = 178,
+ kFlagMcCoyInMcCoyApartment = 179,
+ kFlagMcCoyInAnimoidRow = 180,
+ kFlagMcCoyInNightclubRow = 181,
+ kFlagMcCoyInRunciters = 182,
@@ -629,9 +629,9 @@ enum Flags {
kFlagRC02TalkedToRunciter = 187,
// 188 is never used
// 189 is never used
- kFlagShellCasingsTaken = 190,
+ kFlagRC02ShellCasingsTaken = 190,
// 191 is never used
- kFlagBoughtHowieLeeFood = 192,
+ kFlagCT01BoughtHowieLeeFood = 192,
// 193 is never used
// 194 is never used
// 195 is never used
@@ -696,16 +696,16 @@ enum Flags {
kFlagSpinnerAtBB01 = 254,
kFlagSpinnerAtNR01 = 255,
kFlagSpinnerAtHF01 = 256,
- kFlagMcCoyAtHFxx = 257,
- kFlagMcCoyAtBBxx = 258,
- kFlagMcCoyAtUGxx = 259,
+ kFlagMcCoyInHysteriaHall = 257,
+ kFlagMcCoyInBradburyBuilding = 258,
+ kFlagMcCoyInUnderground = 259,
// 260 is never used
- kFlagMcCoyAtTBxx = 261,
+ kFlagMcCoyInTyrellBuilding = 261,
kFlagBB01toBB02 = 262,
kFlagBB02toBB01 = 263,
kFlagBB01toDR02 = 264,
kFlagDR02toBB01 = 265,
- kFlagMorajiExploded = 266,
+ kFlagDR05JustExploded = 266,
kFlagDR03ChewTalk1 = 267,
kFlagDR06JesterActive = 268,
kFlagDR05BombActivated = 269,
@@ -733,7 +733,7 @@ enum Flags {
// 291 is never used
kFlagRC04BobTalk2 = 292,
kFlagCT02PotTipped = 293,
- kFlagGaffSpinnerCT12 = 294,
+ kFlagCT12GaffSpinner = 294,
kFlagRC04BobShootMcCoy = 295,
kFlagRC04McCoyCombatMode = 296,
kFlagBB05toBB06 = 297,
@@ -764,17 +764,54 @@ enum Flags {
kFlagAR01toHC01 = 322,
kFlagHC01toAR01 = 323,
kFlagUG01SteamOff = 324,
-
- kFlagFishDealerTalk = 328,
- kFlagInsectDealerInterviewed = 329,
- kFlagHassanTalk = 330,
- kFlagScorpionsChecked = 331,
-
- kFlagInsectDealerTalk = 366,
- kFlagStungByScorpion = 367,
+ kFlagCT04BodyDumped = 325,
+ kFlagBB01Available = 326,
+ // 327 is never used
+ kFlagAR01FishDealerTalk = 328,
+ kFlagAR02InsectDealerInterviewed = 329,
+ kFlagAR02HassanTalk = 330,
+ kFlagAR02ScorpionsChecked = 331,
+ kFlagBB02toBB04 = 332,
+ kFlagBB04toBB02 = 333,
+ kFlagUG03toUG04 = 334, // is never checked
+ kFlagUG04toUG03 = 335,
+ kFlagUG03toUG10 = 336,
+ kFlagUG10toUG03 = 337,
+ kFlagUG04toUG05 = 338, // is never checked
+ kFlagUG05toUG04 = 339,
+ kFlagUG04toUG06 = 340,
+ kFlagUG06toUG04 = 341,
+ kFlagUG06toNR01 = 342,
+ kFlagNR01toUG06 = 343,
+ kFlagUG12toUG14 = 344,
+ kFlagUG14toUG12 = 345, // is never checked
+ kFlagUG14toUG10 = 346,
+ kFlagUG10toUG14 = 347, // is never checked
+ kFlagUG14toUG19 = 348,
+ kFlagUG19toUG14 = 349,
+ kFlagUG15toUG13 = 350,
+ kFlagUG13toUG15 = 351,
+ kFlagUG15toUG17 = 352,
+ kFlagUG17toUG15 = 353,
+ kFlagUG15toUG16b = 354, // is never checked
+ kFlagUG16toUG15b = 355,
+ kFlagUG19toMA07 = 356,
+ kFlagMA07toUG19 = 357,
+ kFlagHF07toHF05 = 358,
+ kFlagHF05toHF07 = 359,
+ kFlagHF07toUG06 = 360,
+ kFlagUG06toHF07 = 361,
+ kFlagBB07toBB06 = 362,
+ kFlagBB06toBB07 = 363,
+ kFlagBB07toBB12 = 364,
+ kFlagBB12toBB07 = 365,
+ kFlagAR02InsectDealerTalk = 366,
+ kFlagAR02StungByScorpion = 367,
kFlagNotUsed370 = 370, // is never checked
+ kFlagAR02DektoraBoughtScorpions = 374,
+
kFlagDirectorsCut = 378,
kFlagHC01toHC02 = 384,
@@ -785,17 +822,20 @@ enum Flags {
// 389 is never used
// 390 is never used
- KFlagMcCoyAndOfficerLearyTalking = 392,
+ kFlagRC01McCoyAndOfficerLearyTalking = 392,
+ kFlagBB06toBB51 = 393, // is never checked
+ kFlagBB51toBB06a = 394,
+ kFlagBB51toBB06b = 395,
- KFlagMcCoyAndOfficerLearyArtMetaphor = 397,
+ kFlagRC01McCoyAndOfficerLearyArtMetaphor = 397,
- kFlagIzoTalk1 = 400,
- kFlagIzoTalk2 = 401,
+ kFlagHC01IzoTalk1 = 400,
+ kFlagHC01IzoTalk2 = 401,
kFlagHC03Available = 402,
kFlagHC03CageOpen = 403,
- kFlagHawkersBarkeepIntroduction = 404,
- kFlagHawkersBarkeepBraceletTalk = 405,
-
+ kFlagHC02HawkersBarkeepIntroduction = 404,
+ kFlagHC02HawkersBarkeepBraceletTalk = 405,
+ kFlagUnused406 = 406, // is never checked
kFlagUnused407 = 407, // is never checked
kFlagUG09toCT12 = 432,
@@ -816,34 +856,50 @@ enum Flags {
kFlagMcCoyArrested = 465,
kFlagUG10GateOpen = 474,
kFlagMcCoyAtPS03 = 478, // has no use
- kFlagMcCoyAtHCxx = 479,
+ kFlagMcCoyInHawkersCircle = 479,
kFlagTB06Introduction = 483,
- kFlagPhotographerToTB06 = 485,
+ kFlagTB06Photographer = 485,
kFlagDNARowAvailable = 486,
kFlagKIAPrivacyAddon = 487,
+ kFlagDektoraChapter2Started = 489,
kFlagCT04HomelessTrashFinish = 492,
+ kFlagBB02ElevatorDown = 493,
+ kFlagBB02Entered = 494,
kFlagUG02FromUG01 = 498,
kFlagUG02Interactive = 499,
-
+ kFlagAR02DektoraWillBuyScorpions = 504,
+ kFlagDR03ChewTalkExplosion = 505,
kFlagDR05ExplodedEntered = 511,
- kFlagDR05BombExplosionView = 515,
+ kFlagDR05ViewExplosion = 515,
kFlagCT07ZubenAttack = 516,
kFlagTB06DogCollarTaken = 519,
kFlagTB06KitchenBoxTaken = 520,
+ kFlagCT11toDR01 = 531,
+ kFlagGordoTalk1 = 543,
+ kFlagGordoTalk2 = 544,
+ kFlagDR06MannequinHeadOpen = 548,
+ kFlagDR01toCT11 = 558,
kFlagKIAPrivacyAddonIntro = 599,
kFlagTB07toTB02 = 608,
- kFlagMcCoySleeping = 647,
- kFlagPhoneMessageFromClovis = 649,
- kFlagPhoneMessageFromLucy = 650,
- kFlagRagiationGooglesTaken = 656,
+ kFlagTB07RachaelTalk = 612,
+ kFlagMA04McCoySleeping = 647,
+ kFlagMA04PhoneMessageFromClovis = 649,
+ kFlagMA04PhoneMessageFromLucy = 650,
+ kFlagUG02RagiationGooglesTaken = 656,
+
kFlagDNARowAvailableTalk = 660,
+ kFlagTB07ShadeDown = 661, // is never set
+ kFlagMA07toPS14 = 672,
+ kFlagPS14toMA07 = 673,
kFlagChapter2Intro = 678,
+
kFlagPS05TV0 = 688,
kFlagPS05TV1 = 689,
kFlagPS05TV2 = 690,
kFlagPS05TV3 = 691,
kFlagPS05TV4 = 692,
kFlagUG03DeadHomeless = 693,
+ kFlagUG14DeadHomeless = 694,
kFlagRC04Locked = 702,
kFlagTB06PhotographTalk1 = 707,
kFlagUG02AmmoTaken = 708,
@@ -851,6 +907,7 @@ enum Flags {
kFlagAR01Entered = 710,
kFlagMA04WatchedTV = 711,
kFlagMcCoyShotAtZuben = 712,
+ kFlagDR04McCoyShotMoraji = 713,
kFlagRC04BobTalk3 = 717,
kFlagCT02McCoyFell = 719,
kFlagCT02McCoyCombatReady = 720,
@@ -875,6 +932,7 @@ enum Variables {
kVariableGenericWalkerCModel = 34,
kVariableWalkLoopActor = 37,
kVariableWalkLoopRun = 38,
+ kVariableDR06MannequinHeadOpened = 39,
kVariableMcCoyDrinks = 42, // is never checked
kVariableAffectionTowards = 45, // 0 none, 1 steele, 2 dektora, 3 lucy
kVariableDNAEvidences = 48,
@@ -937,6 +995,7 @@ enum AnimationModes {
kAnimationModeCombatAttack = 6,
kAnimationModeCombatWalk = 7,
kAnimationModeCombatRun = 8,
+ // 12 - 17 various talk modes
kAnimationModeHit = 21,
kAnimationModeCombatHit = 22,
kAnimationModeSpinnerGetIn = 41,
@@ -965,37 +1024,37 @@ enum SceneLoopMode {
};
enum Scenes {
- kSceneAR01 = 0,
- kSceneAR02 = 1,
- kSceneBB01 = 2,
- kSceneBB02 = 3,
- kSceneBB03 = 4,
- kSceneBB04 = 5,
- kSceneBB05 = 6,
- kSceneBB06 = 7,
+ kSceneAR01 = 0, // Animoid Row - Fish dealer
+ kSceneAR02 = 1, // Animoid Row - Insect dealer
+ kSceneBB01 = 2, // Bradbury building - Outside
+ kSceneBB02 = 3, // Bradbury building - elevator down
+ kSceneBB03 = 4, // Bradbury building - Entrance
+ kSceneBB04 = 5, // Bradbury building - elevator up
+ kSceneBB05 = 6, // Bradbury building - Entry hall
+ kSceneBB06 = 7, // Bradbury building - Billiard room - front
kSceneBB07 = 8,
- kSceneBB08 = 9,
- kSceneBB09 = 10,
- kSceneBB10 = 11,
- kSceneBB11 = 12,
+ kSceneBB08 = 9, // Bradbury building - Bathroom
+ kSceneBB09 = 10, // Bradbury building - Above bathroom
+ kSceneBB10 = 11, // Bradbury building - Cupboard
+ kSceneBB11 = 12, // Bradbury building - Roof
kSceneCT01 = 13, // Chinatown - Howie Lee Restaurant
- kSceneCT02 = 14, // Chinatown - Kitchen
- kSceneCT03 = 15, // Chinatown - Back alley
+ kSceneCT02 = 14, // Chinatown - Restaurant - Kitchen
+ kSceneCT03 = 15, // Chinatown - Back alley - Restaurant
kSceneCT04 = 16, // Chinatown - Back alley - Dumpster
kSceneCT05 = 17, // Chinatown - Warehouse - Inside
- kSceneCT06 = 18, // Chinatown - Passage
+ kSceneCT06 = 18, // Chinatown - Passage from front
kSceneCT07 = 19, // Chinatown - Passage form back
kSceneCT08 = 20, // Chinatown - Yukon Hotel - Backroom
kSceneCT09 = 21, // Chinatown - Yukon Hotel - Lobby
kSceneCT10 = 22, // Chinatown - Yukon Hotel - Room
kSceneCT11 = 23, // Chinatown - Yukon Hotel - Outside
kSceneCT12 = 24, // Chinatown - Warehouse - Outside
- kSceneDR01 = 25,
- kSceneDR02 = 26,
- kSceneDR03 = 27,
- kSceneDR04 = 28,
- kSceneDR05 = 29,
- kSceneDR06 = 30,
+ kSceneDR01 = 25, // DNA Row - Street
+ kSceneDR02 = 26, // DNA Row - Eye world - Outside
+ kSceneDR03 = 27, // DNA Row - Eye world - Inside
+ kSceneDR04 = 28, // DNA Row - Dermo design - Outside
+ kSceneDR05 = 29, // DNA Row - Dermo design - Inside
+ kSceneDR06 = 30, // DNA Row - Twin's office
kSceneHC01 = 31, // Hawker's circle - Green pawn - Outside
kSceneHC02 = 32, // Hawker's circle - China bar
kSceneHC03 = 33, // Hawker's circle - Green pawn - Inside
@@ -1012,7 +1071,7 @@ enum Scenes {
kSceneKP04 = 44,
kSceneKP05 = 45,
kSceneKP06 = 46,
- kSceneKP07 = 47, // Kipple - Moonbus inside
+ kSceneKP07 = 47, // Kipple - Moonbus - Inside
kSceneMA01 = 48, // McCoy's Apartment - Roof
kSceneMA02 = 49, // McCoy's Apartment - Living room
kSceneMA04 = 50, // McCoy's Apartment - Sleeping room
@@ -1038,19 +1097,19 @@ enum Scenes {
kScenePS06 = 70,
kScenePS07 = 71,
kScenePS09 = 72, // Police Station - Lockup
- kScenePS10 = 73,
- kScenePS11 = 74,
- kScenePS12 = 75,
- kScenePS13 = 76,
- kScenePS14 = 77,
+ kScenePS10 = 73, // Police Station - Shooting range 1
+ kScenePS11 = 74, // Police Station - Shooting range 2
+ kScenePS12 = 75, // Police Station - Shooting range 3
+ kScenePS13 = 76, // Police Station - Shooting range 4
+ kScenePS14 = 77, // Police Station - Outside
kSceneRC01 = 78, // Runciter - Outside
kSceneRC02 = 79, // Runciter - Inside
- kSceneRC03 = 80, // Bullet Bob - outside
- kSceneRC04 = 81, // Bullet Bob - inside
- kSceneTB02 = 82, // Tyrell Building - reception
+ kSceneRC03 = 80, // Bullet Bob - Outside
+ kSceneRC04 = 81, // Bullet Bob - Inside
+ kSceneTB02 = 82, // Tyrell Building - Reception
kSceneTB03 = 83,
- kSceneTB05 = 84, // Tyrell Building - Grav Test Lab - outside
- kSceneTB06 = 85, // Tyrell Building - Grav Test Lab - inside
+ kSceneTB05 = 84, // Tyrell Building - Grav Test Lab - Iutside
+ kSceneTB06 = 85, // Tyrell Building - Grav Test Lab - Inside
kSceneUG01 = 86, // Underground - Under Bullet Bob entrance
kSceneUG02 = 87, // Underground - Under Green pawn
kSceneUG03 = 88,
@@ -1060,7 +1119,7 @@ enum Scenes {
kSceneUG07 = 92,
kSceneUG08 = 93,
kSceneUG09 = 94,
- kSceneUG10 = 95,
+ kSceneUG10 = 95, // Undergound - Bridge
kSceneUG12 = 96,
kSceneUG13 = 97,
kSceneUG14 = 98,
@@ -1069,7 +1128,7 @@ enum Scenes {
kSceneUG17 = 101,
kSceneUG18 = 102,
kSceneUG19 = 103,
- kSceneBB51 = 104,
+ kSceneBB51 = 104, // Bradbury building - Billiard room - Back
kSceneCT51 = 105,
kSceneHC04 = 106, // Hawker's circle - Kingston kitchen
kSceneRC51 = 107, // Runciter - Lucy's desk
@@ -1264,6 +1323,7 @@ enum GameItems {
// 75 is never used
// 76 is never used
kItemDragonflyEarring = 76,
+ kItemBomb = 78,
kItemCandy = 79,
kItemChopstickWrapper = 82,
kItemDogCollar = 84,
@@ -1281,7 +1341,8 @@ enum GameItems {
kItemWeaponsCrate = 110,
kItemWeaponsOrderForm = 111,
kItemTyrellSalesPamphlet = 119,
- kItemHC03Lock = 121
+ kItemGreenPawnLock = 121,
+ kItemChain = 122
};
enum Elevators {
@@ -1361,6 +1422,16 @@ enum AffectionTowards {
kAffectionTowardsLucy = 3
};
+/*
+ * Common goals:
+ * 0 - 99 - first chapter
+ * 100 - 199 - second chapter
+ * 200 - 299 - third chapter
+ * 300 - 399 - fourth chapter
+ * 400 - 499 - fifth chapter
+ * 599 - dead / gone
+ */
+
enum GoalMcCoy {
kGoalMcCoyDefault = 0,
kGoalMcCoyDodge = 1
@@ -1380,6 +1451,34 @@ enum GoalSteele {
kGoalSteeleWalkAroundRestart = 190
};
+enum GoalDektora {
+ kGoalDektoraDefault = 0,
+ kGoalDektoraStartWalkingAround = 100,
+ kGoalDektoraWalkAroundAsReplicant = 101,
+ kGoalDektoraWalkAroundAsHuman = 102,
+ kGoalDektoraStopWalkingAround = 103
+};
+
+enum GoalGordo {
+ // chapter 1
+ kGoalGordoDefault = 0,
+ kGoalGordoLeaveCT01 = 1,
+ kGoalGordoLeftCT01 = 2,
+ kGoalGordoWalkThroughCT05 = 3,
+ kGoalGordoLeaveCT05 = 4,
+ kGoalGordoLeftCT05 = 5,
+ kGoalGordoGetUpCT01 = 90,
+ kGoalGordoWalkOutFromCT01 = 91,
+ kGoalGordoBidFarewellToHowieLee = 92,
+ kGoalGordoWalkToHowieLee = 93,
+ // chapter 2
+ kGoalGordoWalkAround = 100,
+ kGoalGordoGoToDNARow = 101,
+ kGoalGordoGoToChinaTown = 102,
+ kGoalGordoGoToFreeSlotHAGJ = 103,
+ kGoalGordoGoToFreeSlotAH = 104
+};
+
enum GoalGuzza {
kGoalGuzzaLeaveOffice = 100,
kGoalGuzzaGoToHawkersCircle = 101,
@@ -1423,18 +1522,18 @@ enum GoalBulletBob {
enum GoalRunciter {
kGoalRunciterDefault = 0,
- kGoalRunciterWalkAround = 1,
- kGoalRunciterHide = 2,
+ kGoalRunciterWalkAroundRC02 = 1,
+ kGoalRunciterGoToFreeSlotGH = 2,
kGoalRunciterAtShop = 300,
kGoalRunciterDead = 599
};
enum GoalZuben {
kGoalZubenDefault = 0,
- kGoalZubenCT01Leave = 1,
- kGoalZubenCT02Flee = 2,
+ kGoalZubenCT01WalkToCT02 = 1,
+ kGoalZubenCT02RunToFreeSlotG = 2,
kGoalZubenCT07Spared = 4,
- kGoalZubenCT07Leave = 5,
+ kGoalZubenCT07RunToFreeSlotA = 5,
kGoalZubenDie = 6,
kGoalZubenSpared = 7,
kGoalZubenCT02PushPot = 8,
@@ -1442,7 +1541,7 @@ enum GoalZuben {
kGoalZubenCT02OpenDoor = 10,
kGoalZubenCT06JumpDown = 11,
kGoalZubenCT06AttackMcCoy = 12,
- kGoalZubenCT06Hide = 13,
+ kGoalZubenCT06HideAtFreeSlotA = 13,
kGoalZubenCT02PotDodgeCheck = 14,
kGoalZubenFled = 20,
kGoalZubenMA01AttackMcCoy = 21,
@@ -1455,6 +1554,21 @@ enum GoalOfficerLeary {
kGoalOfficerLearyRC01CrowdInterrogation = 2
};
+enum GoalMoraji {
+ kGoalMorajiDefault = 0,
+ kGoalMorajiShot = 5,
+ kGoalMorajiFreed = 10,
+ kGoalMorajiRunOut = 11,
+ kGoalMorajiGetUp = 18,
+ kGoalMorajiScream = 19,
+ kGoalMorajiJump = 20,
+ kGoalMorajiLayDown = 21,
+ kGoalMorajiDie = 22,
+ kGoalMorajiDead = 23,
+ kGoalMorajiChooseFate = 30,
+ kGoalMorajiPerished = 99
+};
+
} // End of namespace BladeRunner
#endif
diff --git a/engines/bladerunner/script/ai/clovis.cpp b/engines/bladerunner/script/ai/clovis.cpp
index d504328..6f4d0bf 100644
--- a/engines/bladerunner/script/ai/clovis.cpp
+++ b/engines/bladerunner/script/ai/clovis.cpp
@@ -282,7 +282,7 @@ bool AIScriptClovis::GoalChanged(int currentGoalNumber, int newGoalNumber) {
Actor_Set_Goal_Number(kActorSadik, 200);
Actor_Clue_Acquire(kActorMcCoy, kClueAct2Ended, true, -1);
Player_Gains_Control();
- Chapter_Enter(3, 6, 20);
+ Chapter_Enter(3, kSetCT08_CT51_UG12, kSceneCT08);
Game_Flag_Set(550);
Game_Flag_Set(679);
return true;
diff --git a/engines/bladerunner/script/ai/dektora.cpp b/engines/bladerunner/script/ai/dektora.cpp
index e620313..c7c6341 100644
--- a/engines/bladerunner/script/ai/dektora.cpp
+++ b/engines/bladerunner/script/ai/dektora.cpp
@@ -38,94 +38,94 @@ void AIScriptDektora::Initialize() {
_flag = false;
_x = _y = _z = 0.0f;
- Actor_Set_Goal_Number(kActorDektora, 0);
+ Actor_Set_Goal_Number(kActorDektora, kGoalDektoraDefault);
}
bool AIScriptDektora::Update() {
- int chapter = Global_Variable_Query(kVariableChapter) - 2;
-
- if (chapter > 2)
+ int chapter = Global_Variable_Query(kVariableChapter);
+
+ if (chapter == 2) {
+ if (!Game_Flag_Query(kFlagDektoraChapter2Started)) {
+ Game_Flag_Set(kFlagDektoraChapter2Started);
+ Actor_Put_In_Set(kActorDektora, kSetFreeSlotG);
+ Actor_Set_At_Waypoint(kActorDektora, 39, 0);
+ Actor_Set_Goal_Number(kActorDektora, kGoalDektoraStartWalkingAround);
+ } else {
+ if ( Game_Flag_Query(kFlagAR02DektoraWillBuyScorpions)
+ && !Game_Flag_Query(kFlagAR02DektoraBoughtScorpions)
+ && Player_Query_Current_Scene() != kSceneAR01
+ && Player_Query_Current_Scene() != kSceneAR02
+ ) {
+ if (Game_Flag_Query(kFlagAR02Entered)) {
+ Item_Remove_From_World(kItemScrorpions);
+ }
+ Game_Flag_Set(kFlagAR02DektoraBoughtScorpions);
+ }
+ }
return true;
+ }
- if (chapter) {
- if (chapter == 1) {
- if (Actor_Query_Goal_Number(kActorDektora) < 199) {
- Actor_Set_Goal_Number(kActorDektora, 199);
- } else {
- switch (Actor_Query_Goal_Number(kActorDektora)) {
- case 269:
- Actor_Set_Goal_Number(kActorDektora, 270);
- return 1;
-
- case 270:
- case 272:
- case 274:
- return 1;
-
- case 271:
- if (Actor_Query_Inch_Distance_From_Actor(kActorDektora, kActorMcCoy) <= 48) {
- Actor_Set_Goal_Number(kActorDektora, 279);
- return 1;
- }
-
- if (comp_distance(kActorMcCoy, _x, _y, _z) > 12.0f) {
- Actor_Query_XYZ(kActorMcCoy, &_x, &_y, &_z);
- Async_Actor_Walk_To_XYZ(kActorDektora, _x, _y, _z, 36, 0);
- }
- break;
+ if (chapter == 3) {
+ if (Actor_Query_Goal_Number(kActorDektora) < 199) {
+ Actor_Set_Goal_Number(kActorDektora, 199);
+ } else {
+ switch (Actor_Query_Goal_Number(kActorDektora)) {
+ case 269:
+ Actor_Set_Goal_Number(kActorDektora, 270);
+ break;
- case 273:
- Actor_Set_Goal_Number(kActorDektora, 274);
- return 1;
+ case 271:
+ if (Actor_Query_Inch_Distance_From_Actor(kActorDektora, kActorMcCoy) <= 48) {
+ Actor_Set_Goal_Number(kActorDektora, 279);
+ break;
+ }
- case 275:
- Actor_Set_Goal_Number(kActorDektora, 276);
- return 1;
+ if (comp_distance(kActorMcCoy, _x, _y, _z) > 12.0f) {
+ Actor_Query_XYZ(kActorMcCoy, &_x, &_y, &_z);
+ Async_Actor_Walk_To_XYZ(kActorDektora, _x, _y, _z, 36, 0);
}
+ break;
+
+ case 273:
+ Actor_Set_Goal_Number(kActorDektora, 274);
+ break;
+
+ case 275:
+ Actor_Set_Goal_Number(kActorDektora, 276);
+ break;
}
- } else if (Actor_Query_Goal_Number(kActorDektora) < 300) {
- Actor_Set_Goal_Number(kActorDektora, 300);
}
- } else if (Game_Flag_Query(489)) {
- if ( Game_Flag_Query(504) == 1
- && !Game_Flag_Query(374)
- && Player_Query_Current_Scene()
- && Player_Query_Current_Scene() != 1
- ) {
- if (Game_Flag_Query(kFlagAR02Entered)) {
- Item_Remove_From_World(kItemScrorpions);
- }
- Game_Flag_Set(374);
+ return true;
+ }
+
+ if (chapter == 4) {
+ if (Actor_Query_Goal_Number(kActorDektora) < 300) {
+ Actor_Set_Goal_Number(kActorDektora, 300);
}
- } else {
- Game_Flag_Set(489);
- Actor_Put_In_Set(kActorDektora, kSetFreeSlotG);
- Actor_Set_At_Waypoint(kActorDektora, 39, 0);
- Actor_Set_Goal_Number(kActorDektora, 100);
+ return true;
}
return true;
}
void AIScriptDektora::TimerExpired(int timer) {
- if (timer)
- return; //false;
+ if (timer == 0) {
+ if (Actor_Query_Goal_Number(kActorDektora) == 210) {
+ if (Player_Query_Current_Scene() == 61) {
+ AI_Countdown_Timer_Reset(kActorDektora, 0);
+ AI_Countdown_Timer_Start(kActorDektora, 0, 10);
+ } else {
+ Actor_Set_Goal_Number(kActorDektora, 211);
+ AI_Countdown_Timer_Reset(kActorDektora, 0);
+ }
+ return; //true;
+ }
- if (Actor_Query_Goal_Number(kActorDektora) == 210) {
- if (Player_Query_Current_Scene() == 61) {
- AI_Countdown_Timer_Reset(kActorDektora, 0);
- AI_Countdown_Timer_Start(kActorDektora, 0, 10);
- } else {
- Actor_Set_Goal_Number(kActorDektora, 211);
+ if (Actor_Query_Goal_Number(kActorDektora) == 270) {
AI_Countdown_Timer_Reset(kActorDektora, 0);
+ Actor_Set_Goal_Number(kActorDektora, 271);
+ return; //true;
}
- return; //true;
- }
-
- if (Actor_Query_Goal_Number(kActorDektora) == 270) {
- AI_Countdown_Timer_Reset(kActorDektora, 0);
- Actor_Set_Goal_Number(kActorDektora, 271);
- return; //true;
}
return; //false;
@@ -133,34 +133,35 @@ void AIScriptDektora::TimerExpired(int timer) {
void AIScriptDektora::CompletedMovementTrack() {
switch (Actor_Query_Goal_Number(kActorDektora)) {
- case 100:
- if (Game_Flag_Query(47) == 1) {
- Actor_Set_Goal_Number(kActorDektora, 101);
+ case kGoalDektoraStartWalkingAround:
+ if (Game_Flag_Query(kFlagDektoraIsReplicant)) {
+ Actor_Set_Goal_Number(kActorDektora, kGoalDektoraWalkAroundAsReplicant);
} else {
- Actor_Set_Goal_Number(kActorDektora, 102);
+ Actor_Set_Goal_Number(kActorDektora, kGoalDektoraWalkAroundAsHuman);
}
break;
-
- case 101:
+ case kGoalDektoraWalkAroundAsReplicant:
if (Random_Query(1, 7) == 1
- && Actor_Query_Goal_Number(kActorEarlyQ) != 1
- && Actor_Query_Goal_Number(kActorEarlyQ) != 101) {
- Game_Flag_Set(504);
- Actor_Set_Goal_Number(kActorDektora, 100);
+ && Actor_Query_Goal_Number(kActorEarlyQ) != 1
+ && Actor_Query_Goal_Number(kActorEarlyQ) != 101
+ ) {
+ Game_Flag_Set(kFlagAR02DektoraWillBuyScorpions);
+ Actor_Set_Goal_Number(kActorDektora, kGoalDektoraStartWalkingAround);
} else {
- Actor_Set_Goal_Number(kActorDektora, 100);
+ Actor_Set_Goal_Number(kActorDektora, kGoalDektoraStartWalkingAround);
}
break;
- case 102:
+ case kGoalDektoraWalkAroundAsHuman:
if (Random_Query(1, 5) == 1
- && Actor_Query_Goal_Number(kActorEarlyQ) != 1
- && Actor_Query_Goal_Number(kActorEarlyQ) != 101) {
- Game_Flag_Set(504);
- Actor_Set_Goal_Number(kActorDektora, 100);
+ && Actor_Query_Goal_Number(kActorEarlyQ) != 1
+ && Actor_Query_Goal_Number(kActorEarlyQ) != 101
+ ) {
+ Game_Flag_Set(kFlagAR02DektoraWillBuyScorpions);
+ Actor_Set_Goal_Number(kActorDektora, kGoalDektoraStartWalkingAround);
} else {
- Actor_Set_Goal_Number(kActorDektora, 100);
+ Actor_Set_Goal_Number(kActorDektora, kGoalDektoraStartWalkingAround);
}
break;
@@ -191,14 +192,14 @@ void AIScriptDektora::ReceivedClue(int clueId, int fromActorId) {
void AIScriptDektora::ClickedByPlayer() {
if (Actor_Query_Goal_Number(kActorDektora) == 599) {
- Actor_Face_Actor(0, kActorDektora, 1);
+ Actor_Face_Actor(0, kActorDektora, true);
Actor_Says(kActorMcCoy, 8630, 12);
return; //true;
}
if (Actor_Query_Goal_Number(kActorDektora) < 199) {
- Actor_Face_Actor(kActorMcCoy, kActorDektora, 1);
+ Actor_Face_Actor(kActorMcCoy, kActorDektora, true);
Actor_Says(kActorMcCoy, 8590, 13);
}
@@ -220,7 +221,9 @@ void AIScriptDektora::EnteredScene(int sceneId) {
}
void AIScriptDektora::OtherAgentEnteredThisScene(int otherActorId) {
- if (!otherActorId && Actor_Query_Goal_Number(kActorDektora) == 246) {
+ if (otherActorId == kActorMcCoy
+ && Actor_Query_Goal_Number(kActorDektora) == 246
+ ) {
Scene_Exits_Disable();
Actor_Change_Animation_Mode(kActorDektora, 23);
}
@@ -243,8 +246,9 @@ void AIScriptDektora::ShotAtAndMissed() {
bool AIScriptDektora::ShotAtAndHit() {
if (Actor_Query_Goal_Number(kActorDektora) == 270
- || Actor_Query_Goal_Number(kActorDektora) == 271
- || Actor_Query_Goal_Number(kActorDektora) == 272) {
+ || Actor_Query_Goal_Number(kActorDektora) == 271
+ || Actor_Query_Goal_Number(kActorDektora) == 272
+ ) {
Actor_Set_Health(kActorDektora, 100, 100);
if (Actor_Query_Goal_Number(kActorDektora) != 272) {
@@ -252,6 +256,7 @@ bool AIScriptDektora::ShotAtAndHit() {
}
return true;
}
+
if (Actor_Query_Goal_Number(kActorDektora) == 260) {
AI_Movement_Track_Flush(kActorDektora);
Actor_Set_Health(kActorDektora, 0, 100);
@@ -276,11 +281,14 @@ bool AIScriptDektora::ShotAtAndHit() {
}
void AIScriptDektora::Retired(int byActorId) {
- if (!byActorId) {
+ if (byActorId == kActorMcCoy) {
Actor_Modify_Friendliness_To_Other(kActorClovis, 0, -5);
}
- if (byActorId == kActorSteele && Actor_Query_In_Set(kActorSteele, kSetHF06) && Actor_Query_In_Set(kActorMcCoy, kSetHF06)) {
+ if (byActorId == kActorSteele
+ && Actor_Query_In_Set(kActorSteele, kSetHF06)
+ && Actor_Query_In_Set(kActorMcCoy, kSetHF06)
+ ) {
Non_Player_Actor_Combat_Mode_On(kActorSteele, kActorCombatStateUncover, true, kActorMcCoy, 15, kAnimationModeCombatIdle, kAnimationModeCombatWalk, kAnimationModeCombatRun, 0, 0, 100, 25, 300, false);
}
@@ -317,6 +325,83 @@ int AIScriptDektora::GetFriendlinessModifierIfGetsClue(int otherActorId, int clu
bool AIScriptDektora::GoalChanged(int currentGoalNumber, int newGoalNumber) {
switch (newGoalNumber) {
+ case kGoalDektoraStartWalkingAround:
+ AI_Movement_Track_Flush(kActorDektora);
+ AI_Movement_Track_Append(kActorDektora, 39, 10);
+ AI_Movement_Track_Repeat(kActorDektora);
+ break;
+
+ case kGoalDektoraWalkAroundAsReplicant:
+ AI_Movement_Track_Flush(kActorDektora);
+ AI_Movement_Track_Append_With_Facing(kActorDektora, 287, 15, 278);
+
+ if (Game_Flag_Query(kFlagZubenRetired)) {
+ AI_Movement_Track_Append(kActorDektora, 33, 240);
+ } else if (Game_Flag_Query(kFlagZubenSpared)) {
+ AI_Movement_Track_Append(kActorDektora, 33, 120);
+ } else {
+ AI_Movement_Track_Append(kActorDektora, 33, 90);
+ }
+
+ AI_Movement_Track_Append_With_Facing(kActorDektora, 288, 35, 528);
+
+ if (Random_Query(1, 2) == 1
+ && Game_Flag_Query(kFlagAR02DektoraWillBuyScorpions)
+ ) {
+ AI_Movement_Track_Append(kActorDektora, 289, 0);
+ AI_Movement_Track_Append_With_Facing(kActorDektora, 290, 2, 979);
+ AI_Movement_Track_Append(kActorDektora, 289, 0);
+ AI_Movement_Track_Append(kActorDektora, 39, 120);
+ } else {
+ AI_Movement_Track_Append(kActorDektora, 39, 180);
+ }
+
+ AI_Movement_Track_Append(kActorDektora, 282, 0);
+ AI_Movement_Track_Append(kActorDektora, 283, 0);
+ AI_Movement_Track_Append(kActorDektora, 284, 0);
+ AI_Movement_Track_Append(kActorDektora, 285, 0);
+ AI_Movement_Track_Append_With_Facing(kActorDektora, 286, 30, 329);
+ AI_Movement_Track_Repeat(kActorDektora);
+ break;
+
+ case kGoalDektoraWalkAroundAsHuman:
+ AI_Movement_Track_Flush(kActorDektora);
+ AI_Movement_Track_Append_With_Facing(kActorDektora, 287, 15, 278);
+ AI_Movement_Track_Append(kActorDektora, 40, 90);
+
+ if (Game_Flag_Query(kFlagZubenRetired)
+ && Game_Flag_Query(kFlagLucyIsReplicant)
+ ) {
+ AI_Movement_Track_Append(kActorDektora, 33, 180);
+ } else {
+ AI_Movement_Track_Append(kActorDektora, 33, 160);
+ }
+
+ AI_Movement_Track_Append_With_Facing(kActorDektora, 288, 20, 528);
+
+ if (Random_Query(1, 2) == 1) {
+ AI_Movement_Track_Append(kActorDektora, 289, 0);
+ AI_Movement_Track_Append_With_Facing(kActorDektora, 290, 3, 979);
+ AI_Movement_Track_Append(kActorDektora, 289, 0);
+ AI_Movement_Track_Append(kActorDektora, 39, 120);
+ } else {
+ AI_Movement_Track_Append(kActorDektora, 39, 180);
+ }
+
+ AI_Movement_Track_Append(kActorDektora, 282, 0);
+ AI_Movement_Track_Append(kActorDektora, 283, 0);
+ AI_Movement_Track_Append(kActorDektora, 284, 0);
+ AI_Movement_Track_Append(kActorDektora, 285, 0);
+ AI_Movement_Track_Append_With_Facing(kActorDektora, 286, 35, 329);
+ AI_Movement_Track_Repeat(kActorDektora);
+ break;
+
+ case kGoalDektoraStopWalkingAround:
+ AI_Movement_Track_Flush(kActorDektora);
+ AI_Movement_Track_Append(kActorDektora, 39, 240);
+ AI_Movement_Track_Repeat(kActorDektora);
+ break;
+
case 199:
AI_Movement_Track_Flush(kActorDektora);
Actor_Set_Goal_Number(kActorDektora, 200);
@@ -451,79 +536,6 @@ bool AIScriptDektora::GoalChanged(int currentGoalNumber, int newGoalNumber) {
Actor_Set_At_Waypoint(kActorDektora, 33, 0);
break;
- case 100:
- AI_Movement_Track_Flush(kActorDektora);
- AI_Movement_Track_Append(kActorDektora, 39, 10);
- AI_Movement_Track_Repeat(kActorDektora);
- break;
-
- case 101:
- AI_Movement_Track_Flush(kActorDektora);
- AI_Movement_Track_Append_With_Facing(kActorDektora, 287, 15, 278);
-
- if (Game_Flag_Query(40) == 1) {
- AI_Movement_Track_Append(kActorDektora, 33, 240);
- } else if (Game_Flag_Query(41) == 1) {
- AI_Movement_Track_Append(kActorDektora, 33, 120);
- } else {
- AI_Movement_Track_Append(kActorDektora, 33, 90);
- }
-
- AI_Movement_Track_Append_With_Facing(kActorDektora, 288, 35, 528);
-
- if (Random_Query(1, 2) == 1 && Game_Flag_Query(504)) {
- AI_Movement_Track_Append(kActorDektora, 289, 0);
- AI_Movement_Track_Append_With_Facing(kActorDektora, 290, 2, 979);
- AI_Movement_Track_Append(kActorDektora, 289, 0);
- AI_Movement_Track_Append(kActorDektora, 39, 120);
- } else {
- AI_Movement_Track_Append(kActorDektora, 39, 180);
- }
-
- AI_Movement_Track_Append(kActorDektora, 282, 0);
- AI_Movement_Track_Append(kActorDektora, 283, 0);
- AI_Movement_Track_Append(kActorDektora, 284, 0);
- AI_Movement_Track_Append(kActorDektora, 285, 0);
- AI_Movement_Track_Append_With_Facing(kActorDektora, 286, 30, 329);
- AI_Movement_Track_Repeat(kActorDektora);
- break;
-
- case 102:
- AI_Movement_Track_Flush(kActorDektora);
- AI_Movement_Track_Append_With_Facing(kActorDektora, 287, 15, 278);
- AI_Movement_Track_Append(kActorDektora, 40, 90);
-
- if (Game_Flag_Query(40) == 1 && Game_Flag_Query(46) == 1) {
- AI_Movement_Track_Append(kActorDektora, 33, 180);
- } else {
- AI_Movement_Track_Append(kActorDektora, 33, 160);
- }
-
- AI_Movement_Track_Append_With_Facing(kActorDektora, 288, 20, 528);
-
- if (Random_Query(1, 2) == 1) {
- AI_Movement_Track_Append(kActorDektora, 289, 0);
- AI_Movement_Track_Append_With_Facing(kActorDektora, 290, 3, 979);
- AI_Movement_Track_Append(kActorDektora, 289, 0);
- AI_Movement_Track_Append(kActorDektora, 39, 120);
- } else {
- AI_Movement_Track_Append(kActorDektora, 39, 180);
- }
-
- AI_Movement_Track_Append(kActorDektora, 282, 0);
- AI_Movement_Track_Append(kActorDektora, 283, 0);
- AI_Movement_Track_Append(kActorDektora, 284, 0);
- AI_Movement_Track_Append(kActorDektora, 285, 0);
- AI_Movement_Track_Append_With_Facing(kActorDektora, 286, 35, 329);
- AI_Movement_Track_Repeat(kActorDektora);
- break;
-
- case 103:
- AI_Movement_Track_Flush(kActorDektora);
- AI_Movement_Track_Append(kActorDektora, 39, 240);
- AI_Movement_Track_Repeat(kActorDektora);
- break;
-
default:
return false;
@@ -1058,6 +1070,300 @@ bool AIScriptDektora::UpdateAnimation(int *animation, int *frame) {
}
bool AIScriptDektora::ChangeAnimationMode(int mode) {
+ switch (mode) {
+ case kAnimationModeIdle:
+ if (Game_Flag_Query(633)) {
+ _animationState = 32;
+ _animationFrame = 0;
+ break;
+ }
+ switch (_animationState) {
+ case 2:
+ case 3:
+ case 4:
+ case 5:
+ case 6:
+ case 7:
+ case 8:
+ case 27:
+ case 28:
+ _flag = true;
+ break;
+ case 9:
+ case 10:
+ case 12:
+ case 13:
+ case 14:
+ case 15:
+ case 16:
+ case 17:
+ _animationState = 11;
+ _animationFrame = 0;
+ break;
+ case 11:
+ case 18:
+ case 19:
+ case 20:
+ case 26:
+ case 29:
+ case 30:
+ break;
+ case 25:
+ _animationState = 25;
+ _animationFrame = 0;
+ break;
+ case 31:
+ _animationState = 31;
+ _animationFrame = 0;
+ break;
+ default:
+ _animationState = 0;
+ _animationFrame = 0;
+ break;
+ }
+ break;
+
+ case kAnimationModeWalk:
+ if (!Game_Flag_Query(633)) {
+ _animationFrame = 0;
+ _animationState = 21;
+ } else {
+ _animationState = 33;
+ _animationFrame = 0;
+ }
+ break;
+
+ case kAnimationModeRun:
+ _animationFrame = 0;
+ _animationState = 22;
+ break;
+
+ case kAnimationModeTalk:
+ if (_animationState < 2
+ || _animationState > 8
+ ) {
+ _animationState = 2;
+ _animationFrame = 0;
+ _flag = false;
+ }
+ break;
+
+ case kAnimationModeCombatIdle:
+ switch (_animationState) {
+ case 9:
+ case 10:
+ case 16:
+ case 17:
+ break;
+ case 25:
+ case 27:
+ case 28:
+ _animationState = 29;
+ _animationFrame = 0;
+ break;
+ case 31:
+ _animationState = 30;
+ _animationFrame = Slice_Animation_Query_Number_Of_Frames(154) - 1;
+ break;
+ default:
+ _animationState = 10;
+ _animationFrame = 0;
+ break;
+ }
+ break;
+
+ case kAnimationModeCombatAttack:
+ if (_animationState == 31) {
+ _animationState = 26;
+ } else if (Random_Query(0, 1) == 1) {
+ _animationState = 16;
+ } else {
+ _animationState = 17;
+ }
+ _animationFrame = 0;
+ break;
+
+ case kAnimationModeCombatWalk:
+ if (!Game_Flag_Query(633)) {
+ _animationFrame = 0;
+ _animationState = 21;
+ } else {
+ _animationState = 33;
+ _animationFrame = 0;
+ }
+ break;
+
+ case kAnimationModeCombatRun:
+ _animationFrame = 0;
+ _animationState = 22;
+ break;
+
+ case 12:
+ if (_animationState < 2
+ || _animationState > 8
+ ) {
+ _animationState = 3;
+ _animationFrame = 0;
+ _flag = false;
+ }
+ break;
+
+ case 13:
+ if (_animationState < 2
+ || _animationState > 8
+ ) {
+ _animationState = 4;
+ _animationFrame = 0;
+ _flag = false;
+ }
+ break;
+
+ case 14:
+ if (_animationState < 2
+ || _animationState > 8
+ ) {
+ _animationState = 5;
+ _animationFrame = 0;
+ _flag = 0;
+ }
+ break;
+
+ case 15:
+ if (_animationState < 2
+ || _animationState > 8
+ ) {
+ _animationState = 6;
+ _animationFrame = 0;
+ _flag = false;
+ }
+ break;
+
+ case 16:
+ if (_animationState < 2
+ || _animationState > 8
+ ) {
+ _animationState = 7;
+ _animationFrame = 0;
+ _flag = false;
+ }
+ break;
+
+ case 17:
+ if (_animationState < 2
+ || _animationState > 8
+ ) {
+ _animationState = 8;
+ _animationFrame = 0;
+ _flag = false;
+ }
+ break;
+
+ case 21:
+ if (Game_Flag_Query(633)) {
+ _animationState = 34;
+ _animationFrame = 0;
+ break;
+ }
+ switch (_animationState) {
+ case 9:
+ case 10:
+ case 11:
+ case 12:
+ case 13:
+ case 16:
+ case 17:
+ if (Random_Query(0, 1) == 1) {
+ _animationState = 14;
+ } else {
+ _animationState = 15;
+ }
+ break;
+ case 14:
+ case 15:
+ if (Random_Query(0, 1) == 1) {
+ _animationState = 18;
+ } else {
+ _animationState = 19;
+ }
+ break;
+ }
+ _animationFrame = 0;
+ break;
+
+ case 23:
+ _animationState = 41;
+ _animationFrame = 0;
+ break;
+
+ case 30:
+ if (_animationState != 27
+ && _animationState != 28
+ ) {
+ _animationState = 27;
+ _animationFrame = 0;
+ _flag = false;
+ }
+ break;
+
+ case 31:
+ if (_animationState != 27
+ && _animationState != 28
+ ) {
+ _animationState = 28;
+ _animationFrame = 0;
+ _flag = false;
+ }
+ break;
+
+ case kAnimationModeWalkUp:
+ _animationFrame = 0;
+ _animationState = 23;
+ break;
+
+ case kAnimationModeWalkDown:
+ _animationFrame = 0;
+ _animationState = 24;
+ break;
+
+ case kAnimationModeDie:
+ _animationState = 20;
+ _animationFrame = 0;
+ break;
+
+ case 53:
+ switch (_animationState) {
+ case 26:
+ case 29:
+ case 30:
+ case 31:
+ break;
+ case 27:
+ case 28:
+ _flag = true;
+ break;
+ default:
+ _animationState = 25;
+ _animationFrame = 0;
+ break;
+ }
+ break;
+
+ case 70:
+ _animationState = 17;
+ _animationFrame = 0;
+ break;
+
+ case 71:
+ _animationState = 16;
+ _animationFrame = 0;
+ break;
+
+ case 79:
+ _animationState = 37;
+ _animationFrame = 0;
+ break;
+ }
+
return true;
}
diff --git a/engines/bladerunner/script/ai/early_q.cpp b/engines/bladerunner/script/ai/early_q.cpp
index 104ebda..40cd1b2 100644
--- a/engines/bladerunner/script/ai/early_q.cpp
+++ b/engines/bladerunner/script/ai/early_q.cpp
@@ -330,7 +330,7 @@ bool AIScriptEarlyQ::GoalChanged(int currentGoalNumber, int newGoalNumber) {
break;
case 208:
- if (Game_Flag_Query(374) == 1) {
+ if (Game_Flag_Query(kFlagAR02DektoraBoughtScorpions)) {
Actor_Set_Goal_Number(kActorEarlyQ, 210);
} else {
Actor_Set_Goal_Number(kActorEarlyQ, 209);
diff --git a/engines/bladerunner/script/ai/gaff.cpp b/engines/bladerunner/script/ai/gaff.cpp
index 6eaa5b9..1706062 100644
--- a/engines/bladerunner/script/ai/gaff.cpp
+++ b/engines/bladerunner/script/ai/gaff.cpp
@@ -211,7 +211,7 @@ bool AIScriptGaff::GoalChanged(int currentGoalNumber, int newGoalNumber) {
AI_Movement_Track_Repeat(kActorGaff);
return true;
case 10:
- Game_Flag_Reset(kFlagGaffSpinnerCT12);
+ Game_Flag_Reset(kFlagCT12GaffSpinner);
Scene_Loop_Set_Default(2);
Scene_Loop_Start_Special(2, 6, true);
return true;
diff --git a/engines/bladerunner/script/ai/gordo.cpp b/engines/bladerunner/script/ai/gordo.cpp
index 2f48f90..9d1754a 100644
--- a/engines/bladerunner/script/ai/gordo.cpp
+++ b/engines/bladerunner/script/ai/gordo.cpp
@@ -45,23 +45,30 @@ void AIScriptGordo::Initialize() {
_frameDelta = 1;
_frameMax = 0;
_state = 0;
- Actor_Set_Goal_Number(kActorGordo, 0);
+ Actor_Set_Goal_Number(kActorGordo, kGoalGordoDefault);
}
bool AIScriptGordo::Update() {
if (Global_Variable_Query(kVariableChapter) == 1) {
- if (Actor_Query_Goal_Number(kActorGordo) == 0 && Actor_Query_Friendliness_To_Other(kActorGordo, kActorMcCoy) < 48 && Actor_Query_Is_In_Current_Set(kActorGordo) == kSetBB02_BB04_BB06_BB51) {
- Actor_Set_Goal_Number(kActorGordo, 90);
+ if (Actor_Query_Goal_Number(kActorGordo) == kGoalGordoDefault
+ && Actor_Query_Friendliness_To_Other(kActorGordo, kActorMcCoy) < 48
+ && Actor_Query_Is_In_Current_Set(kActorGordo)
+ ) {
+ Actor_Set_Goal_Number(kActorGordo, kGoalGordoGetUpCT01);
return true;
}
- if (Actor_Query_Which_Set_In(kActorMcCoy) == kSetCT03_CT04 && Actor_Query_Which_Set_In(kActorGordo) == kSetCT01_CT12) {
- Actor_Set_Goal_Number(kActorGordo, 91);
+ if (Actor_Query_Which_Set_In(kActorMcCoy) == kSetCT03_CT04
+ && Actor_Query_Which_Set_In(kActorGordo) == kSetCT01_CT12
+ ) {
+ Actor_Set_Goal_Number(kActorGordo, kGoalGordoWalkOutFromCT01);
return true;
}
}
- if (Global_Variable_Query(kVariableChapter) == 2 && Actor_Query_Goal_Number(kActorGordo) < 100) {
- Actor_Set_Goal_Number(kActorGordo, 100);
+ if (Global_Variable_Query(kVariableChapter) == 2
+ && Actor_Query_Goal_Number(kActorGordo) < kGoalGordoWalkAround
+ ) {
+ Actor_Set_Goal_Number(kActorGordo, kGoalGordoWalkAround);
}
if (Global_Variable_Query(kVariableChapter) == 3) {
@@ -74,7 +81,9 @@ bool AIScriptGordo::Update() {
}
if (Global_Variable_Query(kVariableChapter) == 4) {
- if (Actor_Query_Goal_Number(kActorGordo) < 300 && Actor_Query_Goal_Number(kActorGordo) != 260) {
+ if (Actor_Query_Goal_Number(kActorGordo) < 300
+ && Actor_Query_Goal_Number(kActorGordo) != 260
+ ) {
Actor_Set_Goal_Number(kActorGordo, 300);
} else if (Actor_Query_Goal_Number(kActorGordo) == 599) {
Actor_Put_In_Set(kActorGordo, kSetFreeSlotI);
@@ -82,7 +91,9 @@ bool AIScriptGordo::Update() {
}
}
- if (Global_Variable_Query(kVariableChapter) == 5 && Actor_Query_Goal_Number(kActorGordo) < 400) {
+ if (Global_Variable_Query(kVariableChapter) == 5
+ && Actor_Query_Goal_Number(kActorGordo) < 400
+ ) {
Actor_Set_Goal_Number(kActorGordo, 400);
}
@@ -102,13 +113,14 @@ void AIScriptGordo::TimerExpired(int timer) {
}
void AIScriptGordo::CompletedMovementTrack() {
- if (Actor_Query_Goal_Number(kActorGordo) == 1
- || Actor_Query_Goal_Number(kActorGordo) == 91
+ if (Actor_Query_Goal_Number(kActorGordo) == kGoalGordoLeaveCT01
+ || Actor_Query_Goal_Number(kActorGordo) == kGoalGordoWalkOutFromCT01
) {
- Actor_Set_Goal_Number(kActorGordo, 2);
+ Actor_Set_Goal_Number(kActorGordo, kGoalGordoLeftCT01);
return;// true;
}
- if (Actor_Query_Goal_Number(kActorGordo) == 3) {
+
+ if (Actor_Query_Goal_Number(kActorGordo) == kGoalGordoWalkThroughCT05) {
if (Player_Query_Current_Set() == kSetCT05) {
Actor_Force_Stop_Walking(kActorMcCoy);
Player_Loses_Control();
@@ -123,24 +135,26 @@ void AIScriptGordo::CompletedMovementTrack() {
Player_Gains_Control();
}
Actor_Clue_Acquire(kActorGordo, kClueMcCoyRetiredZuben, true, -1);
- Actor_Set_Goal_Number(kActorGordo, 4);
+ Actor_Set_Goal_Number(kActorGordo, kGoalGordoLeaveCT05);
return;// true;
}
- if (Actor_Query_Goal_Number(kActorGordo) == 4) {
- Actor_Set_Goal_Number(kActorGordo, 5);
+ if (Actor_Query_Goal_Number(kActorGordo) == kGoalGordoLeaveCT05) {
+ Actor_Set_Goal_Number(kActorGordo, kGoalGordoLeftCT05);
return;// true;
}
- if (Actor_Query_Goal_Number(kActorGordo) == 93) {
+ if (Actor_Query_Goal_Number(kActorGordo) == kGoalGordoWalkToHowieLee) {
Actor_Set_Immunity_To_Obstacles(kActorGordo, false);
Player_Gains_Control();
- Actor_Set_Goal_Number(kActorGordo, 92);
+ Actor_Set_Goal_Number(kActorGordo, kGoalGordoBidFarewellToHowieLee);
return;// true;
}
- if (Actor_Query_Goal_Number(kActorGordo) > 100 && Actor_Query_Goal_Number(kActorGordo) < 200) {
- Actor_Set_Goal_Number(kActorGordo, 100);
+ if (Actor_Query_Goal_Number(kActorGordo) > 100
+ && Actor_Query_Goal_Number(kActorGordo) < 200
+ ) {
+ Actor_Set_Goal_Number(kActorGordo, kGoalGordoWalkAround);
return;// true;
}
@@ -188,8 +202,10 @@ void AIScriptGordo::ReceivedClue(int clueId, int fromActorId) {
void AIScriptGordo::ClickedByPlayer() {
int goal = Actor_Query_Goal_Number(kActorGordo);
- if (goal == 101 || goal == 102) {
- sub_40FD00();
+ if (goal == kGoalGordoGoToDNARow
+ || goal == kGoalGordoGoToChinaTown
+ ) {
+ McCoyTalkWithGordo();
} else if (goal == 260) {
Actor_Face_Actor(kActorMcCoy, kActorGordo, true);
Actor_Says(kActorMcCoy, 8600, 11);
@@ -284,77 +300,80 @@ int AIScriptGordo::GetFriendlinessModifierIfGetsClue(int otherActorId, int clueI
}
bool AIScriptGordo::GoalChanged(int currentGoalNumber, int newGoalNumber) {
+ int rnd;
+
switch (newGoalNumber) {
- case 0:
+ case kGoalGordoDefault:
Actor_Put_In_Set(kActorGordo, kSetCT01_CT12);
Actor_Set_At_XYZ(kActorGordo, -308.44f, -12.5f, 442.78f, 256);
Actor_Change_Animation_Mode(kActorGordo, 53);
break;
- case 3:
+ case kGoalGordoWalkThroughCT05:
AI_Movement_Track_Flush(kActorGordo);
AI_Movement_Track_Append(kActorGordo, 119, 0);
AI_Movement_Track_Append(kActorGordo, 118, 0);
AI_Movement_Track_Repeat(kActorGordo);
break;
- case 4:
+ case kGoalGordoLeaveCT05:
AI_Movement_Track_Flush(kActorGordo);
AI_Movement_Track_Append(kActorGordo, 119, 0);
AI_Movement_Track_Append(kActorGordo, 33, 1);
AI_Movement_Track_Repeat(kActorGordo);
break;
- case 90:
- Game_Flag_Set(kFlagCT01McCoyTalkedToGordo);
+ case kGoalGordoGetUpCT01:
+ Game_Flag_Set(kFlagCT01GordoTalk);
Actor_Set_Goal_Number(kActorGordo, 99);
Actor_Change_Animation_Mode(kActorGordo, 29);
break;
- case 91:
+ case kGoalGordoWalkOutFromCT01:
AI_Movement_Track_Flush(kActorGordo);
AI_Movement_Track_Append(kActorGordo, 43, 0);
AI_Movement_Track_Append(kActorGordo, 33, 1);
AI_Movement_Track_Repeat(kActorGordo);
break;
- case 92:
+ case kGoalGordoBidFarewellToHowieLee:
Actor_Face_Actor(kActorGordo, kActorHowieLee, true);
Actor_Says(kActorGordo, 0, 13);
Actor_Says(kActorGordo, 10, 16);
- Actor_Set_Goal_Number(kActorGordo, 91);
+ Actor_Set_Goal_Number(kActorGordo, kGoalGordoWalkOutFromCT01);
Player_Gains_Control();
break;
- case 93:
+ case kGoalGordoWalkToHowieLee:
Player_Loses_Control();
Actor_Set_Immunity_To_Obstacles(kActorGordo, true);
AI_Movement_Track_Flush(kActorGordo);
AI_Movement_Track_Append(kActorGordo, 100, 0);
AI_Movement_Track_Repeat(kActorGordo);
break;
- case 100: {
- AI_Movement_Track_Flush(kActorGordo);
- _animationState = 0;
- _animationFrame = 0;
- _animationStateNext = 0;
- sub_41117C();
- int rnd = Random_Query(1, 4);
- if (Actor_Clue_Query(kActorMcCoy, kClueGordoInterview1) || Actor_Clue_Query(kActorMcCoy, kClueGordoInterview2)) {
- rnd = Random_Query(4, 5);
- }
- switch (rnd) {
- case 1:
- case 2:
- Actor_Set_Goal_Number(kActorGordo, 101);
- break;
- case 3:
- Actor_Set_Goal_Number(kActorGordo, 102);
- break;
- case 4:
- Actor_Set_Goal_Number(kActorGordo, 103);
- break;
- case 5:
- Actor_Set_Goal_Number(kActorGordo, 104);
- break;
- }
+ case kGoalGordoWalkAround:
+ AI_Movement_Track_Flush(kActorGordo);
+ _animationState = 0;
+ _animationFrame = 0;
+ _animationStateNext = 0;
+ sub_41117C();
+ rnd = Random_Query(1, 4);
+ if (Actor_Clue_Query(kActorMcCoy, kClueGordoInterview1)
+ || Actor_Clue_Query(kActorMcCoy, kClueGordoInterview2)
+ ) {
+ rnd = Random_Query(4, 5);
+ }
+ switch (rnd) {
+ case 1:
+ case 2:
+ Actor_Set_Goal_Number(kActorGordo, kGoalGordoGoToDNARow);
+ break;
+ case 3:
+ Actor_Set_Goal_Number(kActorGordo, kGoalGordoGoToChinaTown);
+ break;
+ case 4:
+ Actor_Set_Goal_Number(kActorGordo, kGoalGordoGoToFreeSlotHAGJ);
+ break;
+ case 5:
+ Actor_Set_Goal_Number(kActorGordo, kGoalGordoGoToFreeSlotAH);
+ break;
}
break;
- case 101:
+ case kGoalGordoGoToDNARow:
AI_Movement_Track_Flush(kActorGordo);
if (Random_Query(1, 2) == 1) {
AI_Movement_Track_Append(kActorGordo, 343, 5);
@@ -378,7 +397,7 @@ bool AIScriptGordo::GoalChanged(int currentGoalNumber, int newGoalNumber) {
}
AI_Movement_Track_Repeat(kActorGordo);
break;
- case 102:
+ case kGoalGordoGoToChinaTown:
if (Random_Query(1, 3) == 1) {
AI_Movement_Track_Append(kActorGordo, 54, 1);
AI_Movement_Track_Append(kActorGordo, 56, 0);
@@ -391,7 +410,7 @@ bool AIScriptGordo::GoalChanged(int currentGoalNumber, int newGoalNumber) {
AI_Movement_Track_Append(kActorGordo, 40, 15);
AI_Movement_Track_Repeat(kActorGordo);
break;
- case 103:
+ case kGoalGordoGoToFreeSlotHAGJ:
AI_Movement_Track_Flush(kActorGordo);
AI_Movement_Track_Append(kActorGordo, 40, Random_Query(15, 45));
if (Game_Flag_Query(kFlagGordoIsReplicant)) {
@@ -403,7 +422,7 @@ bool AIScriptGordo::GoalChanged(int currentGoalNumber, int newGoalNumber) {
AI_Movement_Track_Append(kActorGordo, 42, Random_Query(10, 20));
AI_Movement_Track_Repeat(kActorGordo);
break;
- case 104:
+ case kGoalGordoGoToFreeSlotAH:
AI_Movement_Track_Flush(kActorGordo);
AI_Movement_Track_Append(kActorGordo, 33, Random_Query(15, 45));
if (!Game_Flag_Query(kFlagGordoIsReplicant)) {
@@ -413,7 +432,10 @@ bool AIScriptGordo::GoalChanged(int currentGoalNumber, int newGoalNumber) {
break;
case 200:
if (Global_Variable_Query(40) == 2) {
- if (Game_Flag_Query(593) && Game_Flag_Query(591) && Player_Query_Current_Scene() != kSceneNR02) {
+ if (Game_Flag_Query(593)
+ && Game_Flag_Query(591)
+ && Player_Query_Current_Scene() != kSceneNR02
+ ) {
Actor_Set_Goal_Number(kActorGordo, 201);
} else {
Actor_Set_Goal_Number(kActorGordo, 225);
@@ -571,7 +593,7 @@ bool AIScriptGordo::GoalChanged(int currentGoalNumber, int newGoalNumber) {
Actor_Says(kActorMcCoy, 3080, 15);
Actor_Says(kActorGordo, 200, 15);
Actor_Says(kActorMcCoy, 3085, 15);
- sub_410590();
+ dialogueWithGordo2();
break;
case 243:
AI_Movement_Track_Flush(kActorGordo);
@@ -749,7 +771,7 @@ bool AIScriptGordo::UpdateAnimation(int *animation, int *frame) {
_animationState = 0;
_animationFrame = 0;
Actor_Change_Animation_Mode(kActorGordo, kAnimationModeIdle);
- Actor_Set_Goal_Number(kActorGordo, 93);
+ Actor_Set_Goal_Number(kActorGordo, kGoalGordoWalkToHowieLee);
}
break;
case 4:
@@ -1406,66 +1428,10 @@ void AIScriptGordo::FledCombat() {
// return false;
}
-void AIScriptGordo::sub_40FD00() {
+void AIScriptGordo::McCoyTalkWithGordo() {
Player_Loses_Control();
Actor_Face_Actor(kActorMcCoy, kActorGordo, true);
- if (Game_Flag_Query(543)) {
- if (!Game_Flag_Query(kFlagDR05BombExploded)
- || Actor_Clue_Query(kActorMcCoy, kClueGordoInterview1)
- || Actor_Clue_Query(kActorMcCoy, kClueGordoInterview2)
- ) {
- if (Game_Flag_Query(544)) {
- switch(Random_Query(1, 4)) {
- case 1:
- Actor_Says(kActorMcCoy, 6460, 13);
- break;
- case 2:
- Actor_Says(kActorMcCoy, 6550, 14);
- break;
- case 3:
- Actor_Says(kActorMcCoy, 365, 12);
- break;
- case 4:
- Actor_Says(kActorMcCoy, 525, 12);
- break;
- }
- } else {
- Actor_Says(kActorMcCoy, 6490, 14);
- AI_Movement_Track_Pause(kActorGordo);
- Loop_Actor_Walk_To_Actor(kActorGordo, kActorMcCoy, 60, false, false);
- Actor_Face_Actor(kActorGordo, kActorMcCoy, true);
- Actor_Face_Actor(kActorMcCoy, kActorGordo, true);
- Actor_Says(kActorGordo, 990, 13);
- Actor_Says(kActorGordo, 1000, 15);
- Game_Flag_Set(544);
- AI_Movement_Track_Unpause(kActorGordo);
- }
- } else {
- Actor_Says(kActorMcCoy, 6485, 12);
- AI_Movement_Track_Pause(kActorGordo);
- Loop_Actor_Walk_To_Actor(kActorGordo, kActorMcCoy, 48, false, false);
- Actor_Face_Actor(kActorGordo, kActorMcCoy, true);
- Actor_Face_Actor(kActorMcCoy, kActorGordo, true);
- if (Game_Flag_Query(kFlagGordoIsReplicant)) {
- Actor_Says(kActorGordo, 1010, 12);
- Actor_Says(kActorMcCoy, 6495, 14);
- Actor_Says(kActorGordo, 1020, 13);
- Actor_Says(kActorMcCoy, 6500, 14);
- Actor_Says(kActorGordo, 1030, 15);
- Actor_Clue_Acquire(kActorMcCoy, kClueGordoInterview1, false, kActorGordo);
- } else {
- Actor_Says(kActorGordo, 1040, 12);
- Actor_Says(kActorGordo, 1050, 13);
- Actor_Says(kActorMcCoy, 6505, 14);
- Actor_Says(kActorGordo, 1060, 13);
- Actor_Says(kActorGordo, 1070, 14);
- Actor_Says(kActorMcCoy, 6510, 16);
- Actor_Says(kActorGordo, 1080, 15);
- Actor_Clue_Acquire(kActorMcCoy, kClueGordoInterview2, false, kActorGordo);
- }
- AI_Movement_Track_Unpause(kActorGordo);
- }
- } else {
+ if (!Game_Flag_Query(kFlagGordoTalk1)) {
Actor_Says(kActorMcCoy, 6460, 12);
AI_Movement_Track_Pause(kActorGordo);
Loop_Actor_Walk_To_Actor(kActorGordo, kActorMcCoy, 36, false, false);
@@ -1485,8 +1451,61 @@ void AIScriptGordo::sub_40FD00() {
Actor_Says(kActorGordo, 960, 15);
Actor_Says(kActorGordo, 970, 12);
AI_Movement_Track_Unpause(kActorGordo);
- Game_Flag_Set(543);
+ Game_Flag_Set(kFlagGordoTalk1);
+ } else if ( Game_Flag_Query(kFlagDR05BombExploded)
+ && !Actor_Clue_Query(kActorMcCoy, kClueGordoInterview1)
+ && !Actor_Clue_Query(kActorMcCoy, kClueGordoInterview2)
+ ) {
+ Actor_Says(kActorMcCoy, 6485, 12);
+ AI_Movement_Track_Pause(kActorGordo);
+ Loop_Actor_Walk_To_Actor(kActorGordo, kActorMcCoy, 48, false, false);
+ Actor_Face_Actor(kActorGordo, kActorMcCoy, true);
+ Actor_Face_Actor(kActorMcCoy, kActorGordo, true);
+ if (Game_Flag_Query(kFlagGordoIsReplicant)) {
+ Actor_Says(kActorGordo, 1010, 12);
+ Actor_Says(kActorMcCoy, 6495, 14);
+ Actor_Says(kActorGordo, 1020, 13);
+ Actor_Says(kActorMcCoy, 6500, 14);
+ Actor_Says(kActorGordo, 1030, 15);
+ Actor_Clue_Acquire(kActorMcCoy, kClueGordoInterview1, false, kActorGordo);
+ } else {
+ Actor_Says(kActorGordo, 1040, 12);
+ Actor_Says(kActorGordo, 1050, 13);
+ Actor_Says(kActorMcCoy, 6505, 14);
+ Actor_Says(kActorGordo, 1060, 13);
+ Actor_Says(kActorGordo, 1070, 14);
+ Actor_Says(kActorMcCoy, 6510, 16);
+ Actor_Says(kActorGordo, 1080, 15);
+ Actor_Clue_Acquire(kActorMcCoy, kClueGordoInterview2, false, kActorGordo);
+ }
+ AI_Movement_Track_Unpause(kActorGordo);
+ } else if (!Game_Flag_Query(kFlagGordoTalk2)) {
+ Actor_Says(kActorMcCoy, 6490, 14);
+ AI_Movement_Track_Pause(kActorGordo);
+ Loop_Actor_Walk_To_Actor(kActorGordo, kActorMcCoy, 60, false, false);
+ Actor_Face_Actor(kActorGordo, kActorMcCoy, true);
+ Actor_Face_Actor(kActorMcCoy, kActorGordo, true);
+ Actor_Says(kActorGordo, 990, 13);
+ Actor_Says(kActorGordo, 1000, 15);
+ Game_Flag_Set(kFlagGordoTalk2);
+ AI_Movement_Track_Unpause(kActorGordo);
+ } else {
+ switch(Random_Query(1, 4)) {
+ case 1:
+ Actor_Says(kActorMcCoy, 6460, 13);
+ break;
+ case 2:
+ Actor_Says(kActorMcCoy, 6550, 14);
+ break;
+ case 3:
+ Actor_Says(kActorMcCoy, 365, 12);
+ break;
+ case 4:
+ Actor_Says(kActorMcCoy, 525, 12);
+ break;
+ }
}
+
return Player_Gains_Control();
}
@@ -1506,21 +1525,23 @@ void AIScriptGordo::sub_4103B8() {
Actor_Says(kActorGordo, 350, 13);
Actor_Says(kActorMcCoy, 3225, 18);
Player_Gains_Control();
- sub_41090C();
+ dialogueWithGordo1();
Player_Loses_Control();
Game_Flag_Set(561);
Actor_Face_Heading(kActorGordo, 506, false);
Actor_Change_Animation_Mode(kActorGordo, 23);
}
-void AIScriptGordo::sub_410590() {
+void AIScriptGordo::dialogueWithGordo2() {
Music_Stop(5);
Dialogue_Menu_Clear_List();
DM_Add_To_List_Never_Repeat_Once_Selected(820, -1, 5, 7);
DM_Add_To_List_Never_Repeat_Once_Selected(830, 7, 5, -1);
+
Dialogue_Menu_Appear(320, 240);
int answer = Dialogue_Menu_Query_Input();
Dialogue_Menu_Disappear();
+
if (answer == 820) {
Actor_Says(kActorMcCoy, 3090, 16);
Actor_Says(kActorMcCoy, 3095, 15);
@@ -1535,8 +1556,8 @@ void AIScriptGordo::sub_410590() {
Game_Flag_Set(251);
Game_Flag_Set(592);
Scene_Exits_Enable();
- Game_Flag_Reset(kFlagMcCoyAtNRxx);
- Game_Flag_Set(kFlagMcCoyAtPSxx);
+ Game_Flag_Reset(kFlagMcCoyInNightclubRow);
+ Game_Flag_Set(kFlagMcCoyInPoliceStation);
Set_Enter(kSetPS09, kScenePS09);
} else if (answer == 830) {
Actor_Says(kActorMcCoy, 3100, 16);
@@ -1559,11 +1580,13 @@ void AIScriptGordo::sub_410590() {
}
}
-void AIScriptGordo::sub_41090C() {
+void AIScriptGordo::dialogueWithGordo1() {
Dialogue_Menu_Clear_List();
DM_Add_To_List_Never_Repeat_Once_Selected(760, 2, 5, 6);
DM_Add_To_List_Never_Repeat_Once_Selected(770, 6, 3, 1);
- if (Actor_Clue_Query(kActorMcCoy, kClueDektorasDressingRoom) || Actor_Clue_Query(kActorMcCoy, kClueWomanInAnimoidRow)) {
+ if (Actor_Clue_Query(kActorMcCoy, kClueDektorasDressingRoom)
+ || Actor_Clue_Query(kActorMcCoy, kClueWomanInAnimoidRow)
+ ) {
DM_Add_To_List_Never_Repeat_Once_Selected(780, 5, 5, 5);
}
if (Actor_Clue_Query(kActorMcCoy, kClueLucy)) {
@@ -1573,9 +1596,11 @@ void AIScriptGordo::sub_41090C() {
DM_Add_To_List_Never_Repeat_Once_Selected(800, -1, 4, 8);
}
Dialogue_Menu_Add_DONE_To_List(810);
+
Dialogue_Menu_Appear(320, 240);
int answer = Dialogue_Menu_Query_Input();
Dialogue_Menu_Disappear();
+
switch (answer) {
case 760:
Actor_Says(kActorMcCoy, 3230, kAnimationModeTalk);
@@ -1651,6 +1676,7 @@ void AIScriptGordo::sub_41090C() {
}
void AIScriptGordo::sub_41117C() {
+ // this has no real use as _animationState is always 0
switch (_animationState) {
case 0:
break;
diff --git a/engines/bladerunner/script/ai/holloway.cpp b/engines/bladerunner/script/ai/holloway.cpp
index ed4453e..dc52107 100644
--- a/engines/bladerunner/script/ai/holloway.cpp
+++ b/engines/bladerunner/script/ai/holloway.cpp
@@ -183,7 +183,7 @@ bool AIScriptHolloway::GoalChanged(int currentGoalNumber, int newGoalNumber) {
if (Global_Variable_Query(40) != 1) {
Player_Gains_Control();
}
- Game_Flag_Set(334);
+ Game_Flag_Set(kFlagUG03toUG04);
Set_Enter(kSetUG04, kSceneUG04);
break;
diff --git a/engines/bladerunner/script/ai/howie_lee.cpp b/engines/bladerunner/script/ai/howie_lee.cpp
index 2291d5a..93f0867 100644
--- a/engines/bladerunner/script/ai/howie_lee.cpp
+++ b/engines/bladerunner/script/ai/howie_lee.cpp
@@ -55,7 +55,7 @@ bool AIScriptHowieLee::Update() {
Actor_Set_Goal_Number(kActorHowieLee, 1);
}
- if ( Game_Flag_Query(kFlagMcCoyAtCTxx)
+ if ( Game_Flag_Query(kFlagMcCoyInChinaTown)
&& !Actor_Query_In_Set(kActorHowieLee, kSetCT01_CT12)
) {
AI_Movement_Track_Flush(kActorHowieLee);
@@ -64,8 +64,8 @@ bool AIScriptHowieLee::Update() {
}
if ( Actor_Query_Goal_Number(kActorHowieLee) == 1
- && Game_Flag_Query(kFlagBoughtHowieLeeFood)
- && !Game_Flag_Query(kFlagMcCoyAtCTxx)
+ && Game_Flag_Query(kFlagCT01BoughtHowieLeeFood)
+ && !Game_Flag_Query(kFlagMcCoyInChinaTown)
) {
Actor_Set_Goal_Number(kActorHowieLee, 4);
return true;
@@ -124,20 +124,20 @@ void AIScriptHowieLee::EnteredScene(int sceneId) {
if (Actor_Query_Goal_Number(kActorHowieLee) == 4
&& Actor_Query_In_Set(kActorHowieLee, kSetCT03_CT04)
) {
- if ( Game_Flag_Query(kFlagMcCoyKilledHomeless)
- && !Game_Flag_Query(kFlagHomelessBodyInDumpster)
- && !Game_Flag_Query(kFlagHomelessBodyFound)
+ if ( Game_Flag_Query(kFlagCT04HomelessKilledByMcCoy)
+ && !Game_Flag_Query(kFlagCT04HomelessBodyInDumpster)
+ && !Game_Flag_Query(kFlagCT04HomelessBodyFound)
) {
- Game_Flag_Set(kFlagHomelessBodyFound);
+ Game_Flag_Set(kFlagCT04HomelessBodyFound);
// return false;
}
- if (!Game_Flag_Query(kFlagMcCoyKilledHomeless)
- && Game_Flag_Query(kFlagHomelessBodyInDumpster)
- && !Game_Flag_Query(kFlagHomelessBodyFound)
+ if (!Game_Flag_Query(kFlagCT04HomelessKilledByMcCoy)
+ && Game_Flag_Query(kFlagCT04HomelessBodyInDumpster)
+ && !Game_Flag_Query(kFlagCT04HomelessBodyFound)
&& Random_Query(1, 10) == 1
) {
- Game_Flag_Set(kFlagHomelessBodyFound);
+ Game_Flag_Set(kFlagCT04HomelessBodyFound);
// return true;
}
// return false;
diff --git a/engines/bladerunner/script/ai/insect_dealer.cpp b/engines/bladerunner/script/ai/insect_dealer.cpp
index fb0924a..129a8e3 100644
--- a/engines/bladerunner/script/ai/insect_dealer.cpp
+++ b/engines/bladerunner/script/ai/insect_dealer.cpp
@@ -111,8 +111,8 @@ bool AIScriptInsectDealer::GoalChanged(int currentGoalNumber, int newGoalNumber)
Actor_Put_In_Set(kActorInsectDealer, kSetFreeSlotH);
Actor_Set_At_Waypoint(kActorInsectDealer, 40, 0);
- if (!Game_Flag_Query(374)) {
- Game_Flag_Set(374);
+ if (!Game_Flag_Query(kFlagAR02DektoraBoughtScorpions)) {
+ Game_Flag_Set(kFlagAR02DektoraBoughtScorpions);
Item_Remove_From_World(kItemScrorpions);
}
}
diff --git a/engines/bladerunner/script/ai/izo.cpp b/engines/bladerunner/script/ai/izo.cpp
index 3f2715a..8807011 100644
--- a/engines/bladerunner/script/ai/izo.cpp
+++ b/engines/bladerunner/script/ai/izo.cpp
@@ -163,7 +163,7 @@ void AIScriptIzo::ClickedByPlayer() {
Actor_Face_Actor(kActorIzo, kActorMcCoy, true);
Actor_Says(kActorIzo, 700, 17);
Actor_Says(kActorMcCoy, 5465, 14);
- someDialog();
+ dialogueWithIzo();
}
if (Actor_Query_Goal_Number(kActorIzo) == kGoalIzoRC03Walk) {
@@ -245,7 +245,7 @@ void AIScriptIzo::Retired(int byActorId) {
Player_Loses_Control();
Delay(2000);
Player_Set_Combat_Mode(0);
- Loop_Actor_Walk_To_XYZ(kActorMcCoy, -12.0f, -41.58f, 72.0f, 0, 1, 0, 0);
+ Loop_Actor_Walk_To_XYZ(kActorMcCoy, -12.0f, -41.58f, 72.0f, 0, true, false, 0);
Ambient_Sounds_Remove_All_Non_Looping_Sounds(true);
Ambient_Sounds_Remove_All_Looping_Sounds(1);
Game_Flag_Set(579);
@@ -1008,7 +1008,7 @@ void AIScriptIzo::FledCombat() {
// return false;
}
-void AIScriptIzo::someDialog() {
+void AIScriptIzo::dialogueWithIzo() {
Dialogue_Menu_Clear_List();
DM_Add_To_List_Never_Repeat_Once_Selected(0, 7, 4, -1); // MOTIVES
diff --git a/engines/bladerunner/script/ai/klein.cpp b/engines/bladerunner/script/ai/klein.cpp
index 955150c..fc2893d 100644
--- a/engines/bladerunner/script/ai/klein.cpp
+++ b/engines/bladerunner/script/ai/klein.cpp
@@ -70,11 +70,11 @@ bool AIScriptKlein::Update() {
}
if ( Player_Query_Current_Scene() == kScenePS07
&& Actor_Query_Friendliness_To_Other(kActorKlein, kActorMcCoy) < 35
- && !Game_Flag_Query(kFlagKleinInsulted)
+ && !Game_Flag_Query(kFlagPS07KleinInsulted)
) {
AI_Countdown_Timer_Reset(kActorKlein, 2);
AI_Countdown_Timer_Start(kActorKlein, 2, 5);
- Game_Flag_Set(kFlagKleinInsulted);
+ Game_Flag_Set(kFlagPS07KleinInsulted);
return true;
}
if (Actor_Query_Goal_Number(kActorKlein) == 7) {
@@ -92,8 +92,8 @@ bool AIScriptKlein::Update() {
void AIScriptKlein::TimerExpired(int timer) {
if (timer == 2) {
- if ( Game_Flag_Query(kFlagKleinInsulted)
- && !Game_Flag_Query(kFlagKleinInsultedTalk)
+ if ( Game_Flag_Query(kFlagPS07KleinInsulted)
+ && !Game_Flag_Query(kFlagPS07KleinInsultedTalk)
&& Actor_Query_Is_In_Current_Set(kActorKlein)
) {
Actor_Face_Actor(kActorKlein, kActorMcCoy, true);
@@ -101,7 +101,7 @@ void AIScriptKlein::TimerExpired(int timer) {
Actor_Says(kActorMcCoy, 4120, kAnimationModeTalk);
Actor_Says(kActorKlein, 20, kAnimationModeTalk);
Actor_Says(kActorMcCoy, 4125, kAnimationModeTalk);
- Game_Flag_Set(kFlagKleinInsultedTalk);
+ Game_Flag_Set(kFlagPS07KleinInsultedTalk);
Actor_Set_Goal_Number(kActorKlein, 4);
} else {
Actor_Says(kActorKlein, 10, kAnimationModeTalk);
diff --git a/engines/bladerunner/script/ai/mccoy.cpp b/engines/bladerunner/script/ai/mccoy.cpp
index 48a8e8b..0f8843a 100644
--- a/engines/bladerunner/script/ai/mccoy.cpp
+++ b/engines/bladerunner/script/ai/mccoy.cpp
@@ -750,7 +750,7 @@ bool AIScriptMcCoy::UpdateAnimation(int *animation, int *frame) {
case 44:
*animation = 30;
if (_animationFrame++ == 127) {
- Game_Flag_Set(325);
+ Game_Flag_Set(kFlagCT04BodyDumped);
}
if (_animationFrame >= Slice_Animation_Query_Number_Of_Frames(30)) {
*animation = 19;
@@ -807,7 +807,7 @@ bool AIScriptMcCoy::UpdateAnimation(int *animation, int *frame) {
} else if (_animationFrame == 4) {
Sound_Right_Footstep_Walk(kActorMcCoy);
}
- if (Game_Flag_Query(359)) {
+ if (Game_Flag_Query(kFlagHF05toHF07)) {
sub_4059D0(-0.2f);
}
break;
@@ -823,7 +823,7 @@ bool AIScriptMcCoy::UpdateAnimation(int *animation, int *frame) {
} else if (_animationFrame == 3) {
Sound_Right_Footstep_Walk(kActorMcCoy);
}
- if (Game_Flag_Query(358)) {
+ if (Game_Flag_Query(kFlagHF07toHF05)) {
sub_405940(0.5f);
}
break;
@@ -839,7 +839,7 @@ bool AIScriptMcCoy::UpdateAnimation(int *animation, int *frame) {
} else if (_animationFrame == 3) {
Sound_Right_Footstep_Walk(kActorMcCoy);
}
- if (Game_Flag_Query(359)) {
+ if (Game_Flag_Query(kFlagHF05toHF07)) {
sub_4059D0(-0.2f);
}
break;
@@ -855,7 +855,7 @@ bool AIScriptMcCoy::UpdateAnimation(int *animation, int *frame) {
} else if (_animationFrame == 4) {
Sound_Right_Footstep_Walk(kActorMcCoy);
}
- if (Game_Flag_Query(358)) {
+ if (Game_Flag_Query(kFlagHF07toHF05)) {
sub_405940(0.5f);
}
break;
diff --git a/engines/bladerunner/script/ai/moraji.cpp b/engines/bladerunner/script/ai/moraji.cpp
index 067b566..6e650e4 100644
--- a/engines/bladerunner/script/ai/moraji.cpp
+++ b/engines/bladerunner/script/ai/moraji.cpp
@@ -38,11 +38,11 @@ void AIScriptMoraji::Initialize() {
_var1 = 1;
_var2 = 0;
- Actor_Set_Goal_Number(kActorMoraji, 0);
+ Actor_Set_Goal_Number(kActorMoraji, kGoalMorajiDefault);
}
bool AIScriptMoraji::Update() {
- if ( Actor_Query_Goal_Number(kActorMoraji) == 0
+ if ( Actor_Query_Goal_Number(kActorMoraji) == kGoalMorajiDefault
&& Player_Query_Current_Scene() == kSceneDR05
&& !Game_Flag_Query(kFlagDR05BombActivated)
) {
@@ -52,21 +52,23 @@ bool AIScriptMoraji::Update() {
return true;
}
- if (Actor_Query_Goal_Number(kActorMoraji) == 19) {
+ if (Actor_Query_Goal_Number(kActorMoraji) == kGoalMorajiScream) {
Actor_Says(kActorMoraji, 80, 13);
_animationState = 9;
_animationFrame = -1;
- Actor_Set_Goal_Number(kActorMoraji, 18);
+ Actor_Set_Goal_Number(kActorMoraji, kGoalMorajiGetUp);
}
+
return false;
}
void AIScriptMoraji::TimerExpired(int timer) {
if (timer == 2) {
AI_Countdown_Timer_Reset(kActorMoraji, 2);
- if (Actor_Query_Goal_Number(kActorMoraji) != 20
- && Actor_Query_Goal_Number(kActorMoraji) != 21
- && Actor_Query_Goal_Number(kActorMoraji) != 99
+
+ if (Actor_Query_Goal_Number(kActorMoraji) != kGoalMorajiJump
+ && Actor_Query_Goal_Number(kActorMoraji) != kGoalMorajiLayDown
+ && Actor_Query_Goal_Number(kActorMoraji) != kGoalMorajiPerished
) {
Game_Flag_Set(kFlagDR05BombWillExplode);
}
@@ -77,7 +79,7 @@ void AIScriptMoraji::TimerExpired(int timer) {
}
void AIScriptMoraji::CompletedMovementTrack() {
- if (Actor_Query_Goal_Number(kActorMoraji) == 11) {
+ if (Actor_Query_Goal_Number(kActorMoraji) == kGoalMorajiRunOut) {
AI_Countdown_Timer_Reset(kActorMoraji, 2);
Game_Flag_Set(kFlagDR05BombWillExplode);
_animationState = 3;
@@ -117,17 +119,16 @@ void AIScriptMoraji::ShotAtAndMissed() {
bool AIScriptMoraji::ShotAtAndHit() {
if (Actor_Query_Goal_Number(kActorMoraji)) {
- if (Actor_Query_Goal_Number(kActorMoraji) == 21) {
- Game_Flag_Set(713);
- Actor_Set_Goal_Number(kActorMoraji, 22);
+ if (Actor_Query_Goal_Number(kActorMoraji) == kGoalMorajiLayDown) {
+ Game_Flag_Set(kFlagDR04McCoyShotMoraji);
+ Actor_Set_Goal_Number(kActorMoraji, kGoalMorajiDie);
Actor_Set_Goal_Number(kActorOfficerGrayford, 101);
-
return true;
} else {
return false;
}
} else {
- Actor_Set_Goal_Number(kActorMoraji, 5);
+ Actor_Set_Goal_Number(kActorMoraji, kGoalMorajiShot);
return true;
}
}
@@ -142,24 +143,27 @@ int AIScriptMoraji::GetFriendlinessModifierIfGetsClue(int otherActorId, int clue
bool AIScriptMoraji::GoalChanged(int currentGoalNumber, int newGoalNumber) {
switch (newGoalNumber) {
- case 0:
+ case kGoalMorajiDefault:
Actor_Put_In_Set(kActorMoraji, kSetDR05);
Actor_Set_At_XYZ(kActorMoraji, 50.0f, 0.30f, 35.0f, 414);
- Actor_Set_Targetable(kActorMoraji, 1);
+ Actor_Set_Targetable(kActorMoraji, true);
return false;
- case 5:
- Actor_Set_Targetable(kActorMoraji, 0);
+
+ case kGoalMorajiShot:
+ Actor_Set_Targetable(kActorMoraji, false);
Sound_Play(4, 100, 0, 0, 50);
_animationState = 10;
_animationFrame = 0;
- Actor_Retired_Here(kActorMoraji, 60, 16, 1, -1);
+ Actor_Retired_Here(kActorMoraji, 60, 16, true, -1);
return true;
- case 10:
- Actor_Set_Targetable(kActorMoraji, 0);
+
+ case kGoalMorajiFreed:
+ Actor_Set_Targetable(kActorMoraji, false);
_animationState = 8;
_animationFrame = 1;
return true;
- case 11:
+
+ case kGoalMorajiRunOut:
_animationState = 3;
_animationFrame = 0;
AI_Movement_Track_Flush(kActorMoraji);
@@ -169,43 +173,47 @@ bool AIScriptMoraji::GoalChanged(int currentGoalNumber, int newGoalNumber) {
AI_Movement_Track_Append_Run(kActorMoraji, 98, 0);
AI_Movement_Track_Repeat(kActorMoraji);
return true;
- case 20:
+
+ case kGoalMorajiJump:
_animationState = 11;
return true;
- case 21:
+
+ case kGoalMorajiLayDown:
Actor_Retired_Here(kActorMoraji, 60, 16, 0, -1);
- Actor_Set_Targetable(kActorMoraji, 1);
+ Actor_Set_Targetable(kActorMoraji, true);
return true;
- case 22:
+
+ case kGoalMorajiDie:
_animationFrame = -1;
_animationState = 13;
return true;
- case 23:
- Actor_Set_Targetable(kActorMoraji, 0);
+
+ case kGoalMorajiDead:
+ Actor_Set_Targetable(kActorMoraji, false);
_animationState = 14;
Actor_Retired_Here(kActorMoraji, 60, 16, 1, -1);
return true;
break;
- case 30:
+
+ case kGoalMorajiChooseFate:
if (Player_Query_Current_Scene() == kSceneDR05) {
- Game_Flag_Set(kFlagDR05BombExplosionView);
+ Game_Flag_Set(kFlagDR05ViewExplosion);
Set_Enter(kSetDR01_DR02_DR04, kSceneDR04);
} else {
if (Actor_Query_In_Set(kActorMoraji, kSetDR05)) {
- Actor_Set_Goal_Number(kActorMoraji, 99);
+ Actor_Set_Goal_Number(kActorMoraji, kGoalMorajiPerished);
} else {
- Actor_Set_Goal_Number(kActorMoraji, 20);
+ Actor_Set_Goal_Number(kActorMoraji, kGoalMorajiJump);
}
- Game_Flag_Set(kFlagMorajiExploded);
+ Game_Flag_Set(kFlagDR05JustExploded);
}
return true;
- case 99:
+
+ case kGoalMorajiPerished:
AI_Movement_Track_Flush(kActorMoraji);
AI_Movement_Track_Append(kActorMoraji, 41, 0);
AI_Movement_Track_Repeat(kActorMoraji);
return true;
- default:
- break;
}
return false;
@@ -219,7 +227,7 @@ bool AIScriptMoraji::UpdateAnimation(int *animation, int *frame) {
_var2--;
} else {
_animationFrame += _var1;
- if (!Random_Query(0, 10)) {
+ if (Random_Query(0, 10) == 0) {
_var1 = -_var1;
}
if (_animationFrame >= Slice_Animation_Query_Number_Of_Frames(*animation)) {
@@ -291,7 +299,7 @@ bool AIScriptMoraji::UpdateAnimation(int *animation, int *frame) {
_animationFrame = 0;
_animationState = 0;
*animation = 733;
- Actor_Set_Goal_Number(kActorMoraji, 19);
+ Actor_Set_Goal_Number(kActorMoraji, kGoalMorajiScream);
}
if (_animationFrame == 6) {
Ambient_Sounds_Play_Sound(488, 69, 0, 0, 20);
@@ -305,7 +313,7 @@ bool AIScriptMoraji::UpdateAnimation(int *animation, int *frame) {
_animationFrame = 0;
_animationState = 3;
*animation = 732;
- Actor_Set_Goal_Number(kActorMoraji, 11);
+ Actor_Set_Goal_Number(kActorMoraji, kGoalMorajiRunOut);
}
break;
@@ -320,7 +328,7 @@ bool AIScriptMoraji::UpdateAnimation(int *animation, int *frame) {
*animation = 739;
_animationFrame++;
if (_animationFrame >= Slice_Animation_Query_Number_Of_Frames(739)) {
- Actor_Set_Goal_Number(kActorMoraji, 21);
+ Actor_Set_Goal_Number(kActorMoraji, kGoalMorajiLayDown);
_animationFrame = 0;
_animationState = 12;
*animation = 740;
@@ -351,7 +359,7 @@ bool AIScriptMoraji::UpdateAnimation(int *animation, int *frame) {
_animationFrame++;
if (_animationFrame >= Slice_Animation_Query_Number_Of_Frames(741) - 1) {
_animationFrame = Slice_Animation_Query_Number_Of_Frames(*animation) - 1;
- Actor_Set_Goal_Number(kActorMoraji, 23);
+ Actor_Set_Goal_Number(kActorMoraji, kGoalMorajiDead);
}
break;
@@ -370,67 +378,67 @@ bool AIScriptMoraji::UpdateAnimation(int *animation, int *frame) {
bool AIScriptMoraji::ChangeAnimationMode(int mode) {
switch (mode) {
- case 0:
- if (_animationState != 12 && Actor_Query_Goal_Number(kActorMoraji) != 11) {
+ case kAnimationModeIdle:
+ if (_animationState != 12
+ && Actor_Query_Goal_Number(kActorMoraji) != 11
+ ) {
_animationState = 0;
_animationFrame = 0;
}
- return 1;
+ break;
- case 1:
+ case kAnimationModeWalk:
_animationState = 2;
_animationFrame = 0;
- return 1;
+ break;
- case 2:
- if (_animationState) {
- if (_animationState != 3 || _animationState > 3) {
- _animationState = 3;
- _animationFrame = 0;
- }
- } else {
+ case kAnimationModeRun:
+ if (_animationState == 0) {
_animationState = 1;
_animationStateNext = 3;
_animationNext = 732;
+ } else if (_animationState != 3) {
+ _animationState = 3;
+ _animationFrame = 0;
}
break;
case 3:
if (_animationState != 12) {
- if (_animationState) {
- _animationState = 5;
- _animationFrame = 0;
- } else {
+ if (_animationState == 0) {
_animationState = 1;
_animationStateNext = 5;
_animationNext = 734;
+ } else {
+ _animationState = 5;
+ _animationFrame = 0;
}
}
break;
case 12:
- if (_animationState) {
- _animationState = 6;
- _animationFrame = 0;
- } else {
+ if (_animationState == 0) {
_animationState = 1;
_animationStateNext = 6;
_animationNext = 735;
+ } else {
+ _animationState = 6;
+ _animationFrame = 0;
}
break;
case 13:
- if (_animationState) {
- _animationState = 7;
- _animationFrame = 0;
- } else {
+ if (_animationState == 0) {
_animationState = 1;
_animationStateNext = 7;
_animationNext = 736;
+ } else {
+ _animationState = 7;
+ _animationFrame = 0;
}
break;
- case 48:
+ case kAnimationModeDie:
_animationState = 13;
_animationFrame = -1;
break;
diff --git a/engines/bladerunner/script/ai/mutant1.cpp b/engines/bladerunner/script/ai/mutant1.cpp
index 8a531ed..fa9b736 100644
--- a/engines/bladerunner/script/ai/mutant1.cpp
+++ b/engines/bladerunner/script/ai/mutant1.cpp
@@ -178,7 +178,7 @@ bool AIScriptMutant1::GoalChanged(int currentGoalNumber, int newGoalNumber) {
AI_Movement_Track_Append(kActorMutant1, 39, 0);
AI_Movement_Track_Repeat(kActorMutant1);
- if (Game_Flag_Query(kFlagMcCoyKilledHomeless)) {
+ if (Game_Flag_Query(kFlagCT04HomelessKilledByMcCoy)) {
Actor_Set_Combat_Aggressiveness(kActorMutant1, 70);
Actor_Set_Friendliness_To_Other(kActorMutant1, kActorMcCoy, 20);
}
@@ -352,7 +352,7 @@ bool AIScriptMutant1::GoalChanged(int currentGoalNumber, int newGoalNumber) {
Actor_Set_Intelligence(kActorMutant1, 40);
Actor_Set_Health(kActorMutant1, 10 * Query_Difficulty_Level() + 30, 10 * Query_Difficulty_Level() + 30);
- if (Game_Flag_Query(kFlagMcCoyKilledHomeless)) {
+ if (Game_Flag_Query(kFlagCT04HomelessKilledByMcCoy)) {
Actor_Set_Combat_Aggressiveness(kActorMutant1, 70);
Actor_Set_Friendliness_To_Other(kActorMutant1, kActorMcCoy, 20);
} else {
diff --git a/engines/bladerunner/script/ai/mutant2.cpp b/engines/bladerunner/script/ai/mutant2.cpp
index 16b2ca8..3e837b6 100644
--- a/engines/bladerunner/script/ai/mutant2.cpp
+++ b/engines/bladerunner/script/ai/mutant2.cpp
@@ -162,7 +162,7 @@ bool AIScriptMutant2::GoalChanged(int currentGoalNumber, int newGoalNumber) {
AI_Movement_Track_Append(kActorMutant2, 39, 0);
AI_Movement_Track_Repeat(kActorMutant2);
- if (Game_Flag_Query(kFlagMcCoyKilledHomeless)) {
+ if (Game_Flag_Query(kFlagCT04HomelessKilledByMcCoy)) {
Actor_Set_Combat_Aggressiveness(kActorMutant2, 60);
Actor_Set_Friendliness_To_Other(kActorMutant2, kActorMcCoy, 30);
}
@@ -334,7 +334,7 @@ bool AIScriptMutant2::GoalChanged(int currentGoalNumber, int newGoalNumber) {
Actor_Set_Intelligence(kActorMutant2, 20);
Actor_Set_Health(71, 10 * Query_Difficulty_Level() + 50, 10 * Query_Difficulty_Level() + 50);
- if (Game_Flag_Query(kFlagMcCoyKilledHomeless)) {
+ if (Game_Flag_Query(kFlagCT04HomelessKilledByMcCoy)) {
Actor_Set_Combat_Aggressiveness(kActorMutant2, 60);
Actor_Set_Friendliness_To_Other(kActorMutant2, kActorMcCoy, 30);
} else {
diff --git a/engines/bladerunner/script/ai/mutant3.cpp b/engines/bladerunner/script/ai/mutant3.cpp
index 0a6875e..848dd6c 100644
--- a/engines/bladerunner/script/ai/mutant3.cpp
+++ b/engines/bladerunner/script/ai/mutant3.cpp
@@ -175,7 +175,7 @@ bool AIScriptMutant3::GoalChanged(int currentGoalNumber, int newGoalNumber) {
AI_Movement_Track_Append(kActorMutant3, 39, 0);
AI_Movement_Track_Repeat(kActorMutant3);
- if (Game_Flag_Query(kFlagMcCoyKilledHomeless)) {
+ if (Game_Flag_Query(kFlagCT04HomelessKilledByMcCoy)) {
Actor_Set_Combat_Aggressiveness(kActorMutant3, 80);
Actor_Set_Friendliness_To_Other(kActorMutant3, kActorMcCoy, 20);
}
@@ -345,7 +345,7 @@ bool AIScriptMutant3::GoalChanged(int currentGoalNumber, int newGoalNumber) {
Actor_Set_Intelligence(kActorMutant3, 40);
Actor_Set_Health(kActorMutant3, 10 * Query_Difficulty_Level() + 50, 10 * Query_Difficulty_Level() + 50);
- if (Game_Flag_Query(kFlagMcCoyKilledHomeless)) {
+ if (Game_Flag_Query(kFlagCT04HomelessKilledByMcCoy)) {
Actor_Set_Combat_Aggressiveness(kActorMutant3, 80);
Actor_Set_Friendliness_To_Other(kActorMutant3, kActorMcCoy, 20);
} else {
diff --git a/engines/bladerunner/script/ai/officer_grayford.cpp b/engines/bladerunner/script/ai/officer_grayford.cpp
index 2ed286e..d55b611 100644
--- a/engines/bladerunner/script/ai/officer_grayford.cpp
+++ b/engines/bladerunner/script/ai/officer_grayford.cpp
@@ -52,7 +52,7 @@ bool AIScriptOfficerGrayford::Update() {
} else if (Global_Variable_Query(kVariableChapter) == 5 && Actor_Query_Goal_Number(kActorOfficerGrayford) < 400) {
AI_Movement_Track_Flush(kActorOfficerGrayford);
Actor_Set_Goal_Number(kActorOfficerGrayford, 400);
- } else if (!Game_Flag_Query(kFlagMcCoyAtDRxx)
+ } else if (!Game_Flag_Query(kFlagMcCoyInDNARow)
&& Actor_Query_Goal_Number(kActorOfficerGrayford) > 102
&& Actor_Query_Goal_Number(kActorOfficerGrayford) < 110) {
Actor_Set_Goal_Number(kActorOfficerGrayford, 110);
@@ -471,7 +471,7 @@ bool AIScriptOfficerGrayford::GoalChanged(int currentGoalNumber, int newGoalNumb
Actor_Face_Actor(kActorOfficerGrayford, kActorMcCoy, true);
Actor_Face_Actor(kActorMcCoy, kActorOfficerGrayford, true);
- if (Game_Flag_Query(713)) {
+ if (Game_Flag_Query(kFlagDR04McCoyShotMoraji)) {
Actor_Set_Goal_Number(kActorMcCoy, 500);
} else {
Actor_Says(kActorMcCoy, 960, 15);
diff --git a/engines/bladerunner/script/ai/officer_leary.cpp b/engines/bladerunner/script/ai/officer_leary.cpp
index 19aa6b5..0348806 100644
--- a/engines/bladerunner/script/ai/officer_leary.cpp
+++ b/engines/bladerunner/script/ai/officer_leary.cpp
@@ -60,9 +60,9 @@ bool AIScriptOfficerLeary::Update() {
return false;
}
- if (!Game_Flag_Query(kFlagMcCoyAtRCxx)
- && Game_Flag_Query(kFlagChopstickWrapperTaken)
- && Game_Flag_Query(kFlagChromeDebrisTaken)
+ if (!Game_Flag_Query(kFlagMcCoyInRunciters)
+ && Game_Flag_Query(kFlagRC51ChopstickWrapperTaken)
+ && Game_Flag_Query(kFlagRC01ChromeDebrisTaken)
&& Player_Query_Current_Scene() != kSceneRC01
&& Global_Variable_Query(kVariableChapter) < 3
) {
@@ -321,7 +321,7 @@ bool AIScriptOfficerLeary::GoalChanged(int currentGoalNumber, int newGoalNumber)
Actor_Clue_Acquire(kActorOfficerLeary, kClueCrowdInterviewB, false, -1);
}
}
- if (Game_Flag_Query(kFlagMcCoyAtRCxx)) {
+ if (Game_Flag_Query(kFlagMcCoyInRunciters)) {
if (Actor_Clue_Query(kActorOfficerLeary, kClueCrowdInterviewA)
&& Actor_Clue_Query(kActorOfficerLeary, kClueCrowdInterviewB)
) {
@@ -906,7 +906,7 @@ bool AIScriptOfficerLeary::UpdateAnimation(int *animation, int *frame) {
return true;
case 0:
if ( Game_Flag_Query(kFlagOfficerLearyTakingNotes)
- && !Game_Flag_Query(KFlagMcCoyAndOfficerLearyTalking)) {
+ && !Game_Flag_Query(kFlagRC01McCoyAndOfficerLearyTalking)) {
_animationState = 31;
_animationFrame = 0;
*animation = 604;
diff --git a/engines/bladerunner/script/ai/photographer.cpp b/engines/bladerunner/script/ai/photographer.cpp
index 2b082e8..6546003 100644
--- a/engines/bladerunner/script/ai/photographer.cpp
+++ b/engines/bladerunner/script/ai/photographer.cpp
@@ -43,11 +43,11 @@ void AIScriptPhotographer::Initialize() {
bool AIScriptPhotographer::Update() {
if ( Game_Flag_Query(kFlagTB02ElevatorToTB05)
- && !Game_Flag_Query(kFlagPhotographerToTB06)
+ && !Game_Flag_Query(kFlagTB06Photographer)
) {
Actor_Put_In_Set(kActorPhotographer, kSetFreeSlotC);
Actor_Set_At_Waypoint(kActorPhotographer, 35, 0);
- Game_Flag_Set(kFlagPhotographerToTB06);
+ Game_Flag_Set(kFlagTB06Photographer);
Actor_Set_Goal_Number(kActorPhotographer, 100);
return true;
diff --git a/engines/bladerunner/script/ai/runciter.cpp b/engines/bladerunner/script/ai/runciter.cpp
index e4625f1..8087489 100644
--- a/engines/bladerunner/script/ai/runciter.cpp
+++ b/engines/bladerunner/script/ai/runciter.cpp
@@ -55,7 +55,7 @@ bool AIScriptRunciter::Update() {
if (Actor_Query_Goal_Number(kActorRunciter) == kGoalRunciterDefault
&& Game_Flag_Query(kFlagRC01PoliceDone)
) {
- Actor_Set_Goal_Number(kActorRunciter, kGoalRunciterHide);
+ Actor_Set_Goal_Number(kActorRunciter, kGoalRunciterGoToFreeSlotGH);
}
if (Global_Variable_Query(kVariableChapter) == 4
&& Actor_Query_Goal_Number(kActorRunciter) < 300
@@ -180,7 +180,7 @@ bool AIScriptRunciter::GoalChanged(int currentGoalNumber, int newGoalNumber) {
Actor_Set_At_Waypoint(kActorRunciter, 92, 567);
return false;
}
- if (newGoalNumber == kGoalRunciterWalkAround) {
+ if (newGoalNumber == kGoalRunciterWalkAroundRC02) {
AI_Movement_Track_Flush(kActorRunciter);
if (Random_Query(0, 1) == 1) {
if (Random_Query(0, 1) == 0) {
@@ -198,7 +198,7 @@ bool AIScriptRunciter::GoalChanged(int currentGoalNumber, int newGoalNumber) {
AI_Movement_Track_Repeat(kActorRunciter);
return true;
}
- if (newGoalNumber == kGoalRunciterHide) {
+ if (newGoalNumber == kGoalRunciterGoToFreeSlotGH) {
AI_Movement_Track_Flush(kActorRunciter);
AI_Movement_Track_Append(kActorRunciter, 39, 120);
AI_Movement_Track_Append(kActorRunciter, 40, 0);
diff --git a/engines/bladerunner/script/ai/sadik.cpp b/engines/bladerunner/script/ai/sadik.cpp
index 0684de9..353a926 100644
--- a/engines/bladerunner/script/ai/sadik.cpp
+++ b/engines/bladerunner/script/ai/sadik.cpp
@@ -57,7 +57,7 @@ bool AIScriptSadik::Update() {
Actor_Set_Goal_Number(kActorSadik, 101);
Actor_Set_Targetable(kActorSadik, true);
Game_Flag_Set(391);
- Game_Flag_Set(406);
+ Game_Flag_Set(kFlagUnused406);
return true;
}
diff --git a/engines/bladerunner/script/ai/steele.cpp b/engines/bladerunner/script/ai/steele.cpp
index c5c5b0c..637d3b0 100644
--- a/engines/bladerunner/script/ai/steele.cpp
+++ b/engines/bladerunner/script/ai/steele.cpp
@@ -56,21 +56,21 @@ bool AIScriptSteele::Update() {
switch (Global_Variable_Query(kVariableChapter)) {
case 1:
- if (Game_Flag_Query(kFlagMcCoyAtRCxx)
+ if (Game_Flag_Query(kFlagMcCoyInRunciters)
&& Game_Flag_Query(183)
) {
Actor_Set_Goal_Number(kActorSteele, 3);
return true;
}
- if (Game_Flag_Query(kFlagMcCoyAtCTxx)
+ if (Game_Flag_Query(kFlagMcCoyInChinaTown)
&& Game_Flag_Query(184)
) {
Actor_Set_Goal_Number(kActorSteele, 6);
return true;
}
- if (Game_Flag_Query(kFlagMcCoyAtPSxx)
+ if (Game_Flag_Query(kFlagMcCoyInPoliceStation)
&& Game_Flag_Query(185)
) {
Actor_Set_Goal_Number(kActorSteele, 10);
@@ -78,7 +78,7 @@ bool AIScriptSteele::Update() {
}
if ( Actor_Query_Goal_Number(kActorSteele) == 0
- && !Game_Flag_Query(kFlagMcCoyAtRCxx)
+ && !Game_Flag_Query(kFlagMcCoyInRunciters)
&& Player_Query_Current_Scene() != kSceneRC01
) {
Actor_Set_Goal_Number(kActorSteele, 1);
@@ -399,11 +399,11 @@ void AIScriptSteele::ClickedByPlayer() {
void AIScriptSteele::EnteredScene(int sceneId) {
if (Actor_Query_Goal_Number(kActorSteele) == 2) {
- if (!Game_Flag_Query(kFlagChopstickWrapperTaken)
+ if (!Game_Flag_Query(kFlagRC51ChopstickWrapperTaken)
&& Random_Query(1, 3) == 1
) {
Actor_Clue_Acquire(kActorSteele, kClueChopstickWrapper, true, -1);
- Game_Flag_Set(kFlagChopstickWrapperTaken);
+ Game_Flag_Set(kFlagRC51ChopstickWrapperTaken);
if (Game_Flag_Query(kFlagRC51Discovered)) {
Item_Remove_From_World(kItemChopstickWrapper);
@@ -413,11 +413,11 @@ void AIScriptSteele::EnteredScene(int sceneId) {
return; //true;
}
- if (!Game_Flag_Query(kFlagCandyTaken)
+ if (!Game_Flag_Query(kFlagRC51CandyTaken)
&& Random_Query(1, 3) == 1
) {
Actor_Clue_Acquire(kActorSteele, kClueCandy, true, -1);
- Game_Flag_Set(kFlagCandyTaken);
+ Game_Flag_Set(kFlagRC51CandyTaken);
if (Game_Flag_Query(kFlagRC51Discovered)) {
Item_Remove_From_World(kItemCandy);
@@ -425,11 +425,11 @@ void AIScriptSteele::EnteredScene(int sceneId) {
return; //true;
}
- if (!Game_Flag_Query(kFlagToyDogTaken)
+ if (!Game_Flag_Query(kFlagRC51ToyDogTaken)
&& Random_Query(1, 20) == 1
) {
Actor_Clue_Acquire(kActorSteele, kClueToyDog, true, -1);
- Game_Flag_Set(kFlagToyDogTaken);
+ Game_Flag_Set(kFlagRC51ToyDogTaken);
if (Game_Flag_Query(kFlagRC51Discovered)) {
Item_Remove_From_World(kItemToyDog);
@@ -440,11 +440,11 @@ void AIScriptSteele::EnteredScene(int sceneId) {
if ( Actor_Query_Goal_Number(kActorSteele) == 5
&& Actor_Query_In_Set(kActorSteele, kSetCT03_CT04)
- && Game_Flag_Query(kFlagMcCoyKilledHomeless)
- && !Game_Flag_Query(kFlagHomelessBodyInDumpster)
- && !Game_Flag_Query(kFlagHomelessBodyFound)
+ && Game_Flag_Query(kFlagCT04HomelessKilledByMcCoy)
+ && !Game_Flag_Query(kFlagCT04HomelessBodyInDumpster)
+ && !Game_Flag_Query(kFlagCT04HomelessBodyFound)
) {
- Game_Flag_Set(kFlagHomelessBodyFound);
+ Game_Flag_Set(kFlagCT04HomelessBodyFound);
return; //true;
}
@@ -931,8 +931,8 @@ bool AIScriptSteele::GoalChanged(int currentGoalNumber, int newGoalNumber) {
case 233:
Game_Flag_Set(kFlagHF01toHF03);
- Game_Flag_Reset(kFlagMcCoyAtNRxx);
- Game_Flag_Set(kFlagMcCoyAtHFxx);
+ Game_Flag_Reset(kFlagMcCoyInNightclubRow);
+ Game_Flag_Set(kFlagMcCoyInHysteriaHall);
Actor_Put_In_Set(kActorSteele, kSetHF03);
Actor_Set_At_XYZ(kActorSteele, 291.0f, 47.76f, -892.0f, 453);
Set_Enter(kSetHF03, kSceneHF03);
@@ -1265,25 +1265,25 @@ bool AIScriptSteele::GoalChanged(int currentGoalNumber, int newGoalNumber) {
return true;
case 290:
- Loop_Actor_Walk_To_XYZ(kActorMcCoy, -281.0f, 31.93f, -1061.0f, 0, 0, 1, 0);
- Actor_Face_Heading(kActorMcCoy, 45, 0);
- Loop_Actor_Travel_Stairs(kActorMcCoy, 3, 0, kAnimationModeIdle);
+ Loop_Actor_Walk_To_XYZ(kActorMcCoy, -281.0f, 31.93f, -1061.0f, 0, false, true, 0);
+ Actor_Face_Heading(kActorMcCoy, 45, false);
+ Loop_Actor_Travel_Stairs(kActorMcCoy, 3, false, kAnimationModeIdle);
Global_Variable_Set(1, 4);
Scene_Exits_Enable();
Actor_Set_Health(kActorMcCoy, 50, 50);
Game_Flag_Set(523);
- Game_Flag_Set(343);
+ Game_Flag_Set(kFlagNR01toUG06);
Game_Flag_Set(680);
- Chapter_Enter(4, 79, 91);
+ Chapter_Enter(4, kSetUG06, kSceneUG06);
return true;
case 291:
Game_Flag_Set(722);
- Global_Variable_Set(1, 4);
+ Global_Variable_Set(kVariableChapter, 4);
Scene_Exits_Enable();
Game_Flag_Set(523);
Game_Flag_Set(680);
- Chapter_Enter(4, 79, 91);
+ Chapter_Enter(4, kSetUG06, kSceneUG06);
return true;
case 300:
diff --git a/engines/bladerunner/script/ai/transient.cpp b/engines/bladerunner/script/ai/transient.cpp
index b5f42bd..62d3c02 100644
--- a/engines/bladerunner/script/ai/transient.cpp
+++ b/engines/bladerunner/script/ai/transient.cpp
@@ -56,16 +56,16 @@ bool AIScriptTransient::Update() {
}
if ( Global_Variable_Query(kVariableChapter) == 3
- && Game_Flag_Query(kFlagMcCoyKilledHomeless)
- && Game_Flag_Query(kFlagHomelessBodyInDumpster)
- && !Game_Flag_Query(kFlagHomelessBodyFound)
- && !Game_Flag_Query(kFlagDumpsterEmptied)
+ && Game_Flag_Query(kFlagCT04HomelessKilledByMcCoy)
+ && Game_Flag_Query(kFlagCT04HomelessBodyInDumpster)
+ && !Game_Flag_Query(kFlagCT04HomelessBodyFound)
+ && !Game_Flag_Query(kFlagCT04HomelessBodyThrownAway)
) {
- Game_Flag_Set(kFlagDumpsterEmptied);
+ Game_Flag_Set(kFlagCT04HomelessBodyThrownAway);
}
if (Global_Variable_Query(kVariableChapter) < 4
- && Game_Flag_Query(kFlagHomelessBodyFound)
+ && Game_Flag_Query(kFlagCT04HomelessBodyFound)
&& Actor_Query_Goal_Number(kActorTransient) != 6
&& Actor_Query_Goal_Number(kActorTransient) != 599
) {
@@ -163,7 +163,7 @@ bool AIScriptTransient::ShotAtAndHit() {
Actor_Set_Goal_Number(kActorTransient, 599);
}
- Game_Flag_Set(kFlagMcCoyKilledHomeless);
+ Game_Flag_Set(kFlagCT04HomelessKilledByMcCoy);
return false;
}
diff --git a/engines/bladerunner/script/ai/zuben.cpp b/engines/bladerunner/script/ai/zuben.cpp
index 47e74f7..af1d64c 100644
--- a/engines/bladerunner/script/ai/zuben.cpp
+++ b/engines/bladerunner/script/ai/zuben.cpp
@@ -53,15 +53,17 @@ bool AIScriptZuben::Update() {
Actor_Put_In_Set(kActorZuben, kSetFreeSlotI);
Actor_Set_At_Waypoint(kActorZuben, 41, 0);
}
+
if ( Actor_Query_Goal_Number(kActorZuben) == kGoalZubenDefault
&& Player_Query_Current_Scene() == kSceneCT01
- && !Game_Flag_Query(kFlagZubenCheckOnMcCoy)
+ && !Game_Flag_Query(kFlagCT01ZubenMcCoyCheck)
) {
AI_Countdown_Timer_Reset(kActorZuben, 2);
AI_Countdown_Timer_Start(kActorZuben, 2, 30);
- Game_Flag_Set(kFlagZubenCheckOnMcCoy);
+ Game_Flag_Set(kFlagCT01ZubenMcCoyCheck);
return true;
}
+
if (Actor_Query_Goal_Number(kActorZuben) == kGoalZubenDefault
&& Actor_Query_Friendliness_To_Other(kActorZuben, kActorMcCoy) < 48
&& Actor_Query_Is_In_Current_Set(kActorZuben)
@@ -72,9 +74,10 @@ bool AIScriptZuben::Update() {
Actor_Clue_Acquire(kActorZuben, kClueMcCoysDescription, true, -1);
}
Game_Flag_Set(kFlagCT01ZubenLeft);
- Actor_Set_Goal_Number(kActorZuben, kGoalZubenCT01Leave);
+ Actor_Set_Goal_Number(kActorZuben, kGoalZubenCT01WalkToCT02);
return true;
}
+
if ( Global_Variable_Query(kVariableChapter) >= 4
&& !Game_Flag_Query(kFlagZubenRetired)
&& Actor_Query_Goal_Number(kActorZuben) < 200
@@ -83,6 +86,7 @@ bool AIScriptZuben::Update() {
Actor_Set_Goal_Number(kActorZuben, 200);
return true;
}
+
if ( Global_Variable_Query(kVariableChapter) == 5
&& !Game_Flag_Query(kFlagZubenRetired)
&& Actor_Query_Goal_Number(kActorZuben) < 400
@@ -91,17 +95,19 @@ bool AIScriptZuben::Update() {
Actor_Set_Goal_Number(kActorZuben, 400);
return true;
}
+
if (Actor_Query_Goal_Number(kActorZuben) == kGoalZubenCT06AttackMcCoy
&& Player_Query_Current_Scene() == kSceneCT07
) {
AI_Countdown_Timer_Reset(kActorZuben, 0);
- Game_Flag_Set(kFlagWarehouseOpen);
+ Game_Flag_Set(kFlagCT05WarehouseOpen);
Actor_Set_Targetable(kActorZuben, true);
- if (Actor_Query_Goal_Number(kActorGordo) == 0) {
- Actor_Set_Goal_Number(kActorGordo, 1);
+ if (Actor_Query_Goal_Number(kActorGordo) == kGoalGordoDefault) {
+ Actor_Set_Goal_Number(kActorGordo, kGoalGordoLeaveCT01);
}
return true;
}
+
if ( Actor_Query_Goal_Number(kActorZuben) == kGoalZubenCT02PotDodgeCheck
&& !Game_Flag_Query(kFlagCT02ZubenFled)
) {
@@ -119,12 +125,12 @@ void AIScriptZuben::TimerExpired(int timer) {
) {
Actor_Modify_Friendliness_To_Other(kActorZuben, kActorMcCoy, -1);
}
- Game_Flag_Reset(kFlagZubenCheckOnMcCoy);
+ Game_Flag_Reset(kFlagCT01ZubenMcCoyCheck);
// return true;
} else if (timer == 1) {
- if (Actor_Query_Goal_Number(kActorZuben) == kGoalZubenCT02Flee) { // Zuben fleeing, after 10s
+ if (Actor_Query_Goal_Number(kActorZuben) == kGoalZubenCT02RunToFreeSlotG) { // Zuben fleeing, after 10s
Music_Stop(10);
- Actor_Set_Goal_Number(kActorZuben, kGoalZubenCT06Hide);
+ Actor_Set_Goal_Number(kActorZuben, kGoalZubenCT06HideAtFreeSlotA);
AI_Countdown_Timer_Reset(kActorZuben, 1);
// return true;
}
@@ -140,16 +146,16 @@ void AIScriptZuben::TimerExpired(int timer) {
}
void AIScriptZuben::CompletedMovementTrack() {
- if (Actor_Query_Goal_Number(kActorZuben) == kGoalZubenCT02Flee
+ if (Actor_Query_Goal_Number(kActorZuben) == kGoalZubenCT02RunToFreeSlotG
&& Game_Flag_Query(kFlagCT02McCoyFell)
) {
Set_Enter(kSetCT03_CT04, kSceneCT03);
}
if (Actor_Query_Goal_Number(kActorZuben) == 3) { // not set anywhere
- Actor_Set_Goal_Number(kActorZuben, kGoalZubenCT07Leave);
+ Actor_Set_Goal_Number(kActorZuben, kGoalZubenCT07RunToFreeSlotA);
//return true;
- } else if (Actor_Query_Goal_Number(kActorZuben) == kGoalZubenCT06Hide
+ } else if (Actor_Query_Goal_Number(kActorZuben) == kGoalZubenCT06HideAtFreeSlotA
&& Game_Flag_Query(kFlagCT02McCoyFell)
) {
AI_Countdown_Timer_Reset(kActorZuben, 0);
@@ -164,7 +170,7 @@ void AIScriptZuben::CompletedMovementTrack() {
Actor_Set_Goal_Number(kActorZuben, kGoalZubenCT02OpenDoor);
//return true;
} else {
- if (Actor_Query_Goal_Number(kActorZuben) == kGoalZubenCT07Leave) {
+ if (Actor_Query_Goal_Number(kActorZuben) == kGoalZubenCT07RunToFreeSlotA) {
Music_Stop(2);
Sound_Play(574, 40, 100, 100, 50);
Delay(2000);
@@ -264,7 +270,7 @@ void AIScriptZuben::ShotAtAndMissed() {
bool AIScriptZuben::ShotAtAndHit() {
Game_Flag_Set(kFlagMcCoyShotAtZuben);
- if ( Actor_Query_Goal_Number(kActorZuben) == kGoalZubenCT07Leave
+ if ( Actor_Query_Goal_Number(kActorZuben) == kGoalZubenCT07RunToFreeSlotA
&& !Actor_Clue_Query(kActorZuben, kClueMcCoyShotZubenInTheBack)
) {
Actor_Clue_Acquire(kActorZuben, kClueMcCoyShotZubenInTheBack, true, -1);
@@ -306,14 +312,15 @@ int AIScriptZuben::GetFriendlinessModifierIfGetsClue(int otherActorId, int clueI
bool AIScriptZuben::GoalChanged(int currentGoalNumber, int newGoalNumber) {
switch (newGoalNumber) {
- case kGoalZubenCT01Leave:
+ case kGoalZubenCT01WalkToCT02:
AI_Movement_Track_Flush(kActorZuben);
AI_Movement_Track_Append(kActorZuben, 86, 0);
AI_Movement_Track_Append(kActorZuben, 106, 0);
AI_Movement_Track_Append_With_Facing(kActorZuben, 45, 0, 481);
AI_Movement_Track_Repeat(kActorZuben);
return false;
- case kGoalZubenCT02Flee:
+
+ case kGoalZubenCT02RunToFreeSlotG:
AI_Movement_Track_Flush(kActorZuben);
AI_Movement_Track_Append_Run(kActorZuben, 84, 0);
AI_Movement_Track_Append_Run(kActorZuben, 85, 0);
@@ -324,6 +331,7 @@ bool AIScriptZuben::GoalChanged(int currentGoalNumber, int newGoalNumber) {
AI_Countdown_Timer_Start(kActorZuben, 0, 70);
AI_Movement_Track_Repeat(kActorZuben);
return false;
+
case kGoalZubenCT07Spared:
AI_Movement_Track_Flush(kActorZuben);
Actor_Face_Actor(kActorZuben, kActorMcCoy, true);
@@ -343,14 +351,16 @@ bool AIScriptZuben::GoalChanged(int currentGoalNumber, int newGoalNumber) {
Actor_Clue_Acquire(kActorZuben, kClueMcCoyIsABladeRunner, true, -1);
}
Actor_Clue_Acquire(kActorZuben, kClueMcCoyLetZubenEscape, true, -1);
- Actor_Set_Goal_Number(kActorZuben, kGoalZubenCT07Leave);
+ Actor_Set_Goal_Number(kActorZuben, kGoalZubenCT07RunToFreeSlotA);
return false;
- case kGoalZubenCT07Leave:
+
+ case kGoalZubenCT07RunToFreeSlotA:
AI_Movement_Track_Flush(kActorZuben);
AI_Movement_Track_Append_Run(kActorZuben, 94, 0);
AI_Movement_Track_Append_Run(kActorZuben, 33, 0);
AI_Movement_Track_Repeat(kActorZuben);
return false;
+
case kGoalZubenDie:
Game_Flag_Set(kFlagZubenRetired);
Game_Flag_Set(kFlagCT01ZubenGone);
@@ -364,20 +374,24 @@ bool AIScriptZuben::GoalChanged(int currentGoalNumber, int newGoalNumber) {
}
Actor_Set_Goal_Number(kActorZuben, kGoalZubenDead);
return false;
+
case kGoalZubenCT02PushPot:
_animationFrame = 0;
_animationState = 26;
return false;
+
case kGoalZubenCT02RunToDoor:
AI_Movement_Track_Flush(kActorZuben);
AI_Movement_Track_Append_Run(kActorZuben, 46, 0);
AI_Movement_Track_Repeat(kActorZuben);
return false;
+
case kGoalZubenCT02OpenDoor:
Actor_Face_Heading(kActorZuben, kActorMcCoy, false);
_animationFrame = 0;
_animationState = 27;
return false;
+
case kGoalZubenCT06JumpDown:
AI_Countdown_Timer_Reset(kActorZuben, 0);
Actor_Put_In_Set(kActorZuben, kSetCT06);
@@ -385,6 +399,7 @@ bool AIScriptZuben::GoalChanged(int currentGoalNumber, int newGoalNumber) {
_animationFrame = 0;
_animationState = 28;
return false;
+
case kGoalZubenCT06AttackMcCoy:
Player_Loses_Control();
if (!Player_Query_Combat_Mode()) {
@@ -394,7 +409,8 @@ bool AIScriptZuben::GoalChanged(int currentGoalNumber, int newGoalNumber) {
Game_Flag_Set(kFlagNotUsed142);
Set_Enter(kSetCT07, kSceneCT07);
return false;
- case kGoalZubenCT06Hide:
+
+ case kGoalZubenCT06HideAtFreeSlotA:
Actor_Set_Targetable(kActorZuben, true);
AI_Movement_Track_Flush(kActorZuben);
AI_Movement_Track_Append_Run(kActorZuben, 51, 0);
@@ -402,6 +418,7 @@ bool AIScriptZuben::GoalChanged(int currentGoalNumber, int newGoalNumber) {
AI_Movement_Track_Append(kActorZuben, 33, 1); // Hide Zuben
AI_Movement_Track_Repeat(kActorZuben);
return false;
+
case kGoalZubenCT02PotDodgeCheck:
if (Actor_Query_Goal_Number(kActorMcCoy) != kGoalMcCoyDodge) {
Player_Loses_Control();
@@ -411,29 +428,34 @@ bool AIScriptZuben::GoalChanged(int currentGoalNumber, int newGoalNumber) {
}
Actor_Set_Goal_Number(kActorZuben, kGoalZubenCT02RunToDoor);
return false;
+
case kGoalZubenMA01AttackMcCoy:
- Game_Flag_Set(kFlagWarehouseOpen);
+ Game_Flag_Set(kFlagCT05WarehouseOpen);
Actor_Set_Targetable(kActorZuben, true);
AI_Movement_Track_Flush(kActorZuben);
AI_Movement_Track_Append_Run(kActorZuben, 125, 0);
AI_Movement_Track_Repeat(kActorZuben);
return false;
- case 22:
+
+ case 22: // is never set
AI_Movement_Track_Flush(kActorZuben);
AI_Movement_Track_Append_Run(kActorZuben, 125, 0);
AI_Movement_Track_Append_Run(kActorZuben, 33, 0);
AI_Movement_Track_Repeat(kActorZuben);
return false;
+
case 99:
AI_Movement_Track_Flush(kActorZuben);
Scene_Exits_Enable();
Music_Stop(2);
return false;
+
case 100:
AI_Movement_Track_Flush(kActorZuben);
AI_Movement_Track_Append_Run(kActorZuben, 33, 3);
AI_Movement_Track_Repeat(kActorZuben);
return false;
+
case 105:
{
int rnd1 = Random_Query(1, 3);
@@ -508,11 +530,13 @@ bool AIScriptZuben::GoalChanged(int currentGoalNumber, int newGoalNumber) {
case 106:
Actor_Set_Goal_Number(kActorZuben, 105);
return true;
+
case 200:
AI_Movement_Track_Flush(kActorZuben);
AI_Movement_Track_Append_Run(kActorZuben, 33, 3);
AI_Movement_Track_Repeat(kActorZuben);
return false;
+
case 205:
switch (Random_Query(1, 8)) {
case 1:
@@ -591,9 +615,11 @@ bool AIScriptZuben::GoalChanged(int currentGoalNumber, int newGoalNumber) {
break;
}
return false;
+
case 206:
Actor_Set_Goal_Number(kActorZuben, 205);
return true;
+
case 400:
AI_Movement_Track_Flush(kActorZuben);
Actor_Put_In_Set(kActorZuben, kSetFreeSlotA);
@@ -950,7 +976,7 @@ bool AIScriptZuben::UpdateAnimation(int *animation, int *frame) {
Actor_Set_Frame_Rate_FPS(kActorZuben, -2);
_animationState = 0;
_animationFrame = 0;
- Actor_Set_Goal_Number(kActorZuben, kGoalZubenCT02Flee);
+ Actor_Set_Goal_Number(kActorZuben, kGoalZubenCT02RunToFreeSlotG);
}
break;
case 28:
@@ -1164,6 +1190,7 @@ void AIScriptZuben::dialogue() {
Actor_Says(kActorMcCoy, 7310, 16);
Actor_Says(kActorZuben, 190, 15);
break;
+
case 1500:
Actor_Says(kActorMcCoy, 7295, 11);
Actor_Says(kActorZuben, 200, 12);
@@ -1188,6 +1215,7 @@ void AIScriptZuben::dialogue() {
Actor_Clue_Acquire(kActorMcCoy, kClueZubenTalksAboutLucy2, false, kActorZuben);
}
break;
+
case 1510:
Actor_Says(kActorMcCoy, 7300, 13);
Actor_Says(kActorZuben, 280, 12);
@@ -1202,6 +1230,7 @@ void AIScriptZuben::dialogue() {
Actor_Says(kActorZuben, 330, 12);
Actor_Clue_Acquire(kActorMcCoy, kClueZubensMotive, false, kActorZuben);
break;
+
case 1520:
Actor_Says(kActorZuben, 160, 13);
Actor_Says(kActorMcCoy, 7305, 15);
diff --git a/engines/bladerunner/script/ai_script.h b/engines/bladerunner/script/ai_script.h
index c9e945a..9252db3 100644
--- a/engines/bladerunner/script/ai_script.h
+++ b/engines/bladerunner/script/ai_script.h
@@ -137,10 +137,10 @@ DECLARE_SCRIPT(Gordo)
int _frameMax;
int _state;
- void sub_40FD00();
+ void McCoyTalkWithGordo();
void sub_4103B8();
- void sub_410590();
- void sub_41090C();
+ void dialogueWithGordo2();
+ void dialogueWithGordo1();
void sub_41117C();
END_SCRIPT
@@ -185,7 +185,7 @@ DECLARE_SCRIPT(Izo)
int _var4;
bool _flag;
- void someDialog();
+ void dialogueWithIzo();
void modifyWaypoints();
END_SCRIPT
diff --git a/engines/bladerunner/script/esper_script.cpp b/engines/bladerunner/script/esper_script.cpp
index e12e40f..0699a99 100644
--- a/engines/bladerunner/script/esper_script.cpp
+++ b/engines/bladerunner/script/esper_script.cpp
@@ -109,62 +109,72 @@ void ESPERScript::SCRIPT_ESPER_DLL_Initialize() {
void ESPERScript::SCRIPT_ESPER_DLL_Photo_Selected(int photo) {
switch (photo) {
- case 9:
- Actor_Says(kActorAnsweringMachine, 270, 3);
- ESPER_Define_Special_Region(22, 1208, 330, 1218, 340, 1050, 160, 1279, 550, 956, 203, 1278, 497, "KP06ESP1");
- ESPER_Define_Special_Region(23, 854, 371, 858, 375, 790, 320, 940, 560, 722, 220, 1000, 505, "KP06ESP2");
- ESPER_Define_Special_Region(24, 615, 325, 648, 365, 440, 220, 820, 959, 326, 140, 948, 474, "KP06ESP3");
- ESPER_Define_Special_Region(25, 373, 417, 382, 426, 310, 370, 480, 560, 228, 323, 493, 509, "KP06ESP4");
- break;
- case 8:
- Actor_Says(kActorAnsweringMachine, 230, 3);
- ESPER_Define_Special_Region(18, 166, 623, 177, 632, 38, 528, 320, 770, 26, 530, 313, 771, "TB06ESP1");
- ESPER_Define_Special_Region(19, 156, 356, 164, 360, 60, 280, 250, 460, 14, 251, 257, 459, "TB06ESP2");
- ESPER_Define_Special_Region(20, 395, 158, 410, 185, 270, 70, 760, 640, 125, 0, 560, 307, "TB06ESP3");
- ESPER_Define_Special_Region(21, 343, 269, 352, 276, 290, 200, 410, 340, 157, 118, 565, 405, "TB06ESP4");
+ case 0:
+ Actor_Says(kActorAnsweringMachine, 220, 3);
+ ESPER_Define_Special_Region(0, 490, 511, 496, 517, 400, 440, 580, 580, 380, 260, 900, 710, "RC02ESP1");
+ ESPER_Define_Special_Region(1, 473, 342, 479, 349, 400, 300, 580, 580, 350, 250, 900, 710, "RC02ESP2");
+ ESPER_Define_Special_Region(2, 444, 215, 461, 223, 380, 120, 570, 340, 354, 160, 577, 354, "RC02ESP3");
break;
- case 7:
- Actor_Says(kActorAnsweringMachine, 250, 3);
- ESPER_Define_Special_Region(16, 1171, 457, 1184, 466, 1060, 370, 1279, 730, 910, 300, 1279, 678, "HC02ESP3");
- ESPER_Define_Special_Region(17, 328, 398, 340, 413, 250, 350, 460, 640, 100, 236, 530, 612, "HC02ESP4");
+
+ case 1:
+ Actor_Says(kActorAnsweringMachine, 220, 3);
+ ESPER_Define_Special_Region(3, 560, 210, 580, 220, 450, 130, 680, 540, 0, 0, 1279, 959, "RC02ESP4");
+ ESPER_Define_Special_Region(4, 584, 482, 595, 493, 460, 400, 660, 540, 0, 0, 1279, 959, "RC02ESP5");
+ ESPER_Define_Special_Region(5, 669, 322, 675, 329, 620, 230, 740, 390, 0, 0, 1279, 959, "RC02ESP6");
+ ESPER_Define_Special_Region(6, 698, 236, 748, 274, 600, 160, 850, 420, 160, 0, 1279, 750, "RC02ESP7");
break;
- case 6:
- Actor_Says(kActorAnsweringMachine, 250, 3);
- ESPER_Define_Special_Region(14, 879, 221, 882, 225, 640, 0, 1000, 512, 265, 146, 1014, 813, "HC02ESP5");
- ESPER_Define_Special_Region(15, 660, 550, 678, 572, 560, 480, 850, 910, 265, 146, 1014, 813, "HC02ESP2");
+
+ case 2:
+ Actor_Says(kActorAnsweringMachine, 260, 3);
+ ESPER_Define_Special_Region(7, 102, 809, 108, 861, 20, 720, 200, 930, 191, 95, 1085, 870, "NR06ESP1");
+ ESPER_Define_Special_Region(8, 661, 437, 664, 443, 530, 320, 720, 600, 330, 200, 945, 750, "NR06ESP2");
break;
- case 5:
- Actor_Says(kActorAnsweringMachine, 240, 3);
- ESPER_Define_Special_Region(13, 720, 485, 728, 491, 640, 390, 780, 630, 257, 94, 1013, 804, "HC01ESP3");
+
+ case 3:
+ Actor_Says(kActorAnsweringMachine, 260, 3);
+ ESPER_Define_Special_Region(9, 479, 381, 482, 385, 430, 320, 520, 470, 265, 200, 815, 720, "NR07ESP2");
+ ESPER_Define_Special_Region(10, 893, 298, 901, 306, 770, 230, 980, 500, 340, 216, 942, 747, "NR07ESP1");
break;
+
case 4:
Actor_Says(kActorAnsweringMachine, 240, 3);
ESPER_Define_Special_Region(11, 420, 436, 434, 450, 350, 380, 520, 680, 257, 94, 1013, 804, "HC01ESP1");
ESPER_Define_Special_Region(12, 407, 489, 410, 509, 370, 450, 500, 560, 257, 94, 1013, 804, "HC01ESP2");
break;
- case 3:
- Actor_Says(kActorAnsweringMachine, 260, 3);
- ESPER_Define_Special_Region(10, 893, 298, 901, 306, 770, 230, 980, 500, 340, 216, 942, 747, "NR07ESP1");
- ESPER_Define_Special_Region(9, 479, 381, 482, 385, 430, 320, 520, 470, 265, 200, 815, 720, "NR07ESP2");
+
+ case 5:
+ Actor_Says(kActorAnsweringMachine, 240, 3);
+ ESPER_Define_Special_Region(13, 720, 485, 728, 491, 640, 390, 780, 630, 257, 94, 1013, 804, "HC01ESP3");
break;
- case 2:
- Actor_Says(kActorAnsweringMachine, 260, 3);
- ESPER_Define_Special_Region(7, 102, 809, 108, 861, 20, 720, 200, 930, 191, 95, 1085, 870, "NR06ESP1");
- ESPER_Define_Special_Region(8, 661, 437, 664, 443, 530, 320, 720, 600, 330, 200, 945, 750, "NR06ESP2");
+
+ case 6:
+ Actor_Says(kActorAnsweringMachine, 250, 3);
+ ESPER_Define_Special_Region(14, 879, 221, 882, 225, 640, 0, 1000, 512, 265, 146, 1014, 813, "HC02ESP5");
+ ESPER_Define_Special_Region(15, 660, 550, 678, 572, 560, 480, 850, 910, 265, 146, 1014, 813, "HC02ESP2");
break;
- case 1:
- Actor_Says(kActorAnsweringMachine, 220, 3);
- ESPER_Define_Special_Region(3, 560, 210, 580, 220, 450, 130, 680, 540, 0, 0, 1279, 959, "RC02ESP4");
- ESPER_Define_Special_Region(4, 584, 482, 595, 493, 460, 400, 660, 540, 0, 0, 1279, 959, "RC02ESP5");
- ESPER_Define_Special_Region(5, 669, 322, 675, 329, 620, 230, 740, 390, 0, 0, 1279, 959, "RC02ESP6");
- ESPER_Define_Special_Region(6, 698, 236, 748, 274, 600, 160, 850, 420, 160, 0, 1279, 750, "RC02ESP7");
+
+ case 7:
+ Actor_Says(kActorAnsweringMachine, 250, 3);
+ ESPER_Define_Special_Region(16, 1171, 457, 1184, 466, 1060, 370, 1279, 730, 910, 300, 1279, 678, "HC02ESP3");
+ ESPER_Define_Special_Region(17, 328, 398, 340, 413, 250, 350, 460, 640, 100, 236, 530, 612, "HC02ESP4");
break;
- case 0:
- Actor_Says(kActorAnsweringMachine, 220, 3);
- ESPER_Define_Special_Region(0, 490, 511, 496, 517, 400, 440, 580, 580, 380, 260, 900, 710, "RC02ESP1");
- ESPER_Define_Special_Region(1, 473, 342, 479, 349, 400, 300, 580, 580, 350, 250, 900, 710, "RC02ESP2");
- ESPER_Define_Special_Region(2, 444, 215, 461, 223, 380, 120, 570, 340, 354, 160, 577, 354, "RC02ESP3");
+
+ case 8:
+ Actor_Says(kActorAnsweringMachine, 230, 3);
+ ESPER_Define_Special_Region(18, 166, 623, 177, 632, 38, 528, 320, 770, 26, 530, 313, 771, "TB06ESP1");
+ ESPER_Define_Special_Region(19, 156, 356, 164, 360, 60, 280, 250, 460, 14, 251, 257, 459, "TB06ESP2");
+ ESPER_Define_Special_Region(20, 395, 158, 410, 185, 270, 70, 760, 640, 125, 0, 560, 307, "TB06ESP3");
+ ESPER_Define_Special_Region(21, 343, 269, 352, 276, 290, 200, 410, 340, 157, 118, 565, 405, "TB06ESP4");
break;
+
+ case 9:
+ Actor_Says(kActorAnsweringMachine, 270, 3);
+ ESPER_Define_Special_Region(22, 1208, 330, 1218, 340, 1050, 160, 1279, 550, 956, 203, 1278, 497, "KP06ESP1");
+ ESPER_Define_Special_Region(23, 854, 371, 858, 375, 790, 320, 940, 560, 722, 220, 1000, 505, "KP06ESP2");
+ ESPER_Define_Special_Region(24, 615, 325, 648, 365, 440, 220, 820, 959, 326, 140, 948, 474, "KP06ESP3");
+ ESPER_Define_Special_Region(25, 373, 417, 382, 426, 310, 370, 480, 560, 228, 323, 493, 509, "KP06ESP4");
+ break;
+
default:
return;
}
@@ -172,123 +182,101 @@ void ESPERScript::SCRIPT_ESPER_DLL_Photo_Selected(int photo) {
bool ESPERScript::SCRIPT_ESPER_DLL_Special_Region_Selected(int photo, int region) {
switch (photo) {
- case 9:
- switch (region) {
- case 22:
- Actor_Says(kActorMcCoy, 8705, 3);
- if (!Actor_Clue_Query(kActorMcCoy, kClueMoonbusReflection)) {
- Actor_Says(kActorMcCoy, 6945, 3);
- Sound_Play(417, 50, 0, 0, 50);
- Actor_Clue_Acquire(kActorMcCoy, kClueMoonbusReflection, true, -1);
- }
- break;
- case 23:
- Actor_Voice_Over(4240, kActorVoiceOver);
- if (!Actor_Clue_Query(kActorMcCoy, kClueMcCoyAtMoonbus)) {
+ case 0:
+ if (region == 0) {
+ Actor_Voice_Over(4050, kActorVoiceOver);
+ if (!Actor_Clue_Query(kActorMcCoy, kClueDragonflyAnklet)) {
Actor_Says(kActorMcCoy, 6945, 3);
Sound_Play(417, 50, 0, 0, 50);
- Actor_Clue_Acquire(kActorMcCoy, kClueMcCoyAtMoonbus, true, -1);
+ Actor_Clue_Acquire(kActorMcCoy, kClueDragonflyAnklet, true, -1);
}
- break;
- case 24:
- Actor_Voice_Over(4220, kActorVoiceOver);
- if (!Actor_Clue_Query(kActorMcCoy, kClueClovisAtMoonbus)) {
+ } else if (region == 1) {
+ Actor_Voice_Over(4040, kActorVoiceOver);
+ if (!Actor_Clue_Query(kActorMcCoy, kClueLucy)) {
Actor_Says(kActorMcCoy, 6945, 3);
Sound_Play(417, 50, 0, 0, 50);
- Actor_Clue_Acquire(kActorMcCoy, kClueClovisAtMoonbus, true, -1);
+ Actor_Clue_Acquire(kActorMcCoy, kClueLucy, true, -1);
}
- break;
- case 25:
- if (!Actor_Clue_Query(kActorMcCoy, kClueSadikAtMoonbus)) {
+ } else if (region == 2) {
+ Actor_Voice_Over(4060, kActorVoiceOver);
+ if (!Actor_Clue_Query(kActorMcCoy, kClueSushiMenu)) {
Actor_Says(kActorMcCoy, 6945, 3);
Sound_Play(417, 50, 0, 0, 50);
- Actor_Clue_Acquire(kActorMcCoy, kClueSadikAtMoonbus, true, -1);
+ Actor_Clue_Acquire(kActorMcCoy, kClueSushiMenu, true, -1);
}
- break;
}
- return false;
- case 8:
- switch (region) {
- case 18:
- Actor_Says(kActorMcCoy, 8775, 3);
- if (!Actor_Clue_Query(kActorMcCoy, kClueKingstonKitchenBox2)) {
+ return true;
+
+ case 1:
+ if (region == 3) {
+ Actor_Voice_Over(4080, kActorVoiceOver);
+ if (!Actor_Clue_Query(kActorMcCoy, kClueAnimalMurderSuspect)) {
Actor_Says(kActorMcCoy, 6945, 3);
Sound_Play(417, 50, 0, 0, 50);
- Actor_Clue_Acquire(kActorMcCoy, kClueKingstonKitchenBox2, true, -1);
+ Actor_Clue_Acquire(kActorMcCoy, kClueAnimalMurderSuspect, true, -1);
}
- break;
- case 19:
- Actor_Voice_Over(4160, kActorVoiceOver);
- if (!Actor_Clue_Query(kActorMcCoy, kClueDogCollar2)) {
+ } else if (region == 4) {
+ Actor_Voice_Over(4110, kActorVoiceOver);
+ if (!Actor_Clue_Query(kActorMcCoy, kClueMilitaryBoots)) {
Actor_Says(kActorMcCoy, 6945, 3);
Sound_Play(417, 50, 0, 0, 50);
- Actor_Clue_Acquire(kActorMcCoy, kClueDogCollar2, true, -1);
+ Actor_Clue_Acquire(kActorMcCoy, kClueMilitaryBoots, true, -1);
}
- break;
- case 20:
- Actor_Voice_Over(2140, kActorVoiceOver);
- Actor_Voice_Over(2150, kActorVoiceOver);
- Actor_Voice_Over(2160, kActorVoiceOver);
- if (!Actor_Clue_Query(kActorMcCoy, kClueBombingSuspect)) {
+ } else if (region == 5) {
+ Actor_Voice_Over(4120, kActorVoiceOver);
+ if (!Actor_Clue_Query(kActorMcCoy, kCluePartialLicenseNumber)) {
Actor_Says(kActorMcCoy, 6945, 3);
Sound_Play(417, 50, 0, 0, 50);
- Actor_Clue_Acquire(kActorMcCoy, kClueBombingSuspect, true, -1);
+ Actor_Clue_Acquire(kActorMcCoy, kCluePartialLicenseNumber, true, -1);
}
- break;
- case 21:
- Actor_Says(kActorMcCoy, 8890, 3);
- if (!Actor_Clue_Query(kActorMcCoy, kCluePlasticExplosive)) {
+ } else if (region == 6) {
+ Actor_Voice_Over(4070, kActorVoiceOver);
+ if (!Actor_Clue_Query(kActorMcCoy, kClueCarColorAndMake)) {
Actor_Says(kActorMcCoy, 6945, 3);
Sound_Play(417, 50, 0, 0, 50);
- Actor_Clue_Acquire(kActorMcCoy, kCluePlasticExplosive, true, -1);
+ Actor_Clue_Acquire(kActorMcCoy, kClueCarColorAndMake, true, -1);
}
- break;
}
- return false;
- case 7:
- if (region == 16) {
- Actor_Voice_Over(4080, kActorVoiceOver);
- if (!Actor_Clue_Query(kActorMcCoy, kClueIzo)) {
+ return true;
+
+ case 2:
+ if (region == 8) {
+ Actor_Voice_Over(4260, kActorVoiceOver);
+ if (!Actor_Clue_Query(kActorMcCoy, kClueEarlyQAndLucy)) {
Actor_Says(kActorMcCoy, 6945, 3);
Sound_Play(417, 50, 0, 0, 50);
- Actor_Clue_Acquire(kActorMcCoy, kClueIzo, true, -1);
+ Actor_Clue_Acquire(kActorMcCoy, kClueEarlyQAndLucy, true, -1);
}
- } else if (region == 17) {
- Actor_Voice_Over(4210, kActorVoiceOver);
- if (!Actor_Clue_Query(kActorMcCoy, kClueGuzza)) {
+ } else if (region == 7) {
+ Actor_Voice_Over(4190, kActorVoiceOver);
+ if (!Actor_Clue_Query(kActorMcCoy, kClueScorpionbox)) {
Actor_Says(kActorMcCoy, 6945, 3);
Sound_Play(417, 50, 0, 0, 50);
- Actor_Clue_Acquire(kActorMcCoy, kClueGuzza, true, -1);
+ Actor_Clue_Acquire(kActorMcCoy, kClueScorpionbox, true, -1);
}
}
- return false;
- case 6:
- if (region == 14) {
- Actor_Says(kActorMcCoy, 6975, 3);
- if (!Actor_Clue_Query(kActorMcCoy, kClueChinaBarSecurityCamera)) {
- Actor_Says(kActorMcCoy, 6945, 3);
- Sound_Play(417, 50, 0, 0, 50);
- Actor_Clue_Acquire(kActorMcCoy, kClueChinaBarSecurityCamera, true, -1);
- }
- } else if (region == 15) {
- Actor_Voice_Over(4220, kActorVoiceOver);
- if (!Actor_Clue_Query(kActorMcCoy, kClueIzosFriend)) {
+ return true;
+
+ case 3:
+ if (region == 9) {
+ Actor_Voice_Over(4230, kActorVoiceOver);
+ if (!Actor_Clue_Query(kActorMcCoy, kClueClovisflowers)) {
Actor_Says(kActorMcCoy, 6945, 3);
Sound_Play(417, 50, 0, 0, 50);
- Actor_Clue_Acquire(kActorMcCoy, kClueIzosFriend, true, -1);
+ Actor_Clue_Acquire(kActorMcCoy, kClueClovisflowers, true, -1);
}
- }
- return false;
- case 5:
- if (region == 13) {
- Actor_Says(kActorMcCoy, 8830, 3);
- if (!Actor_Clue_Query(kActorMcCoy, kClueStrangeScale2)) {
+ return true;
+ } if (region == 10) {
+ Actor_Voice_Over(4040, kActorVoiceOver);
+ if (!Actor_Clue_Query(kActorMcCoy, kClueLucyWithDektora)) {
Actor_Says(kActorMcCoy, 6945, 3);
Sound_Play(417, 50, 0, 0, 50);
- Actor_Clue_Acquire(kActorMcCoy, kClueStrangeScale2, true, -1);
+ Actor_Clue_Acquire(kActorMcCoy, kClueLucyWithDektora, true, -1);
}
+ return true;
}
return false;
+
case 4:
if (region == 11) {
Actor_Voice_Over(4090, kActorVoiceOver);
@@ -306,97 +294,134 @@ bool ESPERScript::SCRIPT_ESPER_DLL_Special_Region_Selected(int photo, int region
}
}
return false;
- case 3:
- if (region == 9) {
- Actor_Voice_Over(4230, kActorVoiceOver);
- if (!Actor_Clue_Query(kActorMcCoy, kClueClovisflowers)) {
+
+ case 5:
+ if (region == 13) {
+ Actor_Says(kActorMcCoy, 8830, 3);
+ if (!Actor_Clue_Query(kActorMcCoy, kClueStrangeScale2)) {
Actor_Says(kActorMcCoy, 6945, 3);
Sound_Play(417, 50, 0, 0, 50);
- Actor_Clue_Acquire(kActorMcCoy, kClueClovisflowers, true, -1);
+ Actor_Clue_Acquire(kActorMcCoy, kClueStrangeScale2, true, -1);
}
- return true;
- } else if (region == 10) {
- Actor_Voice_Over(4040, kActorVoiceOver);
- if (!Actor_Clue_Query(kActorMcCoy, kClueLucyWithDektora)) {
+ }
+ return false;
+
+ case 6:
+ if (region == 14) {
+ Actor_Says(kActorMcCoy, 6975, 3);
+ if (!Actor_Clue_Query(kActorMcCoy, kClueChinaBarSecurityCamera)) {
Actor_Says(kActorMcCoy, 6945, 3);
Sound_Play(417, 50, 0, 0, 50);
- Actor_Clue_Acquire(kActorMcCoy, kClueLucyWithDektora, true, -1);
+ Actor_Clue_Acquire(kActorMcCoy, kClueChinaBarSecurityCamera, true, -1);
+ }
+ } else if (region == 15) {
+ Actor_Voice_Over(4220, kActorVoiceOver);
+ if (!Actor_Clue_Query(kActorMcCoy, kClueIzosFriend)) {
+ Actor_Says(kActorMcCoy, 6945, 3);
+ Sound_Play(417, 50, 0, 0, 50);
+ Actor_Clue_Acquire(kActorMcCoy, kClueIzosFriend, true, -1);
}
- return true;
}
return false;
- case 2:
- if (region == 8) {
- Actor_Voice_Over(4260, kActorVoiceOver);
- if (!Actor_Clue_Query(kActorMcCoy, kClueEarlyQAndLucy)) {
+
+ case 7:
+ if (region == 16) {
+ Actor_Voice_Over(4080, kActorVoiceOver);
+ if (!Actor_Clue_Query(kActorMcCoy, kClueIzo)) {
Actor_Says(kActorMcCoy, 6945, 3);
Sound_Play(417, 50, 0, 0, 50);
- Actor_Clue_Acquire(kActorMcCoy, kClueEarlyQAndLucy, true, -1);
+ Actor_Clue_Acquire(kActorMcCoy, kClueIzo, true, -1);
}
- } else if (region == 7) {
- Actor_Voice_Over(4190, kActorVoiceOver);
- if (!Actor_Clue_Query(kActorMcCoy, kClueScorpionbox)) {
+ } else if (region == 17) {
+ Actor_Voice_Over(4210, kActorVoiceOver);
+ if (!Actor_Clue_Query(kActorMcCoy, kClueGuzza)) {
Actor_Says(kActorMcCoy, 6945, 3);
Sound_Play(417, 50, 0, 0, 50);
- Actor_Clue_Acquire(kActorMcCoy, kClueScorpionbox, true, -1);
+ Actor_Clue_Acquire(kActorMcCoy, kClueGuzza, true, -1);
}
}
- return true;
- case 1:
- if (region == 3) {
- Actor_Voice_Over(4080, kActorVoiceOver);
- if (!Actor_Clue_Query(kActorMcCoy, kClueAnimalMurderSuspect)) {
+ return false;
+
+ case 8:
+ switch (region) {
+ case 18:
+ Actor_Says(kActorMcCoy, 8775, 3);
+ if (!Actor_Clue_Query(kActorMcCoy, kClueKingstonKitchenBox2)) {
Actor_Says(kActorMcCoy, 6945, 3);
Sound_Play(417, 50, 0, 0, 50);
- Actor_Clue_Acquire(kActorMcCoy, kClueAnimalMurderSuspect, true, -1);
+ Actor_Clue_Acquire(kActorMcCoy, kClueKingstonKitchenBox2, true, -1);
}
- } else if (region == 4) {
- Actor_Voice_Over(4110, kActorVoiceOver);
- if (!Actor_Clue_Query(kActorMcCoy, kClueMilitaryBoots)) {
+ break;
+
+ case 19:
+ Actor_Voice_Over(4160, kActorVoiceOver);
+ if (!Actor_Clue_Query(kActorMcCoy, kClueDogCollar2)) {
Actor_Says(kActorMcCoy, 6945, 3);
Sound_Play(417, 50, 0, 0, 50);
- Actor_Clue_Acquire(kActorMcCoy, kClueMilitaryBoots, true, -1);
+ Actor_Clue_Acquire(kActorMcCoy, kClueDogCollar2, true, -1);
}
- } else if (region == 5) {
- Actor_Voice_Over(4120, kActorVoiceOver);
- if (!Actor_Clue_Query(kActorMcCoy, kCluePartialLicenseNumber)) {
+ break;
+
+ case 20:
+ Actor_Voice_Over(2140, kActorVoiceOver);
+ Actor_Voice_Over(2150, kActorVoiceOver);
+ Actor_Voice_Over(2160, kActorVoiceOver);
+ if (!Actor_Clue_Query(kActorMcCoy, kClueBombingSuspect)) {
Actor_Says(kActorMcCoy, 6945, 3);
Sound_Play(417, 50, 0, 0, 50);
- Actor_Clue_Acquire(kActorMcCoy, kCluePartialLicenseNumber, true, -1);
+ Actor_Clue_Acquire(kActorMcCoy, kClueBombingSuspect, true, -1);
}
- } else if (region == 6) {
- Actor_Voice_Over(4070, kActorVoiceOver);
- if (!Actor_Clue_Query(kActorMcCoy, kClueCarColorAndMake)) {
+ break;
+
+ case 21:
+ Actor_Says(kActorMcCoy, 8890, 3);
+ if (!Actor_Clue_Query(kActorMcCoy, kCluePlasticExplosive)) {
Actor_Says(kActorMcCoy, 6945, 3);
Sound_Play(417, 50, 0, 0, 50);
- Actor_Clue_Acquire(kActorMcCoy, kClueCarColorAndMake, true, -1);
+ Actor_Clue_Acquire(kActorMcCoy, kCluePlasticExplosive, true, -1);
}
+ break;
}
- return true;
- case 0:
- if (region == 0) {
- Actor_Voice_Over(4050, kActorVoiceOver);
- if (!Actor_Clue_Query(kActorMcCoy, kClueDragonflyAnklet)) {
+ return false;
+
+ case 9:
+ switch (region) {
+ case 22:
+ Actor_Says(kActorMcCoy, 8705, 3);
+ if (!Actor_Clue_Query(kActorMcCoy, kClueMoonbusReflection)) {
Actor_Says(kActorMcCoy, 6945, 3);
Sound_Play(417, 50, 0, 0, 50);
- Actor_Clue_Acquire(kActorMcCoy, kClueDragonflyAnklet, true, -1);
+ Actor_Clue_Acquire(kActorMcCoy, kClueMoonbusReflection, true, -1);
}
- } else if (region == 1) {
- Actor_Voice_Over(4040, kActorVoiceOver);
- if (!Actor_Clue_Query(kActorMcCoy, kClueLucy)) {
+ break;
+
+ case 23:
+ Actor_Voice_Over(4240, kActorVoiceOver);
+ if (!Actor_Clue_Query(kActorMcCoy, kClueMcCoyAtMoonbus)) {
Actor_Says(kActorMcCoy, 6945, 3);
Sound_Play(417, 50, 0, 0, 50);
- Actor_Clue_Acquire(kActorMcCoy, kClueLucy, true, -1);
+ Actor_Clue_Acquire(kActorMcCoy, kClueMcCoyAtMoonbus, true, -1);
}
- } else if (region == 2) {
- Actor_Voice_Over(4060, kActorVoiceOver);
- if (!Actor_Clue_Query(kActorMcCoy, kClueSushiMenu)) {
+ break;
+
+ case 24:
+ Actor_Voice_Over(4220, kActorVoiceOver);
+ if (!Actor_Clue_Query(kActorMcCoy, kClueClovisAtMoonbus)) {
Actor_Says(kActorMcCoy, 6945, 3);
Sound_Play(417, 50, 0, 0, 50);
- Actor_Clue_Acquire(kActorMcCoy, kClueSushiMenu, true, -1);
+ Actor_Clue_Acquire(kActorMcCoy, kClueClovisAtMoonbus, true, -1);
}
+ break;
+
+ case 25:
+ if (!Actor_Clue_Query(kActorMcCoy, kClueSadikAtMoonbus)) {
+ Actor_Says(kActorMcCoy, 6945, 3);
+ Sound_Play(417, 50, 0, 0, 50);
+ Actor_Clue_Acquire(kActorMcCoy, kClueSadikAtMoonbus, true, -1);
+ }
+ break;
}
- return true;
+ return false;
}
return false;
}
diff --git a/engines/bladerunner/script/init_script.cpp b/engines/bladerunner/script/init_script.cpp
index 278ce1b..aa3f007 100644
--- a/engines/bladerunner/script/init_script.cpp
+++ b/engines/bladerunner/script/init_script.cpp
@@ -110,7 +110,7 @@ void InitScript::Init_Game_Flags() {
Global_Variable_Set(40, 3);
}
- Game_Flag_Set(kFlagMcCoyAtRCxx);
+ Game_Flag_Set(kFlagMcCoyInRunciters);
Game_Flag_Set(kFlagSpinnerAtRC01);
}
diff --git a/engines/bladerunner/script/scene/ar01.cpp b/engines/bladerunner/script/scene/ar01.cpp
index ed4a96b..9cd104c 100644
--- a/engines/bladerunner/script/scene/ar01.cpp
+++ b/engines/bladerunner/script/scene/ar01.cpp
@@ -143,7 +143,7 @@ bool SceneScriptAR01::ClickedOnActor(int actorId) {
if (!Loop_Actor_Walk_To_XYZ(kActorMcCoy, -120.73f, 0.0f, 219.17f, 12, 1, false, 0)) {
Actor_Face_Actor(kActorMcCoy, kActorFishDealer, true);
Actor_Face_Actor(kActorFishDealer, kActorMcCoy, true);
- if (!Game_Flag_Query(kFlagFishDealerTalk)) {
+ if (!Game_Flag_Query(kFlagAR01FishDealerTalk)) {
Actor_Says(kActorMcCoy, 0, 18);
Actor_Says(kActorFishDealer, 0, 14);
Actor_Says(kActorFishDealer, 10, 14);
@@ -159,7 +159,7 @@ bool SceneScriptAR01::ClickedOnActor(int actorId) {
Actor_Says(kActorFishDealer, 80, 14);
Actor_Says(kActorFishDealer, 90, 14);
Actor_Says(kActorMcCoy, 25, 13);
- Game_Flag_Set(kFlagFishDealerTalk);
+ Game_Flag_Set(kFlagAR01FishDealerTalk);
Actor_Set_Goal_Number(kActorFishDealer, 1);
} else {
if ( Actor_Clue_Query(kActorMcCoy, kClueStrangeScale1)
@@ -202,8 +202,8 @@ bool SceneScriptAR01::ClickedOnExit(int exitId) {
Loop_Actor_Walk_To_XYZ(kActorMcCoy, -477.0, 0.0, -149.0, 0, false, false, 0);
Game_Flag_Set(kFlagAR01toHC01);
Game_Flag_Set(464);
- Game_Flag_Reset(kFlagMcCoyAtARxx);
- Game_Flag_Set(kFlagMcCoyAtHCxx);
+ Game_Flag_Reset(kFlagMcCoyInAnimoidRow);
+ Game_Flag_Set(kFlagMcCoyInHawkersCircle);
Set_Enter(kSetHC01_HC02_HC03_HC04, kSceneHC01);
Actor_Set_Goal_Number(kActorFishDealer, 3);
}
@@ -251,83 +251,83 @@ bool SceneScriptAR01::ClickedOnExit(int exitId) {
Actor_Voice_Over(4350, kActorVoiceOver);
Game_Flag_Set(kFlagDNARowAvailableTalk);
}
- Game_Flag_Reset(kFlagMcCoyAtCTxx);
- Game_Flag_Reset(kFlagMcCoyAtRCxx);
- Game_Flag_Reset(kFlagMcCoyAtMAxx);
- Game_Flag_Reset(kFlagMcCoyAtPSxx);
- Game_Flag_Reset(kFlagMcCoyAtBBxx);
- Game_Flag_Reset(kFlagMcCoyAtHFxx);
- Game_Flag_Reset(kFlagMcCoyAtARxx);
+ Game_Flag_Reset(kFlagMcCoyInChinaTown);
+ Game_Flag_Reset(kFlagMcCoyInRunciters);
+ Game_Flag_Reset(kFlagMcCoyInMcCoyApartment);
+ Game_Flag_Reset(kFlagMcCoyInPoliceStation);
+ Game_Flag_Reset(kFlagMcCoyInBradburyBuilding);
+ Game_Flag_Reset(kFlagMcCoyInHysteriaHall);
+ Game_Flag_Reset(kFlagMcCoyInAnimoidRow);
int spinnerDest = Spinner_Interface_Choose_Dest(kAR01LoopDoorAnim, false);
Actor_Face_Heading(kActorMcCoy, 545, false);
switch (spinnerDest) {
case kSpinnerDestinationPoliceStation:
- Game_Flag_Set(kFlagMcCoyAtPSxx);
+ Game_Flag_Set(kFlagMcCoyInPoliceStation);
Game_Flag_Reset(kFlagSpinnerAtAR01);
Game_Flag_Set(kFlagSpinnerAtPS01);
Set_Enter(kSetPS01, kScenePS01);
Scene_Loop_Start_Special(kSceneLoopModeChangeSet, kAR01LoopOutshoot, true);
break;
case kSpinnerDestinationMcCoysApartment:
- Game_Flag_Set(kFlagMcCoyAtMAxx);
+ Game_Flag_Set(kFlagMcCoyInMcCoyApartment);
Game_Flag_Reset(kFlagSpinnerAtAR01);
Game_Flag_Set(kFlagSpinnerAtMA01);
Set_Enter(kSetMA01, kSceneMA01);
Scene_Loop_Start_Special(kSceneLoopModeChangeSet, kAR01LoopOutshoot, true);
break;
case kSpinnerDestinationRuncitersAnimals:
- Game_Flag_Set(kFlagMcCoyAtRCxx);
+ Game_Flag_Set(kFlagMcCoyInRunciters);
Game_Flag_Reset(kFlagSpinnerAtAR01);
Game_Flag_Set(kFlagSpinnerAtRC01);
Set_Enter(kSetRC01, kSceneRC01);
Scene_Loop_Start_Special(kSceneLoopModeChangeSet, kAR01LoopOutshoot, true);
break;
case kSpinnerDestinationChinatown:
- Game_Flag_Set(kFlagMcCoyAtCTxx);
+ Game_Flag_Set(kFlagMcCoyInChinaTown);
Game_Flag_Reset(kFlagSpinnerAtAR01);
Game_Flag_Set(kFlagSpinnerAtCT01);
Set_Enter(kSetCT01_CT12, kSceneCT01);
Scene_Loop_Start_Special(kSceneLoopModeChangeSet, kAR01LoopOutshoot, true);
break;
case kSpinnerDestinationTyrellBuilding:
- Game_Flag_Set(kFlagMcCoyAtTBxx);
+ Game_Flag_Set(kFlagMcCoyInTyrellBuilding);
Game_Flag_Reset(kFlagSpinnerAtAR01);
Game_Flag_Set(kFlagSpinnerAtTB02);
Set_Enter(kSetTB02_TB03, kSceneTB02);
Scene_Loop_Start_Special(kSceneLoopModeChangeSet, kAR01LoopOutshoot, true);
break;
case kSpinnerDestinationDNARow:
- Game_Flag_Set(kFlagMcCoyAtDRxx);
+ Game_Flag_Set(kFlagMcCoyInDNARow);
Game_Flag_Reset(kFlagSpinnerAtAR01);
Game_Flag_Set(kFlagSpinnerAtDR01);
Set_Enter(kSetDR01_DR02_DR04, kSceneDR01);
Scene_Loop_Start_Special(kSceneLoopModeChangeSet, kAR01LoopOutshoot, true);
break;
case kSpinnerDestinationBradburyBuilding:
- Game_Flag_Set(kFlagMcCoyAtBBxx);
+ Game_Flag_Set(kFlagMcCoyInBradburyBuilding);
Game_Flag_Reset(kFlagSpinnerAtAR01);
Game_Flag_Set(kFlagSpinnerAtBB01);
Set_Enter(kSetBB01, kSceneBB01);
Scene_Loop_Start_Special(kSceneLoopModeChangeSet, kAR01LoopOutshoot, true);
break;
case kSpinnerDestinationNightclubRow:
- Game_Flag_Set(kFlagMcCoyAtNRxx);
+ Game_Flag_Set(kFlagMcCoyInNightclubRow);
Game_Flag_Reset(kFlagSpinnerAtAR01);
Game_Flag_Set(kFlagSpinnerAtNR01);
Set_Enter(kSetNR01, kSceneNR01);
Scene_Loop_Start_Special(kSceneLoopModeChangeSet, kAR01LoopOutshoot, true);
break;
case kSpinnerDestinationHysteriaHall:
- Game_Flag_Set(kFlagMcCoyAtHFxx);
+ Game_Flag_Set(kFlagMcCoyInHysteriaHall);
Game_Flag_Reset(kFlagSpinnerAtAR01);
Game_Flag_Set(kFlagSpinnerAtHF01);
Set_Enter(kSetHF01, kSceneHF01);
Scene_Loop_Start_Special(kSceneLoopModeChangeSet, kAR01LoopOutshoot, true);
break;
default:
- Game_Flag_Set(kFlagMcCoyAtARxx);
+ Game_Flag_Set(kFlagMcCoyInAnimoidRow);
Actor_Set_Invisible(kActorMcCoy, false);
break;
}
@@ -389,7 +389,7 @@ void SceneScriptAR01::PlayerWalkedOut() {
Actor_Set_Invisible(kActorMcCoy, false);
Ambient_Sounds_Remove_All_Non_Looping_Sounds(true);
Ambient_Sounds_Remove_All_Looping_Sounds(1);
- if (!Game_Flag_Query(kFlagMcCoyAtHCxx)) {
+ if (!Game_Flag_Query(kFlagMcCoyInHawkersCircle)) {
Music_Stop(2);
}
if (!Game_Flag_Query(kFlagAR01toHC01)
diff --git a/engines/bladerunner/script/scene/ar02.cpp b/engines/bladerunner/script/scene/ar02.cpp
index a53aee8..935064f 100644
--- a/engines/bladerunner/script/scene/ar02.cpp
+++ b/engines/bladerunner/script/scene/ar02.cpp
@@ -79,11 +79,11 @@ void SceneScriptAR02::InitializeScene() {
void SceneScriptAR02::SceneLoaded() {
Obstacle_Object("DF_BOOTH", true);
- if (!Game_Flag_Query(374)) {
+ if (!Game_Flag_Query(kFlagAR02DektoraBoughtScorpions)) {
Item_Add_To_World(kItemScrorpions, 976, kSetAR01_AR02, -442.84f, 36.77f, -1144.51f, 360, 36, 36, false, true, false, true);
}
if ( Global_Variable_Query(kVariableChapter) == 4
- && !Game_Flag_Query(374)
+ && !Game_Flag_Query(kFlagAR02DektoraBoughtScorpions)
) {
Game_Flag_Set(kFlagNotUsed0);
Item_Remove_From_World(kItemScrorpions);
@@ -104,10 +104,10 @@ bool SceneScriptAR02::ClickedOnActor(int actorId) {
Actor_Face_Actor(kActorMcCoy, kActorInsectDealer, true);
Actor_Face_Actor(kActorInsectDealer, kActorMcCoy, true);
if (Global_Variable_Query(kVariableChapter) == 2) {
- if ( Game_Flag_Query(kFlagInsectDealerInterviewed)
- && !Game_Flag_Query(kFlagInsectDealerTalk)
+ if ( Game_Flag_Query(kFlagAR02InsectDealerInterviewed)
+ && !Game_Flag_Query(kFlagAR02InsectDealerTalk)
) {
- Game_Flag_Set(kFlagInsectDealerTalk);
+ Game_Flag_Set(kFlagAR02InsectDealerTalk);
Player_Loses_Control();
ADQ_Flush();
ADQ_Add(kActorInsectDealer, 210, 14);
@@ -121,7 +121,7 @@ bool SceneScriptAR02::ClickedOnActor(int actorId) {
Actor_Says(kActorInsectDealer, 250, 14);
Player_Gains_Control();
dialogueWithInsectDealer2();
- } else if (Game_Flag_Query(kFlagInsectDealerInterviewed)) {
+ } else if (Game_Flag_Query(kFlagAR02InsectDealerInterviewed)) {
Actor_Says(kActorMcCoy, 75, 18);
Actor_Says(kActorInsectDealer, 60, 12);
Actor_Says(kActorInsectDealer, 70, 14);
@@ -138,7 +138,7 @@ bool SceneScriptAR02::ClickedOnActor(int actorId) {
Actor_Says(kActorMcCoy, 210, 15);
Actor_Says(kActorInsectDealer, 310, 12);
Actor_Says(kActorMcCoy, 215, 13);
- if (Game_Flag_Query(374)) {
+ if (Game_Flag_Query(kFlagAR02DektoraBoughtScorpions)) {
Actor_Says(kActorMcCoy, 220, 14);
Actor_Says(kActorInsectDealer, 320, 12);
Actor_Says(kActorMcCoy, 225, 13);
@@ -167,10 +167,10 @@ bool SceneScriptAR02::ClickedOnActor(int actorId) {
if (!Loop_Actor_Walk_To_XYZ(kActorMcCoy, -240.79f, 0.0f, -1328.89f, 12, true, false, 0)) {
Actor_Face_Actor(kActorMcCoy, kActorHasan, true);
Actor_Face_Actor(kActorHasan, kActorMcCoy, true);
- if (!Game_Flag_Query(kFlagHassanTalk)) {
+ if (!Game_Flag_Query(kFlagAR02HassanTalk)) {
Actor_Says(kActorHasan, 0, 14);
Actor_Says(kActorMcCoy, 140, 18);
- Game_Flag_Set(kFlagHassanTalk);
+ Game_Flag_Set(kFlagAR02HassanTalk);
return true;
}
dialogueWithHassan();
@@ -183,22 +183,22 @@ bool SceneScriptAR02::ClickedOnItem(int itemId, bool a2) {
if (itemId == kItemScrorpions) {
if (!Loop_Actor_Walk_To_XYZ(kActorMcCoy, -386.96f, 0.0f, -1078.45f, 12, true, false, 0)) {
Actor_Face_Actor(kActorMcCoy, kActorInsectDealer, true);
- if (!Game_Flag_Query(kFlagScorpionsChecked)) {
+ if (!Game_Flag_Query(kFlagAR02ScorpionsChecked)) {
Actor_Says(kActorInsectDealer, 0, 14);
Actor_Says(kActorMcCoy, 55, 18);
Actor_Says(kActorInsectDealer, 10, 14);
Actor_Says(kActorMcCoy, 60, 18);
Actor_Says(kActorInsectDealer, 20, 14);
- Game_Flag_Set(kFlagScorpionsChecked);
- } else if ( Game_Flag_Query(kFlagScorpionsChecked)
- && !Game_Flag_Query(kFlagStungByScorpion)
+ Game_Flag_Set(kFlagAR02ScorpionsChecked);
+ } else if ( Game_Flag_Query(kFlagAR02ScorpionsChecked)
+ && !Game_Flag_Query(kFlagAR02StungByScorpion)
) {
Actor_Says(kActorMcCoy, 65, 21);
Actor_Says(kActorInsectDealer, 30, 14);
Actor_Says(kActorInsectDealer, 40, 14);
Actor_Says(kActorMcCoy, 70, 18);
Actor_Says(kActorInsectDealer, 50, 14);
- Game_Flag_Set(kFlagStungByScorpion);
+ Game_Flag_Set(kFlagAR02StungByScorpion);
} else {
Actor_Says(kActorMcCoy, 8527, 14);
}
@@ -222,8 +222,8 @@ bool SceneScriptAR02::ClickedOnExit(int exitId) {
if (!Loop_Actor_Walk_To_XYZ(kActorMcCoy, -465.0f, 0.0f, -799.0f, 0, 1, false, 0)) {
Loop_Actor_Walk_To_XYZ(kActorMcCoy, -560.0f, 0.0f, -799.0f, 0, 0, false, 0);
Game_Flag_Set(kFlagAR02toRC03);
- Game_Flag_Reset(kFlagMcCoyAtARxx);
- Game_Flag_Set(kFlagMcCoyAtRCxx);
+ Game_Flag_Reset(kFlagMcCoyInAnimoidRow);
+ Game_Flag_Set(kFlagMcCoyInRunciters);
Music_Stop(3);
Set_Enter(kSetRC03, kSceneRC03);
}
@@ -302,7 +302,7 @@ void SceneScriptAR02::dialogueWithInsectDealer1() {
Actor_Says(kActorInsectDealer, 170, 14);
Actor_Says(kActorMcCoy, 100, 16);
Actor_Says(kActorInsectDealer, 180, 13);
- Game_Flag_Set(kFlagInsectDealerInterviewed);
+ Game_Flag_Set(kFlagAR02InsectDealerInterviewed);
Actor_Clue_Acquire(kActorMcCoy, kCluePeruvianLadyInterview, true, kActorInsectDealer);
break;
diff --git a/engines/bladerunner/script/scene/bb01.cpp b/engines/bladerunner/script/scene/bb01.cpp
index 6aa24e2..47734a4 100644
--- a/engines/bladerunner/script/scene/bb01.cpp
+++ b/engines/bladerunner/script/scene/bb01.cpp
@@ -32,25 +32,28 @@ void SceneScriptBB01::InitializeScene() {
} else {
Setup_Scene_Information(43.0f, 0.0f, 1058.0f, 0);
}
- Scene_Exit_Add_2D_Exit(0, 0, 0, 72, 299, 3);
+
+ Scene_Exit_Add_2D_Exit(0, 0, 0, 72, 299, 3);
Scene_Exit_Add_2D_Exit(1, 151, 218, 322, 290, 3);
if (Game_Flag_Query(kFlagSpinnerAtBB01)) {
Scene_Exit_Add_2D_Exit(2, 0, 311, 312, 479, 2);
}
- Ambient_Sounds_Add_Looping_Sound(54, 50, 0, 1);
+
+ Ambient_Sounds_Add_Looping_Sound( 54, 50, 0, 1);
Ambient_Sounds_Add_Looping_Sound(105, 25, -100, 0);
- Ambient_Sounds_Add_Sound(82, 5, 60, 40, 60, -100, 100, -101, -101, 0, 0);
- Ambient_Sounds_Add_Sound(83, 5, 60, 40, 65, -100, 100, -101, -101, 0, 0);
- Ambient_Sounds_Add_Sound(84, 5, 60, 40, 60, -100, 100, -101, -101, 0, 0);
- Ambient_Sounds_Add_Sound(67, 5, 80, 20, 25, -100, 100, -101, -101, 0, 0);
- Ambient_Sounds_Add_Sound(66, 5, 80, 20, 25, -100, 100, -101, -101, 0, 0);
+ Ambient_Sounds_Add_Sound( 82, 5, 60, 40, 60, -100, 100, -101, -101, 0, 0);
+ Ambient_Sounds_Add_Sound( 83, 5, 60, 40, 65, -100, 100, -101, -101, 0, 0);
+ Ambient_Sounds_Add_Sound( 84, 5, 60, 40, 60, -100, 100, -101, -101, 0, 0);
+ Ambient_Sounds_Add_Sound( 67, 5, 80, 20, 25, -100, 100, -101, -101, 0, 0);
+ Ambient_Sounds_Add_Sound( 66, 5, 80, 20, 25, -100, 100, -101, -101, 0, 0);
Ambient_Sounds_Add_Sound(378, 5, 120, 25, 33, -100, 100, -101, -101, 0, 0);
Ambient_Sounds_Add_Sound(379, 5, 120, 25, 33, -100, 100, -101, -101, 0, 0);
Ambient_Sounds_Add_Sound(380, 5, 120, 25, 33, -100, 100, -101, -101, 0, 0);
- Ambient_Sounds_Add_Speech_Sound(60, 0, 10, 260, 17, 24, -100, 100, -101, -101, 1, 1);
+ Ambient_Sounds_Add_Speech_Sound(60, 0, 10, 260, 17, 24, -100, 100, -101, -101, 1, 1);
Ambient_Sounds_Add_Speech_Sound(60, 20, 10, 260, 17, 24, -100, 100, -101, -101, 1, 1);
Ambient_Sounds_Add_Speech_Sound(60, 40, 10, 260, 17, 24, -100, 100, -101, -101, 1, 1);
Ambient_Sounds_Add_Speech_Sound(60, 50, 10, 260, 17, 24, -100, 100, -101, -101, 1, 1);
+
if (Game_Flag_Query(kFlagSpinnerAtBB01)
&& !Game_Flag_Query(kFlagDR02toBB01)
&& !Game_Flag_Query(kFlagBB02toBB01)
@@ -95,12 +98,13 @@ bool SceneScriptBB01::ClickedOnExit(int exitId) {
Loop_Actor_Walk_To_XYZ(kActorMcCoy, -140.0f, 9.0f, 818.0f, 0, true, false, 0);
if (!Loop_Actor_Walk_To_XYZ(kActorMcCoy, -233.0f, 9.0f, 846.0f, 0, true, false, 0)) {
Game_Flag_Set(kFlagBB01toDR02);
- Game_Flag_Reset(kFlagMcCoyAtBBxx);
- Game_Flag_Set(kFlagMcCoyAtDRxx);
+ Game_Flag_Reset(kFlagMcCoyInBradburyBuilding);
+ Game_Flag_Set(kFlagMcCoyInDNARow);
Set_Enter(kSetDR01_DR02_DR04, kSceneDR02);
}
return true;
}
+
if (exitId == 1) {
if (!Loop_Actor_Walk_To_XYZ(kActorMcCoy, -125.39f, 9.0f, 372.45f, 0, true, false, 0)) {
Game_Flag_Set(kFlagBB01toBB02);
@@ -108,80 +112,81 @@ bool SceneScriptBB01::ClickedOnExit(int exitId) {
}
return true;
}
+
if (exitId == 2) {
if (!Loop_Actor_Walk_To_XYZ(kActorMcCoy, 43.0f, 0.0f, 1062.0f, 0, false, false, 0)) {
- Game_Flag_Reset(kFlagMcCoyAtCTxx);
- Game_Flag_Reset(kFlagMcCoyAtRCxx);
- Game_Flag_Reset(kFlagMcCoyAtMAxx);
- Game_Flag_Reset(kFlagMcCoyAtPSxx);
- Game_Flag_Reset(kFlagMcCoyAtBBxx);
+ Game_Flag_Reset(kFlagMcCoyInChinaTown);
+ Game_Flag_Reset(kFlagMcCoyInRunciters);
+ Game_Flag_Reset(kFlagMcCoyInMcCoyApartment);
+ Game_Flag_Reset(kFlagMcCoyInPoliceStation);
+ Game_Flag_Reset(kFlagMcCoyInBradburyBuilding);
int spinnerDest = Spinner_Interface_Choose_Dest(3, false);
switch (spinnerDest) {
case kSpinnerDestinationPoliceStation:
- Game_Flag_Set(kFlagMcCoyAtPSxx);
+ Game_Flag_Set(kFlagMcCoyInPoliceStation);
Game_Flag_Reset(kFlagSpinnerAtBB01);
Game_Flag_Set(kFlagSpinnerAtPS01);
Set_Enter(kSetPS01, kScenePS01);
Scene_Loop_Start_Special(kSceneLoopModeChangeSet, 4, true);
break;
case kSpinnerDestinationMcCoysApartment:
- Game_Flag_Set(kFlagMcCoyAtMAxx);
+ Game_Flag_Set(kFlagMcCoyInMcCoyApartment);
Game_Flag_Reset(kFlagSpinnerAtBB01);
Game_Flag_Set(kFlagSpinnerAtMA01);
Set_Enter(kSetMA01, kSceneMA01);
Scene_Loop_Start_Special(kSceneLoopModeChangeSet, 4, true);
break;
case kSpinnerDestinationRuncitersAnimals:
- Game_Flag_Set(kFlagMcCoyAtRCxx);
+ Game_Flag_Set(kFlagMcCoyInRunciters);
Game_Flag_Reset(kFlagSpinnerAtBB01);
Game_Flag_Set(kFlagSpinnerAtRC01);
Set_Enter(kSetRC01, kSceneRC01);
Scene_Loop_Start_Special(kSceneLoopModeChangeSet, 4, true);
break;
case kSpinnerDestinationChinatown:
- Game_Flag_Set(kFlagMcCoyAtCTxx);
+ Game_Flag_Set(kFlagMcCoyInChinaTown);
Game_Flag_Reset(kFlagSpinnerAtBB01);
Game_Flag_Set(kFlagSpinnerAtCT01);
Set_Enter(kSetCT01_CT12, kSceneCT01);
Scene_Loop_Start_Special(kSceneLoopModeChangeSet, 4, true);
break;
case kSpinnerDestinationAnimoidRow:
- Game_Flag_Set(kFlagMcCoyAtARxx);
+ Game_Flag_Set(kFlagMcCoyInAnimoidRow);
Game_Flag_Reset(kFlagSpinnerAtBB01);
Game_Flag_Set(kFlagSpinnerAtAR01);
Set_Enter(kSetAR01_AR02, kSceneAR01);
Scene_Loop_Start_Special(kSceneLoopModeChangeSet, 4, true);
break;
case kSpinnerDestinationTyrellBuilding:
- Game_Flag_Set(kFlagMcCoyAtTBxx);
+ Game_Flag_Set(kFlagMcCoyInTyrellBuilding);
Game_Flag_Reset(kFlagSpinnerAtBB01);
Game_Flag_Set(kFlagSpinnerAtTB02);
Set_Enter(kSetTB02_TB03, kSceneTB02);
Scene_Loop_Start_Special(kSceneLoopModeChangeSet, 4, true);
break;
case kSpinnerDestinationDNARow:
- Game_Flag_Set(kFlagMcCoyAtDRxx);
+ Game_Flag_Set(kFlagMcCoyInDNARow);
Game_Flag_Reset(kFlagSpinnerAtBB01);
Game_Flag_Set(kFlagSpinnerAtDR01);
Set_Enter(kSetDR01_DR02_DR04, kSceneDR01);
Scene_Loop_Start_Special(kSceneLoopModeChangeSet, 4, true);
break;
case kSpinnerDestinationNightclubRow:
- Game_Flag_Set(kFlagMcCoyAtNRxx);
+ Game_Flag_Set(kFlagMcCoyInNightclubRow);
Game_Flag_Reset(kFlagSpinnerAtBB01);
Game_Flag_Set(kFlagSpinnerAtNR01);
Set_Enter(kSetNR01, kSceneNR01);
Scene_Loop_Start_Special(kSceneLoopModeChangeSet, 4, true);
break;
case kSpinnerDestinationHysteriaHall:
- Game_Flag_Set(kFlagMcCoyAtHFxx);
+ Game_Flag_Set(kFlagMcCoyInHysteriaHall);
Game_Flag_Reset(kFlagSpinnerAtBB01);
Game_Flag_Set(kFlagSpinnerAtHF01);
Set_Enter(kSetHF01, kSceneHF01);
Scene_Loop_Start_Special(kSceneLoopModeChangeSet, 4, true);
break;
default:
- Game_Flag_Set(kFlagMcCoyAtBBxx);
+ Game_Flag_Set(kFlagMcCoyInBradburyBuilding);
Scene_Loop_Start_Special(kSceneLoopModeOnce, 3, true);
break;
}
@@ -199,10 +204,14 @@ void SceneScriptBB01::SceneFrameAdvanced(int frame) {
if (frame == 193) {
Sound_Play(118, 40, 0, 0, 50);
}
- if (frame == 241 || frame == 363) {
+ if (frame == 241
+ || frame == 363
+ ) {
Sound_Play(116, 100, -50, -50, 50);
}
- if (frame == 286 || frame == 407) {
+ if (frame == 286
+ || frame == 407
+ ) {
Sound_Play(119, 100, -50, -50, 50);
}
if (frame == 433) {
diff --git a/engines/bladerunner/script/scene/bb02.cpp b/engines/bladerunner/script/scene/bb02.cpp
index 2eb9251..8ebecee 100644
--- a/engines/bladerunner/script/scene/bb02.cpp
+++ b/engines/bladerunner/script/scene/bb02.cpp
@@ -24,44 +24,54 @@
namespace BladeRunner {
+enum kBB02Loops {
+ kBB02LoopElevatorComingDown = 0,
+ kBB02LoopMainElevatorDown = 1,
+ kBB02LoopElevatorGoingUp = 3,
+ kBB02LoopMainElevatorUp = 4
+};
+
void SceneScriptBB02::InitializeScene() {
if (Game_Flag_Query(kFlagBB03toBB02)) {
Setup_Scene_Information(179.0f, -415.06f, 274.0f, 904);
- } else if (Game_Flag_Query(333)) {
+ } else if (Game_Flag_Query(kFlagBB04toBB02)) {
Setup_Scene_Information(-12.0f, -415.06f, -27.0f, 264);
- Scene_Loop_Start_Special(0, 0, 0);
+ Scene_Loop_Start_Special(kSceneLoopModeLoseControl, kBB02LoopElevatorComingDown, false);
} else {
Setup_Scene_Information(98.0f, -415.06f, -593.0f, 530);
Game_Flag_Reset(kFlagBB01toBB02);
}
+
Scene_Exit_Add_2D_Exit(0, 313, 137, 353, 173, 0);
Scene_Exit_Add_2D_Exit(1, 207, 291, 275, 443, 3);
Scene_Exit_Add_2D_Exit(2, 303, 422, 639, 479, 2);
- Ambient_Sounds_Add_Looping_Sound(54, 20, 0, 1);
+
+ Ambient_Sounds_Add_Looping_Sound( 54, 20, 0, 1);
Ambient_Sounds_Add_Looping_Sound(103, 40, 0, 1);
Ambient_Sounds_Add_Sound(443, 2, 180, 14, 16, -100, 100, -101, -101, 0, 0);
Ambient_Sounds_Add_Sound(444, 2, 180, 14, 16, -100, 100, -101, -101, 0, 0);
Ambient_Sounds_Add_Sound(445, 2, 180, 14, 16, -100, 100, -101, -101, 0, 0);
Ambient_Sounds_Add_Sound(446, 2, 180, 14, 16, -100, 100, -101, -101, 0, 0);
- Ambient_Sounds_Add_Sound(82, 5, 60, 20, 40, 0, 0, -101, -101, 0, 0);
- Ambient_Sounds_Add_Sound(83, 5, 60, 20, 45, 0, 0, -101, -101, 0, 0);
- Ambient_Sounds_Add_Sound(84, 5, 60, 20, 40, 0, 0, -101, -101, 0, 0);
- Ambient_Sounds_Add_Sound(90, 5, 50, 17, 17, -100, 100, -101, -101, 0, 0);
- Ambient_Sounds_Add_Sound(91, 5, 50, 17, 17, -100, 100, -101, -101, 0, 0);
+ Ambient_Sounds_Add_Sound( 82, 5, 60, 20, 40, 0, 0, -101, -101, 0, 0);
+ Ambient_Sounds_Add_Sound( 83, 5, 60, 20, 45, 0, 0, -101, -101, 0, 0);
+ Ambient_Sounds_Add_Sound( 84, 5, 60, 20, 40, 0, 0, -101, -101, 0, 0);
+ Ambient_Sounds_Add_Sound( 90, 5, 50, 17, 17, -100, 100, -101, -101, 0, 0);
+ Ambient_Sounds_Add_Sound( 91, 5, 50, 17, 17, -100, 100, -101, -101, 0, 0);
Ambient_Sounds_Add_Sound(375, 5, 180, 25, 25, -100, 100, -101, -101, 0, 0);
Ambient_Sounds_Add_Sound(376, 5, 180, 25, 25, -100, 100, -101, -101, 0, 0);
Ambient_Sounds_Add_Sound(377, 5, 180, 25, 25, -100, 100, -101, -101, 0, 0);
- Ambient_Sounds_Add_Sound(72, 5, 80, 14, 16, -100, 100, -101, -101, 0, 0);
- Ambient_Sounds_Add_Sound(73, 5, 80, 14, 16, -100, 100, -101, -101, 0, 0);
- Ambient_Sounds_Add_Sound(74, 5, 80, 14, 16, -100, 100, -101, -101, 0, 0);
- if (!Game_Flag_Query(494)) {
- Game_Flag_Set(493);
- Game_Flag_Set(494);
+ Ambient_Sounds_Add_Sound( 72, 5, 80, 14, 16, -100, 100, -101, -101, 0, 0);
+ Ambient_Sounds_Add_Sound( 73, 5, 80, 14, 16, -100, 100, -101, -101, 0, 0);
+ Ambient_Sounds_Add_Sound( 74, 5, 80, 14, 16, -100, 100, -101, -101, 0, 0);
+
+ if (!Game_Flag_Query(kFlagBB02Entered)) {
+ Game_Flag_Set(kFlagBB02ElevatorDown);
+ Game_Flag_Set(kFlagBB02Entered);
}
- if (Game_Flag_Query(493)) {
- Scene_Loop_Set_Default(1);
+ if (Game_Flag_Query(kFlagBB02ElevatorDown)) {
+ Scene_Loop_Set_Default(kBB02LoopMainElevatorDown);
} else {
- Scene_Loop_Set_Default(4);
+ Scene_Loop_Set_Default(kBB02LoopMainElevatorUp);
}
}
@@ -96,24 +106,26 @@ bool SceneScriptBB02::ClickedOnExit(int exitId) {
}
return true;
}
+
if (exitId == 1) {
if (!Loop_Actor_Walk_To_XYZ(kActorMcCoy, -12.0f, -415.06f, -27.0f, 0, 1, false, 0)) {
Player_Loses_Control();
- if (!Game_Flag_Query(493)) {
- Scene_Loop_Start_Special(kSceneLoopModeOnce, 0, true);
+ if (!Game_Flag_Query(kFlagBB02ElevatorDown)) {
+ Scene_Loop_Start_Special(kSceneLoopModeOnce, kBB02LoopElevatorComingDown, true);
}
- Game_Flag_Set(332);
- Game_Flag_Reset(493);
+ Game_Flag_Set(kFlagBB02toBB04);
+ Game_Flag_Reset(kFlagBB02ElevatorDown);
Set_Enter(kSetBB02_BB04_BB06_BB51, kSceneBB04);
- Scene_Loop_Start_Special(kSceneLoopModeChangeSet, 3, false);
+ Scene_Loop_Start_Special(kSceneLoopModeChangeSet, kBB02LoopElevatorGoingUp, false);
}
return true;
}
+
if (exitId == 2) {
if (!Loop_Actor_Walk_To_XYZ(kActorMcCoy, 86.0f, -415.06f, 174.0f, 0, 1, false, 0)) {
Loop_Actor_Walk_To_XYZ(kActorMcCoy, 179.0f, -415.06f, 274.0f, 0, 0, false, 0);
Game_Flag_Set(kFlagBB02toBB03);
- Game_Flag_Reset(493);
+ Game_Flag_Reset(kFlagBB02ElevatorDown);
Set_Enter(kSetBB03, kSceneBB03);
}
return true;
@@ -141,10 +153,10 @@ void SceneScriptBB02::PlayerWalkedIn() {
if (Game_Flag_Query(kFlagBB03toBB02)) {
Loop_Actor_Walk_To_XYZ(kActorMcCoy, 86.0f, -415.06f, 174.0f, 0, 0, false, 0);
Game_Flag_Reset(kFlagBB03toBB02);
- } else if (Game_Flag_Query(333)) {
+ } else if (Game_Flag_Query(kFlagBB04toBB02)) {
Loop_Actor_Walk_To_XYZ(kActorMcCoy, 35.0f, -415.06f, -27.0f, 0, 0, false, 0);
Player_Gains_Control();
- Game_Flag_Reset(333);
+ Game_Flag_Reset(kFlagBB04toBB02);
}
}
diff --git a/engines/bladerunner/script/scene/bb03.cpp b/engines/bladerunner/script/scene/bb03.cpp
index 9ecbb95..b21fcd3 100644
--- a/engines/bladerunner/script/scene/bb03.cpp
+++ b/engines/bladerunner/script/scene/bb03.cpp
@@ -33,32 +33,34 @@ void SceneScriptBB03::InitializeScene() {
if (Game_Flag_Query(kFlagBB05toBB03)) {
Setup_Scene_Information(204.0f, 60.16f, -164.0f, 740);
}
- Scene_Exit_Add_2D_Exit(0, 589, 0, 639, 479, 1);
+
+ Scene_Exit_Add_2D_Exit(0, 589, 0, 639, 479, 1);
Scene_Exit_Add_2D_Exit(1, 167, 372, 439, 479, 2);
Scene_Exit_Add_2D_Exit(2, 451, 115, 547, 320, 1);
- Ambient_Sounds_Add_Looping_Sound(54, 20, 0, 1);
- Ambient_Sounds_Add_Looping_Sound(103, 40, 0, 1);
+
+ Ambient_Sounds_Add_Looping_Sound( 54, 20, 0, 1);
+ Ambient_Sounds_Add_Looping_Sound(103, 40, 0, 1);
Ambient_Sounds_Add_Looping_Sound(105, 34, 100, 1);
Ambient_Sounds_Add_Sound(443, 2, 180, 14, 16, -100, 100, -101, -101, 0, 0);
Ambient_Sounds_Add_Sound(444, 2, 180, 14, 16, -100, 100, -101, -101, 0, 0);
Ambient_Sounds_Add_Sound(445, 2, 180, 14, 16, -100, 100, -101, -101, 0, 0);
Ambient_Sounds_Add_Sound(446, 2, 180, 14, 16, -100, 100, -101, -101, 0, 0);
- Ambient_Sounds_Add_Sound(303, 5, 50, 17, 27, -100, 100, -101, -101, 0, 0);
- Ambient_Sounds_Add_Sound(304, 5, 50, 17, 27, -100, 100, -101, -101, 0, 0);
- Ambient_Sounds_Add_Sound(305, 5, 50, 17, 27, -100, 100, -101, -101, 0, 0);
- Ambient_Sounds_Add_Sound(306, 5, 50, 17, 27, -100, 100, -101, -101, 0, 0);
- Ambient_Sounds_Add_Sound(307, 5, 50, 17, 27, -100, 100, -101, -101, 0, 0);
- Ambient_Sounds_Add_Sound(308, 5, 50, 17, 27, -100, 100, -101, -101, 0, 0);
- Ambient_Sounds_Add_Sound(309, 5, 50, 17, 27, -100, 100, -101, -101, 0, 0);
- Ambient_Sounds_Add_Sound(310, 5, 50, 17, 27, -100, 100, -101, -101, 0, 0);
- Ambient_Sounds_Add_Sound(90, 5, 50, 17, 17, -100, 100, -101, -101, 0, 0);
- Ambient_Sounds_Add_Sound(91, 5, 50, 17, 17, -100, 100, -101, -101, 0, 0);
+ Ambient_Sounds_Add_Sound(303, 5, 50, 17, 27, -100, 100, -101, -101, 0, 0);
+ Ambient_Sounds_Add_Sound(304, 5, 50, 17, 27, -100, 100, -101, -101, 0, 0);
+ Ambient_Sounds_Add_Sound(305, 5, 50, 17, 27, -100, 100, -101, -101, 0, 0);
+ Ambient_Sounds_Add_Sound(306, 5, 50, 17, 27, -100, 100, -101, -101, 0, 0);
+ Ambient_Sounds_Add_Sound(307, 5, 50, 17, 27, -100, 100, -101, -101, 0, 0);
+ Ambient_Sounds_Add_Sound(308, 5, 50, 17, 27, -100, 100, -101, -101, 0, 0);
+ Ambient_Sounds_Add_Sound(309, 5, 50, 17, 27, -100, 100, -101, -101, 0, 0);
+ Ambient_Sounds_Add_Sound(310, 5, 50, 17, 27, -100, 100, -101, -101, 0, 0);
+ Ambient_Sounds_Add_Sound( 90, 5, 50, 17, 17, -100, 100, -101, -101, 0, 0);
+ Ambient_Sounds_Add_Sound( 91, 5, 50, 17, 17, -100, 100, -101, -101, 0, 0);
Ambient_Sounds_Add_Sound(375, 5, 180, 25, 25, -100, 100, -101, -101, 0, 0);
Ambient_Sounds_Add_Sound(376, 5, 180, 25, 25, -100, 100, -101, -101, 0, 0);
Ambient_Sounds_Add_Sound(377, 5, 180, 25, 25, -100, 100, -101, -101, 0, 0);
- Ambient_Sounds_Add_Sound(72, 5, 80, 20, 20, -100, 100, -101, -101, 0, 0);
- Ambient_Sounds_Add_Sound(73, 5, 80, 20, 20, -100, 100, -101, -101, 0, 0);
- Ambient_Sounds_Add_Sound(74, 5, 80, 20, 20, -100, 100, -101, -101, 0, 0);
+ Ambient_Sounds_Add_Sound( 72, 5, 80, 20, 20, -100, 100, -101, -101, 0, 0);
+ Ambient_Sounds_Add_Sound( 73, 5, 80, 20, 20, -100, 100, -101, -101, 0, 0);
+ Ambient_Sounds_Add_Sound( 74, 5, 80, 20, 20, -100, 100, -101, -101, 0, 0);
}
void SceneScriptBB03::SceneLoaded() {
@@ -84,8 +86,8 @@ bool SceneScriptBB03::ClickedOnItem(int itemId, bool a2) {
bool SceneScriptBB03::ClickedOnExit(int exitId) {
if (exitId == 0) {
- if (!Loop_Actor_Walk_To_XYZ(kActorMcCoy, 176.0f, 60.16f, -64.0f, 0, 1, false, 0)) {
- Loop_Actor_Walk_To_XYZ(kActorMcCoy, 176.0f, 60.16f, 0.0f, 0, 0, false, 0);
+ if (!Loop_Actor_Walk_To_XYZ(kActorMcCoy, 176.0f, 60.16f, -64.0f, 0, true, false, 0)) {
+ Loop_Actor_Walk_To_XYZ(kActorMcCoy, 176.0f, 60.16f, 0.0f, 0, false, false, 0);
Game_Flag_Set(kFlagBB03toBB04);
Ambient_Sounds_Remove_All_Non_Looping_Sounds(true);
Ambient_Sounds_Remove_All_Looping_Sounds(1);
@@ -93,8 +95,9 @@ bool SceneScriptBB03::ClickedOnExit(int exitId) {
}
return true;
}
+
if (exitId == 1) {
- if (!Loop_Actor_Walk_To_XYZ(kActorMcCoy, 20.0f, 60.16f, 0.0f, 0, 1, false, 0)) {
+ if (!Loop_Actor_Walk_To_XYZ(kActorMcCoy, 20.0f, 60.16f, 0.0f, 0, true, false, 0)) {
Game_Flag_Set(kFlagBB03toBB02);
Ambient_Sounds_Remove_All_Non_Looping_Sounds(true);
Ambient_Sounds_Remove_All_Looping_Sounds(1);
@@ -102,19 +105,20 @@ bool SceneScriptBB03::ClickedOnExit(int exitId) {
}
return true;
}
+
if (exitId == 2) {
- if (!Loop_Actor_Walk_To_XYZ(kActorMcCoy, 204.0f, 60.16f, -164.0f, 0, 1, false, 0)) {
+ if (!Loop_Actor_Walk_To_XYZ(kActorMcCoy, 204.0f, 60.16f, -164.0f, 0, true, false, 0)) {
if (Global_Variable_Query(kVariableChapter) < 4) {
if (Actor_Query_Goal_Number(kActorSebastian) == 200) {
- Actor_Says(kActorSebastian, 70, 3);
+ Actor_Says(kActorSebastian, 70, kAnimationModeTalk);
Actor_Says(kActorMcCoy, 7010, 13);
- Actor_Says(kActorSebastian, 80, 3);
+ Actor_Says(kActorSebastian, 80, kAnimationModeTalk);
Actor_Says(kActorMcCoy, 7015, 12);
- Actor_Says(kActorSebastian, 90, 3);
+ Actor_Says(kActorSebastian, 90, kAnimationModeTalk);
Actor_Says(kActorMcCoy, 7020, 14);
- Actor_Says(kActorSebastian, 100, 3);
+ Actor_Says(kActorSebastian, 100, kAnimationModeTalk);
Actor_Says(kActorMcCoy, 7025, 15);
- Actor_Says(kActorSebastian, 110, 3);
+ Actor_Says(kActorSebastian, 110, kAnimationModeTalk);
Actor_Set_Targetable(kActorBryant, false);
Actor_Set_Targetable(kActorGeneralDoll, false);
}
@@ -123,7 +127,7 @@ bool SceneScriptBB03::ClickedOnExit(int exitId) {
Ambient_Sounds_Remove_All_Looping_Sounds(1);
Set_Enter(kSetBB05, kSceneBB05);
} else {
- Actor_Says(kActorMcCoy, 8522, 3);
+ Actor_Says(kActorMcCoy, 8522, kAnimationModeTalk);
}
}
return true;
diff --git a/engines/bladerunner/script/scene/bb04.cpp b/engines/bladerunner/script/scene/bb04.cpp
index 1bf12cb..ab935ad 100644
--- a/engines/bladerunner/script/scene/bb04.cpp
+++ b/engines/bladerunner/script/scene/bb04.cpp
@@ -31,31 +31,33 @@ void SceneScriptBB04::InitializeScene() {
} else {
Setup_Scene_Information(-15.0f, -25.17f, 45.0f, 691);
}
+
Scene_Exit_Add_2D_Exit(0, 218, 102, 360, 254, 1);
- Scene_Exit_Add_2D_Exit(1, 0, 334, 639, 479, 2);
- Ambient_Sounds_Add_Looping_Sound(54, 20, 0, 1);
- Ambient_Sounds_Add_Looping_Sound(103, 40, 0, 1);
+ Scene_Exit_Add_2D_Exit(1, 0, 334, 639, 479, 2);
+
+ Ambient_Sounds_Add_Looping_Sound( 54, 20, 0, 1);
+ Ambient_Sounds_Add_Looping_Sound(103, 40, 0, 1);
Ambient_Sounds_Add_Looping_Sound(105, 44, -100, 1);
Ambient_Sounds_Add_Sound(443, 2, 180, 14, 16, -100, 100, -101, -101, 0, 0);
Ambient_Sounds_Add_Sound(444, 2, 180, 14, 16, -100, 100, -101, -101, 0, 0);
Ambient_Sounds_Add_Sound(445, 2, 180, 14, 16, -100, 100, -101, -101, 0, 0);
Ambient_Sounds_Add_Sound(446, 2, 180, 14, 16, -100, 100, -101, -101, 0, 0);
- Ambient_Sounds_Add_Sound(303, 5, 50, 17, 27, -100, 100, -101, -101, 0, 0);
- Ambient_Sounds_Add_Sound(304, 5, 50, 17, 27, -100, 100, -101, -101, 0, 0);
- Ambient_Sounds_Add_Sound(305, 5, 50, 17, 27, -100, 100, -101, -101, 0, 0);
- Ambient_Sounds_Add_Sound(306, 5, 50, 17, 27, -100, 100, -101, -101, 0, 0);
- Ambient_Sounds_Add_Sound(307, 5, 50, 17, 27, -100, 100, -101, -101, 0, 0);
- Ambient_Sounds_Add_Sound(308, 5, 50, 17, 27, -100, 100, -101, -101, 0, 0);
- Ambient_Sounds_Add_Sound(309, 5, 50, 17, 27, -100, 100, -101, -101, 0, 0);
- Ambient_Sounds_Add_Sound(310, 5, 50, 17, 27, -100, 100, -101, -101, 0, 0);
- Ambient_Sounds_Add_Sound(90, 5, 50, 17, 17, -100, 100, -101, -101, 0, 0);
- Ambient_Sounds_Add_Sound(91, 5, 50, 17, 17, -100, 100, -101, -101, 0, 0);
+ Ambient_Sounds_Add_Sound(303, 5, 50, 17, 27, -100, 100, -101, -101, 0, 0);
+ Ambient_Sounds_Add_Sound(304, 5, 50, 17, 27, -100, 100, -101, -101, 0, 0);
+ Ambient_Sounds_Add_Sound(305, 5, 50, 17, 27, -100, 100, -101, -101, 0, 0);
+ Ambient_Sounds_Add_Sound(306, 5, 50, 17, 27, -100, 100, -101, -101, 0, 0);
+ Ambient_Sounds_Add_Sound(307, 5, 50, 17, 27, -100, 100, -101, -101, 0, 0);
+ Ambient_Sounds_Add_Sound(308, 5, 50, 17, 27, -100, 100, -101, -101, 0, 0);
+ Ambient_Sounds_Add_Sound(309, 5, 50, 17, 27, -100, 100, -101, -101, 0, 0);
+ Ambient_Sounds_Add_Sound(310, 5, 50, 17, 27, -100, 100, -101, -101, 0, 0);
+ Ambient_Sounds_Add_Sound( 90, 5, 50, 17, 17, -100, 100, -101, -101, 0, 0);
+ Ambient_Sounds_Add_Sound( 91, 5, 50, 17, 17, -100, 100, -101, -101, 0, 0);
Ambient_Sounds_Add_Sound(375, 5, 180, 25, 25, -100, 100, -101, -101, 0, 0);
Ambient_Sounds_Add_Sound(376, 5, 180, 25, 25, -100, 100, -101, -101, 0, 0);
Ambient_Sounds_Add_Sound(377, 5, 180, 25, 25, -100, 100, -101, -101, 0, 0);
- Ambient_Sounds_Add_Sound(72, 5, 80, 20, 20, -100, 100, -101, -101, 0, 0);
- Ambient_Sounds_Add_Sound(73, 5, 80, 20, 20, -100, 100, -101, -101, 0, 0);
- Ambient_Sounds_Add_Sound(74, 5, 80, 20, 20, -100, 100, -101, -101, 0, 0);
+ Ambient_Sounds_Add_Sound( 72, 5, 80, 20, 20, -100, 100, -101, -101, 0, 0);
+ Ambient_Sounds_Add_Sound( 73, 5, 80, 20, 20, -100, 100, -101, -101, 0, 0);
+ Ambient_Sounds_Add_Sound( 74, 5, 80, 20, 20, -100, 100, -101, -101, 0, 0);
}
void SceneScriptBB04::SceneLoaded() {
@@ -80,19 +82,20 @@ bool SceneScriptBB04::ClickedOnItem(int itemId, bool a2) {
bool SceneScriptBB04::ClickedOnExit(int exitId) {
if (exitId == 0) {
- if (!Loop_Actor_Walk_To_XYZ(kActorMcCoy, -92.0f, -26.6f, 45.0f, 0, 1, false, 0)) {
+ if (!Loop_Actor_Walk_To_XYZ(kActorMcCoy, -92.0f, -26.6f, 45.0f, 0, true, false, 0)) {
Player_Loses_Control();
- Loop_Actor_Walk_To_XYZ(kActorMcCoy, -15.0f, -25.17f, 45.0f, 0, 0, false, 0);
+ Loop_Actor_Walk_To_XYZ(kActorMcCoy, -15.0f, -25.17f, 45.0f, 0, false, false, 0);
Ambient_Sounds_Remove_All_Non_Looping_Sounds(true);
Ambient_Sounds_Remove_All_Looping_Sounds(1);
- Game_Flag_Set(333);
+ Game_Flag_Set(kFlagBB04toBB02);
Game_Flag_Set(493);
Set_Enter(kSetBB02_BB04_BB06_BB51, kSceneBB02);
}
return true;
}
+
if (exitId == 1) {
- if (!Loop_Actor_Walk_To_XYZ(kActorMcCoy, -107.0f, -26.6f, 397.0f, 0, 1, false, 0)) {
+ if (!Loop_Actor_Walk_To_XYZ(kActorMcCoy, -107.0f, -26.6f, 397.0f, 0, true, false, 0)) {
Ambient_Sounds_Remove_All_Non_Looping_Sounds(true);
Ambient_Sounds_Remove_All_Looping_Sounds(1);
Game_Flag_Set(kFlagBB04toBB03);
@@ -114,10 +117,10 @@ void SceneScriptBB04::ActorChangedGoal(int actorId, int newGoal, int oldGoal, bo
}
void SceneScriptBB04::PlayerWalkedIn() {
- if (Game_Flag_Query(332)) {
- Loop_Actor_Walk_To_XYZ(kActorMcCoy, -92.0f, -26.6f, 45.0f, 0, 0, false, 0);
+ if (Game_Flag_Query(kFlagBB02toBB04)) {
+ Loop_Actor_Walk_To_XYZ(kActorMcCoy, -92.0f, -26.6f, 45.0f, 0, false, false, 0);
Player_Gains_Control();
- Game_Flag_Reset(332);
+ Game_Flag_Reset(kFlagBB02toBB04);
}
}
diff --git a/engines/bladerunner/script/scene/bb05.cpp b/engines/bladerunner/script/scene/bb05.cpp
index 95e3975..cf78829 100644
--- a/engines/bladerunner/script/scene/bb05.cpp
+++ b/engines/bladerunner/script/scene/bb05.cpp
@@ -26,39 +26,42 @@ namespace BladeRunner {
void SceneScriptBB05::InitializeScene() {
if (Game_Flag_Query(kFlagBB06toBB05)) {
- Setup_Scene_Information(95.0f, -60.31f, 331.0f, 0);
+ Setup_Scene_Information( 95.0f, -60.31f, 331.0f, 0);
} else if (Game_Flag_Query(kFlagBB12toBB05)) {
- Setup_Scene_Information(87.0f, -60.34f, -96.0f, 0);
+ Setup_Scene_Information( 87.0f, -60.34f, -96.0f, 0);
} else if (Game_Flag_Query(kFlagBB07toBB05)) {
- Setup_Scene_Information(271.0f, -60.31f, 203.0f, 0);
+ Setup_Scene_Information( 271.0f, -60.31f, 203.0f, 0);
} else {
Setup_Scene_Information(-212.0f, -60.31f, 131.0f, 0);
}
- Scene_Exit_Add_2D_Exit(0, 92, 125, 187, 317, 3);
- Scene_Exit_Add_2D_Exit(1, 0, 0, 30, 479, 3);
- Scene_Exit_Add_2D_Exit(2, 589, 0, 639, 479, 1);
+
+ Scene_Exit_Add_2D_Exit(0, 92, 125, 187, 317, 3);
+ Scene_Exit_Add_2D_Exit(1, 0, 0, 30, 479, 3);
+ Scene_Exit_Add_2D_Exit(2, 589, 0, 639, 479, 1);
Scene_Exit_Add_2D_Exit(3, 481, 113, 573, 307, 0);
- Ambient_Sounds_Add_Looping_Sound(54, 12, 0, 1);
+
+ Ambient_Sounds_Add_Looping_Sound( 54, 12, 0, 1);
Ambient_Sounds_Add_Looping_Sound(103, 28, 0, 1);
Ambient_Sounds_Add_Looping_Sound(105, 14, 0, 1);
- Ambient_Sounds_Add_Sound(303, 5, 50, 17, 27, -100, 100, -101, -101, 0, 0);
- Ambient_Sounds_Add_Sound(304, 5, 50, 17, 27, -100, 100, -101, -101, 0, 0);
- Ambient_Sounds_Add_Sound(305, 5, 50, 17, 27, -100, 100, -101, -101, 0, 0);
- Ambient_Sounds_Add_Sound(306, 5, 50, 17, 27, -100, 100, -101, -101, 0, 0);
- Ambient_Sounds_Add_Sound(307, 5, 50, 17, 27, -100, 100, -101, -101, 0, 0);
- Ambient_Sounds_Add_Sound(308, 5, 50, 17, 27, -100, 100, -101, -101, 0, 0);
- Ambient_Sounds_Add_Sound(309, 5, 50, 17, 27, -100, 100, -101, -101, 0, 0);
- Ambient_Sounds_Add_Sound(310, 5, 50, 17, 27, -100, 100, -101, -101, 0, 0);
- Ambient_Sounds_Add_Sound(90, 5, 50, 17, 17, -100, 100, -101, -101, 0, 0);
- Ambient_Sounds_Add_Sound(91, 5, 50, 17, 17, -100, 100, -101, -101, 0, 0);
+ Ambient_Sounds_Add_Sound(303, 5, 50, 17, 27, -100, 100, -101, -101, 0, 0);
+ Ambient_Sounds_Add_Sound(304, 5, 50, 17, 27, -100, 100, -101, -101, 0, 0);
+ Ambient_Sounds_Add_Sound(305, 5, 50, 17, 27, -100, 100, -101, -101, 0, 0);
+ Ambient_Sounds_Add_Sound(306, 5, 50, 17, 27, -100, 100, -101, -101, 0, 0);
+ Ambient_Sounds_Add_Sound(307, 5, 50, 17, 27, -100, 100, -101, -101, 0, 0);
+ Ambient_Sounds_Add_Sound(308, 5, 50, 17, 27, -100, 100, -101, -101, 0, 0);
+ Ambient_Sounds_Add_Sound(309, 5, 50, 17, 27, -100, 100, -101, -101, 0, 0);
+ Ambient_Sounds_Add_Sound(310, 5, 50, 17, 27, -100, 100, -101, -101, 0, 0);
+ Ambient_Sounds_Add_Sound( 90, 5, 50, 17, 17, -100, 100, -101, -101, 0, 0);
+ Ambient_Sounds_Add_Sound( 91, 5, 50, 17, 17, -100, 100, -101, -101, 0, 0);
Ambient_Sounds_Add_Sound(375, 5, 180, 25, 25, -100, 100, -101, -101, 0, 0);
Ambient_Sounds_Add_Sound(376, 5, 180, 25, 25, -100, 100, -101, -101, 0, 0);
Ambient_Sounds_Add_Sound(377, 5, 180, 25, 25, -100, 100, -101, -101, 0, 0);
- Ambient_Sounds_Add_Sound(72, 5, 80, 14, 14, -100, 100, -101, -101, 0, 0);
- Ambient_Sounds_Add_Sound(73, 5, 80, 14, 14, -100, 100, -101, -101, 0, 0);
- Ambient_Sounds_Add_Sound(74, 5, 80, 14, 14, -100, 100, -101, -101, 0, 0);
+ Ambient_Sounds_Add_Sound( 72, 5, 80, 14, 14, -100, 100, -101, -101, 0, 0);
+ Ambient_Sounds_Add_Sound( 73, 5, 80, 14, 14, -100, 100, -101, -101, 0, 0);
+ Ambient_Sounds_Add_Sound( 74, 5, 80, 14, 14, -100, 100, -101, -101, 0, 0);
+
if (!Game_Flag_Query(495)) {
- Overlay_Play("BB05OVER", 0, 0, 0, 0);
+ Overlay_Play("BB05OVER", 0, false, false, 0);
Game_Flag_Set(495);
}
}
@@ -97,7 +100,7 @@ bool SceneScriptBB05::ClickedOnItem(int itemId, bool a2) {
bool SceneScriptBB05::ClickedOnExit(int exitId) {
if (exitId == 0) {
- if (!Loop_Actor_Walk_To_XYZ(kActorMcCoy, -212.0f, -60.31f, 131.0f, 0, 1, false, 0)) {
+ if (!Loop_Actor_Walk_To_XYZ(kActorMcCoy, -212.0f, -60.31f, 131.0f, 0, true, false, 0)) {
Ambient_Sounds_Remove_All_Non_Looping_Sounds(true);
Ambient_Sounds_Remove_All_Looping_Sounds(1);
Game_Flag_Set(kFlagBB05toBB03);
@@ -105,8 +108,9 @@ bool SceneScriptBB05::ClickedOnExit(int exitId) {
}
return true;
}
+
if (exitId == 1) {
- if (!Loop_Actor_Walk_To_XYZ(kActorMcCoy, 95.0f, -60.31f, 331.0f, 0, 1, false, 0)) {
+ if (!Loop_Actor_Walk_To_XYZ(kActorMcCoy, 95.0f, -60.31f, 331.0f, 0, true, false, 0)) {
Ambient_Sounds_Remove_All_Non_Looping_Sounds(true);
Ambient_Sounds_Remove_All_Looping_Sounds(1);
Game_Flag_Set(kFlagBB05toBB06);
@@ -114,8 +118,9 @@ bool SceneScriptBB05::ClickedOnExit(int exitId) {
}
return true;
}
+
if (exitId == 2) {
- if (!Loop_Actor_Walk_To_XYZ(kActorMcCoy, 271.0f, -60.31f, 203.0f, 0, 1, false, 0)) {
+ if (!Loop_Actor_Walk_To_XYZ(kActorMcCoy, 271.0f, -60.31f, 203.0f, 0, true, false, 0)) {
Ambient_Sounds_Remove_All_Non_Looping_Sounds(true);
Ambient_Sounds_Remove_All_Looping_Sounds(1);
Game_Flag_Set(kFlagBB05toBB07);
@@ -123,8 +128,9 @@ bool SceneScriptBB05::ClickedOnExit(int exitId) {
}
return true;
}
+
if (exitId == 3) {
- if (!Loop_Actor_Walk_To_XYZ(kActorMcCoy, 151.0f, -60.34f, -108.0f, 0, 1, false, 0)) {
+ if (!Loop_Actor_Walk_To_XYZ(kActorMcCoy, 151.0f, -60.34f, -108.0f, 0, true, false, 0)) {
Ambient_Sounds_Remove_All_Non_Looping_Sounds(true);
Ambient_Sounds_Remove_All_Looping_Sounds(1);
Game_Flag_Set(kFlagBB05toBB12);
@@ -147,18 +153,19 @@ void SceneScriptBB05::ActorChangedGoal(int actorId, int newGoal, int oldGoal, bo
void SceneScriptBB05::PlayerWalkedIn() {
if (Game_Flag_Query(kFlagBB06toBB05)) {
- Loop_Actor_Walk_To_XYZ(kActorMcCoy, 95.0f, -60.31f, 303.0f, 0, 0, false, 0);
+ Loop_Actor_Walk_To_XYZ(kActorMcCoy, 95.0f, -60.31f, 303.0f, 0, false, false, 0);
Game_Flag_Reset(kFlagBB06toBB05);
} else if (Game_Flag_Query(kFlagBB07toBB05)) {
- Loop_Actor_Walk_To_XYZ(kActorMcCoy, 231.0f, -60.31f, 203.0f, 0, 0, false, 0);
+ Loop_Actor_Walk_To_XYZ(kActorMcCoy, 231.0f, -60.31f, 203.0f, 0, false, false, 0);
Game_Flag_Reset(kFlagBB07toBB05);
} else if (Game_Flag_Query(kFlagBB12toBB05)) {
- Loop_Actor_Walk_To_XYZ(kActorMcCoy, 111.0f, -60.31f, -24.0f, 0, 0, false, 0);
+ Loop_Actor_Walk_To_XYZ(kActorMcCoy, 111.0f, -60.31f, -24.0f, 0, false, false, 0);
Game_Flag_Reset(kFlagBB12toBB05);
} else {
- Loop_Actor_Walk_To_XYZ(kActorMcCoy, -76.0f, -60.31f, 131.0f, 0, 0, false, 0);
+ Loop_Actor_Walk_To_XYZ(kActorMcCoy, -76.0f, -60.31f, 131.0f, 0, false, false, 0);
Game_Flag_Reset(kFlagBB03toBB05);
}
+
if (Actor_Query_Goal_Number(kActorSebastian) == 200) {
Actor_Face_Actor(kActorSebastian, kActorMcCoy, true);
Actor_Face_Actor(kActorMcCoy, kActorSebastian, true);
@@ -182,12 +189,12 @@ void SceneScriptBB05::PlayerWalkedIn() {
} else {
Actor_Put_In_Set(kActorGeneralDoll, kSetBB05);
Actor_Set_At_Waypoint(kActorGeneralDoll, 134, 0);
- Loop_Actor_Walk_To_Waypoint(kActorGeneralDoll, 135, 0, 0, false);
- Actor_Says(kActorGeneralDoll, 0, 3);
+ Loop_Actor_Walk_To_Waypoint(kActorGeneralDoll, 135, 0, false, false);
+ Actor_Says(kActorGeneralDoll, 0, kAnimationModeTalk);
Actor_Face_Actor(kActorMcCoy, kActorGeneralDoll, true);
Actor_Face_Actor(kActorSebastian, kActorGeneralDoll, true);
Actor_Says(kActorSebastian, 220, 13);
- Loop_Actor_Walk_To_Waypoint(kActorGeneralDoll, 134, 0, 0, false);
+ Loop_Actor_Walk_To_Waypoint(kActorGeneralDoll, 134, 0, false, false);
Actor_Face_Actor(kActorSebastian, kActorMcCoy, true);
Actor_Face_Actor(kActorMcCoy, kActorSebastian, true);
Actor_Says(kActorSebastian, 230, 15);
diff --git a/engines/bladerunner/script/scene/bb06.cpp b/engines/bladerunner/script/scene/bb06.cpp
index 7821b73..51fc0db 100644
--- a/engines/bladerunner/script/scene/bb06.cpp
+++ b/engines/bladerunner/script/scene/bb06.cpp
@@ -25,49 +25,54 @@
namespace BladeRunner {
void SceneScriptBB06::InitializeScene() {
- if (Game_Flag_Query(394)) {
- Setup_Scene_Information(76.0f, 0.0f, 79.0f, 622);
- } else if (Game_Flag_Query(395)) {
- Setup_Scene_Information(55.0f, 0.0f, -96.0f, 761);
- } else if (Game_Flag_Query(362)) {
+ if (Game_Flag_Query(kFlagBB51toBB06a)) {
+ Setup_Scene_Information( 76.0f, 0.0f, 79.0f, 622);
+ } else if (Game_Flag_Query(kFlagBB51toBB06b)) {
+ Setup_Scene_Information( 55.0f, 0.0f, -96.0f, 761);
+ } else if (Game_Flag_Query(kFlagBB07toBB06)) {
Setup_Scene_Information(-115.0f, 0.0f, -103.0f, 375);
- Game_Flag_Reset(362);
+ Game_Flag_Reset(kFlagBB07toBB06);
} else {
Setup_Scene_Information(-37.0f, 0.0f, 178.0f, 0);
}
- Scene_Exit_Add_2D_Exit(0, 0, 43, 14, 478, 3);
- Scene_Exit_Add_2D_Exit(1, 425, 0, 639, 361, 0);
+
+ Scene_Exit_Add_2D_Exit(0, 0, 43, 14, 478, 3);
+ Scene_Exit_Add_2D_Exit(1, 425, 0, 639, 361, 0);
Scene_Exit_Add_2D_Exit(3, 195, 164, 239, 280, 3);
+
Ambient_Sounds_Add_Looping_Sound(103, 28, 0, 1);
- Ambient_Sounds_Add_Sound(303, 5, 50, 17, 27, -100, 100, -101, -101, 0, 0);
- Ambient_Sounds_Add_Sound(304, 5, 50, 17, 27, -100, 100, -101, -101, 0, 0);
+ Ambient_Sounds_Add_Sound(303, 5, 50, 17, 27, -100, 100, -101, -101, 0, 0);
+ Ambient_Sounds_Add_Sound(304, 5, 50, 17, 27, -100, 100, -101, -101, 0, 0);
Ambient_Sounds_Add_Sound(443, 2, 180, 14, 16, -100, 100, -101, -101, 0, 0);
Ambient_Sounds_Add_Sound(444, 2, 180, 14, 16, -100, 100, -101, -101, 0, 0);
Ambient_Sounds_Add_Sound(445, 2, 180, 14, 16, -100, 100, -101, -101, 0, 0);
Ambient_Sounds_Add_Sound(446, 2, 180, 14, 16, -100, 100, -101, -101, 0, 0);
- Ambient_Sounds_Add_Sound(305, 5, 50, 17, 27, -100, 100, -101, -101, 0, 0);
- Ambient_Sounds_Add_Sound(306, 5, 50, 17, 27, -100, 100, -101, -101, 0, 0);
- Ambient_Sounds_Add_Sound(307, 5, 50, 17, 27, -100, 100, -101, -101, 0, 0);
- Ambient_Sounds_Add_Sound(308, 5, 50, 17, 27, -100, 100, -101, -101, 0, 0);
- Ambient_Sounds_Add_Sound(309, 5, 50, 17, 27, -100, 100, -101, -101, 0, 0);
- Ambient_Sounds_Add_Sound(310, 5, 50, 17, 27, -100, 100, -101, -101, 0, 0);
- if (Game_Flag_Query(394) || Game_Flag_Query(395)) {
- Scene_Loop_Start_Special(0, 0, 0);
+ Ambient_Sounds_Add_Sound(305, 5, 50, 17, 27, -100, 100, -101, -101, 0, 0);
+ Ambient_Sounds_Add_Sound(306, 5, 50, 17, 27, -100, 100, -101, -101, 0, 0);
+ Ambient_Sounds_Add_Sound(307, 5, 50, 17, 27, -100, 100, -101, -101, 0, 0);
+ Ambient_Sounds_Add_Sound(308, 5, 50, 17, 27, -100, 100, -101, -101, 0, 0);
+ Ambient_Sounds_Add_Sound(309, 5, 50, 17, 27, -100, 100, -101, -101, 0, 0);
+ Ambient_Sounds_Add_Sound(310, 5, 50, 17, 27, -100, 100, -101, -101, 0, 0);
+
+ if (Game_Flag_Query(kFlagBB51toBB06a)
+ || Game_Flag_Query(kFlagBB51toBB06b)
+ ) {
+ Scene_Loop_Start_Special(kSceneLoopModeLoseControl, 0, false);
Scene_Loop_Set_Default(1);
- Game_Flag_Reset(394);
- Game_Flag_Reset(395);
+ Game_Flag_Reset(kFlagBB51toBB06a);
+ Game_Flag_Reset(kFlagBB51toBB06b);
} else {
Scene_Loop_Set_Default(1);
}
if (Game_Flag_Query(410)) {
- Overlay_Play("BB06OVER", 1, 1, 0, 0);
+ Overlay_Play("BB06OVER", 1, true, false, 0);
}
}
void SceneScriptBB06::SceneLoaded() {
Obstacle_Object("V2CHESSTBL01", true);
Clickable_Object("BOX31");
- Item_Add_To_World(77, 931, 2, -127.0f, 68.42f, 57.0f, 0, 8, 8, true, true, false, true);
+ Item_Add_To_World(77, 931, kSetBB02_BB04_BB06_BB51, -127.0f, 68.42f, 57.0f, 0, 8, 8, true, true, false, true);
}
bool SceneScriptBB06::MouseClick(int x, int y) {
@@ -96,7 +101,7 @@ bool SceneScriptBB06::ClickedOnActor(int actorId) {
bool SceneScriptBB06::ClickedOnItem(int itemId, bool a2) {
if (itemId == 77) {
if (Player_Query_Combat_Mode()) {
- Overlay_Play("BB06OVER", 1, 1, 1, 0);
+ Overlay_Play("BB06OVER", 1, true, true, 0);
Game_Flag_Set(410);
Item_Remove_From_World(77);
return true;
@@ -107,7 +112,7 @@ bool SceneScriptBB06::ClickedOnItem(int itemId, bool a2) {
bool SceneScriptBB06::ClickedOnExit(int exitId) {
if (exitId == 0) {
- if (!Loop_Actor_Walk_To_XYZ(kActorMcCoy, -37.0f, 0.0f, 178.0f, 0, 1, false, 0)) {
+ if (!Loop_Actor_Walk_To_XYZ(kActorMcCoy, -37.0f, 0.0f, 178.0f, 0, true, false, 0)) {
Ambient_Sounds_Remove_All_Non_Looping_Sounds(true);
Ambient_Sounds_Remove_All_Looping_Sounds(1);
Game_Flag_Set(kFlagBB06toBB05);
@@ -115,20 +120,22 @@ bool SceneScriptBB06::ClickedOnExit(int exitId) {
}
return true;
}
+
if (exitId == 1) {
- if (!Loop_Actor_Walk_To_XYZ(kActorMcCoy, 101.0f, 0.0f, -25.0f, 0, 1, false, 0)) {
+ if (!Loop_Actor_Walk_To_XYZ(kActorMcCoy, 101.0f, 0.0f, -25.0f, 0, true, false, 0)) {
Ambient_Sounds_Remove_All_Non_Looping_Sounds(true);
Ambient_Sounds_Remove_All_Looping_Sounds(1);
- Game_Flag_Set(393);
+ Game_Flag_Set(kFlagBB06toBB51);
Set_Enter(kSetBB02_BB04_BB06_BB51, kSceneBB51);
}
return true;
}
+
if (exitId == 3) {
- if (!Loop_Actor_Walk_To_XYZ(kActorMcCoy, -115.0f, 0.0f, -103.0f, 0, 1, false, 0)) {
+ if (!Loop_Actor_Walk_To_XYZ(kActorMcCoy, -115.0f, 0.0f, -103.0f, 0, true, false, 0)) {
Ambient_Sounds_Remove_All_Non_Looping_Sounds(true);
Ambient_Sounds_Remove_All_Looping_Sounds(1);
- Game_Flag_Set(363);
+ Game_Flag_Set(kFlagBB06toBB07);
Set_Enter(kSetBB06_BB07, kSceneBB07);
}
return true;
diff --git a/engines/bladerunner/script/scene/bb07.cpp b/engines/bladerunner/script/scene/bb07.cpp
index ba1d7bc..37bf9b5 100644
--- a/engines/bladerunner/script/scene/bb07.cpp
+++ b/engines/bladerunner/script/scene/bb07.cpp
@@ -25,33 +25,36 @@
namespace BladeRunner {
void SceneScriptBB07::InitializeScene() {
- if (Game_Flag_Query(365)) {
+ if (Game_Flag_Query(kFlagBB12toBB07)) {
Setup_Scene_Information(-655.0f, 252.59f, -1136.0f, 323);
- } else if (Game_Flag_Query(363)) {
+ } else if (Game_Flag_Query(kFlagBB06toBB07)) {
Setup_Scene_Information(-551.0f, 252.59f, -1004.0f, 29);
- Game_Flag_Reset(363);
+ Game_Flag_Reset(kFlagBB06toBB07);
} else {
Setup_Scene_Information(-652.0f, 252.59f, -1018.0f, 268);
}
- Scene_Exit_Add_2D_Exit(0, 0, 16, 51, 426, 3);
+
+ Scene_Exit_Add_2D_Exit(0, 0, 16, 51, 426, 3);
Scene_Exit_Add_2D_Exit(1, 124, 101, 172, 305, 3);
Scene_Exit_Add_2D_Exit(2, 282, 408, 476, 479, 2);
Scene_2D_Region_Add(0, 308, 283, 354, 308);
+
Ambient_Sounds_Add_Looping_Sound(332, 44, 0, 1);
Ambient_Sounds_Add_Looping_Sound(331, 24, 0, 1);
Ambient_Sounds_Add_Sound(443, 2, 180, 14, 16, -100, 100, -101, -101, 0, 0);
Ambient_Sounds_Add_Sound(444, 2, 180, 14, 16, -100, 100, -101, -101, 0, 0);
Ambient_Sounds_Add_Sound(445, 2, 180, 14, 16, -100, 100, -101, -101, 0, 0);
Ambient_Sounds_Add_Sound(446, 2, 180, 14, 16, -100, 100, -101, -101, 0, 0);
- Ambient_Sounds_Add_Sound(303, 5, 50, 17, 27, -100, 100, -101, -101, 0, 0);
- Ambient_Sounds_Add_Sound(304, 5, 50, 17, 27, -100, 100, -101, -101, 0, 0);
- Ambient_Sounds_Add_Sound(305, 5, 50, 17, 27, -100, 100, -101, -101, 0, 0);
- Ambient_Sounds_Add_Sound(306, 5, 50, 17, 27, -100, 100, -101, -101, 0, 0);
- Ambient_Sounds_Add_Sound(307, 5, 50, 17, 27, -100, 100, -101, -101, 0, 0);
- Ambient_Sounds_Add_Sound(308, 5, 50, 17, 27, -100, 100, -101, -101, 0, 0);
- Ambient_Sounds_Add_Sound(309, 5, 50, 17, 27, -100, 100, -101, -101, 0, 0);
- Ambient_Sounds_Add_Sound(310, 5, 50, 17, 27, -100, 100, -101, -101, 0, 0);
- Overlay_Play("BB07OVER", 0, 1, 0, 0);
+ Ambient_Sounds_Add_Sound(303, 5, 50, 17, 27, -100, 100, -101, -101, 0, 0);
+ Ambient_Sounds_Add_Sound(304, 5, 50, 17, 27, -100, 100, -101, -101, 0, 0);
+ Ambient_Sounds_Add_Sound(305, 5, 50, 17, 27, -100, 100, -101, -101, 0, 0);
+ Ambient_Sounds_Add_Sound(306, 5, 50, 17, 27, -100, 100, -101, -101, 0, 0);
+ Ambient_Sounds_Add_Sound(307, 5, 50, 17, 27, -100, 100, -101, -101, 0, 0);
+ Ambient_Sounds_Add_Sound(308, 5, 50, 17, 27, -100, 100, -101, -101, 0, 0);
+ Ambient_Sounds_Add_Sound(309, 5, 50, 17, 27, -100, 100, -101, -101, 0, 0);
+ Ambient_Sounds_Add_Sound(310, 5, 50, 17, 27, -100, 100, -101, -101, 0, 0);
+
+ Overlay_Play("BB07OVER", 0, true, false, 0);
}
void SceneScriptBB07::SceneLoaded() {
@@ -120,7 +123,7 @@ bool SceneScriptBB07::ClickedOnExit(int exitId) {
Ambient_Sounds_Remove_All_Non_Looping_Sounds(true);
Ambient_Sounds_Remove_All_Looping_Sounds(1);
Overlay_Remove("BB07OVER");
- Game_Flag_Set(364);
+ Game_Flag_Set(kFlagBB07toBB12);
Set_Enter(kSetBB12, kSceneBB12);
}
return true;
@@ -130,7 +133,7 @@ bool SceneScriptBB07::ClickedOnExit(int exitId) {
Ambient_Sounds_Remove_All_Non_Looping_Sounds(true);
Ambient_Sounds_Remove_All_Looping_Sounds(1);
Overlay_Remove("BB07OVER");
- Game_Flag_Set(362);
+ Game_Flag_Set(kFlagBB07toBB06);
Set_Enter(kSetBB06_BB07, kSceneBB06);
}
return true;
@@ -169,9 +172,9 @@ void SceneScriptBB07::PlayerWalkedIn() {
Loop_Actor_Walk_To_XYZ(kActorMcCoy, -594.0f, 252.59f, -1018.0f, 6, 0, false, 0);
Game_Flag_Reset(kFlagBB05toBB07);
}
- if (Game_Flag_Query(365)) {
+ if (Game_Flag_Query(kFlagBB12toBB07)) {
Loop_Actor_Walk_To_XYZ(kActorMcCoy, -602.0f, 252.59f, -1124.0f, 6, 0, false, 0);
- Game_Flag_Reset(365);
+ Game_Flag_Reset(kFlagBB12toBB07);
}
}
diff --git a/engines/bladerunner/script/scene/bb12.cpp b/engines/bladerunner/script/scene/bb12.cpp
index 8d9f3ee..7f7f1d9 100644
--- a/engines/bladerunner/script/scene/bb12.cpp
+++ b/engines/bladerunner/script/scene/bb12.cpp
@@ -25,7 +25,7 @@
namespace BladeRunner {
void SceneScriptBB12::InitializeScene() {
- if (Game_Flag_Query(364)) {
+ if (Game_Flag_Query(kFlagBB07toBB12)) {
Setup_Scene_Information(138.0f, 0.0f, 104.0f, 760);
} else if (Game_Flag_Query(506)) {
Setup_Scene_Information(-129.0f, 0.0f, 64.0f, 307);
@@ -92,7 +92,7 @@ bool SceneScriptBB12::ClickedOnExit(int exitId) {
if (!Loop_Actor_Walk_To_XYZ(kActorMcCoy, 138.0f, 0.0f, 104.0f, 0, 1, false, 0)) {
Ambient_Sounds_Remove_All_Non_Looping_Sounds(true);
Ambient_Sounds_Remove_All_Looping_Sounds(1);
- Game_Flag_Set(365);
+ Game_Flag_Set(kFlagBB12toBB07);
Set_Enter(kSetBB07, kSceneBB07);
}
return true;
@@ -126,9 +126,9 @@ void SceneScriptBB12::ActorChangedGoal(int actorId, int newGoal, int oldGoal, bo
}
void SceneScriptBB12::PlayerWalkedIn() {
- if (Game_Flag_Query(364)) {
+ if (Game_Flag_Query(kFlagBB07toBB12)) {
Loop_Actor_Walk_To_XYZ(kActorMcCoy, 114.0f, 0.0f, 104.0f, 0, 0, false, 0);
- Game_Flag_Reset(364);
+ Game_Flag_Reset(kFlagBB07toBB12);
} else if (Game_Flag_Query(506)) {
Loop_Actor_Walk_To_XYZ(kActorMcCoy, -101.0f, 0.0f, 64.0f, 0, 0, false, 0);
Game_Flag_Reset(506);
diff --git a/engines/bladerunner/script/scene/bb51.cpp b/engines/bladerunner/script/scene/bb51.cpp
index ae93dfa..a28f669 100644
--- a/engines/bladerunner/script/scene/bb51.cpp
+++ b/engines/bladerunner/script/scene/bb51.cpp
@@ -26,7 +26,7 @@ namespace BladeRunner {
void SceneScriptBB51::InitializeScene() {
Setup_Scene_Information(101.0f, 0.0f, -25.0f, 152);
- Game_Flag_Reset(393);
+ Game_Flag_Reset(kFlagBB06toBB51);
Scene_Exit_Add_2D_Exit(0, 615, 0, 639, 479, 1);
Scene_Exit_Add_2D_Exit(1, 0, 323, 241, 479, 2);
Ambient_Sounds_Add_Looping_Sound(103, 28, 0, 1);
@@ -81,19 +81,19 @@ bool SceneScriptBB51::ClickedOnItem(int itemId, bool a2) {
bool SceneScriptBB51::ClickedOnExit(int exitId) {
if (exitId == 0) {
- if (!Loop_Actor_Walk_To_XYZ(kActorMcCoy, 76.0f, 0.0f, 79.0f, 0, 1, false, 0)) {
+ if (!Loop_Actor_Walk_To_XYZ(kActorMcCoy, 76.0f, 0.0f, 79.0f, 0, true, false, 0)) {
Ambient_Sounds_Remove_All_Non_Looping_Sounds(true);
Ambient_Sounds_Remove_All_Looping_Sounds(1);
- Game_Flag_Set(394);
+ Game_Flag_Set(kFlagBB51toBB06a);
Set_Enter(kSetBB02_BB04_BB06_BB51, kSceneBB06);
}
return true;
}
if (exitId == 1) {
- if (!Loop_Actor_Walk_To_XYZ(kActorMcCoy, 55.0f, 0.0f, -96.0f, 0, 1, false, 0)) {
+ if (!Loop_Actor_Walk_To_XYZ(kActorMcCoy, 55.0f, 0.0f, -96.0f, 0, true, false, 0)) {
Ambient_Sounds_Remove_All_Non_Looping_Sounds(true);
Ambient_Sounds_Remove_All_Looping_Sounds(1);
- Game_Flag_Set(395);
+ Game_Flag_Set(kFlagBB51toBB06b);
Set_Enter(kSetBB02_BB04_BB06_BB51, kSceneBB06);
}
return true;
diff --git a/engines/bladerunner/script/scene/ct01.cpp b/engines/bladerunner/script/scene/ct01.cpp
index df89864..f43450f 100644
--- a/engines/bladerunner/script/scene/ct01.cpp
+++ b/engines/bladerunner/script/scene/ct01.cpp
@@ -72,7 +72,7 @@ void SceneScriptCT01::InitializeScene() {
if (Actor_Clue_Query(kActorMcCoy, kClueZubenRunsAway)) {
Scene_Exit_Add_2D_Exit(kCT01ExitCT03, 571, 233, 639, 367, 1);
}
- if (Game_Flag_Query(kFlagWarehouseOpen)) {
+ if (Game_Flag_Query(kFlagCT05WarehouseOpen)) {
Scene_Exit_Add_2D_Exit(kCT01ExitCT12, 506, 400, 639, 479, 2);
}
if (Game_Flag_Query(kFlagSpinnerAtCT01)) {
@@ -188,19 +188,17 @@ bool SceneScriptCT01::ClickedOnActor(int actorId) {
}
if (actorId == kActorGordo) {
- if (Actor_Query_Goal_Number(kActorGordo) == 0) {
+ if (Actor_Query_Goal_Number(kActorGordo) == kGoalGordoDefault) {
if (!Loop_Actor_Walk_To_XYZ(kActorMcCoy, -338.1f, -6.5f, 419.65f, 6, true, false, 0)) {
Actor_Face_Actor(kActorMcCoy, kActorGordo, true);
- if (!Game_Flag_Query(kFlagCT01McCoyTalkedToGordo)) {
+ if (!Game_Flag_Query(kFlagCT01GordoTalk)) {
Actor_Says(kActorMcCoy, 335, 18);
Actor_Says(kActorGordo, 20, 30);
- Game_Flag_Set(kFlagCT01McCoyTalkedToGordo);
+ Game_Flag_Set(kFlagCT01GordoTalk);
Actor_Clue_Acquire(kActorGordo, kClueMcCoysDescription, true, kActorMcCoy);
Actor_Clue_Acquire(kActorMcCoy, kClueMcCoyIsABladeRunner, true, kActorMcCoy);
Actor_Modify_Friendliness_To_Other(kActorGordo, kActorMcCoy, -1);
- } else if (Actor_Query_Goal_Number(kActorGordo) != 0) {
- Actor_Says(kActorMcCoy, 365, 14);
- } else {
+ } else if (Actor_Query_Goal_Number(kActorGordo) == kGoalGordoDefault) {
Actor_Says(kActorMcCoy, 340, 13);
Actor_Says(kActorMcCoy, 345, 11);
Actor_Says(kActorGordo, 30, 30);
@@ -208,6 +206,8 @@ bool SceneScriptCT01::ClickedOnActor(int actorId) {
Actor_Says(kActorGordo, 40, 30);
Actor_Modify_Friendliness_To_Other(kActorGordo, kActorMcCoy, -5);
Player_Loses_Control();
+ } else {
+ Actor_Says(kActorMcCoy, 365, 14);
}
if (Actor_Query_Is_In_Current_Set(kActorZuben)) {
Actor_Modify_Friendliness_To_Other(kActorZuben, kActorMcCoy, -2);
@@ -257,19 +257,19 @@ bool SceneScriptCT01::ClickedOnExit(int exitId) {
if (!Loop_Actor_Walk_To_XYZ(kActorMcCoy, -314.0f, -6.5f, 326.0f, 0, true, false, 0)) {
Loop_Actor_Walk_To_XYZ(kActorMcCoy, -330.0f, -6.5f, 221.0f, 0, false, true, 0);
Loop_Actor_Walk_To_XYZ(kActorMcCoy, -530.0f, -6.5f, 241.0f, 0, false, true, 0);
- Game_Flag_Reset(kFlagMcCoyAtCTxx);
- Game_Flag_Reset(kFlagMcCoyAtRCxx);
- Game_Flag_Reset(kFlagMcCoyAtMAxx);
- Game_Flag_Reset(kFlagMcCoyAtPSxx);
- Game_Flag_Reset(kFlagMcCoyAtARxx);
- Game_Flag_Reset(kFlagMcCoyAtTBxx);
- Game_Flag_Reset(kFlagMcCoyAtDRxx);
- Game_Flag_Reset(kFlagMcCoyAtBBxx);
+ Game_Flag_Reset(kFlagMcCoyInChinaTown);
+ Game_Flag_Reset(kFlagMcCoyInRunciters);
+ Game_Flag_Reset(kFlagMcCoyInMcCoyApartment);
+ Game_Flag_Reset(kFlagMcCoyInPoliceStation);
+ Game_Flag_Reset(kFlagMcCoyInAnimoidRow);
+ Game_Flag_Reset(kFlagMcCoyInTyrellBuilding);
+ Game_Flag_Reset(kFlagMcCoyInDNARow);
+ Game_Flag_Reset(kFlagMcCoyInBradburyBuilding);
int spinnerDest = Spinner_Interface_Choose_Dest(-1, false);
switch (spinnerDest) {
case kSpinnerDestinationPoliceStation:
- Game_Flag_Set(kFlagMcCoyAtPSxx);
+ Game_Flag_Set(kFlagMcCoyInPoliceStation);
Game_Flag_Reset(kFlagArrivedFromSpinner1);
Game_Flag_Reset(kFlagSpinnerAtCT01);
Game_Flag_Set(kFlagSpinnerAtPS01);
@@ -277,7 +277,7 @@ bool SceneScriptCT01::ClickedOnExit(int exitId) {
Scene_Loop_Start_Special(kSceneLoopModeChangeSet, kCT01LoopOutshot, true);
break;
case kSpinnerDestinationMcCoysApartment:
- Game_Flag_Set(kFlagMcCoyAtMAxx);
+ Game_Flag_Set(kFlagMcCoyInMcCoyApartment);
Game_Flag_Reset(kFlagArrivedFromSpinner1);
Game_Flag_Reset(kFlagSpinnerAtCT01);
Game_Flag_Set(kFlagSpinnerAtMA01);
@@ -285,7 +285,7 @@ bool SceneScriptCT01::ClickedOnExit(int exitId) {
Scene_Loop_Start_Special(kSceneLoopModeChangeSet, kCT01LoopOutshot, true);
break;
case kSpinnerDestinationRuncitersAnimals:
- Game_Flag_Set(kFlagMcCoyAtRCxx);
+ Game_Flag_Set(kFlagMcCoyInRunciters);
Game_Flag_Reset(kFlagArrivedFromSpinner1);
Game_Flag_Reset(kFlagSpinnerAtCT01);
Game_Flag_Set(kFlagSpinnerAtRC01);
@@ -293,7 +293,7 @@ bool SceneScriptCT01::ClickedOnExit(int exitId) {
Scene_Loop_Start_Special(kSceneLoopModeChangeSet, kCT01LoopOutshot, true);
break;
case kSpinnerDestinationAnimoidRow:
- Game_Flag_Set(kFlagMcCoyAtARxx);
+ Game_Flag_Set(kFlagMcCoyInAnimoidRow);
Game_Flag_Reset(kFlagArrivedFromSpinner1);
Game_Flag_Reset(kFlagSpinnerAtCT01);
Game_Flag_Set(kFlagSpinnerAtAR01);
@@ -301,7 +301,7 @@ bool SceneScriptCT01::ClickedOnExit(int exitId) {
Scene_Loop_Start_Special(kSceneLoopModeChangeSet, kCT01LoopOutshot, true);
break;
case kSpinnerDestinationTyrellBuilding:
- Game_Flag_Set(kFlagMcCoyAtTBxx);
+ Game_Flag_Set(kFlagMcCoyInTyrellBuilding);
Game_Flag_Reset(kFlagSpinnerAtCT01);
Game_Flag_Reset(kFlagArrivedFromSpinner1);
Game_Flag_Set(kFlagSpinnerAtTB02);
@@ -309,7 +309,7 @@ bool SceneScriptCT01::ClickedOnExit(int exitId) {
Scene_Loop_Start_Special(kSceneLoopModeChangeSet, kCT01LoopOutshot, true);
break;
case kSpinnerDestinationDNARow:
- Game_Flag_Set(kFlagMcCoyAtDRxx);
+ Game_Flag_Set(kFlagMcCoyInDNARow);
Game_Flag_Reset(kFlagArrivedFromSpinner1);
Game_Flag_Reset(kFlagSpinnerAtCT01);
Game_Flag_Set(kFlagSpinnerAtDR01);
@@ -317,7 +317,7 @@ bool SceneScriptCT01::ClickedOnExit(int exitId) {
Scene_Loop_Start_Special(kSceneLoopModeChangeSet, kCT01LoopOutshot, true);
break;
case kSpinnerDestinationBradburyBuilding:
- Game_Flag_Set(kFlagMcCoyAtBBxx);
+ Game_Flag_Set(kFlagMcCoyInBradburyBuilding);
Game_Flag_Reset(kFlagArrivedFromSpinner1);
Game_Flag_Reset(kFlagSpinnerAtCT01);
Game_Flag_Set(kFlagSpinnerAtBB01);
@@ -325,7 +325,7 @@ bool SceneScriptCT01::ClickedOnExit(int exitId) {
Scene_Loop_Start_Special(kSceneLoopModeChangeSet, kCT01LoopOutshot, true);
break;
case kSpinnerDestinationNightclubRow:
- Game_Flag_Set(kFlagMcCoyAtNRxx);
+ Game_Flag_Set(kFlagMcCoyInNightclubRow);
Game_Flag_Reset(kFlagArrivedFromSpinner1);
Game_Flag_Reset(kFlagSpinnerAtCT01);
Game_Flag_Set(kFlagSpinnerAtNR01);
@@ -333,7 +333,7 @@ bool SceneScriptCT01::ClickedOnExit(int exitId) {
Scene_Loop_Start_Special(kSceneLoopModeChangeSet, kCT01LoopOutshot, true);
break;
case kSpinnerDestinationHysteriaHall:
- Game_Flag_Set(kFlagMcCoyAtHFxx);
+ Game_Flag_Set(kFlagMcCoyInHysteriaHall);
Game_Flag_Reset(kFlagArrivedFromSpinner1);
Game_Flag_Reset(kFlagSpinnerAtCT01);
Game_Flag_Set(kFlagSpinnerAtHF01);
@@ -341,7 +341,7 @@ bool SceneScriptCT01::ClickedOnExit(int exitId) {
Scene_Loop_Start_Special(kSceneLoopModeChangeSet, kCT01LoopOutshot, true);
break;
default:
- Game_Flag_Set(kFlagMcCoyAtCTxx);
+ Game_Flag_Set(kFlagMcCoyInChinaTown);
Player_Loses_Control();
Loop_Actor_Walk_To_XYZ(kActorMcCoy, -530.0f, -6.5f, 241.0f, 0, false, true, 0);
Loop_Actor_Walk_To_XYZ(kActorMcCoy, -330.0f, -6.5f, 221.0f, 0, false, true, 0);
@@ -433,7 +433,7 @@ void SceneScriptCT01::PlayerWalkedOut() {
Ambient_Sounds_Remove_All_Looping_Sounds(1);
}
Music_Stop(5);
- if (!Game_Flag_Query(kFlagMcCoyAtCTxx) && Global_Variable_Query(kVariableChapter) == 1) {
+ if (!Game_Flag_Query(kFlagMcCoyInChinaTown) && Global_Variable_Query(kVariableChapter) == 1) {
Ambient_Sounds_Remove_All_Non_Looping_Sounds(true);
Ambient_Sounds_Remove_All_Looping_Sounds(1);
Outtake_Play(kOuttakeTowards3, true, -1);
@@ -544,7 +544,7 @@ void SceneScriptCT01::dialogueWithHowieLee() {
if (Query_Difficulty_Level() != 0) {
Global_Variable_Decrement(kVariableChinyen, 10);
}
- Game_Flag_Set(kFlagBoughtHowieLeeFood);
+ Game_Flag_Set(kFlagCT01BoughtHowieLeeFood);
} else {
Actor_Says(kActorHowieLee, 130, 15);
}
diff --git a/engines/bladerunner/script/scene/ct02.cpp b/engines/bladerunner/script/scene/ct02.cpp
index da1fcac..0e62302 100644
--- a/engines/bladerunner/script/scene/ct02.cpp
+++ b/engines/bladerunner/script/scene/ct02.cpp
@@ -194,7 +194,7 @@ void SceneScriptCT02::dialogueWithZuben() {
}
bool SceneScriptCT02::ClickedOnActor(int actorId) {
- if (actorId == kActorZuben && Actor_Query_Goal_Number(kActorZuben) == kGoalZubenCT01Leave) {
+ if (actorId == kActorZuben && Actor_Query_Goal_Number(kActorZuben) == kGoalZubenCT01WalkToCT02) {
if (!Loop_Actor_Walk_To_XYZ(kActorMcCoy, -255.02f, -145.11f, 212.42f, 0, true, false, 0)) {
Actor_Face_Actor(kActorMcCoy, kActorZuben, true);
Actor_Face_Actor(kActorZuben, kActorMcCoy, true);
diff --git a/engines/bladerunner/script/scene/ct03.cpp b/engines/bladerunner/script/scene/ct03.cpp
index 506ff1c..62a8022 100644
--- a/engines/bladerunner/script/scene/ct03.cpp
+++ b/engines/bladerunner/script/scene/ct03.cpp
@@ -116,8 +116,8 @@ void SceneScriptCT03::ActorChangedGoal(int actorId, int newGoal, int oldGoal, bo
}
void SceneScriptCT03::PlayerWalkedIn() {
- if (Actor_Query_Goal_Number(kActorZuben) == kGoalZubenCT02Flee) {
- Actor_Set_Goal_Number(kActorZuben, kGoalZubenCT06Hide);
+ if (Actor_Query_Goal_Number(kActorZuben) == kGoalZubenCT02RunToFreeSlotG) {
+ Actor_Set_Goal_Number(kActorZuben, kGoalZubenCT06HideAtFreeSlotA);
}
}
diff --git a/engines/bladerunner/script/scene/ct04.cpp b/engines/bladerunner/script/scene/ct04.cpp
index 24c1d34..613fd05 100644
--- a/engines/bladerunner/script/scene/ct04.cpp
+++ b/engines/bladerunner/script/scene/ct04.cpp
@@ -73,18 +73,18 @@ bool SceneScriptCT04::MouseClick(int x, int y) {
bool SceneScriptCT04::ClickedOn3DObject(const char *objectName, bool a2) {
if (objectName) { // this can be only "DUMPSTER"
- if (!Game_Flag_Query(kFlagHomelessTalkedTo)
- && !Game_Flag_Query(kFlagMcCoyKilledHomeless)
+ if (!Game_Flag_Query(kFlagCT04HomelessTalk)
+ && !Game_Flag_Query(kFlagCT04HomelessKilledByMcCoy)
&& Actor_Query_Goal_Number(kActorTransient) == kGoalTransientDefault
) {
- Game_Flag_Set(kFlagHomelessTalkedTo);
+ Game_Flag_Set(kFlagCT04HomelessTalk);
Actor_Set_Goal_Number(kActorTransient, kGoalTransientCT04Leave);
}
- if ( Game_Flag_Query(kFlagMcCoyKilledHomeless)
- && !Game_Flag_Query(kFlagHomelessBodyInDumpster)
- && !Game_Flag_Query(kFlagHomelessBodyFound)
- && !Game_Flag_Query(kFlagDumpsterEmptied)
+ if ( Game_Flag_Query(kFlagCT04HomelessKilledByMcCoy)
+ && !Game_Flag_Query(kFlagCT04HomelessBodyInDumpster)
+ && !Game_Flag_Query(kFlagCT04HomelessBodyFound)
+ && !Game_Flag_Query(kFlagCT04HomelessBodyThrownAway)
&& Global_Variable_Query(kVariableChapter) == 1
) {
if (!Loop_Actor_Walk_To_XYZ(kActorMcCoy, -147.41f, -621.3f, 724.57f, 0, true, false, 0)) {
@@ -96,34 +96,34 @@ bool SceneScriptCT04::ClickedOn3DObject(const char *objectName, bool a2) {
Actor_Voice_Over(320, kActorVoiceOver);
Actor_Voice_Over(330, kActorVoiceOver);
Actor_Voice_Over(340, kActorVoiceOver);
- Game_Flag_Set(kFlagHomelessBodyInDumpster);
- Game_Flag_Set(kFlagHomelessBodyInDumpsterNotChecked);
+ Game_Flag_Set(kFlagCT04HomelessBodyInDumpster);
+ Game_Flag_Set(kFlagCT04HomelessBodyInDumpsterNotChecked);
}
return false;
}
- if (Game_Flag_Query(kFlagHomelessBodyInDumpster)) {
- if (Game_Flag_Query(kFlagDumpsterEmptied)) {
+ if (Game_Flag_Query(kFlagCT04HomelessBodyInDumpster)) {
+ if (Game_Flag_Query(kFlagCT04HomelessBodyThrownAway)) {
Actor_Voice_Over(270, kActorVoiceOver);
Actor_Voice_Over(280, kActorVoiceOver);
- } else if (Game_Flag_Query(kFlagHomelessBodyFound)) {
+ } else if (Game_Flag_Query(kFlagCT04HomelessBodyFound)) {
Actor_Voice_Over(250, kActorVoiceOver);
Actor_Voice_Over(260, kActorVoiceOver);
} else {
Actor_Voice_Over(230, kActorVoiceOver);
Actor_Voice_Over(240, kActorVoiceOver);
- Game_Flag_Reset(kFlagHomelessBodyInDumpsterNotChecked);
+ Game_Flag_Reset(kFlagCT04HomelessBodyInDumpsterNotChecked);
}
return true;
}
- if (!Game_Flag_Query(kFlagLicensePlaceFound)) {
+ if (!Game_Flag_Query(kFlagCT04LicensePlaceFound)) {
if (!Loop_Actor_Walk_To_Waypoint(kActorMcCoy, 75, 0, true, false)) {
Actor_Face_Heading(kActorMcCoy, 707, false);
Actor_Change_Animation_Mode(kActorMcCoy, 38);
Actor_Clue_Acquire(kActorMcCoy, kClueLicensePlate, true, -1);
Item_Pickup_Spin_Effect(952, 392, 225);
- Game_Flag_Set(kFlagLicensePlaceFound);
+ Game_Flag_Set(kFlagCT04LicensePlaceFound);
return true;
}
}
@@ -173,7 +173,7 @@ void SceneScriptCT04::dialogueWithHomeless() {
bool SceneScriptCT04::ClickedOnActor(int actorId) {
if (actorId == kActorTransient) {
- if (Game_Flag_Query(kFlagMcCoyKilledHomeless)) {
+ if (Game_Flag_Query(kFlagCT04HomelessKilledByMcCoy)) {
if (!Loop_Actor_Walk_To_Actor(kActorMcCoy, kActorTransient, 36, true, false)) {
Actor_Voice_Over(290, kActorVoiceOver);
Actor_Voice_Over(300, kActorVoiceOver);
@@ -183,7 +183,7 @@ bool SceneScriptCT04::ClickedOnActor(int actorId) {
Actor_Set_Targetable(kActorTransient, false);
if (!Loop_Actor_Walk_To_Actor(kActorMcCoy, kActorTransient, 36, true, false)) {
Actor_Face_Actor(kActorMcCoy, kActorTransient, true);
- if (!Game_Flag_Query(kFlagHomelessTalkedTo)) {
+ if (!Game_Flag_Query(kFlagCT04HomelessTalk)) {
if (Game_Flag_Query(kFlagZubenRetired)) {
Actor_Says(kActorMcCoy, 435, kAnimationModeTalk);
Actor_Set_Goal_Number(kActorTransient, kGoalTransientCT04Leave);
@@ -194,7 +194,7 @@ bool SceneScriptCT04::ClickedOnActor(int actorId) {
dialogueWithHomeless();
Actor_Set_Goal_Number(kActorTransient, kGoalTransientCT04Leave);
}
- Game_Flag_Set(kFlagHomelessTalkedTo);
+ Game_Flag_Set(kFlagCT04HomelessTalk);
} else {
Actor_Face_Actor(kActorMcCoy, kActorTransient, true);
Actor_Says(kActorMcCoy, 435, kAnimationModeTalk);
@@ -240,8 +240,8 @@ bool SceneScriptCT04::ClickedOn2DRegion(int region) {
}
void SceneScriptCT04::SceneFrameAdvanced(int frame) {
- if (Game_Flag_Query(325)) {
- Game_Flag_Reset(325);
+ if (Game_Flag_Query(kFlagCT04BodyDumped)) {
+ Game_Flag_Reset(kFlagCT04BodyDumped);
Sound_Play(180, 100, 80, 80, 50);
}
}
diff --git a/engines/bladerunner/script/scene/ct05.cpp b/engines/bladerunner/script/scene/ct05.cpp
index a30e4f9..a398d45 100644
--- a/engines/bladerunner/script/scene/ct05.cpp
+++ b/engines/bladerunner/script/scene/ct05.cpp
@@ -33,7 +33,7 @@ void SceneScriptCT05::InitializeScene() {
} else {
Setup_Scene_Information(-375.0f, -109.91f, 750.0f, 600);
}
- if (Game_Flag_Query(kFlagWarehouseOpen)) {
+ if (Game_Flag_Query(kFlagCT05WarehouseOpen)) {
Scene_Exit_Add_2D_Exit(0, 228, 205, 293, 300, 0);
}
Scene_Exit_Add_2D_Exit(1, 320, 458, 639, 479, 2);
@@ -44,7 +44,7 @@ void SceneScriptCT05::InitializeScene() {
Ambient_Sounds_Add_Sound( 90, 5, 20, 8, 10, -100, 100, -101, -101, 0, 0);
Ambient_Sounds_Add_Sound( 91, 5, 20, 8, 10, -100, 100, -101, -101, 0, 0);
Ambient_Sounds_Add_Sound(205, 5, 30, 18, 30, -100, 100, -101, -101, 0, 0);
- if (Game_Flag_Query(kFlagWarehouseOpen)) {
+ if (Game_Flag_Query(kFlagCT05WarehouseOpen)) {
Scene_Loop_Set_Default(2);
} else {
Scene_Loop_Set_Default(0);
@@ -217,6 +217,7 @@ void SceneScriptCT05::PlayerWalkedIn() {
}
Player_Gains_Control();
}
+
if (Game_Flag_Query(kFlagCT06toCT05)) {
Footstep_Sound_Override_On(2);
Loop_Actor_Travel_Stairs(kActorMcCoy, 7, false, kAnimationModeIdle);
@@ -224,10 +225,10 @@ void SceneScriptCT05::PlayerWalkedIn() {
Loop_Actor_Travel_Stairs(kActorMcCoy, 10, false, kAnimationModeIdle);
Game_Flag_Reset(kFlagCT06toCT05);
Footstep_Sound_Override_Off();
- if (Actor_Query_Goal_Number(kActorGordo) == 2
- && Game_Flag_Query(kFlagZubenPhoto)
+ if (Actor_Query_Goal_Number(kActorGordo) == kGoalGordoLeftCT01
+ && Game_Flag_Query(kFlagCT06ZubenPhoto)
) {
- Actor_Set_Goal_Number(kActorGordo, 3);
+ Actor_Set_Goal_Number(kActorGordo, kGoalGordoWalkThroughCT05);
}
}
}
diff --git a/engines/bladerunner/script/scene/ct06.cpp b/engines/bladerunner/script/scene/ct06.cpp
index a5856b3..1c5ace1 100644
--- a/engines/bladerunner/script/scene/ct06.cpp
+++ b/engines/bladerunner/script/scene/ct06.cpp
@@ -51,7 +51,7 @@ void SceneScriptCT06::InitializeScene() {
Ambient_Sounds_Add_Sound(379, 50, 180, 50, 100, 0, 0, -101, -101, 0, 0);
Ambient_Sounds_Add_Sound(380, 70, 180, 50, 100, 0, 0, -101, -101, 0, 0);
Ambient_Sounds_Add_Sound(377, 60, 180, 50, 100, 0, 0, -101, -101, 0, 0);
- if (Actor_Query_Goal_Number(kActorZuben) == kGoalZubenCT06Hide) {
+ if (Actor_Query_Goal_Number(kActorZuben) == kGoalZubenCT06HideAtFreeSlotA) {
Ambient_Sounds_Add_Sound(196, 1, 5, 25, 25, -100, 100, -101, -101, 0, 0);
Ambient_Sounds_Add_Sound(197, 1, 5, 25, 25, -100, 100, -101, -101, 0, 0);
Ambient_Sounds_Add_Sound(198, 1, 5, 25, 25, -100, 100, -101, -101, 0, 0);
@@ -67,7 +67,7 @@ void SceneScriptCT06::SceneLoaded() {
Unobstacle_Object("INSULPIP01", true);
Unobstacle_Object("CB BOX04", true);
Unclickable_Object("DOOR");
- if (Actor_Query_Goal_Number(kActorZuben) == kGoalZubenCT06Hide) {
+ if (Actor_Query_Goal_Number(kActorZuben) == kGoalZubenCT06HideAtFreeSlotA) {
Preload(3);
Preload(4);
Preload(389);
@@ -90,7 +90,7 @@ bool SceneScriptCT06::ClickedOnActor(int actorId) {
if (actorId == kActorZuben) {
Loop_Actor_Walk_To_Actor(kActorMcCoy, kActorZuben, 24, true, false);
Actor_Face_Actor(kActorMcCoy, kActorZuben, true);
- if (!Game_Flag_Query(kFlagZubenPhoto)) {
+ if (!Game_Flag_Query(kFlagCT06ZubenPhoto)) {
Actor_Clue_Acquire(kActorMcCoy, kClueZuben, true, -1);
Item_Pickup_Spin_Effect(984, 340, 369);
Actor_Voice_Over(350, kActorVoiceOver);
@@ -102,7 +102,7 @@ bool SceneScriptCT06::ClickedOnActor(int actorId) {
Actor_Voice_Over(400, kActorVoiceOver);
Actor_Voice_Over(410, kActorVoiceOver);
}
- Game_Flag_Set(kFlagZubenPhoto);
+ Game_Flag_Set(kFlagCT06ZubenPhoto);
return true;
}
Actor_Says(kActorMcCoy, 8570, 13);
@@ -127,7 +127,7 @@ bool SceneScriptCT06::ClickedOnExit(int exitId) {
return true;
}
if (exitId == 1) {
- if (Actor_Query_Goal_Number(kActorZuben) == kGoalZubenCT06Hide) {
+ if (Actor_Query_Goal_Number(kActorZuben) == kGoalZubenCT06HideAtFreeSlotA) {
if (!Loop_Actor_Walk_To_XYZ(kActorMcCoy, 203.91f, -58.02f, 0.47f, 0, 1, false, 0)) {
Ambient_Sounds_Remove_Sound(196, true);
Ambient_Sounds_Remove_Sound(197, true);
diff --git a/engines/bladerunner/script/scene/ct11.cpp b/engines/bladerunner/script/scene/ct11.cpp
index 46fc21d..7581628 100644
--- a/engines/bladerunner/script/scene/ct11.cpp
+++ b/engines/bladerunner/script/scene/ct11.cpp
@@ -25,26 +25,29 @@
namespace BladeRunner {
void SceneScriptCT11::InitializeScene() {
- if (Game_Flag_Query(91)) {
+ if (Game_Flag_Query(kFlagCT12toCT11)) {
Setup_Scene_Information(-378.0f, 9.68f, -55.0f, 440);
- } else if (Game_Flag_Query(558)) {
- Setup_Scene_Information(315.0f, 0.0f, 628.0f, 0);
+ } else if (Game_Flag_Query(kFlagDR01toCT11)) {
+ Setup_Scene_Information( 315.0f, 0.0f, 628.0f, 0);
} else {
- Setup_Scene_Information(152.0f, 9.68f, -8.0f, 0);
+ Setup_Scene_Information( 152.0f, 9.68f, -8.0f, 0);
}
+
Scene_Exit_Add_2D_Exit(0, 257, 240, 364, 330, 1);
Scene_Exit_Add_2D_Exit(1, 97, 0, 155, 324, 0);
Scene_Exit_Add_2D_Exit(2, 0, 0, 20, 479, 3);
+
Ambient_Sounds_Add_Looping_Sound(54, 50, 0, 1);
- Ambient_Sounds_Add_Sound(67, 5, 80, 16, 25, -100, 100, -101, -101, 0, 0);
- Ambient_Sounds_Add_Sound(66, 5, 80, 16, 25, -100, 100, -101, -101, 0, 0);
+ Ambient_Sounds_Add_Sound( 67, 5, 80, 16, 25, -100, 100, -101, -101, 0, 0);
+ Ambient_Sounds_Add_Sound( 66, 5, 80, 16, 25, -100, 100, -101, -101, 0, 0);
Ambient_Sounds_Add_Sound(378, 5, 80, 50, 100, -100, 100, -101, -101, 0, 0);
Ambient_Sounds_Add_Sound(379, 5, 80, 50, 100, -100, 100, -101, -101, 0, 0);
Ambient_Sounds_Add_Sound(380, 5, 80, 50, 100, -100, 100, -101, -101, 0, 0);
- if (Global_Variable_Query(kVariableChapter) <= 3) {
- Scene_Loop_Set_Default(0);
- } else {
+
+ if (Global_Variable_Query(kVariableChapter) > 3) {
Scene_Loop_Set_Default(2);
+ } else {
+ Scene_Loop_Set_Default(0);
}
}
@@ -99,25 +102,27 @@ bool SceneScriptCT11::ClickedOnItem(int itemId, bool a2) {
bool SceneScriptCT11::ClickedOnExit(int exitId) {
if (exitId == 0) {
- if (!Loop_Actor_Walk_To_XYZ(kActorMcCoy, 121.0f, 9.68f, -42.0f, 0, 1, false, 0)) {
+ if (!Loop_Actor_Walk_To_XYZ(kActorMcCoy, 121.0f, 9.68f, -42.0f, 0, true, false, 0)) {
Game_Flag_Set(kFlagCT11toCT09);
Set_Enter(kSetCT09, kSceneCT09);
}
return true;
}
+
if (exitId == 1) {
- if (!Loop_Actor_Walk_To_XYZ(kActorMcCoy, -300.0f, 9.68f, 66.0f, 0, 1, false, 0)) {
- Loop_Actor_Walk_To_XYZ(kActorMcCoy, -400.0f, 9.68f, -70.0f, 0, 1, false, 0);
+ if (!Loop_Actor_Walk_To_XYZ(kActorMcCoy, -300.0f, 9.68f, 66.0f, 0, true, false, 0)) {
+ Loop_Actor_Walk_To_XYZ(kActorMcCoy, -400.0f, 9.68f, -70.0f, 0, true, false, 0);
Game_Flag_Set(kFlagCT11toCT12);
Set_Enter(kSetCT01_CT12, kSceneCT12);
}
return true;
}
+
if (exitId == 2) {
- if (!Loop_Actor_Walk_To_XYZ(kActorMcCoy, 290.0f, 0.0f, 635.0f, 0, 1, false, 0)) {
- Game_Flag_Set(531);
- Game_Flag_Reset(kFlagMcCoyAtCTxx);
- Game_Flag_Set(kFlagMcCoyAtDRxx);
+ if (!Loop_Actor_Walk_To_XYZ(kActorMcCoy, 290.0f, 0.0f, 635.0f, 0, true, false, 0)) {
+ Game_Flag_Set(kFlagCT11toDR01);
+ Game_Flag_Reset(kFlagMcCoyInChinaTown);
+ Game_Flag_Set(kFlagMcCoyInDNARow);
Set_Enter(kSetDR01_DR02_DR04, kSceneDR01);
}
return true;
@@ -127,7 +132,7 @@ bool SceneScriptCT11::ClickedOnExit(int exitId) {
bool SceneScriptCT11::ClickedOn2DRegion(int region) {
if (region == 0 && Game_Flag_Query(725)) {
- if (!Loop_Actor_Walk_To_XYZ(kActorMcCoy, 686.0f, 0.0f, 658.0f, 12, 1, false, 0)) {
+ if (!Loop_Actor_Walk_To_XYZ(kActorMcCoy, 686.0f, 0.0f, 658.0f, 12, true, false, 0)) {
Actor_Face_Heading(kActorMcCoy, 47, false);
Item_Remove_From_World(115);
Actor_Clue_Acquire(kActorMcCoy, kClueLichenDogWrapper, false, -1);
@@ -141,37 +146,40 @@ bool SceneScriptCT11::ClickedOn2DRegion(int region) {
}
return true;
}
+
if (region == 1) {
- if (!Loop_Actor_Walk_To_XYZ(kActorMcCoy, 686.0f, 0.0f, 658.0f, 12, 1, false, 0)) {
+ if (!Loop_Actor_Walk_To_XYZ(kActorMcCoy, 686.0f, 0.0f, 658.0f, 12, true, false, 0)) {
Actor_Face_Heading(kActorMcCoy, 47, false);
- int temp = 0;
+ int cluesFound = 0;
if (Actor_Clue_Query(kActorMcCoy, kClueCrowdInterviewB)) {
- temp = 1;
+ ++cluesFound;
}
if (Actor_Clue_Query(kActorMcCoy, kCluePaintTransfer)) {
- ++temp;
+ ++cluesFound;
}
if (Actor_Clue_Query(kActorMcCoy, kClueLabPaintTransfer)) {
- ++temp;
+ ++cluesFound;
}
if (Actor_Clue_Query(kActorMcCoy, kClueLicensePlate)) {
- temp += 2;
+ cluesFound += 2;
}
if (Actor_Clue_Query(kActorMcCoy, kClueCarColorAndMake)) {
- temp += 2;
+ cluesFound += 2;
}
if (Actor_Clue_Query(kActorMcCoy, kCluePartialLicenseNumber)) {
- temp += 2;
+ cluesFound += 2;
}
- if (temp <= 2 || Actor_Clue_Query(kActorMcCoy, kClueCar)) {
- Actor_Says(kActorMcCoy, 8525, 12);
- } else {
+ if ( cluesFound > 2
+ && !Actor_Clue_Query(kActorMcCoy, kClueCar)
+ ) {
Actor_Voice_Over(510, kActorVoiceOver);
Actor_Voice_Over(520, kActorVoiceOver);
Actor_Voice_Over(530, kActorVoiceOver);
Actor_Voice_Over(540, kActorVoiceOver);
Actor_Clue_Acquire(kActorMcCoy, kClueCar, false, -1);
Scene_2D_Region_Remove(1);
+ } else {
+ Actor_Says(kActorMcCoy, 8525, 12);
}
}
return true;
@@ -186,16 +194,16 @@ void SceneScriptCT11::ActorChangedGoal(int actorId, int newGoal, int oldGoal, bo
}
void SceneScriptCT11::PlayerWalkedIn() {
- if (Game_Flag_Query(91)) {
- Loop_Actor_Walk_To_XYZ(kActorMcCoy, -358.0f, 9.68f, 32.0f, 0, 0, false, 0);
- Game_Flag_Reset(91);
- } else if (Game_Flag_Query(558)) {
- Loop_Actor_Walk_To_XYZ(kActorMcCoy, 329.0f, 0.0f, 617.0f, 0, 0, false, 0);
- Game_Flag_Reset(558);
+ if (Game_Flag_Query(kFlagCT12toCT11)) {
+ Loop_Actor_Walk_To_XYZ(kActorMcCoy, -358.0f, 9.68f, 32.0f, 0, false, false, 0);
+ Game_Flag_Reset(kFlagCT12toCT11);
+ } else if (Game_Flag_Query(kFlagDR01toCT11)) {
+ Loop_Actor_Walk_To_XYZ(kActorMcCoy, 329.0f, 0.0f, 617.0f, 0, false, false, 0);
+ Game_Flag_Reset(kFlagDR01toCT11);
} else {
Player_Loses_Control();
Actor_Set_Immunity_To_Obstacles(kActorMcCoy, true);
- Loop_Actor_Walk_To_XYZ(kActorMcCoy, 125.0f, 9.68f, 74.0f, 0, 0, false, 0);
+ Loop_Actor_Walk_To_XYZ(kActorMcCoy, 125.0f, 9.68f, 74.0f, 0, false, false, 0);
Actor_Set_Immunity_To_Obstacles(kActorMcCoy, false);
Player_Gains_Control();
Game_Flag_Reset(kFlagCT09toCT11);
diff --git a/engines/bladerunner/script/scene/ct12.cpp b/engines/bladerunner/script/scene/ct12.cpp
index fa722f7..c90473d 100644
--- a/engines/bladerunner/script/scene/ct12.cpp
+++ b/engines/bladerunner/script/scene/ct12.cpp
@@ -64,7 +64,7 @@ void SceneScriptCT12::InitializeScene() {
) {
Actor_Put_In_Set(kActorGaff, kSetCT01_CT12);
Actor_Set_At_XYZ(kActorGaff, -534.0f, -6.5f, 952.0f, 367);
- Game_Flag_Set(kFlagGaffSpinnerCT12);
+ Game_Flag_Set(kFlagCT12GaffSpinner);
}
if (Game_Flag_Query(kFlagCT01toCT12)
&& Game_Flag_Query(kFlagSpinnerAtCT01)
@@ -87,12 +87,12 @@ void SceneScriptCT12::InitializeScene() {
Scene_Loop_Set_Default(2);
Game_Flag_Reset(kFlagCT01toCT12);
} else if (Game_Flag_Query(kFlagCT05toCT12)
- && Game_Flag_Query(kFlagGaffSpinnerCT12)
+ && Game_Flag_Query(kFlagCT12GaffSpinner)
) {
Game_Flag_Reset(kFlagCT05toCT12);
Scene_Loop_Set_Default(4);
} else if ( Game_Flag_Query(kFlagCT05toCT12)
- && !Game_Flag_Query(kFlagGaffSpinnerCT12)
+ && !Game_Flag_Query(kFlagCT12GaffSpinner)
) {
Game_Flag_Reset(kFlagCT05toCT12);
Scene_Loop_Set_Default(2);
@@ -288,8 +288,8 @@ void SceneScriptCT12::PlayerWalkedIn() {
void SceneScriptCT12::PlayerWalkedOut() {
Game_Flag_Reset(kFlagGenericWalkerWaiting);
if (Game_Flag_Query(kFlagCT12ToUG09)) {
- Game_Flag_Reset(kFlagMcCoyAtCTxx);
- Game_Flag_Set(kFlagMcCoyAtUGxx);
+ Game_Flag_Reset(kFlagMcCoyInChinaTown);
+ Game_Flag_Set(kFlagMcCoyInUnderground);
}
}
diff --git a/engines/bladerunner/script/scene/dr01.cpp b/engines/bladerunner/script/scene/dr01.cpp
index b2b308c..e1cdbb5 100644
--- a/engines/bladerunner/script/scene/dr01.cpp
+++ b/engines/bladerunner/script/scene/dr01.cpp
@@ -24,54 +24,71 @@
namespace BladeRunner {
+enum kDR01Loops {
+ kDR01LoopInshotWithCrowd = 0,
+ kDR01LoopWithCrowd = 1,
+ kDR01LoopDoorAnimWithCrowd = 3,
+ kDR01LoopOutshotWithCrowd = 4,
+ kDR01LoopInshotNoCrowd = 5,
+ kDR01LoopNoCrowd = 6,
+ kDR01LoopDoorAnimNoCrowd = 8,
+ kDR01LoopOutshotNoCrowd = 9,
+ kDR01LoopNoCrowdNoSpinner = 10
+};
+
void SceneScriptDR01::InitializeScene() {
if (Game_Flag_Query(kFlagDR02toDR01)) {
- Setup_Scene_Information(-835.0f, -0.04f, -118.0f, 664);
+ Setup_Scene_Information( -835.0f, -0.04f, -118.0f, 664);
} else if (Game_Flag_Query(kFlagDR04toDR01)) {
- Setup_Scene_Information(-711.0f, -0.04f, 70.0f, 307);
- } else if (Game_Flag_Query(531)) {
+ Setup_Scene_Information( -711.0f, -0.04f, 70.0f, 307);
+ } else if (Game_Flag_Query(kFlagCT11toDR01)) {
Setup_Scene_Information(-1765.28f, -0.04f, -23.82f, 269);
} else {
- Setup_Scene_Information(-386.0f, -0.04f, -82.0f, 792);
+ Setup_Scene_Information( -386.0f, -0.04f, -82.0f, 792);
}
+
Scene_Exit_Add_2D_Exit(0, 240, 60, 450, 250, 0);
- Scene_Exit_Add_2D_Exit(1, 0, 0, 30, 479, 3);
- if (Game_Flag_Query(kFlagSpinnerAtDR01) && Global_Variable_Query(kVariableChapter) < 4) {
+ Scene_Exit_Add_2D_Exit(1, 0, 0, 30, 479, 3);
+ if (Game_Flag_Query(kFlagSpinnerAtDR01)
+ && Global_Variable_Query(kVariableChapter) < 4
+ ) {
Scene_Exit_Add_2D_Exit(2, 610, 0, 639, 479, 1);
}
if (Global_Variable_Query(kVariableChapter) >= 3) {
Scene_Exit_Add_2D_Exit(3, 0, 45, 142, 201, 0);
}
+
Ambient_Sounds_Remove_All_Non_Looping_Sounds(0);
- Ambient_Sounds_Add_Looping_Sound(54, 50, 0, 1);
+ Ambient_Sounds_Add_Looping_Sound( 54, 50, 0, 1);
Ambient_Sounds_Add_Looping_Sound(219, 12, 85, 1);
- Ambient_Sounds_Add_Looping_Sound(98, 14, 85, 1);
- Ambient_Sounds_Add_Speech_Sound(60, 0, 10, 260, 17, 24, -100, 100, -101, -101, 1, 1);
+ Ambient_Sounds_Add_Looping_Sound( 98, 14, 85, 1);
+ Ambient_Sounds_Add_Speech_Sound(60, 0, 10, 260, 17, 24, -100, 100, -101, -101, 1, 1);
Ambient_Sounds_Add_Speech_Sound(60, 20, 10, 260, 17, 24, -100, 100, -101, -101, 1, 1);
Ambient_Sounds_Add_Speech_Sound(60, 40, 10, 260, 17, 24, -100, 100, -101, -101, 1, 1);
Ambient_Sounds_Add_Speech_Sound(60, 50, 10, 260, 17, 24, -100, 100, -101, -101, 1, 1);
- Ambient_Sounds_Add_Sound(67, 5, 80, 16, 25, -100, 100, -101, -101, 0, 0);
- Ambient_Sounds_Add_Sound(66, 5, 80, 16, 25, -100, 100, -101, -101, 0, 0);
+ Ambient_Sounds_Add_Sound( 67, 5, 80, 16, 25, -100, 100, -101, -101, 0, 0);
+ Ambient_Sounds_Add_Sound( 66, 5, 80, 16, 25, -100, 100, -101, -101, 0, 0);
Ambient_Sounds_Add_Sound(378, 5, 80, 50, 100, -100, 100, -101, -101, 0, 0);
Ambient_Sounds_Add_Sound(379, 5, 80, 50, 100, -100, 100, -101, -101, 0, 0);
Ambient_Sounds_Add_Sound(380, 5, 80, 50, 100, -100, 100, -101, -101, 0, 0);
+
if (Game_Flag_Query(kFlagDR05BombExploded)
&& Game_Flag_Query(kFlagDR04toDR01)
) {
- Scene_Loop_Start_Special(0, 3, 0);
+ Scene_Loop_Start_Special(0, 3, false);
Scene_Loop_Set_Default(4);
} else if (!Game_Flag_Query(kFlagDR05BombExploded)
&& Game_Flag_Query(kFlagDR04toDR01)
) {
- Scene_Loop_Start_Special(0, 2, 0);
+ Scene_Loop_Start_Special(0, 2, false);
Scene_Loop_Set_Default(4);
} else if (Game_Flag_Query(kFlagDR02toDR01)) {
- Scene_Loop_Start_Special(0, 1, 0);
+ Scene_Loop_Start_Special(0, 1, false);
Scene_Loop_Set_Default(4);
- } else if (Game_Flag_Query(531)) {
+ } else if (Game_Flag_Query(kFlagCT11toDR01)) {
Scene_Loop_Set_Default(4);
} else {
- Scene_Loop_Start_Special(0, 0, 0);
+ Scene_Loop_Start_Special(0, 0, false);
Scene_Loop_Set_Default(4);
}
}
@@ -110,7 +127,7 @@ bool SceneScriptDR01::ClickedOnItem(int itemId, bool a2) {
bool SceneScriptDR01::ClickedOnExit(int exitId) {
if (exitId == 0) {
- if (!Loop_Actor_Walk_To_XYZ(kActorMcCoy, -835.0f, -0.04f, -118.0f, 0, 1, false, 0)) {
+ if (!Loop_Actor_Walk_To_XYZ(kActorMcCoy, -835.0f, -0.04f, -118.0f, 0, true, false, 0)) {
Async_Actor_Walk_To_XYZ(kActorMcCoy, -911.0f, -0.04f, -118.0f, 0, false);
Ambient_Sounds_Adjust_Looping_Sound(112, 10, -100, 1);
Game_Flag_Set(kFlagDR01toDR02);
@@ -118,83 +135,85 @@ bool SceneScriptDR01::ClickedOnExit(int exitId) {
}
return true;
}
+
if (exitId == 1) {
- if (!Loop_Actor_Walk_To_XYZ(kActorMcCoy, -711.0f, -0.04f, 70.0f, 0, 1, false, 0)) {
+ if (!Loop_Actor_Walk_To_XYZ(kActorMcCoy, -711.0f, -0.04f, 70.0f, 0, true, false, 0)) {
Async_Actor_Walk_To_XYZ(kActorMcCoy, -796.0f, -0.04f, 166.0f, 0, false);
Game_Flag_Set(kFlagDR01toDR04);
Set_Enter(kSetDR01_DR02_DR04, kSceneDR04);
}
return true;
}
+
if (exitId == 2) {
- if (Loop_Actor_Walk_To_XYZ(kActorMcCoy, -372.0f, -0.04f, -82.0f, 0, 1, false, 0)) {
- Game_Flag_Reset(kFlagMcCoyAtCTxx);
- Game_Flag_Reset(kFlagMcCoyAtRCxx);
- Game_Flag_Reset(kFlagMcCoyAtMAxx);
- Game_Flag_Reset(kFlagMcCoyAtPSxx);
- Game_Flag_Reset(kFlagMcCoyAtARxx);
- Game_Flag_Reset(kFlagMcCoyAtTBxx);
- Game_Flag_Reset(kFlagMcCoyAtDRxx);
- Game_Flag_Reset(kFlagMcCoyAtBBxx);
+ if (!Loop_Actor_Walk_To_XYZ(kActorMcCoy, -372.0f, -0.04f, -82.0f, 0, true, false, 0)) {
+ Game_Flag_Reset(kFlagMcCoyInChinaTown);
+ Game_Flag_Reset(kFlagMcCoyInRunciters);
+ Game_Flag_Reset(kFlagMcCoyInMcCoyApartment);
+ Game_Flag_Reset(kFlagMcCoyInPoliceStation);
+ Game_Flag_Reset(kFlagMcCoyInAnimoidRow);
+ Game_Flag_Reset(kFlagMcCoyInTyrellBuilding);
+ Game_Flag_Reset(kFlagMcCoyInDNARow);
+ Game_Flag_Reset(kFlagMcCoyInBradburyBuilding);
int spinnerDest = Spinner_Interface_Choose_Dest(-1, false);
switch (spinnerDest) {
case kSpinnerDestinationPoliceStation:
- Game_Flag_Set(kFlagMcCoyAtPSxx);
+ Game_Flag_Set(kFlagMcCoyInPoliceStation);
Game_Flag_Reset(kFlagSpinnerAtDR01);
Game_Flag_Set(kFlagSpinnerAtPS01);
Set_Enter(kSetPS01, kScenePS01);
break;
case kSpinnerDestinationMcCoysApartment:
- Game_Flag_Set(kFlagMcCoyAtMAxx);
+ Game_Flag_Set(kFlagMcCoyInMcCoyApartment);
Game_Flag_Reset(kFlagSpinnerAtDR01);
Game_Flag_Set(kFlagSpinnerAtMA01);
Set_Enter(kSetMA01, kSceneMA01);
break;
case kSpinnerDestinationRuncitersAnimals:
- Game_Flag_Set(kFlagMcCoyAtRCxx);
+ Game_Flag_Set(kFlagMcCoyInRunciters);
Game_Flag_Reset(kFlagSpinnerAtDR01);
Game_Flag_Set(kFlagSpinnerAtRC01);
Set_Enter(kSetRC01, kSceneRC01);
break;
case kSpinnerDestinationChinatown:
- Game_Flag_Set(kFlagMcCoyAtCTxx);
+ Game_Flag_Set(kFlagMcCoyInChinaTown);
Game_Flag_Reset(kFlagSpinnerAtDR01);
Game_Flag_Set(kFlagSpinnerAtCT01);
Set_Enter(kSetCT01_CT12, kSceneCT01);
break;
case kSpinnerDestinationAnimoidRow:
- Game_Flag_Set(kFlagMcCoyAtARxx);
+ Game_Flag_Set(kFlagMcCoyInAnimoidRow);
Game_Flag_Reset(kFlagSpinnerAtDR01);
Game_Flag_Set(kFlagSpinnerAtAR01);
Set_Enter(kSetAR01_AR02, kSceneAR01);
break;
case kSpinnerDestinationTyrellBuilding:
- Game_Flag_Set(kFlagMcCoyAtTBxx);
+ Game_Flag_Set(kFlagMcCoyInTyrellBuilding);
Game_Flag_Reset(kFlagSpinnerAtDR01);
Game_Flag_Set(kFlagSpinnerAtTB02);
Set_Enter(kSetTB02_TB03, kSceneTB02);
break;
case kSpinnerDestinationBradburyBuilding:
- Game_Flag_Set(kFlagMcCoyAtBBxx);
+ Game_Flag_Set(kFlagMcCoyInBradburyBuilding);
Game_Flag_Reset(kFlagSpinnerAtDR01);
Game_Flag_Set(kFlagSpinnerAtBB01);
Set_Enter(kSetBB01, kSceneBB01);
break;
case kSpinnerDestinationNightclubRow:
- Game_Flag_Set(kFlagMcCoyAtNRxx);
+ Game_Flag_Set(kFlagMcCoyInNightclubRow);
Game_Flag_Reset(kFlagSpinnerAtDR01);
Game_Flag_Set(kFlagSpinnerAtNR01);
Set_Enter(kSetNR01, kSceneNR01);
break;
case kSpinnerDestinationHysteriaHall:
- Game_Flag_Set(kFlagMcCoyAtHFxx);
+ Game_Flag_Set(kFlagMcCoyInHysteriaHall);
Game_Flag_Reset(kFlagSpinnerAtDR01);
Game_Flag_Set(kFlagSpinnerAtHF01);
Set_Enter(kSetHF01, kSceneHF01);
break;
default:
Player_Loses_Control();
- Game_Flag_Set(kFlagMcCoyAtDRxx);
+ Game_Flag_Set(kFlagMcCoyInDNARow);
Loop_Actor_Walk_To_XYZ(kActorMcCoy, -447.39f, 0.16f, -92.38f, 0, false, true, 0);
Player_Gains_Control();
break;
@@ -211,9 +230,9 @@ bool SceneScriptDR01::ClickedOnExit(int exitId) {
v7 = Loop_Actor_Walk_To_XYZ(kActorMcCoy, -1236.4f, -0.04f, -13.91f, 0, 1, false, 0);
}
if (!v7) {
- Game_Flag_Set(558);
- Game_Flag_Set(kFlagMcCoyAtCTxx);
- Game_Flag_Reset(kFlagMcCoyAtDRxx);
+ Game_Flag_Set(kFlagDR01toCT11);
+ Game_Flag_Set(kFlagMcCoyInChinaTown);
+ Game_Flag_Reset(kFlagMcCoyInDNARow);
Set_Enter(kSetCT11, kSceneCT11);
}
return true;
@@ -240,7 +259,7 @@ void SceneScriptDR01::ActorChangedGoal(int actorId, int newGoal, int oldGoal, bo
}
void SceneScriptDR01::PlayerWalkedIn() {
- if (Game_Flag_Query(531)) {
+ if (Game_Flag_Query(kFlagCT11toDR01)) {
Async_Actor_Walk_To_XYZ(kActorMcCoy, -757.15f, -0.04f, 24.64f, 0, false);
} else if (!Game_Flag_Query(kFlagDR02toDR01)
&& !Game_Flag_Query(kFlagDR04toDR01)
@@ -251,13 +270,13 @@ void SceneScriptDR01::PlayerWalkedIn() {
}
Game_Flag_Reset(kFlagDR02toDR01);
Game_Flag_Reset(kFlagDR04toDR01);
- Game_Flag_Reset(531);
+ Game_Flag_Reset(kFlagCT11toDR01);
}
void SceneScriptDR01::PlayerWalkedOut() {
if (!Game_Flag_Query(kFlagDR01toDR04)
&& !Game_Flag_Query(kFlagDR01toDR02)
- && !Game_Flag_Query(558)
+ && !Game_Flag_Query(kFlagDR01toCT11)
) {
Ambient_Sounds_Remove_All_Non_Looping_Sounds(true);
Ambient_Sounds_Remove_All_Looping_Sounds(1);
diff --git a/engines/bladerunner/script/scene/dr02.cpp b/engines/bladerunner/script/scene/dr02.cpp
index 45867c1..731ed16 100644
--- a/engines/bladerunner/script/scene/dr02.cpp
+++ b/engines/bladerunner/script/scene/dr02.cpp
@@ -26,19 +26,21 @@ namespace BladeRunner {
void SceneScriptDR02::InitializeScene() {
if (Game_Flag_Query(kFlagDR03toDR02)) {
- Setup_Scene_Information(-1162.0f, 7.18f, -322.0f, 552);
+ Setup_Scene_Information(-1162.0f, 7.18f, -322.0f, 552);
} else if (Game_Flag_Query(kFlagDR01toDR02)) {
- Setup_Scene_Information(-835.0f, -0.04f, -118.0f, 193);
+ Setup_Scene_Information( -835.0f, -0.04f, -118.0f, 193);
} else if (Game_Flag_Query(kFlagBB01toDR02)) {
- Setup_Scene_Information(-1258.0f, 7.18f, -314.0f, 400);
+ Setup_Scene_Information(-1258.0f, 7.18f, -314.0f, 400);
} else {
- Setup_Scene_Information(168.78f, 0.16f, -775.72f, 193);
+ Setup_Scene_Information( 168.78f, 0.16f, -775.72f, 193);
}
- Scene_Exit_Add_2D_Exit(0, 605, 0, 639, 479, 1);
+
+ Scene_Exit_Add_2D_Exit(0, 605, 0, 639, 479, 1);
Scene_Exit_Add_2D_Exit(1, 222, 176, 279, 314, 0);
- if (Game_Flag_Query(326)) {
+ if (Game_Flag_Query(kFlagBB01Available)) {
Scene_Exit_Add_2D_Exit(2, 95, 0, 148, 292, 0);
}
+
Ambient_Sounds_Remove_All_Non_Looping_Sounds(0);
Ambient_Sounds_Remove_All_Looping_Sounds(0);
Ambient_Sounds_Add_Looping_Sound(54, 50, 0, 1);
@@ -47,8 +49,9 @@ void SceneScriptDR02::InitializeScene() {
Ambient_Sounds_Add_Sound(378, 2, 50, 33, 100, -100, 100, -101, -101, 0, 0);
Ambient_Sounds_Add_Sound(379, 2, 50, 33, 100, -100, 100, -101, -101, 0, 0);
Ambient_Sounds_Add_Sound(380, 2, 50, 33, 100, -100, 100, -101, -101, 0, 0);
- Ambient_Sounds_Add_Sound(67, 5, 100, 16, 25, -100, 100, -101, -101, 0, 0);
- Ambient_Sounds_Add_Sound(66, 5, 100, 16, 25, -100, 100, -101, -101, 0, 0);
+ Ambient_Sounds_Add_Sound( 67, 5, 100, 16, 25, -100, 100, -101, -101, 0, 0);
+
+ Ambient_Sounds_Add_Sound( 66, 5, 100, 16, 25, -100, 100, -101, -101, 0, 0);
if (Game_Flag_Query(kFlagDR01toDR02)) {
Scene_Loop_Start_Special(kSceneLoopModeLoseControl, 0, false);
Scene_Loop_Set_Default(1);
@@ -126,6 +129,7 @@ bool SceneScriptDR02::ClickedOnExit(int exitId) {
Ambient_Sounds_Adjust_Looping_Sound(98, 14, -101, 1);
return true;
}
+
if (exitId == 1) {
if (!Loop_Actor_Walk_To_XYZ(kActorMcCoy, -1162.0f, 7.18f, -322.0f, 0, true, false, 0)) {
if (Global_Variable_Query(kVariableChapter) > 2) {
@@ -137,11 +141,12 @@ bool SceneScriptDR02::ClickedOnExit(int exitId) {
}
return true;
}
+
if (exitId == 2) {
if (!Loop_Actor_Walk_To_XYZ(kActorMcCoy, -1258.0f, 7.18f, -314.0f, 0, true, false, 0)) {
Game_Flag_Set(kFlagDR02toBB01);
- Game_Flag_Reset(kFlagMcCoyAtDRxx);
- Game_Flag_Set(kFlagMcCoyAtBBxx);
+ Game_Flag_Reset(kFlagMcCoyInDNARow);
+ Game_Flag_Set(kFlagMcCoyInBradburyBuilding);
Set_Enter(kSetBB01, kSceneBB01);
}
return true;
diff --git a/engines/bladerunner/script/scene/dr03.cpp b/engines/bladerunner/script/scene/dr03.cpp
index f012c68..008cf45 100644
--- a/engines/bladerunner/script/scene/dr03.cpp
+++ b/engines/bladerunner/script/scene/dr03.cpp
@@ -29,8 +29,11 @@ void SceneScriptDR03::InitializeScene() {
Game_Flag_Reset(kFlagDR02toDR03);
Setup_Scene_Information(330.31f, 4.27f, -910.91f, 297);
}
+
Setup_Scene_Information(330.31f, 4.27f, -910.91f, 297);
+
Scene_Exit_Add_2D_Exit(0, 377, 122, 445, 266, 0);
+
if (Global_Variable_Query(kVariableChapter) == 3) {
Actor_Put_In_Set(kActorChew, kSetDR03);
Actor_Set_At_XYZ(kActorChew, 431.21f, 4.27f, -776.26f, 0);
@@ -38,10 +41,11 @@ void SceneScriptDR03::InitializeScene() {
Actor_Put_In_Set(kActorChew, kSetDR03);
Actor_Set_At_XYZ(kActorChew, 360.77f, 4.4f, -806.67f, 126);
}
+
Ambient_Sounds_Remove_All_Looping_Sounds(1);
- Ambient_Sounds_Add_Looping_Sound(110, 7, 0, 1);
- Ambient_Sounds_Add_Looping_Sound(109, 50, 0, 1);
- Ambient_Sounds_Add_Looping_Sound(95, 20, 70, 1);
+ Ambient_Sounds_Add_Looping_Sound(110, 7, 0, 1);
+ Ambient_Sounds_Add_Looping_Sound(109, 50, 0, 1);
+ Ambient_Sounds_Add_Looping_Sound( 95, 20, 70, 1);
}
void SceneScriptDR03::SceneLoaded() {
@@ -62,6 +66,7 @@ bool SceneScriptDR03::ClickedOnActor(int actorId) {
if (actorId == kActorChew) {
Actor_Face_Actor(kActorMcCoy, kActorChew, true);
Actor_Face_Actor(kActorChew, kActorMcCoy, true);
+
if (!Game_Flag_Query(kFlagDR03ChewTalk1)) {
Actor_Says(kActorMcCoy, 755, 18);
Actor_Says(kActorChew, 10, 14);
@@ -72,52 +77,62 @@ bool SceneScriptDR03::ClickedOnActor(int actorId) {
Game_Flag_Set(kFlagDR03ChewTalk1);
return true;
}
- if (Actor_Clue_Query(kActorMcCoy, kClueChewInterview)) {
- if (Game_Flag_Query(kFlagMorajiExploded)
- && Game_Flag_Query(kFlagDR03ChewTalk1)) {
- Actor_Says(kActorMcCoy, 815, 18);
- Actor_Says(kActorChew, 60, 14);
- Actor_Says(kActorChew, 70, 14);
- Actor_Says(kActorChew, 80, 14);
- Actor_Says(kActorMcCoy, 820, 18);
- Actor_Says(kActorChew, 90, 14);
- Actor_Says(kActorMcCoy, 825, 18);
- Actor_Says(kActorChew, 100, 14);
- Game_Flag_Reset(kFlagMorajiExploded);
- Game_Flag_Set(505);
- return true;
- }
- if ((Actor_Clue_Query(kActorMcCoy, kClueDNATyrell) || Actor_Clue_Query(kActorMcCoy, kClueAnsweringMachineMessage) || Actor_Clue_Query(kActorMcCoy, kClueEnvelope) || Actor_Clue_Query(kActorMcCoy, kClueChewInterview))
- && Game_Flag_Query(505)) {
- sub_401B18();
- } else {
- Actor_Says(kActorMcCoy, 810, 18);
- Actor_Says(kActorChew, 40, 14);
- Actor_Says(kActorChew, 50, 14);
+
+ if (!Actor_Clue_Query(kActorMcCoy, kClueChewInterview)) {
+ Actor_Says(kActorMcCoy, 770, 12);
+ Actor_Says(kActorChew, 110, 12);
+ Actor_Says(kActorChew, 120, 13);
+ Actor_Says(kActorMcCoy, 835, 13);
+ Actor_Says(kActorChew, 130, 14);
+ Actor_Says(kActorMcCoy, 840, 16);
+ Actor_Says(kActorChew, 140, 15);
+ if (!Game_Flag_Query(kFlagDR03ChewTalkExplosion)) {
+ Actor_Says(kActorChew, 150, 13);
+ Actor_Says(kActorMcCoy, 845, 17);
+ Actor_Says(kActorChew, 170, 18);
+ Actor_Says(kActorChew, 180, 16);
+ Actor_Says(kActorMcCoy, 850, 15);
+ Actor_Says(kActorChew, 190, 14);
+ Actor_Says(kActorChew, 200, 13);
+ Actor_Says(kActorMcCoy, 855, 18);
+ Actor_Says(kActorChew, 210, 12);
}
+ Actor_Clue_Acquire(kActorMcCoy, kClueChewInterview, true, kActorChew);
return true;
}
- Actor_Says(kActorMcCoy, 770, 12);
- Actor_Says(kActorChew, 110, 12);
- Actor_Says(kActorChew, 120, 13);
- Actor_Says(kActorMcCoy, 835, 13);
- Actor_Says(kActorChew, 130, 14);
- Actor_Says(kActorMcCoy, 840, 16);
- Actor_Says(kActorChew, 140, 15);
- if (!Game_Flag_Query(505)) {
- Actor_Says(kActorChew, 150, 13);
- Actor_Says(kActorMcCoy, 845, 17);
- Actor_Says(kActorChew, 170, 18);
- Actor_Says(kActorChew, 180, 16);
- Actor_Says(kActorMcCoy, 850, 15);
- Actor_Says(kActorChew, 190, 14);
- Actor_Says(kActorChew, 200, 13);
- Actor_Says(kActorMcCoy, 855, 18);
- Actor_Says(kActorChew, 210, 12);
+
+ if (Game_Flag_Query(kFlagDR05JustExploded)
+ && Game_Flag_Query(kFlagDR03ChewTalk1)
+ ) {
+ Actor_Says(kActorMcCoy, 815, 18);
+ Actor_Says(kActorChew, 60, 14);
+ Actor_Says(kActorChew, 70, 14);
+ Actor_Says(kActorChew, 80, 14);
+ Actor_Says(kActorMcCoy, 820, 18);
+ Actor_Says(kActorChew, 90, 14);
+ Actor_Says(kActorMcCoy, 825, 18);
+ Actor_Says(kActorChew, 100, 14);
+ Game_Flag_Reset(kFlagDR05JustExploded);
+ Game_Flag_Set(kFlagDR03ChewTalkExplosion);
+ return true;
+ }
+
+ if ((Actor_Clue_Query(kActorMcCoy, kClueDNATyrell)
+ || Actor_Clue_Query(kActorMcCoy, kClueAnsweringMachineMessage)
+ || Actor_Clue_Query(kActorMcCoy, kClueEnvelope)
+ || Actor_Clue_Query(kActorMcCoy, kClueChewInterview)
+ )
+ && Game_Flag_Query(kFlagDR03ChewTalkExplosion)
+ ) {
+ dialogueWithChew();
+ } else {
+ Actor_Says(kActorMcCoy, 810, 18);
+ Actor_Says(kActorChew, 40, 14);
+ Actor_Says(kActorChew, 50, 14);
}
- Actor_Clue_Acquire(kActorMcCoy, kClueChewInterview, true, kActorChew);
return true;
}
+
return false;
}
@@ -141,7 +156,21 @@ bool SceneScriptDR03::ClickedOn2DRegion(int region) {
}
void SceneScriptDR03::SceneFrameAdvanced(int frame) {
- if (frame == 1 || frame == 4 || frame == 8 || frame == 10 || frame == 19 || frame == 21 || frame == 22 || frame == 23 || frame == 30 || frame == 31 || frame == 32 || frame == 33 || frame == 46 || frame == 49) {
+ if (frame == 1
+ || frame == 4
+ || frame == 8
+ || frame == 10
+ || frame == 19
+ || frame == 21
+ || frame == 22
+ || frame == 23
+ || frame == 30
+ || frame == 31
+ || frame == 32
+ || frame == 33
+ || frame == 46
+ || frame == 49
+ ) {
if (Random_Query(0, 1)) {
Sound_Play(97, Random_Query(20, 33), 80, 80, 50);
} else {
@@ -174,31 +203,36 @@ void SceneScriptDR03::PlayerWalkedOut() {
void SceneScriptDR03::DialogueQueueFlushed(int a1) {
}
-void SceneScriptDR03::sub_401B18() {
+void SceneScriptDR03::dialogueWithChew() {
Dialogue_Menu_Clear_List();
- if (Actor_Clue_Query(kActorMcCoy, kClueChewInterview) || Actor_Clue_Query(kActorMcCoy, kClueAnsweringMachineMessage) || Actor_Clue_Query(kActorMcCoy, kClueMorajiInterview)) {
- DM_Add_To_List_Never_Repeat_Once_Selected(650, 5, 5, 5);
+ if (Actor_Clue_Query(kActorMcCoy, kClueChewInterview)
+ || Actor_Clue_Query(kActorMcCoy, kClueAnsweringMachineMessage)
+ || Actor_Clue_Query(kActorMcCoy, kClueMorajiInterview)
+ ) {
+ DM_Add_To_List_Never_Repeat_Once_Selected(650, 5, 5, 5); // TWINS
}
if (Actor_Clue_Query(kActorMcCoy, kClueChewInterview)) {
- DM_Add_To_List_Never_Repeat_Once_Selected(660, 5, 5, 5);
+ DM_Add_To_List_Never_Repeat_Once_Selected(660, 5, 5, 5); // MORAJI
}
if (Actor_Clue_Query(kActorMcCoy, kClueTyrellInterview)) {
- DM_Add_To_List_Never_Repeat_Once_Selected(670, 6, 5, 2);
+ DM_Add_To_List_Never_Repeat_Once_Selected(670, 6, 5, 2); // TYRELL
}
- if (Game_Flag_Query(505)) {
+ if (Game_Flag_Query(kFlagDR03ChewTalkExplosion)) {
if (Actor_Clue_Query(kActorMcCoy, kClueAnsweringMachineMessage)) {
- DM_Add_To_List_Never_Repeat_Once_Selected(680, 8, 8, 8);
+ DM_Add_To_List_Never_Repeat_Once_Selected(680, 8, 8, 8); // SEBASTIAN
}
if (Actor_Clue_Query(kActorMcCoy, kClueEnvelope)) {
- DM_Add_To_List_Never_Repeat_Once_Selected(1270, 2, 5, 7);
+ DM_Add_To_List_Never_Repeat_Once_Selected(1270, 2, 5, 7); // LANCE'S ENVELOPE
}
}
- Dialogue_Menu_Add_DONE_To_List(690);
+ Dialogue_Menu_Add_DONE_To_List(690); // DONE
+
Dialogue_Menu_Appear(320, 240);
int answer = Dialogue_Menu_Query_Input();
Dialogue_Menu_Disappear();
+
switch (answer) {
- case 640:
+ case 640: // EISENDULLER
Actor_Says(kActorMcCoy, 770, 12);
Actor_Says(kActorChew, 110, 12);
Actor_Says(kActorChew, 120, 13);
@@ -206,7 +240,7 @@ void SceneScriptDR03::sub_401B18() {
Actor_Says(kActorChew, 130, 14);
Actor_Says(kActorMcCoy, 840, 16);
Actor_Says(kActorChew, 140, 15);
- if (!Game_Flag_Query(505)) {
+ if (!Game_Flag_Query(kFlagDR03ChewTalkExplosion)) {
Actor_Says(kActorChew, 150, 13);
Actor_Says(kActorMcCoy, 845, 17);
Actor_Says(kActorChew, 170, 18);
@@ -219,7 +253,8 @@ void SceneScriptDR03::sub_401B18() {
}
Actor_Clue_Acquire(kActorMcCoy, kClueChewInterview, true, kActorChew);
break;
- case 650:
+
+ case 650: // TWINS
Actor_Says(kActorMcCoy, 775, 11);
Actor_Says(kActorChew, 220, 14);
Actor_Says(kActorMcCoy, 860, 11);
@@ -228,9 +263,10 @@ void SceneScriptDR03::sub_401B18() {
Actor_Says(kActorChew, 240, 14);
Actor_Says(kActorChew, 250, 14);
break;
- case 660:
+
+ case 660: // MORAJI
Actor_Says(kActorMcCoy, 780, 13);
- if (Game_Flag_Query(505)) {
+ if (Game_Flag_Query(kFlagDR03ChewTalkExplosion)) {
Actor_Says(kActorChew, 260, 14);
Actor_Says(kActorChew, 270, 13);
Actor_Says(kActorChew, 280, 12);
@@ -240,34 +276,41 @@ void SceneScriptDR03::sub_401B18() {
Actor_Says(kActorChew, 280, 12);
Actor_Says(kActorMcCoy, 870, 18);
Actor_Says(kActorChew, 290, 15);
- if (!Game_Flag_Query(kFlagMorajiExploded)) {
+ if (!Game_Flag_Query(kFlagDR05JustExploded)) {
Actor_Says(kActorChew, 300, 12);
}
}
Actor_Clue_Acquire(kActorMcCoy, kClueChewInterview, true, kActorChew);
break;
- case 670:
+
+ case 670: // TYRELL
Actor_Says(kActorMcCoy, 765, 12);
Actor_Says(kActorMcCoy, 790, 13);
Actor_Says(kActorChew, 310, 12);
Actor_Says(kActorChew, 320, 3);
break;
- case 680:
+
+ case 680: // SEBASTIAN
Actor_Says(kActorMcCoy, 795, 3);
- if (Game_Flag_Query(505) == 1) {
+ if (Game_Flag_Query(kFlagDR03ChewTalkExplosion)) {
Actor_Says(kActorChew, 330, 12);
Actor_Says(kActorChew, 340, 15);
Actor_Says(kActorMcCoy, 875, 16);
Actor_Says(kActorChew, 350, 12);
Actor_Says(kActorChew, 360, 15);
- Game_Flag_Set(326);
+ Game_Flag_Set(kFlagBB01Available);
} else {
Actor_Says(kActorChew, 320, 13);
Actor_Says(kActorChew, 150, 14);
- Game_Flag_Set(326);
+ Game_Flag_Set(kFlagBB01Available);
}
break;
- case 1270:
+
+ case 690: // DONE
+ Actor_Says(kActorMcCoy, 805, 3);
+ break;
+
+ case 1270: // LANCE'S ENVELOPE
Actor_Says(kActorMcCoy, 800, 16);
Actor_Says(kActorChew, 370, 3);
Actor_Says(kActorMcCoy, 880, 15);
@@ -280,9 +323,6 @@ void SceneScriptDR03::sub_401B18() {
Actor_Says(kActorChew, 420, 13);
Actor_Says(kActorChew, 430, 12);
break;
- case 690:
- Actor_Says(kActorMcCoy, 805, 3);
- break;
}
}
diff --git a/engines/bladerunner/script/scene/dr04.cpp b/engines/bladerunner/script/scene/dr04.cpp
index 0f3addc..3b033d0 100644
--- a/engines/bladerunner/script/scene/dr04.cpp
+++ b/engines/bladerunner/script/scene/dr04.cpp
@@ -24,44 +24,55 @@
namespace BladeRunner {
+enum kDR04Loops {
+ kDR04LoopPanFromDR01PostExplosion = 0,
+ kDR04LoopMainPostExplosion = 1,
+ kDR04LoopPanFromDR01PreExplosion = 3,
+ kDR04LoopMainPreExplosion = 4,
+ kDR04LoopDR04Explosion = 6
+};
+
void SceneScriptDR04::InitializeScene() {
- if (Game_Flag_Query(kFlagDR05BombExplosionView)) {
- Setup_Scene_Information(0.0f, 0.0f, 0.0f, 0);
+ if (Game_Flag_Query(kFlagDR05ViewExplosion)) {
+ Setup_Scene_Information( 0.0f, 0.0f, 0.0f, 0);
} else if (Game_Flag_Query(kFlagDR01toDR04)) {
- Setup_Scene_Information(-711.0f, -0.04f, 70.0f, 472);
+ Setup_Scene_Information( -711.0f, -0.04f, 70.0f, 472);
} else if (Game_Flag_Query(kFlagDR05toDR04)) {
- Setup_Scene_Information(-1067.0f, 7.18f, 421.0f, 125);
+ Setup_Scene_Information(-1067.0f, 7.18f, 421.0f, 125);
} else if (Game_Flag_Query(kFlagDR06toDR04)) {
Setup_Scene_Information(-897.75f, 134.45f, 569.75f, 512);
} else {
- Setup_Scene_Information(-810.0f, -0.04f, 242.0f, 125);
+ Setup_Scene_Information( -810.0f, -0.04f, 242.0f, 125);
}
- Scene_Exit_Add_2D_Exit(0, 589, 0, 639, 479, 1);
+
+ Scene_Exit_Add_2D_Exit(0, 589, 0, 639, 479, 1);
Scene_Exit_Add_2D_Exit(1, 443, 264, 488, 353, 0);
Scene_Exit_Add_2D_Exit(2, 222, 110, 269, 207, 0);
+
Ambient_Sounds_Remove_All_Non_Looping_Sounds(0);
- Ambient_Sounds_Add_Looping_Sound(54, 50, 1, 1);
- Ambient_Sounds_Add_Looping_Sound(288, 55, -100, 1);
+ Ambient_Sounds_Add_Looping_Sound( 54, 50, 1, 1);
+ Ambient_Sounds_Add_Looping_Sound(288, 55, -100, 1);
Ambient_Sounds_Add_Looping_Sound(217, 28, -100, 100);
- Ambient_Sounds_Add_Speech_Sound(60, 0, 10, 260, 17, 24, -100, 100, -101, -101, 1, 1);
+ Ambient_Sounds_Add_Speech_Sound(60, 0, 10, 260, 17, 24, -100, 100, -101, -101, 1, 1);
Ambient_Sounds_Add_Speech_Sound(60, 20, 10, 260, 17, 24, -100, 100, -101, -101, 1, 1);
Ambient_Sounds_Add_Speech_Sound(60, 40, 10, 260, 17, 24, -100, 100, -101, -101, 1, 1);
Ambient_Sounds_Add_Speech_Sound(60, 50, 10, 260, 17, 24, -100, 100, -101, -101, 1, 1);
- Ambient_Sounds_Add_Sound(67, 40, 180, 16, 25, 0, 0, -101, -101, 0, 0);
- Ambient_Sounds_Add_Sound(66, 40, 180, 16, 25, 0, 0, -101, -101, 0, 0);
- Ambient_Sounds_Add_Sound(378, 5, 80, 50, 100, 0, 0, -101, -101, 0, 0);
- Ambient_Sounds_Add_Sound(379, 5, 80, 50, 100, 0, 0, -101, -101, 0, 0);
- Ambient_Sounds_Add_Sound(380, 5, 80, 50, 100, 0, 0, -101, -101, 0, 0);
+ Ambient_Sounds_Add_Sound( 67, 40, 180, 16, 25, 0, 0, -101, -101, 0, 0);
+ Ambient_Sounds_Add_Sound( 66, 40, 180, 16, 25, 0, 0, -101, -101, 0, 0);
+ Ambient_Sounds_Add_Sound(378, 5, 80, 50, 100, 0, 0, -101, -101, 0, 0);
+ Ambient_Sounds_Add_Sound(379, 5, 80, 50, 100, 0, 0, -101, -101, 0, 0);
+ Ambient_Sounds_Add_Sound(380, 5, 80, 50, 100, 0, 0, -101, -101, 0, 0);
+
if (Game_Flag_Query(kFlagDR05BombExploded)) {
- Scene_Loop_Set_Default(1);
+ Scene_Loop_Set_Default(kDR04LoopMainPostExplosion);
} else {
- Scene_Loop_Set_Default(4);
+ Scene_Loop_Set_Default(kDR04LoopMainPreExplosion);
}
if (Game_Flag_Query(kFlagDR01toDR04)) {
if (Game_Flag_Query(kFlagDR05BombExploded)) {
- Scene_Loop_Start_Special(0, 0, 0);
+ Scene_Loop_Start_Special(kSceneLoopModeLoseControl, kDR04LoopPanFromDR01PostExplosion, false);
} else {
- Scene_Loop_Start_Special(0, 3, 0);
+ Scene_Loop_Start_Special(kSceneLoopModeLoseControl, kDR04LoopPanFromDR01PreExplosion, false);
}
}
}
@@ -95,26 +106,26 @@ bool SceneScriptDR04::ClickedOnActor(int actorId) {
if ( actorId == kActorMoraji
&& !Player_Query_Combat_Mode()
) {
- if (Actor_Query_Goal_Number(kActorMoraji) == 21) {
+ if (Actor_Query_Goal_Number(kActorMoraji) == kGoalMorajiLayDown) {
if (!Loop_Actor_Walk_To_Waypoint(kActorMcCoy, 109, 0, true, true)) {
Actor_Face_Actor(kActorMcCoy, kActorMoraji, true);
Actor_Says(kActorMcCoy, 945, 13);
- Actor_Says(kActorMoraji, 0, 3);
- Actor_Says(kActorMoraji, 10, 3);
+ Actor_Says(kActorMoraji, 0, kAnimationModeTalk);
+ Actor_Says(kActorMoraji, 10, kAnimationModeTalk);
Actor_Says(kActorMcCoy, 950, 13);
- Actor_Says(kActorMoraji, 20, 3);
- Actor_Says(kActorMoraji, 30, 3);
+ Actor_Says(kActorMoraji, 20, kAnimationModeTalk);
+ Actor_Says(kActorMoraji, 30, kAnimationModeTalk);
Actor_Says(kActorMcCoy, 955, 13);
- Actor_Says_With_Pause(kActorMoraji, 40, 0.0f, 3);
- Actor_Says(kActorMoraji, 50, 3);
+ Actor_Says_With_Pause(kActorMoraji, 40, 0.0f, kAnimationModeTalk);
+ Actor_Says(kActorMoraji, 50, kAnimationModeTalk);
Actor_Clue_Acquire(kActorMcCoy, kClueMorajiInterview, true, kActorMoraji);
- Actor_Set_Goal_Number(kActorMoraji, 22);
+ Actor_Set_Goal_Number(kActorMoraji, kGoalMorajiDie);
Actor_Set_Goal_Number(kActorOfficerGrayford, 101);
return true;
}
}
- if (Actor_Query_Goal_Number(kActorMoraji) == 23) {
+ if (Actor_Query_Goal_Number(kActorMoraji) == kGoalMorajiDead) {
if (!Loop_Actor_Walk_To_Actor(kActorMcCoy, kActorMoraji, 36, true, false)) {
Actor_Set_Goal_Number(kActorOfficerGrayford, 106);
return true;
@@ -129,37 +140,40 @@ bool SceneScriptDR04::ClickedOnItem(int itemId, bool a2) {
}
bool SceneScriptDR04::ClickedOnExit(int exitId) {
- if (Actor_Query_Goal_Number(kActorMoraji) == 21) {
+ if (Actor_Query_Goal_Number(kActorMoraji) == kGoalMorajiLayDown) {
Actor_Force_Stop_Walking(kActorMcCoy);
- Actor_Set_Goal_Number(kActorMoraji, 22);
+ Actor_Set_Goal_Number(kActorMoraji, kGoalMorajiDie);
Actor_Set_Goal_Number(kActorOfficerGrayford, 101);
return true;
}
+
if (exitId == 0) {
- if (!Loop_Actor_Walk_To_XYZ(kActorMcCoy, -761.0f, -0.04f, 97.0f, 0, 1, false, 0)) {
+ if (!Loop_Actor_Walk_To_XYZ(kActorMcCoy, -761.0f, -0.04f, 97.0f, 0, true, false, 0)) {
Async_Actor_Walk_To_XYZ(kActorMcCoy, -683.0f, -0.04f, 43.0f, 0, false);
Game_Flag_Set(kFlagDR04toDR01);
Set_Enter(kSetDR01_DR02_DR04, kSceneDR01);
}
return true;
}
+
if (exitId == 1) {
- if (!Loop_Actor_Walk_To_XYZ(kActorMcCoy, -1067.0f, 7.18f, 421.0f, 0, 1, false, 0)) {
+ if (!Loop_Actor_Walk_To_XYZ(kActorMcCoy, -1067.0f, 7.18f, 421.0f, 0, true, false, 0)) {
Game_Flag_Set(kFlagNotUsed232);
Game_Flag_Set(kFlagDR04toDR05);
Set_Enter(kSetDR05, kSceneDR05);
}
return true;
}
+
if (exitId == 2) {
- if (!Loop_Actor_Walk_To_XYZ(kActorMcCoy, -851.0f, 6.98f, 560.0f, 0, 1, false, 0)) {
+ if (!Loop_Actor_Walk_To_XYZ(kActorMcCoy, -851.0f, 6.98f, 560.0f, 0, true, false, 0)) {
Footstep_Sound_Override_On(3);
Actor_Set_Immunity_To_Obstacles(kActorMcCoy, true);
Actor_Face_Heading(kActorMcCoy, 512, false);
- Loop_Actor_Travel_Stairs(kActorMcCoy, 7, 1, kAnimationModeIdle);
- Loop_Actor_Walk_To_XYZ(kActorMcCoy, -899.0f, 71.64f, 647.0f, 0, 0, false, 0);
+ Loop_Actor_Travel_Stairs(kActorMcCoy, 7, true, kAnimationModeIdle);
+ Loop_Actor_Walk_To_XYZ(kActorMcCoy, -899.0f, 71.64f, 647.0f, 0, false, false, 0);
Actor_Face_Heading(kActorMcCoy, 0, false);
- Loop_Actor_Travel_Stairs(kActorMcCoy, 7, 1, kAnimationModeIdle);
+ Loop_Actor_Travel_Stairs(kActorMcCoy, 7, true, kAnimationModeIdle);
Actor_Set_Immunity_To_Obstacles(kActorMcCoy, false);
Footstep_Sound_Override_Off();
Game_Flag_Set(kFlagDR04toDR06);
@@ -174,58 +188,61 @@ bool SceneScriptDR04::ClickedOn2DRegion(int region) {
return false;
}
-bool SceneScriptDR04::sub_401160() {
+bool SceneScriptDR04::farEnoughFromExplosion() {
float x, y, z;
Actor_Query_XYZ(kActorMcCoy, &x, &y, &z);
return (x + 1089.94f) * (x + 1089.94f) + (z - 443.49f) * (z - 443.49f) >= (360.0f * 360.0f);
}
void SceneScriptDR04::SceneFrameAdvanced(int frame) {
- if (Game_Flag_Query(kFlagDR05BombExplosionView)) {
- Game_Flag_Reset(kFlagDR05BombExplosionView);
+ if (Game_Flag_Query(kFlagDR05ViewExplosion)) {
+ Game_Flag_Reset(kFlagDR05ViewExplosion);
Game_Flag_Reset(kFlagDR05BombWillExplode);
- Scene_Loop_Set_Default(1);
- Scene_Loop_Start_Special(kSceneLoopModeOnce, 6, true);
+ Scene_Loop_Set_Default(kDR04LoopMainPostExplosion);
+ Scene_Loop_Start_Special(kSceneLoopModeOnce, kDR04LoopDR04Explosion, true);
Music_Stop(4);
- Actor_Set_Goal_Number(kActorMoraji, 99);
+ Actor_Set_Goal_Number(kActorMoraji, kGoalMorajiPerished);
} else {
if (Game_Flag_Query(kFlagDR05BombWillExplode)) {
Game_Flag_Reset(kFlagDR05BombWillExplode);
Game_Flag_Set(kFlagDR05BombExploded);
- Scene_Loop_Set_Default(1);
- Scene_Loop_Start_Special(kSceneLoopModeOnce, 6, true);
- Item_Remove_From_World(78);
+ Scene_Loop_Set_Default(kDR04LoopMainPostExplosion);
+ Scene_Loop_Start_Special(kSceneLoopModeOnce, kDR04LoopDR04Explosion, true);
+ Item_Remove_From_World(kItemBomb);
}
+
switch (frame) {
case 193:
Sound_Play(301, 100, 0, 100, 50);
- Actor_Set_Goal_Number(kActorMoraji, 30);
+ Actor_Set_Goal_Number(kActorMoraji, kGoalMorajiChooseFate);
Player_Loses_Control();
Actor_Force_Stop_Walking(kActorMcCoy);
- if (sub_401160()) {
+ if (farEnoughFromExplosion()) {
if (Player_Query_Combat_Mode()) {
- Actor_Change_Animation_Mode(kActorMcCoy, 22);
+ Actor_Change_Animation_Mode(kActorMcCoy, kAnimationModeCombatHit);
} else {
- Actor_Change_Animation_Mode(kActorMcCoy, 21);
+ Actor_Change_Animation_Mode(kActorMcCoy, kAnimationModeHit);
}
} else {
Sound_Play_Speech_Line(kActorMcCoy, 9905, 100, 0, 99);
- Actor_Change_Animation_Mode(kActorMcCoy, 48);
- Actor_Retired_Here(kActorMcCoy, 6, 6, 1, -1);
+ Actor_Change_Animation_Mode(kActorMcCoy, kAnimationModeDie);
+ Actor_Retired_Here(kActorMcCoy, 6, 6, true, -1);
}
Player_Gains_Control();
break;
+
case 235:
- if (Actor_Query_Goal_Number(kActorMoraji) != 20
- && Actor_Query_Goal_Number(kActorMoraji) != 21
- && Actor_Query_Goal_Number(kActorMoraji) != 99
+ if (Actor_Query_Goal_Number(kActorMoraji) != kGoalMorajiJump
+ && Actor_Query_Goal_Number(kActorMoraji) != kGoalMorajiLayDown
+ && Actor_Query_Goal_Number(kActorMoraji) != kGoalMorajiPerished
) {
Actor_Set_Goal_Number(kActorOfficerGrayford, 101);
}
Scene_Exits_Enable();
break;
+
case 237:
- Overlay_Play("DR04OVER", 0, 1, 1, 0);
+ Overlay_Play("DR04OVER", 0, true, true, 0);
break;
}
}
@@ -235,7 +252,7 @@ void SceneScriptDR04::ActorChangedGoal(int actorId, int newGoal, int oldGoal, bo
}
void SceneScriptDR04::PlayerWalkedIn() {
- if (Game_Flag_Query(kFlagDR05BombExplosionView)) {
+ if (Game_Flag_Query(kFlagDR05ViewExplosion)) {
Player_Loses_Control();
Delay(4000);
Actor_Retired_Here(kActorMcCoy, 6, 6, 1, -1);
@@ -250,11 +267,11 @@ void SceneScriptDR04::PlayerWalkedIn() {
Footstep_Sound_Override_On(3);
Actor_Set_Immunity_To_Obstacles(kActorMcCoy, true);
Actor_Face_Heading(kActorMcCoy, 512, false);
- Loop_Actor_Travel_Stairs(kActorMcCoy, 7, 0, kAnimationModeIdle);
- Loop_Actor_Walk_To_XYZ(kActorMcCoy, -851.0f, 71.64f, 647.0f, 0, 0, false, 0);
+ Loop_Actor_Travel_Stairs(kActorMcCoy, 7, false, kAnimationModeIdle);
+ Loop_Actor_Walk_To_XYZ(kActorMcCoy, -851.0f, 71.64f, 647.0f, 0, false, false, 0);
Actor_Face_Heading(kActorMcCoy, 0, false);
- Loop_Actor_Travel_Stairs(kActorMcCoy, 7, 0, kAnimationModeIdle);
- Loop_Actor_Walk_To_XYZ(kActorMcCoy, -774.85f, 7.18f, 386.67f, 0, 0, false, 0);
+ Loop_Actor_Travel_Stairs(kActorMcCoy, 7, false, kAnimationModeIdle);
+ Loop_Actor_Walk_To_XYZ(kActorMcCoy, -774.85f, 7.18f, 386.67f, 0, false, false, 0);
Actor_Set_Immunity_To_Obstacles(kActorMcCoy, false);
Footstep_Sound_Override_Off();
}
diff --git a/engines/bladerunner/script/scene/dr05.cpp b/engines/bladerunner/script/scene/dr05.cpp
index 0204cf5..9f00bc2 100644
--- a/engines/bladerunner/script/scene/dr05.cpp
+++ b/engines/bladerunner/script/scene/dr05.cpp
@@ -24,18 +24,27 @@
namespace BladeRunner {
+enum kDR05Loops {
+ kDR05LoopMain = 0,
+ kDR05LoopMainDestroyed = 2
+};
+
void SceneScriptDR05::InitializeScene() {
Setup_Scene_Information(-22.0f, 0.3f, 221.0f, 0);
+
Game_Flag_Reset(kFlagDR04toDR05);
+
Scene_Exit_Add_2D_Exit(0, 0, 38, 80, 467, 3);
+
Ambient_Sounds_Add_Looping_Sound(383, 25, 0, 1);
+
if (!Game_Flag_Query(kFlagDR05BombExploded)) {
- Overlay_Play("DR05OVER", 0, 1, 0, 0);
+ Overlay_Play("DR05OVER", 0, true, false, 0);
}
if (Game_Flag_Query(kFlagDR05BombExploded)) {
- Scene_Loop_Set_Default(2);
+ Scene_Loop_Set_Default(kDR05LoopMainDestroyed);
} else {
- Scene_Loop_Set_Default(0);
+ Scene_Loop_Set_Default(kDR05LoopMain);
}
}
@@ -44,10 +53,11 @@ void SceneScriptDR05::SceneLoaded() {
Unobstacle_Object("BOX06", true);
Unobstacle_Object("BOX183", true);
Clickable_Object("T2 DOORWAY");
+
if (!Game_Flag_Query(kFlagDR05BombExploded)) {
- Item_Add_To_World(78, 932, 35, -1.57f, 31.33f, 75.21f, 540, 16, 16, true, true, false, true);
- if (Actor_Query_Goal_Number(kActorMoraji) == 0) {
- Item_Add_To_World(122, 931, 35, 37.35f, 1.59f, 46.72f, 0, 20, 20, true, true, false, true);
+ Item_Add_To_World(kItemBomb, 932, kSetDR05, -1.57f, 31.33f, 75.21f, 540, 16, 16, true, true, false, true);
+ if (Actor_Query_Goal_Number(kActorMoraji) == kGoalMorajiDefault) {
+ Item_Add_To_World(kItemChain, 931, kSetDR05, 37.35f, 1.59f, 46.72f, 0, 20, 20, true, true, false, true);
}
}
}
@@ -58,19 +68,20 @@ bool SceneScriptDR05::MouseClick(int x, int y) {
bool SceneScriptDR05::ClickedOn3DObject(const char *objectName, bool a2) {
if (Object_Query_Click("T2 DOORWAY", objectName)) {
- if (Game_Flag_Query(kFlagNotUsed276)
- || Actor_Query_Goal_Number(kActorMoraji) != 0
+ if (!Game_Flag_Query(kFlagNotUsed276)
+ && Actor_Query_Goal_Number(kActorMoraji) == kGoalMorajiDefault
) {
+ Actor_Face_Object(kActorMcCoy, "T2 DOORWAY", true);
+ Actor_Says(kActorMcCoy, 1020, 14);
+ Actor_Says(kActorMoraji, 90, 13);
+ } else {
if (!Loop_Actor_Walk_To_XYZ(kActorMcCoy, 57.61f, 0.3f, 69.27f, 0, true, false, 0)) {
Actor_Face_Object(kActorMcCoy, "T2 DOORWAY", true);
Actor_Says(kActorMcCoy, 8522, 13);
Actor_Says(kActorMcCoy, 8521, 14);
}
- } else {
- Actor_Face_Object(kActorMcCoy, "T2 DOORWAY", true);
- Actor_Says(kActorMcCoy, 1020, 14);
- Actor_Says(kActorMoraji, 90, 13);
}
+
return true;
}
return false;
@@ -81,30 +92,31 @@ bool SceneScriptDR05::ClickedOnActor(int actorId) {
}
bool SceneScriptDR05::ClickedOnItem(int itemId, bool a2) {
- if (itemId == 78) {
+ if (itemId == kItemBomb) {
if (Player_Query_Combat_Mode()) {
Game_Flag_Set(kFlagDR05BombWillExplode);
- Actor_Set_Goal_Number(kActorMoraji, 30);
+ Actor_Set_Goal_Number(kActorMoraji, kGoalMorajiChooseFate);
} else if (!Game_Flag_Query(kFlagDR05BombExploded)
- && !Loop_Actor_Walk_To_Item(kActorMcCoy, 78, 24, 1, true)
- && Actor_Query_Goal_Number(kActorMoraji) != 11
+ && !Loop_Actor_Walk_To_Item(kActorMcCoy, kItemBomb, 24, true, true)
+ && Actor_Query_Goal_Number(kActorMoraji) != kGoalMorajiRunOut
) {
if (!Actor_Query_Goal_Number(kActorMoraji)) {
Actor_Says_With_Pause(kActorMcCoy, 1015, 0.1f, 12);
Actor_Says(kActorMoraji, 70, 13);
}
- Actor_Set_Goal_Number(kActorMoraji, 30);
+ Actor_Set_Goal_Number(kActorMoraji, kGoalMorajiChooseFate);
}
//return true; //bug?
}
- if (itemId == 122
+
+ if (itemId == kItemChain
&& Player_Query_Combat_Mode()
- && Actor_Query_Goal_Number(kActorMoraji) == 0
+ && Actor_Query_Goal_Number(kActorMoraji) == kGoalOfficerLearyDefault
) {
- Overlay_Play("DR05OVER", 1, 0, 1, 0);
- Item_Remove_From_World(122);
+ Overlay_Play("DR05OVER", 1, false, true, 0);
+ Item_Remove_From_World(kItemChain);
Game_Flag_Set(kFlagDR05ChainShot);
- Actor_Set_Goal_Number(kActorMoraji, 10);
+ Actor_Set_Goal_Number(kActorMoraji, kGoalMorajiFreed);
Music_Play(18, 71, 0, 0, -1, 0, 2);
return true;
}
@@ -131,11 +143,12 @@ void SceneScriptDR05::SceneFrameAdvanced(int frame) {
if (frame == 49) {
Sound_Play(148, Random_Query(50, 50), 80, 80, 50);
}
+
if (Game_Flag_Query(kFlagDR05BombWillExplode)) {
- Item_Remove_From_World(78);
+ Item_Remove_From_World(kItemBomb);
Game_Flag_Reset(kFlagDR05BombWillExplode);
Game_Flag_Set(kFlagDR05BombExploded);
- Actor_Set_Goal_Number(kActorMoraji, 30);
+ Actor_Set_Goal_Number(kActorMoraji, kGoalMorajiChooseFate);
}
}
@@ -147,11 +160,11 @@ void SceneScriptDR05::PlayerWalkedIn() {
&& !Game_Flag_Query(kFlagDR05ChainShot)
&& Game_Flag_Query(kFlagDR05BombExploded)
) {
- Item_Remove_From_World(122);
+ Item_Remove_From_World(kItemChain);
}
if (Game_Flag_Query(kFlagDR05BombExploded)) {
- Loop_Actor_Walk_To_XYZ(kActorMcCoy, -10.0f, 0.3f, 133.0f, 0, 0, false, 0);
+ Loop_Actor_Walk_To_XYZ(kActorMcCoy, -10.0f, 0.3f, 133.0f, 0, false, false, 0);
if (!Game_Flag_Query(kFlagDR05ExplodedEntered)) {
Game_Flag_Set(kFlagDR05ExplodedEntered);
if (Game_Flag_Query(kFlagSadikIsReplicant)) {
@@ -170,18 +183,18 @@ void SceneScriptDR05::PlayerWalkedIn() {
}
}
} else {
- Loop_Actor_Walk_To_XYZ(kActorMcCoy, -10.0f, 0.3f, 133.0f, 0, 0, true, 0);
+ Loop_Actor_Walk_To_XYZ(kActorMcCoy, -10.0f, 0.3f, 133.0f, 0, false, true, 0);
}
if (!Game_Flag_Query(kFlagDR05MorajiTalk)
- && !Actor_Query_Goal_Number(kActorMoraji)
+ && Actor_Query_Goal_Number(kActorMoraji) == kGoalMorajiDefault
) {
Actor_Face_Actor(kActorMcCoy, kActorMoraji, true);
Actor_Says(kActorMcCoy, 1010, 13);
- Actor_Face_Item(kActorMcCoy, 78, true);
+ Actor_Face_Item(kActorMcCoy, kItemBomb, true);
Player_Set_Combat_Mode(true);
Actor_Says(kActorMoraji, 60, 12);
- Actor_Change_Animation_Mode(kActorMcCoy, 0);
+ Actor_Change_Animation_Mode(kActorMcCoy, kAnimationModeIdle);
Game_Flag_Set(kFlagDR05MorajiTalk);
//return true;
}
@@ -191,8 +204,12 @@ void SceneScriptDR05::PlayerWalkedIn() {
void SceneScriptDR05::PlayerWalkedOut() {
Ambient_Sounds_Remove_All_Non_Looping_Sounds(true);
Ambient_Sounds_Remove_All_Looping_Sounds(1);
- if (Actor_Query_Goal_Number(kActorMoraji) == 10 || Actor_Query_Goal_Number(kActorMoraji) == 18 || Actor_Query_Goal_Number(kActorMoraji) == 19) {
- Actor_Set_Goal_Number(kActorMoraji, 11);
+
+ if (Actor_Query_Goal_Number(kActorMoraji) == kGoalMorajiFreed
+ || Actor_Query_Goal_Number(kActorMoraji) == kGoalMorajiGetUp
+ || Actor_Query_Goal_Number(kActorMoraji) == kGoalMorajiScream
+ ) {
+ Actor_Set_Goal_Number(kActorMoraji, kGoalMorajiRunOut);
//return true;
}
//return false;
diff --git a/engines/bladerunner/script/scene/dr06.cpp b/engines/bladerunner/script/scene/dr06.cpp
index c28ec2d..441d7bd 100644
--- a/engines/bladerunner/script/scene/dr06.cpp
+++ b/engines/bladerunner/script/scene/dr06.cpp
@@ -26,27 +26,30 @@ namespace BladeRunner {
void SceneScriptDR06::InitializeScene() {
if (Game_Flag_Query(kFlagDR04toDR06)) {
- Setup_Scene_Information(-733.57f, 136.6f, -968.64f, 0);
+ Setup_Scene_Information(-733.57f, 136.6f, -968.64f, 0);
} else {
Setup_Scene_Information(-707.57f, 136.6f, -1132.64f, 472);
}
+
Scene_Exit_Add_2D_Exit(0, 601, 11, 639, 479, 1);
if (Global_Variable_Query(kVariableChapter) > 3
&& Game_Flag_Query(715)
) {
Scene_Exit_Add_2D_Exit(1, 0, 272, 46, 477, 2);
}
+
Ambient_Sounds_Add_Looping_Sound(383, 25, 0, 1);
Ambient_Sounds_Add_Sound(73, 5, 60, 20, 20, -100, 100, -101, -101, 0, 0);
Ambient_Sounds_Add_Sound(74, 5, 60, 20, 20, -100, 100, -101, -101, 0, 0);
+
if (Game_Flag_Query(kFlagDR06JesterActive)) {
- Overlay_Play("DR06over", 1, 1, 0, 0);
+ Overlay_Play("DR06over", 1, true, false, 0);
Ambient_Sounds_Add_Looping_Sound(300, 47, -75, 0);
} else {
- Overlay_Play("DR06over", 0, 1, 0, 0);
+ Overlay_Play("DR06over", 0, true, false, 0);
}
- if (Game_Flag_Query(548)) {
- Overlay_Play("DR06ovr2", 0, 1, 0, 0);
+ if (Game_Flag_Query(kFlagDR06MannequinHeadOpen)) {
+ Overlay_Play("DR06ovr2", 0, true, false, 0);
}
}
@@ -72,11 +75,11 @@ bool SceneScriptDR06::ClickedOn3DObject(const char *objectName, bool a2) {
Loop_Actor_Walk_To_XYZ(kActorMcCoy, -743.0f, 136.6f, -1091.0f, 0, true, false, 0);
Actor_Face_Object(kActorMcCoy, "BOX16", true);
if (!Game_Flag_Query(kFlagDR06JesterActive)) {
- Overlay_Play("DR06over", 1, 1, 1, 0);
+ Overlay_Play("DR06over", 1, true, true, 0);
Ambient_Sounds_Add_Looping_Sound(300, 47, -75, 0);
Game_Flag_Set(kFlagDR06JesterActive);
} else {
- Overlay_Play("DR06over", 0, 1, 1, 0);
+ Overlay_Play("DR06over", 0, true, true, 0);
Ambient_Sounds_Remove_Looping_Sound(300, false);
Game_Flag_Reset(kFlagDR06JesterActive);
}
@@ -144,13 +147,13 @@ bool SceneScriptDR06::ClickedOn3DObject(const char *objectName, bool a2) {
if (Object_Query_Click("X2_TORSO04HIRES", objectName)) {
if (!Loop_Actor_Walk_To_XYZ(kActorMcCoy, -700.0f, 136.6f, -1133.0f, 4, true, false, 0)) {
Actor_Face_Object(kActorMcCoy, "x2_TORSO04HIRES", true);
- if (Global_Variable_Query(39) > 12) {
+ if (Global_Variable_Query(kVariableDR06MannequinHeadOpened) > 12) {
return true;
}
- if (!Game_Flag_Query(548)) {
+ if (!Game_Flag_Query(kFlagDR06MannequinHeadOpen)) {
Overlay_Play("DR06ovr2", 0, 1, 0, 0);
- Game_Flag_Set(548);
+ Game_Flag_Set(kFlagDR06MannequinHeadOpen);
Sound_Play(160, 100, 0, 0, 50);
if (!Actor_Clue_Query(kActorMcCoy, kClueEnvelope)) {
Actor_Voice_Over(850, kActorVoiceOver);
@@ -160,17 +163,17 @@ bool SceneScriptDR06::ClickedOn3DObject(const char *objectName, bool a2) {
Actor_Voice_Over(880, kActorVoiceOver);
Actor_Clue_Acquire(kActorMcCoy, kClueEnvelope, true, kActorLance);
if (Query_Difficulty_Level() != 0) {
- Global_Variable_Increment(2, 200);
+ Global_Variable_Increment(kVariableChinyen, 200);
}
}
} else {
Overlay_Remove("DR06ovr2");
- Game_Flag_Reset(548);
+ Game_Flag_Reset(kFlagDR06MannequinHeadOpen);
Sound_Play(161, 100, 0, 0, 50);
}
- Global_Variable_Increment(39, 1);
- if (Global_Variable_Query(39) > 12) {
+ Global_Variable_Increment(kVariableDR06MannequinHeadOpened, 1);
+ if (Global_Variable_Query(kVariableDR06MannequinHeadOpened) > 12) {
Sound_Play(204, 100, 0, 0, 50);
Unclickable_Object("X2_TORSO04HIRES");
}
diff --git a/engines/bladerunner/script/scene/hc01.cpp b/engines/bladerunner/script/scene/hc01.cpp
index 8318130..19345eb 100644
--- a/engines/bladerunner/script/scene/hc01.cpp
+++ b/engines/bladerunner/script/scene/hc01.cpp
@@ -99,8 +99,8 @@ bool SceneScriptHC01::ClickedOnActor(int actorId) {
)
) {
AI_Movement_Track_Pause(kActorIzo);
- if (!Loop_Actor_Walk_To_XYZ(kActorMcCoy, 624.43f, 0.14f, 83.0f, 0, 1, false, 0)) {
- if (!Game_Flag_Query(kFlagIzoTalk1)) {
+ if (!Loop_Actor_Walk_To_XYZ(kActorMcCoy, 624.43f, 0.14f, 83.0f, 0, true, false, 0)) {
+ if (!Game_Flag_Query(kFlagHC01IzoTalk1)) {
Actor_Face_Actor(kActorIzo, kActorMcCoy, true);
Actor_Says_With_Pause(kActorIzo, 10, 0.2f, 13);
Actor_Face_Actor(kActorMcCoy, kActorIzo, true);
@@ -114,7 +114,7 @@ bool SceneScriptHC01::ClickedOnActor(int actorId) {
Actor_Says_With_Pause(kActorIzo, 70, 1.0f, 13);
Actor_Says_With_Pause(kActorMcCoy, 1045, 0.6f, 14);
Actor_Says(kActorIzo, 80, 18);
- Game_Flag_Set(kFlagIzoTalk1);
+ Game_Flag_Set(kFlagHC01IzoTalk1);
} else {
Actor_Face_Actor(kActorMcCoy, kActorIzo, true);
Actor_Face_Actor(kActorIzo, kActorMcCoy, true);
@@ -134,7 +134,7 @@ bool SceneScriptHC01::ClickedOnItem(int itemId, bool a2) {
Item_Pickup_Spin_Effect(984, 377, 397);
Delay(1500);
Item_Pickup_Spin_Effect(984, 330, 384);
- if (Game_Flag_Query(374)) {
+ if (Game_Flag_Query(kFlagAR02DektoraBoughtScorpions)) {
Actor_Clue_Acquire(kActorMcCoy, kCluePhotoOfMcCoy1, true, kActorIzo);
} else {
Actor_Clue_Acquire(kActorMcCoy, kCluePhotoOfMcCoy2, true, kActorIzo);
@@ -151,8 +151,8 @@ bool SceneScriptHC01::ClickedOnExit(int exitId) {
Music_Adjust(12, 0, 2);
Game_Flag_Set(kFlagHC01toAR01);
Set_Enter(kSetAR01_AR02, kSceneAR01);
- Game_Flag_Reset(kFlagMcCoyAtHCxx);
- Game_Flag_Set(kFlagMcCoyAtARxx);
+ Game_Flag_Reset(kFlagMcCoyInHawkersCircle);
+ Game_Flag_Set(kFlagMcCoyInAnimoidRow);
}
return true;
}
@@ -197,7 +197,7 @@ void SceneScriptHC01::SceneFrameAdvanced(int frame) {
}
if (frame == 80) {
Ambient_Sounds_Play_Sound(316, 40, 100, 100, 0);
- Item_Add_To_World(kItemHC03Lock, 931, kSetHC01_HC02_HC03_HC04, 582.0f, 27.0f, -41.0f, 0, 8, 8, true, true, false, true);
+ Item_Add_To_World(kItemGreenPawnLock, 931, kSetHC01_HC02_HC03_HC04, 582.0f, 27.0f, -41.0f, 0, 8, 8, true, true, false, true);
}
}
@@ -227,12 +227,12 @@ void SceneScriptHC01::DialogueQueueFlushed(int a1) {
}
void SceneScriptHC01::dialogueWithIzo() {
- if (!Game_Flag_Query(kFlagIzoTalk2)) {
+ if (!Game_Flag_Query(kFlagHC01IzoTalk2)) {
Actor_Says(kActorMcCoy, 1055, 13);
Actor_Says(kActorIzo, 130, 13);
Actor_Says_With_Pause(kActorMcCoy, 1060, 0.2f, 13);
Actor_Says(kActorIzo, 140, 13);
- Game_Flag_Set(kFlagIzoTalk2);
+ Game_Flag_Set(kFlagHC01IzoTalk2);
}
Dialogue_Menu_Clear_List();
diff --git a/engines/bladerunner/script/scene/hc02.cpp b/engines/bladerunner/script/scene/hc02.cpp
index 76cf09c..fa64162 100644
--- a/engines/bladerunner/script/scene/hc02.cpp
+++ b/engines/bladerunner/script/scene/hc02.cpp
@@ -89,7 +89,7 @@ bool SceneScriptHC02::ClickedOnActor(int actorId) {
if (actorId == kActorHawkersBarkeep) {
if (!Loop_Actor_Walk_To_XYZ(kActorMcCoy, -150.51f, 0.14f, 62.74f, 0, true, false, 0)) {
Actor_Face_Actor(kActorMcCoy, kActorHawkersBarkeep, true);
- if (!Game_Flag_Query(kFlagHawkersBarkeepIntroduction)) {
+ if (!Game_Flag_Query(kFlagHC02HawkersBarkeepIntroduction)) {
Actor_Says(kActorMcCoy, 1225, 13);
Actor_Says_With_Pause(kActorHawkersBarkeep, 0, 0.0f, 13);
Actor_Says(kActorHawkersBarkeep, 10, 16);
@@ -99,7 +99,7 @@ bool SceneScriptHC02::ClickedOnActor(int actorId) {
Actor_Change_Animation_Mode(kActorMcCoy, 75);
Delay(1500);
Global_Variable_Increment(kVariableMcCoyDrinks, 1);
- Game_Flag_Set(kFlagHawkersBarkeepIntroduction);
+ Game_Flag_Set(kFlagHC02HawkersBarkeepIntroduction);
} else if ( Actor_Clue_Query(kActorMcCoy, kClueChinaBarSecurityCamera)
&& !Actor_Clue_Query(kActorMcCoy, kClueChinaBarSecurityDisc)
) {
@@ -110,8 +110,8 @@ bool SceneScriptHC02::ClickedOnActor(int actorId) {
Item_Pickup_Spin_Effect(975, 229, 215);
} else if ( Actor_Clue_Query(kActorMcCoy, kClueHomelessManInterview1)
&& !Actor_Clue_Query(kActorMcCoy, kClueFlaskOfAbsinthe)
- && (Global_Variable_Query(kVariableChinyen) > 20
- || Query_Difficulty_Level() == 0
+ && (Global_Variable_Query(kVariableChinyen) > 20
+ || Query_Difficulty_Level() == 0
)
) {
Actor_Clue_Acquire(kActorMcCoy, kClueFlaskOfAbsinthe, true, kActorHawkersBarkeep);
@@ -132,12 +132,12 @@ bool SceneScriptHC02::ClickedOnActor(int actorId) {
Actor_Says(kActorMcCoy, 1245, 13);
} else {
if ( Actor_Clue_Query(kActorMcCoy, kClueMaggieBracelet)
- && !Game_Flag_Query(kFlagHawkersBarkeepBraceletTalk)
+ && !Game_Flag_Query(kFlagHC02HawkersBarkeepBraceletTalk)
) {
Actor_Says(kActorHawkersBarkeep, 80, 16);
Actor_Says(kActorMcCoy, 1265, 13);
Actor_Says(kActorHawkersBarkeep, 90, 13);
- Game_Flag_Set(kFlagHawkersBarkeepBraceletTalk);
+ Game_Flag_Set(kFlagHC02HawkersBarkeepBraceletTalk);
}
if (Global_Variable_Query(kVariableChinyen) > 5
|| Query_Difficulty_Level() == 0
diff --git a/engines/bladerunner/script/scene/hc03.cpp b/engines/bladerunner/script/scene/hc03.cpp
index 07016f6..c0d08c5 100644
--- a/engines/bladerunner/script/scene/hc03.cpp
+++ b/engines/bladerunner/script/scene/hc03.cpp
@@ -46,7 +46,7 @@ void SceneScriptHC03::InitializeScene() {
if (Game_Flag_Query(kFlagHC03CageOpen)
|| Global_Variable_Query(kVariableChapter) > 3
) {
- Item_Remove_From_World(kItemHC03Lock);
+ Item_Remove_From_World(kItemGreenPawnLock);
Game_Flag_Set(kFlagHC03CageOpen);
Scene_Exit_Add_2D_Exit(1, 400, 275, 515, 375, 2);
}
@@ -115,12 +115,12 @@ bool SceneScriptHC03::ClickedOnActor(int actorId) {
}
bool SceneScriptHC03::ClickedOnItem(int itemId, bool combatMode) {
- if (itemId == kItemHC03Lock) {
+ if (itemId == kItemGreenPawnLock) {
if (combatMode) {
Scene_Loop_Set_Default(kHC03LoopMainCageOpen);
Scene_Loop_Start_Special(kSceneLoopModeOnce, kHC03LoopCageDoorOpening, true);
Game_Flag_Set(kFlagHC03CageOpen);
- Item_Remove_From_World(kItemHC03Lock);
+ Item_Remove_From_World(kItemGreenPawnLock);
Unobstacle_Object("GPscisGate", true);
} else {
Actor_Says(kActorMcCoy, 8522, 12);
@@ -135,7 +135,7 @@ bool SceneScriptHC03::ClickedOnItem(int itemId, bool combatMode) {
Item_Pickup_Spin_Effect(984, 78, 435);
Delay(1500);
Item_Pickup_Spin_Effect(984, 58, 435);
- if (Game_Flag_Query(374)) {
+ if (Game_Flag_Query(kFlagAR02DektoraBoughtScorpions)) {
Actor_Clue_Acquire(kActorMcCoy, kCluePhotoOfMcCoy1, true, kActorIzo);
} else {
Actor_Clue_Acquire(kActorMcCoy, kCluePhotoOfMcCoy2, true, kActorIzo);
@@ -163,8 +163,8 @@ bool SceneScriptHC03::ClickedOnExit(int exitId) {
Game_Flag_Set(kFlagHC03TrapDoorOpen);
} else {
Game_Flag_Set(kFlagHC03toUG02);
- Game_Flag_Reset(kFlagMcCoyAtHCxx);
- Game_Flag_Set(kFlagMcCoyAtUGxx);
+ Game_Flag_Reset(kFlagMcCoyInHawkersCircle);
+ Game_Flag_Set(kFlagMcCoyInUnderground);
Game_Flag_Set(kFlagHC03TrapDoorOpen);
Music_Stop(2);
Set_Enter(kSetUG02, kSceneUG02);
diff --git a/engines/bladerunner/script/scene/hc04.cpp b/engines/bladerunner/script/scene/hc04.cpp
index 35965ea..224aa11 100644
--- a/engines/bladerunner/script/scene/hc04.cpp
+++ b/engines/bladerunner/script/scene/hc04.cpp
@@ -87,11 +87,11 @@ bool SceneScriptHC04::ClickedOnActor(int actorId) {
if (!Loop_Actor_Walk_To_XYZ(kActorMcCoy, -155.0f, 0.0f, -475.0f, 12, true, false, 0)) {
Actor_Face_Actor(kActorMcCoy, kActorIsabella, true);
Actor_Face_Actor(kActorIsabella, kActorMcCoy, true);
- if (!Game_Flag_Query(kFlagIsabellaIntroduced)) {
+ if (!Game_Flag_Query(kFlagHC04IsabellaTalk)) {
Actor_Says(kActorIsabella, 0, kAnimationModeTalk);
Actor_Says(kActorMcCoy, 1280, kAnimationModeTalk);
Actor_Says(kActorIsabella, 20, kAnimationModeTalk);
- Game_Flag_Set(kFlagIsabellaIntroduced);
+ Game_Flag_Set(kFlagHC04IsabellaTalk);
return true;
} else {
dialogueWithIsabella();
@@ -111,8 +111,8 @@ bool SceneScriptHC04::ClickedOnExit(int exitId) {
if (!Loop_Actor_Walk_To_XYZ(kActorMcCoy, -108.0f, 0.14f, -639.0f, 0, true, false, 0)) {
Music_Stop(2);
Game_Flag_Set(kFlagHC04toRC03);
- Game_Flag_Reset(kFlagMcCoyAtHCxx);
- Game_Flag_Set(kFlagMcCoyAtRCxx);
+ Game_Flag_Reset(kFlagMcCoyInHawkersCircle);
+ Game_Flag_Set(kFlagMcCoyInRunciters);
Set_Enter(kSetRC03, kSceneRC03);
}
return true;
diff --git a/engines/bladerunner/script/scene/hf01.cpp b/engines/bladerunner/script/scene/hf01.cpp
index 25f663c..5bb9dce 100644
--- a/engines/bladerunner/script/scene/hf01.cpp
+++ b/engines/bladerunner/script/scene/hf01.cpp
@@ -191,79 +191,79 @@ bool SceneScriptHF01::ClickedOnExit(int exitId) {
}
if (exitId == 3) {
if (!Loop_Actor_Walk_To_XYZ(kActorMcCoy, 100.0f, 0.0f, -260.0f, 0, true, false, 0)) {
- Game_Flag_Reset(kFlagMcCoyAtCTxx);
- Game_Flag_Reset(kFlagMcCoyAtRCxx);
- Game_Flag_Reset(kFlagMcCoyAtMAxx);
- Game_Flag_Reset(kFlagMcCoyAtPSxx);
- Game_Flag_Reset(kFlagMcCoyAtBBxx);
- Game_Flag_Reset(kFlagMcCoyAtHFxx);
+ Game_Flag_Reset(kFlagMcCoyInChinaTown);
+ Game_Flag_Reset(kFlagMcCoyInRunciters);
+ Game_Flag_Reset(kFlagMcCoyInMcCoyApartment);
+ Game_Flag_Reset(kFlagMcCoyInPoliceStation);
+ Game_Flag_Reset(kFlagMcCoyInBradburyBuilding);
+ Game_Flag_Reset(kFlagMcCoyInHysteriaHall);
int spinnerDest = Spinner_Interface_Choose_Dest(3, false);
switch (spinnerDest) {
case kSpinnerDestinationPoliceStation:
- Game_Flag_Set(kFlagMcCoyAtPSxx);
+ Game_Flag_Set(kFlagMcCoyInPoliceStation);
Game_Flag_Reset(kFlagSpinnerAtHF01);
Game_Flag_Set(kFlagSpinnerAtPS01);
Set_Enter(kSetPS01, kScenePS01);
Scene_Loop_Start_Special(kSceneLoopModeChangeSet, 4, true);
break;
case kSpinnerDestinationMcCoysApartment:
- Game_Flag_Set(kFlagMcCoyAtMAxx);
+ Game_Flag_Set(kFlagMcCoyInMcCoyApartment);
Game_Flag_Reset(kFlagSpinnerAtHF01);
Game_Flag_Set(kFlagSpinnerAtMA01);
Set_Enter(kSetMA01, kSceneMA01);
Scene_Loop_Start_Special(kSceneLoopModeChangeSet, 4, true);
break;
case kSpinnerDestinationRuncitersAnimals:
- Game_Flag_Set(kFlagMcCoyAtRCxx);
+ Game_Flag_Set(kFlagMcCoyInRunciters);
Game_Flag_Reset(kFlagSpinnerAtHF01);
Game_Flag_Set(kFlagSpinnerAtRC01);
Set_Enter(kSetRC01, kSceneRC01);
Scene_Loop_Start_Special(kSceneLoopModeChangeSet, 4, true);
break;
case kSpinnerDestinationChinatown:
- Game_Flag_Set(kFlagMcCoyAtCTxx);
+ Game_Flag_Set(kFlagMcCoyInChinaTown);
Game_Flag_Reset(kFlagSpinnerAtHF01);
Game_Flag_Set(kFlagSpinnerAtCT01);
Set_Enter(kSetCT01_CT12, kSceneCT01);
Scene_Loop_Start_Special(kSceneLoopModeChangeSet, 4, true);
break;
case kSpinnerDestinationAnimoidRow:
- Game_Flag_Set(kFlagMcCoyAtTBxx);
+ Game_Flag_Set(kFlagMcCoyInTyrellBuilding);
Game_Flag_Reset(kFlagSpinnerAtHF01);
Game_Flag_Set(kFlagSpinnerAtTB02);
Set_Enter(kSetTB02_TB03, kSceneTB02);
Scene_Loop_Start_Special(kSceneLoopModeChangeSet, 4, true);
break;
case kSpinnerDestinationTyrellBuilding:
- Game_Flag_Set(kFlagMcCoyAtARxx);
+ Game_Flag_Set(kFlagMcCoyInAnimoidRow);
Game_Flag_Reset(kFlagSpinnerAtHF01);
Game_Flag_Set(kFlagSpinnerAtAR01);
Set_Enter(kSetAR01_AR02, kSceneAR01);
Scene_Loop_Start_Special(kSceneLoopModeChangeSet, 4, true);
break;
case kSpinnerDestinationDNARow:
- Game_Flag_Set(kFlagMcCoyAtDRxx);
+ Game_Flag_Set(kFlagMcCoyInDNARow);
Game_Flag_Reset(kFlagSpinnerAtHF01);
Game_Flag_Set(kFlagSpinnerAtDR01);
Set_Enter(kSetDR01_DR02_DR04, kSceneDR01);
Scene_Loop_Start_Special(kSceneLoopModeChangeSet, 4, true);
break;
case kSpinnerDestinationBradburyBuilding:
- Game_Flag_Set(kFlagMcCoyAtBBxx);
+ Game_Flag_Set(kFlagMcCoyInBradburyBuilding);
Game_Flag_Reset(kFlagSpinnerAtHF01);
Game_Flag_Set(kFlagSpinnerAtBB01);
Set_Enter(kSetBB01, kSceneBB01);
Scene_Loop_Start_Special(kSceneLoopModeChangeSet, 4, true);
break;
case kSpinnerDestinationNightclubRow:
- Game_Flag_Set(kFlagMcCoyAtNRxx);
+ Game_Flag_Set(kFlagMcCoyInNightclubRow);
Game_Flag_Reset(kFlagSpinnerAtHF01);
Game_Flag_Set(kFlagSpinnerAtNR01);
Set_Enter(kSetNR01, kSceneNR01);
Scene_Loop_Start_Special(kSceneLoopModeChangeSet, 4, true);
break;
default:
- Game_Flag_Set(kFlagMcCoyAtHFxx);
+ Game_Flag_Set(kFlagMcCoyInHysteriaHall);
Loop_Actor_Walk_To_XYZ(kActorMcCoy, 100.0f, 0.0f, -300.0f, 0, true, false, 0);
break;
}
diff --git a/engines/bladerunner/script/scene/hf05.cpp b/engines/bladerunner/script/scene/hf05.cpp
index 9815c91..4838c27 100644
--- a/engines/bladerunner/script/scene/hf05.cpp
+++ b/engines/bladerunner/script/scene/hf05.cpp
@@ -27,7 +27,7 @@ namespace BladeRunner {
void SceneScriptHF05::InitializeScene() {
if (Game_Flag_Query(530)) {
Setup_Scene_Information(257.0f, 40.63f, 402.0f, 1000);
- } else if (Game_Flag_Query(358)) {
+ } else if (Game_Flag_Query(kFlagHF07toHF05)) {
Setup_Scene_Information(330.0f, 40.63f, -107.0f, 603);
} else {
Setup_Scene_Information(483.0f, 40.63f, -189.0f, 600);
@@ -162,13 +162,13 @@ bool SceneScriptHF05::ClickedOnExit(int exitId) {
if (!Game_Flag_Query(684)) {
int affectionTowardsActor = getAffectionTowardsActor();
if (Game_Flag_Query(663)
- && Game_Flag_Query(368)
- && affectionTowardsActor != -1
+ && Game_Flag_Query(368)
+ && affectionTowardsActor != -1
) {
Actor_Face_Actor(kActorMcCoy, affectionTowardsActor, true);
Actor_Says(kActorMcCoy, 1810, 16);
}
- Game_Flag_Set(359);
+ Game_Flag_Set(kFlagHF05toHF07);
Set_Enter(kSetHF07, kSceneHF07);
}
}
@@ -255,7 +255,7 @@ void SceneScriptHF05::PlayerWalkedIn() {
Async_Actor_Walk_To_Waypoint(affectionTowardsActor, 437, 36, 0);
} else if (Game_Flag_Query(530)) {
Actor_Set_At_XYZ(affectionTowardsActor, 288.0f, 40.63f, 410.0f, 909);
- } else if (Game_Flag_Query(358)) {
+ } else if (Game_Flag_Query(kFlagHF07toHF05)) {
Actor_Set_At_XYZ(affectionTowardsActor, 298.0f, 40.63f, -107.0f, 512);
} else {
Actor_Set_At_XYZ(affectionTowardsActor, 284.0f, 40.63f, 286.0f, 0);
@@ -281,7 +281,7 @@ void SceneScriptHF05::PlayerWalkedIn() {
}
} else if (Game_Flag_Query(kFlagHF01toHF05)) {
Loop_Actor_Walk_To_XYZ(kActorMcCoy, 399.0f, 40.63f, -85.0f, 0, 0, false, 0);
- } else if (Game_Flag_Query(358)) {
+ } else if (Game_Flag_Query(kFlagHF07toHF05)) {
Actor_Set_At_XYZ(kActorMcCoy, 346.0f, 4.63f, -151.0f, 603);
Loop_Actor_Travel_Stairs(kActorMcCoy, 4, 1, kAnimationModeIdle);
}
@@ -298,7 +298,7 @@ void SceneScriptHF05::PlayerWalkedIn() {
}
Game_Flag_Reset(kFlagHF01toHF05);
Game_Flag_Reset(530);
- Game_Flag_Reset(358);
+ Game_Flag_Reset(kFlagHF07toHF05);
//return false;
}
diff --git a/engines/bladerunner/script/scene/hf07.cpp b/engines/bladerunner/script/scene/hf07.cpp
index 14da5c2..1eb8867 100644
--- a/engines/bladerunner/script/scene/hf07.cpp
+++ b/engines/bladerunner/script/scene/hf07.cpp
@@ -25,7 +25,7 @@
namespace BladeRunner {
void SceneScriptHF07::InitializeScene() {
- if (Game_Flag_Query(361) ) {
+ if (Game_Flag_Query(kFlagUG06toHF07) ) {
Setup_Scene_Information(-84.0f, 58.43f, -105.0f, 524);
} else {
Setup_Scene_Information(298.0f, 58.43f, -71.0f, 700);
@@ -74,7 +74,7 @@ bool SceneScriptHF07::ClickedOnExit(int exitId) {
Async_Actor_Walk_To_XYZ(kActorLucy, 235.0f, 58.43f, -100.0f, 0, false);
}
if (!Loop_Actor_Walk_To_XYZ(kActorMcCoy, 318.0f, 71.43f, -102.0f, 0, 1, false, 0)) {
- Game_Flag_Set(358);
+ Game_Flag_Set(kFlagHF07toHF05);
if (!Game_Flag_Query(662)) {
Actor_Face_Heading(kActorMcCoy, 0, false);
Footstep_Sound_Override_On(3);
@@ -96,7 +96,7 @@ bool SceneScriptHF07::ClickedOnExit(int exitId) {
if (!Loop_Actor_Walk_To_XYZ(kActorMcCoy, -84.0f, 58.43f, -105.0f, 0, true, false, 0)) {
Ambient_Sounds_Remove_All_Non_Looping_Sounds(true);
Ambient_Sounds_Remove_All_Looping_Sounds(1);
- Game_Flag_Set(360);
+ Game_Flag_Set(kFlagHF07toUG06);
Set_Enter(kSetUG05, kSceneUG05);
}
return true;
@@ -119,20 +119,20 @@ void SceneScriptHF07::PlayerWalkedIn() {
int actorId = getAffectionTowardsActor();
if (Game_Flag_Query(662) && actorId != -1) {
Actor_Put_In_Set(actorId, kSetHF07);
- if (Game_Flag_Query(361)) {
+ if (Game_Flag_Query(kFlagUG06toHF07)) {
Actor_Set_At_XYZ(actorId, -73.0f, 58.43f, -7.0f, 224);
} else {
Actor_Set_At_XYZ(actorId, 235.0f, 58.43f, -100.0f, 512);
}
}
- } else if (Game_Flag_Query(359)) {
+ } else if (Game_Flag_Query(kFlagHF05toHF07)) {
Actor_Set_At_XYZ(kActorMcCoy, 267.72f, 329.43f, -86.75f, 940);
Footstep_Sound_Override_On(3);
Loop_Actor_Travel_Stairs(kActorMcCoy, 30, false, kAnimationModeIdle);
Footstep_Sound_Override_Off();
}
- Game_Flag_Reset(359);
- Game_Flag_Reset(361);
+ Game_Flag_Reset(kFlagHF05toHF07);
+ Game_Flag_Reset(kFlagUG06toHF07);
}
void SceneScriptHF07::PlayerWalkedOut() {
diff --git a/engines/bladerunner/script/scene/ma01.cpp b/engines/bladerunner/script/scene/ma01.cpp
index c459481..566edeb 100644
--- a/engines/bladerunner/script/scene/ma01.cpp
+++ b/engines/bladerunner/script/scene/ma01.cpp
@@ -118,74 +118,74 @@ bool SceneScriptMA01::ClickedOnExit(int exitId) {
if (!Loop_Actor_Walk_To_XYZ(kActorMcCoy, 381.0f, 0.0f, 54.0f, 0, 1, false, 0)) {
Player_Loses_Control();
Actor_Face_Heading(kActorMcCoy, 736, false);
- Game_Flag_Reset(kFlagMcCoyAtCTxx);
- Game_Flag_Reset(kFlagMcCoyAtRCxx);
- Game_Flag_Reset(kFlagMcCoyAtMAxx);
- Game_Flag_Reset(kFlagMcCoyAtARxx);
- Game_Flag_Reset(kFlagMcCoyAtTBxx);
- Game_Flag_Reset(kFlagMcCoyAtDRxx);
- Game_Flag_Reset(kFlagMcCoyAtBBxx);
- Game_Flag_Reset(kFlagMcCoyAtPSxx);
+ Game_Flag_Reset(kFlagMcCoyInChinaTown);
+ Game_Flag_Reset(kFlagMcCoyInRunciters);
+ Game_Flag_Reset(kFlagMcCoyInMcCoyApartment);
+ Game_Flag_Reset(kFlagMcCoyInAnimoidRow);
+ Game_Flag_Reset(kFlagMcCoyInTyrellBuilding);
+ Game_Flag_Reset(kFlagMcCoyInDNARow);
+ Game_Flag_Reset(kFlagMcCoyInBradburyBuilding);
+ Game_Flag_Reset(kFlagMcCoyInPoliceStation);
int spinnerDest = Spinner_Interface_Choose_Dest(kMA01LoopOutDoorAnim, false);
switch (spinnerDest) {
case kSpinnerDestinationPoliceStation:
- Game_Flag_Set(kFlagMcCoyAtPSxx);
+ Game_Flag_Set(kFlagMcCoyInPoliceStation);
Game_Flag_Reset(kFlagSpinnerAtMA01);
Game_Flag_Set(kFlagSpinnerAtPS01);
Set_Enter(kSetPS01, kScenePS01);
Scene_Loop_Start_Special(kSceneLoopModeChangeSet, kMA01LoopOutshotRoof, true);
break;
case kSpinnerDestinationRuncitersAnimals:
- Game_Flag_Set(kFlagMcCoyAtRCxx);
+ Game_Flag_Set(kFlagMcCoyInRunciters);
Game_Flag_Reset(kFlagSpinnerAtMA01);
Game_Flag_Set(kFlagSpinnerAtRC01);
Set_Enter(kSetRC01, kSceneRC01);
Scene_Loop_Start_Special(kSceneLoopModeChangeSet, kMA01LoopOutshotRoof, true);
break;
case kSpinnerDestinationChinatown:
- Game_Flag_Set(kFlagMcCoyAtCTxx);
+ Game_Flag_Set(kFlagMcCoyInChinaTown);
Game_Flag_Reset(kFlagSpinnerAtMA01);
Game_Flag_Set(kFlagSpinnerAtCT01);
Set_Enter(kSetCT01_CT12, kSceneCT01);
Scene_Loop_Start_Special(kSceneLoopModeChangeSet, kMA01LoopOutshotRoof, true);
break;
case kSpinnerDestinationTyrellBuilding:
- Game_Flag_Set(kFlagMcCoyAtTBxx);
+ Game_Flag_Set(kFlagMcCoyInTyrellBuilding);
Game_Flag_Reset(kFlagSpinnerAtMA01);
Game_Flag_Set(kFlagSpinnerAtTB02);
Set_Enter(kSetTB02_TB03, kSceneTB02);
Scene_Loop_Start_Special(kSceneLoopModeChangeSet, kMA01LoopOutshotRoof, true);
break;
case kSpinnerDestinationAnimoidRow:
- Game_Flag_Set(kFlagMcCoyAtARxx);
+ Game_Flag_Set(kFlagMcCoyInAnimoidRow);
Game_Flag_Reset(kFlagSpinnerAtMA01);
Game_Flag_Set(kFlagSpinnerAtAR01);
Set_Enter(kSetAR01_AR02, kSceneAR01);
Scene_Loop_Start_Special(kSceneLoopModeChangeSet, kMA01LoopOutshotRoof, true);
break;
case kSpinnerDestinationDNARow:
- Game_Flag_Set(kFlagMcCoyAtDRxx);
+ Game_Flag_Set(kFlagMcCoyInDNARow);
Game_Flag_Reset(kFlagSpinnerAtMA01);
Game_Flag_Set(kFlagSpinnerAtDR01);
Set_Enter(kSetDR01_DR02_DR04, kSceneDR01);
Scene_Loop_Start_Special(kSceneLoopModeChangeSet, kMA01LoopOutshotRoof, true);
break;
case kSpinnerDestinationBradburyBuilding:
- Game_Flag_Set(kFlagMcCoyAtBBxx);
+ Game_Flag_Set(kFlagMcCoyInBradburyBuilding);
Game_Flag_Reset(kFlagSpinnerAtMA01);
Game_Flag_Set(kFlagSpinnerAtBB01);
Set_Enter(kSetBB01, kSceneBB01);
Scene_Loop_Start_Special(kSceneLoopModeChangeSet, kMA01LoopOutshotRoof, true);
break;
case kSpinnerDestinationNightclubRow:
- Game_Flag_Set(kFlagMcCoyAtNRxx);
+ Game_Flag_Set(kFlagMcCoyInNightclubRow);
Game_Flag_Reset(kFlagSpinnerAtMA01);
Game_Flag_Set(kFlagSpinnerAtNR01);
Set_Enter(kSetNR01, kSceneNR01);
Scene_Loop_Start_Special(kSceneLoopModeChangeSet, kMA01LoopOutshotRoof, true);
break;
case kSpinnerDestinationHysteriaHall:
- Game_Flag_Set(kFlagMcCoyAtHFxx);
+ Game_Flag_Set(kFlagMcCoyInHysteriaHall);
Game_Flag_Reset(kFlagSpinnerAtMA01);
Game_Flag_Set(kFlagSpinnerAtHF01);
Set_Enter(kSetHF01, kSceneHF01);
@@ -194,7 +194,7 @@ bool SceneScriptMA01::ClickedOnExit(int exitId) {
default:
Actor_Set_Invisible(kActorMcCoy, false);
Actor_Face_Heading(kActorMcCoy, 736, false);
- Game_Flag_Set(kFlagMcCoyAtMAxx);
+ Game_Flag_Set(kFlagMcCoyInMcCoyApartment);
break;
}
}
diff --git a/engines/bladerunner/script/scene/ma02.cpp b/engines/bladerunner/script/scene/ma02.cpp
index edaae51..5fa1e66 100644
--- a/engines/bladerunner/script/scene/ma02.cpp
+++ b/engines/bladerunner/script/scene/ma02.cpp
@@ -246,10 +246,14 @@ void SceneScriptMA02::selectNextTvNews() {
if (Global_Variable_Query(kVariableChapter) >= 3) {
arr[i++] = 2;
}
- if (Global_Variable_Query(kVariableChapter) >= 2 && Global_Variable_Query(kVariableChapter) <= 4) {
+ if (Global_Variable_Query(kVariableChapter) >= 2
+ && Global_Variable_Query(kVariableChapter) <= 4
+ ) {
arr[i++] = 3;
}
- if (Game_Flag_Query(kFlagHomelessBodyFound) && Game_Flag_Query(kFlagHomelessBodyInDumpster)) {
+ if (Game_Flag_Query(kFlagCT04HomelessBodyFound)
+ && Game_Flag_Query(kFlagCT04HomelessBodyInDumpster)
+ ) {
arr[i++] = 4;
}
Global_Variable_Set(kVariableNextTvNews, arr[Random_Query(0, i - 1)]);
diff --git a/engines/bladerunner/script/scene/ma04.cpp b/engines/bladerunner/script/scene/ma04.cpp
index 0484e69..6ebdae5 100644
--- a/engines/bladerunner/script/scene/ma04.cpp
+++ b/engines/bladerunner/script/scene/ma04.cpp
@@ -50,7 +50,7 @@ void SceneScriptMA04::InitializeScene() {
}
} else if (Game_Flag_Query(kFlagMA02ToMA04)) {
Setup_Scene_Information(-7099.0f, 954.0f, 1866.0f, 502);
- } else if (Game_Flag_Query(kFlagMcCoySleeping)) {
+ } else if (Game_Flag_Query(kFlagMA04McCoySleeping)) {
Setup_Scene_Information(-7107.0f, 954.0f, 1742.0f, 502);
Scene_Loop_Start_Special(kSceneLoopModeLoseControl, kMA04LoopWakeup, false);
} else {
@@ -189,7 +189,7 @@ bool SceneScriptMA04::ClickedOn2DRegion(int region) {
Music_Play(2, 52, 0, 3, -1, 0, 0);
return false;
}
- if (Actor_Clue_Query(kActorClovis, kClueMcCoyRetiredZuben) && !Game_Flag_Query(kFlagPhoneMessageFromClovis)) {
+ if (Actor_Clue_Query(kActorClovis, kClueMcCoyRetiredZuben) && !Game_Flag_Query(kFlagMA04PhoneMessageFromClovis)) {
Sound_Play(123, 100, 0, 0, 50);
Overlay_Remove("MA04OVER");
Delay(500);
@@ -202,10 +202,10 @@ bool SceneScriptMA04::ClickedOn2DRegion(int region) {
}
Actor_Says(kActorMcCoy, 2445, 13);
Sound_Play(123, 100, 0, 0, 50);
- Game_Flag_Set(kFlagPhoneMessageFromClovis);
+ Game_Flag_Set(kFlagMA04PhoneMessageFromClovis);
return true;
}
- if (Actor_Clue_Query(kActorLucy, kClueMcCoyLetZubenEscape) && !Game_Flag_Query(kFlagPhoneMessageFromLucy)) {
+ if (Actor_Clue_Query(kActorLucy, kClueMcCoyLetZubenEscape) && !Game_Flag_Query(kFlagMA04PhoneMessageFromLucy)) {
Sound_Play(123, 100, 0, 0, 50);
Overlay_Remove("MA04OVER");
Delay(500);
@@ -218,7 +218,7 @@ bool SceneScriptMA04::ClickedOn2DRegion(int region) {
}
Actor_Says(kActorMcCoy, 2445, 13);
Sound_Play(123, 100, 0, 0, 50);
- Game_Flag_Set(kFlagPhoneMessageFromLucy);
+ Game_Flag_Set(kFlagMA04PhoneMessageFromLucy);
return true;
}
Actor_Says(kActorMcCoy, 2670, 13);
@@ -240,7 +240,7 @@ void SceneScriptMA04::SceneFrameAdvanced(int frame) {
} else {
Set_Fade_Density(0.0f);
}
- if (frame == 121 && (Game_Flag_Query(kFlagZubenRetired) || Game_Flag_Query(kFlagZubenSpared)) && !Game_Flag_Query(kFlagGuzzaTalkZubenRetired)) {
+ if (frame == 121 && (Game_Flag_Query(kFlagZubenRetired) || Game_Flag_Query(kFlagZubenSpared)) && !Game_Flag_Query(kFlagPS04GuzzaTalkZubenRetired)) {
Sound_Play(403, 50, 0, 0, 50);
}
}
@@ -249,20 +249,20 @@ void SceneScriptMA04::ActorChangedGoal(int actorId, int newGoal, int oldGoal, bo
}
void SceneScriptMA04::PlayerWalkedIn() {
- if (Game_Flag_Query(kFlagMcCoySleeping)) {
+ if (Game_Flag_Query(kFlagMA04McCoySleeping)) {
Player_Gains_Control();
}
if (isPhoneMessageWaiting() || isPhoneRinging()) {
Overlay_Play("MA04OVER", 0, 1, 0, 0);
}
- if (Game_Flag_Query(kFlagMcCoySleeping)) {
+ if (Game_Flag_Query(kFlagMA04McCoySleeping)) {
Loop_Actor_Walk_To_XYZ(kActorMcCoy, -7139.0f, 954.0f, 1746.0f, 0, true, false, 0);
} else if (Game_Flag_Query(kFlagMA02ToMA04)) {
Loop_Actor_Walk_To_XYZ(kActorMcCoy, -7143.0f, 954.0f, 1868.0f, 0, true, false, 0);
}
Game_Flag_Reset(kFlagMA02ToMA04);
Game_Flag_Reset(kFlagMA05toMA04);
- Game_Flag_Reset(kFlagMcCoySleeping);
+ Game_Flag_Reset(kFlagMA04McCoySleeping);
if (Game_Flag_Query(kFlagChapter1Ended)) {
if (Global_Variable_Query(kVariableChapter) == 2 && !Actor_Clue_Query(kActorMcCoy, kCluePhoneCallGuzza)) {
Sound_Play(403, 100, 0, 0, 50);
@@ -286,8 +286,8 @@ void SceneScriptMA04::PlayerWalkedIn() {
Actor_Clue_Acquire(kActorMcCoy, kCluePhoneCallGuzza, false, kActorGuzza);
Spinner_Set_Selectable_Destination_Flag(kSpinnerDestinationTyrellBuilding, true);
Game_Flag_Set(kFlagRC01PoliceDone);
- if (!Game_Flag_Query(kFlagChromeDebrisTaken)) {
- Game_Flag_Set(kFlagChromeDebrisTaken);
+ if (!Game_Flag_Query(kFlagRC01ChromeDebrisTaken)) {
+ Game_Flag_Set(kFlagRC01ChromeDebrisTaken);
Item_Remove_From_World(kItemChromeDebris);
}
Actor_Set_Goal_Number(kActorOfficerLeary, 99);
@@ -338,8 +338,8 @@ bool SceneScriptMA04::isPhoneRinging() {
}
bool SceneScriptMA04::isPhoneMessageWaiting() {
- return (Actor_Clue_Query(kActorClovis, kClueMcCoyRetiredZuben) && !Game_Flag_Query(kFlagPhoneMessageFromClovis))
- || (Actor_Clue_Query(kActorLucy, kClueMcCoyLetZubenEscape) && !Game_Flag_Query(kFlagPhoneMessageFromLucy));
+ return (Actor_Clue_Query(kActorClovis, kClueMcCoyRetiredZuben) && !Game_Flag_Query(kFlagMA04PhoneMessageFromClovis))
+ || (Actor_Clue_Query(kActorLucy, kClueMcCoyLetZubenEscape) && !Game_Flag_Query(kFlagMA04PhoneMessageFromLucy));
}
void SceneScriptMA04::phoneCallWithDektora() {
@@ -562,7 +562,7 @@ void SceneScriptMA04::sleep() {
Overlay_Remove("MA04OVER");
}
Player_Loses_Control();
- Game_Flag_Set(kFlagMcCoySleeping);
+ Game_Flag_Set(kFlagMA04McCoySleeping);
if ((Game_Flag_Query(kFlagZubenRetired) || Game_Flag_Query(kFlagZubenSpared)) && Global_Variable_Query(kVariableChapter) == 1) {
if (Actor_Query_Goal_Number(kActorZuben) == kGoalZubenDead) {
Actor_Put_In_Set(kActorZuben, kSetFreeSlotA);
diff --git a/engines/bladerunner/script/scene/ma07.cpp b/engines/bladerunner/script/scene/ma07.cpp
index b7b91d9..7016918 100644
--- a/engines/bladerunner/script/scene/ma07.cpp
+++ b/engines/bladerunner/script/scene/ma07.cpp
@@ -25,22 +25,24 @@
namespace BladeRunner {
void SceneScriptMA07::InitializeScene() {
- if (Game_Flag_Query(356)) {
- Setup_Scene_Information(6.75f, -172.43f, 356.0f, 997);
- Game_Flag_Reset(356);
+ if (Game_Flag_Query(kFlagUG19toMA07)) {
+ Setup_Scene_Information( 6.75f, -172.43f, 356.0f, 997);
+ Game_Flag_Reset(kFlagUG19toMA07);
Game_Flag_Set(665);
- } else if (Game_Flag_Query(673)) {
- Setup_Scene_Information(-312.0f, -162.8f, 180.0f, 0);
+ } else if (Game_Flag_Query(kFlagPS14toMA07)) {
+ Setup_Scene_Information(-312.0f, -162.8f, 180.0f, 0);
} else {
- Setup_Scene_Information(104.0f, -162.16f, 56.0f, 519);
+ Setup_Scene_Information( 104.0f, -162.16f, 56.0f, 519);
}
+
Ambient_Sounds_Add_Looping_Sound(381, 100, 1, 1);
- Ambient_Sounds_Add_Sound(374, 100, 300, 16, 25, 0, 0, -101, -101, 0, 0);
- Ambient_Sounds_Add_Sound(68, 60, 180, 16, 25, 0, 0, -101, -101, 0, 0);
- Ambient_Sounds_Add_Sound(69, 60, 180, 16, 25, 0, 0, -101, -101, 0, 0);
- Ambient_Sounds_Add_Sound(375, 60, 180, 50, 100, 0, 0, -101, -101, 0, 0);
- Ambient_Sounds_Add_Sound(376, 50, 180, 50, 100, 0, 0, -101, -101, 0, 0);
- Ambient_Sounds_Add_Sound(377, 50, 180, 50, 100, 0, 0, -101, -101, 0, 0);
+ Ambient_Sounds_Add_Sound(374, 100, 300, 16, 25, 0, 0, -101, -101, 0, 0);
+ Ambient_Sounds_Add_Sound( 68, 60, 180, 16, 25, 0, 0, -101, -101, 0, 0);
+ Ambient_Sounds_Add_Sound( 69, 60, 180, 16, 25, 0, 0, -101, -101, 0, 0);
+ Ambient_Sounds_Add_Sound(375, 60, 180, 50, 100, 0, 0, -101, -101, 0, 0);
+ Ambient_Sounds_Add_Sound(376, 50, 180, 50, 100, 0, 0, -101, -101, 0, 0);
+ Ambient_Sounds_Add_Sound(377, 50, 180, 50, 100, 0, 0, -101, -101, 0, 0);
+
if (Global_Variable_Query(kVariableChapter) > 1) {
Scene_Exit_Add_2D_Exit(1, 0, 200, 50, 479, 3);
}
@@ -72,8 +74,10 @@ bool SceneScriptMA07::ClickedOnItem(int itemId, bool a2) {
bool SceneScriptMA07::ClickedOnExit(int exitId) {
if (exitId == 0) {
- if (!Loop_Actor_Walk_To_XYZ(kActorMcCoy, 104.0f, -162.0f, 56.0f, 12, 1, false, 0)) {
- if (Global_Variable_Query(kVariableChapter) == 4 && Game_Flag_Query(671)) {
+ if (!Loop_Actor_Walk_To_XYZ(kActorMcCoy, 104.0f, -162.0f, 56.0f, 12, true, false, 0)) {
+ if (Global_Variable_Query(kVariableChapter) == 4
+ && Game_Flag_Query(671)
+ ) {
Actor_Set_Goal_Number(kActorMcCoy, 400);
} else {
Ambient_Sounds_Remove_All_Non_Looping_Sounds(true);
@@ -84,22 +88,24 @@ bool SceneScriptMA07::ClickedOnExit(int exitId) {
}
return true;
}
+
if (exitId == 1) {
- if (!Loop_Actor_Walk_To_XYZ(kActorMcCoy, -400.0f, -162.8f, 185.08f, 0, 1, false, 0)) {
+ if (!Loop_Actor_Walk_To_XYZ(kActorMcCoy, -400.0f, -162.8f, 185.08f, 0, true, false, 0)) {
Ambient_Sounds_Remove_All_Non_Looping_Sounds(true);
Ambient_Sounds_Remove_All_Looping_Sounds(1);
- Game_Flag_Set(672);
- Game_Flag_Reset(kFlagMcCoyAtMAxx);
- Game_Flag_Set(kFlagMcCoyAtPSxx);
+ Game_Flag_Set(kFlagMA07toPS14);
+ Game_Flag_Reset(kFlagMcCoyInMcCoyApartment);
+ Game_Flag_Set(kFlagMcCoyInPoliceStation);
Set_Enter(kSetPS14, kScenePS14);
}
return true;
}
+
if (exitId == 2) {
- if (!Loop_Actor_Walk_To_XYZ(kActorMcCoy, 8.0f, -172.43f, 356.0f, 0, 1, false, 0)) {
+ if (!Loop_Actor_Walk_To_XYZ(kActorMcCoy, 8.0f, -172.43f, 356.0f, 0, true, false, 0)) {
Ambient_Sounds_Remove_All_Non_Looping_Sounds(true);
Ambient_Sounds_Remove_All_Looping_Sounds(1);
- Game_Flag_Set(357);
+ Game_Flag_Set(kFlagMA07toUG19);
Set_Enter(kSetUG19, kSceneUG19);
}
return true;
@@ -121,9 +127,9 @@ void SceneScriptMA07::ActorChangedGoal(int actorId, int newGoal, int oldGoal, bo
}
void SceneScriptMA07::PlayerWalkedIn() {
- if (Game_Flag_Query(673)) {
- Loop_Actor_Walk_To_XYZ(kActorMcCoy, -268.0f, -162.8f, 188.0f, 0, 0, false, 0);
- Game_Flag_Reset(673);
+ if (Game_Flag_Query(kFlagPS14toMA07)) {
+ Loop_Actor_Walk_To_XYZ(kActorMcCoy, -268.0f, -162.8f, 188.0f, 0, false, false, 0);
+ Game_Flag_Reset(kFlagPS14toMA07);
}
if (Actor_Query_Goal_Number(kActorRachael) == 300) {
Actor_Set_Goal_Number(kActorRachael, 305);
@@ -131,7 +137,10 @@ void SceneScriptMA07::PlayerWalkedIn() {
if (Game_Flag_Query(kFlagMA06toMA07)) {
Game_Flag_Reset(kFlagMA06toMA07);
}
- if (!Game_Flag_Query(648) && Game_Flag_Query(671) && Global_Variable_Query(kVariableChapter) == 4) {
+ if (!Game_Flag_Query(648)
+ && Game_Flag_Query(671)
+ && Global_Variable_Query(kVariableChapter) == 4
+ ) {
Scene_Exits_Disable();
Actor_Set_Goal_Number(kActorGaff, 300);
}
diff --git a/engines/bladerunner/script/scene/nr01.cpp b/engines/bladerunner/script/scene/nr01.cpp
index 9708d18..8823c12 100644
--- a/engines/bladerunner/script/scene/nr01.cpp
+++ b/engines/bladerunner/script/scene/nr01.cpp
@@ -28,20 +28,21 @@ void SceneScriptNR01::InitializeScene() {
if (Game_Flag_Query(617)) {
Setup_Scene_Information(-153.86f, 23.88f, -570.21f, 402);
} else if (Game_Flag_Query(632)) {
- Setup_Scene_Information(-416.0f, 31.93f, -841.0f, 200);
+ Setup_Scene_Information( -416.0f, 31.93f, -841.0f, 200);
Actor_Set_Invisible(kActorMcCoy, true);
Preload(167);
} else if (Game_Flag_Query(534)) {
- Setup_Scene_Information(-416.0f, 31.93f, -841.0f, 200);
- } else if (Game_Flag_Query(342)) {
- Setup_Scene_Information(-270.0f, 4.93f, -1096.0f, 500);
+ Setup_Scene_Information( -416.0f, 31.93f, -841.0f, 200);
+ } else if (Game_Flag_Query(kFlagUG06toNR01)) {
+ Setup_Scene_Information( -270.0f, 4.93f, -1096.0f, 500);
} else if (Game_Flag_Query(533)) {
- Setup_Scene_Information(312.0f, 31.66f, -901.0f, 700);
+ Setup_Scene_Information( 312.0f, 31.66f, -901.0f, 700);
} else if (Game_Flag_Query(545)) {
- Setup_Scene_Information(-170.0f, 24.0f, -574.0f, 768);
+ Setup_Scene_Information( -170.0f, 24.0f, -574.0f, 768);
} else {
- Setup_Scene_Information(76.0f, 23.88f, -109.0f, 966);
+ Setup_Scene_Information( 76.0f, 23.88f, -109.0f, 966);
}
+
Scene_Exit_Add_2D_Exit(0, 31, 270, 97, 373, 3);
if (Global_Variable_Query(kVariableChapter) > 3) {
Scene_Exit_Add_2D_Exit(1, 201, 320, 276, 357, 2);
@@ -50,32 +51,40 @@ void SceneScriptNR01::InitializeScene() {
if (Game_Flag_Query(kFlagSpinnerAtNR01)) {
Scene_Exit_Add_2D_Exit(3, 320, 445, 639, 479, 2);
}
+
Ambient_Sounds_Add_Looping_Sound(54, 50, 0, 1);
Ambient_Sounds_Add_Looping_Sound(362, 22, 55, 1);
- Ambient_Sounds_Add_Sound(361, 10, 10, 20, 20, -70, -70, -101, -101, 0, 0);
- Ambient_Sounds_Add_Sound(182, 5, 70, 12, 12, -100, 100, -101, -101, 0, 0);
- Ambient_Sounds_Add_Sound(184, 5, 70, 12, 12, -100, 100, -101, -101, 0, 0);
- Ambient_Sounds_Add_Sound(185, 5, 70, 12, 12, -100, 100, -101, -101, 0, 0);
- Ambient_Sounds_Add_Sound(186, 5, 70, 12, 12, -100, 100, -101, -101, 0, 0);
- Ambient_Sounds_Add_Sound(188, 5, 70, 12, 12, -100, 100, -101, -101, 0, 0);
- Ambient_Sounds_Add_Sound(189, 5, 70, 12, 12, -100, 100, -101, -101, 0, 0);
- Ambient_Sounds_Add_Sound(191, 5, 70, 12, 12, -100, 100, -101, -101, 0, 0);
- Ambient_Sounds_Add_Sound(192, 5, 70, 12, 12, -100, 100, -101, -101, 0, 0);
- Ambient_Sounds_Add_Sound(195, 5, 70, 12, 12, -100, 100, -101, -101, 0, 0);
- Ambient_Sounds_Add_Sound(68, 10, 80, 16, 25, 0, 0, -101, -101, 0, 0);
- Ambient_Sounds_Add_Sound(69, 10, 80, 16, 25, 0, 0, -101, -101, 0, 0);
- Ambient_Sounds_Add_Sound(375, 10, 80, 33, 33, 0, 0, -101, -101, 0, 0);
- Ambient_Sounds_Add_Sound(376, 10, 80, 33, 33, 0, 0, -101, -101, 0, 0);
- Ambient_Sounds_Add_Sound(377, 10, 80, 33, 33, 0, 0, -101, -101, 0, 0);
- if (Game_Flag_Query(643) && Actor_Query_Goal_Number(kActorSteele) == 230) {
+ Ambient_Sounds_Add_Sound(361, 10, 10, 20, 20, -70, -70, -101, -101, 0, 0);
+ Ambient_Sounds_Add_Sound(182, 5, 70, 12, 12, -100, 100, -101, -101, 0, 0);
+ Ambient_Sounds_Add_Sound(184, 5, 70, 12, 12, -100, 100, -101, -101, 0, 0);
+ Ambient_Sounds_Add_Sound(185, 5, 70, 12, 12, -100, 100, -101, -101, 0, 0);
+ Ambient_Sounds_Add_Sound(186, 5, 70, 12, 12, -100, 100, -101, -101, 0, 0);
+ Ambient_Sounds_Add_Sound(188, 5, 70, 12, 12, -100, 100, -101, -101, 0, 0);
+ Ambient_Sounds_Add_Sound(189, 5, 70, 12, 12, -100, 100, -101, -101, 0, 0);
+ Ambient_Sounds_Add_Sound(191, 5, 70, 12, 12, -100, 100, -101, -101, 0, 0);
+ Ambient_Sounds_Add_Sound(192, 5, 70, 12, 12, -100, 100, -101, -101, 0, 0);
+ Ambient_Sounds_Add_Sound(195, 5, 70, 12, 12, -100, 100, -101, -101, 0, 0);
+ Ambient_Sounds_Add_Sound( 68, 10, 80, 16, 25, 0, 0, -101, -101, 0, 0);
+ Ambient_Sounds_Add_Sound( 69, 10, 80, 16, 25, 0, 0, -101, -101, 0, 0);
+ Ambient_Sounds_Add_Sound(375, 10, 80, 33, 33, 0, 0, -101, -101, 0, 0);
+ Ambient_Sounds_Add_Sound(376, 10, 80, 33, 33, 0, 0, -101, -101, 0, 0);
+ Ambient_Sounds_Add_Sound(377, 10, 80, 33, 33, 0, 0, -101, -101, 0, 0);
+
+ if (Game_Flag_Query(643)
+ && Actor_Query_Goal_Number(kActorSteele) == 230
+ ) {
Game_Flag_Reset(kFlagSpinnerAtNR01);
Game_Flag_Reset(kFlagSpinnerAtHF01);
}
- if (Game_Flag_Query(kFlagSpinnerAtNR01) && !Game_Flag_Query(kFlagArrivedFromSpinner1)) {
+ if ( Game_Flag_Query(kFlagSpinnerAtNR01)
+ && !Game_Flag_Query(kFlagArrivedFromSpinner1)
+ ) {
Scene_Loop_Start_Special(0, 0, 0);
Scene_Loop_Set_Default(1);
Game_Flag_Set(kFlagArrivedFromSpinner1);
- } else if (Game_Flag_Query(kFlagSpinnerAtNR01) && Game_Flag_Query(kFlagArrivedFromSpinner1)) {
+ } else if (Game_Flag_Query(kFlagSpinnerAtNR01)
+ && Game_Flag_Query(kFlagArrivedFromSpinner1)
+ ) {
Scene_Loop_Set_Default(1);
} else {
Scene_Loop_Set_Default(4);
@@ -127,7 +136,7 @@ bool SceneScriptNR01::ClickedOnExit(int exitId) {
Loop_Actor_Travel_Stairs(kActorMcCoy, 3, 0, kAnimationModeIdle);
Ambient_Sounds_Remove_All_Non_Looping_Sounds(true);
Ambient_Sounds_Remove_All_Looping_Sounds(1);
- Game_Flag_Set(343);
+ Game_Flag_Set(kFlagNR01toUG06);
Set_Enter(kSetUG06, kSceneUG06);
}
return true;
@@ -143,17 +152,17 @@ bool SceneScriptNR01::ClickedOnExit(int exitId) {
}
if (exitId == 3) {
if (!Loop_Actor_Walk_To_XYZ(kActorMcCoy, 108.0f, 23.88f, -93.0f, 0, true, false, 0)) {
- Game_Flag_Reset(kFlagMcCoyAtCTxx);
- Game_Flag_Reset(kFlagMcCoyAtRCxx);
- Game_Flag_Reset(kFlagMcCoyAtMAxx);
- Game_Flag_Reset(kFlagMcCoyAtPSxx);
- Game_Flag_Reset(kFlagMcCoyAtBBxx);
- Game_Flag_Reset(kFlagMcCoyAtHFxx);
- Game_Flag_Reset(kFlagMcCoyAtTBxx);
- Game_Flag_Reset(kFlagMcCoyAtNRxx);
+ Game_Flag_Reset(kFlagMcCoyInChinaTown);
+ Game_Flag_Reset(kFlagMcCoyInRunciters);
+ Game_Flag_Reset(kFlagMcCoyInMcCoyApartment);
+ Game_Flag_Reset(kFlagMcCoyInPoliceStation);
+ Game_Flag_Reset(kFlagMcCoyInBradburyBuilding);
+ Game_Flag_Reset(kFlagMcCoyInHysteriaHall);
+ Game_Flag_Reset(kFlagMcCoyInTyrellBuilding);
+ Game_Flag_Reset(kFlagMcCoyInNightclubRow);
switch (Spinner_Interface_Choose_Dest(-1, true)) {
case kSpinnerDestinationPoliceStation:
- Game_Flag_Set(kFlagMcCoyAtPSxx);
+ Game_Flag_Set(kFlagMcCoyInPoliceStation);
Game_Flag_Reset(kFlagSpinnerAtNR01);
Game_Flag_Reset(kFlagArrivedFromSpinner1);
Game_Flag_Set(kFlagSpinnerAtPS01);
@@ -161,7 +170,7 @@ bool SceneScriptNR01::ClickedOnExit(int exitId) {
Scene_Loop_Start_Special(kSceneLoopModeChangeSet, 3, true);
break;
case kSpinnerDestinationMcCoysApartment:
- Game_Flag_Set(kFlagMcCoyAtMAxx);
+ Game_Flag_Set(kFlagMcCoyInMcCoyApartment);
Game_Flag_Reset(kFlagSpinnerAtNR01);
Game_Flag_Reset(kFlagArrivedFromSpinner1);
Game_Flag_Set(kFlagSpinnerAtMA01);
@@ -169,7 +178,7 @@ bool SceneScriptNR01::ClickedOnExit(int exitId) {
Scene_Loop_Start_Special(kSceneLoopModeChangeSet, 3, true);
break;
case kSpinnerDestinationRuncitersAnimals:
- Game_Flag_Set(kFlagMcCoyAtRCxx);
+ Game_Flag_Set(kFlagMcCoyInRunciters);
Game_Flag_Reset(kFlagSpinnerAtNR01);
Game_Flag_Reset(kFlagArrivedFromSpinner1);
Game_Flag_Set(kFlagSpinnerAtRC01);
@@ -177,7 +186,7 @@ bool SceneScriptNR01::ClickedOnExit(int exitId) {
Scene_Loop_Start_Special(kSceneLoopModeChangeSet, 3, true);
break;
case kSpinnerDestinationChinatown:
- Game_Flag_Set(kFlagMcCoyAtCTxx);
+ Game_Flag_Set(kFlagMcCoyInChinaTown);
Game_Flag_Reset(kFlagSpinnerAtNR01);
Game_Flag_Reset(kFlagArrivedFromSpinner1);
Game_Flag_Set(kFlagSpinnerAtCT01);
@@ -185,7 +194,7 @@ bool SceneScriptNR01::ClickedOnExit(int exitId) {
Scene_Loop_Start_Special(kSceneLoopModeChangeSet, 3, true);
break;
case kSpinnerDestinationAnimoidRow:
- Game_Flag_Set(kFlagMcCoyAtARxx);
+ Game_Flag_Set(kFlagMcCoyInAnimoidRow);
Game_Flag_Reset(kFlagSpinnerAtNR01);
Game_Flag_Reset(kFlagArrivedFromSpinner1);
Game_Flag_Set(kFlagSpinnerAtAR01);
@@ -193,7 +202,7 @@ bool SceneScriptNR01::ClickedOnExit(int exitId) {
Scene_Loop_Start_Special(kSceneLoopModeChangeSet, 3, true);
break;
case kSpinnerDestinationTyrellBuilding:
- Game_Flag_Set(kFlagMcCoyAtTBxx);
+ Game_Flag_Set(kFlagMcCoyInTyrellBuilding);
Game_Flag_Reset(kFlagSpinnerAtNR01);
Game_Flag_Reset(kFlagArrivedFromSpinner1);
Game_Flag_Set(kFlagSpinnerAtTB02);
@@ -201,7 +210,7 @@ bool SceneScriptNR01::ClickedOnExit(int exitId) {
Scene_Loop_Start_Special(kSceneLoopModeChangeSet, 3, true);
break;
case kSpinnerDestinationDNARow:
- Game_Flag_Set(kFlagMcCoyAtDRxx);
+ Game_Flag_Set(kFlagMcCoyInDNARow);
Game_Flag_Reset(kFlagSpinnerAtNR01);
Game_Flag_Reset(kFlagArrivedFromSpinner1);
Game_Flag_Set(kFlagSpinnerAtDR01);
@@ -209,7 +218,7 @@ bool SceneScriptNR01::ClickedOnExit(int exitId) {
Scene_Loop_Start_Special(kSceneLoopModeChangeSet, 3, true);
break;
case kSpinnerDestinationBradburyBuilding:
- Game_Flag_Set(kFlagMcCoyAtBBxx);
+ Game_Flag_Set(kFlagMcCoyInBradburyBuilding);
Game_Flag_Reset(kFlagSpinnerAtNR01);
Game_Flag_Reset(kFlagArrivedFromSpinner1);
Game_Flag_Set(kFlagSpinnerAtBB01);
@@ -217,7 +226,7 @@ bool SceneScriptNR01::ClickedOnExit(int exitId) {
Scene_Loop_Start_Special(kSceneLoopModeChangeSet, 3, true);
break;
case kSpinnerDestinationHysteriaHall:
- Game_Flag_Set(kFlagMcCoyAtHFxx);
+ Game_Flag_Set(kFlagMcCoyInHysteriaHall);
Game_Flag_Reset(kFlagSpinnerAtNR01);
Game_Flag_Set(kFlagSpinnerAtHF01);
Set_Enter(kSetHF01, kSceneHF01);
@@ -225,7 +234,7 @@ bool SceneScriptNR01::ClickedOnExit(int exitId) {
break;
default:
Player_Loses_Control();
- Game_Flag_Set(kFlagMcCoyAtNRxx);
+ Game_Flag_Set(kFlagMcCoyInNightclubRow);
Game_Flag_Set(kFlagArrivedFromSpinner1);
Player_Gains_Control();
break;
@@ -308,16 +317,16 @@ void SceneScriptNR01::PlayerWalkedIn() {
return;
}
if (Game_Flag_Query(534)) {
- Loop_Actor_Walk_To_XYZ(kActorMcCoy, -380.0f, 31.73f, -841.0f, 0, 0, false, 0);
+ Loop_Actor_Walk_To_XYZ(kActorMcCoy, -380.0f, 31.73f, -841.0f, 0, false, false, 0);
Game_Flag_Reset(534);
} else {
- if (Game_Flag_Query(342)) {
- Loop_Actor_Travel_Stairs(kActorMcCoy, 3, 1, kAnimationModeIdle);
- Game_Flag_Reset(342);
+ if (Game_Flag_Query(kFlagUG06toNR01)) {
+ Loop_Actor_Travel_Stairs(kActorMcCoy, 3, true, kAnimationModeIdle);
+ Game_Flag_Reset(kFlagUG06toNR01);
if (Actor_Query_Goal_Number(kActorSteele) == 230) {
Actor_Face_Actor(kActorSteele, kActorMcCoy, true);
Actor_Says(kActorSteele, 1440, 13);
- Loop_Actor_Walk_To_Actor(kActorMcCoy, kActorSteele, 48, 0, true);
+ Loop_Actor_Walk_To_Actor(kActorMcCoy, kActorSteele, 48, false, true);
Actor_Says(kActorMcCoy, 3145, 13);
if (Global_Variable_Query(40) != 3) {
Actor_Says(kActorSteele, 1450, 12);
@@ -418,7 +427,12 @@ void SceneScriptNR01::PlayerWalkedIn() {
void SceneScriptNR01::PlayerWalkedOut() {
Ambient_Sounds_Remove_All_Non_Looping_Sounds(true);
Ambient_Sounds_Remove_All_Looping_Sounds(1);
- if (!Game_Flag_Query(343) && !Game_Flag_Query(532) && !Game_Flag_Query(535) && !Game_Flag_Query(632) && !Game_Flag_Query(722)) {
+ if (!Game_Flag_Query(kFlagNR01toUG06)
+ && !Game_Flag_Query(532)
+ && !Game_Flag_Query(535)
+ && !Game_Flag_Query(632)
+ && !Game_Flag_Query(722)
+ ) {
Ambient_Sounds_Remove_All_Non_Looping_Sounds(true);
Ambient_Sounds_Remove_All_Looping_Sounds(1);
Outtake_Play(kOuttakeAway1, true, -1);
@@ -428,7 +442,11 @@ void SceneScriptNR01::PlayerWalkedOut() {
}
void SceneScriptNR01::DialogueQueueFlushed(int a1) {
- if (Actor_Query_Goal_Number(kActorSteele) == 251 && Actor_Query_Goal_Number(kActorGordo) != 299 && Actor_Query_Goal_Number(kActorGordo) != 254 && Actor_Query_Goal_Number(kActorGordo) != 255) {
+ if (Actor_Query_Goal_Number(kActorSteele) == 251
+ && Actor_Query_Goal_Number(kActorGordo) != 299
+ && Actor_Query_Goal_Number(kActorGordo) != 254
+ && Actor_Query_Goal_Number(kActorGordo) != 255
+ ) {
Actor_Set_Goal_Number(kActorSteele, 252);
}
}
diff --git a/engines/bladerunner/script/scene/nr04.cpp b/engines/bladerunner/script/scene/nr04.cpp
index d6332fe..05250e8 100644
--- a/engines/bladerunner/script/scene/nr04.cpp
+++ b/engines/bladerunner/script/scene/nr04.cpp
@@ -152,7 +152,7 @@ bool SceneScriptNR04::ClickedOn2DRegion(int region) {
if (Game_Flag_Query(606) == 1) {
return true;
}
- if (Game_Flag_Query(374)) {
+ if (Game_Flag_Query(kFlagAR02DektoraBoughtScorpions)) {
Player_Loses_Control();
Actor_Voice_Over(4180, kActorVoiceOver);
Actor_Change_Animation_Mode(kActorMcCoy, 48);
@@ -260,7 +260,7 @@ void SceneScriptNR04::ActorChangedGoal(int actorId, int newGoal, int oldGoal, bo
void SceneScriptNR04::PlayerWalkedIn() {
Loop_Actor_Walk_To_XYZ(kActorMcCoy, 53.0f, 0.0f, -26.0f, 0, 0, false, 0);
- if (Game_Flag_Query(374)) {
+ if (Game_Flag_Query(kFlagAR02DektoraBoughtScorpions)) {
Overlay_Play("nr04over", 0, 1, 0, 0);
Delay(4000);
Overlay_Remove("nr04over");
diff --git a/engines/bladerunner/script/scene/ps01.cpp b/engines/bladerunner/script/scene/ps01.cpp
index 34c7583..bafa4a5 100644
--- a/engines/bladerunner/script/scene/ps01.cpp
+++ b/engines/bladerunner/script/scene/ps01.cpp
@@ -87,74 +87,74 @@ bool SceneScriptPS01::ClickedOnExit(int exitId) {
if (exitId == 1) {
if (!Loop_Actor_Walk_To_XYZ(kActorMcCoy, 1877.9f, 16592.0f, -2975.0f, 0, true, false, 0)) {
Actor_Set_At_XYZ(kActorMcCoy, 1872.0f, 16592.0f, -2975.0f, 870);
- Game_Flag_Reset(kFlagMcCoyAtCTxx);
- Game_Flag_Reset(kFlagMcCoyAtRCxx);
- Game_Flag_Reset(kFlagMcCoyAtMAxx);
- Game_Flag_Reset(kFlagMcCoyAtPSxx);
- Game_Flag_Reset(kFlagMcCoyAtARxx);
- Game_Flag_Reset(kFlagMcCoyAtTBxx);
- Game_Flag_Reset(kFlagMcCoyAtDRxx);
- Game_Flag_Reset(kFlagMcCoyAtBBxx);
+ Game_Flag_Reset(kFlagMcCoyInChinaTown);
+ Game_Flag_Reset(kFlagMcCoyInRunciters);
+ Game_Flag_Reset(kFlagMcCoyInMcCoyApartment);
+ Game_Flag_Reset(kFlagMcCoyInPoliceStation);
+ Game_Flag_Reset(kFlagMcCoyInAnimoidRow);
+ Game_Flag_Reset(kFlagMcCoyInTyrellBuilding);
+ Game_Flag_Reset(kFlagMcCoyInDNARow);
+ Game_Flag_Reset(kFlagMcCoyInBradburyBuilding);
int spinnerDest = Spinner_Interface_Choose_Dest(3, true);
switch (spinnerDest) {
case kSpinnerDestinationMcCoysApartment:
- Game_Flag_Set(kFlagMcCoyAtMAxx);
+ Game_Flag_Set(kFlagMcCoyInMcCoyApartment);
Game_Flag_Reset(kFlagSpinnerAtPS01);
Game_Flag_Set(kFlagSpinnerAtMA01);
Set_Enter(kSetMA01, kSceneMA01);
Scene_Loop_Start_Special(kSceneLoopModeChangeSet, 4, true);
break;
case kSpinnerDestinationRuncitersAnimals:
- Game_Flag_Set(kFlagMcCoyAtRCxx);
+ Game_Flag_Set(kFlagMcCoyInRunciters);
Game_Flag_Reset(kFlagSpinnerAtPS01);
Game_Flag_Set(kFlagSpinnerAtRC01);
Set_Enter(kSetRC01, kSceneRC01);
Scene_Loop_Start_Special(kSceneLoopModeChangeSet, 4, true);
break;
case kSpinnerDestinationChinatown:
- Game_Flag_Set(kFlagMcCoyAtCTxx);
+ Game_Flag_Set(kFlagMcCoyInChinaTown);
Game_Flag_Reset(kFlagSpinnerAtPS01);
Game_Flag_Set(kFlagSpinnerAtCT01);
Set_Enter(kSetCT01_CT12, kSceneCT01);
Scene_Loop_Start_Special(kSceneLoopModeChangeSet, 4, true);
break;
case kSpinnerDestinationAnimoidRow:
- Game_Flag_Set(kFlagMcCoyAtARxx);
+ Game_Flag_Set(kFlagMcCoyInAnimoidRow);
Game_Flag_Reset(kFlagSpinnerAtPS01);
Game_Flag_Set(kFlagSpinnerAtAR01);
Set_Enter(kSetAR01_AR02, kSceneAR01);
Scene_Loop_Start_Special(kSceneLoopModeChangeSet, 4, true);
break;
case kSpinnerDestinationTyrellBuilding:
- Game_Flag_Set(kFlagMcCoyAtTBxx);
+ Game_Flag_Set(kFlagMcCoyInTyrellBuilding);
Game_Flag_Reset(kFlagSpinnerAtPS01);
Game_Flag_Set(kFlagSpinnerAtTB02);
Set_Enter(kSetTB02_TB03, kSceneTB02);
Scene_Loop_Start_Special(kSceneLoopModeChangeSet, 4, true);
break;
case kSpinnerDestinationDNARow:
- Game_Flag_Set(kFlagMcCoyAtDRxx);
+ Game_Flag_Set(kFlagMcCoyInDNARow);
Game_Flag_Reset(kFlagSpinnerAtPS01);
Game_Flag_Set(kFlagSpinnerAtDR01);
Set_Enter(kSetDR01_DR02_DR04, kSceneDR01);
Scene_Loop_Start_Special(kSceneLoopModeChangeSet, 4, true);
break;
case kSpinnerDestinationBradburyBuilding:
- Game_Flag_Set(kFlagMcCoyAtBBxx);
+ Game_Flag_Set(kFlagMcCoyInBradburyBuilding);
Game_Flag_Reset(kFlagSpinnerAtPS01);
Game_Flag_Set(kFlagSpinnerAtBB01);
Set_Enter(kSetBB01, kSceneBB01);
Scene_Loop_Start_Special(kSceneLoopModeChangeSet, 4, true);
break;
case kSpinnerDestinationNightclubRow:
- Game_Flag_Set(kFlagMcCoyAtNRxx);
+ Game_Flag_Set(kFlagMcCoyInNightclubRow);
Game_Flag_Reset(kFlagSpinnerAtPS01);
Game_Flag_Set(kFlagSpinnerAtNR01);
Set_Enter(kSetNR01, kSceneNR01);
Scene_Loop_Start_Special(kSceneLoopModeChangeSet, 4, true);
break;
case kSpinnerDestinationHysteriaHall:
- Game_Flag_Set(kFlagMcCoyAtHFxx);
+ Game_Flag_Set(kFlagMcCoyInHysteriaHall);
Game_Flag_Reset(kFlagSpinnerAtPS01);
Game_Flag_Set(kFlagSpinnerAtHF01);
Set_Enter(kSetHF01, kSceneHF01);
@@ -162,7 +162,7 @@ bool SceneScriptPS01::ClickedOnExit(int exitId) {
break;
default:
Actor_Face_Heading(kActorMcCoy, 870, false);
- Game_Flag_Set(kFlagMcCoyAtPSxx);
+ Game_Flag_Set(kFlagMcCoyInPoliceStation);
Game_Flag_Set(kFlagArrivedFromSpinner2);
Player_Loses_Control();
Scene_Loop_Start_Special(2, 3, 1);
diff --git a/engines/bladerunner/script/scene/ps04.cpp b/engines/bladerunner/script/scene/ps04.cpp
index 510d596..bab6ce5 100644
--- a/engines/bladerunner/script/scene/ps04.cpp
+++ b/engines/bladerunner/script/scene/ps04.cpp
@@ -152,7 +152,7 @@ void SceneScriptPS04::dialogueWithGuzza() {
DM_Add_To_List_Never_Repeat_Once_Selected(150, 7, 6, 5); // HOLDEN'S BADGE
}
}
- if (Game_Flag_Query(kFlagMcCoyKilledHomeless)) {
+ if (Game_Flag_Query(kFlagCT04HomelessKilledByMcCoy)) {
DM_Add_To_List_Never_Repeat_Once_Selected(140, 3, -1, -1); // CONFESS TO SHOOTING
}
DM_Add_To_List(130, 1, 1, 1); // REPORT IN
@@ -192,7 +192,7 @@ void SceneScriptPS04::dialogueWithGuzza() {
case 130: // REPORT IN
if ( Game_Flag_Query(kFlagZubenRetired)
- && !Game_Flag_Query(kFlagGuzzaTalkZubenRetired)
+ && !Game_Flag_Query(kFlagPS04GuzzaTalkZubenRetired)
) {
Actor_Says(kActorMcCoy, 3920, 13);
Actor_Says(kActorGuzza, 140, 30);
@@ -220,13 +220,13 @@ void SceneScriptPS04::dialogueWithGuzza() {
Actor_Says(kActorGuzza, 250, 34);
Actor_Says(kActorGuzza, 260, 33);
Actor_Says(kActorGuzza, 270, 32);
- Game_Flag_Set(kFlagGuzzaTalkZubenRetired);
+ Game_Flag_Set(kFlagPS04GuzzaTalkZubenRetired);
if (Query_Difficulty_Level() != 0) {
Global_Variable_Increment(kVariableChinyen, 200);
}
Game_Flag_Set(kFlagZubenBountyPaid);
} else if ( Game_Flag_Query(kFlagZubenSpared)
- && !Game_Flag_Query(kFlagGuzzaTalkZubenEscaped)
+ && !Game_Flag_Query(kFlagPS04GuzzaTalkZubenEscaped)
) {
Actor_Says(kActorMcCoy, 3955, 13);
Actor_Says(kActorGuzza, 280, 30);
@@ -236,14 +236,14 @@ void SceneScriptPS04::dialogueWithGuzza() {
Actor_Says(kActorMcCoy, 3965, 13);
Actor_Says(kActorGuzza, 310, 33);
Actor_Says(kActorGuzza, 320, 34);
- Game_Flag_Set(kFlagGuzzaTalkZubenEscaped);
+ Game_Flag_Set(kFlagPS04GuzzaTalkZubenEscaped);
} else if (
( Actor_Clue_Query(kActorMcCoy, kClueChopstickWrapper)
|| Actor_Clue_Query(kActorMcCoy, kClueSushiMenu)
)
&& Actor_Clue_Query(kActorMcCoy, kClueRunciterInterviewA)
&& Actor_Query_Friendliness_To_Other(kActorGuzza, kActorMcCoy) < 50
- && !Game_Flag_Query(kFlagGuzzaTalk1)
+ && !Game_Flag_Query(kFlagPS04GuzzaTalk1)
) {
Actor_Says(kActorMcCoy, 3970, 18);
Actor_Says(kActorGuzza, 330, 30);
@@ -258,18 +258,18 @@ void SceneScriptPS04::dialogueWithGuzza() {
Actor_Says(kActorMcCoy, 3985, 18);
Actor_Says(kActorGuzza, 400, 34);
Actor_Says(kActorGuzza, 410, 31);
- Game_Flag_Set(kFlagGuzzaTalk1);
+ Game_Flag_Set(kFlagPS04GuzzaTalk1);
} else if (
( Actor_Clue_Query(kActorMcCoy, kClueChopstickWrapper)
|| Actor_Clue_Query(kActorMcCoy, kClueSushiMenu)
)
&& Actor_Clue_Query(kActorMcCoy, kClueRunciterInterviewA)
- && !Game_Flag_Query(kFlagGuzzaTalk2)
+ && !Game_Flag_Query(kFlagPS04GuzzaTalk2)
) {
Actor_Says(kActorMcCoy, 3920, 13);
Actor_Says(kActorGuzza, 570, 32);
Actor_Says(kActorMcCoy, 4070, 13);
- Game_Flag_Set(kFlagGuzzaTalk2);
+ Game_Flag_Set(kFlagPS04GuzzaTalk2);
} else if (Actor_Query_Friendliness_To_Other(kActorGuzza, kActorMcCoy) >= 50) {
Actor_Says(kActorMcCoy, 4020, 13);
Actor_Says(kActorGuzza, 580, 34);
diff --git a/engines/bladerunner/script/scene/ps05.cpp b/engines/bladerunner/script/scene/ps05.cpp
index 91fda95..e3261c4 100644
--- a/engines/bladerunner/script/scene/ps05.cpp
+++ b/engines/bladerunner/script/scene/ps05.cpp
@@ -174,7 +174,7 @@ void SceneScriptPS05::selectNextTvNews() {
if (Global_Variable_Query(kVariableChapter) >= 2 && Global_Variable_Query(kVariableChapter) <= 4) {
arr[i++] = 3;
}
- if (Game_Flag_Query(kFlagHomelessBodyFound) && Game_Flag_Query(kFlagHomelessBodyInDumpster)) {
+ if (Game_Flag_Query(kFlagCT04HomelessBodyFound) && Game_Flag_Query(kFlagCT04HomelessBodyInDumpster)) {
arr[i++] = 4;
}
Global_Variable_Set(kVariableNextTvNews, arr[Random_Query(0, i - 1)]);
diff --git a/engines/bladerunner/script/scene/ps07.cpp b/engines/bladerunner/script/scene/ps07.cpp
index 4d15adb..86c8eaa 100644
--- a/engines/bladerunner/script/scene/ps07.cpp
+++ b/engines/bladerunner/script/scene/ps07.cpp
@@ -69,11 +69,11 @@ bool SceneScriptPS07::ClickedOnActor(int actorId) {
Actor_Face_Actor(kActorMcCoy, kActorKlein, true);
Actor_Set_Goal_Number(kActorKlein, 3);
- if (!Game_Flag_Query(kFlagKleinTalkClues)) {
+ if (!Game_Flag_Query(kFlagPS07KleinTalkClues)) {
Actor_Says(kActorMcCoy, 4115, 13);
}
- if (!Game_Flag_Query(kFlagKleinTalkClues)
+ if (!Game_Flag_Query(kFlagPS07KleinTalkClues)
&& (Game_Flag_Query(kFlagMcCoyHasShellCasings)
|| Game_Flag_Query(kFlagMcCoyHasOfficersStatement)
|| Game_Flag_Query(kFlagMcCoyHasPaintTransfer)
@@ -82,17 +82,17 @@ bool SceneScriptPS07::ClickedOnActor(int actorId) {
) {
Actor_Face_Actor(kActorKlein, kActorMcCoy, true);
Actor_Says(kActorKlein, 30, 12);
- Game_Flag_Set(kFlagKleinTalkClues);
+ Game_Flag_Set(kFlagPS07KleinTalkClues);
} else {
- if (Game_Flag_Query(kFlagKleinTalkClues)) {
+ if (Game_Flag_Query(kFlagPS07KleinTalkClues)) {
Actor_Says(kActorMcCoy, 4130, 18);
}
}
if ( Game_Flag_Query(kFlagMcCoyHasShellCasings)
- && !Game_Flag_Query(kFlagKleinTalkShellCasings)
+ && !Game_Flag_Query(kFlagPS07KleinTalkShellCasings)
) {
- Game_Flag_Set(kFlagKleinTalkShellCasings);
+ Game_Flag_Set(kFlagPS07KleinTalkShellCasings);
Actor_Clue_Acquire(kActorMcCoy, kClueLabShellCasings, false, kActorKlein);
Actor_Says(kActorKlein, 50, 16);
Actor_Says(kActorMcCoy, 4135, 13);
@@ -106,9 +106,9 @@ bool SceneScriptPS07::ClickedOnActor(int actorId) {
}
if ( Game_Flag_Query(kFlagMcCoyHasOfficersStatement)
- && !Game_Flag_Query(kFlagKleinTalkOfficersStatement)
+ && !Game_Flag_Query(kFlagPS07KleinTalkOfficersStatement)
) {
- Game_Flag_Set(kFlagKleinTalkOfficersStatement);
+ Game_Flag_Set(kFlagPS07KleinTalkOfficersStatement);
Actor_Clue_Acquire(kActorMcCoy, kClueLabCorpses, false, kActorKlein);
Actor_Says(kActorKlein, 100, 13);
Actor_Says(kActorMcCoy, 4145, 13);
@@ -129,9 +129,9 @@ bool SceneScriptPS07::ClickedOnActor(int actorId) {
}
if ( Game_Flag_Query(kFlagMcCoyHasPaintTransfer)
- && !Game_Flag_Query(kFlagKleinTalkPaintTransfer)
+ && !Game_Flag_Query(kFlagPS07KleinTalkPaintTransfer)
) {
- Game_Flag_Set(kFlagKleinTalkPaintTransfer);
+ Game_Flag_Set(kFlagPS07KleinTalkPaintTransfer);
Actor_Clue_Acquire(kActorMcCoy, kClueLabPaintTransfer, false, kActorKlein);
Actor_Says(kActorKlein, 170, 14);
Actor_Says(kActorMcCoy, 4180, 13);
@@ -146,9 +146,9 @@ bool SceneScriptPS07::ClickedOnActor(int actorId) {
}
if ( Game_Flag_Query(kFlagMcCoyHasChromeDebris)
- && !Game_Flag_Query(kFlagKleinTalkChromeDebris)
+ && !Game_Flag_Query(kFlagPS07KleinTalkChromeDebris)
) {
- Game_Flag_Set(kFlagKleinTalkChromeDebris);
+ Game_Flag_Set(kFlagPS07KleinTalkChromeDebris);
Actor_Says(kActorKlein, 220, 12);
Actor_Says(kActorMcCoy, 4190, 13);
Actor_Says(kActorKlein, 230, 14);
@@ -194,7 +194,7 @@ void SceneScriptPS07::PlayerWalkedIn() {
}
void SceneScriptPS07::PlayerWalkedOut() {
- if (!Game_Flag_Query(kFlagKleinInsulted) && Global_Variable_Query(kVariableChapter) == 1) {
+ if (!Game_Flag_Query(kFlagPS07KleinInsulted) && Global_Variable_Query(kVariableChapter) == 1) {
Actor_Set_Goal_Number(kActorKlein, 0);
}
}
diff --git a/engines/bladerunner/script/scene/ps14.cpp b/engines/bladerunner/script/scene/ps14.cpp
index 2d1bb42..44b57cb 100644
--- a/engines/bladerunner/script/scene/ps14.cpp
+++ b/engines/bladerunner/script/scene/ps14.cpp
@@ -29,17 +29,19 @@ void SceneScriptPS14::InitializeScene() {
Setup_Scene_Information(-1119.61f, 508.14f, -1208.22f, 315);
Game_Flag_Reset(kFlagPS03toPS14);
} else {
- Setup_Scene_Information(-785.45f, 508.14f, -1652.0f, 315);
+ Setup_Scene_Information( -785.45f, 508.14f, -1652.0f, 315);
}
- Scene_Exit_Add_2D_Exit(0, 610, 0, 639, 479, 1);
- Scene_Exit_Add_2D_Exit(1, 46, 51, 125, 192, 0);
+
+ Scene_Exit_Add_2D_Exit(0, 610, 0, 639, 479, 1);
+ Scene_Exit_Add_2D_Exit(1, 46, 51, 125, 192, 0);
+
Ambient_Sounds_Add_Looping_Sound(381, 100, 1, 1);
- Ambient_Sounds_Add_Sound(374, 100, 300, 16, 25, 0, 0, -101, -101, 0, 0);
- Ambient_Sounds_Add_Sound(68, 60, 180, 16, 25, 0, 0, -101, -101, 0, 0);
- Ambient_Sounds_Add_Sound(69, 60, 180, 16, 25, 0, 0, -101, -101, 0, 0);
- Ambient_Sounds_Add_Sound(375, 60, 180, 50, 100, 0, 0, -101, -101, 0, 0);
- Ambient_Sounds_Add_Sound(376, 50, 180, 50, 100, 0, 0, -101, -101, 0, 0);
- Ambient_Sounds_Add_Sound(377, 50, 180, 50, 100, 0, 0, -101, -101, 0, 0);
+ Ambient_Sounds_Add_Sound(374, 100, 300, 16, 25, 0, 0, -101, -101, 0, 0);
+ Ambient_Sounds_Add_Sound( 68, 60, 180, 16, 25, 0, 0, -101, -101, 0, 0);
+ Ambient_Sounds_Add_Sound( 69, 60, 180, 16, 25, 0, 0, -101, -101, 0, 0);
+ Ambient_Sounds_Add_Sound(375, 60, 180, 50, 100, 0, 0, -101, -101, 0, 0);
+ Ambient_Sounds_Add_Sound(376, 50, 180, 50, 100, 0, 0, -101, -101, 0, 0);
+ Ambient_Sounds_Add_Sound(377, 50, 180, 50, 100, 0, 0, -101, -101, 0, 0);
}
void SceneScriptPS14::SceneLoaded() {
@@ -69,8 +71,10 @@ bool SceneScriptPS14::ClickedOnExit(int exitId) {
if (exitId == 1) {
if (!Loop_Actor_Walk_To_XYZ(kActorMcCoy, -2101.0f, 508.14f, -1361.0f, 0, 1, false, 0)) {
Actor_Face_Heading(kActorMcCoy, 819, false);
- Loop_Actor_Travel_Stairs(kActorMcCoy, 3, 1, kAnimationModeIdle);
- if (Global_Variable_Query(kVariableChapter) == 4 && Game_Flag_Query(671)) {
+ Loop_Actor_Travel_Stairs(kActorMcCoy, 3, true, kAnimationModeIdle);
+ if (Global_Variable_Query(kVariableChapter) == 4
+ && Game_Flag_Query(671)
+ ) {
if (Actor_Clue_Query(kActorMcCoy, kClueBriefcase)) {
Game_Flag_Set(666);
Actor_Set_Goal_Number(kActorMcCoy, 400);
@@ -88,11 +92,12 @@ bool SceneScriptPS14::ClickedOnExit(int exitId) {
}
return true;
}
+
if (exitId == 0) {
if (!Loop_Actor_Walk_To_XYZ(kActorMcCoy, -785.45f, 508.14f, -1652.0f, 0, 1, false, 0)) {
- Game_Flag_Set(673);
- Game_Flag_Reset(kFlagMcCoyAtPSxx);
- Game_Flag_Set(kFlagMcCoyAtMAxx);
+ Game_Flag_Set(kFlagPS14toMA07);
+ Game_Flag_Reset(kFlagMcCoyInPoliceStation);
+ Game_Flag_Set(kFlagMcCoyInMcCoyApartment);
Set_Enter(kSetMA07, kSceneMA07);
}
return true;
@@ -111,9 +116,9 @@ void SceneScriptPS14::ActorChangedGoal(int actorId, int newGoal, int oldGoal, bo
}
void SceneScriptPS14::PlayerWalkedIn() {
- if (Game_Flag_Query(672)) {
- Loop_Actor_Walk_To_XYZ(kActorMcCoy, -801.45f, 508.14f, -1596.68f, 0, 0, false, 0);
- Game_Flag_Reset(672);
+ if (Game_Flag_Query(kFlagMA07toPS14)) {
+ Loop_Actor_Walk_To_XYZ(kActorMcCoy, -801.45f, 508.14f, -1596.68f, 0, false, false, 0);
+ Game_Flag_Reset(kFlagMA07toPS14);
}
//return false;
}
diff --git a/engines/bladerunner/script/scene/rc01.cpp b/engines/bladerunner/script/scene/rc01.cpp
index 03df5b0..9467f16 100644
--- a/engines/bladerunner/script/scene/rc01.cpp
+++ b/engines/bladerunner/script/scene/rc01.cpp
@@ -227,7 +227,7 @@ void SceneScriptRC01::SceneLoaded() {
Preload(589);
}
- if (!Game_Flag_Query(kFlagChromeDebrisTaken)) {
+ if (!Game_Flag_Query(kFlagRC01ChromeDebrisTaken)) {
Item_Add_To_World(kItemChromeDebris, 938, kSetRC01, -148.60f, -0.30f, 225.15f, 256, 24, 24, false, true, false, true);
}
@@ -314,15 +314,15 @@ bool SceneScriptRC01::ClickedOnActor(int actorId) {
if (Actor_Query_Goal_Number(kActorOfficerLeary) == kGoalOfficerLearyRC01WalkToCrowd) {
Actor_Set_Goal_Number(kActorOfficerLeary, kGoalOfficerLearyDefault);
}
- if (Game_Flag_Query(kFlagGotOfficersStatement)) {
+ if (Game_Flag_Query(kFlagRC01GotOfficersStatement)) {
Actor_Says(kActorMcCoy, 4535, 13);
- Game_Flag_Set(KFlagMcCoyAndOfficerLearyTalking);
+ Game_Flag_Set(kFlagRC01McCoyAndOfficerLearyTalking);
if (Actor_Clue_Query(kActorOfficerLeary, kClueCrowdInterviewA) && !Actor_Clue_Query(kActorMcCoy, kClueCrowdInterviewA)) {
Actor_Face_Object(kActorOfficerLeary, "70_1", true);
Actor_Says(kActorOfficerLeary, 100, 15);
Actor_Face_Actor(kActorOfficerLeary, kActorMcCoy, true);
Actor_Clue_Acquire(kActorMcCoy, kClueCrowdInterviewA, true, kActorOfficerLeary);
- Game_Flag_Reset(KFlagMcCoyAndOfficerLearyTalking);
+ Game_Flag_Reset(kFlagRC01McCoyAndOfficerLearyTalking);
} else if (Actor_Clue_Query(kActorOfficerLeary, kClueCrowdInterviewB) && !Actor_Clue_Query(kActorMcCoy, kClueCrowdInterviewB)) {
Actor_Face_Object(kActorOfficerLeary, "70_5", true);
Actor_Says(kActorOfficerLeary, 120, 19);
@@ -330,24 +330,24 @@ bool SceneScriptRC01::ClickedOnActor(int actorId) {
Actor_Says(kActorOfficerLeary, 130, 14);
I_Sez("JM: Did it have a huge, ugly piece of chrome on it?");
Actor_Clue_Acquire(kActorMcCoy, kClueCrowdInterviewB, true, kActorOfficerLeary);
- Game_Flag_Reset(KFlagMcCoyAndOfficerLearyTalking);
+ Game_Flag_Reset(kFlagRC01McCoyAndOfficerLearyTalking);
} else {
Actor_Says(kActorOfficerLeary, 90, 16);
I_Sez("JM: This officer has a talent for vivid metaphors.");
- if (!Game_Flag_Query(KFlagMcCoyAndOfficerLearyArtMetaphor)) {
+ if (!Game_Flag_Query(kFlagRC01McCoyAndOfficerLearyArtMetaphor)) {
I_Sez("DL: What is that supposed to mean? I didn't write this line...");
Actor_Says(kActorMcCoy, 4540, 16);
- Game_Flag_Set(KFlagMcCoyAndOfficerLearyArtMetaphor);
+ Game_Flag_Set(kFlagRC01McCoyAndOfficerLearyArtMetaphor);
}
- Game_Flag_Reset(KFlagMcCoyAndOfficerLearyTalking);
+ Game_Flag_Reset(kFlagRC01McCoyAndOfficerLearyTalking);
}
} else {
I_Sez("MG: Hey, leave that officer alone. Can't you see he's busy?");
I_Sez("JM: (...mmm, donuts...)");
- Game_Flag_Set(kFlagGotOfficersStatement);
+ Game_Flag_Set(kFlagRC01GotOfficersStatement);
Actor_Clue_Acquire(kActorMcCoy, kClueOfficersStatement, true, kActorOfficerLeary);
Actor_Says(kActorMcCoy, 4515, 13);
- Game_Flag_Set(KFlagMcCoyAndOfficerLearyTalking);
+ Game_Flag_Set(kFlagRC01McCoyAndOfficerLearyTalking);
Actor_Says(kActorOfficerLeary, 40, 13);
if (!Game_Flag_Query(kFlagRC02Entered)) {
Actor_Says(kActorOfficerLeary, 50, 14);
@@ -359,7 +359,7 @@ bool SceneScriptRC01::ClickedOnActor(int actorId) {
Actor_Says(kActorOfficerLeary, 80, 18);
Actor_Says(kActorMcCoy, 4530, 15);
}
- Game_Flag_Reset(KFlagMcCoyAndOfficerLearyTalking);
+ Game_Flag_Reset(kFlagRC01McCoyAndOfficerLearyTalking);
}
}
return true;
@@ -375,7 +375,7 @@ bool SceneScriptRC01::ClickedOnItem(int itemId, bool a2) {
Actor_Clue_Acquire(kActorMcCoy, kClueChromeDebris, true, -1);
Actor_Face_Actor(kActorOfficerLeary, kActorMcCoy, true);
Actor_Says(kActorOfficerLeary, 20, 12);
- Game_Flag_Set(kFlagChromeDebrisTaken);
+ Game_Flag_Set(kFlagRC01ChromeDebrisTaken);
Item_Remove_From_World(kItemChromeDebris);
Item_Pickup_Spin_Effect(938, 426, 316);
I_Sez("JM: Chrome...is that what that is?");
@@ -395,7 +395,7 @@ bool SceneScriptRC01::ClickedOnItem(int itemId, bool a2) {
void SceneScriptRC01::walkToCenter() {
Player_Loses_Control();
- Game_Flag_Set(kFlagMcCoyAtRCxx);
+ Game_Flag_Set(kFlagMcCoyInRunciters);
Actor_Set_Immunity_To_Obstacles(kActorMcCoy, true);
Loop_Actor_Walk_To_XYZ(kActorMcCoy, -151.98f, -0.3f, 318.15f, 0, 0, false, 0);
Actor_Set_Immunity_To_Obstacles(kActorMcCoy, false);
@@ -426,6 +426,7 @@ bool SceneScriptRC01::ClickedOnExit(int exitId) {
}
return true;
}
+
if (exitId == kRC01ExitSpinner) {
if (Game_Flag_Query(kFlagDNARowAvailable)) {
Spinner_Set_Selectable_Destination_Flag(kSpinnerDestinationDNARow, true);
@@ -447,10 +448,10 @@ bool SceneScriptRC01::ClickedOnExit(int exitId) {
}
Actor_Set_Immunity_To_Obstacles(kActorMcCoy, false);
Player_Gains_Control();
- Game_Flag_Reset(kFlagMcCoyAtCTxx);
- Game_Flag_Reset(kFlagMcCoyAtRCxx);
- Game_Flag_Reset(kFlagMcCoyAtMAxx);
- Game_Flag_Reset(kFlagMcCoyAtPSxx);
+ Game_Flag_Reset(kFlagMcCoyInChinaTown);
+ Game_Flag_Reset(kFlagMcCoyInRunciters);
+ Game_Flag_Reset(kFlagMcCoyInMcCoyApartment);
+ Game_Flag_Reset(kFlagMcCoyInPoliceStation);
int spinnerDest;
if (Game_Flag_Query(kFlagRC01PoliceDone)) {
spinnerDest = Spinner_Interface_Choose_Dest(kRC01LoopDoorAnimNoCrowd, true);
@@ -460,7 +461,7 @@ bool SceneScriptRC01::ClickedOnExit(int exitId) {
switch (spinnerDest) {
case kSpinnerDestinationPoliceStation:
- Game_Flag_Set(kFlagMcCoyAtPSxx);
+ Game_Flag_Set(kFlagMcCoyInPoliceStation);
Game_Flag_Reset(kFlagSpinnerAtRC01);
Game_Flag_Set(kFlagSpinnerAtPS01);
Set_Enter(kSetPS01, kScenePS01);
@@ -471,7 +472,7 @@ bool SceneScriptRC01::ClickedOnExit(int exitId) {
}
break;
case kSpinnerDestinationMcCoysApartment:
- Game_Flag_Set(kFlagMcCoyAtMAxx);
+ Game_Flag_Set(kFlagMcCoyInMcCoyApartment);
Game_Flag_Reset(kFlagSpinnerAtRC01);
Game_Flag_Set(kFlagSpinnerAtMA01);
Set_Enter(kSetMA01, kSceneMA01);
@@ -482,7 +483,7 @@ bool SceneScriptRC01::ClickedOnExit(int exitId) {
}
break;
case kSpinnerDestinationChinatown:
- Game_Flag_Set(kFlagMcCoyAtCTxx);
+ Game_Flag_Set(kFlagMcCoyInChinaTown);
Game_Flag_Reset(kFlagSpinnerAtRC01);
Game_Flag_Set(kFlagSpinnerAtCT01);
Set_Enter(kSetCT01_CT12, kSceneCT01);
@@ -493,7 +494,7 @@ bool SceneScriptRC01::ClickedOnExit(int exitId) {
}
break;
case kSpinnerDestinationTyrellBuilding:
- Game_Flag_Set(kFlagMcCoyAtTBxx);
+ Game_Flag_Set(kFlagMcCoyInTyrellBuilding);
Game_Flag_Reset(kFlagSpinnerAtRC01);
Game_Flag_Set(kFlagSpinnerAtTB02);
Set_Enter(kSetTB02_TB03, kSceneTB02);
@@ -504,7 +505,7 @@ bool SceneScriptRC01::ClickedOnExit(int exitId) {
}
break;
case kSpinnerDestinationAnimoidRow:
- Game_Flag_Set(kFlagMcCoyAtARxx);
+ Game_Flag_Set(kFlagMcCoyInAnimoidRow);
Game_Flag_Reset(kFlagSpinnerAtRC01);
Game_Flag_Set(kFlagSpinnerAtAR01);
Set_Enter(kSetAR01_AR02, kSceneAR01);
@@ -515,7 +516,7 @@ bool SceneScriptRC01::ClickedOnExit(int exitId) {
}
break;
case kSpinnerDestinationDNARow:
- Game_Flag_Set(kFlagMcCoyAtDRxx);
+ Game_Flag_Set(kFlagMcCoyInDNARow);
Game_Flag_Reset(kFlagSpinnerAtRC01);
Game_Flag_Set(kFlagSpinnerAtDR01);
Set_Enter(kSetDR01_DR02_DR04, kSceneDR01);
@@ -526,7 +527,7 @@ bool SceneScriptRC01::ClickedOnExit(int exitId) {
}
break;
case kSpinnerDestinationBradburyBuilding:
- Game_Flag_Set(kFlagMcCoyAtBBxx);
+ Game_Flag_Set(kFlagMcCoyInBradburyBuilding);
Game_Flag_Reset(kFlagSpinnerAtRC01);
Game_Flag_Set(kFlagSpinnerAtBB01);
Set_Enter(kSetBB01, kSceneBB01);
@@ -537,7 +538,7 @@ bool SceneScriptRC01::ClickedOnExit(int exitId) {
}
break;
case kSpinnerDestinationNightclubRow:
- Game_Flag_Set(kFlagMcCoyAtNRxx);
+ Game_Flag_Set(kFlagMcCoyInNightclubRow);
Game_Flag_Reset(kFlagSpinnerAtRC01);
Game_Flag_Set(kFlagSpinnerAtNR01);
Set_Enter(kSetNR01, kSceneNR01);
@@ -548,7 +549,7 @@ bool SceneScriptRC01::ClickedOnExit(int exitId) {
}
break;
case kSpinnerDestinationHysteriaHall:
- Game_Flag_Set(kFlagMcCoyAtHFxx);
+ Game_Flag_Set(kFlagMcCoyInHysteriaHall);
Game_Flag_Reset(kFlagSpinnerAtRC01);
Game_Flag_Set(kFlagSpinnerAtHF01);
Set_Enter(kSetHF01, kSceneHF01);
@@ -565,6 +566,7 @@ bool SceneScriptRC01::ClickedOnExit(int exitId) {
}
return true;
}
+
if (exitId == kRC01ExitRC03) {
if (!Loop_Actor_Walk_To_XYZ(kActorMcCoy, -471.98f, -0.3f, 258.15f, 4, true, false, 0)) {
Game_Flag_Set(kFlagRC01toRC03);
@@ -645,11 +647,13 @@ void SceneScriptRC01::PlayerWalkedIn() {
Player_Gains_Control();
Game_Flag_Reset(kFlagRC02toRC01);
- if (Game_Flag_Query(kFlagRC02Entered) && !Game_Flag_Query(kFlagRC02FirstLeave)) {
+ if ( Game_Flag_Query(kFlagRC02Entered)
+ && !Game_Flag_Query(kFlagRC02Left)
+ ) {
Actor_Voice_Over(1910, kActorVoiceOver);
Actor_Voice_Over(1920, kActorVoiceOver);
Actor_Voice_Over(1930, kActorVoiceOver);
- Game_Flag_Set(kFlagRC02FirstLeave);
+ Game_Flag_Set(kFlagRC02Left);
}
//return true;
}
diff --git a/engines/bladerunner/script/scene/rc02.cpp b/engines/bladerunner/script/scene/rc02.cpp
index a5ad0ab..a84fe99 100644
--- a/engines/bladerunner/script/scene/rc02.cpp
+++ b/engines/bladerunner/script/scene/rc02.cpp
@@ -84,7 +84,7 @@ void SceneScriptRC02::SceneLoaded() {
if (Actor_Clue_Query(kActorMcCoy, kClueRuncitersVideo) || Global_Variable_Query(kVariableChapter) > 1) {
Unclickable_Object("SCRTY CA03");
}
- if (!Game_Flag_Query(kFlagShellCasingsTaken)) {
+ if (!Game_Flag_Query(kFlagRC02ShellCasingsTaken)) {
Item_Add_To_World(kItemShellCasingA, 966, kSetRC02_RC51, -52.88f, -1238.89f, 108467.74f, 256, 6, 6, false, true, false, true);
Item_Add_To_World(kItemShellCasingB, 966, kSetRC02_RC51, -37.16f, -1238.89f, 108456.59f, 512, 6, 6, false, true, false, true);
Item_Add_To_World(kItemShellCasingC, 966, kSetRC02_RC51, -62.86f, -1238.89f, 108437.52f, 625, 6, 6, false, true, false, true);
@@ -259,7 +259,7 @@ bool SceneScriptRC02::ClickedOnActor(int actorId) {
AI_Movement_Track_Pause(kActorRunciter);
Loop_Actor_Walk_To_Actor(kActorMcCoy, kActorRunciter, 48, true, false);
Actor_Face_Actor(kActorMcCoy, kActorRunciter, true);
- if (!Game_Flag_Query(kFlagRunciterInterviewA)) {
+ if (!Game_Flag_Query(kFlagRC02RunciterInterview)) {
Actor_Says(kActorMcCoy, 4560, 13);
Actor_Face_Actor(kActorRunciter, kActorMcCoy, true);
Actor_Says(kActorRunciter, 40, 16);
@@ -268,7 +268,7 @@ bool SceneScriptRC02::ClickedOnActor(int actorId) {
Actor_Says(kActorRunciter, 60, 14);
Actor_Says(kActorMcCoy, 4570, 18);
Actor_Says(kActorRunciter, 70, 13);
- Game_Flag_Set(kFlagRunciterInterviewA);
+ Game_Flag_Set(kFlagRC02RunciterInterview);
Actor_Clue_Acquire(kActorMcCoy, kClueRunciterInterviewA, true, kActorRunciter);
AI_Movement_Track_Unpause(kActorRunciter);
return true;
@@ -321,7 +321,7 @@ bool SceneScriptRC02::ClickedOnItem(int itemId, bool a2) {
if (!Loop_Actor_Walk_To_Item(kActorMcCoy, kItemShellCasingA, 24, true, false)) {
Actor_Face_Item(kActorMcCoy, kItemShellCasingA, true);
Actor_Clue_Acquire(kActorMcCoy, kClueShellCasings, true, -1);
- Game_Flag_Set(kFlagShellCasingsTaken);
+ Game_Flag_Set(kFlagRC02ShellCasingsTaken);
Item_Remove_From_World(kItemShellCasingA);
Item_Remove_From_World(kItemShellCasingB);
Item_Remove_From_World(kItemShellCasingC);
@@ -384,7 +384,7 @@ void SceneScriptRC02::PlayerWalkedIn() {
if (Actor_Query_Which_Set_In(kActorRunciter) == kSetRC02_RC51
&& Actor_Query_Goal_Number(kActorRunciter) < kGoalRunciterAtShop
) {
- Actor_Set_Goal_Number(kActorRunciter, kGoalRunciterWalkAround);
+ Actor_Set_Goal_Number(kActorRunciter, kGoalRunciterWalkAroundRC02);
}
if ( Actor_Query_Goal_Number(kActorRunciter) == kGoalRunciterAtShop
&& !Game_Flag_Query(704)
diff --git a/engines/bladerunner/script/scene/rc03.cpp b/engines/bladerunner/script/scene/rc03.cpp
index 8668be8..28fbe7c 100644
--- a/engines/bladerunner/script/scene/rc03.cpp
+++ b/engines/bladerunner/script/scene/rc03.cpp
@@ -147,7 +147,7 @@ bool SceneScriptRC03::ClickedOnExit(int exitId) {
}
Game_Flag_Set(kFlagRC03toRC01);
Set_Enter(kSetRC01, kSceneRC01);
- Actor_Set_Goal_Number(kActorDektora, 100);
+ Actor_Set_Goal_Number(kActorDektora, kGoalDektoraStartWalkingAround);
}
return true;
}
@@ -157,8 +157,8 @@ bool SceneScriptRC03::ClickedOnExit(int exitId) {
Game_Flag_Set(kFlagRC04Locked);
}
Game_Flag_Set(kFlagRC03toAR02);
- Game_Flag_Reset(kFlagMcCoyAtRCxx);
- Game_Flag_Set(kFlagMcCoyAtARxx);
+ Game_Flag_Reset(kFlagMcCoyInRunciters);
+ Game_Flag_Set(kFlagMcCoyInAnimoidRow);
Set_Enter(kSetAR01_AR02, kSceneAR02);
}
return true;
@@ -166,26 +166,26 @@ bool SceneScriptRC03::ClickedOnExit(int exitId) {
if (exitId == 2) {
if (!Loop_Actor_Walk_To_XYZ(kActorMcCoy, 147.51f, -4.0f, 166.48f, 0, true, false, 0)) {
Game_Flag_Set(kFlagRC03toUG01);
- Game_Flag_Reset(kFlagMcCoyAtRCxx);
- Game_Flag_Set(kFlagMcCoyAtUGxx);
+ Game_Flag_Reset(kFlagMcCoyInRunciters);
+ Game_Flag_Set(kFlagMcCoyInUnderground);
if (Game_Flag_Query(kFlagRC04McCoyShotBob)) {
Game_Flag_Set(kFlagRC04Locked);
}
Set_Enter(kSetUG01, kSceneUG01);
- Actor_Set_Goal_Number(kActorDektora, 100);
+ Actor_Set_Goal_Number(kActorDektora, kGoalDektoraStartWalkingAround);
}
return true;
}
if (exitId == 3) {
if (!Loop_Actor_Walk_To_XYZ(kActorMcCoy, -487.0f, 1.0f, 116.0f, 0, true, false, 0)) {
Game_Flag_Set(kFlagRC03toHC04);
- Game_Flag_Reset(kFlagMcCoyAtRCxx);
- Game_Flag_Set(kFlagMcCoyAtHCxx);
+ Game_Flag_Reset(kFlagMcCoyInRunciters);
+ Game_Flag_Set(kFlagMcCoyInHawkersCircle);
if (Game_Flag_Query(kFlagRC04McCoyShotBob)) {
Game_Flag_Set(kFlagRC04Locked);
}
Set_Enter(kSetHC01_HC02_HC03_HC04, kSceneHC04);
- Actor_Set_Goal_Number(kActorDektora, 100);
+ Actor_Set_Goal_Number(kActorDektora, kGoalDektoraStartWalkingAround);
}
return true;
}
@@ -297,7 +297,7 @@ void SceneScriptRC03::PlayerWalkedIn() {
if (Global_Variable_Query(kVariableChapter) == 1
|| Global_Variable_Query(kVariableChapter) == 2
) {
- Actor_Set_Goal_Number(kActorDektora, 103);
+ Actor_Set_Goal_Number(kActorDektora, kGoalDektoraStopWalkingAround);
}
}
diff --git a/engines/bladerunner/script/scene/rc51.cpp b/engines/bladerunner/script/scene/rc51.cpp
index 47b243d..f8e30f0 100644
--- a/engines/bladerunner/script/scene/rc51.cpp
+++ b/engines/bladerunner/script/scene/rc51.cpp
@@ -47,13 +47,13 @@ void SceneScriptRC51::SceneLoaded() {
Unclickable_Object("GRL_DSK");
Unclickable_Object("GRL_DSKLEG");
Unclickable_Object("CURTAIN");
- if (!Game_Flag_Query(kFlagChopstickWrapperTaken)) {
+ if (!Game_Flag_Query(kFlagRC51ChopstickWrapperTaken)) {
Item_Add_To_World(kItemChopstickWrapper, 937, kSetRC02_RC51, 47.56f, -1238.89f, 108048.61f, 0, 6, 18, false, true, false, true);
}
- if (!Game_Flag_Query(kFlagCandyTaken)) {
+ if (!Game_Flag_Query(kFlagRC51CandyTaken)) {
Item_Add_To_World(kItemCandy, 933, kSetRC02_RC51, 67.28f, -1193.38f, 108011.27f, 0, 6, 6, false, true, false, true);
}
- if (!Game_Flag_Query(kFlagToyDogTaken)) {
+ if (!Game_Flag_Query(kFlagRC51ToyDogTaken)) {
Item_Add_To_World(kItemToyDog, 971, kSetRC02_RC51, -69.65f, -1238.89f, 107995.24f, 256, 18, 18, false, true, false, true);
}
}
@@ -83,7 +83,7 @@ bool SceneScriptRC51::ClickedOnItem(int itemId, bool a2) {
Item_Remove_From_World(kItemChopstickWrapper);
Item_Pickup_Spin_Effect(937, 437, 407);
Actor_Voice_Over(2010, kActorVoiceOver);
- Game_Flag_Set(kFlagChopstickWrapperTaken);
+ Game_Flag_Set(kFlagRC51ChopstickWrapperTaken);
return true;
}
}
@@ -96,7 +96,7 @@ bool SceneScriptRC51::ClickedOnItem(int itemId, bool a2) {
Item_Pickup_Spin_Effect(933, 445, 230);
Actor_Says(kActorMcCoy, 8735, 3);
Actor_Says(kActorMcCoy, 8529, 3);
- Game_Flag_Set(kFlagCandyTaken);
+ Game_Flag_Set(kFlagRC51CandyTaken);
return true;
}
}
@@ -109,7 +109,7 @@ bool SceneScriptRC51::ClickedOnItem(int itemId, bool a2) {
Item_Pickup_Spin_Effect(971, 55, 376);
Actor_Says(kActorMcCoy, 8525, 3);
Actor_Says(kActorMcCoy, 8740, 3);
- Game_Flag_Set(kFlagToyDogTaken);
+ Game_Flag_Set(kFlagRC51ToyDogTaken);
return true;
}
}
diff --git a/engines/bladerunner/script/scene/tb02.cpp b/engines/bladerunner/script/scene/tb02.cpp
index ac6f613..d82ef22 100644
--- a/engines/bladerunner/script/scene/tb02.cpp
+++ b/engines/bladerunner/script/scene/tb02.cpp
@@ -194,71 +194,71 @@ bool SceneScriptTB02::ClickedOnExit(int exitId) {
if (Actor_Query_Goal_Number(kActorTyrellGuard) == 300) {
Actor_Set_Goal_Number(kActorTyrellGuard, 301);
} else {
- Game_Flag_Reset(kFlagMcCoyAtCTxx);
- Game_Flag_Reset(kFlagMcCoyAtRCxx);
- Game_Flag_Reset(kFlagMcCoyAtMAxx);
- Game_Flag_Reset(kFlagMcCoyAtPSxx);
- Game_Flag_Reset(kFlagMcCoyAtBBxx);
- Game_Flag_Reset(kFlagMcCoyAtHFxx);
- Game_Flag_Reset(kFlagMcCoyAtTBxx);
+ Game_Flag_Reset(kFlagMcCoyInChinaTown);
+ Game_Flag_Reset(kFlagMcCoyInRunciters);
+ Game_Flag_Reset(kFlagMcCoyInMcCoyApartment);
+ Game_Flag_Reset(kFlagMcCoyInPoliceStation);
+ Game_Flag_Reset(kFlagMcCoyInBradburyBuilding);
+ Game_Flag_Reset(kFlagMcCoyInHysteriaHall);
+ Game_Flag_Reset(kFlagMcCoyInTyrellBuilding);
Game_Flag_Reset(kFlagTB02ElevatorToTB05);
switch (Spinner_Interface_Choose_Dest(-1, false)) {
case kSpinnerDestinationPoliceStation:
- Game_Flag_Set(kFlagMcCoyAtPSxx);
+ Game_Flag_Set(kFlagMcCoyInPoliceStation);
Game_Flag_Reset(kFlagSpinnerAtTB02);
Game_Flag_Set(kFlagSpinnerAtPS01);
Set_Enter(kSetPS01, kScenePS01);
break;
case kSpinnerDestinationMcCoysApartment:
- Game_Flag_Set(kFlagMcCoyAtMAxx);
+ Game_Flag_Set(kFlagMcCoyInMcCoyApartment);
Game_Flag_Reset(kFlagSpinnerAtTB02);
Game_Flag_Set(kFlagSpinnerAtMA01);
Set_Enter(kSetMA01, kSceneMA01);
break;
case kSpinnerDestinationRuncitersAnimals:
- Game_Flag_Set(kFlagMcCoyAtRCxx);
+ Game_Flag_Set(kFlagMcCoyInRunciters);
Game_Flag_Reset(kFlagSpinnerAtTB02);
Game_Flag_Set(kFlagSpinnerAtRC01);
Set_Enter(kSetRC01, kSceneRC01);
break;
case kSpinnerDestinationChinatown:
- Game_Flag_Set(kFlagMcCoyAtCTxx);
+ Game_Flag_Set(kFlagMcCoyInChinaTown);
Game_Flag_Reset(kFlagSpinnerAtTB02);
Game_Flag_Set(kFlagSpinnerAtCT01);
Set_Enter(kSetCT01_CT12, kSceneCT01);
break;
case kSpinnerDestinationAnimoidRow:
- Game_Flag_Set(kFlagMcCoyAtARxx);
+ Game_Flag_Set(kFlagMcCoyInAnimoidRow);
Game_Flag_Reset(kFlagSpinnerAtTB02);
Game_Flag_Set(kFlagSpinnerAtAR01);
Set_Enter(kSetAR01_AR02, kSceneAR01);
break;
case kSpinnerDestinationDNARow:
- Game_Flag_Set(kFlagMcCoyAtDRxx);
+ Game_Flag_Set(kFlagMcCoyInDNARow);
Game_Flag_Reset(kFlagSpinnerAtTB02);
Game_Flag_Set(kFlagSpinnerAtDR01);
Set_Enter(kSetDR01_DR02_DR04, kSceneDR01);
break;
case kSpinnerDestinationBradburyBuilding:
- Game_Flag_Set(kFlagMcCoyAtBBxx);
+ Game_Flag_Set(kFlagMcCoyInBradburyBuilding);
Game_Flag_Reset(kFlagSpinnerAtTB02);
Game_Flag_Set(kFlagSpinnerAtBB01);
Set_Enter(kSetBB01, kSceneBB01);
break;
case kSpinnerDestinationNightclubRow:
- Game_Flag_Set(kFlagMcCoyAtNRxx);
+ Game_Flag_Set(kFlagMcCoyInNightclubRow);
Game_Flag_Reset(kFlagSpinnerAtTB02);
Game_Flag_Set(kFlagSpinnerAtNR01);
Set_Enter(kSetNR01, kSceneNR01);
break;
case kSpinnerDestinationHysteriaHall:
- Game_Flag_Set(kFlagMcCoyAtHFxx);
+ Game_Flag_Set(kFlagMcCoyInHysteriaHall);
Game_Flag_Reset(kFlagSpinnerAtTB02);
Game_Flag_Set(kFlagSpinnerAtHF01);
Set_Enter(kSetHF01, kSceneHF01);
break;
default:
- Game_Flag_Set(kFlagMcCoyAtTBxx);
+ Game_Flag_Set(kFlagMcCoyInTyrellBuilding);
break;
}
}
diff --git a/engines/bladerunner/script/scene/tb07.cpp b/engines/bladerunner/script/scene/tb07.cpp
index 145aa45..cc14203 100644
--- a/engines/bladerunner/script/scene/tb07.cpp
+++ b/engines/bladerunner/script/scene/tb07.cpp
@@ -24,9 +24,17 @@
namespace BladeRunner {
+enum kTB07Loops {
+ kTB07LoopMain = 0,
+ kTB07LoopShadeDrop = 2,
+ kTB07LoopMainShadeDown = 3
+};
+
void SceneScriptTB07::InitializeScene() {
Setup_Scene_Information(68.0f, 12.0f, 288.0f, 0);
+
Scene_Exit_Add_2D_Exit(0, 383, 445, 639, 479, 2);
+
Ambient_Sounds_Add_Looping_Sound(109, 20, 0, 1);
Ambient_Sounds_Add_Sound(363, 2, 55, 14, 14, -100, 100, -101, -101, 0, 0);
Ambient_Sounds_Add_Sound(364, 2, 55, 14, 14, -100, 100, -101, -101, 0, 0);
@@ -37,13 +45,16 @@ void SceneScriptTB07::InitializeScene() {
Ambient_Sounds_Add_Sound(214, 1, 20, 20, 25, -100, 100, -101, -101, 0, 0);
Ambient_Sounds_Add_Sound(215, 1, 15, 20, 25, -100, 100, -101, -101, 0, 0);
Ambient_Sounds_Add_Sound(216, 1, 15, 20, 25, -100, 100, -101, -101, 0, 0);
- if (Global_Variable_Query(kVariableChapter) == 4 && !Actor_Clue_Query(kActorMcCoy, kClueDNATyrell)) {
- Item_Add_To_World(83, 941, 18, 9.7f, 48.7f, -174.22f, 0, 12, 12, false, true, false, true);
+
+ if ( Global_Variable_Query(kVariableChapter) == 4
+ && !Actor_Clue_Query(kActorMcCoy, kClueDNATyrell)
+ ) {
+ Item_Add_To_World(83, 941, kSetTB07, 9.7f, 48.7f, -174.22f, 0, 12, 12, false, true, false, true);
}
- if (Game_Flag_Query(661)) {
- Scene_Loop_Set_Default(3);
+ if (Game_Flag_Query(kFlagTB07ShadeDown)) {
+ Scene_Loop_Set_Default(kTB07LoopMainShadeDown);
} else {
- Scene_Loop_Set_Default(0);
+ Scene_Loop_Set_Default(kTB07LoopMain);
}
}
@@ -85,71 +96,71 @@ bool SceneScriptTB07::ClickedOnExit(int exitId) {
Game_Flag_Set(kFlagTB07toTB02);
Set_Enter(kSetTB02_TB03, kSceneTB02);
} else {
- Game_Flag_Reset(kFlagMcCoyAtCTxx);
- Game_Flag_Reset(kFlagMcCoyAtRCxx);
- Game_Flag_Reset(kFlagMcCoyAtMAxx);
- Game_Flag_Reset(kFlagMcCoyAtPSxx);
- Game_Flag_Reset(kFlagMcCoyAtBBxx);
- Game_Flag_Reset(kFlagMcCoyAtHFxx);
- Game_Flag_Reset(kFlagMcCoyAtTBxx);
+ Game_Flag_Reset(kFlagMcCoyInChinaTown);
+ Game_Flag_Reset(kFlagMcCoyInRunciters);
+ Game_Flag_Reset(kFlagMcCoyInMcCoyApartment);
+ Game_Flag_Reset(kFlagMcCoyInPoliceStation);
+ Game_Flag_Reset(kFlagMcCoyInBradburyBuilding);
+ Game_Flag_Reset(kFlagMcCoyInHysteriaHall);
+ Game_Flag_Reset(kFlagMcCoyInTyrellBuilding);
Game_Flag_Reset(kFlagTB02ElevatorToTB05);
switch (Spinner_Interface_Choose_Dest(-1, false)) {
case kSpinnerDestinationPoliceStation:
- Game_Flag_Set(kFlagMcCoyAtPSxx);
+ Game_Flag_Set(kFlagMcCoyInPoliceStation);
Game_Flag_Reset(kFlagSpinnerAtTB02);
Game_Flag_Set(kFlagSpinnerAtPS01);
Set_Enter(kSetPS01, kScenePS01);
break;
case kSpinnerDestinationMcCoysApartment:
- Game_Flag_Set(kFlagMcCoyAtMAxx);
+ Game_Flag_Set(kFlagMcCoyInMcCoyApartment);
Game_Flag_Reset(kFlagSpinnerAtTB02);
Game_Flag_Set(kFlagSpinnerAtMA01);
Set_Enter(kSetMA01, kSceneMA01);
break;
case kSpinnerDestinationRuncitersAnimals:
- Game_Flag_Set(kFlagMcCoyAtRCxx);
+ Game_Flag_Set(kFlagMcCoyInRunciters);
Game_Flag_Reset(kFlagSpinnerAtTB02);
Game_Flag_Set(kFlagSpinnerAtRC01);
Set_Enter(kSetRC01, kSceneRC01);
break;
case kSpinnerDestinationChinatown:
- Game_Flag_Set(kFlagMcCoyAtCTxx);
+ Game_Flag_Set(kFlagMcCoyInChinaTown);
Game_Flag_Reset(kFlagSpinnerAtTB02);
Game_Flag_Set(kFlagSpinnerAtCT01);
Set_Enter(kSetCT01_CT12, kSceneCT01);
break;
case kSpinnerDestinationAnimoidRow:
- Game_Flag_Set(kFlagMcCoyAtARxx);
+ Game_Flag_Set(kFlagMcCoyInAnimoidRow);
Game_Flag_Reset(kFlagSpinnerAtTB02);
Game_Flag_Set(kFlagSpinnerAtAR01);
Set_Enter(kSetAR01_AR02, kSceneAR01);
break;
case kSpinnerDestinationDNARow:
- Game_Flag_Set(kFlagMcCoyAtDRxx);
+ Game_Flag_Set(kFlagMcCoyInDNARow);
Game_Flag_Reset(kFlagSpinnerAtTB02);
Game_Flag_Set(kFlagSpinnerAtDR01);
Set_Enter(kSetDR01_DR02_DR04, kSceneDR01);
break;
case kSpinnerDestinationBradburyBuilding:
- Game_Flag_Set(kFlagMcCoyAtBBxx);
+ Game_Flag_Set(kFlagMcCoyInBradburyBuilding);
Game_Flag_Reset(kFlagSpinnerAtTB02);
Game_Flag_Set(kFlagSpinnerAtBB01);
Set_Enter(kSetBB01, kSceneBB01);
break;
case kSpinnerDestinationNightclubRow:
- Game_Flag_Set(kFlagMcCoyAtNRxx);
+ Game_Flag_Set(kFlagMcCoyInNightclubRow);
Game_Flag_Reset(kFlagSpinnerAtTB02);
Game_Flag_Set(kFlagSpinnerAtNR01);
Set_Enter(kSetNR01, kSceneNR01);
break;
case kSpinnerDestinationHysteriaHall:
- Game_Flag_Set(kFlagMcCoyAtHFxx);
+ Game_Flag_Set(kFlagMcCoyInHysteriaHall);
Game_Flag_Reset(kFlagSpinnerAtTB02);
Game_Flag_Set(kFlagSpinnerAtHF01);
Set_Enter(kSetHF01, kSceneHF01);
break;
default:
- Game_Flag_Set(kFlagMcCoyAtTBxx);
+ Game_Flag_Set(kFlagMcCoyInTyrellBuilding);
Loop_Actor_Walk_To_XYZ(kActorMcCoy, 44.0f, 12.0f, 176.0f, 0, false, false, 0);
break;
}
@@ -175,11 +186,15 @@ void SceneScriptTB07::ActorChangedGoal(int actorId, int newGoal, int oldGoal, bo
}
void SceneScriptTB07::PlayerWalkedIn() {
- int v0 = Global_Variable_Query(kVariableChapter);
- Loop_Actor_Walk_To_XYZ(kActorMcCoy, 44.0f, 12.0f, 176.0f, 0, 0, false, 0);
- if ((v0 == 2 || v0 == 3) && !Game_Flag_Query(612)) {
+ int chapter = Global_Variable_Query(kVariableChapter);
+ Loop_Actor_Walk_To_XYZ(kActorMcCoy, 44.0f, 12.0f, 176.0f, 0, false, false, 0);
+ if ((chapter == 2
+ || chapter == 3
+ )
+ && !Game_Flag_Query(kFlagTB07RachaelTalk)
+ ) {
Player_Set_Combat_Mode(false);
- sub_401B0C();
+ McCoyTalkWithRachaelAndTyrell();
}
}
@@ -189,17 +204,17 @@ void SceneScriptTB07::PlayerWalkedOut() {
void SceneScriptTB07::DialogueQueueFlushed(int a1) {
}
-void SceneScriptTB07::sub_401B0C() {
- Game_Flag_Set(612);
+void SceneScriptTB07::McCoyTalkWithRachaelAndTyrell() {
+ Game_Flag_Set(kFlagTB07RachaelTalk);
Delay(1500);
- Loop_Actor_Walk_To_XYZ(kActorMcCoy, 44.98f, 12.0f, 49.79f, 0, 0, false, 0);
+ Loop_Actor_Walk_To_XYZ(kActorMcCoy, 44.98f, 12.0f, 49.79f, 0, false, false, 0);
Actor_Face_Heading(kActorMcCoy, 178, true);
Delay(3000);
Actor_Put_In_Set(kActorRachael, kSetTB07);
Actor_Set_At_XYZ(kActorRachael, -260.15f, 12.0f, -19.16f, 256);
Actor_Change_Animation_Mode(kActorRachael, 0);
Outtake_Play(kOuttakeRachel, true, -1);
- Loop_Actor_Walk_To_XYZ(kActorRachael, -146.15f, 12.0f, -5.84f, 0, 0, false, 0);
+ Loop_Actor_Walk_To_XYZ(kActorRachael, -146.15f, 12.0f, -5.84f, 0, false, false, 0);
Actor_Face_Actor(kActorRachael, kActorMcCoy, true);
Actor_Says(kActorRachael, 480, 14);
Actor_Face_Actor(kActorMcCoy, kActorRachael, true);
@@ -209,7 +224,7 @@ void SceneScriptTB07::sub_401B0C() {
Actor_Says(kActorMcCoy, 5320, 15);
Actor_Says_With_Pause(kActorMcCoy, 5325, 1.0f, 19);
Actor_Start_Speech_Sample(kActorRachael, 500);
- Loop_Actor_Walk_To_XYZ(kActorRachael, -60.15f, 12.0f, 60.84f, 0, 0, false, 0);
+ Loop_Actor_Walk_To_XYZ(kActorRachael, -60.15f, 12.0f, 60.84f, 0, false, false, 0);
Actor_Face_Actor(kActorRachael, kActorMcCoy, true);
Actor_Face_Actor(kActorMcCoy, kActorRachael, true);
Actor_Says(kActorMcCoy, 5330, 14);
@@ -218,7 +233,7 @@ void SceneScriptTB07::sub_401B0C() {
Actor_Says(kActorRachael, 520, 17);
Actor_Says(kActorMcCoy, 5340, 3);
Actor_Start_Speech_Sample(kActorRachael, 530);
- Loop_Actor_Walk_To_XYZ(kActorRachael, -4.15f, 12.0f, 54.73f, 0, 0, false, 0);
+ Loop_Actor_Walk_To_XYZ(kActorRachael, -4.15f, 12.0f, 54.73f, 0, false, false, 0);
Actor_Says(kActorRachael, 540, 16);
Actor_Says(kActorMcCoy, 5345, 18);
Actor_Says(kActorRachael, 550, 13);
@@ -231,7 +246,7 @@ void SceneScriptTB07::sub_401B0C() {
Actor_Says(kActorMcCoy, 5365, 13);
Actor_Says_With_Pause(kActorRachael, 600, 1.0f, 12);
Actor_Says(kActorMcCoy, 5370, 3);
- Loop_Actor_Walk_To_XYZ(kActorRachael, -24.15f, 12.0f, -10.84f, 0, 0, false, 0);
+ Loop_Actor_Walk_To_XYZ(kActorRachael, -24.15f, 12.0f, -10.84f, 0, false, false, 0);
Actor_Says(kActorRachael, 610, 13);
Actor_Face_Actor(kActorMcCoy, kActorRachael, true);
Actor_Says(kActorMcCoy, 5375, 18);
@@ -253,10 +268,10 @@ void SceneScriptTB07::sub_401B0C() {
Actor_Put_In_Set(kActorTyrell, kSetTB07);
Actor_Set_At_XYZ(kActorTyrell, 68.0f, 12.0f, 288.0f, 0);
Actor_Change_Animation_Mode(kActorTyrell, 0);
- Scene_Loop_Set_Default(3);
- Scene_Loop_Start_Special(kSceneLoopModeOnce, 2, false);
+ Scene_Loop_Set_Default(kTB07LoopMainShadeDown);
+ Scene_Loop_Start_Special(kSceneLoopModeOnce, kTB07LoopShadeDrop, false);
Actor_Start_Speech_Sample(kActorTyrell, 0);
- Loop_Actor_Walk_To_XYZ(kActorTyrell, 44.0f, 12.0f, 176.0f, 0, 0, false, 0);
+ Loop_Actor_Walk_To_XYZ(kActorTyrell, 44.0f, 12.0f, 176.0f, 0, false, false, 0);
Actor_Face_Actor(kActorTyrell, kActorMcCoy, true);
Actor_Face_Actor(kActorMcCoy, kActorTyrell, true);
Actor_Face_Actor(kActorRachael, kActorTyrell, true);
@@ -267,7 +282,7 @@ void SceneScriptTB07::sub_401B0C() {
Actor_Set_Goal_Number(kActorRachael, 200);
Actor_Says(kActorTyrell, 40, 15);
Actor_Start_Speech_Sample(kActorTyrell, 50);
- Loop_Actor_Walk_To_XYZ(kActorTyrell, -10.0f, 12.0f, 100.0f, 0, 0, false, 0);
+ Loop_Actor_Walk_To_XYZ(kActorTyrell, -10.0f, 12.0f, 100.0f, 0, false, false, 0);
Actor_Face_Actor(kActorTyrell, kActorMcCoy, true);
Actor_Face_Actor(kActorMcCoy, kActorTyrell, true);
Actor_Says(kActorMcCoy, 5430, 17);
@@ -284,7 +299,7 @@ void SceneScriptTB07::sub_401B0C() {
Actor_Says(kActorTyrell, 100, 14);
Actor_Clue_Acquire(kActorMcCoy, kClueRachaelInterview, false, kActorRachael);
Actor_Clue_Acquire(kActorMcCoy, kClueTyrellInterview, false, kActorTyrell);
- Loop_Actor_Walk_To_XYZ(kActorTyrell, -260.15f, 12.0f, -19.16f, 0, 0, false, 0);
+ Loop_Actor_Walk_To_XYZ(kActorTyrell, -260.15f, 12.0f, -19.16f, 0, false, false, 0);
}
} // End of namespace BladeRunner
diff --git a/engines/bladerunner/script/scene/ug01.cpp b/engines/bladerunner/script/scene/ug01.cpp
index 98e79a5..f1c11fe 100644
--- a/engines/bladerunner/script/scene/ug01.cpp
+++ b/engines/bladerunner/script/scene/ug01.cpp
@@ -115,8 +115,8 @@ bool SceneScriptUG01::ClickedOnExit(int exitId) {
Actor_Face_Heading(kActorMcCoy, 768, false);
Loop_Actor_Travel_Ladder(kActorMcCoy, 12, true, 0);
Game_Flag_Set(kFlagUG01toRC03);
- Game_Flag_Reset(kFlagMcCoyAtUGxx);
- Game_Flag_Set(kFlagMcCoyAtRCxx);
+ Game_Flag_Reset(kFlagMcCoyInUnderground);
+ Game_Flag_Set(kFlagMcCoyInRunciters);
Set_Enter(kSetRC03, kSceneRC03);
}
return true;
diff --git a/engines/bladerunner/script/scene/ug02.cpp b/engines/bladerunner/script/scene/ug02.cpp
index ccea89a4..5ac3fad 100644
--- a/engines/bladerunner/script/scene/ug02.cpp
+++ b/engines/bladerunner/script/scene/ug02.cpp
@@ -68,7 +68,7 @@ void SceneScriptUG02::SceneLoaded() {
Footstep_Sounds_Set(0, 0);
Footstep_Sounds_Set(8, 2);
- if (!Game_Flag_Query(kFlagRagiationGooglesTaken)
+ if (!Game_Flag_Query(kFlagUG02RagiationGooglesTaken)
&& Game_Flag_Query(kFlagIzoIsReplicant)
) {
Item_Add_To_World(kItemRadiationGoogles, 963, kSetUG02, -300.37f, 120.16f, -81.31f, 0, 8, 8, false, true, false, true);
@@ -153,7 +153,7 @@ bool SceneScriptUG02::ClickedOnItem(int itemId, bool a2) {
if (itemId == kItemRadiationGoogles) {
Actor_Face_Item(kActorMcCoy, kItemRadiationGoogles, true);
Actor_Clue_Acquire(kActorMcCoy, kClueRadiationGoggles, true, -1);
- Game_Flag_Set(kFlagRagiationGooglesTaken);
+ Game_Flag_Set(kFlagUG02RagiationGooglesTaken);
Item_Remove_From_World(kItemRadiationGoogles);
Item_Pickup_Spin_Effect(963, 426, 316);
return true;
@@ -192,12 +192,12 @@ bool SceneScriptUG02::ClickedOnExit(int exitId) {
Actor_Face_Heading(kActorMcCoy, 14, false);
Loop_Actor_Travel_Ladder(kActorMcCoy, 9, true, 0);
Game_Flag_Set(kFlagUG02toHC03);
- Game_Flag_Reset(kFlagMcCoyAtUGxx);
- Game_Flag_Set(kFlagMcCoyAtHCxx);
+ Game_Flag_Reset(kFlagMcCoyInUnderground);
+ Game_Flag_Set(kFlagMcCoyInHawkersCircle);
if (!Game_Flag_Query(kFlagHC03CageOpen)) {
Game_Flag_Set(kFlagHC03TrapDoorOpen);
Game_Flag_Set(kFlagHC03CageOpen);
- Item_Remove_From_World(kItemHC03Lock);
+ Item_Remove_From_World(kItemGreenPawnLock);
}
Set_Enter(kSetHC01_HC02_HC03_HC04, kSceneHC03);
return true;
diff --git a/engines/bladerunner/script/scene/ug03.cpp b/engines/bladerunner/script/scene/ug03.cpp
index c9c88e7..a11e768 100644
--- a/engines/bladerunner/script/scene/ug03.cpp
+++ b/engines/bladerunner/script/scene/ug03.cpp
@@ -25,39 +25,40 @@
namespace BladeRunner {
void SceneScriptUG03::InitializeScene() {
- if (Game_Flag_Query(335)) {
- Setup_Scene_Information(-51.0f, 0.03f, 255.0f, 780);
- Game_Flag_Reset(335);
- } else if (Game_Flag_Query(337)) {
- Setup_Scene_Information(-139.0f, 0.03f, -13.0f, 540);
- Game_Flag_Reset(337);
+ if (Game_Flag_Query(kFlagUG04toUG03)) {
+ Setup_Scene_Information( -51.0f, 0.03f, 255.0f, 780);
+ Game_Flag_Reset(kFlagUG04toUG03);
+ } else if (Game_Flag_Query(kFlagUG10toUG03)) {
+ Setup_Scene_Information( -139.0f, 0.03f, -13.0f, 540);
+ Game_Flag_Reset(kFlagUG10toUG03);
} else {
Setup_Scene_Information(-121.88f, 0.03f, 213.35f, 540);
}
- Scene_Exit_Add_2D_Exit(0, 46, 137, 131, 296, 0);
+ Scene_Exit_Add_2D_Exit(0, 46, 137, 131, 296, 0);
Scene_Exit_Add_2D_Exit(1, 559, 141, 639, 380, 1);
+
Ambient_Sounds_Add_Looping_Sound(331, 15, 0, 1);
Ambient_Sounds_Add_Looping_Sound(332, 40, 0, 1);
Ambient_Sounds_Add_Looping_Sound(333, 40, 0, 1);
- Ambient_Sounds_Add_Sound(402, 2, 120, 10, 11, 0, 100, 0, 100, 0, 0);
- Ambient_Sounds_Add_Sound(370, 2, 120, 10, 11, 0, 100, 0, 100, 0, 0);
- Ambient_Sounds_Add_Sound(396, 2, 120, 10, 11, 0, 100, 0, 100, 0, 0);
- Ambient_Sounds_Add_Sound(395, 2, 120, 10, 11, 0, 100, 0, 100, 0, 0);
- Ambient_Sounds_Add_Sound(234, 2, 190, 12, 16, -100, 100, -100, 100, 0, 0);
- Ambient_Sounds_Add_Sound(235, 2, 190, 12, 16, -100, 100, -100, 100, 0, 0);
- Ambient_Sounds_Add_Sound(391, 2, 190, 12, 16, -100, 100, -100, 100, 0, 0);
- Ambient_Sounds_Add_Sound(392, 2, 190, 12, 16, -100, 100, -100, 100, 0, 0);
- Ambient_Sounds_Add_Sound(393, 2, 190, 12, 16, -100, 100, -100, 100, 0, 0);
- Ambient_Sounds_Add_Sound(394, 2, 190, 12, 16, -100, 100, -100, 100, 0, 0);
- Ambient_Sounds_Add_Sound(224, 2, 190, 12, 16, -100, 100, -100, 100, 0, 0);
- Ambient_Sounds_Add_Sound(225, 2, 190, 12, 16, -100, 100, -100, 100, 0, 0);
- Ambient_Sounds_Add_Sound(226, 2, 190, 12, 16, -100, 100, -100, 100, 0, 0);
- Ambient_Sounds_Add_Sound(227, 2, 190, 12, 16, -100, 100, -100, 100, 0, 0);
- Ambient_Sounds_Add_Sound(228, 2, 190, 12, 16, -100, 100, -100, 100, 0, 0);
- Ambient_Sounds_Add_Sound(229, 2, 190, 12, 16, -100, 100, -100, 100, 0, 0);
- Ambient_Sounds_Add_Sound(303, 5, 50, 17, 37, -100, 100, -101, -101, 0, 0);
- Ambient_Sounds_Add_Sound(304, 5, 50, 17, 37, -100, 100, -101, -101, 0, 0);
- Ambient_Sounds_Add_Sound(305, 5, 50, 17, 37, -100, 100, -101, -101, 0, 0);
+ Ambient_Sounds_Add_Sound(402, 2, 120, 10, 11, 0, 100, 0, 100, 0, 0);
+ Ambient_Sounds_Add_Sound(370, 2, 120, 10, 11, 0, 100, 0, 100, 0, 0);
+ Ambient_Sounds_Add_Sound(396, 2, 120, 10, 11, 0, 100, 0, 100, 0, 0);
+ Ambient_Sounds_Add_Sound(395, 2, 120, 10, 11, 0, 100, 0, 100, 0, 0);
+ Ambient_Sounds_Add_Sound(234, 2, 190, 12, 16, -100, 100, -100, 100, 0, 0);
+ Ambient_Sounds_Add_Sound(235, 2, 190, 12, 16, -100, 100, -100, 100, 0, 0);
+ Ambient_Sounds_Add_Sound(391, 2, 190, 12, 16, -100, 100, -100, 100, 0, 0);
+ Ambient_Sounds_Add_Sound(392, 2, 190, 12, 16, -100, 100, -100, 100, 0, 0);
+ Ambient_Sounds_Add_Sound(393, 2, 190, 12, 16, -100, 100, -100, 100, 0, 0);
+ Ambient_Sounds_Add_Sound(394, 2, 190, 12, 16, -100, 100, -100, 100, 0, 0);
+ Ambient_Sounds_Add_Sound(224, 2, 190, 12, 16, -100, 100, -100, 100, 0, 0);
+ Ambient_Sounds_Add_Sound(225, 2, 190, 12, 16, -100, 100, -100, 100, 0, 0);
+ Ambient_Sounds_Add_Sound(226, 2, 190, 12, 16, -100, 100, -100, 100, 0, 0);
+ Ambient_Sounds_Add_Sound(227, 2, 190, 12, 16, -100, 100, -100, 100, 0, 0);
+ Ambient_Sounds_Add_Sound(228, 2, 190, 12, 16, -100, 100, -100, 100, 0, 0);
+ Ambient_Sounds_Add_Sound(229, 2, 190, 12, 16, -100, 100, -100, 100, 0, 0);
+ Ambient_Sounds_Add_Sound(303, 5, 50, 17, 37, -100, 100, -101, -101, 0, 0);
+ Ambient_Sounds_Add_Sound(304, 5, 50, 17, 37, -100, 100, -101, -101, 0, 0);
+ Ambient_Sounds_Add_Sound(305, 5, 50, 17, 37, -100, 100, -101, -101, 0, 0);
}
void SceneScriptUG03::SceneLoaded() {
@@ -75,15 +76,20 @@ bool SceneScriptUG03::MouseClick(int x, int y) {
}
bool SceneScriptUG03::ClickedOn3DObject(const char *objectName, bool a2) {
- if ((Object_Query_Click("CHAIR_BACK", objectName) || Object_Query_Click("CHAIR_SEAT", objectName) || Object_Query_Click("CHAIR_HEADZAPPER", objectName)) && !Loop_Actor_Walk_To_Scene_Object(kActorMcCoy, "CHAIR_BACK", 36, true, false)) {
- Actor_Face_Object(kActorMcCoy, "CHAIR_BACK", true);
- if (!Actor_Clue_Query(kActorMcCoy, kClueScaryChair)) {
- Actor_Voice_Over(2550, kActorVoiceOver);
- Actor_Voice_Over(2560, kActorVoiceOver);
- Actor_Voice_Over(2570, kActorVoiceOver);
- Actor_Voice_Over(2580, kActorVoiceOver);
- Actor_Voice_Over(2590, kActorVoiceOver);
- Actor_Clue_Acquire(kActorMcCoy, kClueScaryChair, true, -1);
+ if (Object_Query_Click("CHAIR_BACK", objectName)
+ || Object_Query_Click("CHAIR_SEAT", objectName)
+ || Object_Query_Click("CHAIR_HEADZAPPER", objectName)
+ ) {
+ if (!Loop_Actor_Walk_To_Scene_Object(kActorMcCoy, "CHAIR_BACK", 36, true, false)) {
+ Actor_Face_Object(kActorMcCoy, "CHAIR_BACK", true);
+ if (!Actor_Clue_Query(kActorMcCoy, kClueScaryChair)) {
+ Actor_Voice_Over(2550, kActorVoiceOver);
+ Actor_Voice_Over(2560, kActorVoiceOver);
+ Actor_Voice_Over(2570, kActorVoiceOver);
+ Actor_Voice_Over(2580, kActorVoiceOver);
+ Actor_Voice_Over(2590, kActorVoiceOver);
+ Actor_Clue_Acquire(kActorMcCoy, kClueScaryChair, true, -1);
+ }
}
}
return false;
@@ -99,23 +105,24 @@ bool SceneScriptUG03::ClickedOnItem(int itemId, bool a2) {
bool SceneScriptUG03::ClickedOnExit(int exitId) {
if (exitId == 0) {
- if (!Loop_Actor_Walk_To_XYZ(kActorMcCoy, -139.0f, 0.0f, -13.0f, 0, 1, false, 0)) {
+ if (!Loop_Actor_Walk_To_XYZ(kActorMcCoy, -139.0f, 0.0f, -13.0f, 0, true, false, 0)) {
if (Global_Variable_Query(kVariableChapter) < 4) {
Actor_Says(kActorMcCoy, 8522, 14);
} else {
Ambient_Sounds_Remove_All_Non_Looping_Sounds(true);
Ambient_Sounds_Remove_All_Looping_Sounds(1);
- Game_Flag_Set(336);
+ Game_Flag_Set(kFlagUG03toUG10);
Set_Enter(kSetUG10, kSceneUG10);
}
}
return true;
}
+
if (exitId == 1) {
- if (!Loop_Actor_Walk_To_XYZ(kActorMcCoy, -51.0f, 0.0f, 255.0f, 0, 1, false, 0)) {
+ if (!Loop_Actor_Walk_To_XYZ(kActorMcCoy, -51.0f, 0.0f, 255.0f, 0, true, false, 0)) {
Ambient_Sounds_Remove_All_Non_Looping_Sounds(true);
Ambient_Sounds_Remove_All_Looping_Sounds(1);
- Game_Flag_Set(334);
+ Game_Flag_Set(kFlagUG03toUG04);
Set_Enter(kSetUG04, kSceneUG04);
}
return true;
diff --git a/engines/bladerunner/script/scene/ug04.cpp b/engines/bladerunner/script/scene/ug04.cpp
index 7aa0ad1..82da71b 100644
--- a/engines/bladerunner/script/scene/ug04.cpp
+++ b/engines/bladerunner/script/scene/ug04.cpp
@@ -25,37 +25,40 @@
namespace BladeRunner {
void SceneScriptUG04::InitializeScene() {
- if (Game_Flag_Query(339)) {
- Setup_Scene_Information(0.0f, -1.74f, -2400.0f, 496);
- Game_Flag_Reset(339);
- } else if (Game_Flag_Query(341)) {
- Setup_Scene_Information(164.0f, 11.87f, -1013.0f, 83);
+ if (Game_Flag_Query(kFlagUG05toUG04)) {
+ Setup_Scene_Information( 0.0f, -1.74f, -2400.0f, 496);
+ Game_Flag_Reset(kFlagUG05toUG04);
+ } else if (Game_Flag_Query(kFlagUG06toUG04)) {
+ Setup_Scene_Information( 164.0f, 11.87f, -1013.0f, 83);
} else {
- Setup_Scene_Information(-172.0f, 16.29f, -735.0f, 380);
- Game_Flag_Reset(334);
+ Setup_Scene_Information(-172.0f, 16.29f, -735.0f, 380);
+ Game_Flag_Reset(kFlagUG03toUG04);
}
+
Scene_Exit_Add_2D_Exit(0, 123, 308, 159, 413, 3);
if (Global_Variable_Query(kVariableChapter) > 3) {
Scene_Exit_Add_2D_Exit(1, 256, 333, 290, 373, 0);
}
Scene_Exit_Add_2D_Exit(2, 344, 298, 451, 390, 1);
+
Ambient_Sounds_Add_Looping_Sound(331, 25, 0, 1);
Ambient_Sounds_Add_Looping_Sound(332, 40, 0, 1);
Ambient_Sounds_Add_Looping_Sound(333, 40, 0, 1);
- Ambient_Sounds_Add_Sound(234, 2, 190, 12, 16, -100, 100, -100, 100, 0, 0);
- Ambient_Sounds_Add_Sound(224, 2, 190, 12, 16, -100, 100, -100, 100, 0, 0);
- Ambient_Sounds_Add_Sound(225, 2, 190, 12, 16, -100, 100, -100, 100, 0, 0);
- Ambient_Sounds_Add_Sound(227, 2, 190, 12, 16, -100, 100, -100, 100, 0, 0);
- Ambient_Sounds_Add_Sound(229, 2, 190, 12, 16, -100, 100, -100, 100, 0, 0);
- Ambient_Sounds_Add_Sound(368, 2, 120, 11, 12, -100, 100, -100, 100, 0, 0);
- Ambient_Sounds_Add_Sound(369, 2, 120, 11, 12, -100, 100, -100, 100, 0, 0);
- Ambient_Sounds_Add_Sound(370, 2, 120, 11, 12, -100, 100, -100, 100, 0, 0);
- Ambient_Sounds_Add_Sound(235, 2, 190, 12, 16, -100, 100, -100, 100, 0, 0);
- Ambient_Sounds_Add_Sound(392, 2, 190, 12, 16, -100, 100, -100, 100, 0, 0);
- Ambient_Sounds_Add_Sound(394, 2, 190, 12, 16, -100, 100, -100, 100, 0, 0);
- Ambient_Sounds_Add_Sound(303, 5, 50, 17, 37, -100, 100, -101, -101, 0, 0);
- Ambient_Sounds_Add_Sound(304, 5, 50, 17, 37, -100, 100, -101, -101, 0, 0);
- Ambient_Sounds_Add_Sound(305, 5, 50, 17, 37, -100, 100, -101, -101, 0, 0);
+ Ambient_Sounds_Add_Sound(234, 2, 190, 12, 16, -100, 100, -100, 100, 0, 0);
+ Ambient_Sounds_Add_Sound(224, 2, 190, 12, 16, -100, 100, -100, 100, 0, 0);
+ Ambient_Sounds_Add_Sound(225, 2, 190, 12, 16, -100, 100, -100, 100, 0, 0);
+ Ambient_Sounds_Add_Sound(227, 2, 190, 12, 16, -100, 100, -100, 100, 0, 0);
+ Ambient_Sounds_Add_Sound(229, 2, 190, 12, 16, -100, 100, -100, 100, 0, 0);
+ Ambient_Sounds_Add_Sound(368, 2, 120, 11, 12, -100, 100, -100, 100, 0, 0);
+ Ambient_Sounds_Add_Sound(369, 2, 120, 11, 12, -100, 100, -100, 100, 0, 0);
+ Ambient_Sounds_Add_Sound(370, 2, 120, 11, 12, -100, 100, -100, 100, 0, 0);
+ Ambient_Sounds_Add_Sound(235, 2, 190, 12, 16, -100, 100, -100, 100, 0, 0);
+ Ambient_Sounds_Add_Sound(392, 2, 190, 12, 16, -100, 100, -100, 100, 0, 0);
+ Ambient_Sounds_Add_Sound(394, 2, 190, 12, 16, -100, 100, -100, 100, 0, 0);
+ Ambient_Sounds_Add_Sound(303, 5, 50, 17, 37, -100, 100, -101, -101, 0, 0);
+ Ambient_Sounds_Add_Sound(304, 5, 50, 17, 37, -100, 100, -101, -101, 0, 0);
+ Ambient_Sounds_Add_Sound(305, 5, 50, 17, 37, -100, 100, -101, -101, 0, 0);
+
Scene_Loop_Start_Special(0, 0, 0);
Scene_Loop_Set_Default(1);
}
@@ -86,22 +89,22 @@ bool SceneScriptUG04::ClickedOnItem(int itemId, bool a2) {
bool SceneScriptUG04::ClickedOnExit(int exitId) {
if (exitId == 0) {
- if (!Loop_Actor_Walk_To_XYZ(kActorMcCoy, -172.0f, 16.29f, -735.0f, 0, 1, false, 0)) {
- Game_Flag_Set(335);
+ if (!Loop_Actor_Walk_To_XYZ(kActorMcCoy, -172.0f, 16.29f, -735.0f, 0, true, false, 0)) {
+ Game_Flag_Set(kFlagUG04toUG03);
Set_Enter(kSetUG03, kSceneUG03);
}
return true;
}
if (exitId == 1) {
- if (!Loop_Actor_Walk_To_XYZ(kActorMcCoy, 0.0f, -1.74f, -2400.0f, 0, 1, false, 0)) {
- Game_Flag_Set(338);
+ if (!Loop_Actor_Walk_To_XYZ(kActorMcCoy, 0.0f, -1.74f, -2400.0f, 0, true, false, 0)) {
+ Game_Flag_Set(kFlagUG04toUG05);
Set_Enter(kSetUG05, kSceneUG05);
}
return true;
}
if (exitId == 2) {
- if (!Loop_Actor_Walk_To_XYZ(kActorMcCoy, 164.0f, 11.87f, -1013.0f, 0, 1, false, 0)) {
- Game_Flag_Set(340);
+ if (!Loop_Actor_Walk_To_XYZ(kActorMcCoy, 164.0f, 11.87f, -1013.0f, 0, true, false, 0)) {
+ Game_Flag_Set(kFlagUG04toUG06);
Set_Enter(kSetUG06, kSceneUG06);
}
return true;
@@ -123,9 +126,9 @@ void SceneScriptUG04::ActorChangedGoal(int actorId, int newGoal, int oldGoal, bo
}
void SceneScriptUG04::PlayerWalkedIn() {
- if (Game_Flag_Query(341)) {
- Loop_Actor_Walk_To_XYZ(kActorMcCoy, 60.0f, -1.74f, -976.0f, 6, 0, false, 0);
- Game_Flag_Reset(341);
+ if (Game_Flag_Query(kFlagUG06toUG04)) {
+ Loop_Actor_Walk_To_XYZ(kActorMcCoy, 60.0f, -1.74f, -976.0f, 6, false, false, 0);
+ Game_Flag_Reset(kFlagUG06toUG04);
}
}
diff --git a/engines/bladerunner/script/scene/ug05.cpp b/engines/bladerunner/script/scene/ug05.cpp
index 3be09c1..324ef08 100644
--- a/engines/bladerunner/script/scene/ug05.cpp
+++ b/engines/bladerunner/script/scene/ug05.cpp
@@ -25,21 +25,25 @@
namespace BladeRunner {
void SceneScriptUG05::InitializeScene() {
- if (Game_Flag_Query(360)) {
- if (Game_Flag_Query(663) && !Game_Flag_Query(368)) {
+ if (Game_Flag_Query(kFlagHF07toUG06)) {
+ if ( Game_Flag_Query(663)
+ && !Game_Flag_Query(368)
+ ) {
Setup_Scene_Information(-356.35f, 132.77f, -1092.36f, 389);
} else {
Setup_Scene_Information(-180.0f, 37.28f, -1124.0f, 296);
}
} else {
Setup_Scene_Information(0.0f, -1.37f, 0.0f, 0);
- Game_Flag_Reset(338);
+ Game_Flag_Reset(kFlagUG04toUG05);
}
Scene_Exit_Add_2D_Exit(0, 215, 240, 254, 331, 3);
if (!Game_Flag_Query(663)) {
Scene_Exit_Add_2D_Exit(1, 303, 422, 639, 479, 2);
}
- if (!Game_Flag_Query(663) || Game_Flag_Query(368)) {
+ if (!Game_Flag_Query(663)
+ || Game_Flag_Query(368)
+ ) {
Scene_Exit_Add_2D_Exit(2, 352, 256, 393, 344, 0);
}
Ambient_Sounds_Add_Looping_Sound(105, 28, 0, 1);
@@ -115,19 +119,19 @@ bool SceneScriptUG05::ClickedOnExit(int exitId) {
if (exitId == 0) {
if (Game_Flag_Query(663) && !Game_Flag_Query(368)) {
Loop_Actor_Walk_To_XYZ(kActorMcCoy, -356.35f, 132.77f, -1092.36f, 0, 0, false, 0);
- Game_Flag_Set(361);
+ Game_Flag_Set(kFlagUG06toHF07);
Set_Enter(kSetHF07, kSceneHF07);
} else if (!Loop_Actor_Walk_To_XYZ(kActorMcCoy, -156.72f, 3.03f, -1118.17f, 0, 1, false, 0)) {
Actor_Face_Heading(kActorMcCoy, 760, false);
Loop_Actor_Travel_Stairs(kActorMcCoy, 3, 1, kAnimationModeIdle);
- Game_Flag_Set(361);
+ Game_Flag_Set(kFlagUG06toHF07);
Set_Enter(kSetHF07, kSceneHF07);
}
return true;
}
if (exitId == 1) {
if (!Loop_Actor_Walk_To_XYZ(kActorMcCoy, 4.0f, -11.67f, -4.0f, 0, 1, false, 0)) {
- Game_Flag_Set(339);
+ Game_Flag_Set(kFlagUG05toUG04);
Set_Enter(kSetUG04, kSceneUG04);
}
return true;
@@ -200,7 +204,7 @@ void SceneScriptUG05::PlayerWalkedIn() {
}
}
}
- if (Game_Flag_Query(360)) {
+ if (Game_Flag_Query(kFlagHF07toUG06)) {
if (Game_Flag_Query(663) && !Game_Flag_Query(368)) {
Loop_Actor_Walk_To_XYZ(kActorMcCoy, -288.35f, 132.77f, -1092.36f, 0, 1, false, 0);
} else {
@@ -210,7 +214,7 @@ void SceneScriptUG05::PlayerWalkedIn() {
if (Game_Flag_Query(663)) {
Game_Flag_Query(368); // bug in game?
}
- Game_Flag_Reset(360);
+ Game_Flag_Reset(kFlagHF07toUG06);
}
void SceneScriptUG05::PlayerWalkedOut() {
diff --git a/engines/bladerunner/script/scene/ug06.cpp b/engines/bladerunner/script/scene/ug06.cpp
index 8c93eb7..a979c9d 100644
--- a/engines/bladerunner/script/scene/ug06.cpp
+++ b/engines/bladerunner/script/scene/ug06.cpp
@@ -36,33 +36,35 @@ void SceneScriptUG06::InitializeScene() {
}
Game_Flag_Reset(680);
}
- if (Game_Flag_Query(340)) {
- Setup_Scene_Information(23.0f, 0.0f, 321.0f, 0);
- } else if (Game_Flag_Query(343)) {
- Setup_Scene_Information(66.0f, 153.0f, -301.4f, 512);
+
+ if (Game_Flag_Query(kFlagUG04toUG06)) {
+ Setup_Scene_Information( 23.0f, 0.0f, 321.0f, 0);
+ } else if (Game_Flag_Query(kFlagNR01toUG06)) {
+ Setup_Scene_Information( 66.0f, 153.0f, -301.4f, 512);
} else {
- Setup_Scene_Information(-165.0f, 1.0f, 89.0f, 990);
+ Setup_Scene_Information(-165.0f, 1.0f, 89.0f, 990);
}
- Scene_Exit_Add_2D_Exit(0, 0, 0, 30, 479, 3);
+ Scene_Exit_Add_2D_Exit(0, 0, 0, 30, 479, 3);
Scene_Exit_Add_2D_Exit(1, 294, 68, 544, 236, 0);
+
Ambient_Sounds_Add_Looping_Sound(288, 18, 0, 1);
Ambient_Sounds_Add_Looping_Sound(332, 40, 0, 1);
Ambient_Sounds_Add_Looping_Sound(333, 40, 0, 1);
- Ambient_Sounds_Add_Sound(234, 2, 190, 12, 16, -100, 100, -100, 100, 0, 0);
- Ambient_Sounds_Add_Sound(235, 2, 190, 12, 16, -100, 100, -100, 100, 0, 0);
- Ambient_Sounds_Add_Sound(401, 2, 120, 11, 12, -100, 100, -100, 100, 0, 0);
- Ambient_Sounds_Add_Sound(402, 2, 120, 11, 12, -100, 100, -100, 100, 0, 0);
- Ambient_Sounds_Add_Sound(369, 2, 120, 11, 12, -100, 100, -100, 100, 0, 0);
- Ambient_Sounds_Add_Sound(398, 2, 120, 11, 12, -100, 100, -100, 100, 0, 0);
- Ambient_Sounds_Add_Sound(392, 2, 190, 12, 16, -100, 100, -100, 100, 0, 0);
- Ambient_Sounds_Add_Sound(394, 2, 190, 12, 16, -100, 100, -100, 100, 0, 0);
- Ambient_Sounds_Add_Sound(225, 2, 190, 12, 16, -100, 100, -100, 100, 0, 0);
- Ambient_Sounds_Add_Sound(227, 2, 190, 12, 16, -100, 100, -100, 100, 0, 0);
- Ambient_Sounds_Add_Sound(228, 2, 190, 12, 16, -100, 100, -100, 100, 0, 0);
- Ambient_Sounds_Add_Sound(229, 2, 190, 12, 16, -100, 100, -100, 100, 0, 0);
- Ambient_Sounds_Add_Sound(303, 5, 50, 17, 37, -100, 100, -101, -101, 0, 0);
- Ambient_Sounds_Add_Sound(304, 5, 50, 17, 37, -100, 100, -101, -101, 0, 0);
- Ambient_Sounds_Add_Sound(305, 5, 50, 17, 37, -100, 100, -101, -101, 0, 0);
+ Ambient_Sounds_Add_Sound(234, 2, 190, 12, 16, -100, 100, -100, 100, 0, 0);
+ Ambient_Sounds_Add_Sound(235, 2, 190, 12, 16, -100, 100, -100, 100, 0, 0);
+ Ambient_Sounds_Add_Sound(401, 2, 120, 11, 12, -100, 100, -100, 100, 0, 0);
+ Ambient_Sounds_Add_Sound(402, 2, 120, 11, 12, -100, 100, -100, 100, 0, 0);
+ Ambient_Sounds_Add_Sound(369, 2, 120, 11, 12, -100, 100, -100, 100, 0, 0);
+ Ambient_Sounds_Add_Sound(398, 2, 120, 11, 12, -100, 100, -100, 100, 0, 0);
+ Ambient_Sounds_Add_Sound(392, 2, 190, 12, 16, -100, 100, -100, 100, 0, 0);
+ Ambient_Sounds_Add_Sound(394, 2, 190, 12, 16, -100, 100, -100, 100, 0, 0);
+ Ambient_Sounds_Add_Sound(225, 2, 190, 12, 16, -100, 100, -100, 100, 0, 0);
+ Ambient_Sounds_Add_Sound(227, 2, 190, 12, 16, -100, 100, -100, 100, 0, 0);
+ Ambient_Sounds_Add_Sound(228, 2, 190, 12, 16, -100, 100, -100, 100, 0, 0);
+ Ambient_Sounds_Add_Sound(229, 2, 190, 12, 16, -100, 100, -100, 100, 0, 0);
+ Ambient_Sounds_Add_Sound(303, 5, 50, 17, 37, -100, 100, -101, -101, 0, 0);
+ Ambient_Sounds_Add_Sound(304, 5, 50, 17, 37, -100, 100, -101, -101, 0, 0);
+ Ambient_Sounds_Add_Sound(305, 5, 50, 17, 37, -100, 100, -101, -101, 0, 0);
}
void SceneScriptUG06::SceneLoaded() {
@@ -91,22 +93,23 @@ bool SceneScriptUG06::ClickedOnItem(int itemId, bool a2) {
bool SceneScriptUG06::ClickedOnExit(int exitId) {
if (exitId == 0) {
- if (!Loop_Actor_Walk_To_XYZ(kActorMcCoy, 23.0f, 0.0f, 321.0f, 0, 1, false, 0)) {
+ if (!Loop_Actor_Walk_To_XYZ(kActorMcCoy, 23.0f, 0.0f, 321.0f, 0, true, false, 0)) {
Ambient_Sounds_Remove_All_Non_Looping_Sounds(true);
Ambient_Sounds_Remove_All_Looping_Sounds(1);
- Game_Flag_Set(341);
+ Game_Flag_Set(kFlagUG06toUG04);
Set_Enter(kSetUG04, kSceneUG04);
}
return true;
}
+
if (exitId == 1) {
- if (!Loop_Actor_Walk_To_XYZ(kActorMcCoy, 66.0f, 0.0f, -90.0f, 0, 1, false, 0)) {
+ if (!Loop_Actor_Walk_To_XYZ(kActorMcCoy, 66.0f, 0.0f, -90.0f, 0, true, false, 0)) {
Actor_Face_Heading(kActorMcCoy, 0, false);
Loop_Actor_Travel_Stairs(kActorMcCoy, 17, 1, kAnimationModeIdle);
- Loop_Actor_Walk_To_XYZ(kActorMcCoy, 66.0f, 153.0f, -446.0f, 0, 0, false, 0);
+ Loop_Actor_Walk_To_XYZ(kActorMcCoy, 66.0f, 153.0f, -446.0f, 0, false, false, 0);
Ambient_Sounds_Remove_All_Non_Looping_Sounds(true);
Ambient_Sounds_Remove_All_Looping_Sounds(1);
- Game_Flag_Set(342);
+ Game_Flag_Set(kFlagUG06toNR01);
Set_Enter(kSetNR01, kSceneNR01);
}
return true;
@@ -125,16 +128,18 @@ void SceneScriptUG06::ActorChangedGoal(int actorId, int newGoal, int oldGoal, bo
}
void SceneScriptUG06::PlayerWalkedIn() {
- if (Game_Flag_Query(340)) {
- Loop_Actor_Walk_To_XYZ(kActorMcCoy, 23.0f, 0.0f, 273.0f, 0, 0, false, 0);
- Game_Flag_Reset(340);
+ if (Game_Flag_Query(kFlagUG04toUG06)) {
+ Loop_Actor_Walk_To_XYZ(kActorMcCoy, 23.0f, 0.0f, 273.0f, 0, false, false, 0);
+ Game_Flag_Reset(kFlagUG04toUG06);
}
- if (Game_Flag_Query(343)) {
- Loop_Actor_Travel_Stairs(kActorMcCoy, 17, 0, kAnimationModeIdle);
- Loop_Actor_Walk_To_XYZ(kActorMcCoy, 66.0f, 0.0f, -36.91f, 0, 0, false, 0);
- Game_Flag_Reset(343);
+ if (Game_Flag_Query(kFlagNR01toUG06)) {
+ Loop_Actor_Travel_Stairs(kActorMcCoy, 17, false, kAnimationModeIdle);
+ Loop_Actor_Walk_To_XYZ(kActorMcCoy, 66.0f, 0.0f, -36.91f, 0, false, false, 0);
+ Game_Flag_Reset(kFlagNR01toUG06);
}
- if (Global_Variable_Query(kVariableChapter) == 4 && !Game_Flag_Query(524)) {
+ if ( Global_Variable_Query(kVariableChapter) == 4
+ && !Game_Flag_Query(524)
+ ) {
Player_Loses_Control();
Actor_Voice_Over(2620, kActorVoiceOver);
Actor_Voice_Over(2630, kActorVoiceOver);
diff --git a/engines/bladerunner/script/scene/ug09.cpp b/engines/bladerunner/script/scene/ug09.cpp
index 0724ce8..91e493a 100644
--- a/engines/bladerunner/script/scene/ug09.cpp
+++ b/engines/bladerunner/script/scene/ug09.cpp
@@ -145,8 +145,8 @@ void SceneScriptUG09::PlayerWalkedOut() {
}
if (Game_Flag_Query(kFlagUG09toCT12)) {
- Game_Flag_Set(kFlagMcCoyAtCTxx);
- Game_Flag_Reset(kFlagMcCoyAtUGxx);
+ Game_Flag_Set(kFlagMcCoyInChinaTown);
+ Game_Flag_Reset(kFlagMcCoyInUnderground);
}
}
diff --git a/engines/bladerunner/script/scene/ug10.cpp b/engines/bladerunner/script/scene/ug10.cpp
index 64e63a6..a33c05f 100644
--- a/engines/bladerunner/script/scene/ug10.cpp
+++ b/engines/bladerunner/script/scene/ug10.cpp
@@ -25,15 +25,15 @@
namespace BladeRunner {
void SceneScriptUG10::InitializeScene() {
- if (Game_Flag_Query(336)) {
- Setup_Scene_Information(-92.0f, 81.33f, -652.0f, 520);
+ if (Game_Flag_Query(kFlagUG03toUG10)) {
+ Setup_Scene_Information( -92.0f, 81.33f, -652.0f, 520);
} else if (Game_Flag_Query(423)) {
Game_Flag_Reset(423);
- Setup_Scene_Information(-385.12f, 1.15f, 57.44f, 400);
- } else if (Game_Flag_Query(346)) {
- Setup_Scene_Information(2.5f, 1.15f, 405.0f, 200);
+ Setup_Scene_Information(-385.12f, 1.15f, 57.44f, 400);
+ } else if (Game_Flag_Query(kFlagUG14toUG10)) {
+ Setup_Scene_Information( 2.5f, 1.15f, 405.0f, 200);
} else {
- Setup_Scene_Information(235.0f, 1.15f, 29.0f, 0);
+ Setup_Scene_Information( 235.0f, 1.15f, 29.0f, 0);
}
Scene_Exit_Add_2D_Exit(0, 589, 300, 639, 479, 1);
@@ -78,7 +78,7 @@ void SceneScriptUG10::SceneLoaded() {
Obstacle_Object("SLUICEGATE_LEVER", true);
if (Global_Variable_Query(kVariableChapter) == 4
&& !Game_Flag_Query(kFlagUG10GateOpen)
- && Game_Flag_Query(kFlagDumpsterEmptied)
+ && Game_Flag_Query(kFlagCT04HomelessBodyThrownAway)
&& !Game_Flag_Query(kFlagUG03DeadHomeless)
) {
Scene_Loop_Set_Default(1);
@@ -114,7 +114,7 @@ bool SceneScriptUG10::ClickedOnExit(int exitId) {
)
|| Game_Flag_Query(kFlagUG10GateOpen)
) {
- if (!Loop_Actor_Walk_To_XYZ(kActorMcCoy, 235.0f, 1.15f, 29.0f, 0, 1, false, 0)) {
+ if (!Loop_Actor_Walk_To_XYZ(kActorMcCoy, 235.0f, 1.15f, 29.0f, 0, true, false, 0)) {
Game_Flag_Set(kFlagUG10toUG01);
Set_Enter(kSetUG01, kSceneUG01);
return true;
@@ -128,11 +128,11 @@ bool SceneScriptUG10::ClickedOnExit(int exitId) {
)
|| Game_Flag_Query(kFlagUG10GateOpen)
) {
- if (!Loop_Actor_Walk_To_XYZ(kActorMcCoy, -1.83f, 1.15f, -410.8f, 0, 1, false, 0)) {
+ if (!Loop_Actor_Walk_To_XYZ(kActorMcCoy, -1.83f, 1.15f, -410.8f, 0, true, false, 0)) {
Actor_Face_Heading(kActorMcCoy, 0, false);
Loop_Actor_Travel_Stairs(kActorMcCoy, 9, 1, kAnimationModeIdle);
- Loop_Actor_Walk_To_XYZ(kActorMcCoy, -92.0f, 81.83f, -652.0f, 0, 0, false, 0);
- Game_Flag_Set(337);
+ Loop_Actor_Walk_To_XYZ(kActorMcCoy, -92.0f, 81.83f, -652.0f, 0, false, false, 0);
+ Game_Flag_Set(kFlagUG10toUG03);
Set_Enter(kSetUG03, kSceneUG03);
return true;
}
@@ -145,7 +145,7 @@ bool SceneScriptUG10::ClickedOnExit(int exitId) {
)
|| Game_Flag_Query(kFlagUG10GateOpen)
) {
- if (!Loop_Actor_Walk_To_XYZ(kActorMcCoy, -385.0f, 1.15f, 57.44f, 0, 1, false, 0)) {
+ if (!Loop_Actor_Walk_To_XYZ(kActorMcCoy, -385.0f, 1.15f, 57.44f, 0, true, false, 0)) {
Actor_Face_Heading(kActorMcCoy, 1001, false);
Loop_Actor_Travel_Ladder(kActorMcCoy, 1, 1, 0);
Game_Flag_Set(424);
@@ -161,8 +161,8 @@ bool SceneScriptUG10::ClickedOnExit(int exitId) {
)
|| Game_Flag_Query(kFlagUG10GateOpen)
) {
- if (!Loop_Actor_Walk_To_XYZ(kActorMcCoy, 2.5f, 1.15f, 405.0f, 0, 1, false, 0)) {
- Game_Flag_Set(347);
+ if (!Loop_Actor_Walk_To_XYZ(kActorMcCoy, 2.5f, 1.15f, 405.0f, 0, true, false, 0)) {
+ Game_Flag_Set(kFlagUG10toUG14);
Set_Enter(kSetUG14, kSceneUG14);
return true;
}
@@ -228,14 +228,14 @@ void SceneScriptUG10::ActorChangedGoal(int actorId, int newGoal, int oldGoal, bo
}
void SceneScriptUG10::PlayerWalkedIn() {
- if (Game_Flag_Query(346)) {
- Game_Flag_Reset(346);
+ if (Game_Flag_Query(kFlagUG14toUG10)) {
+ Game_Flag_Reset(kFlagUG14toUG10);
Loop_Actor_Walk_To_XYZ(kActorMcCoy, 2.5f, 1.15f, 377.0f, 0, false, false, 0);
} else if (Game_Flag_Query(kFlagUG01toUG10)) {
Game_Flag_Reset(kFlagUG01toUG10);
Loop_Actor_Walk_To_XYZ(kActorMcCoy, 207.0f, 1.15f, 29.0f, 0, false, false, 0);
- } else if (Game_Flag_Query(336)) {
- Game_Flag_Reset(336);
+ } else if (Game_Flag_Query(kFlagUG03toUG10)) {
+ Game_Flag_Reset(kFlagUG03toUG10);
Loop_Actor_Walk_To_XYZ(kActorMcCoy, -1.83f, 81.33f, -518.8f, 0, false, false, 0);
Actor_Face_Heading(kActorMcCoy, 506, false);
Loop_Actor_Travel_Stairs(kActorMcCoy, 9, false, kAnimationModeIdle);
diff --git a/engines/bladerunner/script/scene/ug12.cpp b/engines/bladerunner/script/scene/ug12.cpp
index f189224..7f92023 100644
--- a/engines/bladerunner/script/scene/ug12.cpp
+++ b/engines/bladerunner/script/scene/ug12.cpp
@@ -29,27 +29,30 @@ void SceneScriptUG12::InitializeScene() {
Setup_Scene_Information(207.0f, -126.21f, -364.0f, 561);
Game_Flag_Reset(411);
} else {
- Setup_Scene_Information(375.0f, -126.21f, 180.0f, 730);
- Game_Flag_Reset(345);
+ Setup_Scene_Information(375.0f, -126.21f, 180.0f, 730);
+ Game_Flag_Reset(kFlagUG14toUG12);
}
+
Scene_Exit_Add_2D_Exit(0, 538, 222, 615, 346, 1);
if (Game_Flag_Query(373)) {
Scene_Exit_Add_2D_Exit(1, 334, 176, 426, 266, 0);
}
+
Ambient_Sounds_Add_Looping_Sound(105, 47, 60, 1);
- Ambient_Sounds_Add_Looping_Sound(332, 40, 0, 1);
- Ambient_Sounds_Add_Looping_Sound(333, 40, 0, 1);
- Ambient_Sounds_Add_Sound(291, 2, 20, 20, 25, -100, 100, -100, 100, 0, 0);
- Ambient_Sounds_Add_Sound(292, 2, 20, 20, 25, -100, 100, -100, 100, 0, 0);
- Ambient_Sounds_Add_Sound(368, 2, 120, 11, 12, -100, 100, -100, 100, 0, 0);
- Ambient_Sounds_Add_Sound(369, 2, 120, 11, 12, -100, 100, -100, 100, 0, 0);
- Ambient_Sounds_Add_Sound(370, 2, 120, 11, 12, -100, 100, -100, 100, 0, 0);
- Ambient_Sounds_Add_Sound(293, 2, 20, 20, 25, -100, 100, -100, 100, 0, 0);
- Ambient_Sounds_Add_Sound(294, 2, 20, 20, 25, -100, 100, -100, 100, 0, 0);
- Ambient_Sounds_Add_Sound(295, 2, 20, 20, 25, -100, 100, -100, 100, 0, 0);
- Ambient_Sounds_Add_Sound(303, 5, 50, 17, 37, -100, 100, -101, -101, 0, 0);
- Ambient_Sounds_Add_Sound(304, 5, 50, 17, 37, -100, 100, -101, -101, 0, 0);
- Ambient_Sounds_Add_Sound(305, 5, 50, 17, 37, -100, 100, -101, -101, 0, 0);
+ Ambient_Sounds_Add_Looping_Sound(332, 40, 0, 1);
+ Ambient_Sounds_Add_Looping_Sound(333, 40, 0, 1);
+ Ambient_Sounds_Add_Sound(291, 2, 20, 20, 25, -100, 100, -100, 100, 0, 0);
+ Ambient_Sounds_Add_Sound(292, 2, 20, 20, 25, -100, 100, -100, 100, 0, 0);
+ Ambient_Sounds_Add_Sound(368, 2, 120, 11, 12, -100, 100, -100, 100, 0, 0);
+ Ambient_Sounds_Add_Sound(369, 2, 120, 11, 12, -100, 100, -100, 100, 0, 0);
+ Ambient_Sounds_Add_Sound(370, 2, 120, 11, 12, -100, 100, -100, 100, 0, 0);
+ Ambient_Sounds_Add_Sound(293, 2, 20, 20, 25, -100, 100, -100, 100, 0, 0);
+ Ambient_Sounds_Add_Sound(294, 2, 20, 20, 25, -100, 100, -100, 100, 0, 0);
+ Ambient_Sounds_Add_Sound(295, 2, 20, 20, 25, -100, 100, -100, 100, 0, 0);
+ Ambient_Sounds_Add_Sound(303, 5, 50, 17, 37, -100, 100, -101, -101, 0, 0);
+ Ambient_Sounds_Add_Sound(304, 5, 50, 17, 37, -100, 100, -101, -101, 0, 0);
+ Ambient_Sounds_Add_Sound(305, 5, 50, 17, 37, -100, 100, -101, -101, 0, 0);
+
if (Game_Flag_Query(373)) {
Scene_Loop_Set_Default(2);
} else {
@@ -83,7 +86,7 @@ bool SceneScriptUG12::ClickedOnExit(int exitId) {
if (!Loop_Actor_Walk_To_XYZ(kActorMcCoy, 375.0f, -126.21f, 180.0f, 0, 1, false, 0)) {
Ambient_Sounds_Remove_All_Non_Looping_Sounds(true);
Ambient_Sounds_Remove_All_Looping_Sounds(1);
- Game_Flag_Set(344);
+ Game_Flag_Set(kFlagUG12toUG14);
Set_Enter(kSetUG14, kSceneUG14);
}
return true;
diff --git a/engines/bladerunner/script/scene/ug13.cpp b/engines/bladerunner/script/scene/ug13.cpp
index 3fb1aaf..e2a7ae9 100644
--- a/engines/bladerunner/script/scene/ug13.cpp
+++ b/engines/bladerunner/script/scene/ug13.cpp
@@ -27,17 +27,19 @@ namespace BladeRunner {
void SceneScriptUG13::InitializeScene() {
if (Game_Flag_Query(435)) {
Setup_Scene_Information(-477.0f, 141.9f, -870.0f, 378);
- } else if (Game_Flag_Query(350)) {
- Setup_Scene_Information(39.0f, 52.94f, -528.0f, 600);
+ } else if (Game_Flag_Query(kFlagUG15toUG13)) {
+ Setup_Scene_Information( 39.0f, 52.94f, -528.0f, 600);
} else {
- Setup_Scene_Information(-22.0f, 54.63f, -883.0f, 578);
+ Setup_Scene_Information( -22.0f, 54.63f, -883.0f, 578);
Actor_Set_Invisible(kActorMcCoy, false);
}
+
if (!Game_Flag_Query(431)) {
Scene_Exit_Add_2D_Exit(0, 394, 205, 464, 281, 0);
}
Scene_Exit_Add_2D_Exit(1, 560, 90, 639, 368, 1);
Scene_Exit_Add_2D_Exit(2, 108, 85, 175, 210, 3);
+
Ambient_Sounds_Add_Looping_Sound(331, 15, 0, 1);
Ambient_Sounds_Add_Looping_Sound(332, 40, 0, 1);
Ambient_Sounds_Add_Looping_Sound(333, 40, 0, 1);
@@ -46,7 +48,10 @@ void SceneScriptUG13::InitializeScene() {
Ambient_Sounds_Add_Sound(369, 2, 120, 11, 12, -100, 100, -100, 100, 0, 0);
Ambient_Sounds_Add_Sound(397, 2, 120, 11, 12, -100, 100, -100, 100, 0, 0);
Ambient_Sounds_Add_Sound(398, 2, 120, 11, 12, -100, 100, -100, 100, 0, 0);
- if (Global_Variable_Query(kVariableChapter) == 4 && !Game_Flag_Query(kFlagMcCoyKilledHomeless)) {
+
+ if ( Global_Variable_Query(kVariableChapter) == 4
+ && !Game_Flag_Query(kFlagCT04HomelessKilledByMcCoy)
+ ) {
Actor_Set_Goal_Number(kActorTransient, 390);
}
if (Actor_Query_Goal_Number(kActorTransient) == 599) {
@@ -74,7 +79,7 @@ void SceneScriptUG13::SceneLoaded() {
Unclickable_Object("BASKET");
if ( Global_Variable_Query(kVariableChapter) >= 3
&& !Actor_Clue_Query(kActorMcCoy, kClueOriginalRequisitionForm)
- && Game_Flag_Query(kFlagMcCoyKilledHomeless)
+ && Game_Flag_Query(kFlagCT04HomelessKilledByMcCoy)
&& (Actor_Clue_Query(kActorMcCoy, kClueShippingForm)
|| Actor_Clue_Query(kActorMcCoy, kClueWeaponsOrderForm)
)
@@ -175,7 +180,7 @@ bool SceneScriptUG13::ClickedOnExit(int exitId) {
}
if (exitId == 1) {
if (!Loop_Actor_Walk_To_XYZ(kActorMcCoy, 39.0f, 52.94f, -528.0f, 0, 1, false, 0)) {
- Game_Flag_Set(351);
+ Game_Flag_Set(kFlagUG13toUG15);
Set_Enter(kSetUG15, kSceneUG15);
}
return true;
@@ -238,15 +243,15 @@ void SceneScriptUG13::PlayerWalkedIn() {
Loop_Actor_Travel_Stairs(kActorMcCoy, 11, 0, kAnimationModeIdle);
Footstep_Sound_Override_Off();
Game_Flag_Reset(435);
- } else if (Game_Flag_Query(350)) {
+ } else if (Game_Flag_Query(kFlagUG15toUG13)) {
Loop_Actor_Walk_To_XYZ(kActorMcCoy, -12.0f, 44.0f, -528.0f, 0, 0, false, 0);
- Game_Flag_Reset(350);
+ Game_Flag_Reset(kFlagUG15toUG13);
} else {
Loop_Actor_Walk_To_XYZ(kActorMcCoy, -60.0f, 55.24f, -816.0f, 0, 0, false, 0);
Game_Flag_Reset(429);
Player_Gains_Control();
}
- if (Actor_Query_Goal_Number(kActorTransient) >= 390 && !Game_Flag_Query(kFlagMcCoyKilledHomeless)) {
+ if (Actor_Query_Goal_Number(kActorTransient) >= 390 && !Game_Flag_Query(kFlagCT04HomelessKilledByMcCoy)) {
if (Game_Flag_Query(553)) {
if (Random_Query(1, 3) == 1) {
Actor_Set_Goal_Number(kActorTransient, 395);
diff --git a/engines/bladerunner/script/scene/ug14.cpp b/engines/bladerunner/script/scene/ug14.cpp
index 6e95691..ace4b90 100644
--- a/engines/bladerunner/script/scene/ug14.cpp
+++ b/engines/bladerunner/script/scene/ug14.cpp
@@ -25,32 +25,34 @@
namespace BladeRunner {
void SceneScriptUG14::InitializeScene() {
- if (Game_Flag_Query(349)) {
- Setup_Scene_Information(-278.0f, 12.97f, -152.0f, 200);
- } else if (Game_Flag_Query(344)) {
- Setup_Scene_Information(-50.0f, 129.0f, -814.0f, 533);
+ if (Game_Flag_Query(kFlagUG19toUG14)) {
+ Setup_Scene_Information(-278.0f, 12.97f, -152.0f, 200);
+ } else if (Game_Flag_Query(kFlagUG12toUG14)) {
+ Setup_Scene_Information( -50.0f, 129.0f, -814.0f, 533);
} else {
- Setup_Scene_Information(233.0f, 186.04f, -32.0f, 865);
+ Setup_Scene_Information( 233.0f, 186.04f, -32.0f, 865);
}
- Scene_Exit_Add_2D_Exit(0, 0, 232, 45, 427, 3);
- Scene_Exit_Add_2D_Exit(1, 175, 44, 228, 115, 0);
- Scene_Exit_Add_2D_Exit(2, 537, 0, 639, 190, 1);
+
+ Scene_Exit_Add_2D_Exit(0, 0, 232, 45, 427, 3);
+ Scene_Exit_Add_2D_Exit(1, 175, 44, 228, 115, 0);
+ Scene_Exit_Add_2D_Exit(2, 537, 0, 639, 190, 1);
+
Ambient_Sounds_Add_Looping_Sound(331, 28, 0, 1);
Ambient_Sounds_Add_Looping_Sound(332, 40, 0, 1);
Ambient_Sounds_Add_Looping_Sound(333, 40, 0, 1);
- Ambient_Sounds_Add_Sound(291, 2, 20, 20, 25, -100, 100, -100, 100, 0, 0);
- Ambient_Sounds_Add_Sound(292, 2, 20, 20, 25, -100, 100, -100, 100, 0, 0);
- Ambient_Sounds_Add_Sound(401, 2, 120, 11, 12, -100, 100, -100, 100, 0, 0);
- Ambient_Sounds_Add_Sound(402, 2, 120, 11, 12, -100, 100, -100, 100, 0, 0);
- Ambient_Sounds_Add_Sound(369, 2, 120, 11, 12, -100, 100, -100, 100, 0, 0);
- Ambient_Sounds_Add_Sound(397, 2, 120, 11, 12, -100, 100, -100, 100, 0, 0);
- Ambient_Sounds_Add_Sound(398, 2, 120, 11, 12, -100, 100, -100, 100, 0, 0);
- Ambient_Sounds_Add_Sound(293, 2, 20, 20, 25, -100, 100, -100, 100, 0, 0);
- Ambient_Sounds_Add_Sound(294, 2, 20, 20, 25, -100, 100, -100, 100, 0, 0);
- Ambient_Sounds_Add_Sound(295, 2, 20, 20, 25, -100, 100, -100, 100, 0, 0);
- Ambient_Sounds_Add_Sound(303, 5, 50, 17, 37, -100, 100, -101, -101, 0, 0);
- Ambient_Sounds_Add_Sound(304, 5, 50, 17, 37, -100, 100, -101, -101, 0, 0);
- Ambient_Sounds_Add_Sound(305, 5, 50, 17, 37, -100, 100, -101, -101, 0, 0);
+ Ambient_Sounds_Add_Sound(291, 2, 20, 20, 25, -100, 100, -100, 100, 0, 0);
+ Ambient_Sounds_Add_Sound(292, 2, 20, 20, 25, -100, 100, -100, 100, 0, 0);
+ Ambient_Sounds_Add_Sound(401, 2, 120, 11, 12, -100, 100, -100, 100, 0, 0);
+ Ambient_Sounds_Add_Sound(402, 2, 120, 11, 12, -100, 100, -100, 100, 0, 0);
+ Ambient_Sounds_Add_Sound(369, 2, 120, 11, 12, -100, 100, -100, 100, 0, 0);
+ Ambient_Sounds_Add_Sound(397, 2, 120, 11, 12, -100, 100, -100, 100, 0, 0);
+ Ambient_Sounds_Add_Sound(398, 2, 120, 11, 12, -100, 100, -100, 100, 0, 0);
+ Ambient_Sounds_Add_Sound(293, 2, 20, 20, 25, -100, 100, -100, 100, 0, 0);
+ Ambient_Sounds_Add_Sound(294, 2, 20, 20, 25, -100, 100, -100, 100, 0, 0);
+ Ambient_Sounds_Add_Sound(295, 2, 20, 20, 25, -100, 100, -100, 100, 0, 0);
+ Ambient_Sounds_Add_Sound(303, 5, 50, 17, 37, -100, 100, -101, -101, 0, 0);
+ Ambient_Sounds_Add_Sound(304, 5, 50, 17, 37, -100, 100, -101, -101, 0, 0);
+ Ambient_Sounds_Add_Sound(305, 5, 50, 17, 37, -100, 100, -101, -101, 0, 0);
}
void SceneScriptUG14::SceneLoaded() {
@@ -84,36 +86,36 @@ bool SceneScriptUG14::ClickedOnExit(int exitId) {
}
if (!exitId) {
if (v1) {
- if (Loop_Actor_Walk_To_XYZ(kActorMcCoy, 141.47f, 128.92f, -150.16f, 0, 1, false, 0)) {
+ if (Loop_Actor_Walk_To_XYZ(kActorMcCoy, 141.47f, 128.92f, -150.16f, 0, true, false, 0)) {
return false;
}
Actor_Face_XYZ(kActorMcCoy, -14.53f, 12.12f, -150.16f, true);
Footstep_Sound_Override_On(3);
- Loop_Actor_Travel_Stairs(kActorMcCoy, 13, 0, kAnimationModeIdle);
+ Loop_Actor_Travel_Stairs(kActorMcCoy, 13, false, kAnimationModeIdle);
Footstep_Sound_Override_Off();
}
- if (!Loop_Actor_Walk_To_XYZ(kActorMcCoy, -278.0f, 12.97f, -152.0f, 0, 1, false, 0)) {
+ if (!Loop_Actor_Walk_To_XYZ(kActorMcCoy, -278.0f, 12.97f, -152.0f, 0, true, false, 0)) {
Ambient_Sounds_Remove_All_Non_Looping_Sounds(true);
Ambient_Sounds_Remove_All_Looping_Sounds(1);
- Game_Flag_Set(348);
+ Game_Flag_Set(kFlagUG14toUG19);
Set_Enter(kSetUG19, kSceneUG19);
}
return true;
}
if (exitId == 1) {
if (!v1) {
- if (Loop_Actor_Walk_To_XYZ(kActorMcCoy, -14.53f, 12.12f, -150.16f, 0, 1, false, 0)) {
+ if (Loop_Actor_Walk_To_XYZ(kActorMcCoy, -14.53f, 12.12f, -150.16f, 0, true, false, 0)) {
return false;
}
Actor_Face_XYZ(kActorMcCoy, 141.47f, 128.92f, -150.16f, true);
Footstep_Sound_Override_On(3);
- Loop_Actor_Travel_Stairs(kActorMcCoy, 13, 1, kAnimationModeIdle);
+ Loop_Actor_Travel_Stairs(kActorMcCoy, 13, true, kAnimationModeIdle);
Footstep_Sound_Override_Off();
}
- if (!Loop_Actor_Walk_To_XYZ(kActorMcCoy, -50.0f, 129.0f, -814.0f, 0, 1, false, 0)) {
+ if (!Loop_Actor_Walk_To_XYZ(kActorMcCoy, -50.0f, 129.0f, -814.0f, 0, true, false, 0)) {
Ambient_Sounds_Remove_All_Non_Looping_Sounds(true);
Ambient_Sounds_Remove_All_Looping_Sounds(1);
- Game_Flag_Set(345);
+ Game_Flag_Set(kFlagUG14toUG12);
Set_Enter(kSetCT08_CT51_UG12, kSceneUG12);
}
return true;
@@ -121,22 +123,22 @@ bool SceneScriptUG14::ClickedOnExit(int exitId) {
if (exitId == 2) {
if (!v1) {
- if (Loop_Actor_Walk_To_XYZ(kActorMcCoy, -14.53f, 12.12f, -150.16f, 0, 1, false, 0)) {
+ if (Loop_Actor_Walk_To_XYZ(kActorMcCoy, -14.53f, 12.12f, -150.16f, 0, true, false, 0)) {
return false;
}
Actor_Face_XYZ(kActorMcCoy, 141.47f, 128.92f, -150.16f, true);
Footstep_Sound_Override_On(3);
- Loop_Actor_Travel_Stairs(kActorMcCoy, 13, 1, kAnimationModeIdle);
+ Loop_Actor_Travel_Stairs(kActorMcCoy, 13, true, kAnimationModeIdle);
Footstep_Sound_Override_Off();
}
- if (!Loop_Actor_Walk_To_XYZ(kActorMcCoy, 157.0f, 128.92f, -108.01f, 0, 1, false, 0)) {
+ if (!Loop_Actor_Walk_To_XYZ(kActorMcCoy, 157.0f, 128.92f, -108.01f, 0, true, false, 0)) {
Footstep_Sound_Override_On(3);
- Loop_Actor_Travel_Stairs(kActorMcCoy, 6, 1, kAnimationModeIdle);
+ Loop_Actor_Travel_Stairs(kActorMcCoy, 6, true, kAnimationModeIdle);
Footstep_Sound_Override_Off();
- Loop_Actor_Walk_To_XYZ(kActorMcCoy, 233.0f, 186.04f, -32.0f, 0, 0, false, 0);
+ Loop_Actor_Walk_To_XYZ(kActorMcCoy, 233.0f, 186.04f, -32.0f, 0, false, false, 0);
Ambient_Sounds_Remove_All_Non_Looping_Sounds(true);
Ambient_Sounds_Remove_All_Looping_Sounds(1);
- Game_Flag_Set(346);
+ Game_Flag_Set(kFlagUG14toUG10);
Set_Enter(kSetUG10, kSceneUG10);
}
return true;
@@ -155,23 +157,26 @@ void SceneScriptUG14::ActorChangedGoal(int actorId, int newGoal, int oldGoal, bo
}
void SceneScriptUG14::PlayerWalkedIn() {
- if (Game_Flag_Query(349)) {
- Loop_Actor_Walk_To_XYZ(kActorMcCoy, -250.0f, 12.97f, -152.0f, 0, 0, false, 0);
- Game_Flag_Reset(349);
- } else if (Game_Flag_Query(344)) {
- Loop_Actor_Walk_To_XYZ(kActorMcCoy, -50.0f, 129.0f, -604.0f, 0, 0, false, 0);
- Game_Flag_Reset(344);
+ if (Game_Flag_Query(kFlagUG19toUG14)) {
+ Loop_Actor_Walk_To_XYZ(kActorMcCoy, -250.0f, 12.97f, -152.0f, 0, false, false, 0);
+ Game_Flag_Reset(kFlagUG19toUG14);
+ } else if (Game_Flag_Query(kFlagUG12toUG14)) {
+ Loop_Actor_Walk_To_XYZ(kActorMcCoy, -50.0f, 129.0f, -604.0f, 0, false, false, 0);
+ Game_Flag_Reset(kFlagUG12toUG14);
} else {
- Loop_Actor_Walk_To_XYZ(kActorMcCoy, 157.0f, 186.04f, -44.01f, 0, 0, false, 0);
+ Loop_Actor_Walk_To_XYZ(kActorMcCoy, 157.0f, 186.04f, -44.01f, 0, false, false, 0);
Actor_Face_Heading(kActorMcCoy, 10, false);
Footstep_Sound_Override_On(3);
- Loop_Actor_Travel_Stairs(kActorMcCoy, 6, 0, kAnimationModeIdle);
+ Loop_Actor_Travel_Stairs(kActorMcCoy, 6, false, kAnimationModeIdle);
Footstep_Sound_Override_Off();
- Loop_Actor_Walk_To_XYZ(kActorMcCoy, 157.0f, 128.92f, -148.01f, 0, 0, false, 0);
+ Loop_Actor_Walk_To_XYZ(kActorMcCoy, 157.0f, 128.92f, -148.01f, 0, false, false, 0);
Actor_Face_Heading(kActorMcCoy, 807, false);
- Game_Flag_Reset(347);
+ Game_Flag_Reset(kFlagUG10toUG14);
}
- if (Global_Variable_Query(kVariableChapter) == 4 && Game_Flag_Query(kFlagDumpsterEmptied) && !Game_Flag_Query(694)) {
+ if ( Global_Variable_Query(kVariableChapter) == 4
+ && Game_Flag_Query(kFlagCT04HomelessBodyThrownAway)
+ && !Game_Flag_Query(kFlagUG14DeadHomeless)
+ ) {
Overlay_Play("UG14OVER", 0, 0, 1, 0);
Delay(1000);
Actor_Face_Heading(kActorMcCoy, 609, false);
@@ -179,7 +184,7 @@ void SceneScriptUG14::PlayerWalkedIn() {
Actor_Voice_Over(270, kActorVoiceOver);
Delay(2150);
Actor_Voice_Over(300, kActorVoiceOver);
- Game_Flag_Set(694);
+ Game_Flag_Set(kFlagUG14DeadHomeless);
}
//return false;
}
diff --git a/engines/bladerunner/script/scene/ug15.cpp b/engines/bladerunner/script/scene/ug15.cpp
index 4743c8d..13408bb 100644
--- a/engines/bladerunner/script/scene/ug15.cpp
+++ b/engines/bladerunner/script/scene/ug15.cpp
@@ -25,57 +25,62 @@
namespace BladeRunner {
void SceneScriptUG15::InitializeScene() {
- if (Game_Flag_Query(353)) {
- Setup_Scene_Information(-25.0f, 26.31f, -434.0f, 520);
- } else if (Game_Flag_Query(kFlagUG16toUG15)) {
- Setup_Scene_Information(-17.0f, 26.31f, -346.0f, 711);
- } else if (Game_Flag_Query(355)) {
- Setup_Scene_Information(-18.0f, 48.07f, 62.0f, 650);
+ if (Game_Flag_Query(kFlagUG17toUG15)) {
+ Setup_Scene_Information( -25.0f, 26.31f, -434.0f, 520);
+ } else if (Game_Flag_Query(kFlagUG16toUG15a)) {
+ Setup_Scene_Information( -17.0f, 26.31f, -346.0f, 711);
+ } else if (Game_Flag_Query(kFlagUG16toUG15b)) {
+ Setup_Scene_Information( -18.0f, 48.07f, 62.0f, 650);
} else {
- Setup_Scene_Information(-238.0f, 48.07f, 222.0f, 180);
- if (Game_Flag_Query(676) && Random_Query(1, 10) == 10) {
+ Setup_Scene_Information(-238.0f, 48.07f, 222.0f, 180);
+ if (Game_Flag_Query(676)
+ && Random_Query(1, 10) == 10
+ ) {
Game_Flag_Reset(676);
}
}
if (Game_Flag_Query(682)) {
Scene_Loop_Set_Default(3);
}
- if (Game_Flag_Query(353) || Game_Flag_Query(kFlagUG16toUG15)) {
- Scene_Exit_Add_2D_Exit(0, 260, 0, 307, 298, 0);
+
+ if (Game_Flag_Query(kFlagUG17toUG15)
+ || Game_Flag_Query(kFlagUG16toUG15a)
+ ) {
+ Scene_Exit_Add_2D_Exit(0, 260, 0, 307, 298, 0);
Scene_Exit_Add_2D_Exit(1, 301, 147, 337, 304, 1);
- Game_Flag_Reset(353);
- Game_Flag_Reset(kFlagUG16toUG15);
+ Game_Flag_Reset(kFlagUG17toUG15);
+ Game_Flag_Reset(kFlagUG16toUG15a);
} else {
Scene_Exit_Add_2D_Exit(2, 406, 128, 480, 316, 1);
- Scene_Exit_Add_2D_Exit(3, 0, 0, 30, 479, 3);
+ Scene_Exit_Add_2D_Exit(3, 0, 0, 30, 479, 3);
}
+
Ambient_Sounds_Add_Looping_Sound(105, 71, 0, 1);
- Ambient_Sounds_Add_Looping_Sound(95, 45, 0, 1);
+ Ambient_Sounds_Add_Looping_Sound( 95, 45, 0, 1);
Ambient_Sounds_Add_Looping_Sound(332, 76, 0, 1);
- Ambient_Sounds_Add_Sound(291, 2, 20, 25, 33, -100, 100, -100, 100, 0, 0);
- Ambient_Sounds_Add_Sound(292, 2, 20, 25, 33, -100, 100, -100, 100, 0, 0);
- Ambient_Sounds_Add_Sound(293, 2, 20, 25, 33, -100, 100, -100, 100, 0, 0);
- Ambient_Sounds_Add_Sound(294, 2, 20, 25, 33, -100, 100, -100, 100, 0, 0);
- Ambient_Sounds_Add_Sound(295, 2, 20, 25, 33, -100, 100, -100, 100, 0, 0);
- Ambient_Sounds_Add_Sound(401, 2, 120, 11, 12, -100, 100, -100, 100, 0, 0);
- Ambient_Sounds_Add_Sound(402, 2, 120, 11, 12, -100, 100, -100, 100, 0, 0);
- Ambient_Sounds_Add_Sound(369, 2, 120, 11, 12, -100, 100, -100, 100, 0, 0);
- Ambient_Sounds_Add_Sound(397, 2, 120, 11, 12, -100, 100, -100, 100, 0, 0);
- Ambient_Sounds_Add_Sound(398, 2, 120, 11, 12, -100, 100, -100, 100, 0, 0);
- Ambient_Sounds_Add_Sound(303, 5, 50, 47, 57, -100, 100, -101, -101, 0, 0);
- Ambient_Sounds_Add_Sound(304, 5, 50, 47, 57, -100, 100, -101, -101, 0, 0);
- Ambient_Sounds_Add_Sound(305, 5, 50, 47, 57, -100, 100, -101, -101, 0, 0);
- Ambient_Sounds_Add_Sound(1, 5, 50, 47, 57, -100, 100, -101, -101, 0, 0);
- Ambient_Sounds_Add_Sound(57, 5, 50, 17, 37, -100, 100, -101, -101, 0, 0);
- Ambient_Sounds_Add_Sound(58, 5, 50, 17, 37, -100, 100, -101, -101, 0, 0);
- Ambient_Sounds_Add_Sound(306, 5, 50, 27, 37, -100, 100, -101, -101, 0, 0);
- Ambient_Sounds_Add_Sound(307, 5, 50, 27, 37, -100, 100, -101, -101, 0, 0);
- Ambient_Sounds_Add_Sound(308, 5, 50, 27, 37, -100, 100, -101, -101, 0, 0);
- Ambient_Sounds_Add_Sound(196, 5, 50, 27, 37, -100, 100, -101, -101, 0, 0);
- Ambient_Sounds_Add_Sound(197, 5, 50, 27, 37, -100, 100, -101, -101, 0, 0);
- Ambient_Sounds_Add_Sound(198, 5, 50, 27, 37, -100, 100, -101, -101, 0, 0);
- Ambient_Sounds_Add_Sound(199, 5, 50, 27, 37, -100, 100, -101, -101, 0, 0);
-
+ Ambient_Sounds_Add_Sound(291, 2, 20, 25, 33, -100, 100, -100, 100, 0, 0);
+ Ambient_Sounds_Add_Sound(292, 2, 20, 25, 33, -100, 100, -100, 100, 0, 0);
+ Ambient_Sounds_Add_Sound(293, 2, 20, 25, 33, -100, 100, -100, 100, 0, 0);
+ Ambient_Sounds_Add_Sound(294, 2, 20, 25, 33, -100, 100, -100, 100, 0, 0);
+ Ambient_Sounds_Add_Sound(295, 2, 20, 25, 33, -100, 100, -100, 100, 0, 0);
+ Ambient_Sounds_Add_Sound(401, 2, 120, 11, 12, -100, 100, -100, 100, 0, 0);
+ Ambient_Sounds_Add_Sound(402, 2, 120, 11, 12, -100, 100, -100, 100, 0, 0);
+ Ambient_Sounds_Add_Sound(369, 2, 120, 11, 12, -100, 100, -100, 100, 0, 0);
+ Ambient_Sounds_Add_Sound(397, 2, 120, 11, 12, -100, 100, -100, 100, 0, 0);
+ Ambient_Sounds_Add_Sound(398, 2, 120, 11, 12, -100, 100, -100, 100, 0, 0);
+ Ambient_Sounds_Add_Sound(303, 5, 50, 47, 57, -100, 100, -101, -101, 0, 0);
+ Ambient_Sounds_Add_Sound(304, 5, 50, 47, 57, -100, 100, -101, -101, 0, 0);
+ Ambient_Sounds_Add_Sound(305, 5, 50, 47, 57, -100, 100, -101, -101, 0, 0);
+ Ambient_Sounds_Add_Sound( 1, 5, 50, 47, 57, -100, 100, -101, -101, 0, 0);
+ Ambient_Sounds_Add_Sound( 57, 5, 50, 17, 37, -100, 100, -101, -101, 0, 0);
+ Ambient_Sounds_Add_Sound( 58, 5, 50, 17, 37, -100, 100, -101, -101, 0, 0);
+ Ambient_Sounds_Add_Sound(306, 5, 50, 27, 37, -100, 100, -101, -101, 0, 0);
+ Ambient_Sounds_Add_Sound(307, 5, 50, 27, 37, -100, 100, -101, -101, 0, 0);
+ Ambient_Sounds_Add_Sound(308, 5, 50, 27, 37, -100, 100, -101, -101, 0, 0);
+ Ambient_Sounds_Add_Sound(196, 5, 50, 27, 37, -100, 100, -101, -101, 0, 0);
+ Ambient_Sounds_Add_Sound(197, 5, 50, 27, 37, -100, 100, -101, -101, 0, 0);
+ Ambient_Sounds_Add_Sound(198, 5, 50, 27, 37, -100, 100, -101, -101, 0, 0);
+ Ambient_Sounds_Add_Sound(199, 5, 50, 27, 37, -100, 100, -101, -101, 0, 0);
}
void SceneScriptUG15::SceneLoaded() {
@@ -107,20 +112,22 @@ bool SceneScriptUG15::ClickedOnExit(int exitId) {
if (!Loop_Actor_Walk_To_XYZ(kActorMcCoy, -25.0f, 26.31f, -434.0f, 0, 1, false, 0)) {
Ambient_Sounds_Remove_All_Non_Looping_Sounds(true);
Ambient_Sounds_Remove_All_Looping_Sounds(1);
- Game_Flag_Set(352);
+ Game_Flag_Set(kFlagUG15toUG17);
Set_Enter(kSetUG17, kSceneUG17);
}
return true;
}
+
if (exitId == 1) {
if (!Loop_Actor_Walk_To_XYZ(kActorMcCoy, -17.0f, 26.31f, -346.0f, 0, 1, false, 0)) {
Ambient_Sounds_Remove_All_Non_Looping_Sounds(true);
Ambient_Sounds_Remove_All_Looping_Sounds(1);
- Game_Flag_Set(kFlagUG15toUG16);
+ Game_Flag_Set(kFlagUG15toUG16a);
Set_Enter(kSetUG16, kSceneUG16);
}
return true;
}
+
if (exitId == 2) {
int v1 = Actor_Query_Goal_Number(kActorFreeSlotA);
if (v1 >= 300 && v1 <= 303) {
@@ -128,22 +135,22 @@ bool SceneScriptUG15::ClickedOnExit(int exitId) {
} else if (!Loop_Actor_Walk_To_XYZ(kActorMcCoy, 18.0f, 52.28f, 46.0f, 0, 1, false, 0)) {
Ambient_Sounds_Remove_All_Non_Looping_Sounds(true);
Ambient_Sounds_Remove_All_Looping_Sounds(1);
- Game_Flag_Set(354);
+ Game_Flag_Set(kFlagUG15toUG16b);
Set_Enter(kSetUG16, kSceneUG16);
}
return true;
}
+
if (exitId == 3) {
if (!Loop_Actor_Walk_To_XYZ(kActorMcCoy, -238.0f, 52.46f, 222.0f, 0, 1, false, 0)) {
Ambient_Sounds_Remove_All_Non_Looping_Sounds(true);
Ambient_Sounds_Remove_All_Looping_Sounds(1);
- Game_Flag_Set(350);
+ Game_Flag_Set(kFlagUG15toUG13);
Set_Enter(kSetUG13, kSceneUG13);
}
return true;
}
return false;
-
}
bool SceneScriptUG15::ClickedOn2DRegion(int region) {
@@ -154,7 +161,9 @@ void SceneScriptUG15::SceneFrameAdvanced(int frame) {
if (Actor_Query_Goal_Number(kActorFreeSlotA) == 300) {
float x, y, z;
Actor_Query_XYZ(kActorMcCoy, &x, &y, &z);
- if (-160.0f <= x && z < 220.0f) {
+ if (-160.0f <= x
+ && z < 220.0f
+ ) {
Actor_Set_Goal_Number(kActorFreeSlotA, 301);
}
}
@@ -164,14 +173,19 @@ void SceneScriptUG15::SceneFrameAdvanced(int frame) {
if (Game_Flag_Query(677) && !Game_Flag_Query(682)) {
float x, y, z;
Actor_Query_XYZ(kActorMcCoy, &x, &y, &z);
- if (-180.0f <= x && (z < 220.0f && !Game_Flag_Query(724))) {
+ if (-180.0f <= x
+ && z < 220.0f
+ && !Game_Flag_Query(724)
+ ) {
Game_Flag_Set(724);
Game_Flag_Set(682);
Scene_Loop_Set_Default(3);
Scene_Loop_Start_Special(kSceneLoopModeOnce, 2, true);
Actor_Set_Goal_Number(kActorMcCoy, 390);
Actor_Query_XYZ(kActorFreeSlotA, &x, &y, &z);
- if (-200.0f < x && -62.0f > x) {
+ if (-200.0f < x
+ && -62.0f > x
+ ) {
Actor_Set_Goal_Number(kActorFreeSlotA, 309);
}
}
@@ -183,11 +197,11 @@ void SceneScriptUG15::ActorChangedGoal(int actorId, int newGoal, int oldGoal, bo
}
void SceneScriptUG15::PlayerWalkedIn() {
- if (Game_Flag_Query(355)) {
- Loop_Actor_Walk_To_XYZ(kActorMcCoy, -62.0f, 48.07f, 102.0f, 0, 0, false, 0);
- Game_Flag_Reset(355);
- } else if (Game_Flag_Query(351)) {
- Game_Flag_Reset(351);
+ if (Game_Flag_Query(kFlagUG16toUG15b)) {
+ Loop_Actor_Walk_To_XYZ(kActorMcCoy, -62.0f, 48.07f, 102.0f, 0, false, false, 0);
+ Game_Flag_Reset(kFlagUG16toUG15b);
+ } else if (Game_Flag_Query(kFlagUG13toUG15)) {
+ Game_Flag_Reset(kFlagUG13toUG15);
if (!Game_Flag_Query(676)) {
Actor_Set_Goal_Number(kActorFreeSlotA, 310);
}
diff --git a/engines/bladerunner/script/scene/ug16.cpp b/engines/bladerunner/script/scene/ug16.cpp
index fbffe9f..858f4d1 100644
--- a/engines/bladerunner/script/scene/ug16.cpp
+++ b/engines/bladerunner/script/scene/ug16.cpp
@@ -28,19 +28,22 @@ void SceneScriptUG16::InitializeScene() {
if (Game_Flag_Query(552)) {
Setup_Scene_Information(-270.76f, -34.88f, -504.02f, 404);
Game_Flag_Reset(552);
- } else if (Game_Flag_Query(kFlagUG15toUG16)) {
+ } else if (Game_Flag_Query(kFlagUG15toUG16a)) {
Setup_Scene_Information(-322.0f, -34.0f, -404.0f, 345);
- Game_Flag_Reset(kFlagUG15toUG16);
+ Game_Flag_Reset(kFlagUG15toUG16a);
} else {
Setup_Scene_Information(-318.0f, -34.0f, -216.0f, 340);
- Game_Flag_Reset(354);
+ Game_Flag_Reset(kFlagUG15toUG16b);
}
+
Scene_Exit_Add_2D_Exit(0, 242, 169, 282, 262, 3);
Scene_Exit_Add_2D_Exit(1, 375, 166, 407, 251, 3);
Scene_Exit_Add_2D_Exit(2, 461, 148, 523, 248, 0);
+
Ambient_Sounds_Add_Looping_Sound(516, 33, 81, 0);
- Ambient_Sounds_Add_Looping_Sound(332, 40, 0, 1);
- Ambient_Sounds_Add_Looping_Sound(333, 40, 0, 1);
+ Ambient_Sounds_Add_Looping_Sound(332, 40, 0, 1);
+ Ambient_Sounds_Add_Looping_Sound(333, 40, 0, 1);
+
if (Game_Flag_Query(568)) {
Scene_Loop_Set_Default(5);
} else {
@@ -132,24 +135,26 @@ bool SceneScriptUG16::ClickedOnExit(int exitId) {
if (!Loop_Actor_Walk_To_XYZ(kActorMcCoy, -322.0f, -34.0f, -216.0f, 0, 1, false, 0)) {
Ambient_Sounds_Remove_All_Non_Looping_Sounds(true);
Ambient_Sounds_Remove_All_Looping_Sounds(1);
- Game_Flag_Set(355);
+ Game_Flag_Set(kFlagUG16toUG15b);
Set_Enter(kSetUG15, kSceneUG15);
}
return true;
}
+
if (exitId == 1) {
if (!Loop_Actor_Walk_To_XYZ(kActorMcCoy, -322.0f, -34.0f, -404.0f, 0, 1, false, 0)) {
Ambient_Sounds_Remove_All_Non_Looping_Sounds(true);
Ambient_Sounds_Remove_All_Looping_Sounds(1);
- Game_Flag_Set(kFlagUG16toUG15);
+ Game_Flag_Set(kFlagUG16toUG15a);
Set_Enter(kSetUG15, kSceneUG15);
}
return true;
}
+
if (exitId == 2) {
if (!Loop_Actor_Walk_To_XYZ(kActorMcCoy, -316.78f, -34.88f, -533.27f, 0, 1, false, 0)) {
Actor_Face_Heading(kActorMcCoy, 0, false);
- Loop_Actor_Travel_Stairs(kActorMcCoy, 13, 1, kAnimationModeIdle);
+ Loop_Actor_Travel_Stairs(kActorMcCoy, 13, true, kAnimationModeIdle);
Ambient_Sounds_Remove_All_Non_Looping_Sounds(true);
Ambient_Sounds_Remove_All_Looping_Sounds(1);
Game_Flag_Set(551);
diff --git a/engines/bladerunner/script/scene/ug17.cpp b/engines/bladerunner/script/scene/ug17.cpp
index 104c831..afbe340 100644
--- a/engines/bladerunner/script/scene/ug17.cpp
+++ b/engines/bladerunner/script/scene/ug17.cpp
@@ -31,14 +31,17 @@ void SceneScriptUG17::InitializeScene() {
} else {
Setup_Scene_Information(1000.0f, 67.96f, -1539.0f, 0);
}
- Scene_Exit_Add_2D_Exit(0, 610, 0, 639, 479, 1);
+
+ Scene_Exit_Add_2D_Exit(0, 610, 0, 639, 479, 1);
Scene_Exit_Add_2D_Exit(1, 551, 347, 594, 386, 0);
+
Ambient_Sounds_Add_Looping_Sound(589, 100, 1, 1);
- Ambient_Sounds_Add_Looping_Sound(384, 50, 1, 1);
+ Ambient_Sounds_Add_Looping_Sound(384, 50, 1, 1);
Ambient_Sounds_Add_Sound(72, 5, 80, 10, 11, -100, 100, -101, -101, 0, 0);
Ambient_Sounds_Add_Sound(73, 5, 80, 10, 11, -100, 100, -101, -101, 0, 0);
Ambient_Sounds_Add_Sound(74, 5, 80, 10, 11, -100, 100, -101, -101, 0, 0);
- Overlay_Play("UG17OVER", 0, 1, 0, 0);
+
+ Overlay_Play("UG17OVER", 0, true, false, 0);
}
void SceneScriptUG17::SceneLoaded() {
@@ -67,7 +70,7 @@ bool SceneScriptUG17::ClickedOnExit(int exitId) {
if (!Loop_Actor_Walk_To_XYZ(kActorMcCoy, 1000.0f, 67.96f, -1539.0f, 0, 1, false, 0)) {
Ambient_Sounds_Remove_All_Non_Looping_Sounds(true);
Ambient_Sounds_Remove_All_Looping_Sounds(1);
- Game_Flag_Set(353);
+ Game_Flag_Set(kFlagUG17toUG15);
Set_Enter(kSetUG15, kSceneUG15);
}
return true;
@@ -101,9 +104,9 @@ void SceneScriptUG17::ActorChangedGoal(int actorId, int newGoal, int oldGoal, bo
}
void SceneScriptUG17::PlayerWalkedIn() {
- if (Game_Flag_Query(352)) {
- Loop_Actor_Walk_To_XYZ(kActorMcCoy, 961.0f, 67.96f, -1539.0f, 0, 0, false, 0);
- Game_Flag_Reset(352);
+ if (Game_Flag_Query(kFlagUG15toUG17)) {
+ Loop_Actor_Walk_To_XYZ(kActorMcCoy, 961.0f, 67.96f, -1539.0f, 0, false, false, 0);
+ Game_Flag_Reset(kFlagUG15toUG17);
}
//return false;
}
diff --git a/engines/bladerunner/script/scene/ug19.cpp b/engines/bladerunner/script/scene/ug19.cpp
index 4c7d963..40097de 100644
--- a/engines/bladerunner/script/scene/ug19.cpp
+++ b/engines/bladerunner/script/scene/ug19.cpp
@@ -25,38 +25,39 @@
namespace BladeRunner {
void SceneScriptUG19::InitializeScene() {
- if (Game_Flag_Query(357)) {
+ if (Game_Flag_Query(kFlagMA07toUG19)) {
Setup_Scene_Information(67.03f, 105.0f, -74.97f, 256);
} else {
- Setup_Scene_Information(181.0f, 11.52f, -18.0f, 777);
+ Setup_Scene_Information(181.0f, 11.52f, -18.0f, 777);
}
- Scene_Exit_Add_2D_Exit(0, 351, 0, 491, 347, 0);
+
+ Scene_Exit_Add_2D_Exit(0, 351, 0, 491, 347, 0);
Scene_Exit_Add_2D_Exit(1, 548, 124, 639, 369, 1);
- Ambient_Sounds_Add_Looping_Sound(95, 45, 0, 1);
- Ambient_Sounds_Add_Looping_Sound(332, 76, 0, 1);
- Ambient_Sounds_Add_Sound(291, 2, 20, 25, 33, -100, 100, -100, 100, 0, 0);
- Ambient_Sounds_Add_Sound(292, 2, 20, 25, 33, -100, 100, -100, 100, 0, 0);
- Ambient_Sounds_Add_Sound(293, 2, 20, 25, 33, -100, 100, -100, 100, 0, 0);
- Ambient_Sounds_Add_Sound(294, 2, 20, 25, 33, -100, 100, -100, 100, 0, 0);
- Ambient_Sounds_Add_Sound(295, 2, 20, 25, 33, -100, 100, -100, 100, 0, 0);
- Ambient_Sounds_Add_Sound(401, 2, 120, 11, 12, -100, 100, -100, 100, 0, 0);
- Ambient_Sounds_Add_Sound(369, 2, 120, 11, 12, -100, 100, -100, 100, 0, 0);
- Ambient_Sounds_Add_Sound(396, 2, 120, 11, 12, -100, 100, -100, 100, 0, 0);
- Ambient_Sounds_Add_Sound(397, 2, 120, 11, 12, -100, 100, -100, 100, 0, 0);
- Ambient_Sounds_Add_Sound(303, 5, 50, 47, 57, -100, 100, -101, -101, 0, 0);
- Ambient_Sounds_Add_Sound(304, 5, 50, 47, 57, -100, 100, -101, -101, 0, 0);
- Ambient_Sounds_Add_Sound(305, 5, 50, 47, 57, -100, 100, -101, -101, 0, 0);
- Ambient_Sounds_Add_Sound(1, 5, 50, 47, 57, -100, 100, -101, -101, 0, 0);
- Ambient_Sounds_Add_Sound(57, 5, 50, 17, 37, -100, 100, -101, -101, 0, 0);
- Ambient_Sounds_Add_Sound(58, 5, 50, 17, 37, -100, 100, -101, -101, 0, 0);
- Ambient_Sounds_Add_Sound(306, 5, 50, 27, 37, -100, 100, -101, -101, 0, 0);
- Ambient_Sounds_Add_Sound(307, 5, 50, 27, 37, -100, 100, -101, -101, 0, 0);
- Ambient_Sounds_Add_Sound(308, 5, 50, 27, 37, -100, 100, -101, -101, 0, 0);
- Ambient_Sounds_Add_Sound(196, 5, 50, 27, 37, -100, 100, -101, -101, 0, 0);
- Ambient_Sounds_Add_Sound(197, 5, 50, 27, 37, -100, 100, -101, -101, 0, 0);
- Ambient_Sounds_Add_Sound(198, 5, 50, 27, 37, -100, 100, -101, -101, 0, 0);
- Ambient_Sounds_Add_Sound(199, 5, 50, 27, 37, -100, 100, -101, -101, 0, 0);
+ Ambient_Sounds_Add_Looping_Sound( 95, 45, 0, 1);
+ Ambient_Sounds_Add_Looping_Sound(332, 76, 0, 1);
+ Ambient_Sounds_Add_Sound(291, 2, 20, 25, 33, -100, 100, -100, 100, 0, 0);
+ Ambient_Sounds_Add_Sound(292, 2, 20, 25, 33, -100, 100, -100, 100, 0, 0);
+ Ambient_Sounds_Add_Sound(293, 2, 20, 25, 33, -100, 100, -100, 100, 0, 0);
+ Ambient_Sounds_Add_Sound(294, 2, 20, 25, 33, -100, 100, -100, 100, 0, 0);
+ Ambient_Sounds_Add_Sound(295, 2, 20, 25, 33, -100, 100, -100, 100, 0, 0);
+ Ambient_Sounds_Add_Sound(401, 2, 120, 11, 12, -100, 100, -100, 100, 0, 0);
+ Ambient_Sounds_Add_Sound(369, 2, 120, 11, 12, -100, 100, -100, 100, 0, 0);
+ Ambient_Sounds_Add_Sound(396, 2, 120, 11, 12, -100, 100, -100, 100, 0, 0);
+ Ambient_Sounds_Add_Sound(397, 2, 120, 11, 12, -100, 100, -100, 100, 0, 0);
+ Ambient_Sounds_Add_Sound(303, 5, 50, 47, 57, -100, 100, -101, -101, 0, 0);
+ Ambient_Sounds_Add_Sound(304, 5, 50, 47, 57, -100, 100, -101, -101, 0, 0);
+ Ambient_Sounds_Add_Sound(305, 5, 50, 47, 57, -100, 100, -101, -101, 0, 0);
+ Ambient_Sounds_Add_Sound( 1, 5, 50, 47, 57, -100, 100, -101, -101, 0, 0);
+ Ambient_Sounds_Add_Sound( 57, 5, 50, 17, 37, -100, 100, -101, -101, 0, 0);
+ Ambient_Sounds_Add_Sound( 58, 5, 50, 17, 37, -100, 100, -101, -101, 0, 0);
+ Ambient_Sounds_Add_Sound(306, 5, 50, 27, 37, -100, 100, -101, -101, 0, 0);
+ Ambient_Sounds_Add_Sound(307, 5, 50, 27, 37, -100, 100, -101, -101, 0, 0);
+ Ambient_Sounds_Add_Sound(308, 5, 50, 27, 37, -100, 100, -101, -101, 0, 0);
+ Ambient_Sounds_Add_Sound(196, 5, 50, 27, 37, -100, 100, -101, -101, 0, 0);
+ Ambient_Sounds_Add_Sound(197, 5, 50, 27, 37, -100, 100, -101, -101, 0, 0);
+ Ambient_Sounds_Add_Sound(198, 5, 50, 27, 37, -100, 100, -101, -101, 0, 0);
+ Ambient_Sounds_Add_Sound(199, 5, 50, 27, 37, -100, 100, -101, -101, 0, 0);
}
void SceneScriptUG19::SceneLoaded() {
@@ -91,7 +92,7 @@ bool SceneScriptUG19::ClickedOnExit(int exitId) {
Footstep_Sound_Override_Off();
Ambient_Sounds_Remove_All_Non_Looping_Sounds(true);
Ambient_Sounds_Remove_All_Looping_Sounds(1);
- Game_Flag_Set(356);
+ Game_Flag_Set(kFlagUG19toMA07);
Set_Enter(kSetMA07, kSceneMA07);
}
return true;
@@ -100,7 +101,7 @@ bool SceneScriptUG19::ClickedOnExit(int exitId) {
if (!Loop_Actor_Walk_To_XYZ(kActorMcCoy, 181.0f, 11.52f, -18.0f, 0, 1, false, 0)) {
Ambient_Sounds_Remove_All_Non_Looping_Sounds(true);
Ambient_Sounds_Remove_All_Looping_Sounds(1);
- Game_Flag_Set(349);
+ Game_Flag_Set(kFlagUG19toUG14);
Set_Enter(kSetUG14, kSceneUG14);
}
return true;
@@ -119,13 +120,13 @@ void SceneScriptUG19::ActorChangedGoal(int actorId, int newGoal, int oldGoal, bo
}
void SceneScriptUG19::PlayerWalkedIn() {
- if (Game_Flag_Query(348)) {
- Game_Flag_Reset(348);
- Loop_Actor_Walk_To_XYZ(kActorMcCoy, 129.0f, 11.52f, -18.0f, 0, 0, false, 0);
+ if (Game_Flag_Query(kFlagUG14toUG19)) {
+ Game_Flag_Reset(kFlagUG14toUG19);
+ Loop_Actor_Walk_To_XYZ(kActorMcCoy, 129.0f, 11.52f, -18.0f, 0, false, false, 0);
} else {
- Game_Flag_Reset(357);
More information about the Scummvm-git-logs
mailing list