The config.json file foe New Super Mario Randomizer Wii (NSMRW) is used to read randomization preference.
It is usually stored in the same folder as the NSMRW Source code.
Format
The config file consists of 2 parts: Skip Level and Enemies.
The format should be structured as below:
Determine if the randomizer should randomise wrap pipe / door exits and level spawn
NOTE: This feature is in experimental. It may create unbeatable levels or inaccessible areas.
Parameter: Boolean Will the randomiser randomise Entrances. Value should be True or False
Default: False
Example 1:
"Entrance Randomisation":true
Example 2:
"Entrance Randomisation":false
"Skip Level" Section
"Skip": Array
A list of levels that will be skipped during randomization. Can be useful if some levels prevents progress.
Parameter: Array A list of file names of the levels to not be randomized (Skipped) NOTE: "Texture" should ALWAYS be included in the list to avoid errors when using the program (unless the "Texture" folder is not included in the "Stage" folder. In this case, DO NOT include "Texture" in the list.)
Lists of enemies to be randomized.
That is, the enemies in the list will be randomized to another enemy in the same list.
Enemies outside of the list will not be randomized.
The Array is a multi-dimentional array. Enemies can be grouped in an array, therefore forming a randomization group.
Enemies in the same group will only be randomized and changed to another enemy in the same group.
Parameter: [Array] Arrays of array of sprite IDs to be randomized.
Each array will be classified as 1 group, and will randomize only within the group.
Note: Items can be included in multiple groups, and can be repeated within the group. The number of repeats decides the weight of that item in the respective group.
The order of the groups will also affects the randomization effects. If the item is randomized once, it will be randomized with the latter group once more.
Example:
"Enemy Variation": {ID : enemyVariation, ID : enemyVariation, ...}
Lists of enemy variation to be randomized.
That is, the enemies in the json list will be randomized to another form in the list.
Enemies outside of the list will not be randomized.
Parameter: ID String sprite IDs to be randomized.
Due to limitations, The field ONLY accepts STRING. enemyVariation Array of String "Raw Data" of the enemy variation in hex(but wrapped by quotation ("")).
The data can be found via the Sprite Properties window in the Reggie! level editor. ("Modify Raw Data" Section)
Note: Items can be repeated within the group. The number of repeats decides the weight of that item in the respective group.
Example:
Lists of grouped levels to be randomized.
Like how enemy group works, the levels in the group will be changed to another level in the list.
Levels not included in the groups will be randomized with other ungrouped levels.
To NOT randomize a group of level, use "Skip level".
Parameter: [Array] Arrays of array of file names to be randomized.
Each array will be classified as 1 group, and will randomize only within the group.
Note: Items can be included in multiple groups, but CANNOT be repeated within the group. Attempt to include repeats will results in Error.
The order of the groups will also affects the randomization effects. If the item is randomized once, it will be randomized with the latter group once more.
Example:
Lists of grouped tile object ID to be randomized.
Each array will be classified as 1 group, and will randomize only within the group.
Parameter: [Array] Arrays of array of tile object IDs to be randomized.
Each array will be classified as 1 group, and will randomize only within the group.
Note: Items can be included in multiple groups, and can be repeated within the group. The number of repeats decides the weight of that item in the respective group.
The order of the groups will also affects the randomization effects. If the item is randomized once, it will be randomized with the latter group once more.
Example: