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.5.3

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)

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. pyf

    pyf

    Joined:
    Mar 21, 2016
    Messages:
    2,381
    Resources:
    2
    Tutorials:
    2
    Resources:
    2
    ... part of an ongoing history of false positives:
    - four and a half months ago
    - two hours ago
    - now

    Tip: if it is not detected anymore as a threat, then there was no threat at all to begin with.
     
  2. actboy168

    actboy168

    Joined:
    May 1, 2012
    Messages:
    95
    Resources:
    1
    Tools:
    1
    Resources:
    1
    I don't use any anti-virus software, I don't know what happened. But I think w3x2lni is safe, no matter how w3x2lni is completely open source, you can review what it did and even build it yourself. This is an online antivirus scan for reference.There are three antiviruses that think it's not safe, but I think they are wrong.

    Antivirus scan for 2e650cb1d65fa62215f9c9f79d121c661bbec858298d6eb461434f57a0e34e06 at 2019-01-08 01:53:45 UTC - VirusTotal
     
  3. Unryze

    Unryze

    Joined:
    Apr 14, 2016
    Messages:
    67
    Resources:
    0
    Resources:
    0
    @actboy168 is it possible to make W3X2LNI use data from .wts to fill w3i? Aka, so I don't have to rename the map every time in table\w3i.ini I've tried sending over TRIGSTR, but it just pastes it as plain text.
    @Kam older versions did not have that, I guess they forgot to use SSH or some kind of register. Also it is not flagged as Trojan, but as "unknown publisher", at least on Windows 10, possibly due to False Positives as mentioned by @pyf.
     
  4. sumneko

    sumneko

    Joined:
    May 31, 2018
    Messages:
    76
    Resources:
    0
    Resources:
    0
    Do you mean you want to reserve TRIGSTR in war3map.w3i when converting Obj to Lni?
     
  5. Unryze

    Unryze

    Joined:
    Apr 14, 2016
    Messages:
    67
    Resources:
    0
    Resources:
    0
    Nope, when using LNI to OBJ or LNI to SLK, so I can pass to w3i.ini data from WTS or from some other file. I am most probably using the tool in very unusual way, as I use it to completely bypass using WE, as it is buggy, unstable and slow. So I edit everything with Notepad++, and the only drawback is, that I need to edit w3i.ini separately when assembling the map.

    Currently, it just uses text, thus when WTS gets inlined, it is plain text. Technically if you could add an option to Inline or not to Inline strings - that would be helpful as well. But it is better if it gets inlined in w3i as well.

    [​IMG]
    [​IMG]
     
  6. sumneko

    sumneko

    Joined:
    May 31, 2018
    Messages:
    76
    Resources:
    0
    Resources:
    0
    LNI is designed as a human-readable file format, and I don't want content to be escaped.
    On the other hand, modifying a map name requires at most two modifications: w3i and a global variable in the script.
    Compared with it, checking WTS while reading LNI wastes performance and is not universal.

    By the way, the original intention of LNI is to break away from WE as much as possible. You can find many such projects on GitHub.
     
  7. Unryze

    Unryze

    Joined:
    Apr 14, 2016
    Messages:
    67
    Resources:
    0
    Resources:
    0
    Yeah I understand that much, still can you at least add “do not inline WTS” then? That would work out just as good.
     
  8. Berraco

    Berraco

    Joined:
    Dec 27, 2018
    Messages:
    6
    Resources:
    0
    Resources:
    0
    Hi! Thank you for working on this great tool. Wanted to report a small bug: After SLK convertion the map works but I am missing a tooltip description for 2 abilities based on the "Frenzy" ability. I will update this if I find the issue with other abilities.

    Edit: Got a weird tooltip for an ability based off of Faerie Fire (Neutral Hostile) and Bloodlust (Neutral Hostile 1). Maybe its an issue with auto-castable abilities?
     
    Last edited: Jan 27, 2019
  9. Saran

    Saran

    Joined:
    Jan 20, 2016
    Messages:
    19
    Resources:
    1
    Maps:
    1
    Resources:
    1
    Error:

    JASS syntax error -
    Variable [PLAYER_COLOR_MAROON] doesn't exists.



    any idea how to fix that?
     
  10. Shar Dundred

    Shar Dundred

    Joined:
    May 6, 2009
    Messages:
    3,581
    Resources:
    10
    Packs:
    1
    Maps:
    8
    Tutorials:
    1
    Resources:
    10
    Can this be used for campaign files as well? Or can it be changed to work for those?
    I would like to decrease loading time of my campaign maps.
     
  11. sumneko

    sumneko

    Joined:
    May 31, 2018
    Messages:
    76
    Resources:
    0
    Resources:
    0
    Sorry, it dose not support campaign maps.
     
  12. sumneko

    sumneko

    Joined:
    May 31, 2018
    Messages:
    76
    Resources:
    0
    Resources:
    0
    See the instructions "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."
    Now you can drag WC3 folder in to extract data files.
     
  13. sumneko

    sumneko

    Joined:
    May 31, 2018
    Messages:
    76
    Resources:
    0
    Resources:
    0
    Unzip this plugin in the root directory(The correct path is `w3x2lni/plugin/.config`), then you could read slk in Jass like this:
    Code (Text):
    string MAP_NAME = "<?=slk.w3i.map.map_name?>"
    real DAMAGE = <?=slk.ability.AHtb.herodur[1]?>
    integer BUTTON_Y = <?=slk.ability.AHtb.buttonpos_2?>
    integer MAX_LEVEL = <?=slk.misc.Misc.maxherolevel?>
    I think this may meet your needs.
     

    Attached Files:

  14. sumneko

    sumneko

    Joined:
    May 31, 2018
    Messages:
    76
    Resources:
    0
    Resources:
    0
    Sorry, I can't reproduce what you said. Can you provide a demo?
     
  15. Berraco

    Berraco

    Joined:
    Dec 27, 2018
    Messages:
    6
    Resources:
    0
    Resources:
    0
    Demo before and after optimization attached. In this case, a custom Frenzy based ability loses its tooltip after optimization.

    Used the following options:
    To SLK
    Optimize JASS
    Remove WE-only files
    Confuse scripts


    Thanks for looking into the issue!
     

    Attached Files:

  16. sumneko

    sumneko

    Joined:
    May 31, 2018
    Messages:
    76
    Resources:
    0
    Resources:
    0
    I don't think this problem has anything to do with optimization. In the unoptimized map, tooltip has been lost.
     
  17. Berraco

    Berraco

    Joined:
    Dec 27, 2018
    Messages:
    6
    Resources:
    0
    Resources:
    0
    Interesting, from here the regular version still has the tooltip. See the screenshot.


    frenzytest_slk.w3x is the optimized version (despite the larger size).

    frenzytest.w3x is the regular version.

    Did you try comparing both maps? maybe its a language related issue? Also, as I mentioned, it appears to happen only with auto-cast based abilities.
     

    Attached Files:

  18. sumneko

    sumneko

    Joined:
    May 31, 2018
    Messages:
    76
    Resources:
    0
    Resources:
    0
    I have tried the unoptimized map in 1.24.4-zhcn, 1.27.1-enus and 1.28.0-enus. All of them showed the lost tooltip.
    From your screenshot, your WC3 is a higher version, so I think this is a bug of WC3 in lower version, and it has fixed in heiger version, but the fix weren't thorough enough.
     
  19. azgarol

    azgarol

    Joined:
    Jun 19, 2018
    Messages:
    15
    Resources:
    0
    Resources:
    0
    Thanks, that helped with my localization problem. The description above should be updated with this drag'n'drop method.
     
  20. azgarol

    azgarol

    Joined:
    Jun 19, 2018
    Messages:
    15
    Resources:
    0
    Resources:
    0
    Although I do have a problem with my map. Some players instead of trees get pink boxes (warcraft 3 placeholder model) with no collision. Therefore get desynced. It's hard to experiment with settings to find a workaround since the bug is inconsistent.

    Edit: It was a weird bug that only happens sometime if you combine this with Vexorian optimizer and play on a hostbot. So it is not really relevant.
     
    Last edited: Feb 10, 2019