Skip to content

Romlist

Rena Kunisaki edited this page May 19, 2020 · 10 revisions

Each map has a [mapname].romlist.zlb file in the root of the disc. This file is a ZLB-compressed list of objects on the map.

Entries in this list are variable length, following this format:

Offset Type Name Description
000000 s16 type Object type
000002 u8 size Entry length in (4-byte) words
000003 ? ?
000008 vec3f position Object position
000014 int ? some type of ID or offset
000018 varies - Parameters depending on object type

The object type is translated:

  • If it's positive, the corresponding entry in OBJINDEX.bin (which is simply an array of s16) is used.
  • Otherwise, the absolute value is used.

The resulting ID is an index into OBJECTS.tab, which gives the offset in OBJECTS.bin of the ObjectFileStruct.

(Why are these in the disc root, instead of the map directory? No idea.)

Clone this wiki locally