[Scummvm-git-logs] scummvm master -> 6d59ecdd41f5ddc1d689540abb65013343bf994d

sev- sev at scummvm.org
Fri Dec 8 23:58:40 CET 2017


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:
c728c29857 FULLPIPE: More debug output to loading
1408ffc427 FULLPIPE: Better debug output for movement
7724e51936 FULLPIPE: Added debug output for GameObject
6d59ecdd41 FULLPIPE: Load gameobj.h


Commit: c728c29857d12ddc039a2982b9bd510ed6a9f620
    https://github.com/scummvm/scummvm/commit/c728c29857d12ddc039a2982b9bd510ed6a9f620
Author: Eugene Sandulenko (sev at scummvm.org)
Date: 2017-12-08T23:57:48+01:00

Commit Message:
FULLPIPE: More debug output to loading

Changed paths:
    engines/fullpipe/fullpipe.cpp
    engines/fullpipe/fullpipe.h
    engines/fullpipe/gfx.cpp
    engines/fullpipe/messages.cpp
    engines/fullpipe/scenes/scene32.cpp
    engines/fullpipe/statics.cpp
    engines/fullpipe/statics.h


diff --git a/engines/fullpipe/fullpipe.cpp b/engines/fullpipe/fullpipe.cpp
index ec2b5aa..fef896d 100644
--- a/engines/fullpipe/fullpipe.cpp
+++ b/engines/fullpipe/fullpipe.cpp
@@ -67,6 +67,7 @@ FullpipeEngine::FullpipeEngine(OSystem *syst, const ADGameDescription *gameDesc)
 	DebugMan.addDebugChannel(kDebugInventory, "inventory", "Inventory");
 	DebugMan.addDebugChannel(kDebugSceneLogic, "scenelogic", "Scene Logic");
 	DebugMan.addDebugChannel(kDebugInteractions, "interactions", "Interactions");
