Tool Weep's Useful Batch Scripts

Weep

Godspeed to the sound of the pounding
Reaction score
400
"W.U.B.S." <3
by Weep
Version 1.0.1​

-- Index --
  1. Play a map regardless of file path
  2. Load a map even when the editor is running
  3. Process a map with JassHelper

-- General Information --
DOS batch files, or .bat files, are sequences of command line operations saved into a script file. Here are a few simple but useful/convenient ones I've made to assist WC3 mapping, tested in Windows XP.

If you want to give them custom icons, you have to make a shortcut to them and then right click > Properties on the shortcut. You can change the shortcut's icon, but not each individual .bat's icon.

-- How To Implement --
  1. Create a new text file, eg. in Notepad.
  2. Paste in the relevant code.
  3. Save the file with a .bat extension to the location specified at the top of the code.
  4. Run the file in Windows, and/or open a map file with the .bat, pretending it is a .exe.

-- Misc. Notes --
No warranty express or implied is available for this code. :p Not responsible for any damages, etc. Credit to Starcraftfreak for this list of WC3 parameters.

Play a map regardless of file path
-- What It Does --
WC3 will refuse to load a map that's located at too long a file path - its name might be too long, or it might be in a folder with too long a name, or it might be nested in too many folders. Using this file, any map can be loaded into WC3 without your having to move it first. Also, just opening the .bat on its own will launch WC3, so you can use it in place of any shortcuts to the Warcraft 3 .exe.

-- How It Works --
The script copies any map it opens to a pre-determined name in your temporary file directory, then commands WC3 to load that copy at the new location.

-- Code --
Code:
::Save this .bat file in the same directory as the war3.exe
::The script uses its own location to find that .exe

@echo off

set WarcraftPath=%~dp0

if not "%~x1" ==".w3x" (
if not "%~x1" ==".w3m" (
start "" "%WarcraftPath%\Frozen Throne.exe"
EXIT
)
)

set TempFile=%TEMP%\TempMap%~x1
copy %1 "%TempFile%"

start "" "%WarcraftPath%\war3.exe" -loadfile "%TempFile%"
EXIT

-- Code (for WC3 windowed mode) --
Code:
::Save this .bat file in the same directory as the war3.exe
::The script uses its own location to find that .exe

@echo off

set WarcraftPath=%~dp0

if not "%~x1" ==".w3x" (
if not "%~x1" ==".w3m" (
start "" "%WarcraftPath%\Frozen Throne.exe" -window
EXIT
)
)

set TempFile=%TEMP%\TempMap%~x1
copy %1 "%TempFile%"

start "" "%WarcraftPath%\war3.exe" -loadfile "%TempFile%" -window
EXIT

Load a map even when the editor is running
-- What It Does --
When opening a map file from Explorer while the World Editor is already running, it will give an error since it will try to open a new instance of the World Editor, which you cannot do. (Why it has this behavior, I don't know. It doesn't do that in the Mac version...) Opening a map with this file will load it with the World Editor regardless of whether the editor is already running or not. Also, just opening the .bat on its own will launch the editor, so you can use it in place of any shortcuts to the World Editor.

-- How It Works --
The script issues the World Editor a command to load the map.

-- Code --
Code:
::Save this .bat file in the same directory as the worldedit.exe
::The script uses its own location to find that .exe

@echo off

set WarcraftPath=%~dp0

if not "%~x1" ==".w3x" (
if not "%~x1" ==".w3m" (
start "" "%WarcraftPath%\worldedit.exe"
EXIT
)
)

start "" "%WarcraftPath%\worldedit.exe" -loadfile "%~f1"
EXIT

Process a map with JassHelper
-- What It Does --
Aside from working with the NewGen Pack, JassHelper is a command-line operable program. For those who'd prefer to work independently of JNGP (eg. for future-proofing), this .bat will issue JassHelper the proper commands to process a map.

-- How It Works --
The script copies any map it opens and adds -JHH to the file name (this allows you to process a map using !import commands multiple times in a row without re-saving from the World Editor), then commands JassHelper to process the map.

-- Code --
Code:
::Save this .bat file in the same directory as the jasshelper.exe
::Also copy the Blizzard.j and common.j files into that directory
::The script uses its own location to find those files

@echo off
if not "%~x1" ==".w3x" (
if not "%~x1" ==".w3m" (
EXIT
)
)

set JassHelperPath=%~dp0

set TempFile=%~dpn1-JHH%~x1
copy %1 "%TempFile%"

pushd %~dp1

start "" "%JassHelperPath%\jasshelper.exe" "%JassHelperPath%\common.j" "%JassHelperPath%\Blizzard.j" "%TempFile%"
EXIT

-- Code (to process in debug mode) --
Code:
::Save this .bat file in the same directory as the jasshelper.exe
::Also copy the Blizzard.j and common.j files into that directory
::The script uses its own location to find those files

@echo off
if not "%~x1" ==".w3x" (
if not "%~x1" ==".w3m" (
EXIT
)
)

set JassHelperPath=%~dp0

set TempFile=%~dpn1-JHH%~x1
copy %1 "%TempFile%"

pushd %~dp1

start "" "%JassHelperPath%\jasshelper.exe" "--debug" "%JassHelperPath%\common.j" "%JassHelperPath%\Blizzard.j" "%TempFile%"
EXIT
 

Attachments

  • Weep's Useful Batch Scripts.zip
    2 KB · Views: 422

Weep

Godspeed to the sound of the pounding
Reaction score
400
He sees what I did there. :p
I like convenience. <3
 

Samael88

