# HG changeset patch # User tron # Date 2005-07-29 10:16:49 # Node ID 707d4149e0875c8a2350479e7d7869bb4903af1c # Parent 16f8f81c0863ffbb5918f18b55a3a235da374957 (svn r2746) -Fix: SDL_SetColors() has the number of palette entries to change as parameter, not one beyond the last entry to change diff --git a/video/sdl_v.c b/video/sdl_v.c --- a/video/sdl_v.c +++ b/video/sdl_v.c @@ -34,20 +34,19 @@ static void SdlVideoMakeDirty(int left, _num_dirty_rects++; } -static SDL_Color pal[256]; - -static void UpdatePalette(uint start, uint end) +static void UpdatePalette(uint start, uint count) { + SDL_Color pal[256]; uint i; - for (i = start; i != end; i++) { - pal[i].r = _cur_palette[i].r; - pal[i].g = _cur_palette[i].g; - pal[i].b = _cur_palette[i].b; + for (i = 0; i != count; i++) { + pal[i].r = _cur_palette[start + i].r; + pal[i].g = _cur_palette[start + i].g; + pal[i].b = _cur_palette[start + i].b; pal[i].unused = 0; } - SDL_CALL SDL_SetColors(_sdl_screen, pal, start, end); + SDL_CALL SDL_SetColors(_sdl_screen, pal, start, count); } static void InitPalette(void) @@ -57,8 +56,8 @@ static void InitPalette(void) static void CheckPaletteAnim(void) { - if(_pal_last_dirty != -1) { - UpdatePalette(_pal_first_dirty, _pal_last_dirty + 1); + if (_pal_last_dirty != -1) { + UpdatePalette(_pal_first_dirty, _pal_last_dirty - _pal_first_dirty + 1); _pal_last_dirty = -1; } }