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 0x109: path links: Minor corrections)
Line 46: Line 46:
  
 
<u>00000001</u> <u>0000CCCC</u> <u>01ZZPP**</u> <u>02ZZPP**</u>
 
<u>00000001</u> <u>0000CCCC</u> <u>01ZZPP**</u> <u>02ZZPP**</u>
* CCCC = count of path points - 1
+
* CCCC = count of path points - 1 (end is at)
 
'''Type 2:''' path with single beginning '''(MM second word == 01)''' 
 
'''Type 2:''' path with single beginning '''(MM second word == 01)''' 
  
Line 53: Line 53:
 
'''Type 3 and 4: (first word !== 1)'''
 
'''Type 3 and 4: (first word !== 1)'''
  
'''Type 3:''' path with single end '''(CCCC == pathcount)''' 
+
'''Type 3:''' path with single end '''(MM second word == 02)''' 
  
 
<u>CCCC0001</u> <u>02ZZPP**</u>
 
<u>CCCC0001</u> <u>02ZZPP**</u>
* CCCC = count of path points - 1
+
* CCCC = count of path points - 1 (end is at)
'''Type 4:''' path with multiple endings/beginnings '''(CCCC !== pathcount)''' 
+
'''Type 4:''' path with multiple endings/beginnings '''(MM second word !== 02)''' 
  
<u>EEEEBBBB</u> <u>CCCC0000</u> + EEEE x <u>[01ZZPP**]</u> + BBBB x <u>[02ZZPP**]</u> 
+
<u>EEEEBBBB</u> <u>CCCC0000</u> + BBBB x <u>[01ZZPP**]</u> + EEEE 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 (ends are at)
  
 
=== Property 0x130: camera's field of view ===
 
=== Property 0x130: camera's field of view ===

Revision as of 15:39, 24 December 2018

 First camera item

Property 0x29: cameramode

00000001 000000MM

  • 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 )

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 (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 0x16D: camera path related

T.b.d.

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

Property 0x1AA: camera path related

T.b.d.