Pro Evolution Soccer 2015/Strings
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.
- 1 Prerequirements
- 2 Strings in PES
- 3 String editing tools
- 4 Game tips
- 5 Workflow
- 6 Contributing
- 7 Links
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_2015/PES_Next-Gen_Editor_2015 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 currently two known string editing tools. Both come with their own set of flaws which make them a pain to use. Futhermore, they are not compatible with one another.
Jenkey's File Explorer
While originally written for PES14, Jenkey's File Explorer can still be used for modifying certain aspects of PES15. 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 PES15.
- 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 PES15. 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. 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.
Fortunately, PES handles missing strings without crashing. Losing the block after Tip2C (the second block used for game tips) for example does not seem to be an issue. If Tip2C however gets cleared for example, NoString might show up instead of a game tip.
Game tips show up during the loading screen before a match starts. While the game actually cycles through them while loading, usually only one will show up before it is done.
Each Game Tip in PES has two parts: a caption and a body. These are stored as two separate string entries in the blocks Tip1C and Tip2C of all.str. Unfortunately, it is not always obvious which body belongs to which caption. In fact, they are so scrambled in PES15 that it is not safe to assume that a caption and a body are a pair just because their neighbours are.
A list of all known pairs can be found here. This list will later be replaced with the one used by the internal 4cc game tip tool.
It should be noted that finding yet unknown pairs is unlikely and not necessary at this moment.
The following issues with Game Tips in PES15 are currently present:
- Despite intensive testing, not all pairs are known (and might never be). This can be handled by using an empty caption for these.
- Not all captions are found in Tips1C and Tips2C. Rarely, certain game terms are shown instead. It is unclear at this point where those are taken from.
- The string tools currently available are bugged and are missing features.
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.
Bulk editing for game tips
With hundreds of string entries used for game tips, editing them all by hand would be too much work.
There are scripts and tools written by 4CC staff that automatise this process to a certain extent. 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.