Pass palette index to gfx_clear

This commit is contained in:
Marijn van der Werf 2016-11-16 14:27:02 +01:00 committed by Ted John
parent 736437aa6e
commit 6b4def9156
15 changed files with 28 additions and 34 deletions

View File

@ -30,7 +30,7 @@ interface IDrawingContext
virtual IDrawingEngine * GetEngine() abstract;
virtual void Clear(uint32 colour) abstract;
virtual void Clear(uint8 paletteIndex) abstract;
virtual void FillRect(uint32 colour, sint32 left, sint32 top, sint32 right, sint32 bottom) abstract;
virtual void FilterRect(FILTER_PALETTE_ID palette, sint32 left, sint32 top, sint32 right, sint32 bottom) abstract;
virtual void DrawLine(uint32 colour, sint32 x1, sint32 y1, sint32 x2, sint32 y2) abstract;

View File

@ -192,12 +192,12 @@ extern "C"
{
}
void gfx_clear(rct_drawpixelinfo * dpi, uint32 colour)
void gfx_clear(rct_drawpixelinfo * dpi, uint8 paletteIndex)
{
if (_drawingEngine != nullptr)
{
IDrawingContext * dc = _drawingEngine->GetDrawingContext(dpi);
dc->Clear(colour);
dc->Clear(paletteIndex);
}
}

View File

@ -295,7 +295,7 @@ void gfx_transpose_palette(int pal, unsigned char product);
void load_palette();
// other
void gfx_clear(rct_drawpixelinfo *dpi, uint32 colour);
void gfx_clear(rct_drawpixelinfo *dpi, uint8 paletteIndex);
void gfx_draw_pixel(rct_drawpixelinfo *dpi, int x, int y, int colour);
void gfx_filter_pixel(rct_drawpixelinfo *dpi, int x, int y, FILTER_PALETTE_ID palette);
void gfx_invalidate_pickedup_peep();

View File

@ -169,7 +169,7 @@ public:
IDrawingEngine * GetEngine() override;
void Clear(uint32 colour) override;
void Clear(uint8 paletteIndex) override;
void FillRect(uint32 colour, sint32 x, sint32 y, sint32 w, sint32 h) override;
void FilterRect(FILTER_PALETTE_ID palette, sint32 left, sint32 top, sint32 right, sint32 bottom) override;
void DrawLine(uint32 colour, sint32 x1, sint32 y1, sint32 x2, sint32 y2) override;
@ -828,7 +828,7 @@ IDrawingEngine * SoftwareDrawingContext::GetEngine()
return _engine;
}
void SoftwareDrawingContext::Clear(uint32 colour)
void SoftwareDrawingContext::Clear(uint8 paletteIndex)
{
rct_drawpixelinfo * dpi = _dpi;
@ -838,7 +838,7 @@ void SoftwareDrawingContext::Clear(uint32 colour)
for (int y = 0; y < h; y++)
{
Memory::Set(ptr, colour, w);
Memory::Set(ptr, paletteIndex, w);
ptr += w + dpi->pitch;
}
}

View File

@ -208,7 +208,7 @@ public:
void Resize(sint32 width, sint32 height);
void ResetPalette();
void Clear(uint32 colour) override;
void Clear(uint8 paletteIndex) override;
void FillRect(uint32 colour, sint32 x, sint32 y, sint32 w, sint32 h) override;
void FilterRect(FILTER_PALETTE_ID palette, sint32 left, sint32 top, sint32 right, sint32 bottom) override;
void DrawLine(uint32 colour, sint32 x1, sint32 y1, sint32 x2, sint32 y2) override;
@ -551,9 +551,9 @@ void OpenGLDrawingContext::ResetPalette()
_drawImageShader->SetPalette(_engine->GLPalette);
}
void OpenGLDrawingContext::Clear(uint32 colour)
void OpenGLDrawingContext::Clear(uint8 paletteIndex)
{
FillRect(colour, _clipLeft - _offsetX, _clipTop - _offsetY, _clipRight, _clipBottom);
FillRect(paletteIndex, _clipLeft - _offsetX, _clipTop - _offsetY, _clipRight, _clipBottom);
}
void OpenGLDrawingContext::FillRect(uint32 colour, sint32 left, sint32 top, sint32 right, sint32 bottom)

View File

