22 #ifndef MEDIASTATION_BOOT_H 23 #define MEDIASTATION_BOOT_H 25 #include "common/path.h" 26 #include "common/str.h" 27 #include "common/array.h" 28 #include "common/hashmap.h" 30 #include "mediastation/datafile.h" 44 uint32 _majorVersion = 0;
45 uint32 _minorVersion = 0;
55 enum ContextDeclarationSectionType {
56 kContextDeclarationEmptySection = 0x0000,
57 kContextDeclarationPlaceholder = 0x0003,
58 kContextDeclarationFileNumber1 = 0x0004,
59 kContextDeclarationFileNumber2 = 0x0005,
60 kContextDeclarationFileReference = 0x0006,
61 kContextDeclarationName = 0x0bb8
70 uint32 _fileNumber = 0;
76 ContextDeclarationSectionType getSectionType(
Chunk &chunk);
79 enum UnknownDeclarationSectionType {
80 kUnknownDeclarationEmptySection = 0x0000,
81 kUnknownDeclarationUnk1 = 0x0009,
82 kUnknownDeclarationUnk2 = 0x0004
94 UnknownDeclarationSectionType getSectionType(
Chunk& chunk);
97 enum FileDeclarationSectionType {
98 kFileDeclarationEmptySection = 0x0000,
99 kFileDeclarationFileId = 0x002b,
100 kFileDeclarationFileNameAndType = 0x002d
105 enum IntendedFileLocation {
107 kFileIntendedOnCdRom = 0x0007,
109 kFileIntendedForUnk1 = 0x0008,
110 kFileIntendedForUnk2 = 0x0009,
112 kFileIntendedOnHardDisk = 0x000b
121 IntendedFileLocation _intendedLocation;
124 bool _isLast =
false;
127 FileDeclarationSectionType getSectionType(
Chunk &chunk);
130 enum SubfileDeclarationSectionType {
131 kSubfileDeclarationEmptySection = 0x0000,
132 kSubfileDeclarationAssetId = 0x002a,
133 kSubfileDeclarationFileId = 0x002b,
134 kSubfileDeclarationStartOffset = 0x002c
143 uint32 _startOffsetInFile = 0;
145 bool _isLast =
false;
148 SubfileDeclarationSectionType getSectionType(
Chunk &chunk);
171 enum BootSectionType {
172 kBootLastSection = 0x0000,
173 kBootEmptySection = 0x002e,
174 kBootContextDeclaration = 0x0002,
175 kBootVersionInformation = 0x0190,
179 kBootEngineResource = 0x0bba,
180 kBootEngineResourceId = 0x0bbb,
181 kBootUnknownDeclaration = 0x0007,
182 kBootFileDeclaration = 0x000a,
183 kBootSubfileDeclaration = 0x000b,
185 kBootCursorDeclaration = 0x0015,
186 kBootEntryScreen = 0x002f,
187 kBootAllowMultipleSounds = 0x0035,
188 kBootAllowMultipleStreams = 0x0036,
194 BootSectionType getSectionType(
Chunk &chunk);
207 uint32 _entryContextId = 0;
208 bool _allowMultipleSounds =
false;
209 bool _allowMultipleStreams =
false;