Rpfm Manual

User Manual:

Open the PDF directly: View PDF PDF.
Page Count: 13

DownloadRpfm Manual
Open PDF In BrowserView PDF
Rusted PackFile Manager
By Ismael Gutiérrez González, A.K.A “Frodo45127”
Version 1.0.1, available here: https://github.com/Frodo45127/rpfm

Introduction

This is Rusted PackFile Manager, or RPFM, a modding tool for modern Total War Games. If
you've used PFM before, you can see it has a similar UI. It's done that way to make it easier to
use for modders coming from PFM. We are going to do the initial configuration first, and then
we are going to take a look at the different features RPFM has to offer.
Remember that, since version 1.0, this manual should always be in RPFM’s folder, or accessible
from “About/Open Manual” in RPFM’s Menu Bar, in case you want to check it later.

Initial Configuration

After the first start, we need to go to “PackFile/Preferences”, and configure the stuff we want.
First, the “MyMod” Path. This is the path where "MyMods" and their data will be stored. We'll
see later in the tutorial what this "MyMods" thing is. For this tutorial, we'll pick an empty
folder. Then, the games paths. These are the folders where each game is installed. We'll fill the
ones for the games we have installed.
In the end, it should look something like this:

Now we choose our “Default Game”. RPFM uses a "Game Selected" setting to configure
certain parts of the program to work with a game or another. For example, it changes the way
the mods are saved, the default folder to save them, the schema used for the tables,.... Here
you can set the game that'll be selected by default when you open the program. We'll leave it
in “Warhammer 2” for this tutorial. Next, all these checkboxes. You can get an explanation
about what they do just by hovering them with the mouse, like this.

And finally, the “Shortcuts” button. Hitting it will open the “Shortcuts” window, were you can
see and edit all the shortcuts currently used by RPFM.

Just keep in mind that some of the shortcuts are applied when the program starts, so you’ll
have to close and re-open RPFM for the changes to take effect.
When you're done with the settings, just hit "Save". You can restore them to the defaults with
the button of the left (same for the shortcuts with their “Restore Defaults” button).
With that, we have completed the initial configuration. Starting on version 1.0, new updates
should continue to work with the same settings/shortcuts (as long as new big things aren’t
added), updating them automatically in case a new setting/shortcut is introduced, storing the
saved configurations in the files “settings.json” and “shortcuts.json”, in RPFM’s folder.
So now that we’re done configuring RPFM, let's take a look at the features it has to offer.

Menu Bar Features
Any action in the Menu Bar has a little tip that'll show up in the Status Bar when selecting it,
just in case you want to know what them do. So, we are going to explain here the…. Not very
common features, menu by menu.

PackFile Menu

Here, we can find the "Basic" actions: New, Open, Save, Save As, Preferences and Quit. Then
we have "Change PackFile Type", where you can select the type of the currently open
PackFile, and see some special configurations some PackFiles have, like if certain parts of the
PackFile are encrypted.
For the types, for modding you’ll only want to use the “Mod” type, and maybe, in very specific
situations, the “Movie” type. “Boot”, “Release”, and “Patch” are types used by CA PackFiles,
not suitable for modding. “Other” is for weird or special PackFiles. Do not use it.
Something to remember is that, by default, RPFM doesn’t let you save a PackFile if it’s “Boot”,
“Release” or “Patch”. If you still want to do it, enable the “Allow Editing of CA PackFiles”
setting. “Other” PackFiles and PackFiles with “Data Is Encrypted”, “Index Is Encrypted” or
“Header Is Extended” cannot be saved in any way.

MyMod’s Menu

MyMods are a way to keep data organized when creating a mod. The system is almost a 1:1
clone of PFM's MyMods and don’t want to explain it again, so check this link for the original
PFM’s explanation: http://www.twcenter.net/forums/showthread.php?536546-The-PFM-2-1s-MyMod-Feature&styleid=43
The only differences are:
•

When deleting a MyMod, his files are also deleted.

•

It'll enable itself when you open a "MyMod" mod, and disable itself when you open
another mod.

Game Selected Menu

This is where you choose the “Game Selected” we talked before. When opening PackFiles,
RPFM tries to be smart and auto-select a game, but there are some PackFiles that are the same
between games (for example, Attila and Warhammer 1 PackFiles are identical), so... just make
sure the right game is selected after opening a PackFile, as that affects how many parts of the
program work. Also, Arena support is READ-ONLY. You can’t save Arena PackFiles.

Special Stuff Menu

This has special features implemented for specific games. Here we have "Patch SiegeAI", used
in Warhammer 1&2 for creating siege maps that the AI can handle.
Also, we have “Optimize PackFile”, that reduces the size of your PackFile by “cleaning” your
tables from data that’s the same as the one present in the game. For example, if you have a
table where all rows but one are exactly the same as the ones in vanilla tables and another
table that’s a 1:1 copy of a vanilla table without changes, RPFM remove all the rows but the
one you changed from the first table, and it’ll remove the second table. This is meant to
improve compatibility with other mods, and to reduce the size of the PackFile.
This optimization is going to be expanded in the future to Loc PackedFiles and other “useless”
files, but for now it only affects DB Tables.

