Overwrite opaqueInLod specifier for Ore overlay textures.

fixes #987
This commit is contained in:
IntegratedQuantum 2025-01-31 21:42:07 +01:00
parent b6dc901e69
commit 7efa37029b
2 changed files with 6 additions and 1 deletions

View File

@ -430,7 +430,11 @@ fn addQuad(info_: QuadInfo) error{Degenerate}!u16 {
}
if(cornerEqualities >= 2) return error.Degenerate; // One corner equality is fine, since then the quad degenerates to a triangle, which has a non-zero area.
const index: u16 = @intCast(quads.items.len);
info.opaqueInLod = @intFromBool(Model.getFaceNeighbor(&info) != null);
if(info.opaqueInLod == 2) {
info.opaqueInLod = 0;
} else {
info.opaqueInLod = @intFromBool(Model.getFaceNeighbor(&info) != null);
}
quads.append(info);
quadDeduplication.put(std.mem.toBytes(info), index) catch unreachable;

View File

@ -975,6 +975,7 @@ pub const RotationModes = struct {
for(0..len) |i| {
quadList.append(quadList.items[i]);
quadList.items[i + len].textureSlot += 16;
quadList.items[i].opaqueInLod = 2;
}
const modelIndex = main.models.Model.init(quadList.items);
modelCache = modelIndex;