speige / WC3MapDeprotector

Warcraft 3 Custom Map deprotector
https://www.youtube.com/@ai-gamer
MIT License
17 stars 2 forks source link

Improve war3mapunits.doo decompilation (hero_level/etc) #6

Open speige opened 6 months ago

speige commented 6 months ago

There are properties of units in war3mapunits.doo that aren't yet being recovered search for "todo" comments in War3Net jassdecompiler class

Luashine commented 6 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.

speige commented 6 months ago

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