mirror of
https://git.shylie.info/shylie/glerminal.git
synced 2025-10-03 13:30:16 +00:00
Make tinting and scaling per-cell instead of per-layer
This commit is contained in:
@@ -18,21 +18,15 @@ namespace
|
||||
{
|
||||
glerminal_load_sprites_file("resources/rogue.png");
|
||||
|
||||
for (int i = 0; i < WALL_LAYERS; i++)
|
||||
{
|
||||
const unsigned char v = (i + 1) * (256 / WALL_LAYERS) - 1;
|
||||
const unsigned int j = (0xFF << 24) | (v << 16) | (v << 8) | v;
|
||||
glerminal_layer_color(i, j);
|
||||
|
||||
glerminal_layer_scale(i, (i / static_cast<float>(WALL_LAYERS)) + 1);
|
||||
}
|
||||
|
||||
for (int i = 0; i < GRID_WIDTH; i++)
|
||||
{
|
||||
for (int j = 0; j < GRID_HEIGHT; j++)
|
||||
{
|
||||
for (int k = 0; k < WALL_LAYERS; k++)
|
||||
{
|
||||
const unsigned char v = (k + 1) * (256 / WALL_LAYERS) - 1;
|
||||
const unsigned int c = (0xFF << 24) | (v << 16) | (v << 8) | v;
|
||||
|
||||
if (i == 0 || j == 0 || i == GRID_WIDTH - 1 || j == GRID_HEIGHT - 1)
|
||||
{
|
||||
glerminal_set(i, j, k, floor);
|
||||
@@ -41,6 +35,9 @@ namespace
|
||||
{
|
||||
glerminal_set(i, j, k, wall);
|
||||
}
|
||||
|
||||
glerminal_color(i, j, k, c);
|
||||
glerminal_scale(i, j, k, (k / static_cast<float>(WALL_LAYERS)) + 1);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
@@ -11,14 +11,6 @@ namespace
|
||||
|
||||
glerminal_load_sprites_file("resources/towers.png");
|
||||
|
||||
for (int i = 0; i < LAYER_COUNT; i++)
|
||||
{
|
||||
constexpr unsigned char c = 16;
|
||||
const unsigned char v = (255 - c) * powf((256 / LAYER_COUNT * i - 1) / 256.0f, 2.0f) + c;
|
||||
const unsigned int j = (0xFF << 24) | (v << 16) | (v << 8) | v;
|
||||
glerminal_layer_color(i, j);
|
||||
glerminal_layer_scale(i, i / static_cast<float>(LAYER_COUNT) + 1);
|
||||
}
|
||||
|
||||
for (int i = 0; i < GRID_WIDTH; i++)
|
||||
{
|
||||
@@ -29,6 +21,15 @@ namespace
|
||||
{
|
||||
glerminal_set(i, j, k, 1);
|
||||
}
|
||||
|
||||
for (int k = 0; k < LAYER_COUNT; k++)
|
||||
{
|
||||
constexpr unsigned char min = 16;
|
||||
const unsigned char v = (255 - min) * powf((256 / LAYER_COUNT * k - 1) / 256.0f, 2.0f) + min;
|
||||
const unsigned int col = (0xFF << 24) | (v << 16) | (v << 8) | v;
|
||||
glerminal_color(i, j, k, col);
|
||||
glerminal_scale(i, j, k, k / static_cast<float>(LAYER_COUNT) + 1);
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
Reference in New Issue
Block a user