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

SharpCraft World Editor Extended Bundle

This bundle is marked as approved. It works and satisfies the submission rules.
SharpCraft WEX Bundle v0.1.3.1
World Editor Extended is the successor to the Jass NewGen Pack. It is updated to work with the newest editor and includes the main features that JNGP had.

To use this, simply use the SharpCraft.Launcher and launch the "Warcraft III - World Editor (WEX)" profile or use the included "World Editor Extended.exe" to launch it directly.

Keep in mind that this is a work in progress. There are still several features missing. Features will be added in as time allows it and as they are requested. Some features might never return because the original developers are gone.

SharpCraft can be discussed in the hosted project subforum.

Semi-Complete Feature List
  • JassHelper, a vJASS compiler, that replaces the internal world editor compiler completely. No more crashes from bad code and many more features through vJASS.
  • Trigger Editor Syntax Highlight (TESH), a code syntax highlighter for the Trigger Editor, that makes coding in JASS/vJASS a breeze.
  • Grimoire Extensions (Grimex), a library of tools that extend the functionality of vJASS giving it the ability to create new objects(units, items, etc.) and more.
  • Increased/Removed various limits, like the number of doodads, destructables and more.
  • Object Id dialog, that allows you to manually set the object id when creating a new object. Want to make a hero peasent? Just copy the peasent, and when the dialog asks, just change the first letter to upper case, and he's ready.

Changelog
Code:
v0.1.3.1
* Updated to WE 1.29.0
* Updated TESH function database to have new natives ( thanks to @Abovegame )
* Fixed crash with ObjectDataExtractor when it couldn't locate Java, instead it will simply disable itself silently.
* Attempted to shorten paths, to avoid crash due to long path names.

v0.1.3.0
* Updated to WE 1.29.0 PTR - This is very experimental and have been done hastily. It should work with vJass/Wurst and TESH. Other features have been removed since they're now included in the vanilla editor.

v0.1.2.9
* Updated to WE 1.28.5

v0.1.2.8
* Updated TESH, to fix a rare bug where it would crash the editor.
* Added WurstScript experimentally, use at your own risk. WEX will not keep the same update cycle as WurstScript, so you will have to update it manually if you encounter bugs.

v0.1.2.7
* Added fix for the File Importer.

v0.1.2.6
* Updated to WE 1.28.4
* Fixed up SharpCraft to work with new editor executable name.
* Fixed up WEX to work with new editor executable name.

v0.1.2.5
* Improved extended settings with -window and -opengl options.
* Included the option to launch with a special WEX profile. This does nothing yet, but will in the future.

v0.1.2.4
* Fixed window names for TESH so it works on all languages automatically.
* Added more no-limits features, like steep cliffs and a wider range of terrain heights.

v0.1.2.3
* Updated to WE 1.28.2
* Added support for -loadfile and other parameters directly.
* Replaced TESH with TESH 2.0
* Fixed various issues across versions, should work perfectly for all supported versions now.

v0.1.1.2
* Fixed issues with enabling disabled triggers with vJASS code or missing init function.
* Added menu entries for JassHelper.

v0.1.1.1
* Updated with support for WE 1.26 and 1.27b. !!THIS IS EXPERIMENTAL!!
* Fixed a mistake introduced last update that might've made things unstable.

v0.1.1.0
* Added fix for Test Map. You can now get back to mapping!
* Updated Extended Editor Settings (allow local files)

v0.1.0.2
* Updated to WE 1.28.1 (still works for 1.27b, 1.28)
* Fixed Extended Editor Settings for Increased Map Dimensions, so 480x480 maps are back on the menu!

v0.1.0.1
* Updated to WE 1.28 (still works for 1.27b)
* Updated Extended Editor Settings (increased map dimensions)
* Fixed up Grimex(ObjectMerger, etc.)
* Improved menus a bit and removed some unused stuff.
* Removed various stuff like all the default profiles and some stuff that shouldn't have been included.

v0.1.0.0
* Initial release.
* * JassHelper
* * Trigger Editor Syntax Highlight
* * Extended Editor Settings (nolimits, custom object id, etc.)

Known Issues
Version Status
  • 1.28.5 - Tested and fully supported.
  • 1.28.4 - Tested and fully supported.
  • 1.28.3 - Skipped!
  • 1.28.2 - Tested and fully supported.
  • 1.28.1 - Tested and fully supported.
  • 1.28.0 - Tested and fully supported.
  • 1.27.1 - Tested and fully supported.
  • 1.27.0 - Tested and fully supported.
  • 1.26.0 - Tested and fully supported.
