From 8034215b3aef89244c211dce297fc4da630e5250 Mon Sep 17 00:00:00 2001 From: Eric Wasylishen Date: Sat, 10 Jun 2023 16:36:17 -0600 Subject: [PATCH] tests: add "minlight doesn't bounce" test --- testmaps/q1_minlight_nobounce.map | 69 +++++++++++++++++++++++++++++++ tests/test_ltface.cc | 8 +++- 2 files changed, 76 insertions(+), 1 deletion(-) create mode 100644 testmaps/q1_minlight_nobounce.map diff --git a/testmaps/q1_minlight_nobounce.map b/testmaps/q1_minlight_nobounce.map new file mode 100644 index 00000000..3bf51c33 --- /dev/null +++ b/testmaps/q1_minlight_nobounce.map @@ -0,0 +1,69 @@ +// Game: Quake +// Format: Valve +// entity 0 +{ +"classname" "worldspawn" +"wad" "deprecated/free_wad.wad" +"_tb_def" "builtin:Quake.fgd" +"_bounce" "1" +"_minlight" "100" +// brush 0 +{ +( -256 -128 -16 ) ( -256 -127 -16 ) ( -256 -128 -15 ) bolt3 [ 0 1 0 32 ] [ 0 0 -1 16 ] 0 1 1 +( -256 -208 -16 ) ( -256 -208 -15 ) ( -255 -208 -16 ) bolt3 [ 1 0 0 -32 ] [ 0 0 -1 16 ] 0 1 1 +( -256 -128 -16 ) ( -255 -128 -16 ) ( -256 -127 -16 ) bolt3 [ 1 0 0 -32 ] [ 0 -1 0 -32 ] 0 1 1 +( 288 272 0 ) ( 288 273 0 ) ( 289 272 0 ) bolt3 [ 1 0 0 -32 ] [ 0 -1 0 -32 ] 0 1 1 +( 288 272 0 ) ( 289 272 0 ) ( 288 272 1 ) bolt3 [ 1 0 0 -32 ] [ 0 0 -1 16 ] 0 1 1 +( 288 272 0 ) ( 288 272 1 ) ( 288 273 0 ) bolt3 [ 0 1 0 32 ] [ 0 0 -1 16 ] 0 1 1 +} +// brush 1 +{ +( -256 -128 240 ) ( -256 -127 240 ) ( -256 -128 241 ) bolt3 [ 0 1 0 32 ] [ 0 0 -1 16 ] 0 1 1 +( -256 -208 240 ) ( -256 -208 241 ) ( -255 -208 240 ) bolt3 [ 1 0 0 -32 ] [ 0 0 -1 16 ] 0 1 1 +( -256 -128 240 ) ( -255 -128 240 ) ( -256 -127 240 ) bolt3 [ 1 0 0 -32 ] [ 0 -1 0 -32 ] 0 1 1 +( 288 272 256 ) ( 288 273 256 ) ( 289 272 256 ) bolt3 [ 1 0 0 -32 ] [ 0 -1 0 -32 ] 0 1 1 +( 288 272 256 ) ( 289 272 256 ) ( 288 272 257 ) bolt3 [ 1 0 0 -32 ] [ 0 0 -1 16 ] 0 1 1 +( 288 272 256 ) ( 288 272 257 ) ( 288 273 256 ) bolt3 [ 0 1 0 32 ] [ 0 0 -1 16 ] 0 1 1 +} +// brush 2 +{ +( -272 -128 224 ) ( -272 -127 224 ) ( -272 -128 225 ) bolt3 [ 0 1 0 32 ] [ 0 0 -1 16 ] 0 1 1 +( -272 -208 224 ) ( -272 -208 225 ) ( -271 -208 224 ) bolt3 [ 1 0 0 -32 ] [ 0 0 -1 16 ] 0 1 1 +( -272 -128 0 ) ( -271 -128 0 ) ( -272 -127 0 ) bolt3 [ 1 0 0 -32 ] [ 0 -1 0 -32 ] 0 1 1 +( 272 272 240 ) ( 272 273 240 ) ( 273 272 240 ) bolt3 [ 1 0 0 -32 ] [ 0 -1 0 -32 ] 0 1 1 +( 272 272 240 ) ( 273 272 240 ) ( 272 272 241 ) bolt3 [ 1 0 0 -32 ] [ 0 0 -1 16 ] 0 1 1 +( -256 272 240 ) ( -256 272 241 ) ( -256 273 240 ) bolt3 [ 0 1 0 32 ] [ 0 0 -1 16 ] 0 1 1 +} +// brush 3 +{ +( 288 -128 224 ) ( 288 -127 224 ) ( 288 -128 225 ) bolt3 [ 0 1 0 32 ] [ 0 0 -1 16 ] 0 1 1 +( 288 -208 224 ) ( 288 -208 225 ) ( 289 -208 224 ) bolt3 [ 1 0 0 -32 ] [ 0 0 -1 16 ] 0 1 1 +( 288 -128 0 ) ( 289 -128 0 ) ( 288 -127 0 ) bolt3 [ 1 0 0 -32 ] [ 0 -1 0 -32 ] 0 1 1 +( 832 272 240 ) ( 832 273 240 ) ( 833 272 240 ) bolt3 [ 1 0 0 -32 ] [ 0 -1 0 -32 ] 0 1 1 +( 832 272 240 ) ( 833 272 240 ) ( 832 272 241 ) bolt3 [ 1 0 0 -32 ] [ 0 0 -1 16 ] 0 1 1 +( 304 272 240 ) ( 304 272 241 ) ( 304 273 240 ) bolt3 [ 0 1 0 32 ] [ 0 0 -1 16 ] 0 1 1 +} +// brush 4 +{ +( -256 -144 224 ) ( -256 -143 224 ) ( -256 -144 225 ) bolt3 [ 0 1 0 32 ] [ 0 0 -1 16 ] 0 1 1 +( 256 -224 224 ) ( 256 -224 225 ) ( 257 -224 224 ) bolt3 [ 1 0 0 -32 ] [ 0 0 -1 16 ] 0 1 1 +( 256 -144 0 ) ( 257 -144 0 ) ( 256 -143 0 ) bolt3 [ 1 0 0 -32 ] [ 0 -1 0 -32 ] 0 1 1 +( 800 256 240 ) ( 800 257 240 ) ( 801 256 240 ) bolt3 [ 1 0 0 -32 ] [ 0 -1 0 -32 ] 0 1 1 +( 800 -208 240 ) ( 801 -208 240 ) ( 800 -208 241 ) bolt3 [ 1 0 0 -32 ] [ 0 0 -1 16 ] 0 1 1 +( 288 256 240 ) ( 288 256 241 ) ( 288 257 240 ) bolt3 [ 0 1 0 32 ] [ 0 0 -1 16 ] 0 1 1 +} +// brush 5 +{ +( -256 256 0 ) ( -256 257 0 ) ( -256 256 1 ) bolt3 [ 0 1 0 32 ] [ 0 0 -1 16 ] 0 1 1 +( -272 256 0 ) ( -272 256 1 ) ( -271 256 0 ) bolt3 [ 1 0 0 -32 ] [ 0 0 -1 16 ] 0 1 1 +( -272 256 0 ) ( -271 256 0 ) ( -272 257 0 ) bolt3 [ 1 0 0 -32 ] [ 0 -1 0 -32 ] 0 1 1 +( 288 272 240 ) ( 288 273 240 ) ( 289 272 240 ) bolt3 [ 1 0 0 -32 ] [ 0 -1 0 -32 ] 0 1 1 +( 288 272 16 ) ( 289 272 16 ) ( 288 272 17 ) bolt3 [ 1 0 0 -32 ] [ 0 0 -1 16 ] 0 1 1 +( 288 272 16 ) ( 288 272 17 ) ( 288 273 16 ) bolt3 [ 0 1 0 32 ] [ 0 0 -1 16 ] 0 1 1 +} +} +// entity 1 +{ +"classname" "info_player_start" +"origin" "-132 0 108" +} diff --git a/tests/test_ltface.cc b/tests/test_ltface.cc index f05ef516..b9a58e30 100644 --- a/tests/test_ltface.cc +++ b/tests/test_ltface.cc @@ -787,4 +787,10 @@ TEST_CASE("q2_light_divzero") INFO("should not have a black spot in the center of the light face"); CheckFaceLuxelAtPoint(&bsp, &bsp.dmodels[0], {255, 127, 63}, {-992, 0, -480}, {0, 0, -1}, nullptr, &bspx); CheckFaceLuxelAtPoint(&bsp, &bsp.dmodels[0], {255, 127, 63}, {-984, 8, -480}, {0, 0, -1}, nullptr, &bspx); -} \ No newline at end of file +} + +TEST_CASE("minlight doesn't bounce") +{ + auto [bsp, bspx, lit] = QbspVisLight_Q1("q1_minlight_nobounce.map", {"-lit"}); + CheckFaceLuxelAtPoint(&bsp, &bsp.dmodels[0], {50, 50, 50}, {0, 0, 0}, {0, 0, 1}, &lit); +}