[Scummvm-git-logs] scummvm master -> a3b6aa316ec3073e14f46142e3e1e96f898f545e

AndywinXp noreply at scummvm.org
Tue Jul 11 23:35:37 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:
a3b6aa316e JANITORIAL: SCUMM: Relabel bitmap compression types


Commit: a3b6aa316ec3073e14f46142e3e1e96f898f545e
    https://github.com/scummvm/scummvm/commit/a3b6aa316ec3073e14f46142e3e1e96f898f545e
Author: AndywinXp (andywinxp at gmail.com)
Date: 2023-07-12T01:35:30+02:00

Commit Message:
JANITORIAL: SCUMM: Relabel bitmap compression types

Changed paths:
    engines/scumm/gfx.cpp
    engines/scumm/gfx.h


diff --git a/engines/scumm/gfx.cpp b/engines/scumm/gfx.cpp
index f6fb681db86..648e8432025 100644
--- a/engines/scumm/gfx.cpp
+++ b/engines/scumm/gfx.cpp
@@ -2475,21 +2475,21 @@ void Gdi::drawBMAPBg(const byte *ptr, VirtScreen *vs) {
 	_decomp_mask = 0xFF >> (8 - _decomp_shr);
 
 	switch (code) {
-	case 134:
-	case 135:
-	case 136:
-	case 137:
-	case 138:
+	case BMCOMP_NMAJMIN_H4:
+	case BMCOMP_NMAJMIN_H5:
+	case BMCOMP_NMAJMIN_H6:
+	case BMCOMP_NMAJMIN_H7:
+	case BMCOMP_NMAJMIN_H8:
 		drawStripHE(dst, vs->pitch, bmap_ptr, vs->w, vs->h, false);
 		break;
-	case 144:
-	case 145:
-	case 146:
-	case 147:
-	case 148:
+	case BMCOMP_NMAJMIN_HT4:
+	case BMCOMP_NMAJMIN_HT5:
+	case BMCOMP_NMAJMIN_HT6:
+	case BMCOMP_NMAJMIN_HT7:
+	case BMCOMP_NMAJMIN_HT8:
 		drawStripHE(dst, vs->pitch, bmap_ptr, vs->w, vs->h, true);
 		break;
-	case 150:
+	case BMCOMP_SOLID_COLOR_FILL:
 		fill(dst, vs->pitch, *bmap_ptr, vs->w, vs->h, vs->format.bytesPerPixel);
 		break;
 	default:
@@ -2663,121 +2663,121 @@ bool Gdi::decompressBitmap(byte *dst, int dstPitch, const byte *src, int numLine
 	_decomp_mask = 0xFF >> (8 - _decomp_shr);
 
 	switch (code) {
-	case 1:
+	case BMCOMP_RAW256:
 		drawStripRaw(dst, dstPitch, src, numLinesToProcess, false);
 		break;
 
-	case 2:
+	case BMCOMP_TOWNS_2:
 		unkDecode8(dst, dstPitch, src, numLinesToProcess);       /* Ender - Zak256/Indy256 */
 		break;
 
-	case 3:
+	case BMCOMP_TOWNS_3:
 		unkDecode9(dst, dstPitch, src, numLinesToProcess);       /* Ender - Zak256/Indy256 */
 		break;
 
-	case 4:
+	case BMCOMP_TOWNS_4:
 		unkDecode10(dst, dstPitch, src, numLinesToProcess);      /* Ender - Zak256/Indy256 */
 		break;
 
-	case 7:
+	case BMCOMP_TOWNS_7:
 		unkDecode11(dst, dstPitch, src, numLinesToProcess);      /* Ender - Zak256/Indy256 */
 		break;
 
-	case 8:
+	case BMCOMP_TRLE8BIT:
 		// Used in 3DO versions of HE games
 		transpStrip = true;
 		drawStrip3DO(dst, dstPitch, src, numLinesToProcess, true);
 		break;
 
-	case 9:
+	case BMCOMP_RLE8BIT:
 		drawStrip3DO(dst, dstPitch, src, numLinesToProcess, false);
 		break;
 
-	case 10:
+	case BMCOMP_PIX32:
 		// Used in Amiga version of Monkey Island 1
 		drawStripEGA(dst, dstPitch, src, numLinesToProcess);
 		break;
 
-	case 14:
-	case 15:
-	case 16:
-	case 17:
-	case 18:
+	case BMCOMP_ZIGZAG_V4:
+	case BMCOMP_ZIGZAG_V5:
+	case BMCOMP_ZIGZAG_V6:
+	case BMCOMP_ZIGZAG_V7:
+	case BMCOMP_ZIGZAG_V8:
 		drawStripBasicV(dst, dstPitch, src, numLinesToProcess, false);
 		break;
 
-	case 24:
-	case 25:
-	case 26:
-	case 27:
-	case 28:
+	case BMCOMP_ZIGZAG_H4:
+	case BMCOMP_ZIGZAG_H5:
+	case BMCOMP_ZIGZAG_H6:
+	case BMCOMP_ZIGZAG_H7:
+	case BMCOMP_ZIGZAG_H8:
 		drawStripBasicH(dst, dstPitch, src, numLinesToProcess, false);
 		break;
 
-	case 34:
-	case 35:
-	case 36:
-	case 37:
-	case 38:
+	case BMCOMP_ZIGZAG_VT4:
+	case BMCOMP_ZIGZAG_VT5:
+	case BMCOMP_ZIGZAG_VT6:
+	case BMCOMP_ZIGZAG_VT7:
+	case BMCOMP_ZIGZAG_VT8:
 		transpStrip = true;
 		drawStripBasicV(dst, dstPitch, src, numLinesToProcess, true);
 		break;
 
-	case 44:
-	case 45:
-	case 46:
-	case 47:
-	case 48:
+	case BMCOMP_ZIGZAG_HT4:
+	case BMCOMP_ZIGZAG_HT5:
+	case BMCOMP_ZIGZAG_HT6:
+	case BMCOMP_ZIGZAG_HT7:
+	case BMCOMP_ZIGZAG_HT8:
 		transpStrip = true;
 		drawStripBasicH(dst, dstPitch, src, numLinesToProcess, true);
 		break;
 
-	case 64:
-	case 65:
-	case 66:
-	case 67:
-	case 68:
-	case 104:
-	case 105:
-	case 106:
-	case 107:
-	case 108:
+	case BMCOMP_MAJMIN_H4:
+	case BMCOMP_MAJMIN_H5:
+	case BMCOMP_MAJMIN_H6:
+	case BMCOMP_MAJMIN_H7:
+	case BMCOMP_MAJMIN_H8:
+	case BMCOMP_RMAJMIN_H4:
+	case BMCOMP_RMAJMIN_H5:
+	case BMCOMP_RMAJMIN_H6:
+	case BMCOMP_RMAJMIN_H7:
+	case BMCOMP_RMAJMIN_H8:
 		drawStripComplex(dst, dstPitch, src, numLinesToProcess, false);
 		break;
 
-	case 84:
-	case 85:
-	case 86:
-	case 87:
-	case 88:
-	case 124:
-	case 125:
-	case 126:
-	case 127:
-	case 128:
+	case BMCOMP_MAJMIN_HT4:
+	case BMCOMP_MAJMIN_HT5:
+	case BMCOMP_MAJMIN_HT6:
+	case BMCOMP_MAJMIN_HT7:
+	case BMCOMP_MAJMIN_HT8:
+	case BMCOMP_RMAJMIN_HT4:
+	case BMCOMP_RMAJMIN_HT5:
+	case BMCOMP_RMAJMIN_HT6:
+	case BMCOMP_RMAJMIN_HT7:
+	case BMCOMP_RMAJMIN_HT8:
 		transpStrip = true;
 		drawStripComplex(dst, dstPitch, src, numLinesToProcess, true);
 		break;
 
-	case 134:
-	case 135:
-	case 136:
-	case 137:
-	case 138:
+	case BMCOMP_NMAJMIN_H4:
+	case BMCOMP_NMAJMIN_H5:
+	case BMCOMP_NMAJMIN_H6:
+	case BMCOMP_NMAJMIN_H7:
+	case BMCOMP_NMAJMIN_H8:
 		drawStripHE(dst, dstPitch, src, 8, numLinesToProcess, false);
 		break;
 
-	case 143: // Triggered by Russian water
-	case 144:
-	case 145:
-	case 146:
-	case 147:
-	case 148:
+	case BMCOMP_CUSTOM_RU_TR: // Triggered by Russian water
+	case BMCOMP_NMAJMIN_HT4:
+	case BMCOMP_NMAJMIN_HT5:
+	case BMCOMP_NMAJMIN_HT6:
+	case BMCOMP_NMAJMIN_HT7:
+	case BMCOMP_NMAJMIN_HT8:
 		transpStrip = true;
 		drawStripHE(dst, dstPitch, src, 8, numLinesToProcess, true);
 		break;
 
-	case 149:
+	case BMCOMP_TPIX256:
 		drawStripRaw(dst, dstPitch, src, numLinesToProcess, true);
 		break;
 
diff --git a/engines/scumm/gfx.h b/engines/scumm/gfx.h
index 3243f46e49e..4b139e213c1 100644
--- a/engines/scumm/gfx.h
+++ b/engines/scumm/gfx.h
@@ -31,6 +31,97 @@ namespace Scumm {
 
 class ScummEngine;
 
+/*
+ *  Bitmap compression algorithm labels
+ */
+
+#define BMCOMP_RAW256           1   // Raw pixels
+#define BMCOMP_TOWNS_2          2
+#define BMCOMP_TOWNS_3          3
+#define BMCOMP_TOWNS_4          4
+#define BMCOMP_TOWNS_7          7
+#define BMCOMP_TRLE8BIT         8
+#define BMCOMP_RLE8BIT          9
+
+#define BMCOMP_PIX32            10  // Amiga 16/32 color compression
+
+#define BMCOMP_ZIGZAG_V0        10  // Vertical
+#define BMCOMP_ZIGZAG_V4        14
+#define BMCOMP_ZIGZAG_V5        15
+#define BMCOMP_ZIGZAG_V6        16
+#define BMCOMP_ZIGZAG_V7        17
+#define BMCOMP_ZIGZAG_V8        18
+
+#define BMCOMP_ZIGZAG_H0        20  // Horizontal
+#define BMCOMP_ZIGZAG_H4        24
+#define BMCOMP_ZIGZAG_H5        25
+#define BMCOMP_ZIGZAG_H6        26
+#define BMCOMP_ZIGZAG_H7        27
+#define BMCOMP_ZIGZAG_H8        28
+
+#define BMCOMP_ZIGZAG_VT0       30  // Vertical with transparency
+#define BMCOMP_ZIGZAG_VT4       34
+#define BMCOMP_ZIGZAG_VT5       35
+#define BMCOMP_ZIGZAG_VT6       36
+#define BMCOMP_ZIGZAG_VT7       37
+#define BMCOMP_ZIGZAG_VT8       38
+
+#define BMCOMP_ZIGZAG_HT0       40  // Horizontal with transparency
+#define BMCOMP_ZIGZAG_HT4       44
+#define BMCOMP_ZIGZAG_HT5       45
+#define BMCOMP_ZIGZAG_HT6       46
+#define BMCOMP_ZIGZAG_HT7       47
+#define BMCOMP_ZIGZAG_HT8       48
+
+#define BMCOMP_MAJMIN_H0        60  // Major-Minor jump algorithm (-4 to +3)
+#define BMCOMP_MAJMIN_H4        64
+#define BMCOMP_MAJMIN_H5        65
+#define BMCOMP_MAJMIN_H6        66
+#define BMCOMP_MAJMIN_H7        67
+#define BMCOMP_MAJMIN_H8        68
+
+#define BMCOMP_MAJMIN_HT0       80  // Major-Minor jump algorithm (-4 to +3, with transparency)
+#define BMCOMP_MAJMIN_HT4       84
+#define BMCOMP_MAJMIN_HT5       85
+#define BMCOMP_MAJMIN_HT6       86
+#define BMCOMP_MAJMIN_HT7       87
+#define BMCOMP_MAJMIN_HT8       88
+
+#define BMCOMP_RMAJMIN_H0       100 // Run Major-Minor jump algorithm (-4 to +3)
+#define BMCOMP_RMAJMIN_H4       104
+#define BMCOMP_RMAJMIN_H5       105
+#define BMCOMP_RMAJMIN_H6       106
+#define BMCOMP_RMAJMIN_H7       107
+#define BMCOMP_RMAJMIN_H8       108
+
+#define BMCOMP_RMAJMIN_HT0      120 // Run Major-Minor jump algorithm (-4 to +3, with transparency)
+#define BMCOMP_RMAJMIN_HT4      124
+#define BMCOMP_RMAJMIN_HT5      125
+#define BMCOMP_RMAJMIN_HT6      126
+#define BMCOMP_RMAJMIN_HT7      127
+#define BMCOMP_RMAJMIN_HT8      128
+
+#define BMCOMP_NMAJMIN_H0       130 // New Major-Minor jump algorithm (-4 to +4)
+#define BMCOMP_NMAJMIN_H4       134
+#define BMCOMP_NMAJMIN_H5       135
+#define BMCOMP_NMAJMIN_H6       136
+#define BMCOMP_NMAJMIN_H7       137
+#define BMCOMP_NMAJMIN_H8       138
+
+#define BMCOMP_NMAJMIN_HT0      140 // New Major-Minor jump algorithm (-4 to +4, with transparency)
+#define BMCOMP_NMAJMIN_HT4      144
+#define BMCOMP_NMAJMIN_HT5      145
+#define BMCOMP_NMAJMIN_HT6      146
+#define BMCOMP_NMAJMIN_HT7      147
+#define BMCOMP_NMAJMIN_HT8      148
+
+#define BMCOMP_TPIX256          149 // Transparent raw pixels
+
+#define BMCOMP_SOLID_COLOR_FILL 150
+
+#define BMCOMP_CUSTOM_RU_TR     143
+
+
 enum HerculesDimensions {
 	kHercWidth = 720,
 	kHercHeight = 350




More information about the Scummvm-git-logs mailing list