Test Instructions (for those interested in helping)
  1. Start the Editor
  2. Create a new 480x480 map
  3. Test the map to make sure test map works
  4. Open the Trigger Editor, make sure TESH is present, and add the following custom script somewhere
    1. Script to add: //! external ObjectMerger
    2. Save the map and make sure it comes up with an error about ObjectMerger arguments
  5. Open the Object Editor and create an object, making sure the object id dialog pops up.
The SharpCraft WEX Bundle should not be redistributed! The Hive Workshop is the only official source for the SharpCraft WEX Bundle!
Contents

SharpCraft WEX Bundle (0.1.3.1) (Binary)

Reviews
StoPCampinGn00b
Approved. One of the best and most essential tools a Warcraft 3 modder can have. 5/5!
Level 3
Joined
Jun 19, 2010
Messages
49
- i get a "PathTooLongException" quite early, although my path depth isn't that deep. maybe you can reduce file system structure a bit...
some paths like: "...\SharpCraftWEX0.1.1.2\profiles\Warcraft III - World Editor (WEX)\plugins\MindWorX.War3Editor.TriggerEditorSyntaxHighlight\MindWorX.War3Editor.TriggerEditorSyntaxHighlight.dll"
should be shorter. although i like descriptive names, the default profile name ("Warcraft III - World Editor (WEX)") or plugin or DLL names like "MindWorX.War3Editor.TriggerEditorSyntaxHighlight" should be shorter...
- in "SharpCraft.Launcher.exe" when you "Modify" the "Profile", the row with label "Path" should be named "Path to 'WorldEdit.exe'" for better comprehension...
- i have to run "SharpCraft.Launcher.exe" as administrator, otherwise the button "Launch" is without function. maybe you could add that info above in the WEX download description as a note...

edit:
EdwardElric said:
when you "Modify" the "Profile", the row with label "Path" should be named "Path to 'WorldEdit.exe'" for better comprehension...
bleh...
only now i understood that this "SharpCraft WEX Bundle" contains SharpCraft & WEX! man! took a while. so the label called "Path" is absolutely ok. didn't know you now can even choose between:
- Starcraft II Game
- Starcraft II Editor
- Warcraft III Game
- Warcraft III Editor
:eek:
 
Last edited:

MindWorX

Tool Moderator
Level 16
Joined
Aug 3, 2004
Messages
681
Yeah, I'll look at reducing the path lengths. It is possible to just move the plugins out of their individual sub folders. That would remove a lot. And I'll try and shorten the filenames themselves.
I added the bit about administrative running. I did experience it myself, but only because worldedit.exe was set to require admin when running.
 
Level 6
Joined
Jun 25, 2010
Messages
125
Man, sometimes I wish Sharpcraft had it's own updater as a exe instead of me having to download it from all these great updates. xD

That, and the possibility to recover the map if your computer shuts down on while working on it... God, I wish that was a thing so much! But you have enough on your plate as it is. I look forward to when you find a way to allow multiple terrain outside the current tile space limitation!
 
Level 3
Joined
Jun 19, 2010
Messages
49
MindWorX, in your SharpCraft WEX Bundle, can i use the "old" plugins (DLL files) from SharpCraft for the Warcraft III game or do they need to be reworked again? Tried to put the plugins/ modules DLL files into "plugins" folder of my WC3-TFT game profile of WEX Bundle, but when i try to launch this profile ("Blizzard.WarcraftIII.Game") i get a "ReflectionTypeLoadException" & WC3 don't even start.
here's screenshot of the error message window:
Imgur: The most awesome images on the Internet

added plugins to "...\0.1.1.2\profiles\War3-TFT\plugins\":
- MindWorX.Modules.Stopwatch.dll
- MindWorX.SharpCraft.Lidgren.Network.dll
- MindWorX.SharpCraft.Modules.InputAPI.dll
- MindWorX.SharpCraft.Modules.InterfaceAPI.dll
- MindWorX.SharpCraft.Modules.JassAPI.dll
- MindWorX.SharpCraft.Modules.JassDebugger.dll
- MindWorX.SharpCraft.Modules.WarAPI.dll

so, at the moment my map cannot be played...
 
Last edited:
I just checked, and even worldedit 1.21b which comes with JNGP allows you to disable sounds in preferences. Are there any limitations to just doing that?

I have no idea, so why did they include that new feature in 1.27? I never noticed those sound volume options. Weird? Huh?

Those volume options work perfectly, I guess it was already included. But why make such a feature in JNGP or 1.27 again?
 
Level 7
Joined
Mar 10, 2013
Messages
365
Is there any problems copy pasting my old versions profile folder to the new version? Or you're changing it so much you don't recommend?
 

MindWorX

Tool Moderator
Level 16
Joined
Aug 3, 2004
Messages
681
I have no idea, so why did they include that new feature in 1.27? I never noticed those sound volume options. Weird? Huh?

Those volume options work perfectly, I guess it was already included. But why make such a feature in JNGP or 1.27 again?
Best I can think is maybe it affects loading times of World Edit? If it doesn't have to load sounds, it might start faster. I might give it a test when I have some spare time.

Is there any problems copy pasting my old versions profile folder to the new version? Or you're changing it so much you don't recommend?
It's possible, although plugins do change and sometimes I add or remove plugins, so I wouldn't recommend it. What you can do, is remove all plugins from the "profile/Warcraft III - World Editor (WEX)/plugins" folder except the one named MindWorX.SimplePluginStorage. MindWorX.SimplePluginStorage is the plugin that stores your settings.
 
Level 7
Joined
Mar 10, 2013
Messages
365
Best I can think is maybe it affects loading times of World Edit? If it doesn't have to load sounds, it might start faster. I might give it a test when I have some spare time.


It's possible, although plugins do change and sometimes I add or remove plugins, so I wouldn't recommend it. What you can do, is remove all plugins from the "profile/Warcraft III - World Editor (WEX)/plugins" folder except the one named MindWorX.SimplePluginStorage. MindWorX.SimplePluginStorage is the plugin that stores your settings.
It's a minor complain I have to set the WE everytime I update it. It's not a big deal. I will wait until it's stable again.

Also, another thing: I have a map that have JNGP along with WEU, and this map have a lot of WEU triggers (like RemoveLocation, DestroyGroup, ...) and because of it I can't open the map with WEX, my only remaining problem was the 480x480 map size, but now you're featuring that, I'm changing WEU GUI trigger back to custom script so I can open it with WEX. TL;DR: I know it's outdated, but you intend on integrate WEX with WEU? Or import it's GUI functions (it's better than using custom script in the middle of GUI Triggers, IMO)?
 

MindWorX

Tool Moderator
Level 16
Joined
Aug 3, 2004
Messages
681
It's a minor complain I have to set the WE everytime I update it. It's not a big deal. I will wait until it's stable again.

Also, another thing: I have a map that have JNGP along with WEU, and this map have a lot of WEU triggers (like RemoveLocation, DestroyGroup, ...) and because of it I can't open the map with WEX, my only remaining problem was the 480x480 map size, but now you're featuring that, I'm changing WEU GUI trigger back to custom script so I can open it with WEX. TL;DR: I know it's outdated, but you intend on integrate WEX with WEU? Or import it's GUI functions (it's better than using custom script in the middle of GUI Triggers, IMO)?
I didn't realize people still used WEU. The biggest challenge is that it needs to be updated. If I import it as it is now, it'll overwrite all the new GUI functions like "Key of ..." for hashtables and more.
Does that include the style settings of TESH?
Sadly not. TESH would need to be rewritten to use the SimplePluginStorage system.
 
For some reason I started getting this error:


2017-05-02 23:48:30.446 +03:00 [SharpCraft][0.1.0.0][Error] Unable to locate address for "WE_LaunchMapFix"

2017-05-02 23:48:30.493 +03:00 [SharpCraft][0.1.0.0][Error] Failed { ModuleFileName: "amdihk32.dll", Exception: Win32Exception { NativeErrorCode: 126, ErrorCode: -2147467259, Message: "The specified module could not be found", Data: [], InnerException: null, TargetSite: null, StackTrace: null, HelpLink: null, Source: null, HResult: -2147467259 } }


It wouldn't open WEX anymore.
 

MindWorX

Tool Moderator
Level 16
Joined
Aug 3, 2004
Messages
681
For some reason I started getting this error:


2017-05-02 23:48:30.446 +03:00 [SharpCraft][0.1.0.0][Error] Unable to locate address for "WE_LaunchMapFix"

