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

From Crash Bandicoot Hacking Wiki
Jump to navigation Jump to search
m (Property 0x4B: vectors/paths)
Line 2: Line 2:
  
 
=== Property 0x4B: vectors/paths ===
 
=== Property 0x4B: vectors/paths ===
<u>CCCC</u> CCCC x <u>[XXXX</u> <u>ZZZZ</u> <u>YYYY]</u>
+
<u>CCCCCCCC</u> + CCCCCCCC x <u>[XXXX</u> <u>ZZZZ</u> <u>YYYY]</u>
* CCCC = count of path points - 1
+
* CCCCCCCC = count of path points - 1
 
* XXXX = X-coordinate
 
* XXXX = X-coordinate
 
* ZZZZ = Z-coordinate
 
* ZZZZ = Z-coordinate
Line 45: Line 45:
 
'''Type 4:''' path with multiple endings/beginnings '''(CCCC !== pathcount)''' 
 
'''Type 4:''' path with multiple endings/beginnings '''(CCCC !== pathcount)''' 
  
<u>EEEEBBBB</u> <u>CCCC0000</u>   EEEE x <u>[01ZZPP**]</u>   BBBB x <u>[02ZZPP**]</u> 
+
<u>EEEEBBBB</u> <u>CCCC0000</u> + EEEE x <u>[01ZZPP**]</u> + BBBB x <u>[02ZZPP**]</u> 
 
* EEEE = count of endings
 
* EEEE = count of endings
 
* BBBB = count of beginnings
 
* BBBB = count of beginnings
 
* CCCC = count of path points - 1
 
* CCCC = count of path points - 1
 
[[Category:Crash 2/3]]
 
[[Category:Crash 2/3]]

Revision as of 16:27, 12 December 2018

 First camera item

Property 0x4B: vectors/paths

CCCCCCCC + CCCCCCCC x [XXXX ZZZZ YYYY]

  • CCCCCCCC = count of path points - 1
  • 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 the current path is linked with. 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) ?

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