[Scummvm-git-logs] scummvm master -> 7d4d82e9945923151fb3275f34a85ddec45db446
a-yyg
76591232+a-yyg at users.noreply.github.com
Tue Jul 20 12:36:55 UTC 2021
This automated email contains information about 3 new commits which have been
pushed to the 'scummvm' repo located at https://github.com/scummvm/scummvm .
Summary:
973183fcc1 SAGA2: Implement command to see item stats
afc8a0328f SAGA2: Implement command to search objects
7d4d82e994 SAGA2: Implement command to add objects to inventory
Commit: 973183fcc153b3044b9a41449cddac30e5bce9ae
https://github.com/scummvm/scummvm/commit/973183fcc153b3044b9a41449cddac30e5bce9ae
Author: a/ (yuri.kgpps at gmail.com)
Date: 2021-07-20T21:33:43+09:00
Commit Message:
SAGA2: Implement command to see item stats
Changed paths:
engines/saga2/console.cpp
engines/saga2/console.h
engines/saga2/main.cpp
engines/saga2/saga2.cpp
engines/saga2/saga2.h
diff --git a/engines/saga2/console.cpp b/engines/saga2/console.cpp
index ad54dc92f8..6b1af16fbf 100644
--- a/engines/saga2/console.cpp
+++ b/engines/saga2/console.cpp
@@ -53,6 +53,8 @@ Console::Console(Saga2Engine *vm) : GUI::Debugger() {
registerCmd("goto_place", WRAP_METHOD(Console, cmdGotoPlace));
registerCmd("list_places", WRAP_METHOD(Console, cmdListPlaces));
+
+ registerCmd("stats", WRAP_METHOD(Console, cmdStats));
}
Console::~Console() {
@@ -129,6 +131,17 @@ bool Console::cmdPosition(int argc, const char **argv) {
return true;
}
+bool Console::cmdStats(int argc, const char **argv) {
+ if (argc != 2)
+ debugPrintf("Usage: %s <1/0>\n", argv[0]);
+ else {
+ bool show = atoi(argv[1]);
+ _vm->_showStats = show;
+ }
+
+ return true;
+}
+
bool Console::cmdTeleport(int argc, const char **argv) {
if (argc != 4)
debugPrintf("Usage: %s <u> <v> <z>\n", argv[0]);
diff --git a/engines/saga2/console.h b/engines/saga2/console.h
index 7322f59fae..782ecb5195 100644
--- a/engines/saga2/console.h
+++ b/engines/saga2/console.h
@@ -49,6 +49,8 @@ private:
bool cmdPosition(int argc, const char **argv);
+ bool cmdStats(int argc, const char **argv);
+
bool cmdTeleport(int argc, const char **argv);
bool cmdGotoPlace(int argc, const char **argv);
diff --git a/engines/saga2/main.cpp b/engines/saga2/main.cpp
index 4370c318c6..ee41c9c97b 100644
--- a/engines/saga2/main.cpp
+++ b/engines/saga2/main.cpp
@@ -44,6 +44,7 @@
#include "saga2/saveload.h"
#include "saga2/gamerate.h"
#include "saga2/msgbox.h"
+#include "saga2/grabinfo.h"
namespace Saga2 {
@@ -363,6 +364,23 @@ void showDebugMessages() {
TilePoint p = centerActorCoords();
WriteStatusF2(0, "Position: %d, %d, %d", p.u, p.v, p.z);
}
+
+ if (g_vm->_showStats) {
+ ObjectID objID = g_vm->_mouseInfo->getObjectId();
+ GameObject *obj = GameObject::objectAddress(objID);
+
+ if (ProtoObj *p = obj->proto()) {
+ WriteStatusF2(1, "%s (%d)", obj->objName(), objID);
+ WriteStatusF2(2, "dmg = %d", p->weaponDamage);
+ WriteStatusF2(3, "firerate = %d", p->weaponFireRate);
+ WriteStatusF2(4, "maximumRange = %d", p->maximumRange);
+ WriteStatusF2(5, "dmgAbsorbtion = %d", p->damageAbsorbtion);
+ WriteStatusF2(6, "dmgDivider = %d", p->damageDivider);
+ WriteStatusF2(7, "defenseBonus = %d", p->defenseBonus);
+ WriteStatusF2(8, "maxCharges = %d", p->maxCharges);
+ WriteStatusF2(9, "price = %d", p->price);
+ }
+ }
}
/* ===================================================================== *
diff --git a/engines/saga2/saga2.cpp b/engines/saga2/saga2.cpp
index 81aa222c59..46220aa904 100644
--- a/engines/saga2/saga2.cpp
+++ b/engines/saga2/saga2.cpp
@@ -73,6 +73,7 @@ Saga2Engine::Saga2Engine(OSystem *syst)
_showNight = true;
_speechText = true;
_showPosition = false;
+ _showStats = false;
SearchMan.addSubDirectoryMatching(gameDataDir, "res");
SearchMan.addSubDirectoryMatching(gameDataDir, "dos/drivers"); // For Miles Sound files
diff --git a/engines/saga2/saga2.h b/engines/saga2/saga2.h
index b4002ceec6..fbb40c3fd9 100644
--- a/engines/saga2/saga2.h
+++ b/engines/saga2/saga2.h
@@ -177,6 +177,7 @@ public:
bool _speechText;
bool _showPosition;
+ bool _showStats;
private:
Video::SmackerDecoder *_smkDecoder;
Commit: afc8a0328ff77ba870b8f792bb3e3b285bdd85b9
https://github.com/scummvm/scummvm/commit/afc8a0328ff77ba870b8f792bb3e3b285bdd85b9
Author: a/ (yuri.kgpps at gmail.com)
Date: 2021-07-20T21:33:43+09:00
Commit Message:
SAGA2: Implement command to search objects
Changed paths:
engines/saga2/console.cpp
engines/saga2/console.h
engines/saga2/objects.h
diff --git a/engines/saga2/console.cpp b/engines/saga2/console.cpp
index 6b1af16fbf..3463365b03 100644
--- a/engines/saga2/console.cpp
+++ b/engines/saga2/console.cpp
@@ -32,6 +32,7 @@ namespace Saga2 {
#define MAX_MAP_FEATURES 128
extern pCMapFeature mapFeatures[];
+extern GameObject *objectList;
Console::Console(Saga2Engine *vm) : GUI::Debugger() {
_vm = vm;
@@ -46,6 +47,8 @@ Console::Console(Saga2Engine *vm) : GUI::Debugger() {
registerCmd("name2id", WRAP_METHOD(Console, cmdObjNameToID));
+ registerCmd("search_obj", WRAP_METHOD(Console, cmdSearchObj));
+
registerCmd("position", WRAP_METHOD(Console, cmdPosition));
registerCmd("teleport", WRAP_METHOD(Console, cmdTeleport));
@@ -108,7 +111,7 @@ bool Console::cmdObjName(int argc, const char **argv) {
bool Console::cmdObjNameToID(int argc, const char **argv) {
if (argc != 2)
- debugPrintf("Usage: %s <Name index>", argv[0]);
+ debugPrintf("Usage: %s <Name index>\n", argv[0]);
else {
int32 id = GameObject::nameIndexToID(atoi(argv[1]));
if (id == -1)
@@ -120,6 +123,21 @@ bool Console::cmdObjNameToID(int argc, const char **argv) {
return true;
}
+bool Console::cmdSearchObj(int argc, const char **argv) {
+ if (argc != 2)
+ debugPrintf("Usage: %s <Object name>\n", argv[0]);
+ else {
+ for (int i = 0; i < objectCount; ++i) {
+ Common::String objName = objectList[i].objName();
+ objName.toLowercase();
+ if (objName.contains(argv[1]))
+ debugPrintf("%d: %s\n", i, objectList[i].objName());
+ }
+ }
+
+ return true;
+}
+
bool Console::cmdPosition(int argc, const char **argv) {
if (argc != 2)
debugPrintf("Usage: %s <1/0>\n", argv[0]);
diff --git a/engines/saga2/console.h b/engines/saga2/console.h
index 782ecb5195..5eb268add5 100644
--- a/engines/saga2/console.h
+++ b/engines/saga2/console.h
@@ -45,6 +45,8 @@ private:
bool cmdObjNameToID(int argc, const char **argv);
+ bool cmdSearchObj(int argc, const char **argv);
+
bool cmdGodmode(int argc, const char **argv);
bool cmdPosition(int argc, const char **argv);
diff --git a/engines/saga2/objects.h b/engines/saga2/objects.h
index 1415275a93..6c0a651d1c 100644
--- a/engines/saga2/objects.h
+++ b/engines/saga2/objects.h
@@ -458,7 +458,12 @@ public:
// Return the name of this object (proper noun if it has one)
const char *objName(void) {
- return nameText((int16)(_data.nameIndex > 0 ? _data.nameIndex : prototype->nameIndex));
+ if (_data.nameIndex > 0)
+ return nameText((int16)_data.nameIndex);
+ else if (prototype)
+ return nameText((int16)prototype->nameIndex);
+
+ return nameText(0);
}
// return name of object, and it's quantity if merged
Commit: 7d4d82e9945923151fb3275f34a85ddec45db446
https://github.com/scummvm/scummvm/commit/7d4d82e9945923151fb3275f34a85ddec45db446
Author: a/ (yuri.kgpps at gmail.com)
Date: 2021-07-20T21:33:43+09:00
Commit Message:
SAGA2: Implement command to add objects to inventory
Changed paths:
engines/saga2/console.cpp
engines/saga2/console.h
diff --git a/engines/saga2/console.cpp b/engines/saga2/console.cpp
index 3463365b03..4dffb788be 100644
--- a/engines/saga2/console.cpp
+++ b/engines/saga2/console.cpp
@@ -49,6 +49,8 @@ Console::Console(Saga2Engine *vm) : GUI::Debugger() {
registerCmd("search_obj", WRAP_METHOD(Console, cmdSearchObj));
+ registerCmd("add_obj", WRAP_METHOD(Console, cmdAddObj));
+
registerCmd("position", WRAP_METHOD(Console, cmdPosition));
registerCmd("teleport", WRAP_METHOD(Console, cmdTeleport));
@@ -138,6 +140,17 @@ bool Console::cmdSearchObj(int argc, const char **argv) {
return true;
}
+bool Console::cmdAddObj(int argc, const char **argv) {
+ if (argc != 2)
+ debugPrintf("Usage: %s <ObjectID>\n", argv[0]);
+ else {
+ Actor *a = getCenterActor();
+ a->placeObject(a->thisID(), atoi(argv[1]));
+ }
+
+ return true;
+}
+
bool Console::cmdPosition(int argc, const char **argv) {
if (argc != 2)
debugPrintf("Usage: %s <1/0>\n", argv[0]);
diff --git a/engines/saga2/console.h b/engines/saga2/console.h
index 5eb268add5..ee4a90e0f6 100644
--- a/engines/saga2/console.h
+++ b/engines/saga2/console.h
@@ -47,6 +47,8 @@ private:
bool cmdSearchObj(int argc, const char **argv);
+ bool cmdAddObj(int argc, const char **argv);
+
bool cmdGodmode(int argc, const char **argv);
bool cmdPosition(int argc, const char **argv);
More information about the Scummvm-git-logs
mailing list