Pro Evolution Soccer 2019/DLC

From Rigged Wiki
Revision as of 20:47, 7 March 2021 by Shakes (talk | contribs) (Minor additions)
(diff) ← Older revision | Latest revision (diff) | Newer revision → (diff)
Jump to navigation Jump to search
2019 4chanlogo.png
Pro Evolution Soccer 2019
This is still a work in progress.
Please be patient.
Game
Rules
Info
Tools
Modding

A DLC pack contains all the aesthetics files PES needs to run, with the exception of the save file. A pack is prepared for each cup, with different people taking care of different jobs, and the aesthetics helper on duty collecting it all into a working package. The combination of the save file (prepared by the commissioner) and the DLC pack (prepared by the aesthetics helper) should contain everything you need to run PES matches for streaming or testing.

Contents

A DLC pack contains the following contents:

  • The entire PES download folder, which contains swappable aesthetics files;
  • Modified versions of various PES files that the download folder cannot touch, particularly PES2019.exe and Data/dt00_x64.cpk;
  • Additional tools used alongside PES, in particular Sider, which lets PES do a number of aesthetics-related things it can't do on its own.

The bulk of a DLC pack is in the download folder. The download folder contains a collection of CPK files, which are archive files that contain the actual resource files used by PES. CPK files are loaded in a particular order; if a resource file is present in multiple different CPK files, the version in the last-loaded CPK file will be used, and the other versions will be ignored. This behavior is used for distributing midcup updates.

Key files in a DLC pack include the following:

download/DpFileList.bin
Also called DPFL. Contains the list of all cpk files in the download folder, in order. CPK files not listed here do not get loaded, and if this file refers to a nonexistent CPK then PES will not load the DLC at all. It can only be edited with a DPFL editor or a Hex editor.
download/4cc_01_db.cpk
Contains the list of teams, competitions, countries, and many other pieces of internal PES bookkeeping modified for the 4cc. Created once per PES version, and occasionally updated when new teams get added, but otherwise mostly stays the same.
download/4cc_03_base.cpk
Contains stock boots and gloves in a form that can be used by 4cc players. Created once per PES version, and rarely updated.
download/4cc_04_fpc.cpk
Contains replacements of several stock PES files to make FPC work. Created once per PES version, and rarely updated.
download/4cc_08_bins.cpk
Contains the files listing the teams' colors and amount of kits, in addition to a file containing a copy of the kit config files for every team. This file needs complete replacement whenever any team's kit settings or number change, which is really annoying. Created once per cup, and amended with midcups.
download/4cc_10_scoreboard.cpk
Contains 2D graphics such as the title screen. Created for each PES version, and updated once per cup.
download/4cc_15_billboard.cpk
Contains the ad boards surrounding the pitch. Created once per cup.
download/4cc_20_swipe.cpk
Contains the swipe animation PES uses to cut between different shots. Created once per cup.
download/4cc_25_gametips.cpk
Contains the game tips file. Usually created once per cup.
download/4cc_30_stadiums.cpk
Contains the stadiums. Because there are more stadiums in the cup than PES can load at the same time, a new stadiums.cpk is created for each cup, containing the stadiums of the teams that will play in that cup.
download/4cc_32_stadiums2.cpk
Contains updates to stadiums, if necessary. Created as an empty file for each cup, and updated during the cup to fix or change things as necessary.
download/4cc_35_referees.cpk
Contains the referee models. Created once per cup with referees supplied by the host team.
download/4cc_38_balls.cpk
Contains the ball models. Like stadiums, there are more balls in the cup than PES can load, so a new balls.cpk is created for each cup, containing balls for participating teams.
download/4cc_40_faces.cpk
Contains the player models. This includes faces, boots, gloves, collars, the whole shebang. Created once per cup by compiling the aesthetic exports for participating teams into a single cpk.
download/4cc_45_uniform.cpk
Contains kits and team logos. Created once per cup by compiling the aesthetic exports for participating teams into a single cpk.
download/4cc_6*_midcup.cpk
Contains changes to aesthetics added while a cup is in progress. Initially created as a set of placeholder empty files each cup, which allows replacing them without editing the DPFL, a new proper midcup.cpk file is created once per matchday. This usually contains updates to the contents of 40_faces.cpk, 45_uniform.cpk, and 08_bins.cpk, but can on occasion be used to replace anything at all.
PES2019.exe
The PES program itself, of which we used a modified version that lifts certain aesthetical restrictions. Updated whenever new functionality is added.
Data/dt00_x64.cpk
Contains a bunch of core PES files that are not supposed to be changeable, and that the download folder cannot override. We use a custom version in order to support FPC and certain shader extensions. Created once per PES version, and updated whenever new functionality is added.
sider/
An addon program that will let PES do a bunch of aesthetics things it cannot do on its own. Updated for each PES version and whenever new functionality is added.
sider/modules/EvoSwitcher/EvoBanner/
Contains stadium components that announce the name of the running tournament, such as the tunnel arch, stadium banners among the crowd, and other cutscene visuals. Created once per cup.

