[Scummvm-git-logs] scummvm master -> 0d1c9acd4f9df14b738867455a87c42c926177a5

mgerhardy noreply at scummvm.org
Fri Jun 3 19:05:26 UTC 2022


This automated email contains information about 2 new commits which have been
pushed to the 'scummvm' repo located at https://github.com/scummvm/scummvm .

Summary:
99584cc060 TWINE: added new steam classic release to detection entries
0d1c9acd4f TWINE: fixed classic version quick behaviour handling


Commit: 99584cc060abd67368179f74e8d5174d54947a5c
    https://github.com/scummvm/scummvm/commit/99584cc060abd67368179f74e8d5174d54947a5c
Author: Martin Gerhardy (martin.gerhardy at gmail.com)
Date: 2022-06-03T21:05:17+02:00

Commit Message:
TWINE: added new steam classic release to detection entries

Changed paths:
    engines/twine/detection.cpp


diff --git a/engines/twine/detection.cpp b/engines/twine/detection.cpp
index 8adc5f461d6..ee07b0e2534 100644
--- a/engines/twine/detection.cpp
+++ b/engines/twine/detection.cpp
@@ -510,6 +510,55 @@ static const ADGameDescription twineGameDescriptions[] = {
 		GUIO1(GUIO_NONE)
 	},
 
+	// Little Big Adventure - Steam Version
+	// TLBA1C.exe
+	// 31 May 2022 12:58
+	{
+		"lba",
+		"Classic Version (Steam)",
+		AD_ENTRY1s("TLBA1C.exe", "38b038eee2d93a5bc0e0405886161252", 4417024),
+		Common::EN_ANY,
+		Common::kPlatformWindows,
+		TwinE::TF_LBA1_CLASSIC,
+		GUIO1(GUIO_NONE)
+	},
+	{
+		"lba",
+		"Classic Version (Steam)",
+		AD_ENTRY1s("TLBA1C.exe", "38b038eee2d93a5bc0e0405886161252", 4417024),
+		Common::FR_FRA,
+		Common::kPlatformWindows,
+		TwinE::TF_LBA1_CLASSIC,
+		GUIO1(GUIO_NONE)
+	},
+	{
+		"lba",
+		"Classic Version (Steam)",
+		AD_ENTRY1s("TLBA1C.exe", "38b038eee2d93a5bc0e0405886161252", 4417024),
+		Common::DE_DEU,
+		Common::kPlatformWindows,
+		TwinE::TF_LBA1_CLASSIC,
+		GUIO1(GUIO_NONE)
+	},
+	{
+		"lba",
+		"Classic Version (Steam)",
+		AD_ENTRY1s("TLBA1C.exe", "38b038eee2d93a5bc0e0405886161252", 4417024),
+		Common::IT_ITA,
+		Common::kPlatformWindows,
+		TwinE::TF_LBA1_CLASSIC,
+		GUIO1(GUIO_NONE)
+	},
+	{
+		"lba",
+		"Classic Version (Steam)",
+		AD_ENTRY1s("TLBA1C.exe", "38b038eee2d93a5bc0e0405886161252", 4417024),
+		Common::ES_ESP,
+		Common::kPlatformWindows,
+		TwinE::TF_LBA1_CLASSIC,
+		GUIO1(GUIO_NONE)
+	},
+
 	// Little Big Adventure - GOG Version
 	// TLBA1C.exe
 	// 1st June 2022 02:18


Commit: 0d1c9acd4f9df14b738867455a87c42c926177a5
    https://github.com/scummvm/scummvm/commit/0d1c9acd4f9df14b738867455a87c42c926177a5
Author: Martin Gerhardy (martin.gerhardy at gmail.com)
Date: 2022-06-03T21:05:17+02:00

Commit Message:
TWINE: fixed classic version quick behaviour handling

Changed paths:
    engines/twine/menu/menu.cpp
    engines/twine/twine.cpp


