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
No related branches found
No related tags found
2 merge requests!734Rebase Keycodes only branch.,!519OpenGL fixes
...@@ -566,18 +566,13 @@ EXPORT void HWRAPI(FinishUpdate) (INT32 waitvbl) ...@@ -566,18 +566,13 @@ EXPORT void HWRAPI(FinishUpdate) (INT32 waitvbl)
// -----------------+ // -----------------+
EXPORT void HWRAPI(SetPalette) (RGBA_t *pal) EXPORT void HWRAPI(SetPalette) (RGBA_t *pal)
{ {
INT32 i; size_t palsize = (sizeof(RGBA_t) * 256);
// on a palette change, you have to reload all of the textures
for (i = 0; i < 256; i++) if (memcmp(&myPaletteData, pal, palsize))
{ {
myPaletteData[i].s.red = pal[i].s.red; memcpy(&myPaletteData, pal, palsize);
myPaletteData[i].s.green = pal[i].s.green; Flush();
myPaletteData[i].s.blue = pal[i].s.blue;
myPaletteData[i].s.alpha = pal[i].s.alpha;
} }
// on a palette change, you have to reload all of the textures
Flush();
} }
#endif #endif
...@@ -224,16 +224,13 @@ void OglSdlFinishUpdate(boolean waitvbl) ...@@ -224,16 +224,13 @@ void OglSdlFinishUpdate(boolean waitvbl)
EXPORT void HWRAPI( OglSdlSetPalette) (RGBA_t *palette) EXPORT void HWRAPI( OglSdlSetPalette) (RGBA_t *palette)
{ {
INT32 i; size_t palsize = (sizeof(RGBA_t) * 256);
// on a palette change, you have to reload all of the textures
for (i = 0; i < 256; i++) if (memcmp(&myPaletteData, palette, palsize))
{ {
myPaletteData[i].s.red = palette[i].s.red; memcpy(&myPaletteData, palette, palsize);
myPaletteData[i].s.green = palette[i].s.green; Flush();
myPaletteData[i].s.blue = palette[i].s.blue;
myPaletteData[i].s.alpha = palette[i].s.alpha;
} }
Flush();
} }
#endif //HWRENDER #endif //HWRENDER
......
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Please register or to comment