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

Disarm v1.06

This bundle is marked as awaiting update. A staff member has requested changes to it before it can be approved.
Written by me (Retera) to help people who want to have a weaponless model, but don't want to bother requesting for people to make it.

Opens a model using a basic Choose Unit or Choose Model interface built to match the World Editor almost identically, then removes the weapon of the model after asking the user a few basic questions about model structure.

Contains some extra features in "Edit" such as the ability to add weapons back in from other models, but that take a little bit of extra clicking to use.

This upload is the new 2016 version (Disarm v1.05) which now uses updated libraries that should fix a lot of the old UnsatisfiedLinkErrors and issues opening Warcraft archives:
- Uses the Java MPQ library from Dr Super Good
- Uses the Java MDX library from oger-lord
- Uses the Java BLP libraries also from oger-lord's repo
- Uses the LWJGL Java graphics library

This version only runs on Windows but it would not be very hard to port the code to other systems now that it is almost entirely pure-Java if somebody wanted a ported version.

If you want to get it running on Mac then use the steps in this post:
Disarm v1.06

Keywords:
model,modeling,disarm,weapon,weaponless,warcraft model, warcraft mdx, warcraft mdl
Contents

Disarm v1.06b (Binary)

Reviews
eejin
Do you have any intention of updating it to function with the newest Warcraft 3 version? Once you do it can be reviewed for approval. Refer to the tool submission rules or contact me if you need any clarification.
Level 8
Joined
Sep 10, 2013
Messages
372
This is groovy :) But why does it remove more than the weapon sometimes? It removes Arthas's hand and the abomination's too. Also, it gives weird errors with custom models. Care to elaborate?

Otherwise it works actually and it's very smart.

EDIT: LOL Disarming the Tauren Chieftain removes the whole model :D
And about the hand removal, it's actually my fault. I should have chosen 'no'.

EDIT2: After playing around with this for a while, I think it's pretty good. It has very few issues for the original wc3 models (like the tauren chieftain), and very few issues with custom models form the Hive. However, every once in a while it removes the whole body or the face or a body part very distant to the weapon. Maybe it's a problem with the model itself not this program, but I wouldn't know that.
 
Last edited:
I have edited this bundle and changed the version number from Disarm v1.05 to Disarm v1.06. There are no major functional differences in the program.
However, Disarm uses several Matrix Eater libraries, and I have continued development on the Matrix Eater since a year and a half ago when Disarm was published, so I believe there have been a few tweaks to the model editing libraries in that time that will fix minor bugs in this release.

If anyone has any issue that would suggest Disarm v1.05 was better than Disarm v1.06 in any way, please inform me immediately. I do not use Disarm very frequently, and am less likely to catch bugs in a build like this than in the Matrix Eater.

Edit: You can also develop code with Disarm and add your own features if you know Java. Just Google up the Matrix Eater Developer Tutorial online.
 
Last edited:
Sometimes my old library code I was using tries to require strict Run as Admin access which it doesn't actually need anymore. It might help if you go into AppData and delete your JWC3 folder if you don't mind losing any Matrix Eater preferences that might be stored there. I suggest backing it up before you delete it.
After you move/delete that folder, if you find it, then it should prompt you again to ask which Warcraft 3 installation you would like to use when you open Disarm.
You could also try downloading the Matrix Eater software, and using it to configure these settings, if possible. They share the config files in AppData.
 
Yes, it works on Mac. You just need some extra library files that I didn't include to reduce the file size. I don't personally have a Mac but I sent a Hayate a copy of the Matrix Eater (which uses the same libraries) that included the Mac library files, and he said it worked mostly, with a few minor mac-specific bugs that it seemed like he could overcome by resizing the window.
 
Sure. Sorry I didn't before, I was on a train leaving work.
Based on my understanding, the process to use it on Mac is as follows:
  1. Download Disarm here on the Hive
  2. Get the "MacMatrixEaterLibs.zip" attachment to this post, take out all the files, and put the files in your Disarm root folder (not in a subfolder)
  3. Install Java for Mac (maybe it will already come installed?)
  4. Run "Disarm.jar" using your Mac Java installation (google will have advice on how to run a JAR file, but on some systems it is as easy as a double-click)
 

Attachments

  • MacMatrixEaterLibs.zip
    1 MB · Views: 152
Level 2
Joined
Jul 15, 2016
Messages
26
Retera I have a problem here. I have installed the Disarm on my computer is Windows 7 and installed jre-8u161-windowsx64(Java), well it didn't work out. Can you give me the link for installing the correct java? My system is 64 bit
 
If you are on Patch 1.30 there are no MPQ files so the modding tools won't work until I rewrite them, which I did not do yet.
If you are not on Patch 1.30 then there should be a way to configure Disarm to open your game MPQ files. If this is not working, try copying the MPQ files from your Warcraft 3 installation into Disarm -- for really old versions, that might be the best fix, but it wastes file space and is not ideal.
You could PM me if you are still having trouble. Generally speaking, I developed Disarm in a couple of hours as a hack on top of the Matrix Eater codebase, so I am not so rigorous about keeping it up to date. It is possible that a fixed version exists in my codebase on github and that I did not update the downloadable binary here on the Hive.

You could check the "prod" branch on Retera/JWC3 if you can figure out the annoying process of downloading and compiling it

Edit: I suppose this is partially in jest. The goal of disarm is to be easy, and compiling it yourself is not. If I work out how to make the Matrix Eater compatible with CASC (Patch 1.30 File System), then I will be able to publish a Disarm version that is also compatible with that, and maybe it will work automatically.
 
Last edited:
I included disarm last night in my switch to an automated build system, Gradle, for my codebase. It's hard to see because the codebase is still muddled with old stuff but if you import it with Gradle it now cleanly creates only 4 projects -- war3 data, war3 editor style components, disarm, and matrixeater:
Retera/JWC3

But I have some house cleaning to do in the codebase. Disarm was built on the previous version of my editor system, where a single "everything class" called MDLDisplay managed interactions between GUI and model data.
After I rewrote MDLDisplay and separated it into the ModelView, ModelEditor, Manipulator, and Activity Java interfaces as well as separate renderer classes about a year and a half ago, I did not update Disarm and its code sat in my repo with compile errors. Furthermore, MDX Scaler was accidentally committed overtop of Disarm because it began as a quick hack of the same project.
So there is work to be done, and the source has had compile errors for more than a year, preventing it from running at all. But Disarm is not a complicated program. When I get around to updating it, I anticipate the update will go fairly smoothly. Matrix Eater repo tests have shown that the new JCASC library from DrSuperGood makes it possible for these old tools of mine to be upgraded for Patch 1.30.
 
Top