Skip to content

Commit

Permalink
Fix one of Zig's accidental memcpy's introduced when refactoring chun…
Browse files Browse the repository at this point in the history
…k.Neighbor

ziglang/zig#13938 strikes back
  • Loading branch information
IntegratedQuantum committed Sep 14, 2024
1 parent 72207c9 commit bfea4d9
Showing 1 changed file with 6 additions and 6 deletions.
12 changes: 6 additions & 6 deletions src/renderer/chunk_meshing.zig
Original file line number Diff line number Diff line change
Expand Up @@ -1031,7 +1031,7 @@ pub const ChunkMesh = struct { // MARK: ChunkMesh
const neighbor = chunk.Neighbor.dirNegX;
for(1..chunk.chunkSize) |x| {
for(0..chunk.chunkSize) |y| {
var bitMask = hasFaces[x][y] & (canSeeNeighbor[neighbor.reverse().toInt()][x - 1][y] | canSeeAllNeighbors[x - 1][y]);
var bitMask = hasFaces[x][y] & (canSeeNeighbor[comptime neighbor.reverse().toInt()][x - 1][y] | canSeeAllNeighbors[x - 1][y]);
while(bitMask != 0) {
const z = @ctz(bitMask);
bitMask &= ~(@as(u32, 1) << @intCast(z));
Expand All @@ -1057,7 +1057,7 @@ pub const ChunkMesh = struct { // MARK: ChunkMesh
const neighbor = chunk.Neighbor.dirPosX;
for(0..chunk.chunkSize-1) |x| {
for(0..chunk.chunkSize) |y| {
var bitMask = hasFaces[x][y] & (canSeeNeighbor[neighbor.reverse().toInt()][x + 1][y] | canSeeAllNeighbors[x + 1][y]);
var bitMask = hasFaces[x][y] & (canSeeNeighbor[comptime neighbor.reverse().toInt()][x + 1][y] | canSeeAllNeighbors[x + 1][y]);
while(bitMask != 0) {
const z = @ctz(bitMask);
bitMask &= ~(@as(u32, 1) << @intCast(z));
Expand All @@ -1083,7 +1083,7 @@ pub const ChunkMesh = struct { // MARK: ChunkMesh
const neighbor = chunk.Neighbor.dirNegY;
for(0..chunk.chunkSize) |x| {
for(1..chunk.chunkSize) |y| {
var bitMask = hasFaces[x][y] & (canSeeNeighbor[neighbor.reverse().toInt()][x][y - 1] | canSeeAllNeighbors[x][y - 1]);
var bitMask = hasFaces[x][y] & (canSeeNeighbor[comptime neighbor.reverse().toInt()][x][y - 1] | canSeeAllNeighbors[x][y - 1]);
while(bitMask != 0) {
const z = @ctz(bitMask);
bitMask &= ~(@as(u32, 1) << @intCast(z));
Expand All @@ -1109,7 +1109,7 @@ pub const ChunkMesh = struct { // MARK: ChunkMesh
const neighbor = chunk.Neighbor.dirPosY;
for(0..chunk.chunkSize) |x| {
for(0..chunk.chunkSize-1) |y| {
var bitMask = hasFaces[x][y] & (canSeeNeighbor[neighbor.reverse().toInt()][x][y + 1] | canSeeAllNeighbors[x][y + 1]);
var bitMask = hasFaces[x][y] & (canSeeNeighbor[comptime neighbor.reverse().toInt()][x][y + 1] | canSeeAllNeighbors[x][y + 1]);
while(bitMask != 0) {
const z = @ctz(bitMask);
bitMask &= ~(@as(u32, 1) << @intCast(z));
Expand All @@ -1135,7 +1135,7 @@ pub const ChunkMesh = struct { // MARK: ChunkMesh
const neighbor = chunk.Neighbor.dirDown;
for(0..chunk.chunkSize) |x| {
for(0..chunk.chunkSize) |y| {
var bitMask = hasFaces[x][y] & (canSeeNeighbor[neighbor.reverse().toInt()][x][y] | canSeeAllNeighbors[x][y]) << 1;
var bitMask = hasFaces[x][y] & (canSeeNeighbor[comptime neighbor.reverse().toInt()][x][y] | canSeeAllNeighbors[x][y]) << 1;
while(bitMask != 0) {
const z = @ctz(bitMask);
bitMask &= ~(@as(u32, 1) << @intCast(z));
Expand All @@ -1161,7 +1161,7 @@ pub const ChunkMesh = struct { // MARK: ChunkMesh
const neighbor = chunk.Neighbor.dirUp;
for(0..chunk.chunkSize) |x| {
for(0..chunk.chunkSize) |y| {
var bitMask = hasFaces[x][y] & (canSeeNeighbor[neighbor.reverse().toInt()][x][y] | canSeeAllNeighbors[x][y]) >> 1;
var bitMask = hasFaces[x][y] & (canSeeNeighbor[comptime neighbor.reverse().toInt()][x][y] | canSeeAllNeighbors[x][y]) >> 1;
while(bitMask != 0) {
const z = @ctz(bitMask);
bitMask &= ~(@as(u32, 1) << @intCast(z));
Expand Down

0 comments on commit bfea4d9

Please sign in to comment.