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. Travel to distant realms and encounter scenes unknown to the common folk. The Greatest of Adventures is upon us with the 8th Cinematic Contest. Join in on a fun ride.
    Dismiss Notice
  5. The 18th Icon Contest is ON! Choose any ingame unit and give him/her Hero abilities. Good luck to all.
    Dismiss Notice
  6. The Secrets of Warcraft 3 have revealed interesting works. The RESULTS for Abelhawk's Mini-Mapping Contest #15 have come out!
    Dismiss Notice
  7. Contestants are to create a scene set in the Stone Age. Come and see what you can come up with. We wish you the best of luck!
    Dismiss Notice
  8. Colour outside the lines! Techtree Contest #13 is a go. The contest is optionally paired.
    Dismiss Notice
  9. Night Rider gained several songs for his journey. The poll for the 12th Music Contest has started. Check it out!
    Dismiss Notice
  10. Greetings cerebrates, our Swarm needs new spawners that will have numerous children. Join the HIVE's 31st Modeling Contest - Spawners and Spawned! The contest is optionally paired.
    Dismiss Notice
  11. 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.

Retera's Model Studio

Submitted by Retera
This bundle is marked as approved. It works and satisfies the submission rules.
This is Retera's Model Studio v0.03 Public Beta. It is not finished! But it is something that works and is better than the Matrix Eater application, and is compatible with Patch 1.31.

Retera's Model Studio is the second evolution of the Matrix Eater project. It is a standalone MDL and MDX model editor. The project has diverged from the Matrix Eater that is available here on the Hive, and become a different program with features that do not totally overlap -- although my goal is for this to entirely replace the Matrix Eater.

Features:
  • Open and view MDL and MDX model files
  • CASC Data browser with double-click to view model, or texture, using JCASC from DrSuperGood
  • Attempts to support every single Warcraft III Patch up to and including Patch 1.31
  • MPQ Data browser seamlessly replaces CASC browser when using older patches of the game
  • 24 color "Team Color" menu will seamlessly swap to 12 colors when using an older patch of the game
  • Edit the model geometry (Select by Vertex, Select by Face, Select by Group)
  • Editor hotkeys that were not present in the Matrix Eater predecessor (QWER for edit mode, ASDF for select mode)
  • Control which Geosets are editable at one time
  • Animation Previewing (No particles or ribbons yet)
  • An "Open Internal" menu for loading game models quickly
  • Can open and save MDX to MDL or MDL to MDX using a converter that supports features such as ReplaceableId on Particle Emitters better than some alternatives
  • Includes a basic UV map editor
  • Multiple GUI themes available in the Preferences Window
Experimental Features:
  • Create a new blank model with basic planes and boxes
  • Can open BLP or PNG images for previewing (similar to Magos application)
  • Includes an Edit Textures menu to view the list of used textures, and quickly change used paths.
  • Quick Browse: Opening a new model in the Data Browser will close unsaved old ones (can be turned off in preferences)
  • Customizable layout, allowing you to draw components of the UI into different places
  • Window -> Reset Layout to reload the default layout
  • T-Pose edit mode, which can move mesh based on assigned bones in a more intelligent way
  • Cluster selection mode, similar to Group mode but using connected mesh rather than assigned VertexGroup
  • Animation edit mode, which can edit and modify animations (Warning: uses Hermite and Bezier by default, and inserts incorrect inward and outward tangents that will cause visual "vibrations" of nonlinear models in some cases, this is a fixable bug, needs more time)
  • Hive Browser is a feature that does not work and was added only as a UI mockup to discuss technology, and was included by accident in V0.01. It will be removed in V0.02, as to my knowledge, the required server technology for the hypothetical feature to work was not built.
Limitations:
  • Unlike Matrix Eater, this application cannot pin a Geoset to be visible but not editable
  • Unlike Matrix Eater, this application gives no indication of a node's name graphically in the 2D editing space
  • No user interface to control mounting system for MPQ/CASC hybrid loading system, so it will break again in Patch 1.32 or whenever Blizzard moves data once again
  • No support for HD models from Warcraft 3 Reforged
  • Inherits WC3 cached install directory information from Matrix Eater, which can be removed in the case of incompatibility and is located at C:\Users\<name>\AppData\Roaming\JWC3\user.profile
  • After running this application, configuration settings from the Matrix Eater application may become corrupted and not work correctly, causing strange white background errors (This application will not be affected)
Required for running Retera's Model Studio:
  • A Java SE Runtime Environment. A bundle is included with a Windows 64-bit EXE launcher but if you want the application to run on Linux or Mac then you must install the Java SE Runtime Environment separately.
  • The above statement means that if you are a 32-bit Windows XP user, the EXE application will not function (only tested with Windows 7 64-bit, and Windows 10 64-bit)
  • A valid Warcraft III Installation (only tested with Patch 1.22 through Patch 1.31)
Additionally bundled applications (main methods in the same Java application included as EXE files):
  • Includes the AnimTransfer EXE that was previously included with Matrix Eater, which will use the Retera Model Studio MDL and MDX parser, which has significant subtle improvements over the one in the Matrix Eater application thanks to contributions from Ghostwolf.
  • Includes the ObjectEditor EXE shown in YouTube videos that has custom folders based on unit race, and can be opened multiple times simultaneously and can select, copy, and paste multiple Units between two running instances of the software. (Known to have bugs, requires Windows Clipboard, fails on Linux)
  • BlpConv EXE that can be used to convert TGA to BLP using DrSuperGood's blp-iio-plugin on systems where Magos or BLP Lab are not working (although these two alternative tools are typically superior to mine)
