speige / WC3MapDeprotector

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

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

Open speige opened 11 months ago

speige commented 11 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 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.

speige commented 11 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