@ -834,7 +834,6 @@ static void window_editor_inventions_list_paint(rct_window *w, rct_drawpixelinfo
*/
static void window_editor_inventions_list_scrollpaint(rct_window *w, rct_drawpixelinfo *dpi, int scrollIndex)
{
uint32 colour;
rct_research_item *researchItem;
int left, top, bottom, itemY, disableItemMovement;
sint32 researchItemEndMarker;
@ -842,9 +841,8 @@ static void window_editor_inventions_list_scrollpaint(rct_window *w, rct_drawpix
utf8 buffer[256], *ptr;
// Draw background
colour = ColourMapA[w->colours[1]].mid_light;
colour = (colour << 24) | (colour << 16) | (colour << 8) | colour;
gfx_clear(dpi, colour);
uint8 paletteIndex = ColourMapA[w->colours[1]].mid_light;
gfx_clear(dpi, paletteIndex);
researchItem = gResearchItems;

View File

@ -1399,9 +1399,8 @@ static void window_editor_object_selection_scrollpaint(rct_window *w, rct_drawpi
bool ridePage = (w->selected_tab == WINDOW_OBJECT_SELECTION_PAGE_RIDE_VEHICLES_ATTRACTIONS);
colour = ColourMapA[w->colours[1]].mid_light;
colour = (colour << 24) | (colour << 16) | (colour << 8) | colour;
gfx_clear(dpi, colour);
uint8 paletteIndex = ColourMapA[w->colours[1]].mid_light;
gfx_clear(dpi, paletteIndex);
y = 0;
for (i = 0; i < _numListItems; i++) {

View File

@ -873,7 +873,7 @@ static void window_map_scrollpaint(rct_window *w, rct_drawpixelinfo *dpi, int sc
{
rct_g1_element *g1_element, pushed_g1_element;
gfx_clear(dpi, 0x0A0A0A0A);
gfx_clear(dpi, 10);
g1_element = &g1Elements[0];
pushed_g1_element = *g1_element;

View File

@ -780,7 +780,7 @@ static void window_new_ride_scrollpaint(rct_window *w, rct_drawpixelinfo *dpi, i
if (_windowNewRideCurrentTab == WINDOW_NEW_RIDE_PAGE_RESEARCH)
return;
gfx_clear(dpi, ColourMapA[w->colours[1]].mid_light * 0x1010101);
gfx_clear(dpi, ColourMapA[w->colours[1]].mid_light);
int x = 1;
int y = 1;

View File

@ -4682,7 +4682,7 @@ static void window_ride_colour_paint(rct_window *w, rct_drawpixelinfo *dpi)
widget->right - widget->left,
widget->bottom - widget->top
)) {
gfx_clear(&clippedDpi, 0x0C0C0C0C);
gfx_clear(&clippedDpi, 12);
if (ride->entrance_style != RIDE_ENTRANCE_STYLE_NONE) {
const rct_ride_entrance_definition *entranceStyle = &RideEntranceDefinitions[ride->entrance_style];
@ -5687,7 +5687,7 @@ static void window_ride_graphs_scrollpaint(rct_window *w, rct_drawpixelinfo *dpi
int x, y, width, time, listType, colour, top, bottom, tmp;
rct_string_id stringId;
gfx_clear(dpi, ColourMapA[COLOUR_SATURATED_GREEN].darker * 0x01010101);
gfx_clear(dpi, ColourMapA[COLOUR_SATURATED_GREEN].darker);
widget = &window_ride_graphs_widgets[WIDX_GRAPH];
listType = w->list_information_type & 0xFF;

View File

@ -1088,7 +1088,7 @@ void window_scenery_paint(rct_window *w, rct_drawpixelinfo *dpi)
*/
void window_scenery_scrollpaint(rct_window *w, rct_drawpixelinfo *dpi, int scrollIndex)
{
gfx_clear(dpi, ColourMapA[w->colours[1]].mid_light * 0x1010101);
gfx_clear(dpi, ColourMapA[w->colours[1]].mid_light);
uint8 tabIndex = gWindowSceneryActiveTabIndex;

View File

@ -417,11 +417,8 @@ static void window_server_list_paint(rct_window *w, rct_drawpixelinfo *dpi)
static void window_server_list_scrollpaint(rct_window *w, rct_drawpixelinfo *dpi, int scrollIndex)
{
uint32 colour;
colour = ColourMapA[w->colours[1]].mid_light;
colour = (colour << 24) | (colour << 16) | (colour << 8) | colour;
gfx_clear(dpi, colour);
uint8 paletteIndex = ColourMapA[w->colours[1]].mid_light;
gfx_clear(dpi, paletteIndex);
int width = w->widgets[WIDX_LIST].right - w->widgets[WIDX_LIST].left;

View File

@ -800,7 +800,7 @@ void window_themes_scrollpaint(rct_window *w, rct_drawpixelinfo *dpi, int scroll
if ((w->colours[1] & 0x80) == 0)
//gfx_fill_rect(dpi, dpi->x, dpi->y, dpi->x + dpi->width - 1, dpi->y + dpi->height - 1, ColourMapA[w->colours[1]].mid_light);
gfx_clear(dpi, ColourMapA[w->colours[1]].mid_light * 0x1010101);
gfx_clear(dpi, ColourMapA[w->colours[1]].mid_light);
y = 0;
for (int i = 0; i < get_colour_scheme_tab_count(); i++) {
if (y > dpi->y + dpi->height) {

View File

@ -450,9 +450,10 @@ static void window_scenarioselect_paint(rct_window *w, rct_drawpixelinfo *dpi)
static void window_scenarioselect_scrollpaint(rct_window *w, rct_drawpixelinfo *dpi, int scrollIndex)
{
int colour = ColourMapA[w->colours[1]].mid_light;
colour = (colour << 24) | (colour << 16) | (colour << 8) | colour;
gfx_clear(dpi, colour);
int colour;
uint8 paletteIndex = ColourMapA[w->colours[1]].mid_light;
gfx_clear(dpi, paletteIndex);
rct_string_id highlighted_format = (theme_get_flags() & UITHEME_FLAG_USE_ALTERNATIVE_SCENARIO_SELECT_FONT) ? STR_WHITE_STRING : STR_WINDOW_COLOUR_2_STRINGID;
rct_string_id unhighlighted_format = (theme_get_flags() & UITHEME_FLAG_USE_ALTERNATIVE_SCENARIO_SELECT_FONT) ? STR_WHITE_STRING : STR_BLACK_STRING;

View File

@ -556,9 +556,8 @@ static void window_track_list_paint(rct_window *w, rct_drawpixelinfo *dpi)
*/
static void window_track_list_scrollpaint(rct_window *w, rct_drawpixelinfo *dpi, int scrollIndex)
{
int colour = ColourMapA[w->colours[0]].mid_light;
colour = (colour << 24) | (colour << 16) | (colour << 8) | colour;
gfx_clear(dpi, colour);
uint8 paletteIndex = ColourMapA[w->colours[0]].mid_light;
gfx_clear(dpi, paletteIndex);
int x = 0;
int y = 0;