22 #ifndef MEDIASTATION_ASSET_HEADER_H 23 #define MEDIASTATION_ASSET_HEADER_H 25 #include "common/str.h" 26 #include "common/rect.h" 27 #include "common/hashmap.h" 28 #include "graphics/palette.h" 30 #include "mediastation/datafile.h" 31 #include "mediastation/mediascript/eventhandler.h" 41 typedef uint32 ChunkReference;
43 typedef uint32 AssetId;
46 kAssetTypeScreen = 0x0001,
47 kAssetTypeStage = 0x0002,
48 kAssetTypePath = 0x0004,
49 kAssetTypeSound = 0x0005,
50 kAssetTypeTimer = 0x0006,
51 kAssetTypeImage = 0x0007,
52 kAssetTypeHotspot = 0x000b,
53 kAssetTypeSprite = 0x000e,
54 kAssetTypeLKZazu = 0x000f,
55 kAssetTypeLKConstellations = 0x0010,
56 kAssetTypeImageSet = 0x001d,
57 kAssetTypeCursor = 0x000c,
58 kAssetTypePrinter = 0x0019,
59 kAssetTypeMovie = 0x0016,
60 kAssetTypePalette = 0x0017,
61 kAssetTypeText = 0x001a,
62 kAssetTypeFont = 0x001b,
63 kAssetTypeCamera = 0x001c,
64 kAssetTypeCanvas = 0x001e,
67 kAssetTypeXsnd = 0x001f,
68 kAssetTypeXsndMidi = 0x0020,
70 kAssetTypeRecorder = 0x0021,
71 kAssetTypeFunction = 0x0069
74 enum AssetStartupType {
75 kAssetStartupInactive = 0,
76 kAssetStartupActive = 1
79 enum AssetHeaderSectionType {
80 kAssetHeaderEmptySection = 0x0000,
81 kAssetHeaderSoundEncoding1 = 0x0001,
82 kAssetHeaderSoundEncoding2 = 0x0002,
83 kAssetHeaderEventHandler = 0x0017,
84 kAssetHeaderStageId = 0x0019,
85 kAssetHeaderAssetId = 0x001a,
86 kAssetHeaderChunkReference = 0x001b,
87 kAssetHeaderMovieAnimationChunkReference = 0x06a4,
88 kAssetHeaderMovieAudioChunkReference = 0x06a5,
89 kAssetHeaderAssetReference = 0x077b,
90 kAssetHeaderBoundingBox = 0x001c,
91 kAssetHeaderMouseActiveArea = 0x001d,
92 kAssetHeaderZIndex = 0x001e,
93 kAssetHeaderStartup = 0x001f,
94 kAssetHeaderTransparency = 0x0020,
95 kAssetHeaderHasOwnSubfile = 0x0021,
96 kAssetHeaderCursorResourceId = 0x0022,
97 kAssetHeaderFrameRate = 0x0024,
98 kAssetHeaderLoadType = 0x0032,
99 kAssetHeaderSoundInfo = 0x0033,
100 kAssetHeaderMovieLoadType = 0x0037,
101 kAssetHeaderSpriteChunkCount = 0x03e8,
102 kAssetHeaderPalette = 0x05aa,
103 kAssetHeaderDissolveFactor = 0x05dc,
104 kAssetHeaderGetOffstageEvents = 0x05dd,
105 kAssetHeaderX = 0x05de,
106 kAssetHeaderY = 0x05df,
109 kAssetHeaderStartPoint = 0x060e,
110 kAssetHeaderEndPoint = 0x060f,
111 kAssetHeaderPathTotalSteps = 0x0610,
112 kAssetHeaderStepRate = 0x0611,
113 kAssetHeaderDuration = 0x0612,
116 kAssetHeaderViewportOrigin = 0x076f,
117 kAssetHeaderLensOpen = 0x0770,
120 kAssetHeaderStageUnk1 = 0x0771,
121 kAssetHeaderCylindricalX = 0x0772,
122 kAssetHeaderCylindricalY = 0x0773,
123 kAssetHeaderAssetName = 0x0bb8,
126 kAssetHeaderEditable = 0x03eb,
127 kAssetHeaderFontId = 0x0258,
128 kAssetHeaderInitialText = 0x0259,
129 kAssetHeaderTextMaxLength = 0x25a,
130 kAssetHeaderTextJustification = 0x025b,
131 kAssetHeaderTextPosition = 0x25f,
132 kAssetHeaderTextUnk1 = 0x262,
133 kAssetHeaderTextUnk2 = 0x263,
134 kAssetHeaderTextCharacterClass = 0x0266,
137 kAssetHeaderSpriteFrameMapping = 0x03e9
140 enum TextJustification {
141 kTextJustificationLeft = 0x25c,
142 kTextJustificationRight = 0x25d,
143 kTextJustificationCenter = 0x25e
147 kTextPositionMiddle = 0x25e,
148 kTextPositionTop = 0x260,
149 kTextPositionBotom = 0x261
153 uint firstAsciiCode = 0;
154 uint lastAsciiCode = 0;
158 PCM_S16LE_MONO_22050 = 0x0010,
159 IMA_ADPCM_S16LE_MONO_22050 = 0x0004
167 uint32 _fileNumber = 0;
171 ChunkReference _chunkReference = 0;
173 ChunkReference _audioChunkReference = 0;
174 ChunkReference _animationChunkReference = 0;
178 uint32 _assetReference = 0;
180 bool _transparency =
false;
181 bool _hasOwnSubfile =
false;
182 uint32 _cursorResourceId = 0;
183 uint32 _frameRate = 0;
184 uint32 _loadType = 0;
188 bool _getOffstageEvents = 0;
193 SoundEncoding _soundEncoding;
194 uint32 _chunkCount = 0;
198 uint32 _dissolveFactor = 0;
201 uint32 _stepRate = 0;
202 uint32 _duration = 0;
203 uint _totalSteps = 0;
214 uint _maxTextLength = 0;
215 uint _fontAssetId = 0;
216 TextJustification _justification;
217 TextPosition _position;
221 void readSection(AssetHeaderSectionType sectionType,
Chunk &chunk);
222 AssetHeaderSectionType getSectionType(
Chunk &chunk);
Simple class for handling a palette data.
Definition: palette.h:51