[Scummvm-git-logs] scummvm master -> c1e82582754370a059a10ac296ae4cc5de4ccb57
dreammaster
noreply at scummvm.org
Sun Aug 6 22:17:15 UTC 2023
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:
a6f01a7599 MM: MM1: Fix new characters to be at level 1
c1e8258275 MM: MM1: Added dump_roster command to create original roster.dta
Commit: a6f01a7599f7a10e07388448f827be918999343b
https://github.com/scummvm/scummvm/commit/a6f01a7599f7a10e07388448f827be918999343b
Author: Paul Gilbert (dreammaster at scummvm.org)
Date: 2023-08-06T15:17:01-07:00
Commit Message:
MM: MM1: Fix new characters to be at level 1
Changed paths:
engines/mm/mm1/data/character.cpp
diff --git a/engines/mm/mm1/data/character.cpp b/engines/mm/mm1/data/character.cpp
index 4ec11b61dbc..4911cc337ec 100644
--- a/engines/mm/mm1/data/character.cpp
+++ b/engines/mm/mm1/data/character.cpp
@@ -258,7 +258,7 @@ void Character::clear() {
_class = (CharacterClass)0;
_intelligence = _might = _personality = _endurance = 0;
_speed = _accuracy = _luck = 0;
- _level = 0;
+ _level = 1;
_age = 0;
_exp = 0;
_sp = 0;
Commit: c1e82582754370a059a10ac296ae4cc5de4ccb57
https://github.com/scummvm/scummvm/commit/c1e82582754370a059a10ac296ae4cc5de4ccb57
Author: Paul Gilbert (dreammaster at scummvm.org)
Date: 2023-08-06T15:17:02-07:00
Commit Message:
MM: MM1: Added dump_roster command to create original roster.dta
Changed paths:
engines/mm/mm1/console.cpp
engines/mm/mm1/console.h
engines/mm/mm1/data/roster.cpp
engines/mm/mm1/data/roster.h
diff --git a/engines/mm/mm1/console.cpp b/engines/mm/mm1/console.cpp
index f8f5139f9b0..8c2640aa869 100644
--- a/engines/mm/mm1/console.cpp
+++ b/engines/mm/mm1/console.cpp
@@ -35,6 +35,7 @@ Console::Console() : GUI::Debugger() {
registerCmd("dump_map", WRAP_METHOD(Console, cmdDumpMap));
registerCmd("dump_monsters", WRAP_METHOD(Console, cmdDumpMonsters));
registerCmd("dump_items", WRAP_METHOD(Console, cmdDumpItems));
+ registerCmd("dump_roster", WRAP_METHOD(Console, cmdDumpRoster));
registerCmd("map_string", WRAP_METHOD(Console, cmdMapString));
registerCmd("map", WRAP_METHOD(Console, cmdMap));
registerCmd("pos", WRAP_METHOD(Console, cmdPos));
@@ -199,6 +200,12 @@ bool Console::cmdDumpItems(int argc, const char **argv) {
return true;
}
+bool Console::cmdDumpRoster(int argc, const char **argv) {
+ g_globals->_roster.saveOriginal();
+ debugPrintf("Dumped roster\n");
+ return true;
+}
+
bool Console::cmdMapString(int argc, const char **argv) {
Common::File f;
diff --git a/engines/mm/mm1/console.h b/engines/mm/mm1/console.h
index c6edff7df67..5c180eaff44 100644
--- a/engines/mm/mm1/console.h
+++ b/engines/mm/mm1/console.h
@@ -100,6 +100,11 @@ protected:
*/
bool cmdView(int argc, const char **argv);
+ /**
+ * Dump the roster in the original roster.dat format
+ */
+ bool cmdDumpRoster(int argc, const char **argv);
+
public:
Console();
~Console() override {}
diff --git a/engines/mm/mm1/data/roster.cpp b/engines/mm/mm1/data/roster.cpp
index 8f58d04f342..d4f8849704f 100644
--- a/engines/mm/mm1/data/roster.cpp
+++ b/engines/mm/mm1/data/roster.cpp
@@ -57,12 +57,20 @@ void Roster::load() {
}
}
} else {
- Common::File f;
- if (!f.open("roster.dta"))
- error("Could not open roster.dta");
+ sf = g_system->getSavefileManager()->openForLoading("roster.dta");
- Common::Serializer s(&f, nullptr);
- synchronize(s, true);
+ if (sf) {
+ Common::Serializer s(sf, nullptr);
+ synchronize(s, true);
+
+ } else {
+ Common::File f;
+ if (!f.open("roster.dta"))
+ error("Could not open roster.dta");
+
+ Common::Serializer s(&f, nullptr);
+ synchronize(s, true);
+ }
}
}
@@ -125,6 +133,16 @@ void Roster::save() {
delete sf;
}
+void Roster::saveOriginal() {
+ Common::OutSaveFile *sf = g_system->getSavefileManager()->openForSaving(
+ "roster.dta", false);
+ Common::Serializer s(nullptr, sf);
+ synchronize(s, false);
+
+ sf->finalize();
+ delete sf;
+}
+
Common::String Roster::rosterSaveName() const {
return Common::String::format("%s-roster.dta",
g_engine->getTargetName().c_str());
diff --git a/engines/mm/mm1/data/roster.h b/engines/mm/mm1/data/roster.h
index 88933a25686..7fd5d1485d8 100644
--- a/engines/mm/mm1/data/roster.h
+++ b/engines/mm/mm1/data/roster.h
@@ -66,6 +66,11 @@ public:
*/
void save();
+ /**
+ * Save the roster in the original format
+ */
+ void saveOriginal();
+
/**
* Deletes a character
*/
More information about the Scummvm-git-logs
mailing list