io_import_rbsp icon indicating copy to clipboard operation
io_import_rbsp copied to clipboard

Show collidable geo from Tricoll

Open snake-biscuits opened this issue 1 year ago • 5 comments

We can get interpret TricollTriangles now! You can filter for TextureData to find invisible collision objects (nodraw tricoll, playerclip brushes etc.)

>>> import bsp_tool
>>> bsp = bsp_tool.load_bsp("E:/Mod/Titanfall2/maps/sp_training.bsp")
>>> bsp.TRICOLL_HEADERS
<BspLump(3264 TricollHeader) at 0x000001A9157D7DC0>
>>> [i for i, h in enumerate(bsp.TRICOLL_HEADERS) if h.scale != 0][0]
1
>>> bsp.TRICOLL_HEADERS[0]
TricollHeader(flags=0, texture_flags=<MeshFlags.VERTEX_UNLIT_TS|VERTEX_UNLIT|VERTEX_LIT_BUMP|128: 1664>,
              texture_data=1, num_vertices=4, num_triangles=2, num_bevel_indices=0,
              first_vertex=1, first_triangle=0, first_node=0, first_bevel_index=0,
              origin=vec3(0.0, 0.0, 0.0), scale=0.0)
>>> bsp.TRICOLL_HEADERS[1]
TricollHeader(flags=0, texture_flags=<MeshFlags.VERTEX_UNLIT_TS|VERTEX_UNLIT|VERTEX_LIT_BUMP|128: 1664>,
              texture_data=1, num_vertices=10, num_triangles=10, num_bevel_indices=0,
              first_vertex=5, first_triangle=2, first_node=0, first_bevel_index=0,
              origin=vec3(91264.0, 9216.0, 22144.0), scale=16.0)
>>> bsp.TEXTURE_DATA_STRING_DATA[bsp.TEXTURE_DATA[1].name_index]
'TOOLS\\TOOLSNODRAW'

snake-biscuits avatar May 23 '23 07:05 snake-biscuits