[Scummvm-git-logs] scummvm master -> d6bc7eb5cfa8066d0bb53c4d128856a601014f31

bluegr noreply at scummvm.org
Sat Jul 6 15:15:46 UTC 2024


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

Summary:
d6bc7eb5cf DGDS: Add new game globals for HoC and Beamish


Commit: d6bc7eb5cfa8066d0bb53c4d128856a601014f31
    https://github.com/scummvm/scummvm/commit/d6bc7eb5cfa8066d0bb53c4d128856a601014f31
Author: Filippos Karapetis (bluegr at gmail.com)
Date: 2024-07-06T18:15:38+03:00

Commit Message:
DGDS: Add new game globals for HoC and Beamish

Changed paths:
    engines/dgds/globals.cpp
    engines/dgds/globals.h


diff --git a/engines/dgds/globals.cpp b/engines/dgds/globals.cpp
index 4c0e204a362..7a71ddcbe42 100644
--- a/engines/dgds/globals.cpp
+++ b/engines/dgds/globals.cpp
@@ -60,7 +60,10 @@ Globals::Globals(Clock &clock) :
 _lastOpcode1SceneChageNum(0), _sceneOp12SceneNum(0), _currentSelectedItem(0),
 _gameMinsToAddOnLClick(0), _gameMinsToAddOnStartDrag(0), _gameMinsToAddOnRClick(0), _gameMinsToAddOnDragFinished(0),
 _gameMinsToAddOnObjInteraction(0), _gameIsInteractiveGlobal(0), _sceneOpcode15FromScene(0),
-_sceneOpcode15ToScene(0) {
+_sceneOpcode15ToScene(0), _unk2(0), _unk5(0), _unk39(0), _unk40(0), _unk51(0), _unk52(0), _unk54(0), _unk81(0) {
+	DgdsEngine *engine = static_cast<DgdsEngine *>(g_engine);
+	DgdsGameId gameId = engine->getGameId();
+
 	_globals.push_back(clock.getGameMinsAddedGlobal(1));
 	_globals.push_back(clock.getGameTicksUpGlobal(0x64));
 	_globals.push_back(clock.getGameTicksDownGlobal(0x63));
@@ -79,6 +82,20 @@ _sceneOpcode15ToScene(0) {
 	_globals.push_back(clock.getDays2Global(0x56));
 	_globals.push_back(new RWI16Global(0x55, &_sceneOpcode15FromScene));
 	_globals.push_back(new RWI16Global(0x54, &_sceneOpcode15ToScene));
+
+	if (gameId == GID_CHINA) {
+		_globals.push_back(new RWI16Global(0x36, &_unk54));
+		_globals.push_back(new RWI16Global(0x34, &_unk52));
+		_globals.push_back(new RWI16Global(0x33, &_unk51));
+		_globals.push_back(new RWI16Global(0x28, &_unk40));
+		_globals.push_back(new RWI16Global(0x27, &_unk39));
+	}
+
+	if (gameId == GID_BEAMISH) {
+		_globals.push_back(new RWI16Global(0x51, &_unk81));
+		_globals.push_back(new RWI16Global(0x05, &_unk5));
+		_globals.push_back(new RWI16Global(0x02, &_unk2));
+	}
 }
 
 Globals::~Globals() {
diff --git a/engines/dgds/globals.h b/engines/dgds/globals.h
index a3b444e3b83..89c6219a1a3 100644
--- a/engines/dgds/globals.h
+++ b/engines/dgds/globals.h
@@ -110,6 +110,16 @@ protected:
 	int16 _gameIsInteractiveGlobal; // used to decide if the game can start a "meanwhile" sequence
 	int16 _sceneOpcode15FromScene;
 	int16 _sceneOpcode15ToScene;
+	// HoC
+	int16 _unk39;
+	int16 _unk40;
+	int16 _unk51;
+	int16 _unk52;
+	int16 _unk54;
+	// Beamish
+	int16 _unk2;
+	int16 _unk5;
+	int16 _unk81;
 
 	Common::Array<Global *> _globals;
 };




More information about the Scummvm-git-logs mailing list