[Scummvm-git-logs] scummvm master -> 4463495b838be535cfb16578f2e1b3c779fcd383
sev-
noreply at scummvm.org
Tue Jul 21 11:10:19 UTC 2026
This automated email contains information about 3 new commits which have been
pushed to the 'scummvm' repo located at https://api.github.com/repos/scummvm/scummvm .
Summary:
c0b57d20a1 CHAMBER: Enable engine by default and mark games as testing
f9430ab567 CHAMBER: Add engine author to credits
4463495b83 CHAMBER: Final fixes
Commit: c0b57d20a11380e2735caed9168a8503558840a2
https://github.com/scummvm/scummvm/commit/c0b57d20a11380e2735caed9168a8503558840a2
Author: Ion Andrei Cristian (lecturatul2017 at gmail.com)
Date: 2026-07-21T13:10:14+02:00
Commit Message:
CHAMBER: Enable engine by default and mark games as testing
Flip the build-by-default flag to yes, promote all game variants
(CGA multi-language, US CGA, EGA and the two Amiga builds) from
ADGF_UNSTABLE to ADGF_TESTING, and add the game to NEWS.md under
2026.4.0.
Changed paths:
NEWS.md
engines/chamber/configure.engine
engines/chamber/detection.cpp
diff --git a/NEWS.md b/NEWS.md
index f7e7b15dd65..367ec8a9b17 100644
--- a/NEWS.md
+++ b/NEWS.md
@@ -17,6 +17,7 @@ For a more comprehensive changelog of the latest experimental code, see:
- Added support for Dracula 2: The Last Sanctuary.
- Added support for Nancy Drew: The Secret of Shadow Ranch.
- Added support for Nancy Drew: Curse of Blackmoor Manor.
+ - Added support for Chamber of the Sci-Mutant Priestess.
General:
- Optimised mixing and rate converters, for better performance.
diff --git a/engines/chamber/configure.engine b/engines/chamber/configure.engine
index 4d7e7b52461..8c290a4f043 100644
--- a/engines/chamber/configure.engine
+++ b/engines/chamber/configure.engine
@@ -1,3 +1,3 @@
# This file is included from the main "configure" script
# add_engine [name] [desc] [build-by-default] [subengines] [base games] [deps] [components]
-add_engine chamber "Chamber" no
+add_engine chamber "Chamber" yes
diff --git a/engines/chamber/detection.cpp b/engines/chamber/detection.cpp
index 5fe2df85bd2..9973461f3d7 100644
--- a/engines/chamber/detection.cpp
+++ b/engines/chamber/detection.cpp
@@ -38,7 +38,7 @@ static const ADGameDescription gameDescriptions[] = {
"PRES.BIN", "b8376a81d9ef6d9c5f783c64f718a782", 8005),
Common::UNK_LANG, // EN/FR/DE
Common::kPlatformDOS,
- ADGF_UNSTABLE | GF_SPLASH_PRES | GF_SPLASH2_DRAP,
+ ADGF_TESTING | GF_SPLASH_PRES | GF_SPLASH2_DRAP,
GUIO3(GUIO_RENDERHERCGREEN, GUIO_RENDERHERCAMBER, GUIO_RENDERCGA)
},
@@ -49,7 +49,7 @@ static const ADGameDescription gameDescriptions[] = {
"PRESCGA.BIN", "346be1f34fa5278e78bec85f3d349dc3", 5105),
Common::EN_USA,
Common::kPlatformDOS,
- ADGF_UNSTABLE | GF_SPLASH_PRESCGA,
+ ADGF_TESTING | GF_SPLASH_PRESCGA,
GUIO3(GUIO_RENDERHERCGREEN, GUIO_RENDERHERCAMBER, GUIO_RENDERCGA)
},
@@ -60,7 +60,7 @@ static const ADGameDescription gameDescriptions[] = {
"PRESEGA.EGA", "c3fb9e55ec789cd6dc67259a48025c4c", 32000),
Common::EN_USA,
Common::kPlatformDOS,
- ADGF_UNSTABLE | GF_SPLASH_PRESEGA,
+ ADGF_TESTING | GF_SPLASH_PRESEGA,
GUIO4(GUIO_RENDERHERCGREEN, GUIO_RENDERHERCAMBER, GUIO_RENDERCGA, GUIO_RENDEREGA)
},
@@ -72,7 +72,7 @@ static const ADGameDescription gameDescriptions[] = {
"6.BIN", "t:926c11afce55dc08e1bb15b1253fd677", 10702),
Common::UNK_LANG, // EU EN/FR/DE
Common::kPlatformAmiga,
- ADGF_UNSTABLE,
+ ADGF_TESTING,
GUIO1(GUIO_RENDERAMIGA)
},
@@ -84,7 +84,7 @@ static const ADGameDescription gameDescriptions[] = {
"6.BIN", "t:3eb1d3f844593949697540de3e74f74a", 16046),
Common::EN_USA,
Common::kPlatformAmiga,
- ADGF_UNSTABLE,
+ ADGF_TESTING,
GUIO1(GUIO_RENDERAMIGA)
},
Commit: f9430ab56730667733ce6c7cb744766b12c5869c
https://github.com/scummvm/scummvm/commit/f9430ab56730667733ce6c7cb744766b12c5869c
Author: Ion Andrei Cristian (lecturatul2017 at gmail.com)
Date: 2026-07-21T13:10:14+02:00
Commit Message:
CHAMBER: Add engine author to credits
Add Ion Andrei Cristian (11-andy-11) to the Chamber credits and
regenerate AUTHORS, gui/credits.h and the credits documentation.
Changed paths:
AUTHORS
engines/chamber/credits.pl
gui/credits.h
diff --git a/AUTHORS b/AUTHORS
index 15f7c88da68..a986f8288ae 100644
--- a/AUTHORS
+++ b/AUTHORS
@@ -148,6 +148,7 @@ ScummVM Team
Paul Gilbert
Chamber:
+ Ion Andrei Cristian
Retro-Junk;
Eugene Sandulenko
diff --git a/engines/chamber/credits.pl b/engines/chamber/credits.pl
index f8601f38f53..baa3258b91e 100644
--- a/engines/chamber/credits.pl
+++ b/engines/chamber/credits.pl
@@ -1,4 +1,5 @@
begin_section("Chamber");
+ add_person("Ion Andrei Cristian", "11-andy-11", "");
add_person("Retro-Junk;", "bambarbee", "");
add_person("Eugene Sandulenko", "sev", "");
end_section();
diff --git a/gui/credits.h b/gui/credits.h
index 7faf5d706f4..38d9f0dbd3a 100644
--- a/gui/credits.h
+++ b/gui/credits.h
@@ -193,6 +193,7 @@ static const char *const credits[] = {
"C0""Paul Gilbert",
"",
"C1""Chamber",
+"C0""Ion Andrei Cristian",
"C0""Retro-Junk;",
"C0""Eugene Sandulenko",
"",
Commit: 4463495b838be535cfb16578f2e1b3c779fcd383
https://github.com/scummvm/scummvm/commit/4463495b838be535cfb16578f2e1b3c779fcd383
Author: Ion Andrei Cristian (lecturatul2017 at gmail.com)
Date: 2026-07-21T13:10:14+02:00
Commit Message:
CHAMBER: Final fixes
- Fix the EGA/Amiga endgame saucer animation, which accumulated the
previous frames on the linear back buffer instead of clearing them.
- Fix Hercules mouse coordinate mapping: in Hercules mode the picture is
drawn double-width at a (40, 74) offset on a 720x348 surface, so event
coordinates are now shifted and halved back into the game's native
320x200 space, restoring hotspot detection and room navigation.
Changed paths:
engines/chamber/input.cpp
engines/chamber/script.cpp
diff --git a/engines/chamber/input.cpp b/engines/chamber/input.cpp
index 0292af36952..2be9fb6debe 100644
--- a/engines/chamber/input.cpp
+++ b/engines/chamber/input.cpp
@@ -202,6 +202,19 @@ void pollInputButtonsOnly() {
pollInput();
}
+/* In Hercules mode the picture is drawn double-width at a (40, 74) offset on a
+ 720x348 surface, so raw event coordinates must be shifted and halved back
+ into the game's native 320x200 space. */
+static void setCursorFromMouse(const Common::Point &mouse) {
+ if (g_vm->_renderMode == Common::kRenderHercG || g_vm->_renderMode == Common::kRenderHercA) {
+ cursor_x = CLIP<int16>((mouse.x - 40) / 2, 0, 319);
+ cursor_y = CLIP<int16>(mouse.y - 74, 0, 199);
+ } else {
+ cursor_x = mouse.x;
+ cursor_y = mouse.y;
+ }
+}
+
void pollInput(void) {
Common::Event event;
while (g_system->getEventManager()->pollEvent(event)) {
@@ -228,13 +241,11 @@ void pollInput(void) {
break;
case Common::EVENT_MOUSEMOVE:
- cursor_x = event.mouse.x;
- cursor_y = event.mouse.y;
+ setCursorFromMouse(event.mouse);
break;
case Common::EVENT_LBUTTONDOWN:
- cursor_x = event.mouse.x;
- cursor_y = event.mouse.y;
+ setCursorFromMouse(event.mouse);
mouseButtons |= 1;
break;
@@ -243,8 +254,7 @@ void pollInput(void) {
break;
case Common::EVENT_RBUTTONDOWN:
- cursor_x = event.mouse.x;
- cursor_y = event.mouse.y;
+ setCursorFromMouse(event.mouse);
mouseButtons |= 2;
break;
diff --git a/engines/chamber/script.cpp b/engines/chamber/script.cpp
index 0d5cfead939..d529d9977e5 100644
--- a/engines/chamber/script.cpp
+++ b/engines/chamber/script.cpp
@@ -2846,6 +2846,8 @@ Copy backbuffer to screen, with added vertical mirror
void ShowMirrored(uint16 h, uint16 ofs) {
uint16 x, ofs2 = ofs;
+ bool egaClearAbove = isEgaLikeRenderer();
+
/*move 1 line up*/
ofs2 ^= g_vm->_line_offset;
if ((ofs2 & g_vm->_line_offset) != 0 || g_vm->_line_offset == 0)
@@ -2854,7 +2856,8 @@ void ShowMirrored(uint16 h, uint16 ofs) {
while (h--) {
for (x = 0; x < g_vm->_screenBPL; x++) {
- frontbuffer[ofs2 + x] = frontbuffer[ofs + x] = backbuffer[ofs + x];
+ frontbuffer[ofs + x] = backbuffer[ofs + x];
+ frontbuffer[ofs2 + x] = egaClearAbove ? 0 : backbuffer[ofs + x];
backbuffer[ofs + x] = 0;
}
@@ -2942,6 +2945,8 @@ static void AnimSaucer(void) {
height_prev -= (yy - 1);
/*scale the saucer*/
+ if (isEgaLikeRenderer())
+ memset(backbuffer, 0, 320 * 200);
g_vm->_renderer->zoomInplaceXY(cur_image_pixels, width, height, ww, hh, xx, yy, backbuffer);
baseofs = g_vm->_renderer->calcXY(0, yy);
@@ -3002,7 +3007,7 @@ static void AnimSaucer(void) {
height_prev = height_new;
waitVBlank();
- g_system->delayMillis(delay / 250);
+ g_system->delayMillis(delay / 1000);
delay += 500;
}
}
More information about the Scummvm-git-logs
mailing list