summaryrefslogtreecommitdiff
path: root/src/gfx.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'src/gfx.cpp')
-rw-r--r--src/gfx.cpp16
1 files changed, 10 insertions, 6 deletions
diff --git a/src/gfx.cpp b/src/gfx.cpp
index a0373cfa8..44d44a757 100644
--- a/src/gfx.cpp
+++ b/src/gfx.cpp
@@ -1212,11 +1212,15 @@ void GfxInitPalettes()
_pal_count_dirty = 256;
}
-#define EXTR(p, q) (((uint16)(_palette_animation_counter * (p)) * (q)) >> 16)
-#define EXTR2(p, q) (((uint16)(~_palette_animation_counter * (p)) * (q)) >> 16)
+#define EXTR(p, q) (((uint16)(palette_animation_counter * (p)) * (q)) >> 16)
+#define EXTR2(p, q) (((uint16)(~palette_animation_counter * (p)) * (q)) >> 16)
void DoPaletteAnimations()
{
+ /* Animation counter for the palette animation. */
+ static int palette_animation_counter = 0;
+ palette_animation_counter += 8;
+
Blitter *blitter = BlitterFactoryBase::GetCurrentBlitter();
const Colour *s;
const ExtraPaletteValues *ev = &_extra_palette_values;
@@ -1226,12 +1230,12 @@ void DoPaletteAnimations()
const int colour_rotation_amount = (_use_palette == PAL_DOS) ? PALETTE_ANIM_SIZE_DOS : PALETTE_ANIM_SIZE_WIN;
Colour old_val[PALETTE_ANIM_SIZE_DOS];
const int oldval_size = colour_rotation_amount * sizeof(*old_val);
- const uint old_tc = _palette_animation_counter;
+ const uint old_tc = palette_animation_counter;
uint i;
uint j;
if (blitter != NULL && blitter->UsePaletteAnimation() == Blitter::PALETTE_ANIMATION_NONE) {
- _palette_animation_counter = 0;
+ palette_animation_counter = 0;
}
Colour *palette_pos = &_cur_palette[PALETTE_ANIM_SIZE_START]; // Points to where animations are taking place on the palette
@@ -1277,7 +1281,7 @@ void DoPaletteAnimations()
/* Radio tower blinking */
{
- byte i = (_palette_animation_counter >> 1) & 0x7F;
+ byte i = (palette_animation_counter >> 1) & 0x7F;
byte v;
if (i < 0x3f) {
@@ -1337,7 +1341,7 @@ void DoPaletteAnimations()
}
if (blitter != NULL && blitter->UsePaletteAnimation() == Blitter::PALETTE_ANIMATION_NONE) {
- _palette_animation_counter = old_tc;
+ palette_animation_counter = old_tc;
} else {
if (memcmp(old_val, &_cur_palette[PALETTE_ANIM_SIZE_START], oldval_size) != 0) {
/* Did we changed anything on the palette? Seems so. Mark it as dirty */