Game Patches

Game patches are powerful plug-ins which alter the files Reggie Next loads in order to customize the editor for a particular mod (such as Newer Super Mario Bros. Wii). In addition to standalone game patches, you can also use another patch as a base and work from there. The difficulty is relatively simple, as long as you are familiar with XML files.

Initial Steps
The first thing to do is to make a new folder in. This folder will contain all the patch's files. The name doesn't make a difference, but pick something unique and descriptive.

The first file to create inside the folder is called main.xml. It contains basic information about the game patch and links to files and folders. Open it with a text editor and add the following data: The name of the mod your game patch represents goes between the quotes in, the latest version of the hack goes in  , and you can write a short description in.

Adding Files
To replace the files that Reggie Next uses, you first need to have those replacements. Below is a list of files and folders you can modify with a game patch and their purpose. Once you've decided what to modify, decide which files need to be overwritten entirely and which only need to be patched. You can also import files from other patches (see below).

Many mods nowadays are based off Newer Super Mario Bros. Wii. If this applies to your mod as well, you can configure your patch to automatically account for this. Instead of copying the entire NewerSMBW game patch and making changes, you can tell the program to only import files which have been modified after NewerSMBW's. To do this, add the following attribute to the  tag in main.xml:

The value between the quotes needs to be the same as the name value of the game patch you want to reference.

Adding Entries to Main.xml
After making a file or folder, you need to add a tag to main.xml so Reggie Next can recognize it. There are two kinds of tags you can use: File tags specify individual files, and folder tags specify entire folders. Here is an example of a finalized main.xml :
 * Name is not the filename. It's a unique ID. To get each entry's name, just take the filename and drop the extension.
 * Game (optional) is the equivalent of the  attribute in the   tag mentioned before, and it can be used to define from which patch to pull the specific file/folder. Do not use this if the   attribute is defined.
 * Path is the file/folder's name.
 * Patch (optional) can be set to true or false, and specifies whether the replacement file should be used to make changes to the original or if it should completely replace it, if supported (see table above). Reggie's default behaviour is to patch whenever possible.

Misc Tips

 * Avoid creating patches for files that don't need it (for example, entrance types are usually never edited, so it's pointless to add entrancetypes.txt to your patch).
 * Use the  or the   attributes whenever possible, you will benefit from a smaller patch size, easier upgradeability and faster loading.
 * When creating individual patch files, look at the ones in other patches for a reference.
 * To create background/sprite images, refer to this page.
 * To randomize a tileset and add the resulting data to Reggie, refer to this page.
 * If you are looking to simply change a sprite's name, use spritenames.txt instead of spritedata.xml. The structure is similar to other .txt files: put each sprite's number, followed by a colon, a space and the new name in a new line (for example, to rename the "Goomba" sprite to "Fire Goomba", type, where "20" is the sprite number)

