[Scummvm-git-logs] scummvm master -> 1f166b4a789cae2fbac18b7ff93e8e7318fd7721
dreammaster
noreply at scummvm.org
Thu May 25 02:07:03 UTC 2023
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:
1f166b4a78 MM: MM1: Use the M&M1 graphics pack for enhanced mode
Commit: 1f166b4a789cae2fbac18b7ff93e8e7318fd7721
https://github.com/scummvm/scummvm/commit/1f166b4a789cae2fbac18b7ff93e8e7318fd7721
Author: Paul Gilbert (dreammaster at scummvm.org)
Date: 2023-05-24T19:06:39-07:00
Commit Message:
MM: MM1: Use the M&M1 graphics pack for enhanced mode
Changed paths:
A devtools/create_mm/files/mm1/gfx/monpix.dta
A devtools/create_mm/files/mm1/gfx/screen0
A devtools/create_mm/files/mm1/gfx/screen1
A devtools/create_mm/files/mm1/gfx/screen2
A devtools/create_mm/files/mm1/gfx/screen3
A devtools/create_mm/files/mm1/gfx/screen4
A devtools/create_mm/files/mm1/gfx/screen5
A devtools/create_mm/files/mm1/gfx/screen6
A devtools/create_mm/files/mm1/gfx/screen7
A devtools/create_mm/files/mm1/gfx/screen8
A devtools/create_mm/files/mm1/gfx/screen9
A devtools/create_mm/files/mm1/gfx/version.txt
A devtools/create_mm/files/mm1/gfx/wallpix.dta
engines/mm/mm1/data/monsters.cpp
engines/mm/mm1/data/monsters.h
engines/mm/mm1/game/encounter.cpp
engines/mm/mm1/gfx/dta.h
engines/mm/mm1/globals.cpp
engines/mm/mm1/globals.h
engines/mm/mm1/maps/maps.cpp
engines/mm/mm1/views/text_view.cpp
engines/mm/mm1/views/title.cpp
engines/mm/mm1/views_enh/text_view.cpp
diff --git a/devtools/create_mm/files/mm1/gfx/monpix.dta b/devtools/create_mm/files/mm1/gfx/monpix.dta
new file mode 100644
index 00000000000..8dd10d00952
Binary files /dev/null and b/devtools/create_mm/files/mm1/gfx/monpix.dta differ
diff --git a/devtools/create_mm/files/mm1/gfx/screen0 b/devtools/create_mm/files/mm1/gfx/screen0
new file mode 100644
index 00000000000..967dd5ae3c9
Binary files /dev/null and b/devtools/create_mm/files/mm1/gfx/screen0 differ
diff --git a/devtools/create_mm/files/mm1/gfx/screen1 b/devtools/create_mm/files/mm1/gfx/screen1
new file mode 100644
index 00000000000..f6a3b5f4034
Binary files /dev/null and b/devtools/create_mm/files/mm1/gfx/screen1 differ
diff --git a/devtools/create_mm/files/mm1/gfx/screen2 b/devtools/create_mm/files/mm1/gfx/screen2
new file mode 100644
index 00000000000..095ff4e4d53
Binary files /dev/null and b/devtools/create_mm/files/mm1/gfx/screen2 differ
diff --git a/devtools/create_mm/files/mm1/gfx/screen3 b/devtools/create_mm/files/mm1/gfx/screen3
new file mode 100644
index 00000000000..d71422c447f
Binary files /dev/null and b/devtools/create_mm/files/mm1/gfx/screen3 differ
diff --git a/devtools/create_mm/files/mm1/gfx/screen4 b/devtools/create_mm/files/mm1/gfx/screen4
new file mode 100644
index 00000000000..aafbd2f0c98
Binary files /dev/null and b/devtools/create_mm/files/mm1/gfx/screen4 differ
diff --git a/devtools/create_mm/files/mm1/gfx/screen5 b/devtools/create_mm/files/mm1/gfx/screen5
new file mode 100644
index 00000000000..a0d4fdc4b46
Binary files /dev/null and b/devtools/create_mm/files/mm1/gfx/screen5 differ
diff --git a/devtools/create_mm/files/mm1/gfx/screen6 b/devtools/create_mm/files/mm1/gfx/screen6
new file mode 100644
index 00000000000..2c8164314e2
Binary files /dev/null and b/devtools/create_mm/files/mm1/gfx/screen6 differ
diff --git a/devtools/create_mm/files/mm1/gfx/screen7 b/devtools/create_mm/files/mm1/gfx/screen7
new file mode 100644
index 00000000000..86ae08d3c8e
Binary files /dev/null and b/devtools/create_mm/files/mm1/gfx/screen7 differ
diff --git a/devtools/create_mm/files/mm1/gfx/screen8 b/devtools/create_mm/files/mm1/gfx/screen8
new file mode 100644
index 00000000000..bb8963a9233
Binary files /dev/null and b/devtools/create_mm/files/mm1/gfx/screen8 differ
diff --git a/devtools/create_mm/files/mm1/gfx/screen9 b/devtools/create_mm/files/mm1/gfx/screen9
new file mode 100644
index 00000000000..40c5b2c2fdb
Binary files /dev/null and b/devtools/create_mm/files/mm1/gfx/screen9 differ
diff --git a/devtools/create_mm/files/mm1/gfx/version.txt b/devtools/create_mm/files/mm1/gfx/version.txt
new file mode 100644
index 00000000000..ec35d13bfc6
--- /dev/null
+++ b/devtools/create_mm/files/mm1/gfx/version.txt
@@ -0,0 +1 @@
+Might & Magic 1 - Graphics Overhaul Mod
Version: 1.4 (final)
Platform: MS-DOS
Credits: TheDrakeRaider
Thanks to: lagdotcom
\ No newline at end of file
diff --git a/devtools/create_mm/files/mm1/gfx/wallpix.dta b/devtools/create_mm/files/mm1/gfx/wallpix.dta
new file mode 100644
index 00000000000..7be91f0c8fa
Binary files /dev/null and b/devtools/create_mm/files/mm1/gfx/wallpix.dta differ
diff --git a/engines/mm/mm1/data/monsters.cpp b/engines/mm/mm1/data/monsters.cpp
index 2887a877767..2b27ea73bef 100644
--- a/engines/mm/mm1/data/monsters.cpp
+++ b/engines/mm/mm1/data/monsters.cpp
@@ -19,14 +19,18 @@
*
*/
+#include "common/file.h"
#include "mm/mm1/data/monsters.h"
#include "mm/mm1/gfx/dta.h"
#include "mm/mm1/gfx/screen_decoder.h"
-#include "common/file.h"
+#include "mm/mm1/mm1.h"
namespace MM {
namespace MM1 {
+Monsters::Monsters() : _monPix(MONPIX_DTA) {
+}
+
bool Monsters::load() {
Common::File f;
if (!f.open("monsters.txt"))
diff --git a/engines/mm/mm1/data/monsters.h b/engines/mm/mm1/data/monsters.h
index 7d4481ffa34..28c66a8082b 100644
--- a/engines/mm/mm1/data/monsters.h
+++ b/engines/mm/mm1/data/monsters.h
@@ -113,7 +113,7 @@ private:
Monster _monsters[MONSTERS_COUNT];
Gfx::DTA _monPix;
public:
- Monsters() : _monPix(MONPIX_DTA) {}
+ Monsters();
/**
* Load the monster list
diff --git a/engines/mm/mm1/game/encounter.cpp b/engines/mm/mm1/game/encounter.cpp
index f25a4b27a49..db50faa7f46 100644
--- a/engines/mm/mm1/game/encounter.cpp
+++ b/engines/mm/mm1/game/encounter.cpp
@@ -126,7 +126,7 @@ exit_loop:
// Add monster details to list
_monsterLevel = _monsterSummaries[i]._level;
- const Monster &srcMons = g_globals->_monsters[_monsterSummaries[i]._num];
+ const Monster &srcMons = (*g_globals->_monsters)[_monsterSummaries[i]._num];
_monsterList.push_back(srcMons);
Monster &mons = _monsterList.back();
mons._level = _monsterSummaries[i]._level;
@@ -158,7 +158,7 @@ void Encounter::randomAdjust() {
const Monster *Encounter::getMonster() {
assert(_monsterNum > 0 && _monsterLevel > 0);
- return &g_globals->_monsters[_monsterNum + ((_monsterLevel - 1) * 16)];
+ return &(*g_globals->_monsters)[_monsterNum + ((_monsterLevel - 1) * 16)];
}
bool Encounter::checkSurroundParty() const {
diff --git a/engines/mm/mm1/gfx/dta.h b/engines/mm/mm1/gfx/dta.h
index 938e73403a4..32555f912a5 100644
--- a/engines/mm/mm1/gfx/dta.h
+++ b/engines/mm/mm1/gfx/dta.h
@@ -28,8 +28,8 @@ namespace MM {
namespace MM1 {
namespace Gfx {
-#define WALLPIX_DTA "wallpix.dta"
-#define MONPIX_DTA "monpix.dta"
+#define WALLPIX_DTA (g_engine->isEnhanced() ? "gfx/wallpix.dta" : "wallpix.dta")
+#define MONPIX_DTA (g_engine->isEnhanced() ? "gfx/monpix.dta" : "monpix.dta")
class DTA {
public:
diff --git a/engines/mm/mm1/globals.cpp b/engines/mm/mm1/globals.cpp
index 8022347f16a..e5bfc16dbfa 100644
--- a/engines/mm/mm1/globals.cpp
+++ b/engines/mm/mm1/globals.cpp
@@ -38,6 +38,7 @@ Globals::Globals() {
}
Globals::~Globals() {
+ delete _monsters;
g_globals = nullptr;
}
@@ -66,7 +67,8 @@ bool Globals::load(bool isEnhanced) {
if (!_font.load("font.bmp"))
return false;
- if (!_monsters.load() || !_items.load())
+ _monsters = new Monsters();
+ if (!_monsters->load() || !_items.load())
return false;
// Load roster
diff --git a/engines/mm/mm1/globals.h b/engines/mm/mm1/globals.h
index 32cf98a48cf..6936de4181e 100644
--- a/engines/mm/mm1/globals.h
+++ b/engines/mm/mm1/globals.h
@@ -54,7 +54,7 @@ public:
bool _heardRumor = false;
Game::Encounter _encounters;
Game::Combat *_combat = nullptr;
- Monsters _monsters;
+ Monsters *_monsters = nullptr;
Treasure _treasure;
byte _delay = 5;
int _nonCombatEffectCtr = 0, _combatEffectCtr = 0;
diff --git a/engines/mm/mm1/maps/maps.cpp b/engines/mm/mm1/maps/maps.cpp
index 9d7d50b87a5..79991cb471f 100644
--- a/engines/mm/mm1/maps/maps.cpp
+++ b/engines/mm/mm1/maps/maps.cpp
@@ -22,7 +22,6 @@
#include "common/endian.h"
#include "common/stream.h"
#include "common/system.h"
-#include "mm/mm1/events.h"
#include "mm/mm1/gfx/dta.h"
#include "mm/mm1/gfx/screen_decoder.h"
#include "mm/mm1/maps/maps.h"
@@ -81,6 +80,7 @@
#include "mm/mm1/maps/map52.h"
#include "mm/mm1/maps/map53.h"
#include "mm/mm1/maps/map54.h"
+#include "mm/mm1/mm1.h"
namespace MM {
namespace MM1 {
diff --git a/engines/mm/mm1/views/text_view.cpp b/engines/mm/mm1/views/text_view.cpp
index 3954be21c23..6884348916c 100644
--- a/engines/mm/mm1/views/text_view.cpp
+++ b/engines/mm/mm1/views/text_view.cpp
@@ -152,7 +152,7 @@ bool TextView::msgDrawGraphic(const DrawGraphicMessage &msg) {
void TextView::drawGraphic(int gfxNum) {
const Graphics::ManagedSurface img =
- g_globals->_monsters.getMonsterImage(gfxNum);
+ g_globals->_monsters->getMonsterImage(gfxNum);
getSurface().blitFrom(img, Common::Point(64, 16));
}
diff --git a/engines/mm/mm1/views/title.cpp b/engines/mm/mm1/views/title.cpp
index 1405aa46189..f6dcc8f611a 100644
--- a/engines/mm/mm1/views/title.cpp
+++ b/engines/mm/mm1/views/title.cpp
@@ -49,7 +49,8 @@ bool Title::msgFocus(const FocusMessage &msg) {
}
if (decoder.loadFile(
- Common::String::format("screen%d", i))) {
+ Common::String::format(g_engine->isEnhanced() ?
+ "gfx/screen%d" : "screen%d", i))) {
_screens[i].copyFrom(decoder.getSurface());
} else {
error("Could not load title screen");
diff --git a/engines/mm/mm1/views_enh/text_view.cpp b/engines/mm/mm1/views_enh/text_view.cpp
index 3bfc4fbd6a0..8e988ca902a 100644
--- a/engines/mm/mm1/views_enh/text_view.cpp
+++ b/engines/mm/mm1/views_enh/text_view.cpp
@@ -248,7 +248,7 @@ void TextView::clearSurface() {
void TextView::drawGraphic(int gfxNum) {
const Graphics::ManagedSurface img =
- g_globals->_monsters.getMonsterImage(gfxNum);
+ g_globals->_monsters->getMonsterImage(gfxNum);
getSurface().blitFrom(img, Common::Point(64, 30));
}
More information about the Scummvm-git-logs
mailing list