About Menu

Here you can find info “About Qt” (the UI toolkit use to make RPFM), “About RPFM”, a button
to open this manual in an PDF Reader, a link to RPFM's Patreon that I'm using for important
releases, and as a kind of dev blog, and the updaters. The “Check Updates” checks if there is
any update available for RPFM, and it gives you a link to download it if it finds one. And “Check
Schema Updates” checks for schema updates and downloads and applies them if you wish.
The “Schema” is what tells RPFM how to decode the tables of the game. It's very common that
after an update a few tables change his structure and are no longer decodables. To get them
to work again, the schema has to be updated.
And that's all for the Menu Bar. Now we'll take a look at the TreeView. The TreeView is where
all the files inside the PackFile will show up.

PackFile’s TreeView

That thing on the left with folders and stuff is the “TreeView”. When you Right-Click on any of
that stuff, it shows this context menu:

These are the actions we can use to alter the PackFile. Each one of them has a hotkey, in case
you’re a lazy bastard. These are all the actions in the menu:
•
•
•

•
•
•
•
•

•
•
•
•
•

Add…/Add File: Allows you to add one or more files to the PackFile.
Add…/Add Folder: Allows you to add a folder to the PackFile.
Add…/Add from PackFile: Allows you to add files or folders from another PackFile.
Just, select whatever you want to add, double click it and it’ll be added to your
PackFile, keeping his path.
Create…/Create Folder: Allows you to create an empty folder. Due to how PackFiles
work empty folders are not saved so, if you want to keep the folder, add a file to it.
Create …/Create Loc: Allows you to create an empty Loc PackedFile.
Create …/Create DB: Allows you to create an empty DB Table.
Create …/Create Text: Allows you to create an empty text file.
Create …/Mass-Import TSV: Allows you to import a bunch of TSV files at once. The
system is able to distinguish between DB and Loc TSV files, so you can import all of
them at the same time, and RPFM will create all the files needed, in their correct place.
Create …/Mass-Export TSV: Allows you to export as TSV every DB Table and Loc
PackedFiles inside your PackFile at once.
Open …/Open with Decoder: Allows you to open a table in the DB Decoder. Only used
to decode new tables, so…. You shouldn’t touch this.
Delete: Allows you to delete whatever is selected. If the PackFile is selected, it
removes every file from it.
Extract: Allows you to extract whatever is selected out of the PackFile.
Rename: Allows you to rename whatever is selected, except the PackFile.

Keep in mind that the availability of these actions depends on what is selected, and on the
currently loaded schemas and Dependency PackFile. For example, you can’t add anything if
you have selected a PackedFile. Also, keep in mind that if there is a “MyMod” loaded, some of
these actions may work different.
Also, when you add/modify a file, it changes in the TreeView with the following colour code:
•
•
•

Green: added file.
Yellow: modified file.
Magenta: added AND modified file.

This colour code is applied to the parents too, up to the PackFile, so you easily know what you
changed since the last time you saved the PackFile.

PackedFile’s Views
Now, time to see the views of each PackedFile’s Type RPFM can open.

DB PackedFiles

These are encoded tables with most of the “data” of the games. This is how a DB Table shows
up in RPFM. First, if you hover over any column that references another table, or has a
“description” in the schema, you can see in the tooltip to what that column references.
In the bottom of the window you have a real-time filter. Select the column you want to use to
filter, if you want it to filter as “Case Sensitive”, and just write and see how the table gets
filtered as you type. It works with Regex too. For example, the following will only show up the
rows that contain in their “Key” column “v_b” or “fake”:

Here you have a “Regex Cheatsheet” in case you want to use more complex filters:
https://www.cheatography.com/davechild/cheat-sheets/regular-expressions/
Now, with the Right-Click Menu:

These are all the actions available for tables:
•
•
•
•

Add Row: Appends an empty row at the end of the table.
Insert Row: Insert an empty row after every row with a selected cell.
Delete Row: Uses the computational power of your GPU to mine cryptocurrencies.
Joking, it deletes any row with a selected cell.
Clone: Creates a duplicate of every row with a selected cell and inserts the duplicate
just below the original row.

•
•

•

•
•

Copy: It copies whatever is selected to the Clipboard, in a format compatible with
Excel, LibreOffice Calc and others.
Paste…/Paste in Selection: It tries to paste whatever is in the Clipboard to the selected
cells. It does nothing if there are no selected cells, or the clipboard’s contents cannot
be pasted into the selected cells without errors. This works by pasting until it ran out
of selected cells, or contents to paste.
Paste…/Paste as New Rows: It tries to paste whatever is in the Clipboard as new rows,
appended at the end of the table. It doesn’t do anything if the contents of the
Clipboard cannot be pasted without errors. In case the contents could be pasted as a
“Partial” row, it creates an empty row, and paste what it can paste, leaving the rest of
the row empty.
Import: Allows you to import TSV files to the table, overwriting whatever the table
currently has. IT’S NOT COMPATIBLE WITH PFM TSV FILES.
Export: Allows you to export the table as a TSV File, compatible with Excel, Calc….

