diff --git a/README.md b/README.md index 0ac3c73..cd62ce3 100644 --- a/README.md +++ b/README.md @@ -1,21 +1,8 @@ -### Nitro Converter +# Nitro Converter -# What files does this tool convert? +This tool is used to generate `.nitro` bundled assets for use with the Nitro Client -The converter currently supports the following files: - -- furnidata.xml -- figuredata.xml -- figuremap.xml -- effectmap.xml -- external_texts.txt -- productdata.txt -- Furniture swfs -- Pet swfs -- Figure swfs -- Effect swfs - -# Configuration +## Configuration You must rename `configuration.json.example` to `configuration.json` @@ -23,35 +10,44 @@ The simplest way to set your configuration is by changing the `external.variable 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/ | +| 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 | +| 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 +## Running the converter + +**Make sure you run `yarn install` before first use.** To run the converter open a new terminal / console window in the main converter directory. -**Make sure you run ``npm i`` before first use.** +The converter has a few different start commands: -Type `npm start` and the converter will start running, only errors will be outputted in the console. +| key | value | +| ---------------------- | ---------------------------------------------------------- | +| 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` | -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. +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. diff --git a/package.json b/package.json index fdf9690..8de433d 100644 --- a/package.json +++ b/package.json @@ -16,11 +16,11 @@ "homepage": "https://git.krews.org/nitro/nitro-converter", "scripts": { "build": "tsc", - "start": "node dist/Main.js", + "start:dev": "ts-node-dev --respawn --transpile-only src/Main.ts", + "start": "yarn start:dev", "start:bundle": "yarn start --bundle", "start:extract": "yarn start --extract", - "start:convert-swf": "yarn start --convert-swf", - "start:dev": "ts-node-dev --respawn --transpile-only src/Main.ts" + "start:convert-swf": "yarn start --convert-swf" }, "dependencies": { "bytebuffer": "^5.0.1",