1. Are you planning to upload your awesome tool to Hive? Please review the rules here.
    July 9, 2018: The rules for the Tool Section have been revised. Please be sure to read the revisions.
    Dismiss Notice
  2. Updated Resource Submission Rules: All model & skin resource submissions must now include an in-game screenshot. This is to help speed up the moderation process and to show how the model and/or texture looks like from the in-game camera.
    Dismiss Notice
  3. DID YOU KNOW - That you can unlock new rank icons by posting on the forums or winning contests? Click here to customize your rank or read our User Rank Policy to see a list of ranks that you can unlock. Have you won a contest and still havn't received your rank award? Then please contact the administration.
    Dismiss Notice
  4. The Lich King demands your service! We've reached the 19th edition of the Icon Contest. Come along and make some chilling servants for the one true king.
    Dismiss Notice
  5. The 4th SFX Contest has started. Be sure to participate and have a fun factor in it.
    Dismiss Notice
  6. The poll for the 21st Terraining Contest is LIVE. Be sure to check out the entries and vote for one.
    Dismiss Notice
  7. The results are out! Check them out.
    Dismiss Notice
  8. Don’t forget to sign up for the Hive Cup. There’s a 555 EUR prize pool. Sign up now!
    Dismiss Notice
  9. The Hive Workshop Cup contest results have been announced! See the maps that'll be featured in the Hive Workshop Cup tournament!
    Dismiss Notice
  10. Check out the Staff job openings thread.
    Dismiss Notice
Dismiss Notice
60,000 passwords have been reset on July 8, 2019. If you cannot login, read this.

W3x2Lni v2.6.0

Submitted by actboy168
This bundle is marked as approved. It works and satisfies the submission rules.
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.5.3 (Binary)

