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

From Crash Bandicoot Hacking Wiki
Jump to navigation Jump to search
(Layout)
(Layout)
Line 17: Line 17:
 
'''Type 1:''' path with single end and beginning '''(MM second word == 00)''' 
 
'''Type 1:''' path with single end and beginning '''(MM second word == 00)''' 
  
00000001 0000CCCC 01ZZPP** 02ZZPP**
+
<u>00000001</u> <u>0000CCCC</u> <u>01ZZPP**</u> <u>02ZZPP**</u>
* CCCC = count of path points
+
* CCCC = count of path points - 1
 
'''Type 2:''' path with single beginning '''(MM second word == 01)''' 
 
'''Type 2:''' path with single beginning '''(MM second word == 01)''' 
  
00000001 01ZZPP**
+
<u>00000001</u> <u>01ZZPP**</u>
  
 
'''Type 3 and 4: (first word !== 1)'''
 
'''Type 3 and 4: (first word !== 1)'''
Line 27: Line 27:
 
'''Type 3:''' path with single end '''(CCCC == pathcount)''' 
 
'''Type 3:''' path with single end '''(CCCC == pathcount)''' 
  
CCCC0001 02ZZPP**
+
<u>CCCC0001</u> <u>02ZZPP**</u>
* CCCC = count of path points
+
* CCCC = count of path points - 1
 
'''Type 4:''' path with multiple endings/beginnings '''(CCCC !== pathcount)''' 
 
'''Type 4:''' path with multiple endings/beginnings '''(CCCC !== pathcount)''' 
  
EEEEBBBB CCCC0000 
+
EEEEBBBB <u>CCCC0000</u>  EEEE x <u>[01ZZPP**]</u>  BBBB x <u>[02ZZPP**]</u> 
 
 
followed by EEEE times: 01ZZPP** 
 
 
 
followed by BBBB times: 02ZZPP**
 
 
* EEEE = count of endings
 
* EEEE = count of endings
 
* BBBB = count of beginnings
 
* BBBB = count of beginnings
* CCCC = count of path points
+
* CCCC = count of path points - 1
 
[[Category:Crash 2/3]]
 
[[Category:Crash 2/3]]

Revision as of 16:10, 12 December 2018

 First camera item

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 muliple paths.

Path beginning/ending

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