Moderators ikskoks Posted March 13, 2024 Moderators Posted March 13, 2024 Hi. Any tools or scripts available for PAK file from "RTL Ski Jumping 2002" (PC)? Sample file --> https://drive.google.com/file/d/1BKKgEBWTSye_9ayMGSggAeZ6uBg27AeW/view?usp=sharing Compression method is currently unknown. File format should look like this: // PAK file format // directory number_of_files * { 4 bytes (uint32) - compressed file size 4 bytes (uint32) - file ID? 4 bytes (uint32) - unknown 4 bytes (uint32) - unknown 64 bytes (char) - file path // e.g. "SOUND\TEXTPL\10_001A.WAV" } x bytes - padding (nulls) // data number_of_files * { 8 bytes (uint64) - uncompressed file size?? x bytes - compressed file data x bytes - padding (filled with 0xAA 0xAA 0xAA...) }
Engineers Rabatini Posted March 15, 2024 Engineers Posted March 15, 2024 Can´t download it. Virus alert.
DKDave Posted March 15, 2024 Posted March 15, 2024 On 3/13/2024 at 11:11 PM, ikskoks said: Hi. Any tools or scripts available for PAK file from "RTL Ski Jumping 2002" (PC)? Sample file --> https://drive.google.com/file/d/1BKKgEBWTSye_9ayMGSggAeZ6uBg27AeW/view?usp=sharing Compression method is currently unknown. File format should look like this: // PAK file format // directory number_of_files * { 4 bytes (uint32) - compressed file size 4 bytes (uint32) - file ID? 4 bytes (uint32) - unknown 4 bytes (uint32) - unknown 64 bytes (char) - file path // e.g. "SOUND\TEXTPL\10_001A.WAV" } x bytes - padding (nulls) // data number_of_files * { 8 bytes (uint64) - uncompressed file size?? x bytes - compressed file data x bytes - padding (filled with 0xAA 0xAA 0xAA...) } Not sure of compression, looks like some RLE variation, maybe not too complicated. In the file table, the second value is the file offset - multiply by 0x800 to get actual offset. The third value is unknown but always seems to be slightly bigger than the decompressed size. The fourth value is the decompressed size - it should be the same value as in the file data header 1
Engineers Rabatini Posted March 15, 2024 Engineers Posted March 15, 2024 set base_off = 0x800 for get comp long if comp == 0 break endif get offset long get size long get decomp long math offset * base_off getdstring name 0x40 log name offset size next 1
Moderators ikskoks Posted March 16, 2024 Author Moderators Posted March 16, 2024 Thanks for the script. Some files seems to be uncompressed like SOUND\MENU\MALYSZ.WAV
Solution Thief1987 Posted March 19, 2024 Solution Posted March 19, 2024 (edited) Here is the tool for unpacking, with the decompression. To use it just enter archive name in the command line RTLSki2002.rar Edited March 20, 2024 by Thief1987 1
Moderators ikskoks Posted March 20, 2024 Author Moderators Posted March 20, 2024 On 3/19/2024 at 7:11 PM, Thief1987 said: Here is the tool for unpacking, with the decompression. To use it just enter archive name in the command line Thanks. Any chance for source code? And I have some additional questions: 1. Is the compression method well known or is it something custom? 2. What was the purpose of 8 bytes right before compressed data?
Thief1987 Posted March 20, 2024 Posted March 20, 2024 (edited) 1 hour ago, ikskoks said: Thanks. Any chance for source code? And I have some additional questions: 1. Is the compression method well known or is it something custom? 2. What was the purpose of 8 bytes right before compressed data? well, no problem, but I'm just an amateur so it might be hard to read 1. I'm not sure it may be some known LZ variation but I reversed it from exe. 2. It's a decompressed size. Why they need to write it again here when it's already present in the TOC I don't know)) RTL Ski Jumping 2002.rar Edited March 20, 2024 by Thief1987 1
lewyytm Posted December 4, 2024 Posted December 4, 2024 (edited) @ikskoks Were you able to make any changes and package it back up and run the game? Or someone could also add a module to pack it up again to pak file? Edited December 4, 2024 by lewyytm
Moderators ikskoks Posted December 4, 2024 Author Moderators Posted December 4, 2024 6 hours ago, lewyytm said: Were you able to make any changes and package it back up and run the game? No, I wasn't.
lewyytm Posted December 5, 2024 Posted December 5, 2024 (edited) Ok, because I found something on german internet "Real Ski Patch" and I wonder what they exactly do because they propably modified .exe file and extract outside the files graphics http://olaf-asmus.de/showthread.php?tid=63 Edit: I little bit analyzed what’s going on and what I see - there are a few graphics which if we put in springen folder with game the game will load them. But it’s not the rule for all because for example start bib with VCC logo is not working but the lower part of bib we can edit and it’s work. - there are also a folder dat with files dat02 and dat03 and it’s responsible for jumper names and skills. They put them a lot of changes and the results on game are very similar to what happens on season 01/02 in real world (Ammann, Hocke) but these files are not readable in hex so I got no idea how they achieve that. - there is also a modified exe file but is without no-cd crack and I left my original file and I don’t know what was changed in exe file, because names are changed, skills are changed graphics works also. I still think that unpacking, modification and pack .pak file would give a lot of opportunities like change commentary, modifying team competition, and maybe expand list of jumpers or add new countries? There is also a question how much the exe file and file loading there is a blocker to expand the game. I hope that almost someone will help us to pack .pak file again and it will be beginning of reactivating this game. Edited December 5, 2024 by lewyytm
Xneby Posted March 13 Posted March 13 Hi everyone! It turns out packing the packfile.pak file is not necessary. The game searches for files in packfile.pak and if the file is not found it searches in the workdir. So you can unpack packfile.pak to the directory containing the game and get rid of the archive. The game should work just fine. .dat files in Mat directory are simply XOR encrypted using one byte key, which is conveniently written in the first byte of the file. This key must be equal to the sum of individual bytes from the decrypted content. The game follows this logic while saving these files, and checks the key while reading. 1
lewyytm Posted March 16 Posted March 16 It's could be true but I think that we need to improve code to extract .pak file because propably there are still a a few files that are not unpacked. When I deleted .pak file from main folder and paste all folders extracted I got ERROR "no ramp 0 preview picture found! FATAL-ERROR"
Xneby Posted Sunday at 11:20 AM Posted Sunday at 11:20 AM (edited) Are you sure you copied all the files? Especially `GFX/RAMPS/THEMES/OSLO_P.BMP`? This is the preview image for ramp 0 (Yeah, it's Oslo, not Kuopio... Hill numbering is really confusing in this game). Edited Sunday at 11:21 AM by Xneby
lewyytm Posted yesterday at 05:53 PM Posted yesterday at 05:53 PM (edited) @Xnebyyou're right. I suggested that olaf asmus patch extracted the springer folder to the main folder so I did the same. Now the game turns on while I am not able to enter practice mode. During the start of the competition you can see the graphics of the hill and the game is already generating a hill. However when I click to start the competition the game crashes to windows 😞 Edit: I reinstall game and now it's work! Do you think that is possibility to get into the exe file? To 003.dat I made a XOR operation with first value, then edit and save the file but in game I got error "wrong file" so I think that I need do something more with dat file? Edited yesterday at 07:22 PM by lewyytm Update
Xneby Posted 21 hours ago Posted 21 hours ago @lewyytm, what exactly you want to do with executable file? Regarding Mat/003.dat, did you encrypt back the file? If you got `wrong file code !!!` error message, you didn't encrypt the file or did encrypt it with a wrong key (once again, the key *must* be the sum of all individual bytes in unencrypted data).
lewyytm Posted 2 hours ago Posted 2 hours ago @Xneby well I think there is great potential for modding there. All the career strings are there, the whole team competition mode is coded there. I wrote python scripts for that but maybe I do something wrong: https://github.com/lewyytm/SkiJumping2002/tree/main/mat_files
Recommended Posts
Create an account or sign in to comment
You need to be a member in order to leave a comment
Create an account
Sign up for a new account in our community. It's easy!
Register a new accountSign in
Already have an account? Sign in here.
Sign In Now