v0.03:
  • Changed the program to use Java 11. Had trouble exporting the JAR from Eclipse, so I changed it back to Java 8 for now.
  • Changed the program to use the latest version of DrSuperGood's JCASC, which requires Java 11 to use, then I modified his code so that it did not require Java 11 so that we could continue deployment in the previous fashion.
  • Changed the startup sequence to use a "data source chooser" view, which is also available in Preferences. This allows users to load CASC or MPQ data in a way that is intended to be straightforward and clear to the user, and for CASC data the user able to choose the locale to load from the game. Locales that are present in the CASC's list but have not been downloaded from Blizzard are shown in dark red. These dark red options won't work until you launch Warcraft III at least one time using that locale.
  • Changed the startup sequence to return the user to the "data source chooser" any time that the program crashes during startup, so that the user is always able to reconfigure their settings.
  • Changed the model previewer to include the rendering of Particle Emitters, so that users can have a better feel for how their models might look in-game. This is a nontrivial task that involves many hundreds of lines of code replicating the behavior of the game and it was only possible because of the works of Ghostwolf, which I translated nearly directly from JavaScript into Java.
    • "Squirt" mode particles will emit at random times when they should not because of a difference between my code and Ghostwolf's code (his does not have this bug).
    • Also, priority plane and layering are known to have issues.
  • Added a JSON parser that loads the "filealiases.json" data when using CASC. This file is used by the 1.30 and 1.31 clients to support removed legacy files inside the Warcraft III game, and it will now be supported by the Retera Model Studio when viewing models. This will fix missing textures in some instances when the textures were not missing in-game.
  • Changed the default application data folder to be named "ReteraStudio" instead of "JWC3". This change removes bad interactions with the "Matrix Eater" application where the "Retera Model Studio" and "Matrix Eater" would write clashing versions of the same data to the same settings file (see "AppData/Roaming/ReteraStudio" on your computer).
    • This will cause a reset of all user settings for the Retera Model Studio version v0.03.
    • If you wish to avoid a settings reset, copy your settings file from "AppData/Roaming/JWC3". However I do not promise backwards compatibility.
  • Fixed an issue with the Quick Browse option so that turning it off and on will work correctly.
  • Added a scroll bar to the "Change Animation Lengths (by Scaling)" popup. (Thanks Mythic!) This popup is now listed under the "Scripts" menu.
  • Added 3 new GUI Themes: HiFi, Acryl, and Aluminium. These are all from the JTattoo library. Also, the "Dark" theme was technically the "Noire" theme from the JTattoo library, and it has been renamed accordingly. Aluminium is now the default theme (this can still be changed in the Preferences Window).
  • Changed code in the BLP loading pipeline used for rendering models and icons that aims to avoid destruction of texture data that is beneath an alpha channel yet loaded on a model's surface regardless of the alpha channel. Previously visual artifacts were visible in some cases that were not in accordance with how the textures would display in the Warcraft III game.
  • Added an "Edit" button in the Time Bound Chooser panel, but it does not actually work yet and will be fixed in a future version.
  • Changed some code with the "X" button on the program and how closing model files functions, so that it should not be able to bug out and fail to close a model or fail to close the application in a way unexpected by the user.
  • Added a system in the 3D displays that compares the aspect ratios known to the application with the aspect ratios known to the graphics card that attempts to use this information to fix the renderer when used on desktops that have the UI Scale setting specified. This was tested on Windows 10 with the UI scale, and it still fails on multiple monitor configurations where the second or third monitor have differing UI Scale specified. However, it should always work correctly on the main display when previously it may not have worked correctly at all.
  • Added a Preferences option to disable rendering particle emitters, as well as a separate option to disable rendering particle emitters in the Editor view.
  • Changed the "Use Boxes for Pivot Points" option so that it also affects the 2D displays in the Animation Editor.
  • Changed the Right-Click mouse button not to do anything on the Outliner widget, so that it can popup an "Edit" option on a popup menu in a future version of the software.
  • Changed the code that converts program data to MDX at Save time, so that some models that previously would not save due to state corruption inside the Model Studio will now be able to save. There may be more similar bugs yet to be fixed.
  • Changed the SLK parser used to load Unit Data so that it should be able to load data from the Reign of Chaos and from Project Revolution, in case users wish to load that data using the new game data source choosing settings.
  • Changed the Unit Browser to reload its contents when the program data source is changed. Previously, the "View -> Change Game Directory" option was likely to change the internal setting but keep previously cached information in the Unit Browser.
  • Added a command line option, "-forcedataprompt" to force the program to start with the Data Source Chooser window, so that users can specify their Warcraft III game data source without launching the application.
  • Changed how missing textures resolve so that they should resolve to a white surface. This should hopefully remove the irritating popup.
  • Attempted to make the Perspective view constantly repaint itself to always update dynamically, however in practice this is still not working in some cases.
  • Changed the texture loader so that a default Tree texture will be loaded when the replaceable texture ID is not known. This does not yet help with previewing cliff models but it means that the Mountain Giant and similar models should preview decently.
  • Added a scroll bar to the Texture Manager shown with "Tools -> Edit Textures" for use on models with many textures
  • Reorganized some of the program menus to attempt to make them more logical (Based on some suggestions from Hayate, many thanks! If only this program could be updated as quickly as his mockup UI!) More changes to these may be added in a future version, as they are still rather disorganized.
    • The new "Scripts" is a place for one-off script utilities that don't fit anywhere else, and maybe be user modifiable to include custom code in the future. At this time, it is only a preset list.
    • "Scripts -> Export Animated to Static Mesh" is a new option to build snapshot models. Unfortunately, it only snapshots the currently timeline in the Editor view, not in the Viewer that you see when you start the application. Also, it discards all node information, including Billboarded nodes, so camera-centric planes will be left to face forward instead of the camera.
    • "Edit -> Optimize" now include an option to merge all geosets that share like materials and visibility that is called "Minimize Geosets". Misha and a few other users have been asking for this option for years. I have not tested it very extensively and there may still be bugs in it. It worked on one or two sample cases that I experimented with.
  • In v0.01/v0.02 I added an option in Program Preferences to allow loading Non-BLP textures, so that users can open a PNG file or a model that references a PNG file even though these are generally not valid MDX files when used inside the Warcraft III game. This option may have been changed in the newer one to fix bugs, according to some of my code history information.
  • Fixed a crash relating to parsing WTS files for unit data, such as when the Data Source Chooser is used to load a custom map file as an MPQ.
  • Changed "Error: A matrix's bone id was not referencing a real bone!" to be a console log line instead of a popup, so that users do not receive a spamming wave of popups when opening a model file.
  • Changed the model parser to accept models with missing Pivot Points (as the Warcraft III game does), so that the Retera Model Studio is able to open some MDX models that previously would have caused a crash popup.
