You cannot select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
TigerKat aae2cbc339 bugfix: geo.py would crash when writing models with no triangles.
bugfix: geo.py would erase the input file if the output file was the same.
Made geo.py print usage if too many command line arguments were given.
5 years ago
LICENSE
README.md Added 'geo_list.py' a tool for listing models in a .geo . 5 years ago
__init__.py Now applies the object's world scale to the exported mesh. 5 years ago
bones.py Added Blender export support. 5 years ago
export_geo.py Now applies the object's world scale to the exported mesh. 5 years ago
geo.py bugfix: geo.py would crash when writing models with no triangles. 5 years ago
geo_edit.py Added 'rename_texture' and 'rescale_all' operations to 'geo_edit.py' . 5 years ago
geo_list.py Added 'geo_list.py' a tool for listing models in a .geo . 5 years ago
geomesh.py Added Blender export support. 5 years ago
import_geo.py Added Blender export support. 5 years ago
polygrid.py Added Blender export support. 5 years ago
stl_dump.py Added geo_edit.py as a simple command line tool for modifying .geo files. 5 years ago
util.py
vec_math.py

README.md

geopy

Python tools for manipulating .geo files, and Blender add-on for exporting .geo files.

Blender Add-On

The Blender add-on allows you to export .geo files.

Installing the Add-On

  1. Download geopy-v0.1.zip
  2. In Blender open "User Preferences" then select the "Add-ons" tab.
  3. Click the "Install Add-on from File..." button and select the downloaded zip.
  4. Enable the add-on and click the "Save User Preferences" button.

Using the Add-On

  1. Select the meshes to export in object mode.
  2. From the menu select File->Export->City of Heroes (.geo)
  3. Browse to the file you want to create and click "Export GEO".

Tools

These command line tools allow inspection and modification of .geo files.

geo.py

Contains the Geo class, which represents the contents of .geo files. Can be run to test the reading and writing functionality.

geo.py <infile.geo> [<outfile.geo>]

If only an input .geo file is specified, it will read the input and dump the contents of the .geo to the console.

If an output .geo file is specified, it will read the input .geo file, and write the contents to the output as a new .geo file.

stl_dump.py

Dumps the meshes of a .geo file to .stl files. Used for testing and validation, as .stl isn't useful for games.

stl_dump.py <file.geo>

Dumps all the meshes contained in <file.geo> to <geo_name>/<model_name.stl>. <geo_name> and <model_name> are read from the .geo.

geo_edit.py

A command line tool for modifying a .geo file

geo_edit.py <infile.geo> <outfile.geo> <operation> [<operation options> ...]

Operation Description
del_model <reg_ex> Deletes all models whose name contains the regular expression <reg_ex>.
geo_name <name> Change the .geo's name to <name>.
rename_model <old> <new> Rename a model from <old> to <new>.
rename_texture <old> <new> Rename a texture from <old> to <new>.
rescale_all <scale> Rescale all vertices in all models by multiplying them all by <scale> .
Multiple operations can be specified and performed in the same run.

geo_list.py

A command line tool for list the model name inside of 1 or more .geo files.

geo_list.py <file.geo> [<file.geo> ...]

The output format is: <geo_name> : <model_name>

Known Issues

  • Not all structures are handled (reflection quads)
  • Not all structures are regenerated when writing a .geo file. (Reductions)
  • Blender import of .geo files is currently a stub.