Skip to content

Editor Guide

Christopher Schnick edited this page Mar 31, 2021 · 22 revisions

File Structure

File formats

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:

Compressed

If it is uncompressed, there is only one big file displayed:

Uncmpressed

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)

File contents

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:

Entry

If an entry does not have a key, its index is displayed as its key:

No-Key

Primitives

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

Lists

A value can also be a list of any of the primitive types of the ones listed above and would look like this:

List-Entry

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.

Objects

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

Synthetic lists

It is also possible that there are multiple entries with the same key name. In this case, they are automatically merged into a synthetic list entry:

Synthetic-Entry

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. This merging is done for readability.

Navigation and Filters

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 bar. It looks like this:

Nav-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:

Filter

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.

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.