Skip to content
Snippets Groups Projects
Commit 5c02bc59 authored by Lactozilla's avatar Lactozilla :speech_balloon:
Browse files

Speed up level loading

Don't flush every texture just because the palette MAY have changed
parent c6769e72
Branches
Tags
2 merge requests!734Rebase Keycodes only branch.,!519OpenGL fixes
......@@ -566,18 +566,13 @@ EXPORT void HWRAPI(FinishUpdate) (INT32 waitvbl)
// -----------------+
EXPORT void HWRAPI(SetPalette) (RGBA_t *pal)
{
INT32 i;
for (i = 0; i < 256; i++)
{
myPaletteData[i].s.red = pal[i].s.red;
myPaletteData[i].s.green = pal[i].s.green;
myPaletteData[i].s.blue = pal[i].s.blue;
myPaletteData[i].s.alpha = pal[i].s.alpha;
}
size_t palsize = (sizeof(RGBA_t) * 256);
// on a palette change, you have to reload all of the textures
if (memcmp(&myPaletteData, pal, palsize))
{
memcpy(&myPaletteData, pal, palsize);
Flush();
}
}
#endif
......@@ -224,17 +224,14 @@ void OglSdlFinishUpdate(boolean waitvbl)
EXPORT void HWRAPI( OglSdlSetPalette) (RGBA_t *palette)
{
INT32 i;
for (i = 0; i < 256; i++)
size_t palsize = (sizeof(RGBA_t) * 256);
// on a palette change, you have to reload all of the textures
if (memcmp(&myPaletteData, palette, palsize))
{
myPaletteData[i].s.red = palette[i].s.red;
myPaletteData[i].s.green = palette[i].s.green;
myPaletteData[i].s.blue = palette[i].s.blue;
myPaletteData[i].s.alpha = palette[i].s.alpha;
}
memcpy(&myPaletteData, palette, palsize);
Flush();
}
}
#endif //HWRENDER
#endif //SDL
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Please register or to comment