Camera Properties Crash 2/3

* MM = mode

MM = 01; 3d views (normal route/game over screen/titles)

MM = 02; limited input? (platform routes/cutscenes)

MM = 03; sideviews
MM = 04; all round view (warp rooms)

MM = 08; limited input? (transitional space/no man's land )

* CCCCCCCC = count of path points
* XXXX = X-coordinate
* ZZZZ = Z-coordinate
* YYYY = Y-coordinate

### Property 0x109: path links

This property contains information about which (neighbouring) paths and zones are linked with the current path. It consists of 4-byte words, with the 'path beginning/ending' as the main building block.

The property can have different lengths and formats depending on the type of situation. A path can begin where another one ends/end where another begins, be the very end/beginning of the level or converge from/split up in multiple paths.

A path beginning/ending contains the following data:

MMZZPP\*\*

* MM = begin/end flag, 01 is for beginnings, 02 for endings
* ZZ = (neighbouring) zone index where this path begins if (MM=01) / ends if (MM=02)
* PP = (neighbouring) zone's path index where this path begins if (MM=01) / ends if (MM=02)
* \*\* = unknown; (neighbouring) zone's path's point index where this path begins if (MM=01) / ends if (MM=02)

The indices refer to the zones in the order as they come in the zone's header. The first zone is always a reference to the itself (index 0x00), i.e. the zone where the header is in.

**Type 1 and 2: (first word == 1)**

**Type 1:** path with single end and beginning **(MM second word == 00)**

00000001 0000CCCC 01ZZPP\*\* 02ZZPP\*\*

* CCCC = count of path points - 1 (end is at)

**Type 2:** path with single beginning **(MM second word == 01)**

00000001 01ZZPP\*\*

**Type 3 and 4: (first word !== 1)**

**Type 3:** path with single end **(MM second word == 02)**

CCCC0001 02ZZPP\*\*

* CCCC = count of path points - 1 (end is at)

**Type 4:** path with multiple endings/beginnings **(MM second word !== 02)**

EEEEBBBB CCCC0000 + BBBB x [01ZZPP\*\*] + EEEE x [02ZZPP\*\*]

* EEEE = count of endings
* BBBB = count of beginnings
* CCCC = count of path points - 1 (ends are at)

### Property 0x130: camera's field of view

00000001 FFFFFFFF

* FFFFFFFF = field of view; the default value is 0x120

### Property 0x162: ?

T.b.d. Might be an ID, value seems to be increase throughout the level

### Property 0x173: camera path number in zone

00000001 NNNNNNNN

* NNNNNNNN = camera path number in the zone, the first one being 0

### Property 0x174: camera path item number

00000001 NNNNNNNN

* NNNNNNNN = camera path item number in the zone; is either 0, 1, 2

### Property 0x176: camera path number of links

00000001 NNNNNNNN EEEEBBBB

* CCCCCCCC = count of path points - 1
* EEEE = number of linked paths at end
* BBBB = number of linked paths at beginning

## Second camera item

### Property 0x1FA: camera path backgrounds

This property contains the ABGR channels (Alpha, Blue, Green, Red respectively) to form the background color in the camera path. Camera paths can have two The base format is:

00000003 FFFF\*\*\*\*

* FFFF = flag, if set to 0, there is only one (set of) background color(s)

**Type 1:** single color set **(flag == 0) and (X < 4)**

00000003 0000000X AABBGGRR(top) AABBGGRR(bottom)

* RR = value of red channel
* GG = value of green channel
* BB = value of blue channel
* AA = value of alpha channel
* X = background division, if set to 1, only the top color is used to fill the entire background, if set to 2, both the colors are used with the background split in a top and bottom color

**Type 2:** two color sets **(flag == 0) and (X >= 4)**

00000003 0000SSSS 0000000X AABBGGRR(top 1)AABBGGRR(bottom 1) 0000000X AABBGGRR(top 2) AABBGGRR(bottom 2)

* SSSS = index of pathpoint from where 2nd color set starts to be applied

**Type 3:** three color sets **(flag !== 0)**

00000003 EEEESSSS 0000000X AABBGGRR(top 1) AABBGGRR(bottom 1) 0000000X AABBGGRR(top 2) 0000000X AABBGGRR(bottom 2) 0000000X AABBGGRR(top 3) AABBGGRR(bottom 3)

* EEEE = index of pathpoint from where 3rd color set starts to be applied
* SSSS = index of pathpoint from where 2nd color set starts to be applied