aboutsummaryrefslogtreecommitdiff
path: root/engines/director/director.h
diff options
context:
space:
mode:
Diffstat (limited to 'engines/director/director.h')
-rw-r--r--engines/director/director.h19
1 files changed, 17 insertions, 2 deletions
diff --git a/engines/director/director.h b/engines/director/director.h
index 344d53a84f..0648d1c1d6 100644
--- a/engines/director/director.h
+++ b/engines/director/director.h
@@ -25,6 +25,7 @@
#include "common/random.h"
#include "common/rect.h"
+#include "common/str-array.h"
#include "common/hashmap.h"
#include "engines/engine.h"
@@ -47,7 +48,8 @@ namespace Director {
enum DirectorGameID {
GID_GENERIC,
- GID_TEST
+ GID_TEST,
+ GID_TESTALL
};
class Archive;
@@ -80,7 +82,11 @@ struct MovieReference {
MovieReference() { frameI = -1; }
};
-extern byte defaultPalette[768];
+struct PaletteV4 {
+ int id;
+ byte *palette;
+ int length;
+};
class DirectorEngine : public ::Engine {
public:
@@ -101,8 +107,10 @@ public:
Score *getCurrentScore() const { return _currentScore; }
Score *getSharedScore() const { return _sharedScore; }
Common::String getCurrentPath() const { return _currentPath; }
+ void setPalette(int id);
void setPalette(byte *palette, uint16 count);
bool hasFeature(EngineFeature f) const;
+ void loadPalettes();
const byte *getPalette() const { return _currentPalette; }
uint16 getPaletteColorCount() const { return _currentPaletteLength; }
void loadSharedCastsFrom(Common::String filename);
@@ -172,15 +180,22 @@ private:
Graphics::MacPatterns _director3Patterns;
Graphics::MacPatterns _director3QuickDrawPatterns;
+ Common::HashMap<int, PaletteV4 *> _director4Palettes;
+
Common::String _sharedCastFile;
bool _draggingSprite;
uint16 _draggingSpriteId;
Common::Point _draggingSpritePos;
+ Common::StringArray _movieQueue;
+
private:
void testFontScaling();
void testFonts();
+
+ void enqueueAllMovies();
+ MovieReference getNextMovieFromQueue();
};
extern DirectorEngine *g_director;