aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--scumm/palette_he.cpp101
-rw-r--r--scumm/script_v90he.cpp101
2 files changed, 101 insertions, 101 deletions
diff --git a/scumm/palette_he.cpp b/scumm/palette_he.cpp
index a983ce3241..66dad812a3 100644
--- a/scumm/palette_he.cpp
+++ b/scumm/palette_he.cpp
@@ -29,6 +29,107 @@
namespace Scumm {
+uint8 *ScummEngine_v90he::getHEPalette(int palSlot) {
+ if (palSlot) {
+ assert(palSlot >= 1 && palSlot <= _numPalettes);
+ return _hePalettes + palSlot * 1024 + 768;
+ } else {
+ return _hePalettes + 1768;
+ }
+}
+
+uint8 *ScummEngine_v90he::getHEPaletteIndex(int palSlot) {
+ if (palSlot) {
+ assert(palSlot >= 1 && palSlot <= _numPalettes);
+ return _hePalettes + palSlot * 1024;
+ } else {
+ return _hePalettes + 1024;
+ }
+}
+
+int ScummEngine_v90he::getHEPaletteColor(int palSlot, int color) {
+ assert(palSlot >= 1 && palSlot <= _numPalettes);
+ assert(color >= 1 && color <= 255);
+
+ return _hePalettes[palSlot * 1024 + 768 + color];
+}
+
+void ScummEngine_v90he::setHEPaletteColor(int palSlot, uint8 color, uint8 r, uint8 g, uint8 b) {
+ assert(palSlot >= 1 && palSlot <= _numPalettes);
+ uint8 *p = _hePalettes + palSlot * 1024 + color * 3;
+ *(p + 0) = r;
+ *(p + 1) = g;
+ *(p + 2) = b;
+ *(_hePalettes + palSlot * 1024 + 768 + color) = color;
+}
+
+void ScummEngine_v90he::setHEPaletteFromPtr(int palSlot, const uint8 *palData) {
+ assert(palSlot >= 1 && palSlot <= _numPalettes);
+ uint8 *pc = _hePalettes + palSlot * 1024;
+ uint8 *pi = pc + 768;
+ for (int i = 0; i < 256; ++i) {
+ *pc++ = *palData++;
+ *pc++ = *palData++;
+ *pc++ = *palData++;
+ *pi++ = i;
+ }
+ for (int i = 0; i < 10; ++i)
+ _hePalettes[palSlot * 1024 + 768 + i] = 1;
+ for (int i = 246; i < 256; ++i)
+ _hePalettes[palSlot * 1024 + 768 + i] = 1;
+
+}
+
+void ScummEngine_v90he::setHEPaletteFromCostume(int palSlot, int resId) {
+ assert(palSlot >= 1 && palSlot <= _numPalettes);
+ const uint8 *data = getResourceAddress(rtCostume, resId);
+ assert(data);
+ const uint8 *rgbs = findResourceData(MKID('RGBS'), data);
+ assert(rgbs);
+ setHEPaletteFromPtr(palSlot, rgbs);
+}
+
+void ScummEngine_v90he::setHEPaletteFromImage(int palSlot, int resId, int state) {
+ assert(palSlot >= 1 && palSlot <= _numPalettes);
+ uint8 *data = getResourceAddress(rtImage, resId);
+ assert(data);
+ uint8 *rgbs = findWrappedBlock(MKID('RGBS'), data, state, 0);
+ assert(rgbs);
+ setHEPaletteFromPtr(palSlot, rgbs);
+}
+
+void ScummEngine_v90he::setHEPaletteFromRoom(int palSlot, int resId, int state) {
+ assert(palSlot >= 1 && palSlot <= _numPalettes);
+ uint8 *data = getResourceAddress(rtRoom, resId);
+ assert(data);
+ uint8 *rgbs = findWrappedBlock(MKID('PALS'), data, state, 0);
+ assert(rgbs);
+ setHEPaletteFromPtr(palSlot, rgbs);
+}
+
+void ScummEngine_v90he::restoreHEPalette(int palSlot) {
+ assert(palSlot >= 1 && palSlot <= _numPalettes);
+ if (palSlot != 1) {
+ memcpy(_hePalettes + palSlot * 1024, _hePalettes + 1024, 1024);
+ }
+}
+
+void ScummEngine_v90he::copyHEPalette(int dstPalSlot, int srcPalSlot) {
+ assert(dstPalSlot >= 1 && dstPalSlot <= _numPalettes);
+ assert(srcPalSlot >= 1 && srcPalSlot <= _numPalettes);
+ if (dstPalSlot != srcPalSlot) {
+ memcpy(_hePalettes + dstPalSlot * 1024, _hePalettes + srcPalSlot * 1024, 1024);
+ }
+}
+
+void ScummEngine_v90he::copyHEPaletteColor(int palSlot, uint8 dstColor, uint8 srcColor) {
+ assert(palSlot >= 1 && palSlot <= _numPalettes);
+ uint8 *dstPal = _hePalettes + palSlot * 1024 + dstColor * 3;
+ uint8 *srcPal = _hePalettes + (palSlot + 1) * 1024 + srcColor * 3;
+ memcpy(dstPal, srcPal, 3);
+ _hePalettes[palSlot * 1024 + 768] = srcColor;
+}
+
void ScummEngine_v99he::setPaletteFromPtr(const byte *ptr, int numcolor) {
int i;
byte *dest, r, g, b;
diff --git a/scumm/script_v90he.cpp b/scumm/script_v90he.cpp
index 9600774300..93eb115bf3 100644
--- a/scumm/script_v90he.cpp
+++ b/scumm/script_v90he.cpp
@@ -2130,107 +2130,6 @@ void ScummEngine_v90he::o90_getObjectData() {
debug(1,"o90_getObjectData stub (%d)", subOp);
}
-uint8 *ScummEngine_v90he::getHEPalette(int palSlot) {
- if (palSlot) {
- assert(palSlot >= 1 && palSlot <= _numPalettes);
- return _hePalettes + palSlot * 1024 + 768;
- } else {
- return _hePalettes + 1768;
- }
-}
-
-uint8 *ScummEngine_v90he::getHEPaletteIndex(int palSlot) {
- if (palSlot) {
- assert(palSlot >= 1 && palSlot <= _numPalettes);
- return _hePalettes + palSlot * 1024;
- } else {
- return _hePalettes + 1024;
- }
-}
-
-int ScummEngine_v90he::getHEPaletteColor(int palSlot, int color) {
- assert(palSlot >= 1 && palSlot <= _numPalettes);
- assert(color >= 1 && color <= 255);
-
- return _hePalettes[palSlot * 1024 + 768 + color];
-}
-
-void ScummEngine_v90he::setHEPaletteColor(int palSlot, uint8 color, uint8 r, uint8 g, uint8 b) {
- assert(palSlot >= 1 && palSlot <= _numPalettes);
- uint8 *p = _hePalettes + palSlot * 1024 + color * 3;
- *(p + 0) = r;
- *(p + 1) = g;
- *(p + 2) = b;
- *(_hePalettes + palSlot * 1024 + 768 + color) = color;
-}
-
-void ScummEngine_v90he::setHEPaletteFromPtr(int palSlot, const uint8 *palData) {
- assert(palSlot >= 1 && palSlot <= _numPalettes);
- uint8 *pc = _hePalettes + palSlot * 1024;
- uint8 *pi = pc + 768;
- for (int i = 0; i < 256; ++i) {
- *pc++ = *palData++;
- *pc++ = *palData++;
- *pc++ = *palData++;
- *pi++ = i;
- }
- for (int i = 0; i < 10; ++i)
- _hePalettes[palSlot * 1024 + 768 + i] = 1;
- for (int i = 246; i < 256; ++i)
- _hePalettes[palSlot * 1024 + 768 + i] = 1;
-
-}
-
-void ScummEngine_v90he::setHEPaletteFromCostume(int palSlot, int resId) {
- assert(palSlot >= 1 && palSlot <= _numPalettes);
- const uint8 *data = getResourceAddress(rtCostume, resId);
- assert(data);
- const uint8 *rgbs = findResourceData(MKID('RGBS'), data);
- assert(rgbs);
- setHEPaletteFromPtr(palSlot, rgbs);
-}
-
-void ScummEngine_v90he::setHEPaletteFromImage(int palSlot, int resId, int state) {
- assert(palSlot >= 1 && palSlot <= _numPalettes);
- uint8 *data = getResourceAddress(rtImage, resId);
- assert(data);
- uint8 *rgbs = findWrappedBlock(MKID('RGBS'), data, state, 0);
- assert(rgbs);
- setHEPaletteFromPtr(palSlot, rgbs);
-}
-
-void ScummEngine_v90he::setHEPaletteFromRoom(int palSlot, int resId, int state) {
- assert(palSlot >= 1 && palSlot <= _numPalettes);
- uint8 *data = getResourceAddress(rtRoom, resId);
- assert(data);
- uint8 *rgbs = findWrappedBlock(MKID('PALS'), data, state, 0);
- assert(rgbs);
- setHEPaletteFromPtr(palSlot, rgbs);
-}
-
-void ScummEngine_v90he::restoreHEPalette(int palSlot) {
- assert(palSlot >= 1 && palSlot <= _numPalettes);
- if (palSlot != 1) {
- memcpy(_hePalettes + palSlot * 1024, _hePalettes + 1024, 1024);
- }
-}
-
-void ScummEngine_v90he::copyHEPalette(int dstPalSlot, int srcPalSlot) {
- assert(dstPalSlot >= 1 && dstPalSlot <= _numPalettes);
- assert(srcPalSlot >= 1 && srcPalSlot <= _numPalettes);
- if (dstPalSlot != srcPalSlot) {
- memcpy(_hePalettes + dstPalSlot * 1024, _hePalettes + srcPalSlot * 1024, 1024);
- }
-}
-
-void ScummEngine_v90he::copyHEPaletteColor(int palSlot, uint8 dstColor, uint8 srcColor) {
- assert(palSlot >= 1 && palSlot <= _numPalettes);
- uint8 *dstPal = _hePalettes + palSlot * 1024 + dstColor * 3;
- uint8 *srcPal = _hePalettes + (palSlot + 1) * 1024 + srcColor * 3;
- memcpy(dstPal, srcPal, 3);
- _hePalettes[palSlot * 1024 + 768] = srcColor;
-}
-
void ScummEngine_v90he::o90_getPaletteData() {
int palSlot, color;