aboutsummaryrefslogtreecommitdiff
path: root/engines/startrek
diff options
context:
space:
mode:
Diffstat (limited to 'engines/startrek')
-rw-r--r--engines/startrek/graphics.cpp3
-rw-r--r--engines/startrek/object.h44
-rw-r--r--engines/startrek/startrek.cpp2
3 files changed, 48 insertions, 1 deletions
diff --git a/engines/startrek/graphics.cpp b/engines/startrek/graphics.cpp
index 145a156b1e..fc371545d1 100644
--- a/engines/startrek/graphics.cpp
+++ b/engines/startrek/graphics.cpp
@@ -51,6 +51,9 @@ Graphics::Graphics(StarTrekEngine *vm) : _vm(vm), _egaMode(false) {
_palData = new byte[256 * 3];
_lutData = new byte[256 * 3];
+ memset(_palData, 0, 256 * 3);
+ memset(_lutData, 0, 256 * 3);
+
_paletteFadeLevel = 0;
_mouseLocked = false;
_mouseToBeShown = false;
diff --git a/engines/startrek/object.h b/engines/startrek/object.h
index 6a7911636f..92597881ec 100644
--- a/engines/startrek/object.h
+++ b/engines/startrek/object.h
@@ -122,6 +122,50 @@ struct Actor {
uint16 fielda2;
uint16 fielda4;
uint16 fielda6;
+
+public:
+ Actor() :
+ spriteDrawn(),
+ //animFilename[16],
+ animType(),
+ sprite(),
+ //bitmapFilename[10],
+ scale(),
+ animFile(),
+ numAnimFrames(),
+ animFrame(),
+ frameToStartNextAnim(),
+ pos(),
+ field60(),
+ field62(),
+ triggerActionWhenAnimFinished(),
+ finishedAnimActionParam(),
+ //animationString2[8](),
+ field70(),
+ field72(),
+ field74(),
+ field76(),
+ iwSrcPosition(),
+ iwDestPosition(),
+ granularPosX(),
+ granularPosY(),
+ speedX(),
+ speedY(),
+
+ dest(),
+ field90(),
+ field92(),
+
+ direction(),
+ field94(),
+ field96(),
+ //char animationString[10];
+
+ fielda2(),
+ fielda4(),
+ fielda6()
+ {}
+
};
}
diff --git a/engines/startrek/startrek.cpp b/engines/startrek/startrek.cpp
index c623c1b0a6..82ac94e673 100644
--- a/engines/startrek/startrek.cpp
+++ b/engines/startrek/startrek.cpp
@@ -1134,7 +1134,7 @@ bool StarTrekEngine::walkActiveObjectToHotspot() {
int objectIndex;
if (_awayMission.activeAction != ACTION_USE)
objectIndex = OBJECT_KIRK;
- else if (_awayMission.activeObject >= OBJECT_KIRK && _awayMission.activeObject <= OBJECT_REDSHIRT)
+ else if (_awayMission.activeObject <= OBJECT_REDSHIRT)
objectIndex = _awayMission.activeObject;
else if (_awayMission.activeObject >= ITEMS_START && _awayMission.activeObject <= ITEMS_END) { // FIXME: "<= ITEMS_END" doesn't make sense?
if (_awayMission.activeObject == OBJECT_ISTRICOR)