nitro-converter/README.md
2022-07-27 12:46:23 -04:00

55 lines
4.3 KiB
Markdown

# Nitro Converter
This tool is used to generate `.nitro` bundled assets for use with the Nitro Client
## Configuration
You must rename `configuration.json.example` to `configuration.json`
The simplest way to set your configuration is by changing the `external.variables.url` option. The converter will pull all urls from this file if the main configuration has them set to `null or ""`
You may set any of the urls to a local path on your system or a remote url. A local path is recommended as the tool will run a lot quicker for downloading.
| key | value |
| ------------------------------ | ------------------------------------------------------------------------------------ |
| output.folder | The folder where converted assets will be saved to |
| flash.client.url | The base url where figures/pets/effects are stored, eg https://url/gordon/ |
| furnidata.load.url | The url to your furnidata, can be XML or JSON, eg https://url/gamedata/furnidata.xml |
| productdata.load.url | The url to your productdata.txt, eg https://url/gamedata/productdata.txt |
| figuremap.load.url | The url to your figure map, can be XML or JSON, eg https://url/gordon/figuremap.xml |
| effectmap.load.url | The url to your effect map, can be XML or JSON, eg https://url/gordon/effectmap.xml |
| dynamic.download.pet.url | The full url where pets are stored, eg https://url/gordon/%className%.swf |
| dynamic.download.figure.url | The full url where figures are stored, eg https://url/gordon/%className%.swf |
| dynamic.download.effect.url | The full url where effects are stored, eg https://url/gordon/%className%.swf |
| flash.dynamic.download.url | The base url where furniture is stored, eg https://url/dcr/hof_furni/ |
| dynamic.download.furniture.url | The full url where furniture is stored, eg https://url/dcr/hof_furni/%className%.swf |
| external.variables.url | The url to your external variables, eg https://url/gamedata/external_variables.txt |
| external.texts.url | The url to your external texts, eg https://url/gamedata/external_texts.txt |
| convert.productdata | Either `0` to skip or `1` to run |
| convert.externaltexts | Either `0` to skip or `1` to run |
| convert.figure | Either `0` to skip or `1` to run |
| convert.figuredata | Either `0` to skip or `1` to run |
| convert.effect | Either `0` to skip or `1` to run |
| convert.furniture | Either `0` to skip or `1` to run |
| convert.pet | Either `0` to skip or `1` to run |
## Running the converter
**Make sure you run `yarn install && yarn build` before first use.**
To run the converter open a new terminal / console window in the main converter directory.
The converter has a few different start commands:
| key | value |
| ---------------------- | ---------------------------------------------------------- |
| yarn build | Will run `tsc` and build .js from .ts |
| yarn start | Will download and convert assets as set in the config |
| yarn start:bundle | Will bundle decompressed `.nitro` assets (json / png) |
| yarn start:extract | Will extract `.nitro` assets which can be used for editing |
| yarn start:convert-swf | Will convert inputted `.swf` assets to `.nitro` |
When you run `start:bundle | start:extract | start:convert-swf` for the first time it will automatically generate a folder structure for placing your assets for conversion.
The converter will skip any assets that already exist but will always reconvert your XMLs / copy your JSONS to the `gamedata` folder to ensure you always have the latest copy.