Torchlight DAT2TXT / TXT2DAT utility by cienislaw http://cienislaw.pl/pub/torchlight2/
Requires Python v2.7.x http://python.org
Requires MurmurHash3 python module by Hajime Senuma http://pypi.python.org/pypi/mmh3/2.0
MurmurHash3 win32 binary by cienislaw http://cienislaw.pl/pub/torchlight2/mmh3-2.0.win32-py2.7.exe
PyWin32 extensions (only if you can't get it working after installing above stuff) http://sourceforge.net/projects/pywin32/files/pywin32/Build%20217/pywin32-217.win32-py2.7.exe

Converts DAT files to TXT files - readable text unicode form. It's still WIP, because not all IDs are know. IDs were moved to separate file "var_ids.py" for fast and non collision update.

Converts TXT files created by DAT2TXT converter to DAT format.

With above tools you can convert DAT file to TXT and again to DAT.

Tutorial about how to use tools you can find here (thx to kalamari157 for that - http://tinyurl.com/cpz4wcu):
http://forums.runicgames.com/viewtopic.php?f=47&t=39015

changelog

	version 0.1.1
	  added multiple drag and drop to DAT2TXT and TXT2DAT
	  added way in TRANSTOOL to export strings to individual files instead of big one - just use folder name as output
	  added another filtering in TRANSTOOL - '\n'
	  extract2 mode in TRANSTOOL now doesn't filter duplicates
	  fixed nasty bug in vpath generation so now it produces complete tree patch instead of 2 last leafs
	  updated hash.bin file acording to lates update by Runic

	version 0.1.0
	  added EXE version of DAT2TXT, TXT2DAT and TRANSTOOL. two las have hash.bin file bundled within which is used when no hash.bin file is found in exe folder. please remember that in such case changes made to hash.bin will be lost

	version 0.0.9
	  added second type of export for transtool.py, force it by using --export2 switch
	  added --generate switch which use as input files from --export2 result and generates TRANSLATION.DAT file

	version 0.0.8
	  fixed not fully working --string switch in transtool.py
	  added --update switch in transtool.py which allows in extract mode appending result to existing file (useful with --string switch)
	  added filtering of 'NOSWAP' strings in transtool.py extract mode - hardcoded, you can remove it by hand in transtool.py:98

	version 0.0.7
	  added variable name in CVS file and changed columns place (VARNAME, TARGETLNG, FPATH, ENGLISH)
	  fixed transtool.py extraction mode (thx cracrayol for bug) - if the same string is used with another variable which has different name, it is also extracted; VARNAME and FPATH is used to calculate hash to distinguish the same strings from different files and variables
	  fixed transtool.py injection mode (thx cracrayol for bug) - injection uses also VARNAME and FPATH, and can to add new strings to dictionary and generate new DKEYs for them
	  from now transtool.py injection mode needs hash file
	  added drag & drop support (now intentionally) to TXT2DAT by hardcoding hash file name in code so its loaded without user interaction
	  added --fhash switch to TXT2DAT so user can use other hash file
	  more safe directory and file handling
	  general bugfixing and changes
	  added pause screen after any error occur so user can see them - useful for drag & drop users
	  now TXT2DAT and DAT2TXT overwrites destination folder by default

	version 0.0.6
	  added transtool.py - for extraction and injection of TRANSLATE from/into DAT files (not TXT!), please refer to included help for more info
	  added hasher.py - it dumps all STRING and TRANSLATE from all game, calculates hashes for them and serves as mega dictionary of string DKYEs. hash file is required by TXT2DAT and its bundled with tools
	  removed .IDS files generation - they are not needed anymore
	  added hash file support in TXT2DAT which is mandatory to use this tool. during process if new string occurs which is not in hash file, it will get unique DKEY and hash file will be updated

	version 0.0.4
	  added --tonly switch to DAT2TXT which in folder mode will decompile only those files, which have <TRANSLATE> variable type in it

	version 0.0.3
	  greatly update IDS - over 500, which make most of the files readable
	  added check to IDS file for multiple HEX KEYS with the same LABEL. after adding IDS just run the .py file and watch for errors
	  changed names of tools to avoid confusion among users

	version 0.0.2
	  added .ids files generation during admv2 to dat conversion. .ids files prereserve STRING and TRANSLATION DKEY values which were previously lost.
	  added DAT2ADMV2 converter
	  changes in ADMFile/ADMNode objects structure coresponding to added functionality

	version 0.0.1
      initial release
