diff --git a/regression_tests/q3map2/model_clipping_45_degrees/README.txt b/regression_tests/q3map2/model_clipping_45_degrees/README.txt new file mode 100644 index 0000000..c3c2f88 --- /dev/null +++ b/regression_tests/q3map2/model_clipping_45_degrees/README.txt @@ -0,0 +1,7 @@ +DESCRIPTION OF PROBLEM: +======================= + +There are 3 model wedges in the map that are auto-clipped. The middle wedge +with the 45 degree slope is the problem. The slope face does not become solid; +therefore, there is a nonsolid "hole" on the wedge part. The other two wedges +are fine. 45 degrees seems to be a problem for model clipping. diff --git a/regression_tests/q3map2/model_clipping_45_degrees/maps/model_clipping_45_degrees.map b/regression_tests/q3map2/model_clipping_45_degrees/maps/model_clipping_45_degrees.map new file mode 100644 index 0000000..46119af --- /dev/null +++ b/regression_tests/q3map2/model_clipping_45_degrees/maps/model_clipping_45_degrees.map @@ -0,0 +1,94 @@ +// entity 0 +{ +"classname" "worldspawn" +// brush 0 +{ +( 392 512 -8 ) ( 0 512 -8 ) ( 0 448 -8 ) common/caulk 0 0 0 0.500000 0.500000 0 4 0 +( 0 448 0 ) ( 0 512 0 ) ( 392 512 0 ) radiant_regression_tests/bigtile 0 0 0 0.500000 0.500000 0 0 0 +( 104 -192 0 ) ( 496 -192 0 ) ( 496 -192 -16 ) common/caulk 0 0 0 0.500000 0.500000 0 4 0 +( 384 448 0 ) ( 384 512 0 ) ( 384 512 -16 ) common/caulk 0 0 0 0.500000 0.500000 0 4 0 +( 400 640 0 ) ( 8 640 0 ) ( 8 640 -16 ) common/caulk 0 0 0 0.500000 0.500000 0 4 0 +( -128 528 0 ) ( -128 464 0 ) ( -128 464 -16 ) common/caulk 0 0 0 0.500000 0.500000 0 4 0 +} +// brush 1 +{ +( -128 688 320 ) ( -128 640 320 ) ( -128 640 0 ) common/caulk 0 0 0 0.500000 0.500000 0 4 0 +( 384 648 320 ) ( -128 648 320 ) ( -128 648 0 ) common/caulk 0 0 0 0.500000 0.500000 0 4 0 +( 384 640 320 ) ( 384 688 320 ) ( 384 688 0 ) common/caulk 0 0 0 0.500000 0.500000 0 4 0 +( -128 640 320 ) ( 384 640 320 ) ( 384 640 0 ) radiant_regression_tests/bigtile 0 0 0 0.500000 0.500000 0 0 0 +( -128 640 320 ) ( -128 688 320 ) ( 384 688 320 ) common/caulk 0 0 0 0.500000 0.500000 0 4 0 +( 384 688 0 ) ( -128 688 0 ) ( -128 640 0 ) common/caulk 0 0 0 0.500000 0.500000 0 4 0 +} +// brush 2 +{ +( -128 -184 328 ) ( -128 -240 328 ) ( -128 -240 0 ) common/caulk 0 0 0 0.500000 0.500000 0 4 0 +( 384 -192 328 ) ( -128 -192 328 ) ( -128 -192 0 ) radiant_regression_tests/bigtile 0 0 0 0.500000 0.500000 0 0 0 +( 384 -240 328 ) ( 384 -184 328 ) ( 384 -184 0 ) common/caulk 0 0 0 0.500000 0.500000 0 4 0 +( -128 -200 320 ) ( 384 -200 320 ) ( 384 -200 -8 ) common/caulk 0 0 0 0.500000 0.500000 0 4 0 +( -128 -240 320 ) ( -128 -184 320 ) ( 384 -184 320 ) common/caulk 0 0 0 0.500000 0.500000 0 4 0 +( 384 -184 0 ) ( -128 -184 0 ) ( -128 -240 0 ) common/caulk 0 0 0 0.500000 0.500000 0 4 0 +} +// brush 3 +{ +( -128 248 392 ) ( -128 -192 392 ) ( -128 -192 320 ) common/caulk 0 0 0 0.500000 0.500000 0 4 0 +( 384 640 408 ) ( -128 640 408 ) ( -128 640 336 ) common/caulk 0 0 0 0.500000 0.500000 0 4 0 +( 384 -192 392 ) ( 384 248 392 ) ( 384 248 320 ) common/caulk 0 0 0 0.500000 0.500000 0 4 0 +( -128 -192 392 ) ( 384 -192 392 ) ( 384 -192 320 ) common/caulk 0 0 0 0.500000 0.500000 0 4 0 +( -128 -176 328 ) ( -128 264 328 ) ( 384 264 328 ) common/caulk 0 0 0 0.500000 0.500000 0 4 0 +( 384 248 320 ) ( -128 248 320 ) ( -128 -192 320 ) radiant_regression_tests/bigtile 0 0 0 0.500000 0.500000 0 0 0 +} +// brush 4 +{ +( 384 640 320 ) ( 384 -192 320 ) ( 384 -192 0 ) radiant_regression_tests/bigtile 0 0 0 0.500000 0.500000 0 0 0 +( 432 640 320 ) ( 384 640 320 ) ( 384 640 0 ) common/caulk 0 0 0 0.500000 0.500000 0 4 0 +( 392 -192 320 ) ( 392 640 320 ) ( 392 640 0 ) common/caulk 0 0 0 0.500000 0.500000 0 4 0 +( 384 -192 320 ) ( 432 -192 320 ) ( 432 -192 0 ) common/caulk 0 0 0 0.500000 0.500000 0 4 0 +( 384 -192 320 ) ( 384 640 320 ) ( 432 640 320 ) common/caulk 0 0 0 0.500000 0.500000 0 4 0 +( 432 640 0 ) ( 384 640 0 ) ( 384 -192 0 ) common/caulk 0 0 0 0.500000 0.500000 0 4 0 +} +// brush 5 +{ +( -136 640 328 ) ( -136 -192 328 ) ( -136 -192 8 ) common/caulk 0 0 0 0.500000 0.500000 0 4 0 +( -128 640 312 ) ( -224 640 312 ) ( -224 640 -8 ) common/caulk 0 0 0 0.500000 0.500000 0 4 0 +( -128 -192 312 ) ( -128 640 312 ) ( -128 640 -8 ) radiant_regression_tests/bigtile 0 0 0 0.500000 0.500000 0 0 0 +( -224 -192 312 ) ( -128 -192 312 ) ( -128 -192 -8 ) common/caulk 0 0 0 0.500000 0.500000 0 4 0 +( -224 -192 320 ) ( -224 640 320 ) ( -128 640 320 ) common/caulk 0 0 0 0.500000 0.500000 0 4 0 +( -128 640 0 ) ( -224 640 0 ) ( -224 -192 0 ) common/caulk 0 0 0 0.500000 0.500000 0 4 0 +} +} +// entity 1 +{ +"model" "models/mapobjects/wedges/wedge_shallow.ase" +"origin" "0 -96 0" +"classname" "misc_model" +} +// entity 2 +{ +"model" "models/mapobjects/wedges/wedge_45.ase" +"origin" "0 160 0" +"classname" "misc_model" +} +// entity 3 +{ +"model" "models/mapobjects/wedges/wedge_steep.ase" +"origin" "0 416 0" +"classname" "misc_model" +} +// entity 4 +{ +"classname" "light" +"origin" "192 384 160" +"light" "800" +} +// entity 5 +{ +"light" "800" +"origin" "192 64 160" +"classname" "light" +} +// entity 6 +{ +"classname" "info_player_deathmatch" +"origin" "256 208 128" +"angle" "225" +} diff --git a/regression_tests/q3map2/model_clipping_45_degrees/models/mapobjects/wedges/wedge_45.ase b/regression_tests/q3map2/model_clipping_45_degrees/models/mapobjects/wedges/wedge_45.ase new file mode 100644 index 0000000..dfb0d41 --- /dev/null +++ b/regression_tests/q3map2/model_clipping_45_degrees/models/mapobjects/wedges/wedge_45.ase @@ -0,0 +1,368 @@ +*3DSMAX_ASCIIEXPORT 200 +*COMMENT "Generated by Q3Map2 (ydnar) -convert -format ase" +*SCENE { + *SCENE_FILENAME "wedge_45.bsp" + *SCENE_FIRSTFRAME 0 + *SCENE_LASTFRAME 100 + *SCENE_FRAMESPEED 30 + *SCENE_TICKSPERFRAME 160 + *SCENE_BACKGROUND_STATIC 0.0000 0.0000 0.0000 + *SCENE_AMBIENT_STATIC 0.0000 0.0000 0.0000 +} +*MATERIAL_LIST { + *MATERIAL_COUNT 2 + *MATERIAL 0 { + *MATERIAL_NAME "textures/radiant_regression_tests/tile_model" + *MATERIAL_CLASS "Standard" + *MATERIAL_DIFFUSE 1.000000 1.000000 0.833333 + *MATERIAL_SHADING Phong + *MAP_DIFFUSE { + *MAP_NAME "textures/radiant_regression_tests/tile_model" + *MAP_CLASS "Bitmap" + *MAP_SUBNO 1 + *MAP_AMOUNT 1.0 + *MAP_TYPE Screen + *BITMAP "..\textures\radiant_regression_tests\tile_model.tga" + *BITMAP_FILTER Pyramidal + } + } + *MATERIAL 1 { + *MATERIAL_NAME "noshader" + *MATERIAL_CLASS "Standard" + *MATERIAL_DIFFUSE 1.000000 1.000000 1.000000 + *MATERIAL_SHADING Phong + *MAP_DIFFUSE { + *MAP_NAME "noshader" + *MAP_CLASS "Bitmap" + *MAP_SUBNO 1 + *MAP_AMOUNT 1.0 + *MAP_TYPE Screen + *BITMAP "..\noshader.tga" + *BITMAP_FILTER Pyramidal + } + } +} +*GEOMOBJECT { + *NODE_NAME "mat0model0surf0" + *NODE_TM { + *NODE_NAME "mat0model0surf0" + *INHERIT_POS 0 0 0 + *INHERIT_ROT 0 0 0 + *INHERIT_SCL 0 0 0 + *TM_ROW0 1.0 0 0 + *TM_ROW1 0 1.0 0 + *TM_ROW2 0 0 1.0 + *TM_ROW3 0 0 0 + *TM_POS 0.000000 0.000000 0.000000 + } + *MESH { + *TIMEVALUE 0 + *MESH_NUMVERTEX 4 + *MESH_NUMFACES 2 + *COMMENT "SURFACETYPE MST_PLANAR" + *MESH_VERTEX_LIST { + *MESH_VERTEX 0 128.000000 0.000000 0.000000 + *MESH_VERTEX 1 64.000000 0.000000 64.000000 + *MESH_VERTEX 2 128.000000 128.000000 0.000000 + *MESH_VERTEX 3 64.000000 128.000000 64.000000 + } + *MESH_NORMALS { + *MESH_FACENORMAL 0 0.707107 0.000000 0.707107 + *MESH_FACENORMAL 1 0.707107 0.000000 0.707107 + *MESH_VERTEXNORMAL 0 0.707107 0.000000 0.707107 + *MESH_VERTEXNORMAL 1 0.707107 0.000000 0.707107 + *MESH_VERTEXNORMAL 2 0.707107 0.000000 0.707107 + *MESH_VERTEXNORMAL 3 0.707107 0.000000 0.707107 + } + *MESH_FACE_LIST { + *MESH_FACE 0 A: 0 B: 2 C: 1 AB: 1 BC: 1 CA: 1 *MESH_SMOOTHING 0 *MESH_MTLID 0 + *MESH_FACE 1 A: 2 B: 3 C: 1 AB: 1 BC: 1 CA: 1 *MESH_SMOOTHING 0 *MESH_MTLID 0 + } + *MESH_NUMTVERTEX 4 + *MESH_TVERTLIST { + *MESH_TVERT 0 1.000000 -1.000000 1.000000 + *MESH_TVERT 1 -1.000000 -1.000000 1.000000 + *MESH_TVERT 2 1.000000 3.000000 1.000000 + *MESH_TVERT 3 -1.000000 3.000000 1.000000 + } + *MESH_NUMTVFACES 2 + *MESH_TFACELIST { + *MESH_TFACE 0 0 2 1 + *MESH_TFACE 1 2 3 1 + } + } + *PROP_MOTIONBLUR 0 + *PROP_CASTSHADOW 1 + *PROP_RECVSHADOW 1 + *MATERIAL_REF 0 +} +*GEOMOBJECT { + *NODE_NAME "mat0model0surf1" + *NODE_TM { + *NODE_NAME "mat0model0surf1" + *INHERIT_POS 0 0 0 + *INHERIT_ROT 0 0 0 + *INHERIT_SCL 0 0 0 + *TM_ROW0 1.0 0 0 + *TM_ROW1 0 1.0 0 + *TM_ROW2 0 0 1.0 + *TM_ROW3 0 0 0 + *TM_POS 0.000000 0.000000 0.000000 + } + *MESH { + *TIMEVALUE 0 + *MESH_NUMVERTEX 4 + *MESH_NUMFACES 2 + *COMMENT "SURFACETYPE MST_PLANAR" + *MESH_VERTEX_LIST { + *MESH_VERTEX 0 0.000000 128.000000 64.000000 + *MESH_VERTEX 1 0.000000 128.000000 0.000000 + *MESH_VERTEX 2 64.000000 128.000000 64.000000 + *MESH_VERTEX 3 128.000000 128.000000 0.000000 + } + *MESH_NORMALS { + *MESH_FACENORMAL 0 0.707107 0.000000 0.707107 + *MESH_FACENORMAL 1 0.707107 0.000000 0.707107 + *MESH_VERTEXNORMAL 0 0.000000 1.000000 0.000000 + *MESH_VERTEXNORMAL 1 0.000000 1.000000 0.000000 + *MESH_VERTEXNORMAL 2 0.000000 1.000000 0.000000 + *MESH_VERTEXNORMAL 3 0.000000 1.000000 0.000000 + } + *MESH_FACE_LIST { + *MESH_FACE 0 A: 0 B: 2 C: 1 AB: 1 BC: 1 CA: 1 *MESH_SMOOTHING 0 *MESH_MTLID 0 + *MESH_FACE 1 A: 2 B: 3 C: 1 AB: 1 BC: 1 CA: 1 *MESH_SMOOTHING 0 *MESH_MTLID 0 + } + *MESH_NUMTVERTEX 4 + *MESH_TVERTLIST { + *MESH_TVERT 0 -2.000000 2.000000 1.000000 + *MESH_TVERT 1 -2.000000 0.000000 1.000000 + *MESH_TVERT 2 0.000000 2.000000 1.000000 + *MESH_TVERT 3 2.000000 0.000000 1.000000 + } + *MESH_NUMTVFACES 2 + *MESH_TFACELIST { + *MESH_TFACE 0 0 2 1 + *MESH_TFACE 1 2 3 1 + } + } + *PROP_MOTIONBLUR 0 + *PROP_CASTSHADOW 1 + *PROP_RECVSHADOW 1 + *MATERIAL_REF 0 +} +*GEOMOBJECT { + *NODE_NAME "mat0model0surf2" + *NODE_TM { + *NODE_NAME "mat0model0surf2" + *INHERIT_POS 0 0 0 + *INHERIT_ROT 0 0 0 + *INHERIT_SCL 0 0 0 + *TM_ROW0 1.0 0 0 + *TM_ROW1 0 1.0 0 + *TM_ROW2 0 0 1.0 + *TM_ROW3 0 0 0 + *TM_POS 0.000000 0.000000 0.000000 + } + *MESH { + *TIMEVALUE 0 + *MESH_NUMVERTEX 4 + *MESH_NUMFACES 2 + *COMMENT "SURFACETYPE MST_PLANAR" + *MESH_VERTEX_LIST { + *MESH_VERTEX 0 64.000000 0.000000 64.000000 + *MESH_VERTEX 1 0.000000 0.000000 64.000000 + *MESH_VERTEX 2 64.000000 128.000000 64.000000 + *MESH_VERTEX 3 0.000000 128.000000 64.000000 + } + *MESH_NORMALS { + *MESH_FACENORMAL 0 0.707107 0.000000 0.707107 + *MESH_FACENORMAL 1 0.707107 0.000000 0.707107 + *MESH_VERTEXNORMAL 0 0.000000 0.000000 1.000000 + *MESH_VERTEXNORMAL 1 0.000000 0.000000 1.000000 + *MESH_VERTEXNORMAL 2 0.000000 0.000000 1.000000 + *MESH_VERTEXNORMAL 3 0.000000 0.000000 1.000000 + } + *MESH_FACE_LIST { + *MESH_FACE 0 A: 0 B: 2 C: 1 AB: 1 BC: 1 CA: 1 *MESH_SMOOTHING 0 *MESH_MTLID 0 + *MESH_FACE 1 A: 2 B: 3 C: 1 AB: 1 BC: 1 CA: 1 *MESH_SMOOTHING 0 *MESH_MTLID 0 + } + *MESH_NUMTVERTEX 4 + *MESH_TVERTLIST { + *MESH_TVERT 0 1.000000 -1.000000 1.000000 + *MESH_TVERT 1 -1.000000 -1.000000 1.000000 + *MESH_TVERT 2 1.000000 3.000000 1.000000 + *MESH_TVERT 3 -1.000000 3.000000 1.000000 + } + *MESH_NUMTVFACES 2 + *MESH_TFACELIST { + *MESH_TFACE 0 0 2 1 + *MESH_TFACE 1 2 3 1 + } + } + *PROP_MOTIONBLUR 0 + *PROP_CASTSHADOW 1 + *PROP_RECVSHADOW 1 + *MATERIAL_REF 0 +} +*GEOMOBJECT { + *NODE_NAME "mat0model0surf3" + *NODE_TM { + *NODE_NAME "mat0model0surf3" + *INHERIT_POS 0 0 0 + *INHERIT_ROT 0 0 0 + *INHERIT_SCL 0 0 0 + *TM_ROW0 1.0 0 0 + *TM_ROW1 0 1.0 0 + *TM_ROW2 0 0 1.0 + *TM_ROW3 0 0 0 + *TM_POS 0.000000 0.000000 0.000000 + } + *MESH { + *TIMEVALUE 0 + *MESH_NUMVERTEX 4 + *MESH_NUMFACES 2 + *COMMENT "SURFACETYPE MST_PLANAR" + *MESH_VERTEX_LIST { + *MESH_VERTEX 0 0.000000 0.000000 64.000000 + *MESH_VERTEX 1 0.000000 0.000000 0.000000 + *MESH_VERTEX 2 0.000000 128.000000 64.000000 + *MESH_VERTEX 3 0.000000 128.000000 0.000000 + } + *MESH_NORMALS { + *MESH_FACENORMAL 0 0.707107 0.000000 0.707107 + *MESH_FACENORMAL 1 0.707107 0.000000 0.707107 + *MESH_VERTEXNORMAL 0 -1.000000 0.000000 0.000000 + *MESH_VERTEXNORMAL 1 -1.000000 0.000000 0.000000 + *MESH_VERTEXNORMAL 2 -1.000000 0.000000 0.000000 + *MESH_VERTEXNORMAL 3 -1.000000 0.000000 0.000000 + } + *MESH_FACE_LIST { + *MESH_FACE 0 A: 0 B: 2 C: 1 AB: 1 BC: 1 CA: 1 *MESH_SMOOTHING 0 *MESH_MTLID 0 + *MESH_FACE 1 A: 2 B: 3 C: 1 AB: 1 BC: 1 CA: 1 *MESH_SMOOTHING 0 *MESH_MTLID 0 + } + *MESH_NUMTVERTEX 4 + *MESH_TVERTLIST { + *MESH_TVERT 0 -2.000000 2.000000 1.000000 + *MESH_TVERT 1 -2.000000 0.000000 1.000000 + *MESH_TVERT 2 2.000000 2.000000 1.000000 + *MESH_TVERT 3 2.000000 0.000000 1.000000 + } + *MESH_NUMTVFACES 2 + *MESH_TFACELIST { + *MESH_TFACE 0 0 2 1 + *MESH_TFACE 1 2 3 1 + } + } + *PROP_MOTIONBLUR 0 + *PROP_CASTSHADOW 1 + *PROP_RECVSHADOW 1 + *MATERIAL_REF 0 +} +*GEOMOBJECT { + *NODE_NAME "mat0model0surf4" + *NODE_TM { + *NODE_NAME "mat0model0surf4" + *INHERIT_POS 0 0 0 + *INHERIT_ROT 0 0 0 + *INHERIT_SCL 0 0 0 + *TM_ROW0 1.0 0 0 + *TM_ROW1 0 1.0 0 + *TM_ROW2 0 0 1.0 + *TM_ROW3 0 0 0 + *TM_POS 0.000000 0.000000 0.000000 + } + *MESH { + *TIMEVALUE 0 + *MESH_NUMVERTEX 4 + *MESH_NUMFACES 2 + *COMMENT "SURFACETYPE MST_PLANAR" + *MESH_VERTEX_LIST { + *MESH_VERTEX 0 128.000000 0.000000 0.000000 + *MESH_VERTEX 1 0.000000 0.000000 0.000000 + *MESH_VERTEX 2 64.000000 0.000000 64.000000 + *MESH_VERTEX 3 0.000000 0.000000 64.000000 + } + *MESH_NORMALS { + *MESH_FACENORMAL 0 0.707107 0.000000 0.707107 + *MESH_FACENORMAL 1 0.707107 0.000000 0.707107 + *MESH_VERTEXNORMAL 0 0.000000 -1.000000 0.000000 + *MESH_VERTEXNORMAL 1 0.000000 -1.000000 0.000000 + *MESH_VERTEXNORMAL 2 0.000000 -1.000000 0.000000 + *MESH_VERTEXNORMAL 3 0.000000 -1.000000 0.000000 + } + *MESH_FACE_LIST { + *MESH_FACE 0 A: 0 B: 2 C: 1 AB: 1 BC: 1 CA: 1 *MESH_SMOOTHING 0 *MESH_MTLID 0 + *MESH_FACE 1 A: 2 B: 3 C: 1 AB: 1 BC: 1 CA: 1 *MESH_SMOOTHING 0 *MESH_MTLID 0 + } + *MESH_NUMTVERTEX 4 + *MESH_TVERTLIST { + *MESH_TVERT 0 2.000000 0.000000 1.000000 + *MESH_TVERT 1 -2.000000 0.000000 1.000000 + *MESH_TVERT 2 0.000000 2.000000 1.000000 + *MESH_TVERT 3 -2.000000 2.000000 1.000000 + } + *MESH_NUMTVFACES 2 + *MESH_TFACELIST { + *MESH_TFACE 0 0 2 1 + *MESH_TFACE 1 2 3 1 + } + } + *PROP_MOTIONBLUR 0 + *PROP_CASTSHADOW 1 + *PROP_RECVSHADOW 1 + *MATERIAL_REF 0 +} +*GEOMOBJECT { + *NODE_NAME "mat0model0surf5" + *NODE_TM { + *NODE_NAME "mat0model0surf5" + *INHERIT_POS 0 0 0 + *INHERIT_ROT 0 0 0 + *INHERIT_SCL 0 0 0 + *TM_ROW0 1.0 0 0 + *TM_ROW1 0 1.0 0 + *TM_ROW2 0 0 1.0 + *TM_ROW3 0 0 0 + *TM_POS 0.000000 0.000000 0.000000 + } + *MESH { + *TIMEVALUE 0 + *MESH_NUMVERTEX 4 + *MESH_NUMFACES 2 + *COMMENT "SURFACETYPE MST_PLANAR" + *MESH_VERTEX_LIST { + *MESH_VERTEX 0 0.000000 128.000000 0.000000 + *MESH_VERTEX 1 0.000000 0.000000 0.000000 + *MESH_VERTEX 2 128.000000 128.000000 0.000000 + *MESH_VERTEX 3 128.000000 0.000000 0.000000 + } + *MESH_NORMALS { + *MESH_FACENORMAL 0 0.707107 0.000000 0.707107 + *MESH_FACENORMAL 1 0.707107 0.000000 0.707107 + *MESH_VERTEXNORMAL 0 0.000000 0.000000 -1.000000 + *MESH_VERTEXNORMAL 1 0.000000 0.000000 -1.000000 + *MESH_VERTEXNORMAL 2 0.000000 0.000000 -1.000000 + *MESH_VERTEXNORMAL 3 0.000000 0.000000 -1.000000 + } + *MESH_FACE_LIST { + *MESH_FACE 0 A: 0 B: 2 C: 1 AB: 1 BC: 1 CA: 1 *MESH_SMOOTHING 0 *MESH_MTLID 0 + *MESH_FACE 1 A: 2 B: 3 C: 1 AB: 1 BC: 1 CA: 1 *MESH_SMOOTHING 0 *MESH_MTLID 0 + } + *MESH_NUMTVERTEX 4 + *MESH_TVERTLIST { + *MESH_TVERT 0 -2.000000 3.000000 1.000000 + *MESH_TVERT 1 -2.000000 -1.000000 1.000000 + *MESH_TVERT 2 2.000000 3.000000 1.000000 + *MESH_TVERT 3 2.000000 -1.000000 1.000000 + } + *MESH_NUMTVFACES 2 + *MESH_TFACELIST { + *MESH_TFACE 0 0 2 1 + *MESH_TFACE 1 2 3 1 + } + } + *PROP_MOTIONBLUR 0 + *PROP_CASTSHADOW 1 + *PROP_RECVSHADOW 1 + *MATERIAL_REF 0 +} diff --git a/regression_tests/q3map2/model_clipping_45_degrees/models/mapobjects/wedges/wedge_shallow.ase b/regression_tests/q3map2/model_clipping_45_degrees/models/mapobjects/wedges/wedge_shallow.ase new file mode 100644 index 0000000..4e23fd4 --- /dev/null +++ b/regression_tests/q3map2/model_clipping_45_degrees/models/mapobjects/wedges/wedge_shallow.ase @@ -0,0 +1,368 @@ +*3DSMAX_ASCIIEXPORT 200 +*COMMENT "Generated by Q3Map2 (ydnar) -convert -format ase" +*SCENE { + *SCENE_FILENAME "wedge_shallow.bsp" + *SCENE_FIRSTFRAME 0 + *SCENE_LASTFRAME 100 + *SCENE_FRAMESPEED 30 + *SCENE_TICKSPERFRAME 160 + *SCENE_BACKGROUND_STATIC 0.0000 0.0000 0.0000 + *SCENE_AMBIENT_STATIC 0.0000 0.0000 0.0000 +} +*MATERIAL_LIST { + *MATERIAL_COUNT 2 + *MATERIAL 0 { + *MATERIAL_NAME "textures/radiant_regression_tests/tile_model" + *MATERIAL_CLASS "Standard" + *MATERIAL_DIFFUSE 1.000000 1.000000 0.833333 + *MATERIAL_SHADING Phong + *MAP_DIFFUSE { + *MAP_NAME "textures/radiant_regression_tests/tile_model" + *MAP_CLASS "Bitmap" + *MAP_SUBNO 1 + *MAP_AMOUNT 1.0 + *MAP_TYPE Screen + *BITMAP "..\textures\radiant_regression_tests\tile_model.tga" + *BITMAP_FILTER Pyramidal + } + } + *MATERIAL 1 { + *MATERIAL_NAME "noshader" + *MATERIAL_CLASS "Standard" + *MATERIAL_DIFFUSE 1.000000 1.000000 1.000000 + *MATERIAL_SHADING Phong + *MAP_DIFFUSE { + *MAP_NAME "noshader" + *MAP_CLASS "Bitmap" + *MAP_SUBNO 1 + *MAP_AMOUNT 1.0 + *MAP_TYPE Screen + *BITMAP "..\noshader.tga" + *BITMAP_FILTER Pyramidal + } + } +} +*GEOMOBJECT { + *NODE_NAME "mat0model0surf0" + *NODE_TM { + *NODE_NAME "mat0model0surf0" + *INHERIT_POS 0 0 0 + *INHERIT_ROT 0 0 0 + *INHERIT_SCL 0 0 0 + *TM_ROW0 1.0 0 0 + *TM_ROW1 0 1.0 0 + *TM_ROW2 0 0 1.0 + *TM_ROW3 0 0 0 + *TM_POS 0.000000 0.000000 0.000000 + } + *MESH { + *TIMEVALUE 0 + *MESH_NUMVERTEX 4 + *MESH_NUMFACES 2 + *COMMENT "SURFACETYPE MST_PLANAR" + *MESH_VERTEX_LIST { + *MESH_VERTEX 0 160.000000 0.000000 0.000000 + *MESH_VERTEX 1 64.000000 0.000000 64.000000 + *MESH_VERTEX 2 160.000000 128.000000 0.000000 + *MESH_VERTEX 3 64.000000 128.000000 64.000000 + } + *MESH_NORMALS { + *MESH_FACENORMAL 0 0.554700 0.000000 0.832050 + *MESH_FACENORMAL 1 0.554700 0.000000 0.832050 + *MESH_VERTEXNORMAL 0 0.554700 0.000000 0.832050 + *MESH_VERTEXNORMAL 1 0.554700 0.000000 0.832050 + *MESH_VERTEXNORMAL 2 0.554700 0.000000 0.832050 + *MESH_VERTEXNORMAL 3 0.554700 0.000000 0.832050 + } + *MESH_FACE_LIST { + *MESH_FACE 0 A: 0 B: 2 C: 1 AB: 1 BC: 1 CA: 1 *MESH_SMOOTHING 0 *MESH_MTLID 0 + *MESH_FACE 1 A: 2 B: 3 C: 1 AB: 1 BC: 1 CA: 1 *MESH_SMOOTHING 0 *MESH_MTLID 0 + } + *MESH_NUMTVERTEX 4 + *MESH_TVERTLIST { + *MESH_TVERT 0 2.000000 -1.000000 1.000000 + *MESH_TVERT 1 -1.000000 -1.000000 1.000000 + *MESH_TVERT 2 2.000000 3.000000 1.000000 + *MESH_TVERT 3 -1.000000 3.000000 1.000000 + } + *MESH_NUMTVFACES 2 + *MESH_TFACELIST { + *MESH_TFACE 0 0 2 1 + *MESH_TFACE 1 2 3 1 + } + } + *PROP_MOTIONBLUR 0 + *PROP_CASTSHADOW 1 + *PROP_RECVSHADOW 1 + *MATERIAL_REF 0 +} +*GEOMOBJECT { + *NODE_NAME "mat0model0surf1" + *NODE_TM { + *NODE_NAME "mat0model0surf1" + *INHERIT_POS 0 0 0 + *INHERIT_ROT 0 0 0 + *INHERIT_SCL 0 0 0 + *TM_ROW0 1.0 0 0 + *TM_ROW1 0 1.0 0 + *TM_ROW2 0 0 1.0 + *TM_ROW3 0 0 0 + *TM_POS 0.000000 0.000000 0.000000 + } + *MESH { + *TIMEVALUE 0 + *MESH_NUMVERTEX 4 + *MESH_NUMFACES 2 + *COMMENT "SURFACETYPE MST_PLANAR" + *MESH_VERTEX_LIST { + *MESH_VERTEX 0 0.000000 128.000000 64.000000 + *MESH_VERTEX 1 0.000000 128.000000 0.000000 + *MESH_VERTEX 2 64.000000 128.000000 64.000000 + *MESH_VERTEX 3 160.000000 128.000000 0.000000 + } + *MESH_NORMALS { + *MESH_FACENORMAL 0 0.554700 0.000000 0.832050 + *MESH_FACENORMAL 1 0.554700 0.000000 0.832050 + *MESH_VERTEXNORMAL 0 0.000000 1.000000 0.000000 + *MESH_VERTEXNORMAL 1 0.000000 1.000000 0.000000 + *MESH_VERTEXNORMAL 2 0.000000 1.000000 0.000000 + *MESH_VERTEXNORMAL 3 0.000000 1.000000 0.000000 + } + *MESH_FACE_LIST { + *MESH_FACE 0 A: 0 B: 2 C: 1 AB: 1 BC: 1 CA: 1 *MESH_SMOOTHING 0 *MESH_MTLID 0 + *MESH_FACE 1 A: 2 B: 3 C: 1 AB: 1 BC: 1 CA: 1 *MESH_SMOOTHING 0 *MESH_MTLID 0 + } + *MESH_NUMTVERTEX 4 + *MESH_TVERTLIST { + *MESH_TVERT 0 -2.000000 2.000000 1.000000 + *MESH_TVERT 1 -2.000000 0.000000 1.000000 + *MESH_TVERT 2 0.000000 2.000000 1.000000 + *MESH_TVERT 3 3.000000 0.000000 1.000000 + } + *MESH_NUMTVFACES 2 + *MESH_TFACELIST { + *MESH_TFACE 0 0 2 1 + *MESH_TFACE 1 2 3 1 + } + } + *PROP_MOTIONBLUR 0 + *PROP_CASTSHADOW 1 + *PROP_RECVSHADOW 1 + *MATERIAL_REF 0 +} +*GEOMOBJECT { + *NODE_NAME "mat0model0surf2" + *NODE_TM { + *NODE_NAME "mat0model0surf2" + *INHERIT_POS 0 0 0 + *INHERIT_ROT 0 0 0 + *INHERIT_SCL 0 0 0 + *TM_ROW0 1.0 0 0 + *TM_ROW1 0 1.0 0 + *TM_ROW2 0 0 1.0 + *TM_ROW3 0 0 0 + *TM_POS 0.000000 0.000000 0.000000 + } + *MESH { + *TIMEVALUE 0 + *MESH_NUMVERTEX 4 + *MESH_NUMFACES 2 + *COMMENT "SURFACETYPE MST_PLANAR" + *MESH_VERTEX_LIST { + *MESH_VERTEX 0 64.000000 0.000000 64.000000 + *MESH_VERTEX 1 0.000000 0.000000 64.000000 + *MESH_VERTEX 2 64.000000 128.000000 64.000000 + *MESH_VERTEX 3 0.000000 128.000000 64.000000 + } + *MESH_NORMALS { + *MESH_FACENORMAL 0 0.554700 0.000000 0.832050 + *MESH_FACENORMAL 1 0.554700 0.000000 0.832050 + *MESH_VERTEXNORMAL 0 0.000000 0.000000 1.000000 + *MESH_VERTEXNORMAL 1 0.000000 0.000000 1.000000 + *MESH_VERTEXNORMAL 2 0.000000 0.000000 1.000000 + *MESH_VERTEXNORMAL 3 0.000000 0.000000 1.000000 + } + *MESH_FACE_LIST { + *MESH_FACE 0 A: 0 B: 2 C: 1 AB: 1 BC: 1 CA: 1 *MESH_SMOOTHING 0 *MESH_MTLID 0 + *MESH_FACE 1 A: 2 B: 3 C: 1 AB: 1 BC: 1 CA: 1 *MESH_SMOOTHING 0 *MESH_MTLID 0 + } + *MESH_NUMTVERTEX 4 + *MESH_TVERTLIST { + *MESH_TVERT 0 1.000000 -1.000000 1.000000 + *MESH_TVERT 1 -1.000000 -1.000000 1.000000 + *MESH_TVERT 2 1.000000 3.000000 1.000000 + *MESH_TVERT 3 -1.000000 3.000000 1.000000 + } + *MESH_NUMTVFACES 2 + *MESH_TFACELIST { + *MESH_TFACE 0 0 2 1 + *MESH_TFACE 1 2 3 1 + } + } + *PROP_MOTIONBLUR 0 + *PROP_CASTSHADOW 1 + *PROP_RECVSHADOW 1 + *MATERIAL_REF 0 +} +*GEOMOBJECT { + *NODE_NAME "mat0model0surf3" + *NODE_TM { + *NODE_NAME "mat0model0surf3" + *INHERIT_POS 0 0 0 + *INHERIT_ROT 0 0 0 + *INHERIT_SCL 0 0 0 + *TM_ROW0 1.0 0 0 + *TM_ROW1 0 1.0 0 + *TM_ROW2 0 0 1.0 + *TM_ROW3 0 0 0 + *TM_POS 0.000000 0.000000 0.000000 + } + *MESH { + *TIMEVALUE 0 + *MESH_NUMVERTEX 4 + *MESH_NUMFACES 2 + *COMMENT "SURFACETYPE MST_PLANAR" + *MESH_VERTEX_LIST { + *MESH_VERTEX 0 0.000000 0.000000 64.000000 + *MESH_VERTEX 1 0.000000 0.000000 0.000000 + *MESH_VERTEX 2 0.000000 128.000000 64.000000 + *MESH_VERTEX 3 0.000000 128.000000 0.000000 + } + *MESH_NORMALS { + *MESH_FACENORMAL 0 0.554700 0.000000 0.832050 + *MESH_FACENORMAL 1 0.554700 0.000000 0.832050 + *MESH_VERTEXNORMAL 0 -1.000000 0.000000 0.000000 + *MESH_VERTEXNORMAL 1 -1.000000 0.000000 0.000000 + *MESH_VERTEXNORMAL 2 -1.000000 0.000000 0.000000 + *MESH_VERTEXNORMAL 3 -1.000000 0.000000 0.000000 + } + *MESH_FACE_LIST { + *MESH_FACE 0 A: 0 B: 2 C: 1 AB: 1 BC: 1 CA: 1 *MESH_SMOOTHING 0 *MESH_MTLID 0 + *MESH_FACE 1 A: 2 B: 3 C: 1 AB: 1 BC: 1 CA: 1 *MESH_SMOOTHING 0 *MESH_MTLID 0 + } + *MESH_NUMTVERTEX 4 + *MESH_TVERTLIST { + *MESH_TVERT 0 -2.000000 2.000000 1.000000 + *MESH_TVERT 1 -2.000000 0.000000 1.000000 + *MESH_TVERT 2 2.000000 2.000000 1.000000 + *MESH_TVERT 3 2.000000 0.000000 1.000000 + } + *MESH_NUMTVFACES 2 + *MESH_TFACELIST { + *MESH_TFACE 0 0 2 1 + *MESH_TFACE 1 2 3 1 + } + } + *PROP_MOTIONBLUR 0 + *PROP_CASTSHADOW 1 + *PROP_RECVSHADOW 1 + *MATERIAL_REF 0 +} +*GEOMOBJECT { + *NODE_NAME "mat0model0surf4" + *NODE_TM { + *NODE_NAME "mat0model0surf4" + *INHERIT_POS 0 0 0 + *INHERIT_ROT 0 0 0 + *INHERIT_SCL 0 0 0 + *TM_ROW0 1.0 0 0 + *TM_ROW1 0 1.0 0 + *TM_ROW2 0 0 1.0 + *TM_ROW3 0 0 0 + *TM_POS 0.000000 0.000000 0.000000 + } + *MESH { + *TIMEVALUE 0 + *MESH_NUMVERTEX 4 + *MESH_NUMFACES 2 + *COMMENT "SURFACETYPE MST_PLANAR" + *MESH_VERTEX_LIST { + *MESH_VERTEX 0 160.000000 0.000000 0.000000 + *MESH_VERTEX 1 0.000000 0.000000 0.000000 + *MESH_VERTEX 2 64.000000 0.000000 64.000000 + *MESH_VERTEX 3 0.000000 0.000000 64.000000 + } + *MESH_NORMALS { + *MESH_FACENORMAL 0 0.554700 0.000000 0.832050 + *MESH_FACENORMAL 1 0.554700 0.000000 0.832050 + *MESH_VERTEXNORMAL 0 0.000000 -1.000000 0.000000 + *MESH_VERTEXNORMAL 1 0.000000 -1.000000 0.000000 + *MESH_VERTEXNORMAL 2 0.000000 -1.000000 0.000000 + *MESH_VERTEXNORMAL 3 0.000000 -1.000000 0.000000 + } + *MESH_FACE_LIST { + *MESH_FACE 0 A: 0 B: 2 C: 1 AB: 1 BC: 1 CA: 1 *MESH_SMOOTHING 0 *MESH_MTLID 0 + *MESH_FACE 1 A: 2 B: 3 C: 1 AB: 1 BC: 1 CA: 1 *MESH_SMOOTHING 0 *MESH_MTLID 0 + } + *MESH_NUMTVERTEX 4 + *MESH_TVERTLIST { + *MESH_TVERT 0 3.000000 0.000000 1.000000 + *MESH_TVERT 1 -2.000000 0.000000 1.000000 + *MESH_TVERT 2 0.000000 2.000000 1.000000 + *MESH_TVERT 3 -2.000000 2.000000 1.000000 + } + *MESH_NUMTVFACES 2 + *MESH_TFACELIST { + *MESH_TFACE 0 0 2 1 + *MESH_TFACE 1 2 3 1 + } + } + *PROP_MOTIONBLUR 0 + *PROP_CASTSHADOW 1 + *PROP_RECVSHADOW 1 + *MATERIAL_REF 0 +} +*GEOMOBJECT { + *NODE_NAME "mat0model0surf5" + *NODE_TM { + *NODE_NAME "mat0model0surf5" + *INHERIT_POS 0 0 0 + *INHERIT_ROT 0 0 0 + *INHERIT_SCL 0 0 0 + *TM_ROW0 1.0 0 0 + *TM_ROW1 0 1.0 0 + *TM_ROW2 0 0 1.0 + *TM_ROW3 0 0 0 + *TM_POS 0.000000 0.000000 0.000000 + } + *MESH { + *TIMEVALUE 0 + *MESH_NUMVERTEX 4 + *MESH_NUMFACES 2 + *COMMENT "SURFACETYPE MST_PLANAR" + *MESH_VERTEX_LIST { + *MESH_VERTEX 0 0.000000 128.000000 0.000000 + *MESH_VERTEX 1 0.000000 0.000000 0.000000 + *MESH_VERTEX 2 160.000000 128.000000 0.000000 + *MESH_VERTEX 3 160.000000 0.000000 0.000000 + } + *MESH_NORMALS { + *MESH_FACENORMAL 0 0.554700 0.000000 0.832050 + *MESH_FACENORMAL 1 0.554700 0.000000 0.832050 + *MESH_VERTEXNORMAL 0 0.000000 0.000000 -1.000000 + *MESH_VERTEXNORMAL 1 0.000000 0.000000 -1.000000 + *MESH_VERTEXNORMAL 2 0.000000 0.000000 -1.000000 + *MESH_VERTEXNORMAL 3 0.000000 0.000000 -1.000000 + } + *MESH_FACE_LIST { + *MESH_FACE 0 A: 0 B: 2 C: 1 AB: 1 BC: 1 CA: 1 *MESH_SMOOTHING 0 *MESH_MTLID 0 + *MESH_FACE 1 A: 2 B: 3 C: 1 AB: 1 BC: 1 CA: 1 *MESH_SMOOTHING 0 *MESH_MTLID 0 + } + *MESH_NUMTVERTEX 4 + *MESH_TVERTLIST { + *MESH_TVERT 0 -2.000000 3.000000 1.000000 + *MESH_TVERT 1 -2.000000 -1.000000 1.000000 + *MESH_TVERT 2 3.000000 3.000000 1.000000 + *MESH_TVERT 3 3.000000 -1.000000 1.000000 + } + *MESH_NUMTVFACES 2 + *MESH_TFACELIST { + *MESH_TFACE 0 0 2 1 + *MESH_TFACE 1 2 3 1 + } + } + *PROP_MOTIONBLUR 0 + *PROP_CASTSHADOW 1 + *PROP_RECVSHADOW 1 + *MATERIAL_REF 0 +} diff --git a/regression_tests/q3map2/model_clipping_45_degrees/models/mapobjects/wedges/wedge_steep.ase b/regression_tests/q3map2/model_clipping_45_degrees/models/mapobjects/wedges/wedge_steep.ase new file mode 100644 index 0000000..0e8727e --- /dev/null +++ b/regression_tests/q3map2/model_clipping_45_degrees/models/mapobjects/wedges/wedge_steep.ase @@ -0,0 +1,368 @@ +*3DSMAX_ASCIIEXPORT 200 +*COMMENT "Generated by Q3Map2 (ydnar) -convert -format ase" +*SCENE { + *SCENE_FILENAME "wedge_steep.bsp" + *SCENE_FIRSTFRAME 0 + *SCENE_LASTFRAME 100 + *SCENE_FRAMESPEED 30 + *SCENE_TICKSPERFRAME 160 + *SCENE_BACKGROUND_STATIC 0.0000 0.0000 0.0000 + *SCENE_AMBIENT_STATIC 0.0000 0.0000 0.0000 +} +*MATERIAL_LIST { + *MATERIAL_COUNT 2 + *MATERIAL 0 { + *MATERIAL_NAME "textures/radiant_regression_tests/tile_model" + *MATERIAL_CLASS "Standard" + *MATERIAL_DIFFUSE 1.000000 1.000000 0.833333 + *MATERIAL_SHADING Phong + *MAP_DIFFUSE { + *MAP_NAME "textures/radiant_regression_tests/tile_model" + *MAP_CLASS "Bitmap" + *MAP_SUBNO 1 + *MAP_AMOUNT 1.0 + *MAP_TYPE Screen + *BITMAP "..\textures\radiant_regression_tests\tile_model.tga" + *BITMAP_FILTER Pyramidal + } + } + *MATERIAL 1 { + *MATERIAL_NAME "noshader" + *MATERIAL_CLASS "Standard" + *MATERIAL_DIFFUSE 1.000000 1.000000 1.000000 + *MATERIAL_SHADING Phong + *MAP_DIFFUSE { + *MAP_NAME "noshader" + *MAP_CLASS "Bitmap" + *MAP_SUBNO 1 + *MAP_AMOUNT 1.0 + *MAP_TYPE Screen + *BITMAP "..\noshader.tga" + *BITMAP_FILTER Pyramidal + } + } +} +*GEOMOBJECT { + *NODE_NAME "mat0model0surf0" + *NODE_TM { + *NODE_NAME "mat0model0surf0" + *INHERIT_POS 0 0 0 + *INHERIT_ROT 0 0 0 + *INHERIT_SCL 0 0 0 + *TM_ROW0 1.0 0 0 + *TM_ROW1 0 1.0 0 + *TM_ROW2 0 0 1.0 + *TM_ROW3 0 0 0 + *TM_POS 0.000000 0.000000 0.000000 + } + *MESH { + *TIMEVALUE 0 + *MESH_NUMVERTEX 4 + *MESH_NUMFACES 2 + *COMMENT "SURFACETYPE MST_PLANAR" + *MESH_VERTEX_LIST { + *MESH_VERTEX 0 112.000000 0.000000 0.000000 + *MESH_VERTEX 1 64.000000 0.000000 64.000000 + *MESH_VERTEX 2 112.000000 128.000000 0.000000 + *MESH_VERTEX 3 64.000000 128.000000 64.000000 + } + *MESH_NORMALS { + *MESH_FACENORMAL 0 0.800000 0.000000 0.600000 + *MESH_FACENORMAL 1 0.800000 0.000000 0.600000 + *MESH_VERTEXNORMAL 0 0.800000 0.000000 0.600000 + *MESH_VERTEXNORMAL 1 0.800000 0.000000 0.600000 + *MESH_VERTEXNORMAL 2 0.800000 0.000000 0.600000 + *MESH_VERTEXNORMAL 3 0.800000 0.000000 0.600000 + } + *MESH_FACE_LIST { + *MESH_FACE 0 A: 0 B: 2 C: 1 AB: 1 BC: 1 CA: 1 *MESH_SMOOTHING 0 *MESH_MTLID 0 + *MESH_FACE 1 A: 2 B: 3 C: 1 AB: 1 BC: 1 CA: 1 *MESH_SMOOTHING 0 *MESH_MTLID 0 + } + *MESH_NUMTVERTEX 4 + *MESH_TVERTLIST { + *MESH_TVERT 0 -2.000000 0.000000 1.000000 + *MESH_TVERT 1 -2.000000 2.000000 1.000000 + *MESH_TVERT 2 2.000000 0.000000 1.000000 + *MESH_TVERT 3 2.000000 2.000000 1.000000 + } + *MESH_NUMTVFACES 2 + *MESH_TFACELIST { + *MESH_TFACE 0 0 2 1 + *MESH_TFACE 1 2 3 1 + } + } + *PROP_MOTIONBLUR 0 + *PROP_CASTSHADOW 1 + *PROP_RECVSHADOW 1 + *MATERIAL_REF 0 +} +*GEOMOBJECT { + *NODE_NAME "mat0model0surf1" + *NODE_TM { + *NODE_NAME "mat0model0surf1" + *INHERIT_POS 0 0 0 + *INHERIT_ROT 0 0 0 + *INHERIT_SCL 0 0 0 + *TM_ROW0 1.0 0 0 + *TM_ROW1 0 1.0 0 + *TM_ROW2 0 0 1.0 + *TM_ROW3 0 0 0 + *TM_POS 0.000000 0.000000 0.000000 + } + *MESH { + *TIMEVALUE 0 + *MESH_NUMVERTEX 4 + *MESH_NUMFACES 2 + *COMMENT "SURFACETYPE MST_PLANAR" + *MESH_VERTEX_LIST { + *MESH_VERTEX 0 0.000000 128.000000 64.000000 + *MESH_VERTEX 1 0.000000 128.000000 0.000000 + *MESH_VERTEX 2 64.000000 128.000000 64.000000 + *MESH_VERTEX 3 112.000000 128.000000 0.000000 + } + *MESH_NORMALS { + *MESH_FACENORMAL 0 0.800000 0.000000 0.600000 + *MESH_FACENORMAL 1 0.800000 0.000000 0.600000 + *MESH_VERTEXNORMAL 0 0.000000 1.000000 0.000000 + *MESH_VERTEXNORMAL 1 0.000000 1.000000 0.000000 + *MESH_VERTEXNORMAL 2 0.000000 1.000000 0.000000 + *MESH_VERTEXNORMAL 3 0.000000 1.000000 0.000000 + } + *MESH_FACE_LIST { + *MESH_FACE 0 A: 0 B: 2 C: 1 AB: 1 BC: 1 CA: 1 *MESH_SMOOTHING 0 *MESH_MTLID 0 + *MESH_FACE 1 A: 2 B: 3 C: 1 AB: 1 BC: 1 CA: 1 *MESH_SMOOTHING 0 *MESH_MTLID 0 + } + *MESH_NUMTVERTEX 4 + *MESH_TVERTLIST { + *MESH_TVERT 0 -1.000000 2.000000 1.000000 + *MESH_TVERT 1 -1.000000 0.000000 1.000000 + *MESH_TVERT 2 1.000000 2.000000 1.000000 + *MESH_TVERT 3 2.500000 0.000000 1.000000 + } + *MESH_NUMTVFACES 2 + *MESH_TFACELIST { + *MESH_TFACE 0 0 2 1 + *MESH_TFACE 1 2 3 1 + } + } + *PROP_MOTIONBLUR 0 + *PROP_CASTSHADOW 1 + *PROP_RECVSHADOW 1 + *MATERIAL_REF 0 +} +*GEOMOBJECT { + *NODE_NAME "mat0model0surf2" + *NODE_TM { + *NODE_NAME "mat0model0surf2" + *INHERIT_POS 0 0 0 + *INHERIT_ROT 0 0 0 + *INHERIT_SCL 0 0 0 + *TM_ROW0 1.0 0 0 + *TM_ROW1 0 1.0 0 + *TM_ROW2 0 0 1.0 + *TM_ROW3 0 0 0 + *TM_POS 0.000000 0.000000 0.000000 + } + *MESH { + *TIMEVALUE 0 + *MESH_NUMVERTEX 4 + *MESH_NUMFACES 2 + *COMMENT "SURFACETYPE MST_PLANAR" + *MESH_VERTEX_LIST { + *MESH_VERTEX 0 64.000000 0.000000 64.000000 + *MESH_VERTEX 1 0.000000 0.000000 64.000000 + *MESH_VERTEX 2 64.000000 128.000000 64.000000 + *MESH_VERTEX 3 0.000000 128.000000 64.000000 + } + *MESH_NORMALS { + *MESH_FACENORMAL 0 0.800000 0.000000 0.600000 + *MESH_FACENORMAL 1 0.800000 0.000000 0.600000 + *MESH_VERTEXNORMAL 0 0.000000 0.000000 1.000000 + *MESH_VERTEXNORMAL 1 0.000000 0.000000 1.000000 + *MESH_VERTEXNORMAL 2 0.000000 0.000000 1.000000 + *MESH_VERTEXNORMAL 3 0.000000 0.000000 1.000000 + } + *MESH_FACE_LIST { + *MESH_FACE 0 A: 0 B: 2 C: 1 AB: 1 BC: 1 CA: 1 *MESH_SMOOTHING 0 *MESH_MTLID 0 + *MESH_FACE 1 A: 2 B: 3 C: 1 AB: 1 BC: 1 CA: 1 *MESH_SMOOTHING 0 *MESH_MTLID 0 + } + *MESH_NUMTVERTEX 4 + *MESH_TVERTLIST { + *MESH_TVERT 0 1.000000 -1.000000 1.000000 + *MESH_TVERT 1 -1.000000 -1.000000 1.000000 + *MESH_TVERT 2 1.000000 3.000000 1.000000 + *MESH_TVERT 3 -1.000000 3.000000 1.000000 + } + *MESH_NUMTVFACES 2 + *MESH_TFACELIST { + *MESH_TFACE 0 0 2 1 + *MESH_TFACE 1 2 3 1 + } + } + *PROP_MOTIONBLUR 0 + *PROP_CASTSHADOW 1 + *PROP_RECVSHADOW 1 + *MATERIAL_REF 0 +} +*GEOMOBJECT { + *NODE_NAME "mat0model0surf3" + *NODE_TM { + *NODE_NAME "mat0model0surf3" + *INHERIT_POS 0 0 0 + *INHERIT_ROT 0 0 0 + *INHERIT_SCL 0 0 0 + *TM_ROW0 1.0 0 0 + *TM_ROW1 0 1.0 0 + *TM_ROW2 0 0 1.0 + *TM_ROW3 0 0 0 + *TM_POS 0.000000 0.000000 0.000000 + } + *MESH { + *TIMEVALUE 0 + *MESH_NUMVERTEX 4 + *MESH_NUMFACES 2 + *COMMENT "SURFACETYPE MST_PLANAR" + *MESH_VERTEX_LIST { + *MESH_VERTEX 0 0.000000 0.000000 64.000000 + *MESH_VERTEX 1 0.000000 0.000000 0.000000 + *MESH_VERTEX 2 0.000000 128.000000 64.000000 + *MESH_VERTEX 3 0.000000 128.000000 0.000000 + } + *MESH_NORMALS { + *MESH_FACENORMAL 0 0.800000 0.000000 0.600000 + *MESH_FACENORMAL 1 0.800000 0.000000 0.600000 + *MESH_VERTEXNORMAL 0 -1.000000 0.000000 0.000000 + *MESH_VERTEXNORMAL 1 -1.000000 0.000000 0.000000 + *MESH_VERTEXNORMAL 2 -1.000000 0.000000 0.000000 + *MESH_VERTEXNORMAL 3 -1.000000 0.000000 0.000000 + } + *MESH_FACE_LIST { + *MESH_FACE 0 A: 0 B: 2 C: 1 AB: 1 BC: 1 CA: 1 *MESH_SMOOTHING 0 *MESH_MTLID 0 + *MESH_FACE 1 A: 2 B: 3 C: 1 AB: 1 BC: 1 CA: 1 *MESH_SMOOTHING 0 *MESH_MTLID 0 + } + *MESH_NUMTVERTEX 4 + *MESH_TVERTLIST { + *MESH_TVERT 0 -2.000000 2.000000 1.000000 + *MESH_TVERT 1 -2.000000 0.000000 1.000000 + *MESH_TVERT 2 2.000000 2.000000 1.000000 + *MESH_TVERT 3 2.000000 0.000000 1.000000 + } + *MESH_NUMTVFACES 2 + *MESH_TFACELIST { + *MESH_TFACE 0 0 2 1 + *MESH_TFACE 1 2 3 1 + } + } + *PROP_MOTIONBLUR 0 + *PROP_CASTSHADOW 1 + *PROP_RECVSHADOW 1 + *MATERIAL_REF 0 +} +*GEOMOBJECT { + *NODE_NAME "mat0model0surf4" + *NODE_TM { + *NODE_NAME "mat0model0surf4" + *INHERIT_POS 0 0 0 + *INHERIT_ROT 0 0 0 + *INHERIT_SCL 0 0 0 + *TM_ROW0 1.0 0 0 + *TM_ROW1 0 1.0 0 + *TM_ROW2 0 0 1.0 + *TM_ROW3 0 0 0 + *TM_POS 0.000000 0.000000 0.000000 + } + *MESH { + *TIMEVALUE 0 + *MESH_NUMVERTEX 4 + *MESH_NUMFACES 2 + *COMMENT "SURFACETYPE MST_PLANAR" + *MESH_VERTEX_LIST { + *MESH_VERTEX 0 112.000000 0.000000 0.000000 + *MESH_VERTEX 1 0.000000 0.000000 0.000000 + *MESH_VERTEX 2 64.000000 0.000000 64.000000 + *MESH_VERTEX 3 0.000000 0.000000 64.000000 + } + *MESH_NORMALS { + *MESH_FACENORMAL 0 0.800000 0.000000 0.600000 + *MESH_FACENORMAL 1 0.800000 0.000000 0.600000 + *MESH_VERTEXNORMAL 0 0.000000 -1.000000 0.000000 + *MESH_VERTEXNORMAL 1 0.000000 -1.000000 0.000000 + *MESH_VERTEXNORMAL 2 0.000000 -1.000000 0.000000 + *MESH_VERTEXNORMAL 3 0.000000 -1.000000 0.000000 + } + *MESH_FACE_LIST { + *MESH_FACE 0 A: 0 B: 2 C: 1 AB: 1 BC: 1 CA: 1 *MESH_SMOOTHING 0 *MESH_MTLID 0 + *MESH_FACE 1 A: 2 B: 3 C: 1 AB: 1 BC: 1 CA: 1 *MESH_SMOOTHING 0 *MESH_MTLID 0 + } + *MESH_NUMTVERTEX 4 + *MESH_TVERTLIST { + *MESH_TVERT 0 2.500000 0.000000 1.000000 + *MESH_TVERT 1 -1.000000 0.000000 1.000000 + *MESH_TVERT 2 1.000000 2.000000 1.000000 + *MESH_TVERT 3 -1.000000 2.000000 1.000000 + } + *MESH_NUMTVFACES 2 + *MESH_TFACELIST { + *MESH_TFACE 0 0 2 1 + *MESH_TFACE 1 2 3 1 + } + } + *PROP_MOTIONBLUR 0 + *PROP_CASTSHADOW 1 + *PROP_RECVSHADOW 1 + *MATERIAL_REF 0 +} +*GEOMOBJECT { + *NODE_NAME "mat0model0surf5" + *NODE_TM { + *NODE_NAME "mat0model0surf5" + *INHERIT_POS 0 0 0 + *INHERIT_ROT 0 0 0 + *INHERIT_SCL 0 0 0 + *TM_ROW0 1.0 0 0 + *TM_ROW1 0 1.0 0 + *TM_ROW2 0 0 1.0 + *TM_ROW3 0 0 0 + *TM_POS 0.000000 0.000000 0.000000 + } + *MESH { + *TIMEVALUE 0 + *MESH_NUMVERTEX 4 + *MESH_NUMFACES 2 + *COMMENT "SURFACETYPE MST_PLANAR" + *MESH_VERTEX_LIST { + *MESH_VERTEX 0 0.000000 128.000000 0.000000 + *MESH_VERTEX 1 0.000000 0.000000 0.000000 + *MESH_VERTEX 2 112.000000 128.000000 0.000000 + *MESH_VERTEX 3 112.000000 0.000000 0.000000 + } + *MESH_NORMALS { + *MESH_FACENORMAL 0 0.800000 0.000000 0.600000 + *MESH_FACENORMAL 1 0.800000 0.000000 0.600000 + *MESH_VERTEXNORMAL 0 0.000000 0.000000 -1.000000 + *MESH_VERTEXNORMAL 1 0.000000 0.000000 -1.000000 + *MESH_VERTEXNORMAL 2 0.000000 0.000000 -1.000000 + *MESH_VERTEXNORMAL 3 0.000000 0.000000 -1.000000 + } + *MESH_FACE_LIST { + *MESH_FACE 0 A: 0 B: 2 C: 1 AB: 1 BC: 1 CA: 1 *MESH_SMOOTHING 0 *MESH_MTLID 0 + *MESH_FACE 1 A: 2 B: 3 C: 1 AB: 1 BC: 1 CA: 1 *MESH_SMOOTHING 0 *MESH_MTLID 0 + } + *MESH_NUMTVERTEX 4 + *MESH_TVERTLIST { + *MESH_TVERT 0 -1.000000 3.000000 1.000000 + *MESH_TVERT 1 -1.000000 -1.000000 1.000000 + *MESH_TVERT 2 2.500000 3.000000 1.000000 + *MESH_TVERT 3 2.500000 -1.000000 1.000000 + } + *MESH_NUMTVFACES 2 + *MESH_TFACELIST { + *MESH_TFACE 0 0 2 1 + *MESH_TFACE 1 2 3 1 + } + } + *PROP_MOTIONBLUR 0 + *PROP_CASTSHADOW 1 + *PROP_RECVSHADOW 1 + *MATERIAL_REF 0 +} diff --git a/regression_tests/q3map2/model_clipping_45_degrees/scripts/radiant_regression_tests.shader b/regression_tests/q3map2/model_clipping_45_degrees/scripts/radiant_regression_tests.shader new file mode 100644 index 0000000..a2c31ed --- /dev/null +++ b/regression_tests/q3map2/model_clipping_45_degrees/scripts/radiant_regression_tests.shader @@ -0,0 +1,12 @@ +textures/radiant_regression_tests/tile_model +{ + q3map_clipModel + q3map_forceMeta + { + map $lightmap + } + { + map textures/radiant_regression_tests/tile_model.tga + blendFunc filter + } +} diff --git a/regression_tests/q3map2/model_clipping_45_degrees/textures/radiant_regression_tests/bigtile.tga b/regression_tests/q3map2/model_clipping_45_degrees/textures/radiant_regression_tests/bigtile.tga new file mode 100644 index 0000000..b4adef0 Binary files /dev/null and b/regression_tests/q3map2/model_clipping_45_degrees/textures/radiant_regression_tests/bigtile.tga differ diff --git a/regression_tests/q3map2/model_clipping_45_degrees/textures/radiant_regression_tests/tile_model.tga b/regression_tests/q3map2/model_clipping_45_degrees/textures/radiant_regression_tests/tile_model.tga new file mode 100644 index 0000000..fbc36a1 Binary files /dev/null and b/regression_tests/q3map2/model_clipping_45_degrees/textures/radiant_regression_tests/tile_model.tga differ