Making DLC

DLC for a cup is usually made in parts, with different people preparing different files on the list above using different procedures. The aesthetics helper then collects it all, checks whether it all works as expected, packages it up, and publishes the result.

Faces, Kits, and Bins

The download/4cc_40_faces.cpk, download/4cc_45_uniform.cpk, and download/4cc_08_bins.cpk files are created using the AET Compiler, which compiles the aesthetic exports of all teams participating in a cup into those three files. Generating these files involves the following steps:

  1. Unpack the latest version of the AET compiler in a fresh folder.
  2. Collect the aesthetic export for each participating team, and put them all in the aet/exports_to_add folder. Rename each folder to the name of the team it represents.
  3. Make sure the aet/patches_contents and aet/patches_output folders are empty or absent entirely.
  4. In aet/settings.txt, set bins_updating=1, multicpk_mode=1, and compression=2.
  5. Run aet/0_all_in_one.bat to run the compiler.
  6. Check whether everything works as planned. If not, return to step 3.

After a hundred and one rounds of fixing errors and broken aesthetics thanks to the help of the ATF team, this should result in the parts of the DLC that contain the player models.

Midcups

The download/4cc_6*_midcup.cpk files contain updates to aesthetics added after the cup has started. One midcup.cpk file is usually created before each matchday, and often there is a second one on finals day that contains the final boss and other last-minute additions. Midcups usually consists only of updated player models and kit textures, and are created by the AET compiler. Occasionally they also contain other things, the details of which are not described here.

Generating a midcup.cpk involves the following steps:

  1. Collect all aesthetics in the aet/exports_to_add folder that changed since the previous midcup.cpk (or since the creation of 4cc_40_faces.cpk, for the first midcup). Use the folder layout described in Mid_Cup_Aesthetics; a single change for a single face folder for /yourteam/ might look like a folder aet/exports_to_add/YOURTEAM/Faces/00012 - PlayerName/<contents of whole folder>, and nothing else in aet/exports_to_add.
  2. Make sure the aet/patches_contents and aet/patches_output folders are empty or absent entirely.
  3. In aet/settings.txt, set bins_updating=0, multicpk_mode=0, compression=2, and the correct cpk_name.
  4. Run aet/0_all_in_one.bat to run the compiler.
  5. Check whether everything works as planned. If not, return to step 2.

Midcups can only update existing files and add new files to the DLC; they cannot remove files from the DLC. Once a file is in the DLC, it can be replaced by a new file, but it cannot be deleted entirely. This means in particular that a face folder cannot be removed to show an in-game face.

Messing with kits

A major annoyance when creating a midcup lies in the bin files. PES stores kit configuration files for all teams in a single packed file, which in turn is stored in a CPK file. If a single team changes the number of kits it uses, or it changes its kit config files, then this file needs to be regenerated by the compiler. If you don't do this correctly, then you could accidentally put an outdated version of the kit configs bin file into the midcup, which will break the kit configs for all other teams. And that's terrible.

To avoid this problem, the procedure above has bins_updating=0, which means the AET compiler will not touch the bin files no matter what. If you must modify the bin files anyway -- which is the case if you want to put in a fixed kit config file, or add a new kit -- you must supply the AET compiler with the previous version of those bin files, so that the compiler can modify then.

  • If you yourself generated the previous midcup WITH updated bin files, or this is the first midcup and you yourself generated the download/4cc_08_bins.cpk file using the AET compiler, then the previous version of the bin files are already there in the aet/Bin Files folder.
  • If someone else generated the previous midcup.cpk or bins.cpk, copy over the aet/Bin Files folder from them.
  • As a last resort, you can pull the bin files out of the latest version of the DLC. The bin files are stored in the download/4cc_08_bins.cpk file, and may be updated with each midcup.cpk; you can fish the files out of there, using these tools. Put them into the aet/Bin Files folder once you found them.

Once you have the latest bin files in your aet/Bin Files folder, run the compiler with bins_updating=1. This will generate a midcup that includes updated bin files in it.

Obviously, this procedure is finicky and error prone, and it will cause serious problems for all other teams if you mess it up. If you are not very sure you have the right files, tell the managers they are out of luck and no new kits can be submitted at midcup time.