|Release Date||24 February 2011|
|Last Modified||06 June 2017|
ROMulan is a tool designed to automate the process of extracting data from program files for manipulation by an external utility and then re-integrating the modified data in a useful way even if its new size requires it to be relocated. Its primary use is to allow for the editing of video game data outside of the program that uses it. With properly-created scripts, the modified data can be re-inserted into the original program even if it has grown larger than the area it used to occupy, and any pointers to the data will be automatically updated to reflect its new, automatically-generated location.
The following features assist in simplifying the process:
- Batch Task Execution
- Data region extract from file with/without endian switch
- File copy to new location with/without endian switch
- Call on external utilities
- Automatically combine separate inject files to avoid conflict
- Print status messages and/or pause for user keypress
- Optionally prompt user to enter paths and filenames during processing
- Data Injection
- Read injection data from a file with/without endian switch
- Define injection data in-script as BYTE, WORD, DWORD, or STRING
- Use constants, “defines”, or labels
- Calculate at runtime with linear (no order of operations) math expressions
- Group data into “Segments” for placement, either specified or automatic
- Define “Labels” for use in data defines to create reference pointers to relocated data
- Define “Disposable” areas of the file, telling ROMulan what it can safely overwrite
- Automatically “Translate” file addresses to another logical address space when necessary
- “Define” short/descriptive strings to be interpreted as longer strings at runtime
For more information, please view the documentation.
Also visit the homesite for a list of premade script sets.