Pro Evolution Soccer 2016/Strings
Note: the references to the *.cpk files might be out of date.
Pro Evolution Soccer 2016
Strings are a sequence of characters that make up words or texts. PES has a huge amount of strings; almost every word on screen that is not part of a texture is stored as a string.
If you just want to suggest a game tip to be used for major cups, please use the game tip submission form and disregard this article.
To retrieve the original string files and ultimately get custom strings into the game, you should be familiar with DLC.
Strings in PES
Generally speaking, strings that can be edited in-game (like player and team names) are stored within the save file. Most other strings (like menu items, explanations, game tips), however, are stored in the game data.
This article does not cover strings that are stored in the save file. Edit those strings in-game whenever possible or use an external tool. See Pro_Evolution_Soccer_2016/Save_Editor for more details. Note that there are a few inconsistencies when it comes to division names, as those appear in the save game as well as in the game data and might be used interchangeably.
PES stores strings in files ending in .str which are in turn packed into .cpk containers. Within the string files there are named blocks, usually indicating where the strings within that block are used. All string files are sorted by the containers they are found in as listed below. You can find these files in the Data folder of your PES installation.
There are 19 string files in dt17.cpk, each representing the same strings in a different language. Not all of the languages present actually have strings available in other places, and even less might be selectable within the game. Here is a full list:
Currently, these string files are left untouched, as all strings modified so far are found somewhere else.
Most (but not all) of the languages found in dt17.cpk have their own version of this container, with xxx corresponding to the same abbreviation as in the above list. Unlike in dt17.cpk, all files bear the same name but are placed within different subdirectories:
- xxx/string/all.str - almost all strings used in the game, including game tips
- xxx/string/common.str - most top level menu items and very general terms
- xxx/string/staff_list.str - staff roll
Almost all modified strings are found within all.str and common.str.
String Editing Tools
There are three known string editing tools.
PES STR Editor by Mustafa U.
This tool helps to change strings for PES 2016. This program can manage offsets and sizes correctly. There is no issue with this program (String length, NoString etc.) like another editors. It's usage is easy and safe.
Jenkey's File Explorer
While originally written for PES14, Jenkey's File Explorer can still be used for modifying certain aspects of PES16. However, there are some incompabilities and issues:
- A string file has to be unpacked (unzlib'ed) with another tool first due to changes between PES14 and PES16.
- Clicking the wrong button at the wrong time might irreversibly damage the file. This is made evident by missing block names or all strings being replaced with ~.
- Changes are not always applied and saved as expected. Always reopen the file to make sure.
- After applying modifications, the file becomes unreadable by other known editors as Jenkey injects a custom string into the file.
- Importing from an *.ini file does not support new line or other special characters (umlauts, unicode, ...).
It is not recommended to use this tool for editing strings in PES16. For PES14 however, it remains the best option.
STR Editor PES2015
This tool (also known as STREditor or TestSTR) written by Julian Cames focuses, like the name suggests, on string files for PES15 exclusively (it also works with PES16). While it seems to be easy to use and reliable at first glance, it also comes with some issues:
- When replacing a string with a shorter one, the string is padded with zeros to avoid rebuilding the file. While PES accepts this lazy solution, this might a be sign of a lack of understanding by the tool creator.
- After replacing a string, the tool might clear all data from the following block. This cannot be reversed. It is unclear why and when this happens, but it might be partially related to replacing a string with a longer one.
- Under unknown circumstances, blocks might get shortened, losing some string entries at the end. This cannot be reversed.
- It cannot handle staff_list.str.
Fortunately, PES handles missing strings without crashing and will display NoString instead of the string in question.
See Game Tips for detailed information on game tips.
Note: it is no longer recommended to use any of the tools below. There are Python scripts available that do a better job.
The tool of choice is STR Editor PES2015. As already implied above, the bugs present in the available tools force us to follow a strict workflow.
As string files cannot be merged, get hold of a version of the file you want to modify first that already has other wanted modifications present. Furthermore, always make a backup of the string file before editing it, as it might get irreversible damaged in the process. Keep a little backup history in case you did not catch a file corruption right away.
|Remember:||Always reopen the string file you modified and check for signs of corruption listed below.|
Editing single entries
Replacing single strings is an easy task and can be done with just the tool mentioned above. Keep in mind however that PES might use the same string in multiple places, but also might keep separate strings for the same words. Other strings are leftovers from development and might never show up under normal circumstances.
As a result, you have to test your modifications thoroughly to make sure you are actually changing what you want without breaking anything else in the process.
There are scripts and tools written by 4CC staff that automatise bulk editing and other features. They might be released at a later date.
Spotting a corrupt string file
While this list might be incomplete, these are known signs for a corrupt string file:
- A block that used to have content does not have a single entry; however, there might be some blocks that have no entries by default (caused by and found in STR Editor PES2015).
- A block has less entries than it had before (caused by and found in STR Editor PES2015).
- A block has no name (caused by and found in File Explorer).
- All entries of a block are replaced with ~ (caused by and found in File Explorer).
- Editing one entry actually changes another instead (caused by and found in File Explorer).
- File cannot be opened with STR Editor PES2015 (caused by File Explorer).
If you spot one of these signs, cease using this file for further modifications and rollback to an uncorrupted version. It might still work with PES, but keep in mind that PES shows NoString if it cannot find the needed entry.
The default language used in the 4chan Cup is eng (British English), rather than use (US English). You might have to change your in-game language to British English first (this can be done in the settings within the game).
Nevertheless, it is advised to provide at least common.str for all languages as PES loads the language settings after the title screen. This means that the title screen is always shown in the system language, which depends on the operating system and varies from host to host. Furthermore, some hosts might forget to change their in-game language as it is easy to miss.
To resolve both of these issues, simply put duplicates of common.str and all.str in all language folders. Check the available versions of dt20_xxx.cpk for a full list.
Strings may include special character sequences which influence the way PES handles the string. Most of these are used to display game pad buttons within text.
- \10 (unix-style line feed) - new line
- (more to come)
As the game strings affect PES on a global level, they are handled by someone appointed by the 4CCC. Check with them if you have any questions. You can find their contact info here.
If you just want to submit game tip ideas for a major Cup, use the game tip submission form.