W3x2Lni v2.6.0 (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. [ATTACH] I am...
  1. ownlyme

    ownlyme

    Joined:
    Aug 19, 2015
    Messages:
    66
    Resources:
    1
    Maps:
    1
    Resources:
    1
    when i run the commandline w2l.exe i get an error message saying
    Commit: c65eb4ed10ab1d8acc2c613f60000130d23c64d5
    Stack:
    ----------------------------------------
    C:\Users\own\Desktop\W3x2Lni v2.3\w3x2lni_v2.3\bin\w3x2lni-lua.exe: (command line):1: unfinished long string (starting at line 1) near <eof>

    ----------------------------------------

    edit: now im getting the error for the gui too (even after a windows restart), but the first time it worked.. Oo
    deleting and unzipping the download again doesn't change anything
    version 2.2.1 (command line) still works
     
    Last edited: May 17, 2018
  2. actboy168

    actboy168

    Joined:
    May 1, 2012
    Messages:
    95
    Resources:
    1
    Tools:
    1
    Resources:
    1
    There is now a bug. w3x2lni does not work if there are spaces in the path. You can put w3x2lni in a path without spaces and try again.
     
  3. ownlyme

    ownlyme

    Joined:
    Aug 19, 2015
    Messages:
    66
    Resources:
    1
    Maps:
    1
    Resources:
    1
    as you can see from the settings i posted, i had already deactivated optimized doodads when i still got desyncs
    now im using obj which is still pretty good compared to unoptimized, and probably even better than vxopt was.
    the only bug i noticed was that some later levels of research had missing icons (green placeholder)
    most weirdly, they don't even have a different icon at level 4 and other researches work just fine..
    when they reach level 6/10 respectively 5/8/10 (when they get a different icon) it works for that level
    if you want to check my map, it's improved masonry 4,5,7,8,9 and combat training 4,6,7,9 (the levels above 10 work)
    i have already updated my data to 1.29.2 but i'm using optimizer version 2.2.1
    oh and i'm not getting any errors or warnings
    i have everything deactivated except remove_unuse_object, optimize_jass, mdx_squf, remove_we_only
     
    Last edited: May 17, 2018
  4. actboy168

    actboy168

    Joined:
    May 1, 2012
    Messages:
    95
    Resources:
    1
    Tools:
    1
    Resources:
    1
    If I have other findings, I will tell you the first time.


    Now converting to obj will enable the optimization of wts inline. This may be a more powerful optimization than object data slk.

    I will see.
     
  5. actboy168

    actboy168

    Joined:
    May 1, 2012
    Messages:
    95
    Resources:
    1
    Tools:
    1
    Resources:
    1
    This bug has been fixed in v2.3.1. Thank you for your feedback.
     
  6. ownlyme

    ownlyme

    Joined:
    Aug 19, 2015
    Messages:
    66
    Resources:
    1
    Maps:
    1
    Resources:
    1
    Awesome, it works!
    This is really the best map optimizer that exists.
    Just 1 little suggestion:
    In the gui, there is no option for extracting the current wc3 data.
    Maybe some people are not so comfortable with using the command line, so I think it would be best if there was a button in the gui.
    (and the thing that you are recommending slk for distribution^^ i'm really sure it caused desyncs, but am not willing to test it again because it takes ages to get my map full^^)
     
  7. actboy168

    actboy168

    Joined:
    May 1, 2012
    Messages:
    95
    Resources:
    1
    Tools:
    1
    Resources:
    1
    In the v2.3.1, you can use the GUI to extract war3 data files. You can drag the war3 directory into the GUI just like dragging a map.
     
  8. ownlyme

    ownlyme

    Joined:
    Aug 19, 2015
    Messages:
    66
    Resources:
    1
    Maps:
    1
    Resources:
    1
    i found another bug:
    when you use a higher level research requirement (above 4), the requirement gets ignored
    here is a test map: https://www.dropbox.com/s/np27xa2xah2ll5x/Vamp Zero Turbo test raw.w3x?raw=1
    enter "r" in the chat and watch the "ignited embers" research get unlocked (i set research time to 3 and it gives you resources)
    (i placed an upgrade center just to the right of the portal)
    when you optimized the map (i picked obj), level 4+ will ignore the technology requirement.
    (i'm using the latest version, 2.3.1)
     
    Last edited: May 21, 2018
  9. actboy168

    actboy168

    Joined:
    May 1, 2012
    Messages:
    95
    Resources:
    1
    Tools:
    1
    Resources:
    1
    Thanks.It is fixed in v2.3.2.
     
  10. ownlyme

    ownlyme

    Joined:
    Aug 19, 2015
    Messages:
    66
    Resources:
    1
    Maps:
    1
    Resources:
    1
    i shortened my map info now but it doesn't load faster even though the program stated it when i converted to lni. I'm pretty sure there are a few buildings that exceed 299 characters though. But I'm not sure if it's even possible to reduce the loading time for my map. I probably just have too many researches, abilities (all with tons of levels) and units. (even though i preload very few)
    also this: Didn't convert WTG - Trigger data error (no idea which trigger, impossible to fix when you have 100 triggers)
    when i convert to obj, i get weird error messages about abilities.
    ==========================
    Invalid object data (7)
    ==========================
    Ability ANdo - [datad]: [1]: 5
    Ability ANia - [dataa]: [1]: 1.0 [2]: 2.0
    Ability ANia - [datab]: [1]: 30.0 [2]: 45.0
    Ability ANia - [datac]: [1]: 90.0 [2]: 90.0
    Ability ANia - [datad]: [1]: 15.0 [2]: 22.0
    Ability ANia - [datae]: [1]: 180.0 [2]: 180.0
    Ability ANia - [dataf]: [1]: 0.2 [2]: 0.2
    .... ANdo is not even changed. And i have no idea what the fields in ANia are. I don't recognize those values.
    https://www.dropbox.com/s/ri5jiecnijadw1z/Vamp Zero Turbo test raw2.w3x?raw=1
    I also have one more idea for the program: Maybe it could automatically replace those BJ functions with the native ones.
    In my last game i also experienced that at some point in the game i could research "insta-rez" even though it requires "slayer-focus", but it's hard to reproduce because the requirement works by default. I now added "required level: 1" to the research, maybe that already fixes it

    edit: after shortening all the strings to below 299 characters i still didnt notice any difference.
    but i removed a lot of abilities and have 10 seconds shorter loading time now.
     
    Last edited: May 31, 2018
  11. sumneko

    sumneko

    Joined:
    May 31, 2018
    Messages:
    78
    Resources:
    0
    Resources:
    0
    Thank you for your feedback.

    W3x2lni has inlined more than 17000 wts strings by converting your map. By contrast, shortened one or two long-string may not make you feel any change.

    It means that trigger data file("TriggerData.txt", extracted from your wc3) parsing fails. When convert to lni, W3x2lni converted your trigger from wtg to lml, it depends on your wc3's trigger data file. However, this file is built with many grammatical errors, so we have to support and ignore these errors. But in 1.29.0 Blizzard added some new grammatical errors in, so it parsed fails. We will support them in next version.

    Ability 'ANdo' really has a field 'DataD' used by wc3, means "max creep level". However it is not visible in default WE. To make sure that the map can be opened in your WE, we used your WE config("abilitymetadata.slk", extracted from your wc3) when convert to Obj, so this field is droped after leaving the report. 'ANia' is same with 'ANdo'. By the way, in China ever WEer used YDWE witch has fixed all the cheats, so we didn't have these problem. For others, we have no idea and you can ignore these reports.

    We do not intend to modify the semantics of the script. The risk is very large, the income is very small, and there is compatibility problem.

    Need more infomation, it's better to be a demonstration.
     
  12. sumneko

    sumneko

    Joined:
    May 31, 2018
    Messages:
    78
    Resources:
    0
    Resources:
    0
    After discussion, I think we have found a way to solve this problem.
     
  13. actboy168

    actboy168

    Joined:
    May 1, 2012
    Messages:
    95
    Resources:
    1
    Tools:
    1
    Resources:
    1
    Although this is an error from wc3, we should probably ignore it unless the data really comes from the map.
     
  14. ownlyme

    ownlyme

    Joined:
    Aug 19, 2015
    Messages:
    66
    Resources:
    1
    Maps:
    1
    Resources:
    1
    Thanks for the answers :)
    So i will just ignore all the errors.
    I will keep an eye open for the research bug and if it happens again i will post it here.
     
  15. yxq1122

    yxq1122

    Joined:
    Jun 5, 2018
    Messages:
    117
    Resources:
    0
    Resources:
    0
    This software is indeed a useful tool for optimization of wc3 maps. I like it.
     
  16. Unryze

    Unryze

    Joined:
    Apr 14, 2016
    Messages:
    68
    Resources:
    0
    Resources:
    0
    Love this tool, but it is not friendly with maps that were built in MPQ Editor, which is fine. Finally Wc3SlkOpt can go to rest o/
     
  17. sumneko

    sumneko

    Joined:
    May 31, 2018
    Messages:
    78
    Resources:
    0
    Resources:
    0
    Why do you say so?
     
  18. yatyfornetreg

    yatyfornetreg

    Joined:
    Jun 28, 2009
    Messages:
    41
    Resources:
    0
    Resources:
    0
    loved it, working well within my build chain. Dramatically improved my work flow.
     
  19. Unryze

    Unryze

    Joined:
    Apr 14, 2016
    Messages:
    68
    Resources:
    0
    Resources:
    0
    Well, if you fill the map from 0 with files, they are added to (listfile), but the tool still thinks that some of them are missing, even though they are not, my mistake. I thought it was actually missing them, turns out it thinks it does, but it does not.

    Meaning it does all it has, which is amazing. Actually, i should post a screenshot:

    Discard.png
     
  20. sumneko

    sumneko

    Joined:
    May 31, 2018
    Messages:
    78
    Resources:
    0
    Resources:
    0
    Could you please show me your map?