Update render order of bricks when grabbing

This commit is contained in:
2026-03-15 15:20:55 +01:00
parent d50c21c1e6
commit d239d818eb
+11 -8
View File
@@ -817,6 +817,15 @@ pub fn updateAndRender(memory: *platform.AppMemory, buffer: platform.OffscreenBu
}
}
// NOTE: Move the grabbed brick to the end of the array. This makes become
// the last to be rendered, and then appear above all the other bricks.
if (state.grabbed_brick_index) |i| {
const tmp = state.bricks[state.bricks.len - 1];
state.bricks[state.bricks.len - 1] = state.bricks[i];
state.bricks[i] = tmp;
state.grabbed_brick_index = state.bricks.len - 1;
}
// Check if player has won
var has_won = true;
for (state.board.tiles) |board_row| {
@@ -832,6 +841,7 @@ pub fn updateAndRender(memory: *platform.AppMemory, buffer: platform.OffscreenBu
},
}
};
// xor bby
const valid = (board_tile.taken and !is_day_or_month) or (!board_tile.taken and is_day_or_month);
has_won = has_won and valid;
}
@@ -915,14 +925,7 @@ pub fn updateAndRender(memory: *platform.AppMemory, buffer: platform.OffscreenBu
if (tile > 0) {
const pos = getTilePos(i, j).add(brick.pos);
const camera_pos = pos.add(state.camera.pos);
var color: u32 = if (brick.rotating) 0xFF007800 else brick.color;
if (comptime builtin.mode == std.builtin.OptimizeMode.Debug) {
const board_index = brick.board_indices[i][j];
if (board_index != null) {
color = 0xFFFF0000;
}
}
const color: u32 = if (brick.rotating) 0xFF007800 else brick.color;
fillSquare(
buffer,