[Scummvm-git-logs] scummvm master -> 1788ca8dd015ef96fd33b6538bcfe2bbf9ffa9e7
sev-
noreply at scummvm.org
Fri Mar 15 23:20:50 UTC 2024
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:
d679efc4f8 PLUMBERS: Fix graphics initialization for Windows version
8077a8f8fd PLUMBERS: Use more conventional pixel format for 3DO version
1788ca8dd0 NEWS: Copy over 2.8.1 release notes
Commit: d679efc4f8e5367d340daf6950251ea5677b4c28
https://github.com/scummvm/scummvm/commit/d679efc4f8e5367d340daf6950251ea5677b4c28
Author: Eugene Sandulenko (sev at scummvm.org)
Date: 2024-03-16T00:18:13+01:00
Commit Message:
PLUMBERS: Fix graphics initialization for Windows version
Changed paths:
engines/plumbers/windows.cpp
diff --git a/engines/plumbers/windows.cpp b/engines/plumbers/windows.cpp
index f569f292e1d..d685558d4f7 100644
--- a/engines/plumbers/windows.cpp
+++ b/engines/plumbers/windows.cpp
@@ -64,9 +64,9 @@ void PlumbersGameWindows::startGraphics() {
Graphics::ModeWithFormatList modes = {
// First try for a 640x480 mode
- Graphics::ModeWithFormat(640, 480),
+ Graphics::ModeWithFormat(640, 480, Graphics::PixelFormat::createFormatCLUT8()),
// System doesn't support it, so fall back on 320x240 mode
- Graphics::ModeWithFormat(320, 240),
+ Graphics::ModeWithFormat(320, 240, Graphics::PixelFormat::createFormatCLUT8()),
};
int modeIdx = initGraphicsAny(modes);
Commit: 8077a8f8fd599c4a7db2937aacf7221700bfb397
https://github.com/scummvm/scummvm/commit/8077a8f8fd599c4a7db2937aacf7221700bfb397
Author: Eugene Sandulenko (sev at scummvm.org)
Date: 2024-03-16T00:18:22+01:00
Commit Message:
PLUMBERS: Use more conventional pixel format for 3DO version
Also, convert the 3DO format to target format
Changed paths:
engines/plumbers/3do.cpp
engines/plumbers/plumbers.h
diff --git a/engines/plumbers/3do.cpp b/engines/plumbers/3do.cpp
index 86ba31653a9..2b4f7283846 100644
--- a/engines/plumbers/3do.cpp
+++ b/engines/plumbers/3do.cpp
@@ -395,7 +395,7 @@ void PlumbersGame3DO::loadMikeDecision(const Common::String &dirname, const Comm
Common::String baseName = dirname + "/" + baseFilename;
debugC(1, kDebugGeneral, "%s : %s", __FUNCTION__, baseName.c_str());
Graphics::Surface *surf = new Graphics::Surface();
- surf->create(_screenW, _screenH, Graphics::PixelFormat(2, 5, 5, 5, 1, 10, 5, 0, 15));
+ surf->create(_screenW, _screenH, _targetFormat);
delete _compositeSurface;
_compositeSurface = nullptr;
@@ -409,17 +409,26 @@ void PlumbersGame3DO::loadMikeDecision(const Common::String &dirname, const Comm
error("unable to load image %s", nameP.toString().c_str());
_image->loadStream(fileP);
- surf->copyRectToSurface(*_image->getSurface(), p.x, p.y,
+ Graphics::Surface *conv = _image->getSurface()->convertTo(_targetFormat);
+ surf->copyRectToSurface(*conv, p.x, p.y,
Common::Rect(0, 0, sz.x, sz.y));
+ conv->free();
+ delete conv;
+
Common::File fileW;
Common::Path nameW(Common::String::format("%s%dW.CEL", baseName.c_str(), i + 1));
if (!fileW.open(nameW))
error("unable to load image %s", nameW.toString().c_str());
_image->loadStream(fileW);
- surf->copyRectToSurface(*_image->getSurface(), p.x + sz.x, p.y,
+ conv = _image->getSurface()->convertTo(_targetFormat);
+ surf->copyRectToSurface(*conv, p.x + sz.x, p.y,
Common::Rect(0, 0, sz.x, sz.y));
+
+ conv->free();
+ delete conv;
+
}
_compositeSurface = surf;
@@ -432,6 +441,7 @@ void PlumbersGame3DO::loadMikeDecision(const Common::String &dirname, const Comm
void PlumbersGame3DO::postSceneBitmaps() {
if (_scenes[_curSceneIdx]._style == Scene::STYLE_VIDEO) {
_videoDecoder = new Video::ThreeDOMovieDecoder();
+ _videoDecoder->setOutputPixelFormat(_targetFormat);
_curChoice = 0;
if (!_videoDecoder->loadFile(Common::Path(_scenes[_curSceneIdx]._sceneName))) {
_actions.push(ChangeScene);
@@ -446,7 +456,7 @@ void PlumbersGame3DO::postSceneBitmaps() {
_actions.push(ChangeScene);
return;
}
-
+
_showScoreFl = true;
_leftButtonDownFl = true;
_setDurationFl = false;
@@ -478,29 +488,35 @@ void PlumbersGame3DO::startGraphics() {
_ctrlHelpImage = new Image::Cel3DODecoder();
_screenW = 320;
_screenH = 240;
- Graphics::PixelFormat pf(2, 5, 5, 5, 1, 10, 5, 0, 15);
- initGraphics(_screenW, _screenH, &pf);
+ _targetFormat = Graphics::PixelFormat(2, 5, 6, 5, 0, 11, 5, 0, 0);
+
+ initGraphics(_screenW, _screenH, &_targetFormat);
}
void PlumbersGame3DO::blitImage() {
const Graphics::Surface *surface;
bool ctrlHelp = false;
+ bool needConv = false;
+
if (_leftShoulderPressed && _leftButtonDownFl && _ctrlHelpImage) {
surface = _ctrlHelpImage->getSurface();
ctrlHelp = true;
+ needConv = true;
} else if (_videoDecoder)
surface = _videoDecoder->decodeNextFrame();
else if (_compositeSurface)
surface = _compositeSurface;
- else
+ else {
surface = _image->getSurface();
+ needConv = true;
+ }
Graphics::Surface modSurf;
bool modded = false;
+ Graphics::Surface *conv = nullptr;
if (_hiLite >= 0 && _leftButtonDownFl && !ctrlHelp) {
- Graphics::PixelFormat pf(2, 5, 5, 5, 1, 10, 5, 0, 15);
- modSurf.create(surface->w, surface->h, pf);
+ modSurf.create(surface->w, surface->h, _targetFormat);
modSurf.copyRectToSurface(*surface, 0, 0, Common::Rect(0, 0, surface->w, surface->h));
const Common::Rect rec = _scenes[_curSceneIdx]._choices[_hiLite]._region;
@@ -511,17 +527,25 @@ void PlumbersGame3DO::blitImage() {
r = (*p >> 10) & 0x1f;
g = (*p >> 5) & 0x1f;
b = (*p >> 0) & 0x1f;
+
// TODO: figure out the correct multipliers
- r = MIN<int>(3 * r / 2, 0x1f);
- g = MIN<int>(3 * g / 2, 0x1f);
- b = MIN<int>(3 * b / 2, 0x1f);
- *p = (*p & 0x8000) | (r << 10) | (g << 5) | (b);
+ *p = _targetFormat.RGBToColor(3 * r / 2, 3 * g / 2, 3 * b / 2);
}
}
modded = true;
}
+ if (needConv) {
+ conv = surface->convertTo(_targetFormat);
+ surface = conv;
+ }
+
blitImageSurface(modded ? &modSurf : surface);
+
+ if (needConv) {
+ conv->free();
+ delete conv;
+ }
}
void PlumbersGame3DO::skipVideo() {
diff --git a/engines/plumbers/plumbers.h b/engines/plumbers/plumbers.h
index 9824ec9175e..a8c4fe8cd17 100644
--- a/engines/plumbers/plumbers.h
+++ b/engines/plumbers/plumbers.h
@@ -113,6 +113,8 @@ protected:
int _totScene;
long _totScore;
+ Graphics::PixelFormat _targetFormat;
+
Image::ImageDecoder *_image;
Console *_console;
Video::VideoDecoder *_videoDecoder;
Commit: 1788ca8dd015ef96fd33b6538bcfe2bbf9ffa9e7
https://github.com/scummvm/scummvm/commit/1788ca8dd015ef96fd33b6538bcfe2bbf9ffa9e7
Author: Eugene Sandulenko (sev at scummvm.org)
Date: 2024-03-16T00:20:26+01:00
Commit Message:
NEWS: Copy over 2.8.1 release notes
Changed paths:
NEWS.md
diff --git a/NEWS.md b/NEWS.md
index 86b8d1d7aed..b275674b47a 100644
--- a/NEWS.md
+++ b/NEWS.md
@@ -18,6 +18,96 @@ For a more comprehensive changelog of the latest experimental code, see:
- Added support for Russian CD fan-translation for Ringworld.
+#### 2.8.1 (2024-03-31)
+
+ General:
+ - Fixed GLSL version parsing on some OpenGL ES2 platforms.
+ - Don't try to use shaders on old OpenGL implementations.
+
+ AGI:
+ - Fixed Space Quest 1 version 1.0X freezing in the skimmer.
+ - Fixed Mixed-Up Mother Goose message boxes during nursery rhymes.
+ - Fixed Mixed-Up Mother Goose graphics in Amiga version.
+ - Fixed Gold Rush clock time at Fast and Fastest speeds.
+ - Fixed Atari ST version of Manhunter 1 not starting.
+ - Fixed Tandy CoCo3 version of Leisure Suit Larry 1 not starting.
+ - Fixed Tandy CoCo3 unofficial ports not starting.
+ - Fixed Amiga menus in Space Quest 1, Manhunter 1, and Manhunter 2.
+ - Fixed Graham facing away from the king in King's Quest 1.
+ - Fixed Alexander getting stuck on the stairs in King's Quest 3.
+ - Fixed Larry being able to shoplift in Leisure Suit Larry 1.
+ - Fixed ducks not jumping at the start of Donald Duck's Playground.
+ - Fixed instant death in fan game "Phil's Quest: The Search for Tolbaga".
+ - Fixed buttons freezing in fan game "DG: The AGIMouse Adventure".
+ - Fixed unrecognized words in fan game "V - The Graphical Adventure".
+ - Added detection for Macintosh version of Mixed-Up Mother Goose.
+
+ AGS:
+ - Updated detection tables.
+ - Simplified character import from Sierra games for QfG2 AGDI.
+ - Fixed graphical glitch affecting Unavowed and Heroine's Quest.
+ - Fixed partial outlines for some letters in Kathy Rain.
+ - Fixed crash in Alum.
+ - Added stub to prevent crash at the beginning of Falcon City.
+
+ Broken Sword 2:
+ - Fixed crash when quitting the game while it was paused.
+
+ MM:
+ - Enabled engine, allowing MM1 and Xeen to be compiled.
+ - Added MT32/LAPC-1 support for Xeen engine.
+ - Fixed Xeen regression which caused some sound effects to stop abruptly.
+
+ mTropolis:
+ - Fixed crash in Muppet Treasure Island on some platforms.
+ - Fixed jewel puzzle in Muppet Treasure Island not being randomized.
+
+ NANCY:
+ - Fixed the telephone hints in Secrets Can Kill.
+ - Fixed the crashing and drawing issues on ARM machines when playing
+ Message in a Haunted Mansion's maze minigame.
+ - Fixed the 'M' keyboard key not working in Message in a Haunted Mansion.
+ - Allowed general keymaps to be shown in the engine Keymaps menu.
+ - Virtual keyboard now correctly triggers on/off wherever text input is needed.
+
+ SCUMM:
+ - Fix screen corruption (and sometimes even crashes) in Mac Loom and
+ Indiana Jones and the Last Crusade, most noticeably when using menu
+ shortcut keys.
+ - Fix enabling/disabling of Open and Save in Mac Indiana Jones and the Last
+ Crusade.
+
+ TWINE:
+ - Fix ladder climbing regression.
+ - Fix scenery zoom issue.
+ - Fix animation glitches after using the holomap.
+
+ Ultima:
+ - Fix Ultima VIII hidden minimap blocking keyring use.
+ - Fix Ultima VIII page breaks in books.
+ - Fix Ultima VIII text centering for plaques.
+ - Fix Ultima VIII crash on dragging items to screen edge.
+ - Fix Ultima VIII unexpected jumping on left click.
+ - Fix Ultima VIII camera during cutscenes for Shrine of the Ancient Ones.
+ - Fix Ultima VIII invalid placement of items within containers.
+ - Fix Ultima VIII never-ending lava sounds.
+
+ V-Cruise:
+ - Fixed crash in Reah: Face the Unknown and Schizm: Mysterious Journey
+ when music is muted.
+
+ Android port:
+ - Fixed crash in built-in help with German language.
+
+ Atari port:
+ - Fixed crash when exiting ScummVM.
+ - Fixed BBVS (and possibly others) gameplay by using more precise math model.
+
+ macOS port:
+ - Fixed a problem where some Mac games would not load resources correctly.
+ - Updated application icon to conform with modern standards.
+
+
#### 2.8.0 "Mysteries, Mammoths, and Muppets" (2023-12-30)
New games:
More information about the Scummvm-git-logs
mailing list