Even with the generator, things can go wrong. Here are the top 5 issues and how to fix them.
You can save the following code as generate_dp_file.py and place it in your PES 2016 download folder. download dp file list generator pes 2016
import os import structdef generate_dp_file_list(directory): """ Generates a dpfilelist.bin for PES 2016 based on CPK files in the directory. """ cpk_files = [f for f in os.listdir(directory) if f.lower().endswith('.cpk')] cpk_files.sort() # Ensure consistent ordering Even with the generator, things can go wrong
if not cpk_files: print("No CPK files found in the directory.") return # Structure of a DP File List entry (PES 2016 format) # The file consists of: # 1. A header (number of entries) # 2. A directory entry (usually empty or specific path) # 3. Info entries for each CPK file num_entries = len(cpk_files) + 1 # +1 for the directory entry # Header construction # 4 bytes: Unknown/Version (usually 0x00) # 4 bytes: Number of entries header = struct.pack('<II', 0, num_entries) entries = [] # The first entry is typically the root directory indicator # Format: ID (4 bytes), Order (4 bytes), Name Size (4 bytes), Name (n bytes) # ID is usually 0 for the root. root_name = "" root_entry = struct.pack('<III', 0, 0, len(root_name)) + root_name.encode('utf-8') entries.append(root_entry) # Process CPK files for i, filename in enumerate(cpk_files): # Order is usually the index + 1, or determined by specific mod loader logic # We assign an ID and Order based on the sorted list index file_id = i + 1 file_order = i + 1 name_bytes = filename.encode('utf-8') # Pack: ID (uint32), Order (uint32), NameLength (uint32), Name (string) entry = struct.pack('<III', file_id, file_order, len(name_bytes)) + name_bytes entries.append(entry) # Combine all parts binary_data = header + b''.join(entries) output_path = os.path.join(directory, 'dpfilelist.bin') try: with open(output_path, 'wb') as f: f.write(binary_data) print(f"Successfully generated dpfilelist.bin with len(cpk_files) CPK entries.") print(f"Output: output_path") except IOError as e: print(f"Error writing file: e")
if name == "main": # Assuming the script is run inside the 'download' folder current_dir = os.getcwd() print(f"Scanning directory: current_dir") generate_dp_file_list(current_dir)if name == " main ": # Assuming
Download DP File List Generator (often called “DPFileList Generator”) is a community-made utility used with Pro Evolution Soccer 2016 (PES 2016) to manage and load multiple PES patch files (commonly .dps / .cpk / .img variants and the DPFileList.bin that lists which files the game loads). It lets players combine stadiums, kits, faces, balls, and other mods into a single active file list so the game recognizes and uses them.
Right-click on DpFileList Generator.exe and select Run as Administrator. This ensures the tool can write the new .bin file into the protected download folder.