FF8/Engine/WorldMapCamera

From Final Fantasy Inside
< FF8
Revision as of 18:59, 16 May 2015 by my_wiki>MaKiPL (Camera build)

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)

Camera OPCODE