aboutsummaryrefslogtreecommitdiff
path: root/engines/cge/bitmap.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'engines/cge/bitmap.cpp')
-rw-r--r--engines/cge/bitmap.cpp64
1 files changed, 29 insertions, 35 deletions
diff --git a/engines/cge/bitmap.cpp b/engines/cge/bitmap.cpp
index b7e9eec2fc..1de10e2bfd 100644
--- a/engines/cge/bitmap.cpp
+++ b/engines/cge/bitmap.cpp
@@ -63,7 +63,6 @@ Bitmap::Bitmap(const char *fname) : _m(NULL), _v(NULL), _map(0) {
}
}
-
Bitmap::Bitmap(uint16 w, uint16 h, uint8 *map) : _w(w), _h(h), _m(map), _v(NULL), _map(0) {
debugC(1, kCGEDebugBitmap, "Bitmap::Bitmap(%d, %d, map)", w, h);
if (map)
@@ -118,17 +117,17 @@ Bitmap::Bitmap(uint16 w, uint16 h, uint8 fill)
Bitmap::Bitmap(const Bitmap &bmp) : _w(bmp._w), _h(bmp._h), _m(NULL), _v(NULL), _map(0) {
debugC(1, kCGEDebugBitmap, "Bitmap::Bitmap(bmp)");
uint8 *v0 = bmp._v;
- if (v0) {
- uint16 vsiz = (uint8 *)(bmp._b) - (uint8 *)(v0);
- uint16 siz = vsiz + _h * sizeof(HideDesc);
- uint8 *v1 = new uint8[siz];
- assert(v1 != NULL);
- memcpy(v1, v0, siz);
- _b = (HideDesc *)((_v = v1) + vsiz);
- }
+ if (!v0)
+ return;
+
+ uint16 vsiz = (uint8 *)(bmp._b) - (uint8 *)(v0);
+ uint16 siz = vsiz + _h * sizeof(HideDesc);
+ uint8 *v1 = new uint8[siz];
+ assert(v1 != NULL);
+ memcpy(v1, v0, siz);
+ _b = (HideDesc *)((_v = v1) + vsiz);
}
-
Bitmap::~Bitmap() {
debugC(6, kCGEDebugBitmap, "Bitmap::~Bitmap()");
@@ -136,7 +135,6 @@ Bitmap::~Bitmap() {
delete[] _v;
}
-
Bitmap &Bitmap::operator = (const Bitmap &bmp) {
debugC(1, kCGEDebugBitmap, "&Bitmap::operator =");
@@ -146,9 +144,10 @@ Bitmap &Bitmap::operator = (const Bitmap &bmp) {
_m = NULL;
_map = 0;
delete[] _v;
- if (v0 == NULL)
+
+ if (v0 == NULL) {
_v = NULL;
- else {
+ } else {
uint16 vsiz = (uint8 *)bmp._b - (uint8 *)v0;
uint16 siz = vsiz + _h * sizeof(HideDesc);
uint8 *v1 = (uint8 *) malloc(sizeof(uint8) * siz);
@@ -159,21 +158,19 @@ Bitmap &Bitmap::operator = (const Bitmap &bmp) {
return *this;
}
-
uint16 Bitmap::moveVmap(uint8 *buf) {
debugC(1, kCGEDebugBitmap, "Bitmap::moveVmap(buf)");
- if (_v) {
- uint16 vsiz = (uint8 *)_b - (uint8 *)_v;
- uint16 siz = vsiz + _h * sizeof(HideDesc);
- memcpy(buf, _v, siz);
- delete[] _v;
- _b = (HideDesc *)((_v = buf) + vsiz);
- return siz;
- }
- return 0;
-}
+ if (!_v)
+ return 0;
+ uint16 vsiz = (uint8 *)_b - (uint8 *)_v;
+ uint16 siz = vsiz + _h * sizeof(HideDesc);
+ memcpy(buf, _v, siz);
+ delete[] _v;
+ _b = (HideDesc *)((_v = buf) + vsiz);
+ return siz;
+}
BitmapPtr Bitmap::code() {
debugC(1, kCGEDebugBitmap, "Bitmap::code()");
@@ -181,7 +178,7 @@ BitmapPtr Bitmap::code() {
if (!_m)
return false;
- uint16 i, cnt;
+ uint16 cnt;
if (_v) { // old X-map exists, so remove it
delete[] _v;
@@ -194,7 +191,7 @@ BitmapPtr Bitmap::code() {
int bpl;
if (_v) { // 2nd pass - fill the hide table
- for (i = 0; i < _h; i++) {
+ for (uint16 i = 0; i < _h; i++) {
_b[i]._skip = 0xFFFF;
_b[i]._hide = 0x0000;
}
@@ -205,7 +202,7 @@ BitmapPtr Bitmap::code() {
uint16 j;
cnt = 0;
- for (i = 0; i < _h; i++) { // once per each line
+ for (uint16 i = 0; i < _h; i++) { // once per each line
uint8 pix;
for (j = bpl; j < _w; j += 4) {
pix = bm[j];
@@ -273,7 +270,7 @@ BitmapPtr Bitmap::code() {
_b = (HideDesc *)(_v + sizV);
}
cnt = 0;
- for (i = 0; i < _h; i++) {
+ for (uint16 i = 0; i < _h; i++) {
if (_b[i]._skip == 0xFFFF) { // whole line is skipped
_b[i]._skip = (cnt + kScrWidth) >> 2;
cnt = 0;
@@ -289,19 +286,16 @@ BitmapPtr Bitmap::code() {
return this;
}
-
bool Bitmap::solidAt(int16 x, int16 y) {
debugC(6, kCGEDebugBitmap, "Bitmap::solidAt(%d, %d)", x, y);
- uint8 *m;
- uint16 r, n, n0;
-
if ((x >= _w) || (y >= _h))
return false;
- m = _v;
- r = static_cast<uint16>(x) % 4;
- n0 = (kScrWidth * y + x) / 4, n = 0;
+ uint8 *m = _v;
+ uint16 r = static_cast<uint16>(x) % 4;
+ uint16 n0 = (kScrWidth * y + x) / 4;
+ uint16 n = 0;
while (r) {
uint16 w, t;