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

From Crash Bandicoot Hacking Wiki
Jump to navigation Jump to search
m (21 revisions imported: Initial import from Wikia)
 
(15 intermediate revisions by one other user not shown)
Line 1: Line 1:
 
== First camera item ==
 
== First camera item ==
  
=== Property 0x4B: vectors/paths ===
+
=== Property 0x29: cameramode ===
<u>CCCC</u> CCCC x <u>[XXXX</u> <u>ZZZZ</u> <u>YYYY]</u>
+
<u>00000001</u> <u>000000MM</u>
* CCCC = count of path points - 1
+
* 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 ===
 +
<u>CCCCCCCC</u> + CCCCCCCC x <u>[XXXX</u> <u>ZZZZ</u> <u>YYYY]</u>
 +
* CCCCCCCC = count of path points
 
* XXXX = X-coordinate
 
* XXXX = X-coordinate
 
* ZZZZ = Z-coordinate
 
* ZZZZ = Z-coordinate
Line 9: Line 21:
  
 
=== Property 0xC9: ? ===
 
=== Property 0xC9: ? ===
T.b.d. Might be related to bonus or transportation platforms.
+
T.b.d. Might be related to bonus or transportation platforms
  
 
=== Property 0x103: SLST ===
 
=== Property 0x103: SLST ===
Line 16: Line 28:
 
=== Property 0x109: path links ===
 
=== 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.
+
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.  
 
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.  
Line 26: Line 38:
 
* ZZ = (neighbouring) zone index where this path begins if (MM=01) / ends if (MM=02)
 
* 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)
 
* PP = (neighbouring) zone's path index where this path begins if (MM=01) / ends if (MM=02)
* <nowiki>**</nowiki> = unknown; (neighbouring) zone's path's point index where this path begins if (MM=01) / ends if (MM=02) ?
+
* <nowiki>**</nowiki> = 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 and 2: (first word == 1)'''
  
Line 32: 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 39: 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 ===
 +
<u>00000001</u> <u>FFFFFFFF</u>
 +
* 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 ===
 +
<u>00000001</u> <u>NNNNNNNN</u>
 +
* NNNNNNNN = camera path number in the zone, the first one being 0
 
[[Category:Crash 2/3]]
 
[[Category:Crash 2/3]]
 +
 +
=== Property 0x174: camera path item number ===
 +
<u>00000001</u> <u>NNNNNNNN</u>
 +
* NNNNNNNN = camera path item number in the zone; is either 0, 1, 2
 +
 +
=== Property 0x176: camera path number of links ===
 +
<u>00000001</u> <u>NNNNNNNN</u> <u>EEEEBBBB</u>
 +
* 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.
 +
 +
== 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:
 +
 +
<u>00000003</u> <u>FFFF****</u> 
 +
* 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)'''
 +
 +
<u>00000003</u> <u>0000000X</u>  <u>AABBGGRR</u><sup>(top)</sup><u> AABBGGRR</u><sup>(bottom)</sup>
 +
* 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)'''
 +
 +
<u>00000003</u> <u>0000SSSS</u> <u>0000000X</u>  <u>AABBGGRR</u><sup>(top 1)</sup><u>AABBGGRR</u><sup>(bottom 1)</sup> <u>0000000X</u>  <u>AABBGGRR</u><sup>(top 2)</sup> <u>AABBGGRR</u><sup>(bottom 2)</sup>
 +
* SSSS = index of pathpoint from where 2nd color set starts to be applied
 +
 +
'''Type 3: '''three color sets '''(flag !== 0)'''
 +
 +
<u>00000003</u> <u>EEEESSSS</u> <u>0000000X</u> <u>AABBGGRR</u><sup>(top 1) </sup><u>AABBGGRR</u><sup>(bottom 1)</sup> <u>0000000X</u>  <u>AABBGGRR</u><sup>(top 2)</sup><u> 0000000X</u> <u>AABBGGRR</u><sup>(bottom 2)</sup> <u>0000000X</u>  <u>AABBGGRR</u><sup>(top 3)</sup><u> AABBGGRR</u><sup>(bottom 3)</sup>
 +
* 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

Latest revision as of 17:44, 27 April 2019

 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.

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