
This file format needs more research The BSP tables at the end need research

The PATH format is used to store an area's Navigation Mesh in the Metroid Prime series.
Like navigation meshes in many other game engines (Unreal Engine 2, Source, etc...), the PATH format represents an ngon mesh
partitioned into a BSP tree for rapid queries.
Please Note: PATH meshes use the local coordinate system of the MREA.
One must multiply PATH coordinates as a columnvector with the matrix at offset 0x8 in the MREA to get world coordinates.
Format
Data Type

Description

Notes

long

Version

Always 0x4 in GM8E000 and Trilogy release.

long

Vertex count


Vertex Entry

Vertex Table


long

Edge count


Edge Entry

Edge Table


long

Polygon count


Polygon Entry

Polygon Table


Unknown

BSP Tables


Vertex Entry
Offset

Length

Data Type

Description

Notes

0x0

12

float3

Vertex Position


0xC

12

float3

Vertex Normal


Edge Entry
Offset

Length

Data Type

Description

Notes

0x0

4

long

Polygon A index

References into Polygon Table

0x4

4

long

Polygon B index

References into Polygon Table

0x8

4

float

Edge Length


0xC

4

float

Unknown Value

Speculation: Cost of edge traversal (i.e. edge steepness). Characters may have a set threshold when selecting edges to traverse.

Polygon Entry
Offset

Length

Data Type

Description

Notes

0x0

4

long

Vertex Count

Specifies range of vertices

0x4

4

long

Vertex Start Index

References into Vertex Table

0x8

4

long

Edge Count

Specifies range of edges

0xC

4

long

Edge Start Index

References into Edge Table

0x10

2

short

Unknown metadata

Range [1,7]

0x12

2

short

Unknown metadata

Possible Values (1,2,4)

0x14

4

float

Polygon area


0x18

12

float3

Polygon normal


0x24

4

long

Selfindex

References polygon's own index in table

0x28

12

float3

Polygon center position


0x34

12

float3

AABBmin


0x40

12

float3

AABBmax


0x4C

4

long

Selfindex

A duplicate of the 0x24 value for some reason
