Skip to content

Commit

Permalink
[Tools] DecDat and VDFS Tool articles
Browse files Browse the repository at this point in the history
  • Loading branch information
muczc1wek committed Feb 11, 2024
1 parent 2050f88 commit 530e888
Show file tree
Hide file tree
Showing 5 changed files with 52 additions and 3 deletions.
20 changes: 20 additions & 0 deletions docs/zengin/tools/daedalus_tools/decdat.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,20 @@
# DecDat

DecDat[^1] is a daedalus scripts decompiler orginaly created by [Gottfried](https://forum.worldofplayers.de/forum/members/28709-Gottfried). Its goal is to replace Gothic Sourcer's decompiler, which wouldn't been able to decompile scripts with [Ikarus](../../scripts/extenders/ikarus/index.md) and [LeGo](../../scripts/extenders/lego/index.md). However, that doesn't mean that DecDat is able to produce data that can be compiled again. This tool should be used mainly for research and educational purposes. Source code is available [here](https://github.com/auronen/DecDat/).

## Instalation

The tool is written in Java, allowing it to be executed seamlessly on both Windows and Linux operating systems. To utilize the tool, ensure that Java is installed on your system. We recommend using the Java version available [here](https://adoptium.net/temurin/releases/). Once you have your Java installed, download the latest tool version from GitHub [releases page](https://github.com/auronen/DecDat/releases/), and run the `DecDat.jar` file.

## Usage
After opening a DecDat you will see a following window.

![DecDat window](../../../assets/images/decdat_window.png)

To import a `.DAT` file click at `File -> Open DAT...` select the file encoding, the file itself and optionally `OU.BIN` file if you want to parse dialogues.

And that's it, now you have a `.DAT` file loaded into app, and you can export the code or search for a specific part.

![DecDat with loaded .DAT](../../../assets/images/decdat_loaded.png)

[^1]: The original DecDat release post can be found [here](https://forum.worldofplayers.de/forum/threads/1151032-Tool-DecDat).
8 changes: 7 additions & 1 deletion docs/zengin/tools/index.md
Original file line number Diff line number Diff line change
Expand Up @@ -14,6 +14,8 @@ The community has developed many tools to help with the creation of Gothic mods.
- [AFSP](https://github.com/auronen/AF-Script-Packet) - Fawkes' & Auronen's script package for Gothic 1 and Gothic 2: Night of the Raven.
- [Ninja](https://github.com/szapp/Ninja) - Ninja introduces the possibility of true modular modifications for the
video games Gothic and Gothic 2 Night of the Raven.
- [DecDat](./daedalus_tools/decdat.md) - Daedalus `.DAT` files decompiler.
- [Redefix](https://github.com/Kisioj/RedefixEN) - OutputUnits compiler and updater.

**[VDFS tools](../general_info/vdfs.md)**

Expand All @@ -22,11 +24,15 @@ video games Gothic and Gothic 2 Night of the Raven.

**[World Editors](../worlds/index.md)**

- Spacer - the original world editor for ZenGin, ships with the MDK
- [Spacer](../worlds/spacer.md) - the original world editor for ZenGin, ships with the MDK
- [Union Gothic World Editor](https://worldofplayers.ru/threads/42322/) - Saturas' world editor, supports new object classes created with Union
- [Gothic World Editor](https://worldofplayers.ru/threads/40530/) - World editor for vanilla worlds, works with G1, G2 and G2 NotR worlds
- [Spacer.NET](https://forum.worldofplayers.de/forum/threads/1557793-WORLD-EDITOR-Spacer-NET) - A modernised version of Spacer available as a Gothic Mod.

**Libraries**

- [ZenKit](libraries/zenkit.md) - A library to load, save and use almost all ZenGin asset files

**Debugging**

- [zSpy](./zSpy.md) - Debugging tool that displays most of the operations performed by the engine during the Gothic or Spacer running, ships with the MDK.
27 changes: 25 additions & 2 deletions docs/zengin/tools/vdfs_tools/vdfs_tool.md
Original file line number Diff line number Diff line change
Expand Up @@ -4,6 +4,29 @@ VDFS Tool is a new program that supports new features introduced to VDFS by the

## Download

You can download the tool from the post on [WoP.ru - VDFS Tool](https://worldofplayers.ru/threads/42314/) or using the [Resource Manager](https://worldofplayers.ru/threads/41415/)
You can download the tool using the [Resource Manager](https://worldofplayers.ru/threads/41415/) or directly from the post on [WoP.ru - VDFS Tool](https://worldofplayers.ru/threads/42314/).

## Quick overview
## Features

### Volume compression
Volumes are compressed using the classic zip algorithm. The zlib library for buffer compression and decompression was taken as a basis. In order for the game to decompress the volume in real time without loss of performance, a special interface [Gratt-5r2/ZippedStream](https://github.com/Gratt-5r2/ZippedStream) was implemented and built into `vdfs32g`. The essence of the interface is that it allows you to pack and read files in blocks of a given size and keep unpacked data in memory in a specific range.

!!! Warning
Compresed `.mod` and `.vdf` archives works only with [Union](../../union/index.md) installed.

### Volume optimization
Optimization refers to the procedure of identifying files with the same content and combining them under a common data source.

### File Explorer Interface
The program interface has a set of standard file explorer operations - copying, pasting, renaming, searching, etc.

### Drag&Drop
The function allows you to drag files into the program, as well as pull them out of it. For this function to work correctly, user (administrator) rights must match for the program and Explorer.

### Updating a volume in 1 click
The program analyzes shared files in the volume and in the game directories (Ctrl + U). If there are physical copies, when you save the volume, updated files will be written to it.

### Opening files directly from a volume
To avoid wasting time unpacking the volume, double-click on the file of interest, after which it will be opened.

[^1]: This is mostly a translation of the orginal [release post](https://worldofplayers.ru/threads/42314/).
Binary file added overrides/assets/images/decdat_loaded.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Binary file added overrides/assets/images/decdat_window.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.

0 comments on commit 530e888

Please sign in to comment.