Evil always finds a way
Reaction score
181
This exact same thing works with shortcuts as well, why complicate things with .bat files:nuts:

just add this:
-loadfile "insert destination and map name here"
to your shortcut and it does the exact same thing.
 

Weep

Godspeed to the sound of the pounding
Reaction score
400
This exact same thing works with shortcuts as well, why complicate things with .bat files:nuts:
I don't believe you can set specific shortcuts to be the default "app" for double-clicking a file, nor have it appear in the "Open With..." menu. You can with .bat files.
 

Samael88

Evil always finds a way
Reaction score
181
I did not really understand what you meant with the "open with..." part, but I tried making shortcuts for specific maps with both the war3.exe and worldedit.exe and it worked just fine, I can not try jasshelper though since I do not use it.
 

BlackRose

Forum User
Reaction score
239
  • Play a map regardless of file path
    • Window Yes
    • Fullscreen Yes
  • Load a map even when the editor is running Yes
  • Process a map with JassHelper No
    jasshelper.exe - System Error
    The program can't start because bin\SFmpq.dll is missing from your computer. Try reinstalling the program to fix this problem.
    :eek:

Idk. Looks like it works on 7, and that JassHelper problem is mine 0.o
 

Weep

Godspeed to the sound of the pounding
Reaction score
400
Thanks! :)


The program can't start because bin\SFmpq.dll is missing from your computer. Try reinstalling the program to fix this problem.
Yes, well, you have to copy SFmpq.dll from the NewGen download into a folder named "bin" placed alongside the jasshelper.exe - I'm not sure whether that note falls into the scope of these scripts' documentation, or if it's general JassHelper info.
 

HeX.16

Isn't Trollin You Right Now
Reaction score
131
Wow, i love the first one. (Play a map regardless of file path)
Useful very. Only one i have installed but it works on Win7
 
General chit-chat
Help Users
  • No one is chatting at the moment.
  • The Helper The Helper:
    I am not big on the recipes I am just promoting them - I use the site as a practice place promoting stuff
    +2
  • Monovertex Monovertex:
    @tom_mai78101 I must be blind. If I go on my profile I don't see any area to edit the signature; If I go to account details (settings) I don't see any signature area either.
  • The Helper The Helper:
    You can get there if you click the bell icon (alerts) and choose preferences from the bottom, signature will be in the menu on the left there https://www.thehelper.net/account/preferences
  • The Helper The Helper:
    I think I need to split the Sci/Tech news forum into 2 one for Science and one for Tech but I am hating all the moving of posts I would have to do
  • The Helper The Helper:
    What is up Old Mountain Shadow?
  • The Helper The Helper:
    Happy Thursday!
    +1
  • Varine Varine:
    Crazy how much 3d printing has come in the last few years. Sad that it's not as easily modifiable though
  • Varine Varine:
    I bought an Ender 3 during the pandemic and tinkered with it all the time. Just bought a Sovol, not as easy. I'm trying to make it use a different nozzle because I have a fuck ton of Volcanos, and they use what is basically a modified volcano that is just a smidge longer, and almost every part on this thing needs to be redone to make it work
  • Varine Varine:
    Luckily I have a 3d printer for that, I guess. But it's ridiculous. The regular volcanos are 21mm, these Sovol versions are about 23.5mm
  • Varine Varine:
    So, 2.5mm longer. But the thing that measures the bed is about 1.5mm above the nozzle, so if I swap it with a volcano then I'm 1mm behind it. So cool, new bracket to swap that, but THEN the fan shroud to direct air at the part is ALSO going to be .5mm to low, and so I need to redo that, but by doing that it is a little bit off where it should be blowing and it's throwing it at the heating block instead of the part, and fuck man
  • Varine Varine:
    I didn't realize they designed this entire thing to NOT be modded. I would have just got a fucking Bambu if I knew that, the whole point was I could fuck with this. And no one else makes shit for Sovol so I have to go through them, and they have... interesting pricing models. So I have a new extruder altogether that I'm taking apart and going to just design a whole new one to use my nozzles. Dumb design.
  • Varine Varine:
    Can't just buy a new heatblock, you need to get a whole hotend - so block, heater cartridge, thermistor, heatbreak, and nozzle. And they put this fucking paste in there so I can't take the thermistor or cartridge out with any ease, that's 30 dollars. Or you can get the whole extrudor with the direct driver AND that heatblock for like 50, but you still can't get any of it to come apart
  • Varine Varine:
    Partsbuilt has individual parts I found but they're expensive. I think I can get bits swapped around and make this work with generic shit though
  • Ghan Ghan:
    Heard Houston got hit pretty bad by storms last night. Hope all is well with TH.
  • The Helper The Helper:
    Power back on finally - all is good here no damage
    +2
  • V-SNES V-SNES:
    Happy Friday!
    +1
  • The Helper The Helper:
    New recipe is another summer dessert Berry and Peach Cheesecake - https://www.thehelper.net/threads/recipe-berry-and-peach-cheesecake.194169/
  • The Helper The Helper:
    I think we need to add something to the bottom of the front page that shows the Headline News forum that has a link to go to the News Forum Index so people can see there is more news. Do you guys see what I am saying, lets say you read all the articles on the front page and you get to the end and it just ends, no kind of link for MOAR!
  • The Helper The Helper:
    Happy Wednesday!
    +1
  • V-SNES V-SNES:
    Happy Friday!
    +1

      The Helper Discord

      Members online

      No members online now.

      Affiliates

      Hive Workshop NUON Dome World Editor Tutorials

      Network Sponsors

      Apex Steel Pipe - Buys and sells Steel Pipe.
      Top