TWINE: load holomap resources

This commit is contained in:
Martin Gerhardy 2020-11-17 21:39:46 +01:00
parent c45caf3b08
commit a0f39a8c81
3 changed files with 45 additions and 5 deletions

View File

@ -86,11 +86,9 @@ void Holomap::loadGfxSub2() {
}
void Holomap::loadHolomapGFX() {
uint8 *videoPtr1 = (uint8 *)_engine->workVideoBuffer.getPixels();
uint8 *videoPtr3 = videoPtr1 + 7854;
uint8 *videoPtr4 = videoPtr1 + 8398;
uint8 *videoPtr5 = videoPtr1 + 73934;
uint8 *videoPtr3 = (uint8 *)_engine->workVideoBuffer.getBasePtr(174, 12);
uint8 *videoPtr4 = (uint8 *)_engine->workVideoBuffer.getBasePtr(78, 13);
uint8 *videoPtr5 = (uint8 *)_engine->workVideoBuffer.getBasePtr(334, 115);
HQR::getEntry(videoPtr3, Resources::HQR_RESS_FILE, RESSHQR_HOLOSURFACE);
HQR::getEntry(videoPtr4, Resources::HQR_RESS_FILE, RESSHQR_HOLOIMG);
@ -106,6 +104,7 @@ void Holomap::loadHolomapGFX() {
loadGfxSub(videoPtr8);
// TODO:
// uint8 *videoPtr1 = (uint8 *)_engine->workVideoBuffer.getPixels();
// uint8 *videoPtr2 = videoPtr1 + 4488;
// uint8 *videoPtr11 = videoPtr8 + HQR::getEntry(videoPtr8, Resources::HQR_RESS_FILE, RESSHQR_HOLOPOINTMDL);
// uint8 *videoPtr10 = videoPtr11 + 4488;

View File

@ -46,6 +46,11 @@ Resources::~Resources() {
free(fontPtr);
free(spriteShadowPtr);
free(spriteBoundingBoxPtr);
free(holomapSurfacePtr);
free(holomapImagePtr);
free(holomapTwinsenModelPtr);
free(holomapTwinsenArrowPtr);
free(holomapArrowPtr);
free(_engine->_screens->mainPalette);
}
@ -141,6 +146,31 @@ void Resources::initResources() {
error("Failed to load actors bounding box data");
}
holomapSurfaceSize = HQR::getAllocEntry(&holomapSurfacePtr, Resources::HQR_RESS_FILE, RESSHQR_HOLOSURFACE);
if (holomapSurfaceSize == 0) {
error("Failed to load holomap surface");
}
holomapImageSize = HQR::getAllocEntry(&holomapImagePtr, Resources::HQR_RESS_FILE, RESSHQR_HOLOIMG);
if (holomapImageSize == 0) {
error("Failed to load holomap image");
}
holomapTwinsenModelSize = HQR::getAllocEntry(&holomapTwinsenModelPtr, Resources::HQR_RESS_FILE, RESSHQR_HOLOTWINMDL);
if (holomapTwinsenModelSize == 0) {
error("Failed to load holomap twinsen model");
}
holomapArrowSize = HQR::getAllocEntry(&holomapArrowPtr, Resources::HQR_RESS_FILE, RESSHQR_HOLOARROWMDL);
if (holomapArrowSize == 0) {
error("Failed to load holomap arrow model");
}
holomapTwinsenArrowSize = HQR::getAllocEntry(&holomapTwinsenArrowPtr, Resources::HQR_RESS_FILE, RESSHQR_HOLOTWINARROWMDL);
if (holomapTwinsenArrowSize == 0) {
error("Failed to load holomap twinsen arrow model");
}
preloadSprites();
preloadAnimations();
preloadSamples();

View File

@ -173,6 +173,17 @@ public:
uint32 spriteBoundingBoxSize = 0;
uint8 *spriteBoundingBoxPtr = nullptr;
uint32 holomapSurfaceSize = 0;
uint8 *holomapSurfacePtr = nullptr;
uint32 holomapImageSize = 0;
uint8 *holomapImagePtr = nullptr;
uint32 holomapTwinsenModelSize = 0;
uint8 *holomapTwinsenModelPtr = nullptr;
uint32 holomapTwinsenArrowSize = 0;
uint8 *holomapTwinsenArrowPtr = nullptr;
uint32 holomapArrowSize = 0;
uint8 *holomapArrowPtr = nullptr;
/** Initialize resource pointers */
void initResources();