[Scummvm-git-logs] scummvm master -> 853be98846af65137e8b1f298fea03fd9a8f1965
mgerhardy
martin.gerhardy at gmail.com
Tue Nov 17 21:06:55 UTC 2020
This automated email contains information about 4 new commits which have been
pushed to the 'scummvm' repo located at https://github.com/scummvm/scummvm .
Summary:
c45caf3b08 TWINE: fixed selecting slot for saving
a0f39a8c81 TWINE: load holomap resources
fe21416bd6 TWINE: replaced magic numbers
853be98846 TWINE: fixed saving the hero position
Commit: c45caf3b081a1c85debf29bcc48306bf6142c906
https://github.com/scummvm/scummvm/commit/c45caf3b081a1c85debf29bcc48306bf6142c906
Author: Martin Gerhardy (martin.gerhardy at gmail.com)
Date: 2020-11-17T21:09:50+01:00
Commit Message:
TWINE: fixed selecting slot for saving
Changed paths:
engines/twine/menuoptions.cpp
diff --git a/engines/twine/menuoptions.cpp b/engines/twine/menuoptions.cpp
index 58d8a51835..ae6be2b430 100644
--- a/engines/twine/menuoptions.cpp
+++ b/engines/twine/menuoptions.cpp
@@ -341,7 +341,8 @@ int MenuOptions::chooseSave(int textIdx, bool showEmptySlots) {
if (showEmptySlots) {
while (saveFiles.getButtonCount() < maxButtons) {
- saveFiles.addButton("EMPTY");
+ // the first button is the back button - to subtract that one again to get the real slot index
+ saveFiles.addButton("EMPTY", saveFiles.getButtonCount() - 1);
}
}
@@ -352,8 +353,9 @@ int MenuOptions::chooseSave(int textIdx, bool showEmptySlots) {
case TextId::kReturnMenu:
return -1;
default:
- // the first button is the back button - to subtract that one again to get the real slot index
- return saveFiles.getButtonState(id);
+ const int16 slot = saveFiles.getButtonState(id);
+ debug("Selected slot %d for saving", slot);
+ return slot;
}
}
Commit: a0f39a8c817cc4ea50964cb57140b5ccba6b5587
https://github.com/scummvm/scummvm/commit/a0f39a8c817cc4ea50964cb57140b5ccba6b5587
Author: Martin Gerhardy (martin.gerhardy at gmail.com)
Date: 2020-11-17T21:40:23+01:00
Commit Message:
TWINE: load holomap resources
Changed paths:
engines/twine/holomap.cpp
engines/twine/resources.cpp
engines/twine/resources.h
diff --git a/engines/twine/holomap.cpp b/engines/twine/holomap.cpp
index 6023515992..11e254711e 100644
--- a/engines/twine/holomap.cpp
+++ b/engines/twine/holomap.cpp
@@ -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;
diff --git a/engines/twine/resources.cpp b/engines/twine/resources.cpp
index 3dc7aff741..12ff6143ad 100644
--- a/engines/twine/resources.cpp
+++ b/engines/twine/resources.cpp
@@ -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();
diff --git a/engines/twine/resources.h b/engines/twine/resources.h
index 97ac8b2baf..15e70b0098 100644
--- a/engines/twine/resources.h
+++ b/engines/twine/resources.h
@@ -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();
Commit: fe21416bd6aa577cef4ce825be4052c2049dc92f
https://github.com/scummvm/scummvm/commit/fe21416bd6aa577cef4ce825be4052c2049dc92f
Author: Martin Gerhardy (martin.gerhardy at gmail.com)
Date: 2020-11-17T21:44:16+01:00
Commit Message:
TWINE: replaced magic numbers
Changed paths:
engines/twine/gamestate.cpp
engines/twine/holomap.cpp
engines/twine/renderer.h
engines/twine/script_life_v1.cpp
diff --git a/engines/twine/gamestate.cpp b/engines/twine/gamestate.cpp
index a4ce949f1c..e4222084a8 100644
--- a/engines/twine/gamestate.cpp
+++ b/engines/twine/gamestate.cpp
@@ -446,7 +446,7 @@ void GameState::processGameoverAnimation() {
_engine->_renderer->prepareIsoModel(gameOverPtr);
_engine->_sound->stopSamples();
_engine->_music->stopMidiMusic(); // stop fade music
- _engine->_renderer->setCameraPosition(320, 240, 128, 200, 200);
+ _engine->_renderer->setCameraPosition(SCREEN_WIDTH / 2, SCREEN_HEIGHT / 2, 128, 200, 200);
int32 startLbaTime = _engine->lbaTime;
_engine->_interface->setClip(left, top, right, bottom);
diff --git a/engines/twine/holomap.cpp b/engines/twine/holomap.cpp
index 11e254711e..c7a4c7f39d 100644
--- a/engines/twine/holomap.cpp
+++ b/engines/twine/holomap.cpp
@@ -157,8 +157,8 @@ void Holomap::processHolomap() {
_engine->_screens->copyScreen(_engine->frontVideoBuffer, _engine->workVideoBuffer);
loadHolomapGFX();
- drawHolomapTitle(320, 25);
- _engine->_renderer->setCameraPosition(320, 190, 128, 1024, 1024);
+ drawHolomapTitle(SCREEN_WIDTH / 2, 25);
+ _engine->_renderer->setCameraPosition(SCREEN_WIDTH / 2, 190, 128, 1024, 1024);
_engine->_text->initTextBank(TextBankId::Inventory_Intro_and_Holomap);
_engine->_text->setFontCrossColor(9);
diff --git a/engines/twine/renderer.h b/engines/twine/renderer.h
index 896bb5a069..373dba405f 100644
--- a/engines/twine/renderer.h
+++ b/engines/twine/renderer.h
@@ -241,7 +241,7 @@ public:
void renderBehaviourModel(int32 boxLeft, int32 boxTop, int32 boxRight, int32 boxBottom, int32 Y, int32 angle, uint8 *entityPtr);
- void renderInventoryItem(int32 X, int32 Y, uint8 *itemBodyPtr, int32 angle, int32 param);
+ void renderInventoryItem(int32 x, int32 y, uint8 *itemBodyPtr, int32 angle, int32 param);
};
} // namespace TwinE
diff --git a/engines/twine/script_life_v1.cpp b/engines/twine/script_life_v1.cpp
index bc8e095734..9ba2b038be 100644
--- a/engines/twine/script_life_v1.cpp
+++ b/engines/twine/script_life_v1.cpp
@@ -1431,7 +1431,7 @@ static int32 lPROJ_3D(TwinEEngine *engine, LifeScriptContext &ctx) {
engine->flip();
engine->_scene->changeRoomVar10 = 0;
- engine->_renderer->setCameraPosition(320, 240, 128, 1024, 1024);
+ engine->_renderer->setCameraPosition(SCREEN_WIDTH / 2, SCREEN_HEIGHT / 2, 128, 1024, 1024);
engine->_renderer->setCameraAngle(0, 1500, 0, 25, -128, 0, 13000);
engine->_renderer->setLightVector(896, 950, 0);
Commit: 853be98846af65137e8b1f298fea03fd9a8f1965
https://github.com/scummvm/scummvm/commit/853be98846af65137e8b1f298fea03fd9a8f1965
Author: Martin Gerhardy (martin.gerhardy at gmail.com)
Date: 2020-11-17T21:58:57+01:00
Commit Message:
TWINE: fixed saving the hero position
Changed paths:
engines/twine/gamestate.cpp
diff --git a/engines/twine/gamestate.cpp b/engines/twine/gamestate.cpp
index e4222084a8..42689889a3 100644
--- a/engines/twine/gamestate.cpp
+++ b/engines/twine/gamestate.cpp
@@ -237,9 +237,9 @@ bool GameState::saveGame(Common::WriteStream *file) {
file->writeByte(magicLevelIdx);
file->writeByte(inventoryMagicPoints);
file->writeByte(inventoryNumLeafsBox);
- file->writeSint16LE(_engine->_scene->newHeroX);
- file->writeSint16LE(_engine->_scene->newHeroY);
- file->writeSint16LE(_engine->_scene->newHeroZ);
+ file->writeSint16LE(_engine->_scene->sceneHero->x);
+ file->writeSint16LE(_engine->_scene->sceneHero->y);
+ file->writeSint16LE(_engine->_scene->sceneHero->z);
file->writeSint16LE(_engine->_scene->sceneHero->angle);
file->writeByte(_engine->_scene->sceneHero->body);
More information about the Scummvm-git-logs
mailing list