Separate out Chunks-related code, "fix" collisions to be less broken

This commit is contained in:
2025-12-21 22:26:55 +01:00
parent d63aeba562
commit a77bddbdb2
5 changed files with 313 additions and 295 deletions

View File

@@ -46,7 +46,7 @@ pub const RoundingMode = enum {
/// SV to VX
pub inline fn subvoxelsToVoxels(comptime rounding_mode: RoundingMode, sv: i32) i32 {
return switch (rounding_mode) {
.border_down => @divFloor(sv, sv_per_vx - 1),
.border_down => @divFloor(sv - 1, sv_per_vx),
.border_up => @divFloor(sv, sv_per_vx),
};
}
@@ -54,7 +54,7 @@ pub inline fn subvoxelsToVoxels(comptime rounding_mode: RoundingMode, sv: i32) i
/// SV to CK
pub inline fn subvoxelsToChunks(comptime rounding_mode: RoundingMode, sv: i32) i32 {
return switch (rounding_mode) {
.border_down => @divFloor(sv, sv_per_ck - 1),
.border_down => @divFloor(sv - 1, sv_per_ck),
.border_up => @divFloor(sv, sv_per_ck),
};
}
@@ -77,7 +77,7 @@ pub inline fn voxelsToSubvoxels(vx: i32) i32 {
/// VX to CK
pub inline fn voxelsToChunks(comptime rounding_mode: RoundingMode, vx: i32) i32 {
return switch (rounding_mode) {
.border_down => @divFloor(vx, vx_per_ck - 1),
.border_down => @divFloor(vx - 1, vx_per_ck),
.border_up => @divFloor(vx, vx_per_ck),
};
}