[Tool] FUK Extractor v1.1 - PR3/P4/GAM kompatibel - 09/09/12
#1
Hallo zusammen/Hi there!

[Due to the fact that I originally posted this in the German subforum but still want international users to be able to access this tool you'll see bits of English every now and then in this post.]

Hier ist ein Extraktor für FUK-Dateien, der sowohl Patrizier 4, Port Royale 3 als auch Grand Ages: Medieval unterstützt: Download

Hier ist die ReadMe (englisch):
ReadMe Wrote:AUTHOR: Copernicus aka cope
CONTACT: Visit the Kalypso forums and send me a PM
GAME: Patrician IV / Port Royale 3 / Grand Ages: Medieval
GAME VERSION: should work for any version
DESCRIPTION: Cope's Fuk Extractor (aka 'The Unfuker')
VERSION: 1.1

Table of Contents:
1. Installation
2. Usage
3. Changelog

------------------------------

1. Installation:

Requires .NET Framework 4.0.

Extract the contents of this archive to the directory of your choice.

------------------------------

2. Usage:

Usage:
       unfuk.exe <input_file> [<output_path>]

The output path defaults to the current directory plus the name of the archive if not explicitly specified.
You can also drag-and-drop the FUK file onto the executable.

------------------------------

3. Changelog:

1.1 - 2016-07-08
 - the tool now properly deals with compressed files.

Nun noch ein paar Worte zum FUK-Dateiformat. [My notes on the FUK file format specs.]
Code:
0x4 - uint - identifier 0x12345678
0x4 - uint - version: 0x00 (P4), 0x20 (PR3)

0x4 - uint - num entries (== num strings)
IF PR3:
    0x4 - uint - num files
0x4 - uint - length of string blob in bytes

IF PR3:
    0x4 - unknown - probably a flag related to different platforms (console?)
    
LOOP entry count
    0x4 - int  - next id in list (or -1)
    0x4 - int  - child  id (or -1 -> file)
    0x4 - int  - parent id (or -1 -> root)
    0x4 - uint - name offset relative o string blob beginning

LOOP entry count
    0x4 - uint  - file length (0 for directories)
    0x4 - uint  - file length again (compressed, or equal to previous field if uncompressed)?
    0x4 - uint  - PR3: some kind of index?
                   P4: file offset

IF PR3:
    LOOP file count
        0x4 - uint  - file offest / 16 (files are aligned to 0x10)

0xXX - string blob (c-strings, ascii)
0xXX - file data

Original Posting:
cope Wrote:Nur mal angenommen, ich hätte mir heute die Zeit genommen, einen Extraktor für *.fuk Dateien zu schreiben (sowohl P4 als auch PR3 kompatibel). Hätte man seitens Kalypso/Gaming Minds etwas dagegen, wenn ich diesen veröffentlichte? (Da verschiedene Entwickler ganz unterschiedlich darauf reagieren, schadet es nicht, vorher zu fragen. Schließlich ist es ihr Produkt.)

[Übrigens scheinen mir Fragen nach ini-Dateien momentan fehl am Platze, da die fuk-Dateien von PR3 - anders als die von P4 mit Addon - die relevanten ini-Dateien nicht beinhalten.]

Wo wir gerade dabei sind: Erst vor ein paar Wochen habe ich mir P4 und PR3 zugelegt; großes Lob! (Als P2-Veteran schrecke ich allerdings jedes Mal auf, wenn ein Konvoi im Hafen ankommt - schon wieder Abrechnung? Wink )

Gruß,
-cope.
Reply
#2
Gibts im englischen Forum schon eine ganze Weile.
http://forum.kalypsomedia.com/showthread.php?tid=14872

Aber solange es nur die binär .dat's gibt und keine Dateien auf Textbasis bringt das leider nicht so wahnsinnig viel. Die meisten relevanten Daten sind da zwar sicher drin, aber bis Schiffsdaten wurde bisher scheinbar noch nichts "Entschlüsselt"
Reply
#3
Hallo Eni,

danke für den Link. Mir war nicht klar, dass es ein ähnliches Tool schon gibt. Ich werde mein trotzdem hochladen, da meines zudem P4 FUKs entpackt (siehe OP).
Die interessante Datei - constdata.dat - ist wohl ein serialisiertes struct, d.h. die Information, welcher Wert was bedeutet, ist implizit codiert - nämlich in der Position der Daten. Ein wirkliches Entschlüsseln der Datei hieße, dass man den Deserialisierungscode reversed. Die Executable von PR3 ist gepackt (bis auf .data), ein Entschlüsseln der relevanten Datei dürfte also einiges an Aufwand bedeuten.

Gruß,
-cope.
Reply
#4
I'm sorry, I try to understand how to use unfuk.exe to change the social rise requirements in patrician 4 - a rise of a dynasty, but I can't speak Deutsch. I used it on data.fuk then I've found the file "playerdata" in "ini" directory and I've changed some values.

But now what can I do to reinsert it in data.fuk file? How can I recomposed the directory "data" that I have decompressed with unfuk program?
Reply
#5
create an ini directory in the program folder
e.g. C:\Program Files (x86)\Kalypso Media\Patrizier 4\ini
depending on the game source retail/download/steam... and operating system it can de at a different position
copy your edited file into that folder
restart the game
Reply
#6
So i leave in the Patrician 4 directory the original file "data.fuk", but I add in Patrician 4 directory the directory "ini" and copy here the "playerdata" file modified?
Reply
#7
(27-10-2012, 06:17 PM)bottefede Wrote: So i leave in the Patrician 4 directory the original file "data.fuk", but I add in Patrician 4 directory the directory "ini" and copy here the "playerdata" file modified?
yes
Reply
#8
Thank you very much! It seems work correctly!
Reply
#9
Und was bringt das genau wenn man das machen kann?
Reply
#10
Patrician IV
No extract addon.fuk and loca.fuk (file size over 1.5gb) ->  System.OutofMemory

System specs:
16GB ram
Reply




Users browsing this thread: 1 Guest(s)