A module to import information from a user's RWexport file generated from the Realm Works® campaign/world management tool created by LWD (Lone Wolf Development).
It imports your realm export file (.rwexport) into multiple journal entries (one entry per RW topic), Actors, Scenes, Playlists, Roll Tables.
It can also import your Hero Lab Portfolio file (.por) and create one or more Actors (for PF1, CoC7, SWADE and DND5E).
Add the link https://github.com/farling42/fvtt-import-realmworks/releases/latest/download/module.json to keep your Foundry up-to-date with all the changes.
IMPORTANT: version 1.0.0 upwards reads an RWEXPORT file, versions prior to 1.0.0 read an rwoutput file.
Instructions
Simply add this module to your Foundry VTT and enable it within the game into which you want to import your RWoutput information.
In the Compendium panel of the game you will find a new button near the top called "Realm Works Import".
Press the button to open a simple dialogue window.
Select an .rwexport file (or Hero Lab portfolio file) using the file selector.
Enter the name of the folder into which all extracted entries will be placed.
Maybe modify which options you want to work with.
Press the IMPORT button at the bottom of the window and wait for the contents to be imported.
Then This Will Happen
New folders will be created in the Scenes, Actors, Journal, Roll Tables and Playlist sections containing the imported data.
Each Smart_Image is converted into a scene, with map pins and scene notes connected to the relevant journal entries.
Each Topic will be converted into a separate Journal Entry, placed in a sub-folder based on the Category of the topic (optionally, certain known Item categories will cause the generation of Items instead of Journal Entries).
Each image or embedded file will be extracted and located in the subdirectory [data]world/<world-name/realmworksimport (this default location can be changed in the module settings).
Each Audio snippet will be extracted and placed into a Playlist named after the topic.
Each HL portfolio will be extracted and Actors created for each character in the portfolio (currently only for PF1, D&D 5E, SWADE, Call of Cthulhu game systems). All actors for a single topic are placed into a sub-folder named after the folder.
Each Table within RW topics will be examined to see if it can be used to create a Roll-Table within Foundry. The first row of the table is assumed to be the title (if the top-left cell of the table contains a dice formula, e.g. 1d20, then it will be used as the formula for the roll table. The first column of the table is assumed to be the number or numbers to choose the results (either a single number, or two numbers separate by "-" for a range or "," for two discrete entries). The second column will be used as the results for the roll-table (or the third column if all entries in the second column are blank).
Any parent topic in the RWexport file will have a list of governed content at the end of the page which contains links to the descendent topics (the maximum depth of the descendents can be configured in the module settings); and child topics will have a "governing content" added at the top of the journal entry.
Optionally, all images will be converted to the WEBP format, to reduce the file size and thus improve performance when changing scenes.
Additional Presentation
The Text Editor has some additional options under the "RW Blocks" which allow paragraphs to be displayed in the Veracity (Partial Truth/Lie) and/or Style (Callout, Handout, Flavor, Read-Aloud).
There is no preview of the presentation whilst using the editor.
There are also two new blocks for "GM Directions". It is important to note that if some paragraphs are to be grouped with some GM directions, then they must be grouped as a block of "GM Directions & Contents" before then selecting just the paragraphs containing the GM notes and changing to them "GM Directions". Doing this in the opposite order will not generate the desired effect.
Store Foundry data inside Realm Works
Now you can store your scene wall data (and any other Foundry settings) inside Realm Works, so that those settings are restored on future imports.
If you want to store additional Foundry settings within Realm Works, then you can use the "Export Data" menu function within Foundry to create some fvtt-<doctype>-<objname>.json
files. You can then store these files inside Realm Works as foreign object files. When you next generate an RWexport file from Realm Works and import it into Foundry, then those embedded fvtt-<doctype>-<objname>.json
files will be loaded after the objects have been created. NOTE: The name inside the fvtt*json
file must match the name of the object in Foundry in order for the import to work (it does NOT use the objname
part of the filename).
Libraries
This module uses the following libraries from other sources:
- UZIP for decoding HL portfolio files (MIT/GPLv3 license, from https://stuk.github.io/jszip/)
- JIMP for converting TIF, TIFF, GIF and BMP images to PNG (MIT license, from https://github.com/oliver-moran/jimp), possibly as an interim step towards WEBP
- DirectoryPicker to allow assset files to be stored in S3 rather than just the local 'user data' area (MIT license, from https://github.com/MrPrimate/ddb-importer)
The Realm Works campaign/world management tool is available from https://www.wolflair.com/realmworks/
Join in discussions about it's future features on the LWD Forums
If you like what you see, then all contributions will be gratefully received at Ko-FI or or Paypal, or regular contributions can be set up at Patreon