22 #ifndef TWINE_RESOURCES_RESOURCES_H 23 #define TWINE_RESOURCES_RESOURCES_H 25 #include "common/hashmap.h" 26 #include "common/scummsys.h" 27 #include "twine/parser/body.h" 28 #include "twine/parser/holomap.h" 29 #include "twine/parser/sprite.h" 30 #include "twine/parser/text.h" 31 #include "twine/resources/hqr.h" 32 #include "twine/scene/gamestate.h" 33 #include "twine/scene/scene.h" 38 #define RESSHQR_MAINPAL 0 39 #define RESSHQR_LBAFONT 1 40 #define RESSHQR_BLANK 2 41 #define RESSHQR_SPRITEBOXDATA 3 42 #define RESSHQR_SPRITESHADOW 4 43 #define RESSHQR_HOLOPAL 5 // lba1 44 #define RESSHQR_HOLOSURFACE 6 // lba1 45 #define RESSHQR_HOLOIMG 7 // lba1 46 #define RESSHQR_HOLOARROWINFO 8 // lba1 47 #define RESSHQR_HOLOTWINMDL 9 // lba1 48 #define RESSHQR_HOLOARROWMDL 10 // lba1 49 #define RESSHQR_HOLOTWINARROWMDL 11 // lba1 51 #define RESSHQR_BLACKPAL 9 // lba2 52 #define RESSHQR_ECLAIRPAL 10 // lba2 53 #define SAMPLE_RAIN 13 55 #define RESSHQR_GAMEOVERMDL 21 57 #define RESSHQR_ALARMREDPAL 22 58 #define RESSHQR_FLAINFO 23 59 #define RESSHQR_DARKPAL 24 61 #define RESSHQR_HOLOPOINTMDL 29 62 #define RESSHQR_HOLOPOINTANIM 30 64 #define RESSHQR_PLASMAEFFECT 51 66 #define FLA_DRAGON3 "dragon3" 67 #define FLA_INTROD "introd" 68 #define FLA_THEEND "the_end" 69 #define FLA_BATEAU "bateau" 71 #define ACF_INTRO "INTRO" 73 #define FILE3DHQR_HERONORMAL 0 74 #define FILE3DHQR_HEROATHLETIC 1 75 #define FILE3DHQR_HEROAGGRESSIVE 2 76 #define FILE3DHQR_HERODISCRETE 3 77 #define FILE3DHQR_HEROPROTOPACK 4 80 #define SPRITEHQR_KASHES 3 81 #define SPRITEHQR_LIFEPOINTS 4 82 #define SPRITEHQR_MAGICPOINTS 5 83 #define SPRITEHQR_KEY 6 84 #define SPRITEHQR_CLOVERLEAF 7 85 #define SPRITEHQR_CLOVERLEAFBOX 41 87 #define SPRITEHQR_MAGICBALL_YELLOW 1 88 #define SPRITEHQR_MAGICBALL_FIRE 13 89 #define SPRITEHQR_MAGICBALL_GREEN 42 90 #define SPRITEHQR_MAGICBALL_RED 43 91 #define SPRITEHQR_MAGICBALL_YELLOW_TRANS 44 92 #define SPRITEHQR_EXPLOSION_FIRST_FRAME 97 // 7 frames 93 #define SPRITEHQR_FENCE_1 18 94 #define SPRITEHQR_FENCE_2 19 95 #define SPRITEHQR_FENCE_3 22 96 #define SPRITEHQR_FENCE_4 23 97 #define SPRITEHQR_FENCE_METAL 35 98 #define SPRITEHQR_FENCE_METAL_2 54 99 #define SPRITEHQR_FENCE_METAL_3 83 100 #define SPRITEHQR_MUSHROOM 92 101 #define SPRITEHQR_DOOR_WODDEN_1 31 102 #define SPRITEHQR_DOOR_WODDEN_2 32 103 #define SPRITEHQR_DOOR_PRISON_WODDEN 37 104 #define SPRITEHQR_DOOR_PADLOCK 58 105 #define SPRITEHQR_DOOR_BRICKED_UP 76 106 #define SPRITEHQR_DOOR_1 104 107 #define SPRITEHQR_DOOR_2 107 108 #define SPRITEHQR_DOOR_3 24 109 #define SPRITEHQR_DOOR_4 11 110 #define SPRITEHQR_DOOR_5 12 111 #define SPRITEHQR_DOOR_PRISON_GRID 15 112 #define SPRITEHQR_DOOR_PRISON_HARMED 16 113 #define SPRITEHQR_DOOR_PRISON_WITH_F_LETTER 17 114 #define SPRITEHQR_MAGICBALL_GREEN_TRANS 109 115 #define SPRITEHQR_MAGICBALL_RED_TRANS 110 117 #define SPRITEHQR_DIAG_BUBBLE_RIGHT 90 118 #define SPRITEHQR_DIAG_BUBBLE_LEFT 91 121 #define NUM_ANIMS 2083 // 600 for lba1 124 #define NUM_SAMPLES 895 // 243 for lba1 132 void preloadInventoryItems();
136 void preloadSprites();
138 void preloadAnimations();
139 void preloadSamples();
140 void loadMovieInfo();
180 uint8 *_fontPtr =
nullptr;
181 uint8 *_sjisFontPtr =
nullptr;
194 const Trajectory *getTrajectory(
int index)
const;
196 const TextEntry *getText(TextBankId textBankId, TextId index)
const;
198 int findSmkMovieIndex(
const char *name)
const;
201 static constexpr
const char *HQR_RESS_FILE =
"ress.hqr";
203 static constexpr
const char *HQR_TEXT_FILE =
"text.hqr";
205 static constexpr
const char *HQR_SAMPLES_FILE =
"samples.hqr";
213 static constexpr
const char *HQR_LBA_BLL_FILE =
"lba_bll.hqr";
222 static constexpr
const char *HQR_SCENE_FILE =
"scene.hqr";
224 static constexpr
const char *HQR_SCREEN_FILE =
"screen.hqr";
226 static constexpr
const char *HQR_SPRITES_FILE =
"sprites.hqr";
233 static constexpr
const char *HQR_BODY_FILE =
"body.hqr";
235 static constexpr
const char *HQR_ANIM_FILE =
"anim.hqr";
237 static constexpr
const char *HQR_INVOBJ_FILE =
"invobj.hqr";
243 static constexpr
const char *HQR_FLASAMP_FILE =
"flasamp.hqr";
244 static constexpr
const char *HQR_MIDI_MI_DOS_FILE =
"midi_mi.hqr";
245 static constexpr
const char *HQR_MIDI_MI_WIN_FILE =
"midi_mi_win.hqr";
247 static constexpr
const char *HQR_VIDEO_FILE =
"video.hqr";
250 if (_engine->isLBA1()) {
251 return TwineImage(Resources::HQR_RESS_FILE, 27, 28);
253 return TwineImage(Resources::HQR_SCREEN_FILE, 0, 1);
257 if (_engine->isLBA1()) {
258 return TwineImage(Resources::HQR_RESS_FILE, 49, 50);
260 return TwineImage(Resources::HQR_SCREEN_FILE, 60, 61);
264 if (_engine->isLBA1()) {
265 return TwineImage(Resources::HQR_RESS_FILE, 52, 53);
267 return TwineImage(Resources::HQR_SCREEN_FILE, 74, 75);
271 assert(_engine->isLBA2());
272 return TwineImage(Resources::HQR_SCREEN_FILE, 72, 73);
276 assert(_engine->isLBA2());
277 return TwineImage(Resources::HQR_SCREEN_FILE, 76, 77);
281 assert(_engine->isLBA1());
282 return TwineImage(Resources::HQR_RESS_FILE, 12, 13);
286 if (_engine->isLBA1()) {
287 return TwineImage(Resources::HQR_RESS_FILE, 14, -1);
289 return TwineImage(Resources::HQR_SCREEN_FILE, 4, 5);
BodyData _bodyData[NUM_BODIES]
Definition: resources.h:171
static constexpr const char * HQR_FLAGIF_FILE
Floppy version of the game uses gifs for replacing the videos.
Definition: resources.h:242
static constexpr const char * HQR_FILE3D_FILE
Definition: resources.h:231
BodyData _inventoryTable[NUM_INVENTORY_ITEMS]
Definition: resources.h:160
static constexpr const char * HQR_LBA_BRK_FILE
Definition: resources.h:220
uint8 * _spriteTable[NUM_SPRITES]
Definition: resources.h:163
uint32 _spriteSizeTable[NUM_SPRITES]
Definition: resources.h:165
int32 _fontBufSize
Definition: resources.h:179
uint8 * _samplesTable[895]
Definition: resources.h:174
Definition: achievements_tables.h:27
Definition: resources.h:128
const Common::Array< int32 > & getMovieInfo(const Common::String &name) const
static constexpr const char * HQR_LBA_GRI_FILE
Definition: resources.h:211
uint32 _samplesSizeTable[895]
Definition: resources.h:176