+	DebugMan.addDebugChannel(kDebugXML, "xml", "XML");
 
 	// Setup mixer
 	if (!_mixer->isReady()) {
diff --git a/engines/fullpipe/fullpipe.h b/engines/fullpipe/fullpipe.h
index 2039989..08c6de2 100644
--- a/engines/fullpipe/fullpipe.h
+++ b/engines/fullpipe/fullpipe.h
@@ -59,7 +59,8 @@ enum {
 	kDebugBehavior		= 1 << 6,
 	kDebugInventory		= 1 << 7,
 	kDebugSceneLogic	= 1 << 8,
-	kDebugInteractions	= 1 << 9
+	kDebugInteractions	= 1 << 9,
+	kDebugXML			= 1 << 10
 };
 
 class BehaviorManager;
diff --git a/engines/fullpipe/gfx.cpp b/engines/fullpipe/gfx.cpp
index a2626e2..667c2ba 100644
--- a/engines/fullpipe/gfx.cpp
+++ b/engines/fullpipe/gfx.cpp
@@ -463,7 +463,8 @@ bool Picture::load(MfcArchive &file) {
 
 	getData();
 
-	debugC(5, kDebugLoading, "Picture::load: loaded <%s>", _memfilename.c_str());
+	debugC(5, kDebugLoading, "Picture::load: loaded memobject=\"%s\" x=%d y=%d f44=%d width=%d height=%d alpha=%d memobject2=\"%s\"", _memfilename.c_str(),
+				_x, _y, _field_44, _width, _height, _alpha, _memoryObject2->_memfilename.c_str());
 
 	return true;
 }
diff --git a/engines/fullpipe/messages.cpp b/engines/fullpipe/messages.cpp
index 7c69ae8..0272e82 100644
--- a/engines/fullpipe/messages.cpp
+++ b/engines/fullpipe/messages.cpp
@@ -107,7 +107,7 @@ bool ExCommand::load(MfcArchive &file) {
 
 	_objtype = kObjTypeExCommand;
 
-	debugC(6, kDebugLoading, "%% <COMMAND parent=%d cmd=%s x=%d y=%d f14=%d sceneX=%d sceneY=%d f20=%d f24=%d param=%d f2c=%d f30=%d f34=%d num=%d flags=%d parId=%d />",
+	debugC(6, kDebugXML, "%% <COMMAND parent=%d cmd=%s x=%d y=%d f14=%d sceneX=%d sceneY=%d f20=%d f24=%d param=%d f2c=%d f30=%d f34=%d num=%d flags=%d parId=%d />",
 			_parentId, exCommandType2str(_messageKind), _x, _y, _z, _sceneClickX, _sceneClickY, _field_20, _field_24, _param, _field_2C,
 			_field_30, _field_34, _messageNum, _excFlags, _parId);
 
@@ -240,7 +240,7 @@ bool ObjstateCommand::load(MfcArchive &file) {
 
 	_objCommandName = file.readPascalString();
 
-	debugC(6, kDebugLoading, "%% <COMMAND cmd=\"USER\" type=\"SET_LOGIC\" title=\"%s\" state=\"%d\" />", transCyrillic(_objCommandName.c_str()), _value);
+	debugC(6, kDebugXML, "%% <COMMAND cmd=\"USER\" type=\"SET_LOGIC\" title=\"%s\" state=\"%d\" />", transCyrillic(_objCommandName.c_str()), _value);
 
 	return true;
 }
diff --git a/engines/fullpipe/scenes/scene32.cpp b/engines/fullpipe/scenes/scene32.cpp
index 593f7b4..d4b4a65 100644
--- a/engines/fullpipe/scenes/scene32.cpp
+++ b/engines/fullpipe/scenes/scene32.cpp
@@ -91,6 +91,8 @@ void scene32_initScene(Scene *sc) {
 	g_fp->lift_init(sc, QU_SC32_ENTERLIFT, QU_SC32_EXITLIFT);
 
 	g_fp->initArcadeKeys("SC_32");
+
+	warning("cactus: %d, state: %d", g_fp->getObjectState(sO_Cactus), g_vars->scene32_cactus->_statics->_staticsId);
 }
 
 void scene32_setupMusic() {
diff --git a/engines/fullpipe/statics.cpp b/engines/fullpipe/statics.cpp
index a1252a7..b5baa18 100644
--- a/engines/fullpipe/statics.cpp
+++ b/engines/fullpipe/statics.cpp
@@ -163,6 +163,9 @@ bool StaticANIObject::load(MfcArchive &file) {
 
 	GameObject::load(file);
 
+	debugC(6, kDebugXML, "%% <OLDANI id=%d name=\"%s\" x=%d y=%d priority=%d f8=%d>",
+		_id, transCyrillic(_objectName), _ox, _oy, _priority, _field_8);
+
 	int count = file.readUint16LE();
 
 	for (int i = 0; i < count; i++) {
@@ -197,6 +200,8 @@ bool StaticANIObject::load(MfcArchive &file) {
 		pt.x = pt.y = 100;
 	}
 
+	debugC(6, kDebugXML, "%% </OLDANI>");
+
 	setOXY(pt.x, pt.y);
 
 	return true;
@@ -1371,7 +1376,8 @@ bool Statics::load(MfcArchive &file) {
 	_staticsId = file.readUint16LE();
 
 	_staticsName = file.readPascalString();
-	debugC(7, kDebugLoading, "statics: <%s> id: %d (%x)", transCyrillic(_staticsName), _staticsId, _staticsId);
+	debugC(6, kDebugXML, "%% <STATICS id=%d name=\"%s\" f7c=%d %s />",
+		_staticsId, transCyrillic(_staticsName), _field_7C, DynamicPhase::toXML().c_str());
 
 	_picture.load(file);
 
@@ -1573,7 +1579,9 @@ bool Movement::load(MfcArchive &file, StaticANIObject *ani) {
 
 	int dynCount = file.readUint16LE();
 
-	debugC(7, kDebugLoading, "dynCount: %d  _id: %d", dynCount, _id);
+	debugC(6, kDebugXML, "%% <MOVEMENT id=%d name=\"%s\" x=%d y=%d priority=%d f8=%d>",
+		_id, transCyrillic(_objectName), _ox, _oy, _priority, _field_8);
+
 	if (dynCount != 0xffff || _id == MV_MAN_TURN_LU) {
 		_framePosOffsets.resize(dynCount + 2);
 
@@ -1581,6 +1589,8 @@ bool Movement::load(MfcArchive &file, StaticANIObject *ani) {
 			DynamicPhase *ph = new DynamicPhase();
 			ph->load(file);
 
+			debugC(6, kDebugXML, "%% <PHASE %s />", ph->toXML().c_str());
+
 			_dynamicPhases.push_back(ph);
 
 			_framePosOffsets[i].x = ph->_x;
@@ -1644,6 +1654,8 @@ bool Movement::load(MfcArchive &file, StaticANIObject *ani) {
 	_counter = 0;
 	updateCurrDynamicPhase();
 
+	debugC(6, kDebugXML, "%% </MOVEMENT>");
+
 	return true;
 }
 
@@ -2127,6 +2139,12 @@ DynamicPhase::DynamicPhase(DynamicPhase *src, bool reverse) {
 	copyMemoryObject2(*src);
 }
 
+Common::String DynamicPhase::toXML() {
+	return Common::String::format("f7c=%d left=%d top=%d right=%d bottom=%d sX=%d sY=%d dynFlags=%d %s",
+			_field_7C, _rect.left, _rect.top, _rect.right, _rect.bottom, _someX, _someY, _dynFlags,
+			StaticPhase::toXML().c_str());
+}
+
 bool DynamicPhase::load(MfcArchive &file) {
 	debugC(5, kDebugLoading, "DynamicPhase::load()");
 
@@ -2157,6 +2175,10 @@ StaticPhase::StaticPhase() {
 	_field_68 = 0;
 }
 
+Common::String StaticPhase::toXML() {
+	return Common::String::format("countdown=%d f6a=%d", _initialCountdown, _field_6A);
+}
+
 bool StaticPhase::load(MfcArchive &file) {
 	debugC(5, kDebugLoading, "StaticPhase::load()");
 
diff --git a/engines/fullpipe/statics.h b/engines/fullpipe/statics.h
index b0e083e..770d431 100644
--- a/engines/fullpipe/statics.h
+++ b/engines/fullpipe/statics.h
@@ -60,6 +60,8 @@ class StaticPhase : public Picture {
 
 	virtual bool load(MfcArchive &file);
 
+	virtual Common::String toXML();
+
 	ExCommand *getExCommand() { return _exCommand.get(); }
 };
 
@@ -78,6 +80,8 @@ class DynamicPhase : public StaticPhase {
 
 	virtual bool load(MfcArchive &file);
 
+	virtual Common::String toXML();
+
 	int getDynFlags() { return _dynFlags; }
 };
 


Commit: 1408ffc4273945abc882033b9aabde82b3d2f841
    https://github.com/scummvm/scummvm/commit/1408ffc4273945abc882033b9aabde82b3d2f841
Author: Eugene Sandulenko (sev at scummvm.org)
Date: 2017-12-08T23:57:48+01:00

Commit Message:
FULLPIPE: Better debug output for movement

Changed paths:
    engines/fullpipe/statics.cpp


diff --git a/engines/fullpipe/statics.cpp b/engines/fullpipe/statics.cpp
index b5baa18..5ea3b10 100644
--- a/engines/fullpipe/statics.cpp
+++ b/engines/fullpipe/statics.cpp
@@ -1579,9 +1579,6 @@ bool Movement::load(MfcArchive &file, StaticANIObject *ani) {
 
 	int dynCount = file.readUint16LE();
 
-	debugC(6, kDebugXML, "%% <MOVEMENT id=%d name=\"%s\" x=%d y=%d priority=%d f8=%d>",
-		_id, transCyrillic(_objectName), _ox, _oy, _priority, _field_8);
-
 	if (dynCount != 0xffff || _id == MV_MAN_TURN_LU) {
 		_framePosOffsets.resize(dynCount + 2);
 
@@ -1589,8 +1586,6 @@ bool Movement::load(MfcArchive &file, StaticANIObject *ani) {
 			DynamicPhase *ph = new DynamicPhase();
 			ph->load(file);
 
-			debugC(6, kDebugXML, "%% <PHASE %s />", ph->toXML().c_str());
-
 			_dynamicPhases.push_back(ph);
 
 			_framePosOffsets[i].x = ph->_x;
@@ -1609,12 +1604,12 @@ bool Movement::load(MfcArchive &file, StaticANIObject *ani) {
 		_mx = file.readSint32LE();
 		_my = file.readSint32LE();
 
-		staticsid = file.readUint16LE();
+		int staticsid2 = file.readUint16LE();
 
-		_staticsObj2 = ani->getStaticsById(staticsid);
+		_staticsObj2 = ani->getStaticsById(staticsid2);
 
-		if (!_staticsObj2 && (staticsid & 0x4000)) {
-			Statics *s = ani->getStaticsById(staticsid ^ 0x4000);
+		if (!_staticsObj2 && (staticsid2 & 0x4000)) {
+			Statics *s = ani->getStaticsById(staticsid2 ^ 0x4000);
 			_staticsObj2 = ani->addReverseStatics(s);
 		}
 
@@ -1628,6 +1623,14 @@ bool Movement::load(MfcArchive &file, StaticANIObject *ani) {
 			_framePosOffsets[_dynamicPhases.size() - 1].y = _m2y;
 		}
 
+		debugC(6, kDebugXML, "%% <MOVEMENT id=%d name=\"%s\" x=%d y=%d priority=%d f8=%d staticsId=%d mX=%d my=%d staticsId2=%d m2x=%d m2y=%d>",
+			_id, transCyrillic(_objectName), _ox, _oy, _priority, _field_8, staticsid, _mx, _my, staticsid2, _m2x, _m2y);
+
+		for (int i = 0; i < dynCount; i++)
+			debugC(6, kDebugXML, "%% <PHASE %s />", _dynamicPhases[i]->toXML().c_str());
+
+		debugC(6, kDebugXML, "%% </MOVEMENT>");
+
 	} else {
 		int movid = file.readUint16LE();
 
@@ -1654,8 +1657,6 @@ bool Movement::load(MfcArchive &file, StaticANIObject *ani) {
 	_counter = 0;
 	updateCurrDynamicPhase();
 
-	debugC(6, kDebugXML, "%% </MOVEMENT>");
-
 	return true;
 }
 


Commit: 7724e51936fc006a48ded3efd28b9caf20c5bc7e
    https://github.com/scummvm/scummvm/commit/7724e51936fc006a48ded3efd28b9caf20c5bc7e
Author: Eugene Sandulenko (sev at scummvm.org)
Date: 2017-12-08T23:57:48+01:00

Commit Message:
FULLPIPE: Added debug output for GameObject

Changed paths:
    engines/fullpipe/gfx.cpp
    engines/fullpipe/gfx.h
    engines/fullpipe/statics.cpp


diff --git a/engines/fullpipe/gfx.cpp b/engines/fullpipe/gfx.cpp
index 667c2ba..31e5c21 100644
--- a/engines/fullpipe/gfx.cpp
+++ b/engines/fullpipe/gfx.cpp
@@ -234,6 +234,11 @@ GameObject::GameObject(GameObject *src) {
 	_field_8 = src->_field_8;
 }
 
+Common::String GameObject::toXML() {
+	return Common::String::format("id=%d name=\"%s\" x=%d y=%d priority=%d f8=%d",
+		_id, transCyrillic(_objectName), _ox, _oy, _priority, _field_8);
+}
+
 bool GameObject::load(MfcArchive &file) {
 	debugC(5, kDebugLoading, "GameObject::load()");
 	_odelay = 0;
diff --git a/engines/fullpipe/gfx.h b/engines/fullpipe/gfx.h
index a2c83c8..04771f5 100644
--- a/engines/fullpipe/gfx.h
+++ b/engines/fullpipe/gfx.h
@@ -154,6 +154,7 @@ class GameObject : public CObject {
 	GameObject();
 	GameObject(GameObject *src);
 
+	virtual Common::String toXML();
 	virtual bool load(MfcArchive &file);
 	void setOXY(int x, int y);
 	void renumPictures(Common::Array<StaticANIObject *> *lst);
diff --git a/engines/fullpipe/statics.cpp b/engines/fullpipe/statics.cpp
index 5ea3b10..49cb3fd 100644
--- a/engines/fullpipe/statics.cpp
+++ b/engines/fullpipe/statics.cpp
@@ -163,8 +163,7 @@ bool StaticANIObject::load(MfcArchive &file) {
 
 	GameObject::load(file);
 
-	debugC(6, kDebugXML, "%% <OLDANI id=%d name=\"%s\" x=%d y=%d priority=%d f8=%d>",
-		_id, transCyrillic(_objectName), _ox, _oy, _priority, _field_8);
+	debugC(6, kDebugXML, "%% <OLDANI %s>", GameObject::toXML().c_str());
 
 	int count = file.readUint16LE();
 
@@ -1376,8 +1375,8 @@ bool Statics::load(MfcArchive &file) {
 	_staticsId = file.readUint16LE();
 
 	_staticsName = file.readPascalString();
-	debugC(6, kDebugXML, "%% <STATICS id=%d name=\"%s\" f7c=%d %s />",
-		_staticsId, transCyrillic(_staticsName), _field_7C, DynamicPhase::toXML().c_str());
+	debugC(6, kDebugXML, "%% <STATICS id=%d name=\"%s\" %s />",
+		_staticsId, transCyrillic(_staticsName), DynamicPhase::toXML().c_str());
 
 	_picture.load(file);
 
@@ -1623,8 +1622,8 @@ bool Movement::load(MfcArchive &file, StaticANIObject *ani) {
 			_framePosOffsets[_dynamicPhases.size() - 1].y = _m2y;
 		}
 
-		debugC(6, kDebugXML, "%% <MOVEMENT id=%d name=\"%s\" x=%d y=%d priority=%d f8=%d staticsId=%d mX=%d my=%d staticsId2=%d m2x=%d m2y=%d>",
-			_id, transCyrillic(_objectName), _ox, _oy, _priority, _field_8, staticsid, _mx, _my, staticsid2, _m2x, _m2y);
+		debugC(6, kDebugXML, "%% <MOVEMENT %s staticsId=%d mX=%d my=%d staticsId2=%d m2x=%d m2y=%d>",
+			GameObject::toXML().c_str(), staticsid, _mx, _my, staticsid2, _m2x, _m2y);
 
 		for (int i = 0; i < dynCount; i++)
 			debugC(6, kDebugXML, "%% <PHASE %s />", _dynamicPhases[i]->toXML().c_str());


Commit: 6d59ecdd41f5ddc1d689540abb65013343bf994d
    https://github.com/scummvm/scummvm/commit/6d59ecdd41f5ddc1d689540abb65013343bf994d
Author: Eugene Sandulenko (sev at scummvm.org)
Date: 2017-12-08T23:57:48+01:00

Commit Message:
FULLPIPE: Load gameobj.h

Changed paths:
    engines/fullpipe/fullpipe.cpp
    engines/fullpipe/fullpipe.h
    engines/fullpipe/gfx.cpp
    engines/fullpipe/statics.cpp
    engines/fullpipe/utils.cpp


diff --git a/engines/fullpipe/fullpipe.cpp b/engines/fullpipe/fullpipe.cpp
index fef896d..48dff10 100644
--- a/engines/fullpipe/fullpipe.cpp
+++ b/engines/fullpipe/fullpipe.cpp
@@ -269,6 +269,9 @@ Common::Error FullpipeEngine::run() {
 
 	_isSaveAllowed = false;
 
+	if (debugChannelSet(-1, kDebugXML))
+		loadGameObjH();
+
 	int scene = 0;
 	if (ConfMan.hasKey("boot_param"))
 		scene = convertScene(ConfMan.getInt("boot_param"));
diff --git a/engines/fullpipe/fullpipe.h b/engines/fullpipe/fullpipe.h
index 08c6de2..ff843fe 100644
--- a/engines/fullpipe/fullpipe.h
+++ b/engines/fullpipe/fullpipe.h
@@ -63,6 +63,8 @@ enum {
 	kDebugXML			= 1 << 10
 };
 
+#define MAXGAMEOBJH 10000
+
 class BehaviorManager;
 class BaseModalObject;
 class GameLoader;
@@ -90,6 +92,8 @@ typedef Common::Array<int16> MovTable;
 typedef Common::Array<int32> Palette;
 typedef Common::Array<Common::Point> PointList;
 
+typedef Common::HashMap<uint16, Common::String> GameObjHMap;
+
 int global_messageHandler1(ExCommand *cmd);
 int global_messageHandler2(ExCommand *cmd);
 int global_messageHandler3(ExCommand *cmd);
@@ -135,6 +139,9 @@ public:
 	GameProject *_gameProject;
 	bool loadGam(const char *fname, int scene = 0);
 
+	void loadGameObjH();
+	Common::String gameIdToStr(uint16 id);
+
 	GameVar *getGameLoaderGameVar();
 	InputController *getGameLoaderInputController();
 
@@ -347,6 +354,8 @@ public:
 
 	bool _stream2playing;
 
+	GameObjHMap _gameObjH;
+
 public:
 
 	bool _isSaveAllowed;
diff --git a/engines/fullpipe/gfx.cpp b/engines/fullpipe/gfx.cpp
index 31e5c21..8407009 100644
--- a/engines/fullpipe/gfx.cpp
+++ b/engines/fullpipe/gfx.cpp
@@ -235,8 +235,8 @@ GameObject::GameObject(GameObject *src) {
 }
 
 Common::String GameObject::toXML() {
-	return Common::String::format("id=%d name=\"%s\" x=%d y=%d priority=%d f8=%d",
-		_id, transCyrillic(_objectName), _ox, _oy, _priority, _field_8);
+	return Common::String::format("id=\"%s\" name=\"%s\" x=%d y=%d priority=%d f8=%d",
+		g_fp->gameIdToStr(_id).c_str(), transCyrillic(_objectName), _ox, _oy, _priority, _field_8);
 }
 
 bool GameObject::load(MfcArchive &file) {
diff --git a/engines/fullpipe/statics.cpp b/engines/fullpipe/statics.cpp
index 49cb3fd..4cee1c1 100644
--- a/engines/fullpipe/statics.cpp
+++ b/engines/fullpipe/statics.cpp
@@ -1375,8 +1375,8 @@ bool Statics::load(MfcArchive &file) {
 	_staticsId = file.readUint16LE();
 
 	_staticsName = file.readPascalString();
-	debugC(6, kDebugXML, "%% <STATICS id=%d name=\"%s\" %s />",
-		_staticsId, transCyrillic(_staticsName), DynamicPhase::toXML().c_str());
+	debugC(6, kDebugXML, "%% <STATICS id=\"%s\" name=\"%s\" %s />",
+		g_fp->gameIdToStr(_staticsId).c_str(), transCyrillic(_staticsName), DynamicPhase::toXML().c_str());
 
 	_picture.load(file);
 
@@ -1622,8 +1622,8 @@ bool Movement::load(MfcArchive &file, StaticANIObject *ani) {
 			_framePosOffsets[_dynamicPhases.size() - 1].y = _m2y;
 		}
 
-		debugC(6, kDebugXML, "%% <MOVEMENT %s staticsId=%d mX=%d my=%d staticsId2=%d m2x=%d m2y=%d>",
-			GameObject::toXML().c_str(), staticsid, _mx, _my, staticsid2, _m2x, _m2y);
+		debugC(6, kDebugXML, "%% <MOVEMENT %s staticsId=\"%s\" mX=%d my=%d staticsId2=\"%s\" m2x=%d m2y=%d>",
+			GameObject::toXML().c_str(), g_fp->gameIdToStr(staticsid).c_str(), _mx, _my, g_fp->gameIdToStr(staticsid2).c_str(), _m2x, _m2y);
 
 		for (int i = 0; i < dynCount; i++)
 			debugC(6, kDebugXML, "%% <PHASE %s />", _dynamicPhases[i]->toXML().c_str());
diff --git a/engines/fullpipe/utils.cpp b/engines/fullpipe/utils.cpp
index f3f07b0..c1cf912 100644
--- a/engines/fullpipe/utils.cpp
+++ b/engines/fullpipe/utils.cpp
@@ -546,4 +546,43 @@ byte *transCyrillic(const Common::String &str) {
 	return tmp;
 }
 
+void FullpipeEngine::loadGameObjH() {
+	Common::File file;
+
+	if (!file.open("gameobj.h"))
+		return;
+
+	while(true) {
+		Common::String s = file.readLine();
+
+		if (file.eos())
+			break;
+
+		if (!s.hasPrefix("#define ")) {
+			warning("Bad read: <%s>", s.c_str());
+			continue;
+		}
+
+		int cnt = 0;
+		const char *ptr = &s.c_str()[8]; // Skip '#define ''
+
+		while (*ptr && *ptr != ' ') {
+			cnt++;
+			ptr++;
+		}
+
+		Common::String val(&s.c_str()[8], cnt);
+		int key = strtol(ptr, NULL, 10);
+
+		_gameObjH[(uint16)key] = val;
+	}
+}
+
+Common::String FullpipeEngine::gameIdToStr(uint16 id) {
+	if (_gameObjH.contains(id))
+		return _gameObjH[id];
+
+	return Common::String::format("%d", id);
+}
+
 } // End of namespace Fullpipe





More information about the Scummvm-git-logs mailing list