OniSplit: Difference between revisions

From OniGalore
Jump to navigation Jump to search
(Update Onisplit version)
(revising section titles and adding note about extracting whole char. models)
Line 1: Line 1:
'''OniSplit''', written by Neo, is an integral part of the [[Anniversary Edition]] and an essential modding tool on its own. It does the work of splitting and recombining Oni's data files.  But it also does much more such as extracting and creating [[TXMP]] files and [[M3GM]] files.
'''OniSplit''', written by Neo, is an integral part of the [[Anniversary Edition]] and an essential modding tool on its own. It does the work of splitting and recombining Oni's data files.  But it also does much more such as extracting and creating [[TXMP]] files and [[M3GM]] files.


===Export/Import for [[TXMP]] files===
===Export/Import textures===
To extract all the TXMP files:
To extract all the [[TXMP]] files:
   onisplit -extract:png destination_directory_for_image_files level0_Final.dat
   onisplit -extract:png destination_directory_for_image_files level0_Final.dat
TGA and DDS are also supported using -extract:tga and -extract:dds.
TGA and DDS are also supported using -extract:tga and -extract:dds.
Line 25: Line 25:
For TXMP files that contain envmaps:
For TXMP files that contain envmaps:
   onisplit -create:txmp dest_dir -format:bgra4444 -genmipmaps -envmap:envmapname imagefile.tga
   onisplit -create:txmp dest_dir -format:bgra4444 -genmipmaps -envmap:envmapname imagefile.tga
The envmap name can have the TXMP prefix but it is not required, it is added automatically if missing.
The envmap name can have the TXMP prefix but it is added automatically if missing.


===Export/Import for Wavefront OBJ files===
===Export/Import 3D models===
Named [[M3GM]]s and unnamed M3GM belonging to [[ONWC]] files can be exported to obj file format:
[[M3GM]]s, [[ONWC]]s and, most notably, [[ONCC]]s can all be exported (in OBJ file format):
   onisplit -extract:obj dest_dir M3GMnotfound.oni
   onisplit -extract:obj dest_dir M3GMnotfound.oni
   onisplit -extract:obj dest_dir ONWCw1_tap.oni
   onisplit -extract:obj dest_dir ONWCw1_tap.oni
  onisplit -extract:obj dest_dir ONCCbarabus.oni
Or for a total export:
Or for a total export:
   onisplit -extract:obj dest_dir level0_Final.dat
   onisplit -extract:obj dest_dir level0_Final.dat
Line 40: Line 41:
Note that in both -envmap and -tex cases a .oni file is not created for the specified texture. The .oni file for that texture must be create separately.
Note that in both -envmap and -tex cases a .oni file is not created for the specified texture. The .oni file for that texture must be create separately.


===OniSplit Commands===
===OniSplit commands===
A list of commands can be found be entering OniSplit -help
A list of commands can be found be entering OniSplit -help


Line 71: Line 72:




