-
Notifications
You must be signed in to change notification settings - Fork 24
Editor Guide
A savegame can either be compressed or uncompressed, depending on the game, whether Ironman was enabled, and user settings. An uncompressed one is a simple readable text file while a compressed savegame is usually in some kind of zip file format, where the contents are split into multiple files inside the zip file. The Pdx-Unlimiter editor handles everything file format related for you, so you don't have to worry about the format of your savegame at all.
When opening a savegame, the files contained in a compressed savegame are displayed like this:
If it is uncompressed, there is only one big file displayed.
The data contained in both instances is still the same, just the layout of where for example the meta
entry is located changes.
Note that Ironman savegames usually have a special encryption for its file contents, so that users can't easily tamper with the savegames. This means that you can't edit Ironman savegames directly, however you can make use of the Ironman Converter that comes with the Pdx-Unlimiter that can turn any Ironman savegame into a normal one. (But not the other way around)
A savegame consists out of many entries, where each entry can have a name,
also called the key, and an associated value.
If an entry has a key name, it is formatted as <key name> = <value>
and look like this:
If an entry does not have a key, its index in the parent entry is displayed as its key:
The associated values can be of one of the following primitive types:
Boolean, either yes or no
Integer, e.g. 124
Floating point number, e.g. 1.12
Text, e.g. "Text value"
A game specific value, e.g. the relgion id catholic in eu4. While it looks like a normal Text value, the difference is that you can basically assign anything to a text value while you can only assign certain things to a game specific value without breaking the game
Color
A value can also be a list of any of the primitive types of the ones listed above and would look like this:
You can expand the list contents by clicking on it. For any list, you can also use a preview feature to peek at its contents:
A button that you can hover over to get a preview of the list contents in text form.
If entries of a list also have key names associated with them, they can be thought of as objects. A special type descriptor is then used to distinguish them from normal lists:
Complex type, assigned if a list contains key-value pairs on its own, its type is described as complex
It is also possible that in the underlying data, there are multiple consecutive entries with the same key name. In this case, they are automatically merged into a synthetic list entry, to improve readability:
They are called synthetic, because these entries do not actually exist like this in the savegame.
In the case shown above, there actually exist 732 entries with the key rebel_faction
instead.
Synthetic entries can not be edited directly with an external editor, only its child nodes can.
The navigation bar located at the top shows you exactly where you currently are in your savegame and also allows you go back up by clicking on any entry in the navigation path. It looks like this:
You can use the arrows to go back to the last location you were at or go forward to the location you just went back from. On the right you can also use the edit button to edit the node you are currently looking at.
Node jumps allow you to quickly jump to a definition:
If this button is shown next to a node, you can click on it to jump to the node to which it refers to.
Common node jump location allow you to navigate to commonly used definitions in one click by opening the Jump to
entry in the menu bar:
Since savegames contain thousands of entries, it is basically required to use filters in order to find entries that you are looking for. The filter bar is located at the bottom and looks like this:
The search string can be entered into the text field. To apply a search string, you have to press Enter. On the right, the Showing results for ... label shows the currently active filter The various buttons on the bar have the following usages:
A toggle button to include keys in the search. Key names are located to the left of the equal sign of an entry.
A toggle button to include values in the search. The values are the objects located to the right of the equal sign of an entry. The value is searched recursively for the search string, so even if the value is an object or list with many nested entries, it matches the filter even if only one nested entry of the value matches. Therefore, if applying your search string does not have any visible effect in narrowing your choices down, it is recommended to turn this off and only search for key names instead.
Applies the filter string in the text field. Alternatively, you can press Enter after typing your search string.
Clears the active filter.
Toggles case-sensitive matching mode for the search string.
Note that you always have to clear the filter to display all entries of an object, as it doesn't reset when clicking on a new list or object. Therefore, if you use the filter to locate a certain object, always clear the filter afterwards.