2017-05-02 23:48:30.493 +03:00 [SharpCraft][0.1.0.0][Error] Failed { ModuleFileName: "amdihk32.dll", Exception: Win32Exception { NativeErrorCode: 126, ErrorCode: -2147467259, Message: "The specified module could not be found", Data: [], InnerException: null, TargetSite: null, StackTrace: null, HelpLink: null, Source: null, HResult: -2147467259 } }


It wouldn't open WEX anymore.
The WE_LaunchMapFix stuff is just because you're using an older version where the launch map fix isn't needed.
And dlls frequently can't load, that's just the way windows works. Can you send me the complete log?
 

MindWorX

Tool Moderator
Level 16
Joined
Aug 3, 2004
Messages
681
English, duh..
Damn. Well, I see you're using version 1.26 which was one of the experimental versions I added. I'll start testing it out myself, and see if it works.

EDIT:
Good news/bad news. The bad news is the project crashes for me as well, but the good news is now I can at least debug why it is happening. I'll update as soon as I can.
 

MindWorX

Tool Moderator
Level 16
Joined
Aug 3, 2004
Messages
681
English, duh..
Well, this might be stupidly easy to fix. Can you do me a favor and open up "profiles\Warcraft III - World Editor (WEX)\plugins\MindWorX.SimpleAddressManager", and open the file "addresses.xml" with Notepad/Notepad++ or similar low-level text editor.
Search for the text "WE_ClipCursorToWindow". Should be line 246. Inside it are addresses for this specific hack. Remove lines 250, 251 and 252 completely.

Before
XML:
246:  <address name="WE_ClipCursorToWindow">
247:    <!-- Look for the imported ClipCursor function, the only function using it is WE_ClipCursorToWindow. -->
248:    <version code="1.28.1.7365 (3b54e1c3)">027260</version>
249:    <version code="1.28.0.7205 (bd7dc19)">024E70</version>
250:    <version code="1.27.1.7085 (1225d28)">01B0C0</version>
251:    <version code="1.27.0.52240 (f7ba2a3)">019E60</version>
252:    <version code="Version 1.26.0">095480</version>
253:  </address>

After
XML:
246:  <address name="WE_ClipCursorToWindow">
247:    <!-- Look for the imported ClipCursor function, the only function using it is WE_ClipCursorToWindow. -->
248:    <version code="1.28.1.7365 (3b54e1c3)">027260</version>
249:    <version code="1.28.0.7205 (bd7dc19)">024E70</version>
250:  </address>

If this works, can you please let me know, and I'll update the package.
 
Last edited:

MindWorX

Tool Moderator
Level 16
Joined
Aug 3, 2004
Messages
681
Yep, removed that line and it worked!

<version code="Version 1.26.0">095480</version> was causing the problems
Awesome, I'll have an update out later tonight or tomorrow. I appreciate you testing it out.
Yeah, but using most of them crash the editor.
If you use this with 1.28 then it doesn't crash anymore. That's the whole point of SharpCraft/WEX. To avoid relying on old software that isn't working right. WEX always uses the correct version of the world editor.
 
Level 4
Joined
Jul 29, 2014
Messages
74
If you use this with 1.28 then it doesn't crash anymore.
Using last patch and last version of WEX and it does crash.

And after editing a bit a map in WEX i found out I can't test it or open it from within the game. I keep getting the error "cannot load map data".

Info:
w3 instalation path: F:\Program Files\Warcraft III
WEX instalation: F:\Program Files\Warcraft III\SDK\WEX

system info:
Windows 7
 

MindWorX

Tool Moderator
Level 16
Joined
Aug 3, 2004
Messages
681
Using last patch and last version of WEX and it does crash.

And after editing a bit a map in WEX i found out I can't test it or open it from within the game. I keep getting the error "cannot load map data".

Info:
w3 instalation path: F:\Program Files\Warcraft III
WEX instalation: F:\Program Files\Warcraft III\SDK\WEX

system info:
Windows 7
This is a bug with the latest patches, 1.28 and 1.28.1. I've tried to fix it with TEX, but it doesn't work on all machines. Some have reported that it works if they move their Warcraft III installation out of the Program Files folder, but I wouldn't recommend it, since this is hopefully only a temporary issue.
You can try the following.
  1. Open up F:\Program Files\Warcraft III
  2. Open up properties for "worldedit.exe"
  3. Open the compatibility tab, and make sure it's set to always launch as administrator.
  4. Open up F:\Program Files\Warcraft III\SDK\WEX
  5. Right-click "World Editor Extended.exe", and select "Run as administrator".
