diff --git a/src/format.h b/src/format.h index b19c285..f62408a 100644 --- a/src/format.h +++ b/src/format.h @@ -5223,7 +5223,7 @@ namespace TR { if (version == VER_TR3_PC || version == VER_TR4_PC) { Color16 color; stream.read(color.value); - v.color = color.getBGR(); + v.color = color; } } @@ -6338,7 +6338,7 @@ namespace TR { index = indices + (y * w + x) / 2; int idx = (x % 2) ? index->a : index->b; - Color16 &c = clut->color[idx]; + ColorCLUT &c = clut->color[idx]; if (t->attribute == 1 && idx == 0) dst->color[y * 256 + x].value = 0; @@ -6386,7 +6386,9 @@ namespace TR { AtlasColor *ptr = &dst->color[uv.y * 256]; for (int y = uv.y; y < uv.w; y++) { for (int x = uv.x; x < uv.z; x++) { - ptr[x] = tiles32[t->tile].color[y * 256 + x]; + Color32 c = tiles32[t->tile].color[y * 256 + x]; + swap(c.r, c.b); + ptr[x] = c; } ptr += 256; } diff --git a/src/gameflow.h b/src/gameflow.h index 3e54f0d..d131a1a 100644 --- a/src/gameflow.h +++ b/src/gameflow.h @@ -1352,6 +1352,7 @@ namespace TR { callback(Sound::openCDAudioWAD("audio/3/cdaudio.wad", track), userData); return; #else + return; // TODO ask hoster to fix problems with gzip for wav's sprintf(title, "audio/3/track_%02d.wav", track); #endif break;