LandSandBoat / xiNavmeshOBJs

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

xiNavmeshOBJs

This repo is a collection of the intermediate output from FFXI-NavMesh-Builder.

The OBJ files generated by the builder can be culled and improved by hand, making them faster and less errorprone.

Since GitHub's git LFS offering has stringent bandwidth caps the OBJ files must be 7zip'd before they're checked-in using compress.py/decompress.py.

  • Full compress time: ~800s
  • Full decompress time: ~16s
Unzipped size Zipped size
8900mb 804mb

GitHub about-storage-and-bandwidth-usage

Requirements

Python

  • Python 3.3+
pip install py7zr

Usage

Compress/Decompress

  • Decompress all files
.\decompress.py
  • Decompress single file
.\decompress.py '.\7z\Abdhaljs_Isle-Purgonorgo.7z'
  • Compress all files
.\compress.py
  • Compress single file
.\compress.py '.\obj\Abdhaljs_Isle-Purgonorgo.obj'

Modifying current OBJ files

  • Checkout the repo
  • Run <this repo>/decompress.py (single or all)
  • Make your changes in <this repo>/obj/
  • Run <this repo>/compress.py (single or all)
  • Check in your changes (make a PR upstream, etc.)

Generating new navmesh files

  • Make sure you have your decompressed OBJ files ready in <this repo>/obj/
  • Copy the *.obj files from <this repo>/obj/ to FFXI-NavMesh-Builder/Map Collision obj files/
  • Run the FFXI-NavMesh-Builder executable
  • Click BUILD NAVMESHES FOR ALL .OBJ FILES from the NavMesh menu
  • Submit your changes to xiNavmeshes

Generate fresh OBJ files

  • Run the FFXI-NavMesh-Builder executable
  • From the Dat menu
  • Click Load Zones
  • Confirm Set FFXI Installation Path
  • Select Save as Topaz Zone Names
  • Click BUILD OBJ FILES FOR ALL ZONES
  • Wait a little while
  • Take the *.obj file output from Map Collision obj files/
  • Place them in <this repo>/obj/
  • Run <this repo>/compress.py

Thanks

  • MurphyCodes

About

License:GNU General Public License v3.0


Languages

Language:Python 100.0%