[Deutscher Text - klick mich!]
With Risen 3 Resource Manager you can view and modify Risen 3 textures, sounds, music, speech, templates and sectors (world files).
This makes it possible to create various types of mods, including balancing mods, texture mods and music mods.
To get started, have a look at the tutorials section.
Update: To create archives with the _z suffix for Risen 3: Enhanced Edition, use this new version of the tool.
Code:------ ------ Risen 3 Resource Manager v1.0 by Baltram <baltram-lielb@web.de> (January 14th 2014) ------ Risen 3 Resource Manager supports conversion of multiple file types related to Risen 3, including images/textures, sounds/music, dialogs/speech, templates, sectors: <folder>, .pak, .r3img, .r3snd, .r3dlg, .r3tpl, .r3sec, .dds, .wav, .r3dlgdoc, .r3tpldoc, .r3secdoc, .r3secmod Below are short instructions on how to perform these conversions. For non-interactive use of this tool, see the list of command line parameters at the end of this document. Unpacking Risen 3 volumes (.pak) Drag the .pak file onto the r3resman.exe. A folder will be created (in the same place as the .pak) containing the volume's contents. Packing Risen 3 volumes (.pak) Drag a folder onto the r3resman.exe and enter the archive generation of your choice (0-9). A .pak volume will be created (in the same place as the folder) containing the folder's contents. The archive generation affects the order in which Risen 3 loads volumes of the same type (e.g. 'img'). It is recommended to use 4-9 as a generation to avoid conflicts with potential upcoming official patches. PAK volumes may only contain resources of ONE type (e.g. .r3img, .r3snd). Converting Risen 3 images (.r3img) to .dds Drag the .r3img file onto the r3resman.exe. To convert all .r3img files in a folder, copy r3resman.exe and r3resman_r3img.cmd in that folder and execute the .cmd file. Converting Risen 3 sounds (.r3snd) to .wav Drag the .r3snd file onto the r3resman.exe. To convert all .r3snd files in a folder, copy r3resman.exe and r3resman_r3snd.cmd in that folder and execute the .cmd file Converting Risen 3 dialogs (.r3dlg) to .wav and .r3dlgdoc Drag the .r3dlg file onto the r3resman.exe. To convert all .r3dlg files in a folder, copy r3resman.exe and r3resman_r3dlg.cmd in that folder and execute the .cmd file. A .r3dlgdoc file contains facial animation and gesture data. It may be viewed and edited in a text editor. There are approx. 30 frames per second of facial animation data (one byte per blend shape). Converting Risen 3 templates (.r3tpl) to .r3tpldoc Drag the .r3tpl file onto the r3resman.exe. To convert all .r3tpl files in a folder, copy r3resman.exe and r3resman_r3tpl.cmd in that folder and execute the .cmd file. .r3tpldoc files can be modified using a text editor. Converting Risen 3 sectors (.r3sec) to .r3secdoc Drag the .r3sec file onto the r3resman.exe. To convert all .r3sec files in a folder, copy r3resman.exe and r3resman_r3sec.cmd in that folder and execute the .cmd file. .r3secdoc files can be modified using a text editor. Converting DDS images to Risen 3 images (.r3img) Drag the .dds file onto the r3resman.exe. To convert all .dds files in a folder, copy r3resman.exe and r3resman_dds.cmd in that folder and execute the .cmd file. Use DXT1 as compression algorithm for opaque textures and DXT3/5 for textures with hard/soft transparency. Converting WAV sounds to Risen 3 sounds (.r3snd) Drag the .wav file onto the r3resman.exe. To convert all .wav files in a folder, copy r3resman.exe and r3resman_wav.cmd in that folder and execute the .cmd file. Converting WAV sounds and .r3dlgdoc files to Risen 3 dialogs (.r3dlg) Drag the .r3dlgdoc file onto the r3resman.exe. There needs to be a .wav file with the same file name in the same folder. To convert all .r3dlgdoc files in a folder, copy r3resman.exe and r3resman_r3dlgdoc.cmd in that folder and execute the .cmd file. Converting Risen 3 template documents (.r3tpldoc) to .r3tpl Drag the .r3tpldoc file onto the r3resman.exe. To convert all .r3tpldoc files in a folder, copy r3resman.exe and r3resman_r3tpldoc.cmd in that folder and execute the .cmd file. Converting Risen 3 sector documents (.r3secdoc) to .r3sec Drag the .r3secdoc file onto the r3resman.exe. To convert all .r3secdoc files in a folder, copy r3resman.exe and r3resman_r3secdoc.cmd in that folder and execute the .cmd file. Processing Risen 3 sector modification files (.r3secmod) Drag the .r3secmod file onto the r3resman.exe. The program will open and modify all sector documents (.r3secdoc) in the same folder as the .r3secmod file. It will also open and read template document files in this folder to obtain the property set data as specified in the .r3secmod file. Property sets in the sectors are replaced by those from the templates. .r3secmod files are text documents that contain one or multiple lines. Each line starts with the GUID or the name of a template (the name must be in quotes). The rest of the line consists of a list of property set names separated by spaces. Example of a two-line .r3secmod file: "It_Pl_Maki" gCItem_PS gCInteraction_PS {5F97FAE7-0F15-4549-B0DB-B9488CFE2212} gCSkillsNPC_PS Command line parameters: --non-interactive - Disables requests for user interaction (like pressing the enter key) --generation [number in range 0-9] - Specifies the generation when creating .pak volumes r3resman.exe <file or folder> <parameters>
[technical details]
Spoiler:(zum lesen bitte Text markieren)When packing/unpacking PAK archives, this tool resolves resource hashes, thus giving the resource files meaningful names.
File format description of the generated resource files (.r3img, .r3msh, .r3tpl etc.):
(It's basiacally the .rom file plus the corresponding entry in the .db file glued together.)Code:Header { char8_t Magic[4]; // "R3RF" uint32_t ResourceHeaderOffset; } uint8_t _unknown[36]; // 0 ResourceData { uint8_t Data1[ResourceOffsetTable.Data1Size]; uint8_t Data2[ResourceOffsetTable.Data2Size]; uint8_t Data3[ResourceOffsetTable.Data3Size]; uint8_t Data4[ResourceOffsetTable.Data4Size]; } ResourceOffsetTable { uint32_t Data1Offset; uint32_t Data1Size; char8_t _unknown1; // 0x00 uint32_t Data2Offset; uint32_t Data2Size; char8_t _unknown2; // 0x00 uint32_t Data3Offset; uint32_t Data3Size; char8_t _unknown3; // 0x00 uint32_t Data4Offset; uint32_t Data4Size; char8_t _unknown4; // 0x00 } ResourceHeader { uint32_t ResourceClassHash; // djb2 char8_t ResourceClassRevision[4]; uint32_t DatabaseEntrySize; // sizeof(ResourceHeader) - 12 uint32_t RawFileTime[2]; // FILETIME with high/low swapped uint32_t _unknown1[2]; // FILETIME with high/low swapped - Raw created? uint32_t _unknown2[2]; // FILETIME with high/low swapped - Raw created? uint32_t CompiledFileTime[2]; // FILETIME with high/low swapped, not rounded to nearest 10000 ResourceName { uint32_t Length; char8_t String[Length]; } ResourceOffsetTable { uint32_t Data1Offset; uint32_t Data1Size; char8_t _unknown1; // 0x00 uint32_t Data2Offset; uint32_t Data2Size; char8_t _unknown2; // 0x00 uint32_t Data3Offset; uint32_t Data3Size; char8_t _unknown3; // 0x00 uint32_t Data4Offset; uint32_t Data4Size; char8_t _unknown4; // 0x00 } uint32_t ReferencedFileCount; for( ReferencedFileCount ) uint32_t FileTime[2]; // FILETIME with high/low swapped for( ReferencedFileCount ) { FileName { uint32_t Length; char8_t String[Length]; } } uint32_t _unknown; // 0x00000000 uint32_t ResourceObjectSize; ResourceObject { char8_t Magic[4]; // "GEC2" uint32_t ResourceClassHash; uint16_t Version; uint32_t Size; // ResourceObjectSize - 14 { Prop { uint16_t Count; for( Count ) { uint32_t TypeHash; uint32_t NameHash; uint32_t Size; uint8_t Data[Size]; } } ClassData { uint32_t Count; for( Count ) { uint32_t ClassHash; uint16_t Version; uint32_t Size; uint8_t Data[Size]; } } } } }
[source code]
Ergebnis 1 bis 20 von 47
-
Geändert von Baltram (23.08.2015 um 15:16 Uhr)
-
sounds great
i tried to extract the snds pack file (i took the pack file to the program folder and pressed enter, mut it seems as if nothing happened, where should the extracted files be?)
-
-
- Registriert seit
- Sep 2014
- Beiträge
- 6
For testing purposes, I unpacked a .pak and then repacked the created folder (and files) using RisenPAK. I then renamed the new .pak to what the original was and replaced the original. However when starting the game, the assets were clearly missing.
What am I doing wrong?
EDIT: Oh, I just remembered your unpacker renamed files to make sense.Geändert von Waybook (10.09.2014 um 18:12 Uhr)
-
RisenPAK is not suitable for packing folders that have been created using Risen 3 Resource Manager. In the future I will add the feature to repack the resources but for now this tool is a one way ticket.
What you could do is download (and modify) Risenaut and unpack the .pak archives with it. Then you can modify the resources and repack them using RisenPAK. But this way you need to resolve the resources hashes yourself using the unpacked .csv file.
-
- Registriert seit
- Sep 2014
- Beiträge
- 6
Ok, thanks for the advice. I managed to figure things out.
I wanted to remove the eyepatch you get when joining the mages, but it's in the same file as the glove so I can't remove one without the other.
-
- Registriert seit
- Aug 2008
- Beiträge
- 174
When the input file is specified without path (for ex. r3resman.exe Map_World_Mip0_00_00_DfA.r3img) the tool outputs the resulting file into the root folder of the current drive instead of the current folder.
-
-
Mini-tool: *klick*
MfG MaGoth,|: WOG.de :|: WOG.en :|: WOG.ru :|: WOG.ro :|||: MAGIC-Team :|
[Bild: 106462_941c3dcc88ff9e9b5597d9f24d9aea88.jpg]
|: WOR.de :|: WOR.en :|: WOR.ru :|: WOR.ro :|||: Piranha-Bytes :|
-=GOTHIC UND DIE FREUNDSCHAFT FÜR ALLE ZEITEN!=-
-
Hallo Baltram, wann kann man ungefähr mit einem Converter von dds zurück in r3img rechnen? Ich arbeite zur Zeit an zwei Skins für Patty und für Shax. Für Patty werde ich wohl mehrere Versionen machen. Ich überlege im Moment nur wie ich diese Riesenoberweite etwas überspielen kann.
Der nächste Skin wird wohl für Mara sein. Ich habe die Texturen für Mara aus Risen 2 irgendwie höher in Erinnerung.
Danke für Deine Bemühungen.
-
-
Sehr cool, ich freu mich drauf. Bis dahin werde ich wohl auch mehrere Versionen von Patty fertig haben.
-
Version 0.2 - Now with support for creating .pak files and converting .dds to .r3img
Texture modding is finally possible!
-
-
Mit dem Risen 3 Resource Manager können Texturen, Sounds, Musik, Sprachausgabe, Templates und Sektoren (Weltdateien) von Risen 3 geöffnet und modifiziert werden.
Das ermöglicht es, verschiedene Arten von Mods zu erstellen, darunter Textur-Mods, Musik-Mods und Balancing-Mods.
Schaut für den Einstieg im Tutorial-Bereich vorbei.
Code:------ Risen 3 Resource Manager v1.0 by Baltram <baltram-lielb@web.de> (14. Januar 2014) ------ Risen 3 Resource Manager ermöglicht das Umwandeln von diversen Dateiformaten im Zusammenhang mit Risen 3, einschließlich Bildern/Texturen, Sounds/Musik, Dialoge/Sprachausgabe, Templates, Sektoren: <Ordner>, .pak, .r3img, .r3snd, .r3dlg, .r3tpl, .r3sec, .dds, .wav, .r3dlgdoc, .r3tpldoc, .r3secdoc, .r3secmod Weiter unten stehen Kurzanleitungen zu den verschiedenen Umwandlungen. Für die nicht-interaktive Benutzung des Tools stehen einige Kommandozeilenparameter zur Verfügung, die am Ende dieses Dokuments aufgelistet sind. Risen 3-Archive entpacken (.pak) Ziehe die .pak-Datei auf die r3resman.exe. Es wird (am selben Ort wie die .pak) ein Ordner erstellt, der den Inhalt der .pak enthält. Risen 3-Archive erstellen (.pak) Ziehe einen Ordner auf die r3resman.exe und gib die gewünschte Generation ein. Es wird ein .pak-Archiv mit dem Inhalt des Ordners erstellt (am selben Ort wie der Ordner). Die Generation des Archivs bestimmt die Reihenfolge, in der Risen 3 Archive des gleichen Typs (z.B. 'img') lädt. Es ist empfehlenswert, nur die Nummern von 4 bis 9 als Generation zu verwenden, um Konflikte mit möglichen zukünftigen Patches zu vermeiden. PAK-Archive dürfen nur Resourcen EINES Typs enthalten (z.B. .r3img, .r3snd). Risen 3-Bilder (.r3img) ins .dds-Format umwandeln Ziehe die .r3img-Datei auf die r3resman.exe. Um sämtliche .r3img-Dateien in einem Ordner umzuwandeln, kopiere die r3resman.exe und r3resman_r3img.cmd in diesen Ordner und führe die .cmd-Datei aus. Risen 3-Sounds (.r3snd) ins .wav-Format umwandeln Ziehe die .r3snd-Datei auf die r3resman.exe. Um sämtliche .r3snd-Dateien in einem Ordner umzuwandeln, kopiere die r3resman.exe und r3resman_r3snd.cmd in diesen Ordner und führe die .cmd-Datei aus. Risen 3-Dialoge (.r3dlg) umwandeln in .wav und .r3dlgdoc-Dateien Ziehe die .r3dlg-Datei auf die r3resman.exe. Um sämtliche .r3dlg-Dateien in einem Ordner umzuwandeln, kopiere die r3resman.exe und r3resman_r3dlg.cmd in diesen Ordner und führe die .cmd-Datei aus. Eine .r3dlgdoc-Datei enthält Daten zu Gesten und Lippenbewegung. Sie kann in einem Texteditor geöffnet und bearbeitet werden. Es existieren ca. 30 Frames/sec an Daten zur Lippenbewegung (1 Byte pro Blendshape). Risen 3-Templates (.r3tpl) ins .r3tpldoc-Format umwandeln Ziehe die .r3tpl-Datei auf die r3resman.exe. Um sämtliche .r3tpl-Dateien in einem Ordner umzuwandeln, kopiere die r3resman.exe und r3resman_r3tpl.cmd in diesen Ordner und führe die .cmd-Datei aus. .r3tpldoc-Dateien können mit einem Texteditor bearbeitet werden. Risen 3-Sektoren (.r3sec) ins .r3secdoc-Format umwandeln Ziehe die .r3sec-Datei auf die r3resman.exe. Um sämtliche .r3sec-Dateien in einem Ordner umzuwandeln, kopiere die r3resman.exe und r3resman_r3sec.cmd in diesen Ordner und führe die .cmd-Datei aus. .r3secdoc-Dateien können mit einem Texteditor bearbeitet werden. .dds-Dateien in Risen 3-Bilder (.r3img) umwandeln Ziehe die .dds-Datei auf die r3resman.exe. Um sämtliche .dds-Dateien in einem Ordner umzuwandeln, kopiere die r3resman.exe und r3resman_dds.cmd in diesen Ordner und führe die .cmd-Datei aus. Texturen ohne Transparenz sollten mit DXT1 komprimiert sein, für Texturen mit harter/weicher Transparenz eignet sich DXT3/5. .wav-Dateien in Risen 3-Sounds (.r3snd) umwandeln Ziehe die .wav-Datei auf die r3resman.exe. Um sämtliche .wav-Dateien in einem Ordner umzuwandeln, kopiere die r3resman.exe und r3resman_wav.cmd in diesen Ordner und führe die .cmd-Datei aus. .wav und .r3dlgdoc-Dateien in Risen 3-Dialoge (.r3dlg) umwandeln Ziehe die .r3dlgdoc-Datei auf die r3resman.exe. Im selben Ordner muss sich eine .wav-Datei mit dem gleichen Dateinamen befinden. Um sämtliche .r3dlgdoc-Dateien in einem Ordner umzuwandeln, kopiere die r3resman.exe und r3resman_r3dlgdoc.cmd in diesen Ordner und führe die .cmd-Datei aus. Risen 3-Template-Dokumente (.r3tpldoc) ins .r3tpl-Format umwandeln Ziehe die .r3tpldoc-Datei auf die r3resman.exe. Um sämtliche .r3tpldoc-Dateien in einem Ordner umzuwandeln, kopiere die r3resman.exe und r3resman_r3tpldoc.cmd in diesen Ordner und führe die .cmd-Datei aus. Risen 3-Sektor-Dokumente (.r3secdoc) ins .r3sec-Format umwandeln Ziehe die .r3secdoc-Datei auf die r3resman.exe. Um sämtliche .r3secdoc-Dateien in einem Ordner umzuwandeln, kopiere die r3resman.exe und r3resman_r3secdoc.cmd in diesen Ordner und führe die .cmd-Datei aus. Risen 3 Sektor-Modifikatoren (.r3secmod) anwenden Ziehe die .r3secmod-Datei auf die r3resman.exe. Das Programm verändert alle Sektor-Dokumente (.r3secdoc) im selben Ordner wie die .r3secmod-Datei. Um an die PropertySet-Daten zu kommen, die in der .r3secmod-Datei angegeben sind, liest es die .r3tpldoc-Dateien in diesem Ordner aus. Die PropertySets der Sektoren werden ersetzt durch die PropertySets der Templates. .r3secmod-Dateien sind Textdateien, die aus einer oder mehreren Zeilen bestehen. Jede Zeile beginnt mit der GUID oder dem Namen (in Anführungszeichen) eines Templates. Der Rest der Zeile besteht aus einer Liste von Namen von PropertySets, getrennt durch Leerzeichen. Beispiel einer zweizeiligen .r3secmod-Datei: "It_Pl_Maki" gCItem_PS gCInteraction_PS {5F97FAE7-0F15-4549-B0DB-B9488CFE2212} gCSkillsNPC_PS Kommandozeilenparameter: --non-interactive - Deaktiviert Aufforderungen zur Interaktion (z.B. Drücken der Enter-Taste) --generation [Zahl von 0 bis 9] - Bestimmt die Archiv-Generation beim Erstellen von .pak-Dateien r3resman.exe <Datei oder Ordner> <Parameter>
[Technisches]
Spoiler:(zum lesen bitte Text markieren)Beim (Ent)packen von .pak-Archiven werden die Resource-Hashes aufgelöst, so dass die Resourcen sinnvolle Dateinamen erhalten.
Dateiformat der generierten Resourcendateien (.r3img, .r3msh, .r3tpl etc.):
Code:Header { char8_t Magic[4]; // "R3RF" uint32_t ResourceHeaderOffset; } uint8_t _unknown[36]; // 0 ResourceData { uint8_t Data1[ResourceOffsetTable.Data1Size]; uint8_t Data2[ResourceOffsetTable.Data2Size]; uint8_t Data3[ResourceOffsetTable.Data3Size]; uint8_t Data4[ResourceOffsetTable.Data4Size]; } ResourceOffsetTable { uint32_t Data1Offset; uint32_t Data1Size; char8_t _unknown1; // 0x00 uint32_t Data2Offset; uint32_t Data2Size; char8_t _unknown2; // 0x00 uint32_t Data3Offset; uint32_t Data3Size; char8_t _unknown3; // 0x00 uint32_t Data4Offset; uint32_t Data4Size; char8_t _unknown4; // 0x00 } ResourceHeader { uint32_t ResourceClassHash; // djb2 char8_t ResourceClassRevision[4]; uint32_t DatabaseEntrySize; // sizeof(ResourceHeader) - 12 uint32_t RawFileTime[2]; // FILETIME with high/low swapped uint32_t _unknown1[2]; // FILETIME with high/low swapped - Raw created? uint32_t _unknown2[2]; // FILETIME with high/low swapped - Raw created? uint32_t CompiledFileTime[2]; // FILETIME with high/low swapped, not rounded to nearest 10000 ResourceName { uint32_t Length; char8_t String[Length]; } ResourceOffsetTable { uint32_t Data1Offset; uint32_t Data1Size; char8_t _unknown1; // 0x00 uint32_t Data2Offset; uint32_t Data2Size; char8_t _unknown2; // 0x00 uint32_t Data3Offset; uint32_t Data3Size; char8_t _unknown3; // 0x00 uint32_t Data4Offset; uint32_t Data4Size; char8_t _unknown4; // 0x00 } uint32_t ReferencedFileCount; for( ReferencedFileCount ) uint32_t FileTime[2]; // FILETIME with high/low swapped for( ReferencedFileCount ) { FileName { uint32_t Length; char8_t String[Length]; } } uint32_t _unknown; // 0x00000000 uint32_t ResourceObjectSize; ResourceObject { char8_t Magic[4]; // "GEC2" uint32_t ResourceClassHash; uint16_t Version; uint32_t Size; // ResourceObjectSize - 14 { Prop { uint16_t Count; for( Count ) { uint32_t TypeHash; uint32_t NameHash; uint32_t Size; uint8_t Data[Size]; } } ClassData { uint32_t Count; for( Count ) { uint32_t ClassHash; uint16_t Version; uint32_t Size; uint8_t Data[Size]; } } } } }
[Quellcode]Geändert von Baltram (17.01.2015 um 02:15 Uhr)
-
New version: 0.3 - Support for creating Risen 3 sounds/music (.r3snd) and dialogs/speech (.r3dlg)
--
Neue Version: 0.3 - Unterstützt das Erstellen von Risen 3-Sounds/Musik (.r3snd) und Dialogen/Sprachausgabe (.r3dlg)
-
- Registriert seit
- May 2011
- Beiträge
- 10
Does it work for X360 please ?
-
-
- Registriert seit
- May 2011
- Beiträge
- 10
-
Here is a file format description by NicoDE.
Other than that I can't help you because
A) I don't know how to resove the string hashes (IDs)
B) I am not familiar with: