Add water levels proper
parent
eed785162e
commit
62c74fe545
|
@ -284,6 +284,9 @@ void update_water_runner_system(Scene_t* scene)
|
||||||
if (curr_tile->water_level < tilemap.max_water_level)
|
if (curr_tile->water_level < tilemap.max_water_level)
|
||||||
{
|
{
|
||||||
curr_tile->water_level++;
|
curr_tile->water_level++;
|
||||||
|
}
|
||||||
|
if (curr_tile->water_level != tilemap.max_water_level)
|
||||||
|
{
|
||||||
p_crunner->counter++;
|
p_crunner->counter++;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
13
water_test.c
13
water_test.c
|
@ -55,11 +55,18 @@ static void level_scene_render_func(Scene_t* scene)
|
||||||
DrawRectangle(x, y, TILE_SIZE, TILE_SIZE, BLACK);
|
DrawRectangle(x, y, TILE_SIZE, TILE_SIZE, BLACK);
|
||||||
}
|
}
|
||||||
|
|
||||||
if (tilemap.tiles[i].water_level > 0)
|
//if (tilemap.tiles[i].water_level > 0)
|
||||||
{
|
{
|
||||||
|
float water_height = tilemap.tiles[i].water_level * 1.0f / tilemap.max_water_level;
|
||||||
// Draw water tile
|
// Draw water tile
|
||||||
Color water_colour = ColorAlpha(BLUE, 0.5);
|
Color water_colour = ColorAlpha(BLUE, 0.5);
|
||||||
DrawRectangle(x, y, TILE_SIZE, TILE_SIZE, water_colour);
|
DrawRectangle(
|
||||||
|
x,
|
||||||
|
y + (1.0f - water_height) * TILE_SIZE,
|
||||||
|
TILE_SIZE,
|
||||||
|
water_height * TILE_SIZE,
|
||||||
|
water_colour
|
||||||
|
);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -355,7 +362,7 @@ int main(void)
|
||||||
scene.data.tilemap.width = DEFAULT_MAP_WIDTH;
|
scene.data.tilemap.width = DEFAULT_MAP_WIDTH;
|
||||||
scene.data.tilemap.height = DEFAULT_MAP_HEIGHT;
|
scene.data.tilemap.height = DEFAULT_MAP_HEIGHT;
|
||||||
scene.data.tilemap.tile_size = TILE_SIZE;
|
scene.data.tilemap.tile_size = TILE_SIZE;
|
||||||
scene.data.tilemap.max_water_level = 1;
|
scene.data.tilemap.max_water_level = 4;
|
||||||
scene.data.tilemap.n_tiles = scene.data.tilemap.width * scene.data.tilemap.height;
|
scene.data.tilemap.n_tiles = scene.data.tilemap.width * scene.data.tilemap.height;
|
||||||
assert(scene.data.tilemap.n_tiles <= MAX_N_TILES);
|
assert(scene.data.tilemap.n_tiles <= MAX_N_TILES);
|
||||||
scene.data.tilemap.tiles = all_tiles;
|
scene.data.tilemap.tiles = all_tiles;
|
||||||
|
|
Loading…
Reference in New Issue