Tables uses the same colour code for cells and rows as the TreeView. And that’s more or less
what you can do with a DB Table.
Apart of these, the “Del” key in DB Tables and PackedFiles acts as an “Smart Delete” key. This
means depending on what you have selected when you press “Delete” it’ll delete:
•
•
•

If you have selected random cells, it’ll delete their contents.
If you have selected a full row, it’ll remove the row from the table.
If you have a combination of both, it’ll delete rows where all cells are selected, and
it’ll delete the contents of the cells where not all cells in a row are selected. Fancy.

LOC PackedFiles

Loc PackedFiles are files that end in “.loc”, and contain most of the texts you see ingame.
When you open them, you can see they work like a… minimal DB Table. The only real
differences with tables is that it doesn’t have a “Clone” action. Other than that, it’s just a little
table. Loc PackedFiles uses the same colour code for cells and rows as the TreeView.

Text PackedFiles

RPFM can open and edit a wide variety of Text PackedFiles, such as XML, HTML, LUA, TXT,…. It
has native Undo/Redo support, Copy/Paste support… the normal things for a basic text editor.

Rigid Model PackedFiles

RPFM allows some limited editing of RigidModels (3D models). It allows you to change any of
the textures each model uses and to patch Attila’s RigidModels for being loadable in
Warhammer games (just the model, it doesn’t patch collisions or logic). It doesn’t work with all
the RigidModels.

Image PackedFiles

RPFM can open a variety of image formats, such as PNG, JPG, TGA, DDS (most of them)… Just
select the image you want to see, and it’ll open in the right side of the window.

DB Decoder

RPFM has an integrated database decoder, to speed up a lot the decoding process of the
“structure” (or “Definition”) of a table. It can be opened by right-clicking on a table and
selecting “Open/Open with Decoder”. Only works on tables.
Starting by the left we have this:

This is the “PackedFile’s Data” view. It’s similar to a hexadecimal editor, but far less powerful,
and it’s not editable. In the middle you have “Raw Hexadecimal Data”, and in the right, you
have a “Decoded” version of that data. To make it easier to work with it, both scrolling and
selection are synchronised between both TextViews. So you can select a byte in the middle
view, and it’ll get selected in the right one too. The colour code here means:
•
•
•

Red: header of the table. It contains certain info about what’s in the table.
Yellow: the part of the table already decoded following the structure from the fields
table.
Magenta: the byte where the next field after all the fields from the fields table starts.

For performance reasons, this view is limited to 60 lines, which should be more than enough
the decode the first row of almost every table.
Next, to the right, we have this:

This is the “Fields List”. Here are all the columns this table has, including their title, type, if they
are a “key” column, their relation with other tables/columns, the decoded data on each field of
the first row of the table, and a “Description” field, to add commentaries that’ll show up when
hovering a cell of that column with the mouse.
If we right-click in any field of the table, we have these three self-explanatory options to help
us with the decoding:

And finally, under the table, we have this:

The “Current Field Decoded” will show up the field that starts in the magenta byte of the
“PackedFile’s Data” View, decoded in the different types the tables use. His use is simple:
check what type makes more sense (for example, in the screenshot, it’s evidently a
“StringU8”), and click the “Use this” button in his row. Doing that will add a field of that type
to the “Fields List”, and it’ll update the “PackedFile’s Data” View to show where the next field
starts. Keep doing that until you think you’ve decoded the complete first row of the table, hit
“Finish It!” at the right bottom corner, and select the table again. If the decoding is correct, the
table will open. And that’s how I met your mother you decode a table.
Under “Current Field Decoded” we have “Selected Field Decoded”. It does the same that
“Current Field Decoded”, but from the byte you selected in the “PackedFile’s Data” View. Just
select a byte and it’ll try to decode any possible field starting from it. It’s for helping decoding
complex tables.
To the right, we have a list of data about the table, and the list of versions of that table we
have a definition for. If we right-click in one of them, we can load that version (useful to have
something to start when a table gets “updated” in a patch) or delete it (in case we make a
totally disaster and don’t want it to be in the schema).

And at the bottom, we have the “Remove all fields” and “Finish It!” buttons. The first one
clears the “Fields List” and reset the decoding process. The second one saves the current
“Fields List” into the game’s schema and reloads the schema, so the changes can be used
immediately.



Source Exif Data:
File Type                       : PDF
File Type Extension             : pdf
MIME Type                       : application/pdf
PDF Version                     : 1.7
Linearized                      : No
Page Count                      : 13
Language                        : es-ES
Tagged PDF                      : Yes
XMP Toolkit                     : 3.1-701
Producer                        : Microsoft® Word 2016
Creator                         : Ismael Gutiérrez González
Creator Tool                    : Microsoft® Word 2016
Create Date                     : 2018:09:05 01:19:52+02:00
Modify Date                     : 2018:09:05 01:19:52+02:00
Document ID                     : uuid:1B076AFB-B035-4104-A4FA-45ABD991FE7F
Instance ID                     : uuid:1B076AFB-B035-4104-A4FA-45ABD991FE7F
Author                          : Ismael Gutiérrez González
EXIF Metadata provided by EXIF.tools

Navigation menu