Open speige opened 11 months ago
https://github.com/Luashine/wc3-file-formats
The progress has stalled on my end, but this should become the single point of truth going forward, uniting the many sources.
These are other sources I've been using. Thanks for adding yours.
https://github.com/Drake53/War3Net - Under the hood, my tool uses this library a lot. The .doo decompilation comes from here, but it's unfinished. As I make improvements, I'm submitting pull requests so others who use War3Net gain the benefit as well.
My process has been to make a blank map in WorldEditor, save, make a small change, then save as version2. Then use a hex editor to diff the 2 files, that way I can determine the difference between the files. This way I can focus on the specific attribute I want to deprotect, rather than trying to understand the entire file format. For example, if I want to decompile "Hero Level" from war3mapunits.doo, I make 2 identical maps where the ONLY difference is the hero level of 1 unit.
https://github.com/ChiefOfGxBxL/WC3MapSpecification https://github.com/stijnherfst/HiveWE/wiki/war3map(skin).w3*-Modifications https://github.com/WaterKnight/Warcraft3-Formats-ANTLR https://www.hiveworkshop.com/threads/warcraft-3-trigger-format-specification-wtg.294491/ https://867380699.github.io/blog/2019/05/09/W3X_Files_Format https://world-editor-tutorials.thehelper.net/cat_usersubmit.php?view=42787
There are properties of units in war3mapunits.doo that aren't yet being recovered search for "todo" comments in War3Net jassdecompiler class