2022-02-02 18:07:53 +01:00
# Nitro Converter
2021-02-23 21:36:22 +01:00
2022-02-02 18:07:53 +01:00
This tool is used to generate `.nitro` bundled assets for use with the Nitro Client
2021-02-23 21:36:22 +01:00
2022-02-02 18:07:53 +01:00
## Configuration
2021-02-23 21:36:22 +01:00
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.
2022-02-02 18:07:53 +01:00
| 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/ |
2021-02-23 21:36:22 +01:00
| dynamic.download.furniture.url | The full url where furniture is stored, eg https://url/dcr/hof_furni/%className%.swf |
2022-02-02 18:07:53 +01:00
| 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
2022-07-27 18:46:23 +02:00
**Make sure you run `yarn install && yarn build` before first use.**
2021-02-23 21:36:22 +01:00
To run the converter open a new terminal / console window in the main converter directory.
2022-02-02 18:07:53 +01:00
The converter has a few different start commands:
| key | value |
| ---------------------- | ---------------------------------------------------------- |
2022-07-27 18:46:23 +02:00
| yarn build | Will run `tsc` and build .js from .ts |
2022-02-02 18:07:53 +01:00
| 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` |
2021-02-23 21:36:22 +01:00
2022-02-02 18:07:53 +01:00
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.
2021-02-23 21:36:22 +01:00
2022-02-02 18:07:53 +01:00
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.