It's not guaranteed to work, but might work if you're lucky.

In french, does it cause a problem.
Yes, there is a localization isssue, TESH looks for the window name in English. I'll update WEX later today, with a fix that makes it work properly again.
 
Level 9
Joined
May 27, 2012
Messages
115
MindWorX, im not sure if this is already asked for but I would just like to point it out. (totally understand that this is not of high priority)
Old JNPG had a function, a "colonizer" which allowed you to work much easier with names and tooltips in the object editor. Would be very nice if you could include this in wex.

//best of luck CanFight
 
Level 4
Joined
Jun 28, 2012
Messages
23
Thanks for the reply, I'll wait or change the language of my installation.
Thanks for all of your hardwork !
 
Level 7
Joined
Jan 13, 2017
Messages
62
For those having problems with the map not running because of the "Cannot load map data" error on WEX. Deleting all of these:
Documents
\Documents\Warcraft III\Maps\Test\WorldEditTestMap.w3x
\Documents\Warcraft III\Maps\Test\WorldEditTestMap.w3m
GameDir
\Warcraft III\Maps\Test\WorldEditTestMap.w3x
\Warcraft III\Maps\Test\WorldEditTestMap.w3m

Solved the issue for me, i can now use the test map button without any error.
 
Level 12
Joined
Feb 11, 2008
Messages
810
For those having problems with the map not running because of the "Cannot load map data" error on WEX. Deleting all of these:
Documents
\Documents\Warcraft III\Maps\Test\WorldEditTestMap.w3x
\Documents\Warcraft III\Maps\Test\WorldEditTestMap.w3m
GameDir
\Warcraft III\Maps\Test\WorldEditTestMap.w3x
\Warcraft III\Maps\Test\WorldEditTestMap.w3m

Solved the issue for me, i can now use the test map button without any error.

This is confirmed! this completely fixed my issues with "cannot load map data" issue

Please add the tezt colorisation tool like in NewGen

^^^^This! (including linebreaks and anything else you can think of)
 

MindWorX

Tool Moderator
Level 16
Joined
Aug 3, 2004
Messages
681
worldedit.exe crash

i try 1.26a/127a versions


after close , AVAST (antivirus) remove .exe file and write "malware attack blocked" :)
Send me the latest logs and I'll take a look. 1.26a is buggy at the moment, but will be fixed with the next update.

The malware stuff is a false positive. It detects the injection system and thinks it's a virus. Make sure you tell AVAST that the file is safe.
 
Level 8
Joined
Jun 17, 2010
Messages
217
Can't save map.

K72h199.png

in 126/127a, in 127b - works


and

How to add support memhack ?

I just add memhack code to custom code and save map, but after save in war3map.j some variables have been renamed.

for example Typecast1 function:

before save:
Code:
function Typecast1 takes nothing returns nothing
local integer l__Code
local code l__Int
endfunction
after save:
Code:
function Typecast1 takes nothing returns nothing
local integer l__l__Code
local code l__l__Int
endfunction
 
Last edited:

MindWorX

Tool Moderator
Level 16
Joined
Aug 3, 2004
Messages
681
I can't tell you anything about why memhack isn't working. It must be something JassHelper does.

I'll look into the problems with saving on 1.26 and 1.27a/b. Those versions are experimental though, and if I can't make them work, they likely wont be supported. The aim is primarily to support the latest versions.
 
Level 6
Joined
Jul 30, 2013
Messages
282
Man, sometimes I wish Sharpcraft had it's own updater as a exe instead of me having to download it from all these great updates. xD

That, and the possibility to recover the map if your computer shuts down on while working on it... God, I wish that was a thing so much! But you have enough on your plate as it is. I look forward to when you find a way to allow multiple terrain outside the current tile space limitation!
its called Git.. Git
 

MindWorX

Tool Moderator
Level 16
Joined
Aug 3, 2004
Messages
681
With 1.28 and 1.28.1 the "Test Map" button isnt working for me! When I click the game starts as a black screen with background music and nothing happens. The only way to test the map is to save it in maps and start it from the game itself.
Make sure you check the known issues section and once you've done that, send me a copy of your logs.
 

MindWorX

Tool Moderator
Level 16
Joined
Aug 3, 2004
Messages
681
Updated!

For those that are having problems with TESH on non-english Editors, please check here. This will happen automatically in the future, but the fix have been causing issues, which has delayed it a bit.

Please post any problems or issues, but make sure you check the known issues section first!
 
Top