Browse Source

Cleanup ApplyGamma/LoadPal

pull/78/head
galaxyhaxz 7 years ago committed by Anders Jenbo
parent
commit
68153d2af2
  1. 53
      Source/palette.cpp

53
Source/palette.cpp

@ -92,34 +92,34 @@ void __cdecl LoadSysPal()
void __fastcall LoadPalette(char *pszFileName)
{
int i; // eax
char PalData[256][3]; // [esp+0h] [ebp-304h]
HANDLE pBuf; // [esp+300h] [ebp-4h]
int i;
void *pBuf;
BYTE PalData[256][3];
/// ASSERT: assert(pszFileName);
WOpenFile(pszFileName, &pBuf, 0);
WReadFile(pBuf, (char *)PalData, 768);
WReadFile(pBuf, (char *)PalData, sizeof(PalData));
WCloseFile(pBuf);
for (i = 0; i < 256; i++) {
orig_palette[i].peFlags = 0;
for(i = 0; i < 256; i++) {
orig_palette[i].peRed = PalData[i][0];
orig_palette[i].peGreen = PalData[i][1];
orig_palette[i].peBlue = PalData[i][2];
orig_palette[i].peFlags = 0;
}
}
void __fastcall LoadRndLvlPal(int l)
{
char *pszPal; // ecx
char szTemp[260]; // [esp+4h] [ebp-104h]
char szFileName[MAX_PATH];
if (l) {
sprintf(szTemp, "Levels\\L%iData\\L%i_%i.PAL", l, l, random(0, 4) + 1);
pszPal = szTemp;
if(l == DTYPE_TOWN) {
LoadPalette("Levels\\TownData\\Town.pal");
} else {
pszPal = "Levels\\TownData\\Town.pal";
sprintf(szFileName, "Levels\\L%iData\\L%i_%i.PAL", l, l, random(0, 4) + 1);
LoadPalette(szFileName);
}
LoadPalette(pszPal);
}
void __cdecl ResetPal()
@ -165,22 +165,17 @@ void __cdecl palette_update()
void __fastcall ApplyGamma(PALETTEENTRY *dst, PALETTEENTRY *src, int n)
{
PALETTEENTRY *v3; // edi
PALETTEENTRY *v4; // esi
double v5; // [esp+18h] [ebp-Ch]
v3 = src;
v4 = dst;
v5 = (double)gamma_correction * 0.01;
if (n > 0) {
do {
v4->peRed = pow(v3->peRed * 0.00390625, v5) * 256.0;
v4->peGreen = pow(v3->peGreen * 0.00390625, v5) * 256.0;
v4->peBlue = pow(v3->peBlue * 0.00390625, v5) * 256.0;
++v4;
++v3;
--n;
} while (n);
int i;
double g;
g = gamma_correction / 100.0;
for(i = 0; i < n; i++) {
dst->peRed = pow(src->peRed / 256.0, g) * 256.0;
dst->peGreen = pow(src->peGreen / 256.0, g) * 256.0;
dst->peBlue = pow(src->peBlue / 256.0, g) * 256.0;
dst++;
src++;
}
}

Loading…
Cancel
Save