Difference between revisions of "FF8/Engine/WorldMapCamera"
Jump to navigation
Jump to search
Qhimm>MaKiPL (Created page with "==Camera detail== Camera on world map is set to look-at target. Look at target is Squall, that is read from chara.one in world.fs file. As the camera is look-at, then it wor...") |
Qhimm>MaKiPL |
||
Line 6: | Line 6: | ||
===Camera build=== | ===Camera build=== | ||
Remember! Values are '''little-endian'''! | Remember! Values are '''little-endian'''! | ||
Physical camera location/translation: | |||
{| border="1" cellspacing="1" cellpadding="3" align="center" style="border: 1px solid black; border-collapse: collapse;" | {| border="1" cellspacing="1" cellpadding="3" align="center" style="border: 1px solid black; border-collapse: collapse;" | ||
! style="background:rgb(204,204,204)" | Offset | ! style="background:rgb(204,204,204)" | Offset | ||
Line 55: | Line 57: | ||
| RESET CAMERA | | RESET CAMERA | ||
|} | |} | ||
Others: | |||
{| border="1" cellspacing="1" cellpadding="3" align="center" style="border: 1px solid black; border-collapse: collapse;" | |||
! style="background:rgb(204,204,204)" | Static memory address | |||
! style="background:rgb(204,204,204)" | Default or medium value | |||
! style="background:rgb(204,204,204)" | Type of value | |||
! style="background:rgb(204,204,204)" | Description | |||
|- | |||
| 0x01CA92E4 | |||
| 1024/640 | |||
| uint16 | |||
| Logical camera zoom - Takes physical camera and applies logical zoom* | |||
|} | |||
Logical zoom, for FF8 they're fixed values: | |||
*640 - when camera mode is set to far | |||
*1024 - when camera mode is set to near | |||
These zoom is operated, when you in-game set the camera near-far preferences. (F default in Steam release) | |||
===Camera OPCODE=== | ===Camera OPCODE=== |
Revision as of 17:59, 16 May 2015
Camera detail
Camera on world map is set to look-at target. Look at target is Squall, that is read from chara.one in world.fs file.
As the camera is look-at, then it works and moves on "logic" sphere. Memory in FF8 is static. Camera memory starts soon after last face indice layout is hold. Is after 3-4 unknown NULL bytes.
Camera build
Remember! Values are little-endian!
Physical camera location/translation:
Offset | Static memory address | Default or medium value | Type of value | Description |
---|---|---|---|---|
0 | 0x0203ECF8 | 0 | short (2 bytes signed) | Camera Y axis translation. Camera.Location.Y = (Squall.Location + THIS); |
2 | 0x0203ECFA | AB FE | short (2 bytes signed) | Camera X axis translation. Camera.Location.X = (Squall.Location.X + THIS); |
4 | 0x0203ECFC | 00 E4 / 00 E0 | short (2 bytes signed) | Distance between camera and look-at-target (physical) |
8 | 0x0203ED00 | ~FF 92 | uint16 | Operates camera tangent Y axis position. This is: hacking this to bird-fly view or like in RPG |
10 | 0x0203ED02 | ranges from 00 00 to 0F FF | 12 bit | Operates camera tangent Z axis position. This is: the same as rotating camera in-game |
12 | 0x0203ED04 | 00 00 (FF 0F max) | 12 bit | Camera root rotation. For up-side down example. 9-12th bit is irrelevant. (1111 1111 xxxx 1111) |
40 | 0x0203ED2C | 0 | bool | RESET CAMERA |
Others:
Static memory address | Default or medium value | Type of value | Description |
---|---|---|---|
0x01CA92E4 | 1024/640 | uint16 | Logical camera zoom - Takes physical camera and applies logical zoom* |
Logical zoom, for FF8 they're fixed values:
- 640 - when camera mode is set to far
- 1024 - when camera mode is set to near
These zoom is operated, when you in-game set the camera near-far preferences. (F default in Steam release)