Welcome to my Football Manager Blog, the main purpose of this blog is to provide updates on the status of my Football Manager Skins & Guides Website

If you have any questions or queries then I can generally be found in the Skinning Forum at the Official Sports Interactive Forums, though I'd ask you to open a new thread rather than sending me a message.

To help with navigation I have included indexes of my content for the last few versions of Football Manager in the tabs below.

Wednesday 14 December 2016

Football Manager 2017 Skinning Guide Part 1 - How to Extract Default Files & Understanding File Structure

 
This is a simple guide to explain how to extract the fmf files that contain the default files for Football Manager 2017 and explains the file structure of the files to make it easier for people to modify the game themselves.

(This guide also applies to any recent version of Football Manager just replace the 2017 with the version number you are playing).


This is a simple update for FM2017, if you read the previous version of the guide then you don't really need to read this as its generally the same, there are just two changes for FM2017;

- Football Manager Touch 2017 is now a seperate entry in your Steam Library so if you are making content for this mode you will need to extract those files seperately, however you use the same tool and the instructions are the same, the files are just located inside the Football Manager 2017 Touch folder, and when extracting them make sure you extract them into a different location than the fullmode files so you don't overwrite either of them.

- The <skin name>.xml file has been renamed to skin_config.xml since the last version of the guide.


Before you start you will need to ensure you have a couple of things ready:

- A fully up-to-date version of Football Manager 2017.

- The Resource Archiver Tool, this is obtained via Steam from the Library -> Tools menu (note you need to own the retail version of Football Manager to have access to that versions Resource Archiver Tool). For Football Manager 2017 and Football Manager Touch 2017 you need to use the 2017 version of the Resource Archiver Tool. If you haven't used the Resource Tool before then there is a user guide installed with it that explains how to use it, located inside the \Steam\steamapps\common\Football Manager 2017 Resource Archiver folder.

- A Text Editor - Notepad is fine, however I'd recommend a program like Notepad++ or a web editor such as Kompozer - these have colour-coded code and line numbers that make it easier to edit the larger xml files.


Extracting the fmf files

1. The first thing to do is to create a new folder somewhere on your computer that has plently of hard drive space and is in an easy to find location. We will call this your Working folder.

2. Next we need to locate the data folder of where you installed Football Manager 2017, by default this is located at \SteamApps\common\Football Manager 2017\data within your Steam Folder. If you cannot find the location on your computer then from the Steam Library screen right click on Football Manager 2017 goto properties -> Local Files -> Browse Local Files and a new window will open at your Football Manager install folder.

3. Now load up the Resource Archiver Tool and in the bottom right hand corner select 'Extract Archive...' And use the Location dropdown menu to browse to the data folder of where Football Manager is installed.

4. Once you have located the data folder you now need to extract the fmf file(s) you want, to do this select the fmf file in question and press select. This will now open a new dialog window this is where you choose to save the extracted files, you now want to browse to where you put your Working Folder and select that as the destination, when done a processing bar will appear as the files are extracted. Note that the Resource Tool will automatically extract the files into the correct subfolders.

5. To extract more files click 'Extract Archive...' again and the Resource Tool should have remembered your install and save locations so you just need to select and extract what fmf files you want.

