Skip to content

Commit

Permalink
Merge branch 'brushbsp' of https://github.com/ericwa/ericw-tools into…
Browse files Browse the repository at this point in the history
… brushbsp
  • Loading branch information
Paril committed Jan 15, 2024
2 parents a04bb77 + 49d9c3b commit 844b970
Show file tree
Hide file tree
Showing 2 changed files with 99 additions and 0 deletions.
82 changes: 82 additions & 0 deletions testmaps/q2_light_black.map
Original file line number Diff line number Diff line change
@@ -0,0 +1,82 @@
// Game: Quake 2
// Format: Quake2
// entity 0
{
"classname" "worldspawn"
"_tb_textures" "textures/e1u1"
"_bounce" "0"
// brush 0
{
( 480 1088 928 ) ( 480 1089 928 ) ( 480 1088 929 ) e1u1/brick1_1 0 32 0 1 1
( 704 1088 928 ) ( 704 1088 929 ) ( 705 1088 928 ) e1u1/brick1_1 0 32 0 1 1
( 704 1088 928 ) ( 705 1088 928 ) ( 704 1089 928 ) e1u1/brick1_1 0 0 0 1 1
( 944 1472 944 ) ( 944 1473 944 ) ( 945 1472 944 ) e1u1/brick1_1 0 0 0 1 1
( 944 1488 944 ) ( 945 1488 944 ) ( 944 1488 945 ) e1u1/brick1_1 0 32 0 1 1
( 1056 1472 944 ) ( 1056 1472 945 ) ( 1056 1473 944 ) e1u1/brick1_1 0 32 0 1 1
}
// brush 1
{
( 480 1088 1248 ) ( 480 1089 1248 ) ( 480 1088 1249 ) e1u1/brick1_1 0 96 0 1 1
( 704 1072 1248 ) ( 704 1072 1249 ) ( 705 1072 1248 ) e1u1/brick1_1 0 96 0 1 1
( 704 1088 1248 ) ( 705 1088 1248 ) ( 704 1089 1248 ) e1u1/brick1_1 0 0 0 1 1
( 944 1472 1264 ) ( 944 1473 1264 ) ( 945 1472 1264 ) e1u1/brick1_1 0 0 0 1 1
( 944 1488 1264 ) ( 945 1488 1264 ) ( 944 1488 1265 ) e1u1/brick1_1 0 96 0 1 1
( 1056 1472 1264 ) ( 1056 1472 1265 ) ( 1056 1473 1264 ) e1u1/brick1_1 0 96 0 1 1
}
// brush 2
{
( 480 1072 928 ) ( 480 1073 928 ) ( 480 1072 929 ) e1u1/brick1_1 16 32 0 1 1
( 704 1072 928 ) ( 704 1072 929 ) ( 705 1072 928 ) e1u1/brick1_1 0 32 0 1 1
( 704 1072 928 ) ( 705 1072 928 ) ( 704 1073 928 ) e1u1/brick1_1 0 -16 0 1 1
( 944 1456 1248 ) ( 944 1457 1248 ) ( 945 1456 1248 ) e1u1/brick1_1 0 -16 0 1 1
( 944 1088 944 ) ( 945 1088 944 ) ( 944 1088 945 ) e1u1/brick1_1 0 32 0 1 1
( 1056 1456 944 ) ( 1056 1456 945 ) ( 1056 1457 944 ) e1u1/brick1_1 16 32 0 1 1
}
// brush 3
{
( 480 1392 928 ) ( 480 1393 928 ) ( 480 1392 929 ) e1u1/brick1_1 -48 32 0 1 1
( 832 1488 928 ) ( 832 1488 929 ) ( 833 1488 928 ) e1u1/brick1_1 -128 32 0 1 1
( 832 1392 928 ) ( 833 1392 928 ) ( 832 1393 928 ) e1u1/brick1_1 -128 48 0 1 1
( 1072 1776 1248 ) ( 1072 1777 1248 ) ( 1073 1776 1248 ) e1u1/brick1_1 -128 48 0 1 1
( 1072 1504 944 ) ( 1073 1504 944 ) ( 1072 1504 945 ) e1u1/brick1_1 -128 32 0 1 1
( 1056 1392 928 ) ( 1056 1392 929 ) ( 1056 1393 928 ) e1u1/brick1_1 -48 32 0 1 1
}
// brush 4
{
( 1056 1088 1056 ) ( 1056 1089 1056 ) ( 1056 1088 1057 ) e1u1/brick1_1 0 32 0 1 1
( 736 1088 1056 ) ( 736 1088 1057 ) ( 737 1088 1056 ) e1u1/brick1_1 -32 32 0 1 1
( 736 1088 928 ) ( 737 1088 928 ) ( 736 1089 928 ) e1u1/brick1_1 -32 0 0 1 1
( 976 1472 1248 ) ( 976 1473 1248 ) ( 977 1472 1248 ) e1u1/brick1_1 -32 0 0 1 1
( 976 1488 1072 ) ( 977 1488 1072 ) ( 976 1488 1073 ) e1u1/brick1_1 -32 32 0 1 1
( 1072 1472 1072 ) ( 1072 1472 1073 ) ( 1072 1473 1072 ) e1u1/brick1_1 0 32 0 1 1
}
// brush 5
{
( 464 1088 1056 ) ( 464 1089 1056 ) ( 464 1088 1057 ) e1u1/brick1_1 0 32 0 1 1
( 144 1072 1056 ) ( 144 1072 1057 ) ( 145 1072 1056 ) e1u1/brick1_1 48 32 0 1 1
( 144 1088 928 ) ( 145 1088 928 ) ( 144 1089 928 ) e1u1/brick1_1 48 0 0 1 1
( 384 1472 1248 ) ( 384 1473 1248 ) ( 385 1472 1248 ) e1u1/brick1_1 48 0 0 1 1
( 384 1488 1072 ) ( 385 1488 1072 ) ( 384 1488 1073 ) e1u1/brick1_1 48 32 0 1 1
( 480 1472 1072 ) ( 480 1472 1073 ) ( 480 1473 1072 ) e1u1/brick1_1 0 32 0 1 1
}
}
// entity 1
{
"classname" "info_player_start"
"origin" "976 1408 968"
"angle" "180"
}
// entity 2
{
"classname" "light"
"origin" "600 1288 1112"
"light" "1000"
"angle" "30"
"target" "s1"
}
// entity 3
{
"classname" "info_null"
"origin" "484 1284 1116"
"targetname" "s1"
}
17 changes: 17 additions & 0 deletions tests/test_ltface.cc
Original file line number Diff line number Diff line change
Expand Up @@ -875,3 +875,20 @@ TEST_CASE("q1_light_bounce_noshadow")
CheckFaceLuxelAtPoint(&bsp, &bsp.dmodels[0], {118, 118, 118}, {128, 12, 156}, {-1, 0, 0});
}

TEST_CASE("q2_light_black")
{
auto [bsp, bspx] = QbspVisLight_Q2("q2_light_black.map", {});

const qvec3d point {1056, 1300, 972};

INFO("ensure completely black lightmaps are written out as style 0 in Q2 mode");

const mface_t *face = BSP_FindFaceAtPoint(&bsp, &bsp.dmodels[0], point, {-1, 0, 0});
REQUIRE(face);
CHECK(face->styles[0] == 0);
CHECK(face->styles[1] == 255);
CHECK(face->styles[2] == 255);
CHECK(face->styles[3] == 255);

CheckFaceLuxelAtPoint(&bsp, &bsp.dmodels[0], {0, 0, 0}, point, {-1, 0, 0});
}

0 comments on commit 844b970

Please sign in to comment.