diff --git a/Source/lighting.cpp b/Source/lighting.cpp index ef1035d77..073e2a47d 100644 --- a/Source/lighting.cpp +++ b/Source/lighting.cpp @@ -9,7 +9,7 @@ BOOL dovision; int numvision; char lightmax; BOOL dolighting; -BYTE lightblock[8][8][16][16]; +BYTE lightblock[64][16][16]; int visionid; BYTE *pLightTbl; BOOL lightflag; @@ -556,7 +556,7 @@ void DoLighting(int nXPos, int nYPos, int nRadius, int Lnum) mult = xoff + 8 * yoff; for (y = 0; y < min_y; y++) { for (x = 1; x < max_x; x++) { - radius_block = lightblock[0][mult][y][x]; + radius_block = lightblock[mult][y][x]; if (radius_block < 128) { temp_x = nXPos + x; temp_y = nYPos + y; @@ -573,7 +573,7 @@ void DoLighting(int nXPos, int nYPos, int nRadius, int Lnum) mult = xoff + 8 * yoff; for (y = 0; y < max_y; y++) { for (x = 1; x < max_x; x++) { - radius_block = lightblock[0][mult][y + block_y][x + block_x]; + radius_block = lightblock[mult][y + block_y][x + block_x]; if (radius_block < 128) { temp_x = nXPos + y; temp_y = nYPos - x; @@ -590,7 +590,7 @@ void DoLighting(int nXPos, int nYPos, int nRadius, int Lnum) mult = xoff + 8 * yoff; for (y = 0; y < max_y; y++) { for (x = 1; x < min_x; x++) { - radius_block = lightblock[0][mult][y + block_y][x + block_x]; + radius_block = lightblock[mult][y + block_y][x + block_x]; if (radius_block < 128) { temp_x = nXPos - x; temp_y = nYPos - y; @@ -607,7 +607,7 @@ void DoLighting(int nXPos, int nYPos, int nRadius, int Lnum) mult = xoff + 8 * yoff; for (y = 0; y < min_y; y++) { for (x = 1; x < min_x; x++) { - radius_block = lightblock[0][mult][y + block_y][x + block_x]; + radius_block = lightblock[mult][y + block_y][x + block_x]; if (radius_block < 128) { temp_x = nXPos - y; temp_y = nYPos + x; @@ -958,7 +958,7 @@ void MakeLightTable() } else { fa = 0.5; } - lightblock[i][j][k][l] = fs + fa; + lightblock[i * 8 + j][k][l] = fs + fa; } } } diff --git a/Source/lighting.h b/Source/lighting.h index b755bd6d5..5b5934232 100644 --- a/Source/lighting.h +++ b/Source/lighting.h @@ -11,7 +11,7 @@ extern BOOL dovision; extern int numvision; extern char lightmax; extern BOOL dolighting; -extern BYTE lightblock[8][8][16][16]; +extern BYTE lightblock[64][16][16]; extern int visionid; extern BYTE *pLightTbl; extern BOOL lightflag;