Tutorial: Adding custom maps to the wiki

From Final Fantasy Hacktics Wiki
Revision as of 12:44, 1 August 2021 by Xifanie (talk | contribs)
Jump to navigation Jump to search

Choose a map_identifier, for example: FFTHacker_Alternate_Sweegy_Woods

Take the following screenshots, either with Ganesha DX (WiP) or with the Map Viewer.

Press the following keys to adjust the map viewer:

  • X : Makes the axis lines disappear
  • Shift+b : Turns the background magenta

PS: The following filenames must use underscores _ instead of spaces!

Azimuth Altitude Magnify Field of View Suffix Example
90° 100% Isometric _bev.png FFTHacker_Alternate_Sweegy_Woods_bev.png
45.0° 30° 100% Isometric _45.png FFTHacker_Alternate_Sweegy_Woods_45.png
135.0° 30° 100% Isometric _135.png FFTHacker_Alternate_Sweegy_Woods_135.png
225.0° 30° 100% Isometric _225.png FFTHacker_Alternate_Sweegy_Woods_225.png
315.0° 30° 100% Isometric _315.png FFTHacker_Alternate_Sweegy_Woods_315.png

Edit the screenshots with Photoshop/GraphicsGale/Affinity Photo or whatever you prefer in order to set Magenta to a transparent color and to crop the images to their smallest sizes.

Upload all of these files in one go with Special:BatchUpload

Create a new page with the map_identifier as the title with the following contents:

{{ #printmap: map_identifier }} [[Category:Maps]] [[Category:Custom Maps]]

For example:

{{ #printmap: FFTHacker_Alternate_Sweegy_Woods }} [[Category:Maps]] [[Category:Custom Maps]]

Preview to make sure everything is working, then save!

Adding Terrain Data

You must know which mesh file you want to extract the information from. Normally that will be the first map state mesh.

There's no real simple way to determine which file it is, other than that it's not a texture file (i.e. it will be under 128kb) and will be saved by Ganesha.

The first map state's mesh file's ISO sector is located at 0x0000001C and is 4 bytes long... you might be able to cross-reference with the vanilla map list here matching with the Sector Start: https://ffhacktics.com/wiki/MAP/

Open up the Mesh file in a hex editor and at 0x00000068 you should find the offset for Terrain Data. It is stored in Little-Endian so make sure to byte-flip.

GoTo that offset, and copy 4098 (0x1002) bytes at that position. The 2 extra bytes are the width and length of the map.

Paste the result as the second argument of the #printmap function as below. There can be spaces between each byte or none, either way it will work.

Note: I replaced most bytes with "..." to not fill up your screen

{{ #printmap: FFTHacker_Alternate_Sweegy_Woods | 0A 09 00 00 01 ... 01 00 }} [[Category:Maps]] [[Category:Custom Maps]]