• 🏆 Texturing Contest #33 is OPEN! Contestants must re-texture a SD unit model found in-game (Warcraft 3 Classic), recreating the unit into a peaceful NPC version. 🔗Click here to enter!
  • It's time for the first HD Modeling Contest of 2024. Join the theme discussion for Hive's HD Modeling Contest #6! Click here to post your idea!

W3x2Lni v2.7.2

W3x2Lni is a wc3 map management tool. It helps you to manage your maps when developing or publishing.We defined 3 formats for a wc3 map, and w3x2Lni allows you to convert your maps amongst these 3 formats which are `Lni`, `Obj` and `Slk`.

> Lni
`Lni` is a VCS (like git, svn) friendly format. It looks like a directory. Most binary files in w3x will be converted into plain text files (yes! human-readable) by w3x2Lni which will also organize and categorize these text files.

> Obj
`Obj` is a wc3-readable and WE-readable format. If you want to open your map with WE, convert your map into this format.

> Slk
`Slk` is only readable by wc3 and should be used for final distribution. W3x2Lni enables multiple optimization for this format, including:

* Objects converted to slk
* Removed unreferenced objects
* Removed WE-only files
* Inlined WTS strings
* Compressed mdx
* Removed comments and unncessary white spaces in the script
* obfuscated variable and function name

W3x2Lni comes with war3 1.27.1 English data files. But it may not meet everyone's needs, you can use `w2l mpq <war3_path>` to extract data files.


For more information see the documentation.


W3x2Lni is a open source project.We welcome any pull request, e.g. improving the English text or writing English documents.
Contents

W3x2Lni v2.7.2 (Binary)

Reviews
eejin
The tool works as one would expect. The UI is nice and to the point. Only thing I am missing is a back button wen you have chosen a conversion mode. You also cannot scroll horizontally when viewing the log when converting to Lni. I am looking...
Level 18
Joined
Jan 1, 2018
Messages
728
It's not constant size, set the second int to 1 or 2 manually and things will change on next save.
I use 1.31 so I have to rely on example files/maps that others provide to me. This implementation works for the example I have.
If you have other examples for which this doesn't work or figured out the meaning of these new fields feel free to share so I can update the implementation.
 
Level 17
Joined
Feb 25, 2013
Messages
303
I use 1.31 so I have to rely on example files/maps that others provide to me. This implementation works for the example I have.
If you have other examples for which this doesn't work or figured out the meaning of these new fields feel free to share so I can update the implementation.
Will do once I do, haven't had time to do any extensive testing, but also don't worry about it for now as the WE will only even generate the 8-byte 1 0 sequence for now
 
It seems that the author hasn't been on Hive in a while. However I did find a repository for the project. GitHub - sumneko/w3x2lni: 魔兽地图格式转换工具 If someone who speaks Chinese wishes to contact the author through there we'd be grateful.
I won't make any promises but I may be able to fix this myself. All I need is some documentation on Warcraft 3's object editor format and how its changed in 1.33

edit: made a thread for this so people can share information.
 
Last edited:
Level 3
Joined
Nov 11, 2021
Messages
28
I won't make any promises but I may be able to fix this myself. All I need is some documentation on Warcraft 3's object editor format and how its changed in 1.33

edit: made a thread for this so people can share information.
I made some change to the scripts (script folder) which should have enabled 1.33 object data reading. But the only supported operation is convert map to lni.
Also added an option 'export_json' (under [lni]) (value=none|lni|full) to export object data as JSON.
Only tested a single map saved by latest (1.36.0) WE, with w2l.exe under linux/wine-8.0.
 

Attachments

  • script.7z
    756.6 KB · Views: 23
Level 9
Joined
Jul 18, 2005
Messages
319
I made some change to the scripts (script folder) which should have enabled 1.33 object data reading. But the only supported operation is convert map to lni.
Also added an option 'export_json' (under [lni]) (value=none|lni|full) to export object data as JSON.
Only tested a single map saved by latest (1.36.0) WE, with w2l.exe under linux/wine-8.0.
I can confirm that the obj to lni works, and when repacking it back to obj, it results in a compilable map. Did you submit a merge request for this on the dev's GitHub? I know that they are still active there so that might motivate them.
 
Level 3
Joined
Nov 11, 2021
Messages
28
I can confirm that the obj to lni works, and when repacking it back to obj, it results in a compilable map. Did you submit a merge request for this on the dev's GitHub? I know that they are still active there so that might motivate them.
No.
Because the project uses pesky "luamake" and requires windows to build (native program), I would rather not bother it.
(github version is a few patches ahead and contains incompatible lua scripts due to dependency lib change)
 
Top