v0.02:
  • Removed Hive Browser UI mockup that did not work
  • Wrapped the startup code in a block that will catch and display errors in a GUI
  • Fixed an issue where users who had never run the Matrix Eater application in the past would have the Retera Model Studio application crash the first time it was run
Personal note: On the Matrix Eater application, I left a note where I said:
This application does not solve that concern of mine. I am not uploading this as a finished product. But as we have seen with Patch 1.31, some times, software is pushed into production when it isn't ready. That is the case with this application. I want more than I have. I just can't stand not to share with the community what I have anymore, because I feel a deep sense of guilt for anyone who is using the Matrix Eater application and forcing themselves to mod on Patch 1.26 or some nonsense, while the above application existed on my computer and has for almost a year.

I believe in the power of open source, and this application is entirely open source. I have been developing it for about two years since the Matrix Eater was posted, and it has evolved out of the same codebase. This is the same GitHub link that was included on the Matrix Eater program, but it now contains the source for Retera Model Studio:
Retera/JWC3
Contents

Retera's Model Studio 0.03 (Binary)

  1. MyPad

    MyPad

    Spell Reviewer

    Joined:
    May 9, 2014
    Messages:
    1,270
    Resources:
    6
    Models:
    1
    Icons:
    1
    Spells:
    3
    JASS:
    1
    Resources:
    6
    Cool tool for editing models. Will download and test later.
     
  2. Wareditor

    Wareditor

    Joined:
    Jan 16, 2009
    Messages:
    681
    Resources:
    3
    Maps:
    3
    Resources:
    3
    Very cool tool. I have been building from source for a while now but I am happy other will be able to use this gem easily!
     
  3. terrio

    terrio

    Joined:
    Oct 19, 2014
    Messages:
    74
    Resources:
    2
    Models:
    2
    Resources:
    2
    i cant make this application run, when i run both .exe and .jar file , nothing happens , the OS is windows 10 64bit, latest java installed
     
    Last edited: Jun 3, 2019
  4. Retera

    Retera

    Tool Reviewer

    Joined:
    Apr 19, 2008
    Messages:
    794
    Resources:
    25
    Models:
    17
    Tools:
    2
    Maps:
    6
    Resources:
    25
    @terrio I made some changes to the program's startup sequence, and a fix for a first-time launch crash. When you run it now, do you see any kind of error notification or anything else, or do you still have an issue where nothing happens?
     
  5. stein123

    stein123

    Joined:
    Sep 17, 2010
    Messages:
    1,679
    Resources:
    9
    Icons:
    9
    Resources:
    9
    Thank you Retera!
     
  6. Wa666r

    Wa666r

    Joined:
    Feb 19, 2011
    Messages:
    419
    Resources:
    18
    Packs:
    1
    Skins:
    2
    Maps:
    15
    Resources:
    18
    So prophetic Retera Model Editor finally makes an appearance.
     
  7. Drynwhyl

    Drynwhyl

    Joined:
    Nov 21, 2016
    Messages:
    18
    Resources:
    0
    Resources:
    0
    same thing, running .exe file does notning, attempt to run .jar from command line tool produces following ouput. i think it's related to locale since im using russian wc3

    Code (Text):

    C:\Games\Warcraft III Modding\Tools\ReterasModelStudioV0.02\jre\bin>java -jar "C:\Games\Warcraft III Modding\Tools\ReterasModelStudioV0.02\ReterasModelStudio.jar"
    C:\Games\Warcraft III\ appears valid
    java.nio.file.NoSuchFileException: C:\Games\Warcraft III\war3.mpq
            at sun.nio.fs.WindowsException.translateToIOException(Unknown Source)
            at sun.nio.fs.WindowsException.rethrowAsIOException(Unknown Source)
            at sun.nio.fs.WindowsException.rethrowAsIOException(Unknown Source)
            at sun.nio.fs.WindowsFileSystemProvider.newByteChannel(Unknown Source)
            at java.nio.file.Files.newByteChannel(Unknown Source)
            at com.hiveworkshop.wc3.mpq.MpqCodebase.loadMPQ(MpqCodebase.java:315)
            at com.hiveworkshop.wc3.mpq.MpqCodebase.<init>(MpqCodebase.java:81)
            at com.hiveworkshop.wc3.mpq.MpqCodebase.get(MpqCodebase.java:402)
            at com.hiveworkshop.wc3.gui.BLPHandler.getGameTex(BLPHandler.java:121)
            at com.matrixeater.src.MainPanel.<init>(MainPanel.java:1165)
            at com.matrixeater.src.MainFrame.<init>(MainFrame.java:216)
            at com.matrixeater.src.MainFrame$1.run(MainFrame.java:201)
            at java.awt.event.InvocationEvent.dispatch(Unknown Source)
            at java.awt.EventQueue.dispatchEventImpl(Unknown Source)
            at java.awt.EventQueue.access$400(Unknown Source)
            at java.awt.EventQueue$3.run(Unknown Source)
            at java.awt.EventQueue$3.run(Unknown Source)
            at java.security.AccessController.doPrivileged(Native Method)
            at java.security.ProtectionDomain$1.doIntersectionPrivilege(Unknown Source)
            at java.awt.EventQueue.dispatchEvent(Unknown Source)
            at java.awt.EventDispatchThread.pumpOneEventForFilters(Unknown Source)
            at java.awt.EventDispatchThread.pumpEventsForFilter(Unknown Source)
            at java.awt.EventDispatchThread.pumpEventsForHierarchy(Unknown Source)
            at java.awt.EventDispatchThread.pumpEvents(Unknown Source)
            at java.awt.EventDispatchThread.pumpEvents(Unknown Source)
            at java.awt.EventDispatchThread.run(Unknown Source)
    java.nio.file.NoSuchFileException: C:\Games\Warcraft III\war3x.mpq
            at sun.nio.fs.WindowsException.translateToIOException(Unknown Source)
            at sun.nio.fs.WindowsException.rethrowAsIOException(Unknown Source)
            at sun.nio.fs.WindowsException.rethrowAsIOException(Unknown Source)
            at sun.nio.fs.WindowsFileSystemProvider.newByteChannel(Unknown Source)
            at java.nio.file.Files.newByteChannel(Unknown Source)
            at com.hiveworkshop.wc3.mpq.MpqCodebase.loadMPQ(MpqCodebase.java:315)
            at com.hiveworkshop.wc3.mpq.MpqCodebase.<init>(MpqCodebase.java:82)
            at com.hiveworkshop.wc3.mpq.MpqCodebase.get(MpqCodebase.java:402)
            at com.hiveworkshop.wc3.gui.BLPHandler.getGameTex(BLPHandler.java:121)
            at com.matrixeater.src.MainPanel.<init>(MainPanel.java:1165)
            at com.matrixeater.src.MainFrame.<init>(MainFrame.java:216)
            at com.matrixeater.src.MainFrame$1.run(MainFrame.java:201)
            at java.awt.event.InvocationEvent.dispatch(Unknown Source)
            at java.awt.EventQueue.dispatchEventImpl(Unknown Source)
            at java.awt.EventQueue.access$400(Unknown Source)
            at java.awt.EventQueue$3.run(Unknown Source)
            at java.awt.EventQueue$3.run(Unknown Source)
            at java.security.AccessController.doPrivileged(Native Method)
            at java.security.ProtectionDomain$1.doIntersectionPrivilege(Unknown Source)
            at java.awt.EventQueue.dispatchEvent(Unknown Source)
            at java.awt.EventDispatchThread.pumpOneEventForFilters(Unknown Source)
            at java.awt.EventDispatchThread.pumpEventsForFilter(Unknown Source)
            at java.awt.EventDispatchThread.pumpEventsForHierarchy(Unknown Source)
            at java.awt.EventDispatchThread.pumpEvents(Unknown Source)
            at java.awt.EventDispatchThread.pumpEvents(Unknown Source)
            at java.awt.EventDispatchThread.run(Unknown Source)
    java.nio.file.NoSuchFileException: C:\Games\Warcraft III\war3xlocal.mpq
            at sun.nio.fs.WindowsException.translateToIOException(Unknown Source)
            at sun.nio.fs.WindowsException.rethrowAsIOException(Unknown Source)
            at sun.nio.fs.WindowsException.rethrowAsIOException(Unknown Source)
            at sun.nio.fs.WindowsFileSystemProvider.newByteChannel(Unknown Source)
            at java.nio.file.Files.newByteChannel(Unknown Source)
            at com.hiveworkshop.wc3.mpq.MpqCodebase.loadMPQ(MpqCodebase.java:315)
            at com.hiveworkshop.wc3.mpq.MpqCodebase.<init>(MpqCodebase.java:83)
            at com.hiveworkshop.wc3.mpq.MpqCodebase.get(MpqCodebase.java:402)
            at com.hiveworkshop.wc3.gui.BLPHandler.getGameTex(BLPHandler.java:121)
            at com.matrixeater.src.MainPanel.<init>(MainPanel.java:1165)
            at com.matrixeater.src.MainFrame.<init>(MainFrame.java:216)
            at com.matrixeater.src.MainFrame$1.run(MainFrame.java:201)
            at java.awt.event.InvocationEvent.dispatch(Unknown Source)
            at java.awt.EventQueue.dispatchEventImpl(Unknown Source)
            at java.awt.EventQueue.access$400(Unknown Source)
            at java.awt.EventQueue$3.run(Unknown Source)
            at java.awt.EventQueue$3.run(Unknown Source)
            at java.security.AccessController.doPrivileged(Native Method)
            at java.security.ProtectionDomain$1.doIntersectionPrivilege(Unknown Source)
            at java.awt.EventQueue.dispatchEvent(Unknown Source)
            at java.awt.EventDispatchThread.pumpOneEventForFilters(Unknown Source)
            at java.awt.EventDispatchThread.pumpEventsForFilter(Unknown Source)
            at java.awt.EventDispatchThread.pumpEventsForHierarchy(Unknown Source)
            at java.awt.EventDispatchThread.pumpEvents(Unknown Source)
            at java.awt.EventDispatchThread.pumpEvents(Unknown Source)
            at java.awt.EventDispatchThread.run(Unknown Source)
    opening info
    extracting build configuration key
    opening configuration
    opening store
    mounting VFS
    getting all paths
    \war3.w3mod\\_locales\\enus.w3mod\\_balance\\custom_v0.w3mod\\units\\campaignabilitystrings.txt : 31608 : no
    \war3.w3mod\\_locales\\enus.w3mod\\_balance\\custom_v0.w3mod\\units\\campaignunitstrings.txt : 15305 : no
    \war3.w3mod\\_locales\\enus.w3mod\\_balance\\custom_v0.w3mod\\units\\campaignupgradestrings.txt : 1871 : no
    \war3.w3mod\\_locales\\enus.w3mod\\_balance\\custom_v0.w3mod\\units\\commandstrings.txt : 14876 : no
    \war3.w3mod\\_locales\\enus.w3mod\\_balance\\custom_v0.w3mod\\units\\commonabilitystrings.txt : 3807 : no
    \war3.w3mod\\_locales\\enus.w3mod\\_balance\\custom_v0.w3mod\\units\\humanabilitystrings.txt : 25946 : no
    \war3.w3mod\\_locales\\enus.w3mod\\_balance\\custom_v0.w3mod\\units\\humanunitstrings.txt : 7745 : no
    \war3.w3mod\\_locales\\enus.w3mod\\_balance\\custom_v0.w3mod\\units\\humanupgradestrings.txt : 4717 : no
    \war3.w3mod\\_locales\\enus.w3mod\\_balance\\custom_v0.w3mod\\units\\itemabilitystrings.txt : 18788 : no
    \war3.w3mod\\_locales\\enus.w3mod\\_balance\\custom_v0.w3mod\\units\\itemstrings.txt : 30199 : no
    \war3.w3mod\\_locales\\enus.w3mod\\_balance\\custom_v0.w3mod\\units\\neutralabilitystrings.txt : 112826 : no
    \war3.w3mod\\_locales\\enus.w3mod\\_balance\\custom_v0.w3mod\\units\\neutralunitstrings.txt : 37262 : no
    \war3.w3mod\\_locales\\enus.w3mod\\_balance\\custom_v0.w3mod\\units\\neutralupgradestrings.txt : 281 : no
    \war3.w3mod\\_locales\\enus.w3mod\\_balance\\custom_v0.w3mod\\units\\nightelfabilitystrings.txt : 31281 : no
    \war3.w3mod\\_locales\\enus.w3mod\\_balance\\custom_v0.w3mod\\units\\nightelfunitstrings.txt : 8322 : no
    \war3.w3mod\\_locales\\enus.w3mod\\_balance\\custom_v0.w3mod\\units\\nightelfupgradestrings.txt : 5119 : no
    \war3.w3mod\\_locales\\enus.w3mod\\_balance\\custom_v0.w3mod\\units\\orcabilitystrings.txt : 26851 : no
    \war3.w3mod\\_locales\\enus.w3mod\\_balance\\custom_v0.w3mod\\units\\orcunitstrings.txt : 6349 : no
    \war3.w3mod\\_locales\\enus.w3mod\\_balance\\custom_v0.w3mod\\units\\orcupgradestrings.txt : 4704 : no
    \war3.w3mod\\_locales\\enus.w3mod\\_balance\\custom_v0.w3mod\\units\\undeadabilitystrings.txt : 31364 : no
    \war3.w3mod\\_locales\\enus.w3mod\\_balance\\custom_v0.w3mod\\units\\undeadunitstrings.txt : 7017 : no
    \war3.w3mod\\_locales\\enus.w3mod\\_balance\\custom_v0.w3mod\\units\\undeadupgradestrings.txt : 4506 : no
    \war3.w3mod\\_locales\\enus.w3mod\\_balance\\custom_v0.w3mod\\units\\unitglobalstrings.txt : 98 : no
    \war3.w3mod\\_locales\\enus.w3mod\\_balance\\custom_v1.w3mod\\units\\campaignabilitystrings.txt : 31608 : no
    \war3.w3mod\\_locales\\enus.w3mod\\_balance\\custom_v1.w3mod\\units\\campaignunitstrings.txt : 39205 : no
    \war3.w3mod\\_locales\\enus.w3mod\\_balance\\custom_v1.w3mod\\units\\campaignupgradestrings.txt : 1871 : no
    \war3.w3mod\\_locales\\enus.w3mod\\_balance\\custom_v1.w3mod\\units\\commandstrings.txt : 14876 : no
    \war3.w3mod\\_locales\\enus.w3mod\\_balance\\custom_v1.w3mod\\units\\commonabilitystrings.txt : 3807 : no
    \war3.w3mod\\_locales\\enus.w3mod\\_balance\\custom_v1.w3mod\\units\\humanabilitystrings.txt : 25946 : no
    \war3.w3mod\\_locales\\enus.w3mod\\_balance\\custom_v1.w3mod\\units\\humanunitstrings.txt : 10218 : no
    \war3.w3mod\\_locales\\enus.w3mod\\_balance\\custom_v1.w3mod\\units\\humanupgradestrings.txt : 5970 : no
    \war3.w3mod\\_locales\\enus.w3mod\\_balance\\custom_v1.w3mod\\units\\itemabilitystrings.txt : 18788 : no
    \war3.w3mod\\_locales\\enus.w3mod\\_balance\\custom_v1.w3mod\\units\\itemstrings.txt : 69768 : no
    \war3.w3mod\\_locales\\enus.w3mod\\_balance\\custom_v1.w3mod\\units\\neutralabilitystrings.txt : 112826 : no
    \war3.w3mod\\_locales\\enus.w3mod\\_balance\\custom_v1.w3mod\\units\\neutralunitstrings.txt : 69066 : no
    \war3.w3mod\\_locales\\enus.w3mod\\_balance\\custom_v1.w3mod\\units\\neutralupgradestrings.txt : 281 : no
    \war3.w3mod\\_locales\\enus.w3mod\\_balance\\custom_v1.w3mod\\units\\nightelfabilitystrings.txt : 31281 : no
    \war3.w3mod\\_locales\\enus.w3mod\\_balance\\custom_v1.w3mod\\units\\nightelfunitstrings.txt : 11101 : no
    \war3.w3mod\\_locales\\enus.w3mod\\_balance\\custom_v1.w3mod\\units\\nightelfupgradestrings.txt : 6390 : no
    \war3.w3mod\\_locales\\enus.w3mod\\_balance\\custom_v1.w3mod\\units\\orcabilitystrings.txt : 26851 : no
    \war3.w3mod\\_locales\\enus.w3mod\\_balance\\custom_v1.w3mod\\units\\orcunitstrings.txt : 10344 : no
    \war3.w3mod\\_locales\\enus.w3mod\\_balance\\custom_v1.w3mod\\units\\orcupgradestrings.txt : 6244 : no
    \war3.w3mod\\_locales\\enus.w3mod\\_balance\\custom_v1.w3mod\\units\\undeadabilitystrings.txt : 31364 : no
    \war3.w3mod\\_locales\\enus.w3mod\\_balance\\custom_v1.w3mod\\units\\undeadunitstrings.txt : 9839 : no
    \war3.w3mod\\_locales\\enus.w3mod\\_balance\\custom_v1.w3mod\\units\\undeadupgradestrings.txt : 5721 : no
    \war3.w3mod\\_locales\\enus.w3mod\\_balance\\custom_v1.w3mod\\units\\unitglobalstrings.txt : 98 : no
    \war3.w3mod\\_locales\\enus.w3mod\\_balance\\melee_v0.w3mod\\units\\campaignabilitystrings.txt : 31608 : no
    \war3.w3mod\\_locales\\enus.w3mod\\_balance\\melee_v0.w3mod\\units\\campaignunitstrings.txt : 15307 : no
    \war3.w3mod\\_locales\\enus.w3mod\\_balance\\melee_v0.w3mod\\units\\campaignupgradestrings.txt : 1871 : no
    \war3.w3mod\\_locales\\enus.w3mod\\_balance\\melee_v0.w3mod\\units\\commandstrings.txt : 14876 : no
    \war3.w3mod\\_locales\\enus.w3mod\\_balance\\melee_v0.w3mod\\units\\commonabilitystrings.txt : 3807 : no
    \war3.w3mod\\_locales\\enus.w3mod\\_balance\\melee_v0.w3mod\\units\\humanabilitystrings.txt : 25946 : no
    \war3.w3mod\\_locales\\enus.w3mod\\_balance\\melee_v0.w3mod\\units\\humanunitstrings.txt : 7769 : no
    \war3.w3mod\\_locales\\enus.w3mod\\_balance\\melee_v0.w3mod\\units\\humanupgradestrings.txt : 4596 : no
    \war3.w3mod\\_locales\\enus.w3mod\\_balance\\melee_v0.w3mod\\units\\itemabilitystrings.txt : 18788 : no
    \war3.w3mod\\_locales\\enus.w3mod\\_balance\\melee_v0.w3mod\\units\\itemstrings.txt : 31047 : no
    \war3.w3mod\\_locales\\enus.w3mod\\_balance\\melee_v0.w3mod\\units\\neutralabilitystrings.txt : 112826 : no
    \war3.w3mod\\_locales\\enus.w3mod\\_balance\\melee_v0.w3mod\\units\\neutralunitstrings.txt : 37162 : no
    \war3.w3mod\\_locales\\enus.w3mod\\_balance\\melee_v0.w3mod\\units\\neutralupgradestrings.txt : 281 : no
    \war3.w3mod\\_locales\\enus.w3mod\\_balance\\melee_v0.w3mod\\units\\nightelfabilitystrings.txt : 31281 : no
    \war3.w3mod\\_locales\\enus.w3mod\\_balance\\melee_v0.w3mod\\units\\nightelfunitstrings.txt : 8322 : no
    \war3.w3mod\\_locales\\enus.w3mod\\_balance\\melee_v0.w3mod\\units\\nightelfupgradestrings.txt : 5106 : no
    \war3.w3mod\\_locales\\enus.w3mod\\_balance\\melee_v0.w3mod\\units\\orcabilitystrings.txt : 26851 : no
    \war3.w3mod\\_locales\\enus.w3mod\\_balance\\melee_v0.w3mod\\units\\orcunitstrings.txt : 6343 : no
    \war3.w3mod\\_locales\\enus.w3mod\\_balance\\melee_v0.w3mod\\units\\orcupgradestrings.txt : 4648 : no
    \war3.w3mod\\_locales\\enus.w3mod\\_balance\\melee_v0.w3mod\\units\\undeadabilitystrings.txt : 31364 : no
    \war3.w3mod\\_locales\\enus.w3mod\\_balance\\melee_v0.w3mod\\units\\undeadunitstrings.txt : 7017 : no
    \war3.w3mod\\_locales\\enus.w3mod\\_balance\\melee_v0.w3mod\\units\\undeadupgradestrings.txt : 4469 : no
    \war3.w3mod\\_locales\\enus.w3mod\\_balance\\melee_v0.w3mod\\units\\unitglobalstrings.txt : 98 : no
    \war3.w3mod\\_locales\\enus.w3mod\\config.txt : 1675 : no
    \war3.w3mod\\_locales\\enus.w3mod\\customkeyinfo.txt : 5518 : no
    \war3.w3mod\\_locales\\enus.w3mod\\customkeyssample.txt : 60407 : no
    \war3.w3mod\\_locales\\enus.w3mod\\ui\\campaignstrings.txt : 6753 : no
    \war3.w3mod\\_locales\\enus.w3mod\\ui\\campaignstrings_exp.txt : 6587 : no
    \war3.w3mod\\_locales\\enus.w3mod\\ui\\chathelp-war3-enus.txt : 9630 : no
    \war3.w3mod\\_locales\\enus.w3mod\\ui\\helpstrings.txt : 3791 : no
    \war3.w3mod\\_locales\\enus.w3mod\\ui\\machelpstrings.txt : 3879 : yes
    \war3.w3mod\\_locales\\enus.w3mod\\ui\\macstrings.txt : 1951 : yes
    \war3.w3mod\\_locales\\enus.w3mod\\ui\\macworldeditstrings.txt : 2123 : yes
    \war3.w3mod\\_locales\\enus.w3mod\\ui\\miscui.txt : 6440 : no
    \war3.w3mod\\_locales\\enus.w3mod\\ui\\newaccount-enus.txt : 527 : no
    \war3.w3mod\\_locales\\enus.w3mod\\ui\\termsofservice-enus.txt : 19581 : no
    \war3.w3mod\\_locales\\enus.w3mod\\ui\\tipstrings.txt : 12006 : no
    \war3.w3mod\\_locales\\enus.w3mod\\ui\\triggerstrings.txt : 248449 : yes
    \war3.w3mod\\_locales\\enus.w3mod\\ui\\war3skins.txt : 44353 : yes
    \war3.w3mod\\_locales\\enus.w3mod\\ui\\worldeditgamestrings.txt : 18437 : no
    \war3.w3mod\\_locales\\enus.w3mod\\ui\\worldeditlicense.txt : 14132 : no
    \war3.w3mod\\_locales\\enus.w3mod\\ui\\worldeditstrings.txt : 451440 : no
    \war3.w3mod\\_locales\\enus.w3mod\\units\\campaignabilitystrings.txt : 31609 : no
    \war3.w3mod\\_locales\\enus.w3mod\\units\\campaignunitstrings.txt : 39205 : no
    \war3.w3mod\\_locales\\enus.w3mod\\units\\campaignupgradestrings.txt : 1871 : no
    \war3.w3mod\\_locales\\enus.w3mod\\units\\commandstrings.txt : 14872 : no
    \war3.w3mod\\_locales\\enus.w3mod\\units\\commonabilitystrings.txt : 3807 : no
    \war3.w3mod\\_locales\\enus.w3mod\\units\\humanabilitystrings.txt : 26094 : no
    \war3.w3mod\\_locales\\enus.w3mod\\units\\humanunitstrings.txt : 10323 : no
    \war3.w3mod\\_locales\\enus.w3mod\\units\\humanupgradestrings.txt : 6157 : no
    \war3.w3mod\\_locales\\enus.w3mod\\units\\itemabilitystrings.txt : 19037 : no
    \war3.w3mod\\_locales\\enus.w3mod\\units\\itemstrings.txt : 69958 : no
    \war3.w3mod\\_locales\\enus.w3mod\\units\\neutralabilitystrings.txt : 113153 : no
    \war3.w3mod\\_locales\\enus.w3mod\\units\\neutralunitstrings.txt : 69119 : no
    \war3.w3mod\\_locales\\enus.w3mod\\units\\neutralupgradestrings.txt : 281 : no
    \war3.w3mod\\_locales\\enus.w3mod\\units\\nightelfabilitystrings.txt : 31827 : no
    \war3.w3mod\\_locales\\enus.w3mod\\units\\nightelfunitstrings.txt : 11052 : no
    \war3.w3mod\\_locales\\enus.w3mod\\units\\nightelfupgradestrings.txt : 6336 : no
    \war3.w3mod\\_locales\\enus.w3mod\\units\\orcabilitystrings.txt : 26857 : no
    \war3.w3mod\\_locales\\enus.w3mod\\units\\orcunitstrings.txt : 10406 : no
    \war3.w3mod\\_locales\\enus.w3mod\\units\\orcupgradestrings.txt : 6291 : no
    \war3.w3mod\\_locales\\enus.w3mod\\units\\undeadabilitystrings.txt : 31743 : no
    \war3.w3mod\\_locales\\enus.w3mod\\units\\undeadunitstrings.txt : 9884 : no
    \war3.w3mod\\_locales\\enus.w3mod\\units\\undeadupgradestrings.txt : 5829 : no
    \war3.w3mod\\_locales\\enus.w3mod\\units\\unitglobalstrings.txt : 98 : no
    shuttting down thread pool
    total path string count: 65126
    running time to process all files: 0.421094733s
    average process speed: 0.0B/sec
    success
    Exception in thread "AWT-EventQueue-0" java.lang.NullPointerException
            at java.io.Reader.<init>(Unknown Source)
            at java.io.InputStreamReader.<init>(Unknown Source)
            at com.hiveworkshop.wc3.units.DataTable.readTXT(DataTable.java:378)
            at com.hiveworkshop.wc3.units.StandardObjectData.getStandardUnits(StandardObjectData.java:38)
            at com.matrixeater.src.MainPanel.getUnitData(MainPanel.java:1480)
            at com.matrixeater.src.MainPanel.createUnitEditorTree(MainPanel.java:1346)
            at com.matrixeater.src.MainPanel.createMainLayout(MainPanel.java:1328)
            at com.matrixeater.src.MainPanel.<init>(MainPanel.java:1204)
            at com.matrixeater.src.MainFrame.<init>(MainFrame.java:216)
            at com.matrixeater.src.MainFrame$1.run(MainFrame.java:201)
            at java.awt.event.InvocationEvent.dispatch(Unknown Source)
            at java.awt.EventQueue.dispatchEventImpl(Unknown Source)
            at java.awt.EventQueue.access$400(Unknown Source)
            at java.awt.EventQueue$3.run(Unknown Source)
            at java.awt.EventQueue$3.run(Unknown Source)
            at java.security.AccessController.doPrivileged(Native Method)
            at java.security.ProtectionDomain$1.doIntersectionPrivilege(Unknown Source)
            at java.awt.EventQueue.dispatchEvent(Unknown Source)
            at java.awt.EventDispatchThread.pumpOneEventForFilters(Unknown Source)
            at java.awt.EventDispatchThread.pumpEventsForFilter(Unknown Source)
            at java.awt.EventDispatchThread.pumpEventsForHierarchy(Unknown Source)
            at java.awt.EventDispatchThread.pumpEvents(Unknown Source)
            at java.awt.EventDispatchThread.pumpEvents(Unknown Source)
            at java.awt.EventDispatchThread.run(Unknown Source)
     
     
    Last edited: Jun 3, 2019
  8. Retera

    Retera

    Tool Reviewer

    Joined:
    Apr 19, 2008
    Messages:
    794
    Resources:
    25
    Models:
    17
    Tools:
    2
    Maps:
    6
    Resources:
    25
    @Drynwhyl I can confirm that the issue you posted here, and the issue affecting @terrio, are both because of locale, from everything that I understood.
    In the code there is a place where I typed in "enus" but instead I need to let the user choose. I believe this will fix it.
    I may also look and see if the game locale can be automatically determined
     
  9. BobOfficialPando

    BobOfficialPando

    Joined:
    Mar 11, 2018
    Messages:
    19
    Resources:
    0
    Resources:
    0
    been using it whole day, so far great yet something is amiss. If only there was a man with sunglasses on youtube, in his dimly lit room, announcing this release
     
  10. Retera

    Retera

    Tool Reviewer

    Joined:
    Apr 19, 2008
    Messages:
    794
    Resources:
    25
    Models:
    17
    Tools:
    2
    Maps:
    6
    Resources:
    25
  11. Hawkwing

    Hawkwing

    Joined:
    Nov 28, 2006
    Messages:
    5,829
    Resources:
    28
    Models:
    15
    Icons:
    3
    Packs:
    1
    Skins:
    8
    Tutorials:
    1
    Resources:
    28
    I am glad to see this is finally being released! I only had about 40 minutes to take a look at the program but already I am very impressed! I was not expecting animation support beyond playback, so that alone has made me very happy.

    I haven't seen any catastrophic issues so far, but there are a few less significant issues that I have noticed.
    1. After using the Tools > Put together two animations... tool, the animation controller would not list the resulting animation, giving me no way to view my new animation. Same goes for the animation list in the Modeling menu when I am using Select Nodes and Animate. The new animation would, however, appear in the list of animations if I were to again use to Tools > Put together two animations... tool. In one instance, this list did update eventually after using the program for ten minutes or so. I am not certain what specifically caused it to update that time. At a later point, on another model, I had the same issue occur and the animation list did not update until I imported another model into the scene. I was able to reproduce this solution twice.
    2. Using the Tools > Put together two animations... tool, pressing the Cancel button still causes the program to proceed to the next dialog, forcing me to press Cancel three times to exit the tool. This is super minor but a small quality of life change that I would love to see dealt with.
    3. I find it odd that File > Show Controller brings up a panel labelled "Outliner." This is another very minor issue, but had I not used Matrix Eater previously, the lack of consistency between the naming may have made it less evident which panel this would manipulate. I also think this option should be pulled from the File menu and placed alongside the other options in Window > Views, which seem to be doing effectively the same thing but with other panels.
    4. Correct me if I am wrong, but I can see no way to reset the camera in any of the orthographic or the perspective views. It is relatively easy to move your camera so that your model is out of frame, or that the target point of the camera is off center in the perspective view, making it difficult to nicely orbit around the model. If you aren't careful and you, for example, have your camera positioned a fair distance in front of your model, making him appear small in the view, and then you zoom in to compensate, your model will be obstructed by the near clipping plane before you can zoom in enough to have the model fill the view. These are all, of course, caused by user error, but if you are new to the program and aren't very comfortable working in 3D space, these could be recurring issues. It is also standard, in my experience, in 3D modelling software to have the ability to fit your view to the selection or the visible model, centering the camera so that it pivots around an appropriate point and the model fills the view. If this is too difficult to implement, even to have the option to reset the camera to the default view you get when opening the scene would be nice.
    5. I would love to see more comprehensive hotkey options. Personally, I find A, S, D, F, G to be unconventional default hotkeys for the different selection types. What is default really doesn't matter terribly, but I would like to be able to change this. If it influences your decision making at all, 3D Studio Max uses 1, 2, 3, 4 for Vertices, Edges, Borders, and Faces respectively. Maya uses F8, F9, F10, F11 for objects, vertices, edges, faces.

    Whether or not you are able to implement any of the above fixes and recommendations, I thank you for the release of this tool and I eagerly await to see how you improve it in the future. How far we have come from the early days of Warcraft 3 modding!
     
  12. eejin

    eejin

    Tool Reviewer

    Joined:
    Mar 6, 2017
    Messages:
    134
    Resources:
    1
    Tools:
    1
    Resources:
    1
    A great tool with great promise too. Here is a list of some random things I noticed:

    upload_2019-6-4_13-6-22.png
    - The tiny blue bar for animation speed is awfully slim so kind of hard to drag

    - Zooming by scrolling does not displace you into the right direction.
    upload_2019-6-4_13-9-0.png
    Zooming out from this position seems to move the camera upwards instead of only along the axis you are looking.

    - There is some flicker on the model when looking through items on the menu bar.
    - The option to display the axis and a ground plane would be nice
    - Some of the buttons on the toolbar don't have a tooltip
    - There is a lot of flicker when you first load a model or texture
    - The default origin for the camera
    - The open file/save file dialogs use the old Windows xp versions which are a pain
    - Better size scaling for UI elements. When you fullscreen the application a lot of UI elements take up a lot more space than they would need.
    upload_2019-6-4_13-22-19.png
    Note the empty space on the left and right
    - Cannot pan in the front/side/bottom view. My middle mouse button is broken (need to buy a new mouse) so I changed pan to the right button. Might be that it
    - It seems to sometimes take a long time (4-6s) for the view to update after you change the mesh

    But all these points do not stand in the way for an approval!
     
  13. BogdanKryskevich

    BogdanKryskevich

    Joined:
    Feb 21, 2019
    Messages:
    49
    Resources:
    1
    Models:
    1
    Resources:
    1
    Does this program has instuction
     
  14. Devalut

    Devalut

    Joined:
    Feb 9, 2009
    Messages:
    770
    Resources:
    2
    Spells:
    2
    Resources:
    2
    "Copy over five abilit-"
    INJECT IT INTO MY VEINS
     
  15. T3rm1n4tor

    T3rm1n4tor

    Joined:
    Aug 17, 2009
    Messages:
    33
    Resources:
    0
    Resources:
    0
    Bugs:
    - Animation Speed calculation seems wrong. Very fast transition from 100% to 98% and 50% to 48%
    - Selecting Extended Primitives and Animation Nodes in the Modeling Drop-Down does nothing
    - NullPointerException when loading a file which does not exist
    - NullPointerException when exporting a texture but not selecting a texture
    - When exporting a texture, it says no file type given even if one is selected from the dropdown. You manually need to type .jpg, and so on, even when changing the type. The dropdown does nothing.
    - Vertex Selection in one view does not apply in another view until you hover over it.
    - Add animation Death, etc. -> Overwrite -> Rotate the model with this new Death animation in the view -> IndexOutOfBoundsException and View does not respond until you change the animation.

    Suggestions:
    - Hotkeys for Modeling (G to move, R to rotate current plane, S to scale, E to extrude)
    - Would be nice to see vertices even when in a different mode (select faces, groups, etc.)
     
  16. Edy

    Edy

    Joined:
    Nov 21, 2015
    Messages:
    180
    Resources:
    1
    Maps:
    1
    Resources:
    1
    Really cool and useful :)
     
  17. yxq1122

    yxq1122

    Joined:
    Jun 5, 2018
    Messages:
    93
    Resources:
    0
    Resources:
    0
    So this is the great project that combines Magus's, Mdlvis and Matrix Eater, as you promised yet, right? I have been waiting for it so long.

    A great work, indeed. Maybe the greatest model editor that every one must have.

    Continue this project, please!
     
  18. dtnmang

    dtnmang

    Joined:
    Apr 20, 2010
    Messages:
    404
    Resources:
    7
    Models:
    3
    Tutorials:
    4
    Resources:
    7
    omgggggg it's finally heeeeeeeeeere
     
  19. Edusx

    Edusx

    Joined:
    Jan 26, 2012
    Messages:
    43
    Resources:
    0
    Resources:
    0
    the tool does not work for me, it does not even start me.
    i just download the vr 0.02 is not work.


    @Retera i have 64 bits window 10
     
    Last edited: Jun 7, 2019