[Scummvm-git-logs] scummvm master -> 97c736d1074b74e85b5a73abcbe1ac075aece8d9
sev-
noreply at scummvm.org
Wed Apr 2 21:22:22 UTC 2025
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:
55adb9723e CHAMBER: Adjust portrait rendering position for HGA mode
0e73a27515 CHAMBER: Add HGA Support to cga_PrintChar()
97c736d107 CHAMBER: Fix crash in cga_blitToScreen due to division by zero
Commit: 55adb9723e6487cb598408f1f7b3c79801d48795
https://github.com/scummvm/scummvm/commit/55adb9723e6487cb598408f1f7b3c79801d48795
Author: Muhammad Nasir Bilal (naasrbilal at gmail.com)
Date: 2025-04-02T23:22:18+02:00
Commit Message:
CHAMBER: Adjust portrait rendering position for HGA mode
Changed paths:
engines/chamber/script.cpp
diff --git a/engines/chamber/script.cpp b/engines/chamber/script.cpp
index 2dcc9a50105..10471e11482 100644
--- a/engines/chamber/script.cpp
+++ b/engines/chamber/script.cpp
@@ -874,6 +874,13 @@ uint16 SCR_D_DrawPortraitDotEffect(void) {
cur_image_end = width * height;
int16 count = 0;
+ if (g_vm->_videoMode == Common::RenderMode::kRenderHercG) {
+ const int START_X = (HGA_WIDTH / 8 - (2 * CGA_WIDTH) / 8) / 2;
+ const int START_Y = (HGA_HEIGHT - CGA_HEIGHT) / 2;
+ x += START_X;
+ y += START_Y;
+ }
+
for (offs = 0; offs != cur_image_end;) {
target[CalcXY_p(x + offs % cur_image_size_w, y + offs / cur_image_size_w)] = cur_image_pixels[offs]; // TODO check this
Commit: 0e73a275150827a8a74681b41a0ccdc0bfe0ad9a
https://github.com/scummvm/scummvm/commit/0e73a275150827a8a74681b41a0ccdc0bfe0ad9a
Author: Muhammad Nasir Bilal (naasrbilal at gmail.com)
Date: 2025-04-02T23:22:18+02:00
Commit Message:
CHAMBER: Add HGA Support to cga_PrintChar()
Changed paths:
engines/chamber/cga.cpp
diff --git a/engines/chamber/cga.cpp b/engines/chamber/cga.cpp
index 047793521d8..052c6182f5a 100644
--- a/engines/chamber/cga.cpp
+++ b/engines/chamber/cga.cpp
@@ -543,18 +543,34 @@ Print a character at current cursor pos, then advance
void cga_PrintChar(byte c, byte *target) {
uint16 i;
byte *font = carpc_data + c * g_vm->_fontHeight;
- uint16 ofs = cga_CalcXY_p(char_draw_coords_x++, char_draw_coords_y); // TODO: hga_calcxy_p doesn't work with this??
- for (i = 0; i < g_vm->_fontHeight; i++) {
- c = *font++;
- c = char_xlat_table[c];
- target[ofs] = c;
- ofs ^= g_vm->_line_offset;
- if ((ofs & g_vm->_line_offset) == 0)
- ofs += g_vm->_screenBPL;
- }
- if (target == CGA_SCREENBUFFER)
- cga_blitToScreen((char_draw_coords_x - 1) * g_vm->_fontWidth, char_draw_coords_y, g_vm->_fontWidth, g_vm->_fontHeight);
+ if (g_vm->_videoMode == Common::RenderMode::kRenderCGA) {
+ uint16 ofs = cga_CalcXY_p(char_draw_coords_x++, char_draw_coords_y);
+ for (i = 0; i < g_vm->_fontHeight; i++) {
+ c = *font++;
+ c = char_xlat_table[c];
+ target[ofs] = c;
+ ofs ^= g_vm->_line_offset;
+ if ((ofs & g_vm->_line_offset) == 0)
+ ofs += g_vm->_screenBPL;
+ }
+
+ if (target == CGA_SCREENBUFFER)
+ cga_blitToScreen((char_draw_coords_x - 1) * g_vm->_fontWidth, char_draw_coords_y, g_vm->_fontWidth, g_vm->_fontHeight);
+
+ } else if (g_vm->_videoMode == Common::RenderMode::kRenderHercG) {
+ const int16 START_X = char_draw_coords_x++ + (HGA_WIDTH / 8 - (2 * CGA_WIDTH) / 8) / 2; // x + 5
+ const int16 START_Y = char_draw_coords_y + (HGA_HEIGHT - CGA_HEIGHT) / 2; // y + 74
+ for (i = 0; i < g_vm->_fontHeight; i++) {
+ uint16 ofs = HGA_CalcXY_p(START_X, START_Y + i);
+ c = *font++;
+ c = char_xlat_table[c];
+ target[ofs] = c;
+ }
+
+ if (target == CGA_SCREENBUFFER)
+ cga_blitToScreen(START_X, START_Y, g_vm->_fontWidth, g_vm->_fontHeight);
+ }
}
Commit: 97c736d1074b74e85b5a73abcbe1ac075aece8d9
https://github.com/scummvm/scummvm/commit/97c736d1074b74e85b5a73abcbe1ac075aece8d9
Author: Muhammad Nasir Bilal (naasrbilal at gmail.com)
Date: 2025-04-02T23:22:18+02:00
Commit Message:
CHAMBER: Fix crash in cga_blitToScreen due to division by zero
Changed paths:
engines/chamber/script.cpp
diff --git a/engines/chamber/script.cpp b/engines/chamber/script.cpp
index 10471e11482..fbd6cd48fa6 100644
--- a/engines/chamber/script.cpp
+++ b/engines/chamber/script.cpp
@@ -885,7 +885,7 @@ uint16 SCR_D_DrawPortraitDotEffect(void) {
target[CalcXY_p(x + offs % cur_image_size_w, y + offs / cur_image_size_w)] = cur_image_pixels[offs]; // TODO check this
if (count % 5 == 0)
- cga_blitToScreen(offs, 4, 1);
+ cga_blitToScreen(offs, g_vm->_screenPPB, 1);
offs += step;
if (offs > cur_image_end)
More information about the Scummvm-git-logs
mailing list