Fix texture offset for origin brushes

This commit is contained in:
Jonathan 2021-10-31 22:27:36 -04:00
parent 1da176c2b7
commit 88a4cf0b37
1 changed files with 11 additions and 5 deletions

View File

@ -199,8 +199,12 @@ struct compiled_brush_t
for (auto &v : p) {
v += brush_offset.value();
}
side.valve.shift[0] -= qv::dot(brush_offset.value(), side.valve.axis.row(0));
side.valve.shift[1] -= qv::dot(brush_offset.value(), side.valve.axis.row(1));
}
fmt::print(stream, "( {} ) ( {} ) ( {} ) {} [ {} {} {} {} ] [ {} {} {} {} ] {} {} {}", p[0], p[1], p[2], side.texture_name, side.valve.axis.at(0, 0), side.valve.axis.at(0, 1),
side.valve.axis.at(0, 2), side.valve.shift[0], side.valve.axis.at(1, 0), side.valve.axis.at(1, 1), side.valve.axis.at(1, 2), side.valve.shift[1], 0.0,
side.valve.scale[0], side.valve.scale[1]);
@ -770,6 +774,13 @@ static compiled_brush_t DecompileLeafTask(const mbsp_t *bsp, leaf_decompile_task
side.plane = finalSide.plane;
side.source = finalSide.plane.source;
if (brush.contents.native == 0) {
// hint brush
side.texture_name = "e1u1/hint";
side.valve = finalSide.plane.normal;
continue;
}
// see if we have a face
auto faces = finalSide.faces;
@ -1053,11 +1064,6 @@ static void DecompileEntity(
// things that aren't output in BSP faces will use a skip texture.
// we'll find the best matching texture that we think would work well.
for (auto &brush : compiledBrushes) {
if (brush.contents.native == 0) {
printf("NOTE: removing dummy brush\n");
brush.sides.clear();
continue;
}
for (auto &side : brush.sides) {
if (side.texture_name != DefaultSkipTexture(bsp)) {
continue;