22#ifndef DIRECTOR_CAST_H
23#define DIRECTOR_CAST_H
25#include "common/hash-str.h"
28 class ReadStreamEndian;
29 class MemoryWriteStream;
31 class SeekableReadStreamEndian;
53class BitmapCastMember;
54class FilmLoopCastMember;
55class ScriptCastMember;
58class PaletteCastMember;
82#define NUMTILEPATTERNS 8
90 Cast(
Movie *movie, uint16 castLibID,
bool isShared =
false,
bool isExternal =
false, uint32 libResourceId = 1024);
96 Movie *getMovie()
const {
return _movie; }
97 void setMovie(
Movie *movie) { _movie = movie; }
100 void setCastName(
const Common::String &name) { _castName = name; }
111 bool importFileInto(
int castId,
const Common::Path &path);
114 bool keepOriginalCastBytes(
CastMember *target);
115 bool hasUnsavableChanges();
119 uint32 getCastInfoSize(uint32 castId);
120 uint32 getCastInfoStringLength(uint32 stringIndex,
CastMemberInfo *ci);
122 uint32 getConfigSize();
126 int getNextUnusedID();
128 void setCastMemberModified(
int castId);
131 bool eraseCastMember(
int castId);
132 CastMember *getCastMember(
int castId,
bool load =
true);
134 CastMember *getCastMemberByScriptId(
int scriptId);
135 int getCastIdByScriptId(uint32 scriptId)
const;
137 const Stxt *getStxt(
int castId);
141 void rebuildCastNameCache();
145 void releaseCastMemberWidget();
147 void dumpScript(
const char *script, ScriptType type, uint16
id);
149 Common::CodePage getFileEncoding();
153 void registerScriptContext(
ScriptContext *ctx) { _liveScriptContexts.setVal(ctx,
true); }
154 void unregisterScriptContext(
ScriptContext *ctx) { _liveScriptContexts.erase(ctx); }
167 uint32 computeChecksum();
173 uint32 _libResourceId;
188 uint16 _castIDoffset;
198 uint16 _castArrayStartForChecksum;
199 uint16 _castArrayEndForChecksum;
205 uint16 _castArrayStart;
206 uint16 _castArrayEnd;
215 uint8 _D7stageColorG;
216 uint8 _D7stageColorB;
220 uint16 _commentStyle;
226 uint8 _D7stageColorIsRGB;
227 uint8 _D7stageColorR;
246 uint16 _defPaletteNum = 0;
247 uint32 _chunkBaseNum = 0;
253 int16 _netPreloadNumFrames = 0;
256 uint32 _windowFlags = 0;
Definition: castmember.h:48
Definition: director.h:158
Definition: lingo-object.h:213
Definition: resolver.h:15
Definition: algorithm.h:29
Definition: castmember.h:172
Definition: director.h:126