diff --git a/engines/twine/menu/menu.cpp b/engines/twine/menu/menu.cpp
index 30c3e4cac8f..24515e4270e 100644
--- a/engines/twine/menu/menu.cpp
+++ b/engines/twine/menu/menu.cpp
@@ -1117,72 +1117,79 @@ void Menu::processBehaviourMenu() {
 
 	_engine->_text->initTextBank(TextBankId::Options_and_menus);
 
-	const int32 left = _engine->width() / 2 - 220;
-	const int32 top = _engine->height() / 2 - 140;
-	drawBehaviourMenu(left, top, _engine->_scene->_sceneHero->_angle);
+	if (_engine->isLba1Classic()) {
+		char text[256];
+		_engine->_text->getMenuText(_engine->_actor->getTextIdForBehaviour(), text, sizeof(text));
+		_engine->_redraw->setRenderText(text);
+		_engine->_text->initSceneTextBank();
+	} else {
+		const int32 left = _engine->width() / 2 - 220;
+		const int32 top = _engine->height() / 2 - 140;
+		drawBehaviourMenu(left, top, _engine->_scene->_sceneHero->_angle);
 
-	HeroBehaviourType tmpHeroBehaviour = _engine->_actor->_heroBehaviour;
+		HeroBehaviourType tmpHeroBehaviour = _engine->_actor->_heroBehaviour;
 
-	const int animIdx = _engine->_actor->_heroAnimIdx[(byte)_engine->_actor->_heroBehaviour];
-	_engine->_animations->setAnimAtKeyframe(_behaviourAnimState[(byte)_engine->_actor->_heroBehaviour], _engine->_resources->_animData[animIdx], *_behaviourEntity, &_behaviourAnimData[(byte)_engine->_actor->_heroBehaviour]);
+		const int animIdx = _engine->_actor->_heroAnimIdx[(byte)_engine->_actor->_heroBehaviour];
+		_engine->_animations->setAnimAtKeyframe(_behaviourAnimState[(byte)_engine->_actor->_heroBehaviour], _engine->_resources->_animData[animIdx], *_behaviourEntity, &_behaviourAnimData[(byte)_engine->_actor->_heroBehaviour]);
 
-	int32 tmpTime = _engine->_lbaTime;
+		int32 tmpTime = _engine->_lbaTime;
 
 #if 0
-	ScopedCursor scopedCursor(_engine);
+		ScopedCursor scopedCursor(_engine);
 #endif
-	ScopedKeyMap scopedKeyMap(_engine, uiKeyMapId);
-	while (_engine->_input->isActionActive(TwinEActionType::BehaviourMenu) || _engine->_input->isQuickBehaviourActionActive()) {
-		FrameMarker frame(_engine, 50);
-		_engine->readKeys();
-		if (_engine->shouldQuit()) {
-			break;
-		}
+		ScopedKeyMap scopedKeyMap(_engine, uiKeyMapId);
+		while (_engine->_input->isActionActive(TwinEActionType::BehaviourMenu) || _engine->_input->isQuickBehaviourActionActive()) {
+			FrameMarker frame(_engine, 50);
+			_engine->readKeys();
+			if (_engine->shouldQuit()) {
+				break;
+			}
 
 #if 0
-		if (isBehaviourHovered(HeroBehaviourType::kNormal)) {
-			_engine->_actor->heroBehaviour = HeroBehaviourType::kNormal;
-		} else if (isBehaviourHovered(HeroBehaviourType::kAthletic)) {
-			_engine->_actor->heroBehaviour = HeroBehaviourType::kAthletic;
-		} else if (isBehaviourHovered(HeroBehaviourType::kAggressive)) {
-			_engine->_actor->heroBehaviour = HeroBehaviourType::kAggressive;
-		} else if (isBehaviourHovered(HeroBehaviourType::kDiscrete)) {
-			_engine->_actor->heroBehaviour = HeroBehaviourType::kDiscrete;
-		}
+			if (isBehaviourHovered(HeroBehaviourType::kNormal)) {
+				_engine->_actor->heroBehaviour = HeroBehaviourType::kNormal;
+			} else if (isBehaviourHovered(HeroBehaviourType::kAthletic)) {
+				_engine->_actor->heroBehaviour = HeroBehaviourType::kAthletic;
+			} else if (isBehaviourHovered(HeroBehaviourType::kAggressive)) {
+				_engine->_actor->heroBehaviour = HeroBehaviourType::kAggressive;
+			} else if (isBehaviourHovered(HeroBehaviourType::kDiscrete)) {
+				_engine->_actor->heroBehaviour = HeroBehaviourType::kDiscrete;
+			}
 #endif
 
-		int heroBehaviour = (int)_engine->_actor->_heroBehaviour;
-		if (_engine->_input->toggleActionIfActive(TwinEActionType::UILeft)) {
-			heroBehaviour--;
-		} else if (_engine->_input->toggleActionIfActive(TwinEActionType::UIRight)) {
-			heroBehaviour++;
-		}
+			int heroBehaviour = (int)_engine->_actor->_heroBehaviour;
+			if (_engine->_input->toggleActionIfActive(TwinEActionType::UILeft)) {
+				heroBehaviour--;
+			} else if (_engine->_input->toggleActionIfActive(TwinEActionType::UIRight)) {
+				heroBehaviour++;
+			}
 
-		if (heroBehaviour < (int)HeroBehaviourType::kNormal) {
-			heroBehaviour = (int)HeroBehaviourType::kDiscrete;
-		} else if (heroBehaviour >= (int)HeroBehaviourType::kProtoPack) {
-			heroBehaviour = (int)HeroBehaviourType::kNormal;
-		}
+			if (heroBehaviour < (int)HeroBehaviourType::kNormal) {
+				heroBehaviour = (int)HeroBehaviourType::kDiscrete;
+			} else if (heroBehaviour >= (int)HeroBehaviourType::kProtoPack) {
+				heroBehaviour = (int)HeroBehaviourType::kNormal;
+			}
 
-		_engine->_actor->_heroBehaviour = (HeroBehaviourType)heroBehaviour;
+			_engine->_actor->_heroBehaviour = (HeroBehaviourType)heroBehaviour;
 
-		if (tmpHeroBehaviour != _engine->_actor->_heroBehaviour) {
-			drawBehaviour(left, top, tmpHeroBehaviour, _engine->_scene->_sceneHero->_angle, true);
-			tmpHeroBehaviour = _engine->_actor->_heroBehaviour;
-			_engine->_movements->setActorAngleSafe(_engine->_scene->_sceneHero->_angle, _engine->_scene->_sceneHero->_angle - ANGLE_90, ANGLE_17, &_moveMenu);
-			const int tmpAnimIdx = _engine->_actor->_heroAnimIdx[(byte)_engine->_actor->_heroBehaviour];
-			_engine->_animations->setAnimAtKeyframe(_behaviourAnimState[(byte)_engine->_actor->_heroBehaviour], _engine->_resources->_animData[tmpAnimIdx], *_behaviourEntity, &_behaviourAnimData[(byte)_engine->_actor->_heroBehaviour]);
-		}
+			if (tmpHeroBehaviour != _engine->_actor->_heroBehaviour) {
+				drawBehaviour(left, top, tmpHeroBehaviour, _engine->_scene->_sceneHero->_angle, true);
+				tmpHeroBehaviour = _engine->_actor->_heroBehaviour;
+				_engine->_movements->setActorAngleSafe(_engine->_scene->_sceneHero->_angle, _engine->_scene->_sceneHero->_angle - ANGLE_90, ANGLE_17, &_moveMenu);
+				const int tmpAnimIdx = _engine->_actor->_heroAnimIdx[(byte)_engine->_actor->_heroBehaviour];
+				_engine->_animations->setAnimAtKeyframe(_behaviourAnimState[(byte)_engine->_actor->_heroBehaviour], _engine->_resources->_animData[tmpAnimIdx], *_behaviourEntity, &_behaviourAnimData[(byte)_engine->_actor->_heroBehaviour]);
+			}
 
-		drawBehaviour(left, top, _engine->_actor->_heroBehaviour, -1, true);
+			drawBehaviour(left, top, _engine->_actor->_heroBehaviour, -1, true);
 
-		_engine->_lbaTime++;
-	}
+			_engine->_lbaTime++;
+		}
 
-	_engine->_lbaTime = tmpTime;
+		_engine->_lbaTime = tmpTime;
 
+		_engine->_gameState->initEngineProjections();
+	}
 	_engine->_actor->setBehaviour(_engine->_actor->_heroBehaviour);
-	_engine->_gameState->initEngineProjections();
 
 	_engine->_scene->_sceneTextBank = tmpTextBank;
 	_engine->_text->initSceneTextBank();
diff --git a/engines/twine/twine.cpp b/engines/twine/twine.cpp
index 71fcbd9e002..3fcc5b13514 100644
--- a/engines/twine/twine.cpp
+++ b/engines/twine/twine.cpp
@@ -842,17 +842,9 @@ bool TwinEEngine::runGameEngine() { // mainLoopInteration
 			} else if (_input->isActionActive(TwinEActionType::QuickBehaviourDiscreet, false)) {
 				_actor->_heroBehaviour = HeroBehaviourType::kDiscrete;
 			}
-			if (isLba1Classic()) {
-				_text->initTextBank(TextBankId::Options_and_menus);
-				char text[256];
-				_text->getMenuText(_actor->getTextIdForBehaviour(), text, sizeof(text));
-				_redraw->setRenderText(text);
-				_text->initSceneTextBank();
-			} else {
-				ScopedEngineFreeze scopedFreeze(this);
-				_menu->processBehaviourMenu();
-				_redraw->redrawEngineActions(true);
-			}
+			ScopedEngineFreeze scopedFreeze(this);
+			_menu->processBehaviourMenu();
+			_redraw->redrawEngineActions(true);
 		}
 
 		// use Proto-Pack




More information about the Scummvm-git-logs mailing list