1. Are you planning to upload your awesome spell or system to Hive? Please review the rules here.
    Dismiss Notice
  2. Let's participate in the Texturing Contest #28 - Swamp Dwellers instead of sitting around getting covered in moss!
    Dismiss Notice
  3. Cast a vote for the best warrior in the Concept Art Contest #11 - Poll!
    Dismiss Notice
  4. Don't be stagnant - embrace change! The time has come to evolve and join the Techtree Contest #12 - Evolution.
    Dismiss Notice
  5. On May 20th a new law about privacy and data processing comes into work in the EU. I am no lawyer and I need help figuring out if we comply and if not, what we must do about it. Please message me if you can provide any assistance. Read more. Ralle
    Dismiss Notice
  6. I have disabled the media section until further notice. The latest downtimes on the site has been due to severely inefficient coding on the addon developer's part. Want it back? Register here and like my post.
    Dismiss Notice
  7. Join us in our custom games night on Saturday, June 2nd. We'll see you on Battle.net and Discord!
    Dismiss Notice
  8. The Cinematic Contest #7 results are up!
    Dismiss Notice

W3x2Lni v2.3.1

Submitted by actboy168
This bundle is marked as pending. It has not been reviewed by a staff member yet.
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.3.1 (Binary)

  1. TriggerHappy

    TriggerHappy

    Joined:
    Jun 23, 2007
    Messages:
    3,306
    Resources:
    22
    Spells:
    11
    Tutorials:
    2
    JASS:
    9
    Resources:
    22
    The GUI does not work for me (chinese error popup) but the CLI version seems to work great.
     
  2. actboy168

    actboy168

    Joined:
    May 1, 2012
    Messages:
    49
    Resources:
    0
    Resources:
    0
    What is the error message? The compatibility of the GUI does have many problems, and I am planning to rewrite the current GUI.
     
  3. Sverkerman

    Sverkerman

    Joined:
    Feb 28, 2010
    Messages:
    1,214
    Resources:
    5
    Maps:
    5
    Resources:
    5
    So if I understood you correctly this is sort of an optimizer? Can it protect maps?
     
  4. TriggerHappy

    TriggerHappy

    Joined:
    Jun 23, 2007
    Messages:
    3,306
    Resources:
    22
    Spells:
    11
    Tutorials:
    2
    JASS:
    9
    Resources:
    22
    err.png

    Yes & yes.
     
  5. actboy168

    actboy168

    Joined:
    May 1, 2012
    Messages:
    49
    Resources:
    0
    Resources:
    0
    Thanks. It means that your OS miss the font it wants.Maybe new GUI can solve this problem.
     
    Last edited: Apr 28, 2018
  6. actboy168

    actboy168

    Joined:
    May 1, 2012
    Messages:
    49
    Resources:
    0
    Resources:
    0
    The optimizer is part of it. It can provide limited map protection. Convert to slk format, you can make it can not be restored to normal edited map again. But you can't expect it to help you stop someone from getting the files on your map.
     
  7. _Guhun_

    _Guhun_

    Joined:
    Jun 12, 2010
    Messages:
    226
    Resources:
    2
    Spells:
    1
    Tutorials:
    1
    Resources:
    2
    This is pretty cool! When I have the time I might take a closer look at the repo and see if there's anything I can add to the english docs.
     
  8. Gekigengar

    Gekigengar

    Joined:
    Aug 20, 2009
    Messages:
    1,492
    Resources:
    2
    Maps:
    1
    Spells:
    1
    Resources:
    2
    I am also getting the same error.

    Why wouldn't the font just be included in the package then? :x

    And please provide some description in the config, how do I change it so that the error message is in English?
     
  9. actboy168

    actboy168

    Joined:
    May 1, 2012
    Messages:
    49
    Resources:
    0
    Resources:
    0
    Sorry, I am writing a new GUI now, so the current GUI is no longer maintained. Currently you can use the CLI version instead.
     
  10. Gekigengar

    Gekigengar

    Joined:
    Aug 20, 2009
    Messages:
    1,492
    Resources:
    2
    Maps:
    1
    Spells:
    1
    Resources:
    2
    Thank you for the amazing tool, other than the GUI, it worked really well!
     
  11. ownlyme

    ownlyme

    Joined:
    Aug 19, 2015
    Messages:
    61
    Resources:
    1
    Maps:
    1
    Resources:
    1
    40% of the players desync *every time* when i optimize my map with this.
    i tried it with vxoptimizer with old wc3 data and that one didnt cause desyncs (but i cant use that because you cant sell items then because of missing shop selection boxes or smth like that)
    wc3 version: 1.29.2.9231 settings: slk format
    [global]
    lang = ${AUTO}
    data_war3 = enUS-1.27.1
    data_ui = enUS-1.27.1
    data_meta = enUS-1.27.1
    data_wes = enUS-1.27.1

    [lni]
    read_slk = false
    find_id_times = 0
    export_lua = false

    [slk]
    remove_unuse_object = false
    optimize_jass = false
    mdx_squf = false
    remove_we_only = false
    slk_doodad = false
    find_id_times = 10
    confused = false
    confusion = ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789_

    [obj]
    read_slk = false
    find_id_times = 0

    (i tried deactivating settings until i reached this point, no change)
    when i deactivated (mdx_squf or slk_doodad, not sure), many (doodad?) models also went missing.
    map: https://www.dropbox.com/s/mofxa1kgs4or7c0/Vamp Zero Turbo 6.00 raw.w3x?raw=1
     
  12. TriggerHappy

    TriggerHappy

    Joined:
    Jun 23, 2007
    Messages:
    3,306
    Resources:
    22
    Spells:
    11
    Tutorials:
    2
    JASS:
    9
    Resources:
    22
    @ownlyme That happens with any SLK optimizer (like Widgetizer). The only solution currently is to force everyone to restart their game if they played another map before playing your map.

    This happens because the global SLK table values get overwritten when playing an optimized map causing data to be different for everyone.
     
  13. ownlyme

    ownlyme

    Joined:
    Aug 19, 2015
    Messages:
    61
    Resources:
    1
    Maps:
    1
    Resources:
    1
    i don't think it happened with widgetizer.
    i used to optimize my map all the time with widgetizer (after the optimization with vxopt)
    if there were that many desyncs, i would have noticed it earlier (trust me, i hosted it a LOT^^)

    does that mean i just have to choose another format?
    obj seems to load pretty long
     
    Last edited: May 15, 2018 at 10:08 PM
  14. actboy168

    actboy168

    Joined:
    May 1, 2012
    Messages:
    49
    Resources:
    0
    Resources:
    0
    A known problem is that optimizing doodad will cause the global state of wc3 to be modified. This may cause desync. You can disable optimized doodad and try again.

    I will change this option to disabled by default in the next English version. This is a problem that I neglected. For Chinese maps, the wc3 process is closed at the end of each game, so there is no problem with optimized doodad. If you cannot guarantee this, you must disable optimized doodad.
     
  15. actboy168

    actboy168

    Joined:
    May 1, 2012
    Messages:
    49
    Resources:
    0
    Resources:
    0
    Obj is not an optimized format, a WE generated map is converted to obj format, almost nothing will change.
     
  16. actboy168

    actboy168

    Joined:
    May 1, 2012
    Messages:
    49
    Resources:
    0
    Resources:
    0
    Hi, I tried your map. There is an error that needs to be resolved. I suggest that you should read everything in the log carefully because they are really useful.
    There is a bug in the current version that causes the details of this error not to be displayed correctly. What it actually means is that your map script has undefined variables because you are using 1.27 data files, but your map script contains 1.29 variables. You need to use w2l mpq to generate a 1.29 data file.
    However, this may not be related to desync, but it can cause other problems.
     
  17. actboy168

    actboy168

    Joined:
    May 1, 2012
    Messages:
    49
    Resources:
    0
    Resources:
    0
    W3x2Lni 2.3 has been released. It has fixed all the bugs reported. Optimizing doodad has been disabled by default. V2.3 also added a new GUI, but the GUI for the log has not yet been completed.If you have trouble viewing the log in the GUI, you can open the `/log/report.log` file to view it.
     
  18. ownlyme

    ownlyme

    Joined:
    Aug 19, 2015
    Messages:
    61
    Resources:
    1
    Maps:
    1
    Resources:
    1
    if slk causes so terrible desyncs, why did you write in the description that it's meant for final distribution?
     
  19. actboy168

    actboy168

    Joined:
    May 1, 2012
    Messages:
    49
    Resources:
    0
    Resources:
    0
    Slk does not cause desyncs, except for optimizing doodad. In China, everyone uses third-party platform services to play Warcraft 3. In the third-party platform service, the Warcraft 3 process is closed at the end of each game. Under this premise, there is no problem with optimizing doodad.
    So in version 2.3, optimizing doodad has been disabled by default for English users, but it is still enabled by default for Chinese users.