Difference between revisions of "Camera Properties Crash 2/3"

From Crash Bandicoot Hacking Wiki
Jump to navigation Jump to search
(First camera item)
m (Property 0x29: cameramode)
Line 2: Line 2:
  
 
=== Property 0x29: cameramode ===
 
=== Property 0x29: cameramode ===
00 =  3d views (normal route/game over screen/titles)
+
<u>00000001</u> <u>000000MM</u>
  
02 limited input? (platform routes/cutscenes)
+
MM 01; 3d views (normal route/game over screen/titles)
  
03 = sideviews
+
MM = 02; limited input? (platform routes/cutscenes)
  
04 = all round view (warp rooms)
+
MM = 03; sideviews
  
08 = limited input? (transitional space/no man's land )
+
MM =  04; all round view (warp rooms)
 +
 
 +
MM =  08; limited input? (transitional space/no man's land )
  
 
=== Property 0x4B: vectors/path ===
 
=== Property 0x4B: vectors/path ===

Revision as of 18:03, 12 December 2018

 First camera item

Property 0x29: cameramode

00000001 000000MM

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 )

Property 0x4B: vectors/path

CCCCCCCC + CCCCCCCC x [XXXX ZZZZ YYYY]

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

Property 0xC9: ?

T.b.d. Might be related to bonus or transportation platforms.

Property 0x103: SLST

Contains the EID of the accompanying SLST entry

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

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 (CCCC == pathcount) 

CCCC0001 02ZZPP**

  • CCCC = count of path points - 1

Type 4: path with multiple endings/beginnings (CCCC !== pathcount) 

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

  • EEEE = count of endings
  • BBBB = count of beginnings
  • CCCC = count of path points - 1