• 🏆 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!

How To: Run vJASS on a Mac Computer

Level 3
Joined
Jun 3, 2010
Messages
47
How To: Run vJASS on a Mac Computer

Alright, first off, I want to thank Weep foremost for finally helping me do this, because for the longest time I hunted files to just find out that I only needed to move a folder to a new location! At the end of the tutorial I included an updated Mac-Friendly jasshelper folder. Chances are that, if you are someone who uses Linux, you are already pretty computer smart, and should understand converting this to use for your own distro.


Step One: First you will need to get the JASS NewGen Packet, or you can simply download the simple JassHelper folder at the bottom of this post.

If you download the normal JASS NewGen Packet, you will need to do the following steps.

1) Copy-Paste the Bin folder from the main directory to the jasshelper folder.

2) Download the new JassHelper files, the ones you will need are jasshelper.exe, clijasshelper.exe, and jasshelper.conf, and replace the original ones with in the jasshelper folder with these new ones.​

Step Two: Now, you need to create the textfile you would like to use. For example's purpose, we could create a file named "vJASS.txt". Move it into your JassHelper folder.

Step Three: Importing it into your map is the most important part. Sadly, the WC3 Syntax Checker will try not to let you save with errors, which is why the //! syntax is so important. Because it does actually start with //, that mean WC3 will treat it as a comment. To import our file, you merely need to put in a trigger, or the map header:
JASS:
//! import "vJASS.txt"

Step Four: Here it is, the last step! Now all you will need to do is run JassHelper from the terminal. First of all, you will need to have WINE, or you can't run these commands. Open the Terminal, and type in the following, substituting your paths of course.

JASS:
wine path/to/.exe path/to/common.j path/to/blizzard.j path/to/map.w3x

For those of you who know how to use terminal, you may find it easier to change directory (See what I did there?) to the folder with the map in it, and then run the WINE command. That is because you can keep the textfile with the map instead of inside the JassHelper folder instead. For those of you who do not know how to do this, consider reading a Terminal Tutorial.

Assuming you download the slightly edited JassHelper and you put it on your desktop, your command would be:

JASS:
wine ~/Desktop/JassHelper/jasshelper.exe ~/Desktop/JassHelper/common.j ~/Desktop/JassHelper/Blizzard.j ~/Desktop/DotA.w3x

Here's the exciting part, watching the JassHelper window open and run :p

There it is, wasn't that simple?

Now, I want to go on to describe clijasshelper.exe. It is nearly the same as JassHelper, except, instead of using a GUI, it merely uses plain-text in the terminal window. To use it, merely replace jasshelper.exe in your command with clijasshelper.exe. Simple, right?

JASS:
wine ~/Desktop/JassHelper/clijasshelper.exe ~/Desktop/JassHelper/common.j ~/Desktop/JassHelper/Blizzard.j ~/Desktop/DotA.w3x

There is also a flag I'd like to mention, called --scriptonly. It changes the arguments for (cli)JassHelper when used.
JASS:
wine jasshelper.exe --scriptonly common.j Blizzard.j input.j output.j

The way it then works is by taking your common/blizzard.j and a text file saved in .j format. It will compile all the vJASS in input.j and replace output.j with it! This would be incredibly helpful if it compiled globals, but sadly, it does not. Still, I'm waiting for a brilliant coder to figure out an alternative! --scriptonly is still helpful for understanding vJASS Theories.

However, I should probably explain some problems with this method. First of all, you should close your map when running JassHelper with WINE. Because, JassHelper only compiles it once (sort of,) meaning that it won't update the code without re-saving the map. And it can bug when reupdating and crash with the map open, so I recommend you just close the map when running JassHelper. It sucks, but it's all we have till someone decides to hack the World Editor for macs.

  • The next step for those of you want to, would be to get Vexorian's jEdit Modifications.
  • If you need to look up BJ's or functions or just forgot something about a native, I suggest you use the Wiki.
  • Mediafire download of the JassHelper Folder.
  • Thanks to Lyerae, there is a faster download here.
 
Top