Skip to content

Commit

Permalink
Merge branch 'master' of https://github.com/Radioo/WPFLinkTool
Browse files Browse the repository at this point in the history
  • Loading branch information
Radio committed Jul 24, 2022
2 parents 7b79485 + 5ce853b commit f0e60b4
Showing 1 changed file with 21 additions and 4 deletions.
25 changes: 21 additions & 4 deletions README.md
Original file line number Diff line number Diff line change
@@ -1,10 +1,27 @@
# LincleLINK

This program is designed to store all your arcade data in its own `db` folder. When you add an instance, it produces an MD5 hash of the file and stores it in the `db` folder. Only new and unique files are added, but the record of the file and its location in the original folder is also stored in the instance `.json` file.
# How does it work?

You can then create hard links to your desired destination(s).
## File storage
The tool's main purpose is to store all your data in its own `db` folder. The files are renamed to their MD5 hash which ensures only unique files are added to the `db` folder.

***It is highly recommended to only add the `data` folder of a game as an instance.***
***Also remember that hard links only work on the same partition, additionally editing/modifying hard-linked files will change the originals in the `db` so take extra care. Delete a hard-linked file first if you want to replace/modify it!***
## Instances
Instances are simply a record of: file names, their hashes and their location whithin the original data structure. When adding an instance, you have an option of choosing to copy or move files to the `db`. Moving is advised to reduce space and disk stress. ***It is highly recommended to only add the `data` folder of a game as an instance.***
Here's an example of one file record:
```
{
"FileName": "25063_pre.2dx",
"RelativePath": "sound\\25063",
"FileSize": 463806,
"HashedFileName": "7AFE6AC1B80128D44BA5357D4349B21A.2dx"
},
```

## Linking
When you've added at least one instance, you can link it to your desired destination. The tool will make hard links and keep the original file names and directory structure of the original files. ***Hard links only work on the same partition. If you wish to edit/replace a hard-linked file, delete it first! Directly modifying hard-linked files will alter the originals in the `db`!***

# How does it save space?

When adding subsequent instances, only unique files will be added to the `db`. For example say you have IIDX28 added as an instance, then you add your IIDX27 data as well. Only files unique to IIDX27 will be copied/moved, in turn `db` size will increase by about 4GB instead of 60GB.

![screenshot](https://stn.s-ul.eu/O84VELWa.png)

0 comments on commit f0e60b4

Please sign in to comment.