May 19May 19 Hi. Does anyone have a script or tool to unpack pcfile.dat and commentcount.dat from RTL Ski Jumping 2004? My scrpit doesn't work: import os import struct def extract_packfile(pack_path, output_dir): if not os.path.exists(output_dir): os.makedirs(output_dir) print(f"Opening file: {pack_path}") with open(pack_path, 'rb') as f: # Read "PACK" magic header magic = f.read(4) if magic != b'PACK': print(f"ERROR: Not a valid PACK file! Header found: {magic}") return # Read version and file count (32-bit integers, Little-Endian) version = struct.unpack('<I', f.read(4))[0] file_count = struct.unpack('<I', f.read(4))[0] print(f"Archive version: {version}") print(f"Files to extract: {file_count}") print("-" * 50) files_metadata = [] # Read File Allocation Table (FAT) for i in range(file_count): # File name takes exactly 64 bytes (0x40) name_bytes = f.read(64) # Decode name, stripping trailing null bytes (\x00) name = name_bytes.split(b'\x00')[0].decode('utf-8', errors='ignore').replace('\\', '/') # Read file offset and size offset = struct.unpack('<I', f.read(4))[0] size = struct.unpack('<I', f.read(4))[0] files_metadata.append((name, offset, size)) # Extract files for name, offset, size in files_metadata: if size == 0: continue print(f"Extracting: {name} ({size} bytes)...") # Create directory structure if it doesn't exist full_output_path = os.path.join(output_dir, name) file_dir = os.path.dirname(full_output_path) if not os.path.exists(file_dir): os.makedirs(file_dir) # Seek to file position and read data f.seek(offset) file_data = f.read(size) # Write file to disk with open(full_output_path, 'wb') as out_file: out_file.write(file_data) print("-" * 50) print("Done! All files have been successfully extracted.") if __name__ == "__main__": DATA_FILE = "packfile.dat" OUTPUT_FOLDER = "extracted_files" if os.path.exists(DATA_FILE): extract_packfile(DATA_FILE, OUTPUT_FOLDER) else: print(f"ERROR: Could not find '{DATA_FILE}' in this directory!") print("Please place this script inside the game folder next to packfile.dat.") Links https://www.dropbox.com/scl/fi/k96d1y55u70me01771his/pcfile.zip?rlkey=a2tsjy3mrhxlfjmu9hri076ow&st=2802e9i3&dl=0 commentcount.rar
May 23May 23 Localization I didn't get a notification for this for whatever reason but also this uses a different compression algo than the other RTL ski jumping games so be patient
Create an account or sign in to comment