===Download Links===
===Download links===
* [http://edt.oni2.net/OS/OniSplit_v0.8.18.zip Latest version of OniSplit v0.8.18 ]<br>
* [http://edt.oni2.net/OS/OniSplit_v0.8.18.zip Latest version of OniSplit v0.8.18 ]<br>
* [http://edt.oni2.net/OS/OniSplit_v0.8.18_Full.zip OniSplit v0.8.18 Full (includes source code)]
* [http://edt.oni2.net/OS/OniSplit_v0.8.18_Full.zip OniSplit v0.8.18 Full (includes source code)]

Revision as of 13:54, 25 March 2008

OniSplit, written by Neo, is an integral part of the Anniversary Edition and an essential modding tool on its own. It does the work of splitting and recombining Oni's data files. But it also does much more such as extracting and creating TXMP files and M3GM files.

Export/Import textures

To extract all the TXMP files:

  onisplit -extract:png destination_directory_for_image_files level0_Final.dat

TGA and DDS are also supported using -extract:tga and -extract:dds.

To import image files:

  onisplit -create:txmp destination_directory [options] source_image_file

where options can be

 -nouwrap - set the "U wrapping disabled" flag
 -nowwrap - set the "V wrapping disabled" flag
 -format:bgr555 (or dxt1) for most of the stuff
 -format:bgr32 for skyboxes
 -format:bgra4444 for transparent/reflective stuff (in a couple of places bgra5551 is used but probably it's not big deal if bgra4444 is used instead)
 -genmipmaps - generate mipmaps if they are not already present in the source file and if the source file is not dxt1 compressed

Example:

  onisplit -create:txmp imported -format:bgr32 -genmipmaps tga\concrete.tga

To batch process a folder of image files:

  onisplit -create:txmp imported -format:bgr32 -genmipmaps tga\*.tga

source_image_file can be dds or tga. "Color indexed" and "black and white" tga files are not supported currently. Other image file formats (png, jpg, bmp, tif) may work depending on Mono/.NET support for them. onisplit will automatically prepend TXMP to the output file name if the source file name does not start with TXMP already.

For TXMP files that contain envmaps:

  onisplit -create:txmp dest_dir -format:bgra4444 -genmipmaps -envmap:envmapname imagefile.tga

The envmap name can have the TXMP prefix but it is added automatically if missing.

Export/Import 3D models

M3GMs, ONWCs and, most notably, ONCCs can all be exported (in OBJ file format):

  onisplit -extract:obj dest_dir M3GMnotfound.oni
  onisplit -extract:obj dest_dir ONWCw1_tap.oni
  onisplit -extract:obj dest_dir ONCCbarabus.oni

Or for a total export:

  onisplit -extract:obj dest_dir level0_Final.dat

Importing obj files:

  onisplit -create:m3gm dest_dir TCTF_Shotgun.obj

For importing obj files the obj file must only contain triangles so when exporting a model from a 3D design tool it needs to be triangulated. If the obj file uses more than one texture then only one will be taken into consideration. If the obj file does not contain a texture or someone wants to use a different one then the texture name to be used can be specified with -tex option:

  onisplit -create:m3gm dest_dir -tex:TCTF_Shotgun TCTF_Shotgun.obj

Just like in -envmap option case the texture name can start with TXMP but it is not required. Note that in both -envmap and -tex cases a .oni file is not created for the specified texture. The .oni file for that texture must be create separately.

OniSplit commands

A list of commands can be found be entering OniSplit -help

 -export <directory>		Export a Oni .dat file to directory.
 -extract:dds <directory>	Extracts all textures (TXMP) from a Oni .dat/.oni file in DDS format.
 -extract:tga <directory>	Extracts all textures (TXMP) from a Oni .dat/.oni file in TGA format.
 -extract:png <directory>	Extracts all textures (TXMP) from a Oni .dat/.oni file in PNG format.
 -extract:wav <directory>	Extracts all sounds (SNDD) from a Oni .dat/.oni file in WAV format.
 -extract:aif <directory>       Extracts all sounds (SNDD) from a Oni .dat/.oni file in AIF format.
 -create:txmp <directory>       [-genmipmaps] [-nouwrap] [-novwrap] [-format:bgr32|bgra32|bgr555|bgra5551|bgra4444|dxt1] [-envmap:texture_name] image_file
 -create:m3gm <directory>       [-tex:texture_name] obj_file
 -import <directory>		Import a Oni .dat file from directory. 
                                Target file format is determined from source files (when possible)
 -import:sep <directory>	Import a Oni .dat file from directory.
                                Create a .dat file that uses .raw and .sep binary files (Mac and PC Demo)
 -import:nosep <directory>	Import a Oni .dat file from directory.
                                Create a .dat file that uses only .raw binary file (PC)
 -copy <directory>		Copy an exported .oni file and its dependencies to directory.
 -move <directory>		Move an exported .oni file and its dependencies to directory.
 -move:overwrite <directory>	Move an exported .oni file and its dependencies to directory.
                                Overwrites any existing files
 -move:delete <directory>	Move an exported .oni file and its dependencies to directory.
                                Deletes files at source when they already exist at destination.
 -deps				Get a list of exported .oni files the specified files depends on.
 -version			Print OniSplit versions

Note: For Mac users the command is:

  mono onisplit.exe


Download links

Requirements

OniSplit requires .NET for PC and the mono framework for Mac OS X.