Content Manager Tools

From TrainzOnline
Revision as of 23:58, 3 February 2010 by Windwalkr (Talk | contribs)

Jump to: navigation, search

This page details a number of ways Content Manager provides functionality to execute custom and 3rd party tools.


Contents

Ideology

Custom tools are intended to perform perform repeated automated tasks for things related to content management. For example, there may be a need or desire to perform repeated texture compression/decompression, file format conversion, automated custom backup procedures, etc. To this end, support for custom tools has been added to Content Manager and is accessible in two ways:

  • As part of several existing processes
  • As a manual command

Each of these methods executes the tool in a similar way, piping stdout & stderr to a results log window similar to the one pictured. Custom tools should exit with a zero code on success or a non-zero code on error. Certain operations will be canceled if a tool produces errors.

GenericResultsLog.jpg


Built in Tool Execution

Content Manager comes with a set of built in tools that are executed before or after certain operations. By default these tools do not do anything, and are provided to allow execution of tasks outside of the scope of Content Manager. These built in tools have predefined file names and are located in the "Bin\CMPData\Tools" directory of your Trainz installation (e.g. C:\Program Files\Auran\TS2009\Bin\CMPData\Tools). A brief description of each built-in tool is provided below.

After Open for Edit

After opening an asset for edit in Content Manager the 'afterOpenForEdit.bat' file will be executed. Content Manager will pass the resulting folder of the open for edit operation as parameter 1 on the command line. After opening an asset for edit is an ideal time to perform file conversion, formatting, and decompression tasks to ready the asset for easy editing.

Before Commit

Before committing an assets changes in Content Manager the 'beforeCommit.bat' file will be executed. Content Manager will pass the current asset folder to the tool as parameter 1 on the command line.

A common example of a pre-commit task would be the conversion of all .xml files in the asset directory to .im & .kin files using the Trainz Mesh Importer. An example of how this may be achieved is given below. This example uses a FOR loop to execute the mesh conversion tool for each xml file.

@echo off

FOR %%f IN (%1\*.xml) DO "C:\TrainzImporter\TrainzMeshImporter.exe" -k -infile "%%f"

EXIT 0

If the "before commit" tool produces any errors, the commit operation will be canceled.

Before Launch Trainz

Before launching Trainz, either from within Content Manager (via the File menu) or from the launcher, the 'beforeLaunchTrainz.bat' file will be run. Content Manager (or the Launcher) will pass the Trainz installation directory as parameter 1 on the command line.

If the "before launch trainz" tool produces any errors, the launch will be canceled.


Manual Tool Execution

Manually launched tools may take the format of an executable or batch file and are located in the "Bin\CMPData\Tools\OpenWith" directory of your Trainz installation (e.g. C:\Program Files\Auran\TS2009\Bin\CMPData\Tools\OpenWith). These tools are added to Content Manager's context menu at run-time. To launch a tool simply right click on an asset in the main list view and select it from the "Open With..." menu. When launched the current asset will be opened for edit and the resulting folder passed to the tool as parameter 1 on the command line.

If you have a large number of custom tools organize them into sub-directories in the file system and Content Manager will automatically create child menus as shown below.

OpenWithMenu.jpg


The example below shows a possible way of implementing a binary texture decompression tool.

@echo off

path=%path%;C:\Program Files\PEVSoft\Texture2TGA

Texture2TGA.exe -trawl %1

See Also

Command Line Guidelines

Personal tools