FFT Map Viewer: Difference between revisions
Created page with "Background A few years ago, a user named Gomtuu over at FF Hacktics created a Python/OpenGL mapviewer and released the source. I took the source and modified it further to tag e..." |
Formatting work. |
||
| Line 1: | Line 1: | ||
Background | == Background == | ||
A few years ago, a user named Gomtuu over at FF Hacktics created a Python/OpenGL mapviewer and released the source. I took the source and modified it further to tag enemy starting positions, party starting positions, move-find item/trap positions, and Deep Dungeon exit panels win various colors. I believe there has not been a new version of that code since I first did my hack, though as of March 2012 I have not actually verified this. If there's a newer version, we should be able to port my hacks fairly easily, as I can diff my mods versus those of the original version I manipulated. | A few years ago, a user named Gomtuu over at FF Hacktics created a Python/OpenGL mapviewer and released the source. I took the source and modified it further to tag enemy starting positions, party starting positions, move-find item/trap positions, and Deep Dungeon exit panels win various colors. I believe there has not been a new version of that code since I first did my hack, though as of March 2012 I have not actually verified this. If there's a newer version, we should be able to port my hacks fairly easily, as I can diff my mods versus those of the original version I manipulated. | ||
Installation | == Installation == | ||
Because I needed to work from source, the files are available as uncompiled PY. They can't be run by users who don't have Python installed. Python is open-source and easy to install, though it's a little confusing to get all the pieces in place. To run this program, you need all of the following in compatible versions (at the time of this writing, I did them all for Python 2.7). | Because I needed to work from source, the files are available as uncompiled PY. They can't be run by users who don't have Python installed. Python is open-source and easy to install, though it's a little confusing to get all the pieces in place. To run this program, you need all of the following in compatible versions (at the time of this writing, I did them all for Python 2.7). | ||
# Python | |||
# Python Setuptools | |||
# Setuptools will include easy_install, which can be used to install the following packages: | |||
## PIL | |||
## PYOpenGL | |||
## NumPY | |||
# wxPython | |||
Loading Maps | == Loading Maps == | ||
After installing all of these things, you should be able to run map2gl.py from the scripts. You will need a copy of the FFT PSX CD, preferably ripped to a hard drive for speed. map2gl will present to you a dialog to open a GNS file, which will be in the MAP folder of the PSX disc. The best list of map ID numbers to map locations is on FFH, as we don't need it on CoN (we have it in the DB, but don't show it to users per se, so it's just easier to get it from FFH): http://ffhacktics.com/maps.php | After installing all of these things, you should be able to run map2gl.py from the scripts. You will need a copy of the FFT PSX CD, preferably ripped to a hard drive for speed. map2gl will present to you a dialog to open a GNS file, which will be in the MAP folder of the PSX disc. The best list of map ID numbers to map locations is on FFH, as we don't need it on CoN (we have it in the DB, but don't show it to users per se, so it's just easier to get it from FFH): http://ffhacktics.com/maps.php | ||
Using the Viewer | == Using the Viewer == | ||
Taken directly from Gomtuu's readme, so it might not make total sense. | Taken directly from Gomtuu's readme, so it might not make total sense. | ||
=== Camera Controls === | |||
k: Decrease camera's altitude angle by 2 degrees | k: Decrease camera's altitude angle by 2 degrees | ||
i: Increase camera's altitude angle by 2 degrees | i: Increase camera's altitude angle by 2 degrees | ||
K: Decrease camera's altitude angle to nearest snap | K: Decrease camera's altitude angle to nearest snap (snap points at 0, 30, 45, 60, and 90 degress) | ||
I: Increase camera's altitude angle to nearest snap (snap points at 0, 30, 45, 60, and 90 degress) | |||
I: Increase camera's altitude angle to nearest snap | |||
j: Stop camera's rotation, then decrease camera's azimuth angle by 2 degrees | j: Stop camera's rotation, then decrease camera's azimuth angle by 2 degrees | ||
l: Stop camera's rotation, then increase camera's azimuth angle by 2 degrees | l: Stop camera's rotation, then increase camera's azimuth angle by 2 degrees | ||
J: Stop camera's rotation, then decrease camera's azimuth angle to nearest snap | J: Stop camera's rotation, then decrease camera's azimuth angle to nearest snap (snap points at multiples of 45 degrees) | ||
L: Stop camera's rotation, then increase camera's azimuth angle to nearest snap (snap points at multiple of 45 degress) | |||
L: Stop camera's rotation, then increase camera's azimuth angle to nearest snap | |||
,: Decrease the speed of the camera's rotation around the Y axis | ,: Decrease the speed of the camera's rotation around the Y axis | ||
.: Increase the speed of the camera's rotation around the Y axis | .: Increase the speed of the camera's rotation around the Y axis | ||
0: (zero): Stop camera rotation, | 0: (zero): Stop camera rotation, then set camera's altitude angle to 0 and azimuth angle to 0. | ||
-: Dolly the camera farther away from the map | -: Dolly the camera farther away from the map | ||
=: Dolly the camera closer to the map | =: Dolly the camera closer to the map | ||
| Line 52: | Line 47: | ||
=== Other Controls === | |||
[: Select previous map | [: Select previous map | ||
| Line 59: | Line 53: | ||
{: Select previous weather condition | {: Select previous weather condition | ||
}: Select next weather condition | }: Select next weather condition | ||
s: Toggle whether the black polygons around the edges of the map | s: Toggle whether the black polygons around the edges of the map (which I call "skirt" polygons) are displayed | ||
x: Toggle display of axes (X=red, Y=green, Z=blue) | x: Toggle display of axes (X=red, Y=green, Z=blue) | ||
g: Toggle between the map's natural light and full ambient light | g: Toggle between the map's natural light and full ambient light (useful for Deep Dungeon maps) | ||
T: Toggle display of texture | T: Toggle display of texture | ||
c: Toggle "cutaway" mode | c: Toggle "cutaway" mode (avoids drawing certain obstructed or obstructing polygons) | ||
t: Toggle terrain overlay mode | t: Toggle terrain overlay mode | ||
B: Toggle between the map's natural background and magenta background | B: Toggle between the map's natural background and magenta background | ||
a: Toggle mesh animation | a: Toggle mesh animation | ||
Revision as of 18:23, 5 March 2012
Background
A few years ago, a user named Gomtuu over at FF Hacktics created a Python/OpenGL mapviewer and released the source. I took the source and modified it further to tag enemy starting positions, party starting positions, move-find item/trap positions, and Deep Dungeon exit panels win various colors. I believe there has not been a new version of that code since I first did my hack, though as of March 2012 I have not actually verified this. If there's a newer version, we should be able to port my hacks fairly easily, as I can diff my mods versus those of the original version I manipulated.
Installation
Because I needed to work from source, the files are available as uncompiled PY. They can't be run by users who don't have Python installed. Python is open-source and easy to install, though it's a little confusing to get all the pieces in place. To run this program, you need all of the following in compatible versions (at the time of this writing, I did them all for Python 2.7).
- Python
- Python Setuptools
- Setuptools will include easy_install, which can be used to install the following packages:
- PIL
- PYOpenGL
- NumPY
- wxPython
Loading Maps
After installing all of these things, you should be able to run map2gl.py from the scripts. You will need a copy of the FFT PSX CD, preferably ripped to a hard drive for speed. map2gl will present to you a dialog to open a GNS file, which will be in the MAP folder of the PSX disc. The best list of map ID numbers to map locations is on FFH, as we don't need it on CoN (we have it in the DB, but don't show it to users per se, so it's just easier to get it from FFH): http://ffhacktics.com/maps.php
Using the Viewer
Taken directly from Gomtuu's readme, so it might not make total sense.
Camera Controls
k: Decrease camera's altitude angle by 2 degrees i: Increase camera's altitude angle by 2 degrees K: Decrease camera's altitude angle to nearest snap (snap points at 0, 30, 45, 60, and 90 degress) I: Increase camera's altitude angle to nearest snap (snap points at 0, 30, 45, 60, and 90 degress) j: Stop camera's rotation, then decrease camera's azimuth angle by 2 degrees l: Stop camera's rotation, then increase camera's azimuth angle by 2 degrees J: Stop camera's rotation, then decrease camera's azimuth angle to nearest snap (snap points at multiples of 45 degrees) L: Stop camera's rotation, then increase camera's azimuth angle to nearest snap (snap points at multiple of 45 degress) ,: Decrease the speed of the camera's rotation around the Y axis .: Increase the speed of the camera's rotation around the Y axis 0: (zero): Stop camera rotation, then set camera's altitude angle to 0 and azimuth angle to 0. -: Dolly the camera farther away from the map =: Dolly the camera closer to the map z: Set zoom level to 100% of in-game zoom level o: Toggle between orthographic (isometric) and perspective projection _: Decrease the camera's focal length (in perspective projection only) +: Increase the camera's focal length (in perspective projection only)
You can also click the mouse and drag to rotate the map arbitrarily.
Other Controls
[: Select previous map ]: Select next map {: Select previous weather condition }: Select next weather condition s: Toggle whether the black polygons around the edges of the map (which I call "skirt" polygons) are displayed x: Toggle display of axes (X=red, Y=green, Z=blue) g: Toggle between the map's natural light and full ambient light (useful for Deep Dungeon maps) T: Toggle display of texture c: Toggle "cutaway" mode (avoids drawing certain obstructed or obstructing polygons) t: Toggle terrain overlay mode B: Toggle between the map's natural background and magenta background a: Toggle mesh animation