Skip to content

This tool annotates FFXIV maps with elite marks location spawn points

License

Notifications You must be signed in to change notification settings

LittleNightmare/ffxiv-huntmaps-maker

 
 

Repository files navigation

ffxiv-huntmaps-maker

Library + CLI to annotate FFXIV in-game map assets with Elite Marks spawn positions.

In this branch, the path of the map is changed format likes ui/map/n4f1/00/n4f100_m.tex, you can see this file

Installation

  • You need python >= 3.7
  • Clone repo
  • switch to any virtual/conda environment you'd like to use (or not)
  • cd to directory
  • pip install -r requirements.txt
  • python annotate.py to get a list of commands

How to use

The process is the following:

  1. In this branch, use Alpha to export the map files as .tex. You could find map list here
  2. Then, use ffxiv-tex-converter, to covert the .tex files to .dds
  3. Edit data/config.yaml to adjust to your preferences, especially the paths. In this branch, the textools_path should contain ui folder.
  4. Assuming you just exported the original dds map files, run: python annotate.py check_files and, assuming this came out without any error, run python annotate.py backup_files. From there, you're ready to work.
  5. review zone_info.yaml in case the asset path in the game files has changed (occasionally, SE will move a map from zonename to "zonename 00"). Remove/Add/Amend a zonename entry for the zones concerned if needed. If the zonename entry doesn't exist, the script will use the true zone name.
  6. Edit the marker/legend styles in data/config.yaml as desired
  7. Run python annotate.py annotate_map zone_name to annotate that zone. It will open a view of the annotated map
  8. Once ready, run python annotate.py annotate_all. All maps will be rendered and saved (both in the project path and in original asset path)
  9. In this branch, all maps located in ui/map folder, you can use ffxiv-tex-converter convert back to .tex
  10. With Penumbra, you can: (I'm not very familiar with this process, there may be a simpler way)
    1. Create an empty mod with Penumbra
    2. Copy the ui folder to the mod folder that you just created
    3. Go to Edit Mod -> Reload Mod
    4. Go to Advanced Settings -> File Redirection -> Select Unused -> Add Paths -> Apply Changes
    5. Done!

It can also be used as a library, from a jupyter notebook (for exampe) created in the same directory:

from annotate import MapAnnotator

annotator = MapAnnotator()

From there, you can call the same methods. MapAnnotator.annotate_map will instead preview the output directly in the notebook rather than opening Paint.

Blending

See this for information about preparation for blending.

Reference

Information on commands, their function and use is available through the tool.

python annotate.py [command] --help

To Dos

  • handle errors
  • write tests

Disclaimer

Use of the mods created with this tool is at your own risk. Square Enix does not permit the use of any third party tools, even those which do not modify the game. They have stated in interviews that they did not view parsers as a significant problem unless players use them to harass other players.

Copyright

Copyright @ Arkhelyi, 2020.

About

This tool annotates FFXIV maps with elite marks location spawn points

Resources

License

Stars

Watchers

Forks

Packages

No packages published

Languages

  • Python 100.0%