6. Once you have extracted the files from the data folder if the game has been patched you will also need to extract the files from one of the updates folders as this is where the patched files are located. At the moment you want to extract the files from the \data\updates\update-1720 folder as that is the latest update that patched the fmf files, however if the game gets further patches you will want to extract the files from the latest patch that contains fmf files (you don't need to extract older updates as the latest update contains the older fixes).

7. When extracting the update files I recommend you do it in one of two ways:

If you haven't edited any files yet then when extracting the updates fmf files extract them to the same location in your Working folder as the default files and let the patched files overwrite them, this ensures you are working with the updated files rather than old files.

If you have already made skins/mods/edits then what I'd suggest is to extract the update fmf files into their own location and then compare these files against the default files so you can see what and how files have been changed with the latest patch and whether you need to update old edits for the new patch. Once you have checked the files you can then merge them with the default files.

8. Depending on what you are doing you may need to extract different files, if you are planning on creating a new skin or mod then it is best to extract all of the fmf files, if you are just wanting to edit a couple of things then more than likely the files you are looking for are in the panels.fmf or skins.fmf files. (In both cases also make sure to extract the updated files aswell).


Understanding the Football Manager File Structure

Now that you have extracted the default files you are left with thousands of files and folders seemingly in no order as to where they are located, however understanding the file structure of Football Manager should help you to find the file you are looking for.

If you haven't already browse to your Working folder and open the skins folder.

The first place that FM looks for a file is inside the skins folder for the skin you are using. For example if you are using the Default Football Manager Dark Skin then the folder that the game first looks in is the fm dark folder.

However looking in this folder you won't see much this is because skins can inherit files from parent skins. To see if a skin has a parent skin you need to open the skin_config xml file located inside the <skin name> folder located within the skins folder, so for the Dark Skin you'd look inside skins\fm dark\skin_config.xml from within the files you have extracted, upon opening the file locate this line:

<flags id="parent" value="fm dark-widgets" />

This tells us the parent skin to the Dark skin is the 'fm dark-widgets' skin, and inside the skins folder you'll see there is a folder called fm dark-widgets, upon opening this folder you'll see it has more files than the fm dark folder but still not that many, this is because the fm dark-widgets skin also has a parent skin which in this case is the fm skin.

If you now look in the fm folder you will see this skin has more files and we are finally finding files we might want to edit, however we aren't finished yet as if you look in the fm.xml file you'll see this skin also has a parent skin called fm-widgets.

However if you look in the fm-widgets\skin_config.xml file you'll see that this skin doesn't have a parent skin.

This means when using the Default Dark Skin the game will first look in the fm dark folder for the file it wants, if it doesn't find it it will move onto the fm dark-widgets folder, then the fm folder and finally the fm-widgets folder for the file it is looking for, however it won't look in the fm light folder, so by knowing which parent skins a skin uses you have narrowed down which folders you need to look in. For example you'll see various other folders such as fm light and fm light-widgets within the skins folder however if you are basing a skin off the Default Dark Skin then you don't need to look in those locations as the skin doesn't read the files from those locations.

(The reason for parent skins is to cut down on file duplication - the layout of the dark and fm skins are nearly identical only the colour scheme is different so with the dark skin using the fm skin as a parent we don't need duplicate files in the dark folders as they can just use the fm files, the only files that will be in child skins are files that are different from their parent skins, the upside of this means when you are creating your own skin you only need to include files you have edited rather than all of the files, reducing file size and work you have to do when the game is patched).


If the game cannot find the file it is looking for in the skins folder it will now move onto the other locations. For example if the skin is looking for the 'match incidents small.xml' file it knows it should be in the panels\match folder, however after looking through the files for the Dark Skin and it's parent skins it still cannot find the file it will use the file located inside the panels\match folder you extracted from the panels.fmf file.

The same also applies for graphics if the game cannot find the graphic from the skins folder it will look for it in the graphics folder.

The same system also applies to custom skins, however first it will look for files in the skins folder within your User Data Location that are linked to the skin you are using, it will then move onto the skins.fmf file(s) that came with the game, before moving onto the panels (or graphics) folder located in your User Data Location before finally looking in the default panels.fmf/graphics.fmf file. This explains why when adding certain custom files they need to be located within a custom skin for the game to read them, as it checks the default skins.fmf file before checking the panels or graphics folder within your User Data Location.


 ---
Redistribution Terms
You are free to post this content to your website provided:
1. It is not sold or behind a paywall.
2. You don't advertise it as being exclusive to your website.
3. My username and blog address are included: http://michaeltmurrayuk.blogspot.co.uk/