struct addScr { u32 params[6]; }; struct vertexCoords { s16 X; s16 Z; s16 Y; u16 dummy; }; struct poly { u8 ulX; u8 ulY; u8 urX; u8 urY; u8 llX; u8 llY; u8 lrX; u8 lrY; }; struct p2dungObj { u32 vertexDataOffset; u32 vertexCnt; u32 polyDataOffset; u32 polyCnt; u32 gpuCmdOffset; u64 gpuCmdCnt; vertexCoords vertexData [vertexCnt] @ vertexDataOffset; poly polyData [polyCnt] @ polyDataOffset; u32 gpuData @ gpuCmdOffset; }; struct p2dungObjectsInfo { u32 addPtr; u32 addCtr; u32 dummy; u32 objCtr; p2dungObj objects[objCtr] @ 0x10; addScr add[objCtr] @ addPtr; }; p2dungObjectsInfo p2dObjects @ 0x00;