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

Retera's Model Studio

This bundle is marked as director's cut. It exceeds all expectations and excels in every regard.
This is Retera's Model Studio v0.04 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.32.

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
  • 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.04.2b
  • Fixed a bug in "Edit/delete model components" reported by Hive user @Makkad (retains FaceFX chunks now)
v0.04.2
  • Tiny change requested by discord user VictorZ that allows "Rotate Type-In" to work in the Animation Editor. (The code for this was copied almost directly from the Twilac version of 0.05, so you should seriously probably just use 0.05!)

v0.04.1
  • Opening a file in a folder does not walk the directory tree of that folder
  • Scripts -> Skin Splice function added upon request from Vulfar
v0.04 for 1.32.10
  • Fixes the program to work with the new Warcraft III Patch 1.32.10 that changed the TFVS formatting for some reason.
  • Includes some really minor internal bug fixes over the previous version
v0.04:
  • Merged the version known as "Retera Model Studio Reforged Hack" to be the mainline version of the tool going forward (this version includes all of the fixes listed here)
  • Added support for Reforged assets and a bunch of bug fixes related to working with those
  • Added "Scripts -> Assign FormatVersion 800" to convert Reforged Classic Models to the legacy classic model format, as well as "Scripts -> Assign FormatVersion 1000" to convert legacy game client models to match the format used by the "Classic Graphics" of Reforged.
  • Added a "Reforged Graphics Mode" and "Classic Graphics Mode" in the data sources chooser panel
  • Added the "Model" tab which is buggy and unfinished
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:
I really wanted to revamp this program and add new features and write a tutorial before I uploaded it onto the Hive, but I just haven't had time recently, and I want to stop sitting on this updated version because it has several internal fixes that should make it less likely to save buggy MDX models and so I feel the community deserves this new version in case anybody is using the program -- regardless of whether I end up getting the time to improve it to match up with my dreams or not.

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
Previews
Contents

Retera Model Studio 0.04.4m (For Patch 1.33) (Binary)

Retera's Model Studio 0.4.5k (Experimental) (Binary)

Reviews
Archian
If it wasn't for this tool, Reforged Modeling wouldn't have become what it is today. In recognition of this, the Hive Administration team awards Retera's Model Studio a Director's Cut status. @Retera
Level 2
Joined
Jul 9, 2014
Messages
16
Hello, i made a custom model (female paladin using the warden) and the model doesn't play unit sound set. ¿What can i do for fix it?
 
Level 29
Joined
May 14, 2021
Messages
1,115
Hello, i made a custom model (female paladin using the warden) and the model doesn't play unit sound set. ¿What can i do for fix it?
To make a custom unit has its own soundset, there is a separate thread already. You might check out it because it really helpful for you. However, you must have the Local Files enabled first:
 
HD->SD texture baking does not work ( Vertex count mismatch)
I tried to fix this in 0.4.5c update. If you redownload the ZIP, it might be fixed.

The update also fixes an issue with {0,0,0} normals that was reported to me on discord.
 
Level 11
Joined
Jul 4, 2016
Messages
627
I was trying to edit some sfx models by Vinz in mdl format, however, everytime I try to edit it, the program simply freezes when trying to open them. Here is a file for example
 

Attachments

  • Ember Red.mdl
    10.4 KB · Views: 2
Level 11
Joined
Feb 20, 2020
Messages
235
Retera, is it possible to make the SD to HD something akin to subsurface?

this is far more easier and malleable than tesselate
 
On my 4.4e all is good.
Didn't 4.4e have a layering problem that was introduced when I tried to fix it, though?

can you support other countries' languages? My English is terrible.
This project started 10 years ago when I knew less about software design, so the language data is not in a text file to change in one place. Customizing the software language would be an involved process, and I do not speak the other languages so I would most likely get everything wrong in the translation and it would depend on other people translating it.

Do you believe that if I spent a substantial amount of time creating a customizable language file with all the text strings in the program that someone else who knows the language and the program would spend the time to translate each text string from the program?

Or if someone made a computer-translated version that was stupid and confusing sometimes, would that still be useful?
 
Level 1
Joined
Apr 23, 2023
Messages
2
Didn't 4.4e have a layering problem that was introduced when I tried to fix it, though?


This project started 10 years ago when I knew less about software design, so the language data is not in a text file to change in one place. Customizing the software language would be an involved process, and I do not speak the other languages so I would most likely get everything wrong in the translation and it would depend on other people translating it.

Do you believe that if I spent a substantial amount of time creating a customizable language file with all the text strings in the program that someone else who knows the language and the program would spend the time to translate each text string from the program?

Or if someone made a computer-translated version that was stupid and confusing sometimes, would that still be useful?
Can you add a personalized text modification feature? Just like WorldEdit can change the name of the organization, users can translate it themselves
 
moving over the mouse over will just randomly cause more tearing
Yes. This is a driver issue in the interaction between Windows 11 and Java, and not actually part of the code of Retera Model Studio itself. You can use a different set of drivers for Java by going into the "Edit > Preferences Window" and then clicking on Force Use OpenGL (May fix Windows UI bugs) and then restarting the program.

Edit:
Ability always empty file, how to open ?
PKB files for Reforged particle efforts are created using the PopcornFX particle editor from Realtime Particle Effects Solution . There is no documentation from Blizzard on how to create or modify these particles, but sometimes editing the particles in some kind of hex editor to change their color can be successful, although we learned in Patch 1.33 that the Warcraft III game is not backwards compatible with the particle format so if you make custom Reforged particles today in a map, there might be a patch next week that makes all your custom particles to fail to load or maybe crash the game, unlike how Classic Graphics particles are using a Warcraft 3 specific system that always remains backwards compatible across patches.

It might help to think of Reforged ability particles like "protected maps" on Warcraft III. They are not actually cryptographically protected at all in both cases, but in both cases they are produced from a one-way process that you can't [easily] reverse and that results in something that is most likely a waste of time for you to try to edit.
 
Last edited:
Level 1
Joined
Aug 3, 2023
Messages
1
When using the function "HD --> SD with texture baking (becomes 800)" Team Color overflows with units with plumage, is there a solution?
Original Reforged.jpg
TC Clasicc.jpg
 
Last edited:
is there a solution?
Not that I know of. In order to do that, you would have to generate geometry in the correct shape since the classic graphics don't have a way to express team color with a cutout. Retera Model Studio is open source on GitHub so if you know how to write the code for that, feel free to go and write it, but I probably will not because of the complexity involved.
 
Any idea of the possible cause of such a weird behavior ?
Sure. I implemented my own interpolator. I'm guessing the exact mathematical understanding of the problem is likely to exceed the attention span of anyone interested, but a description of a related problem is here:

In this particular case, the model appeared to have an ending keyframe but no starting keyframe, and per the above linked video the mathematics that I was using to fill in for the missing data are often uninformed about exactly what Blizzard did. Ghostwolf copied Magos to set up his code, but for my interpolator part I did not copy Ghostwolf and made my own thing that ended up being crazy and overdesigned. The solution Ghostwolf uses in his viewer is simpler code and therefore probably more elegant, and you can see it did not have the room for error that we see here.

All of that aside, I released a patch 0.4.5g that solves the problem so your model should render correctly for this obscure edge case.
 
Level 6
Joined
Nov 5, 2012
Messages
48
I'm using retera normally, it seems like I haven't opened it for a long time and I've updated to a new reforged version. and now I can't get into retera anymore. Tried with version 4.5h and here is the error log
Unknown error occurred:

java.lang.RuntimeException: com.hiveworkshop.blizzard.casc.nio.MalformedCASCStructureException: container encoding key mismatch
at com.hiveworkshop.wc3.gui.datachooser.CascDataSource.<init>(CascDataSource.java:75)
at com.hiveworkshop.wc3.gui.datachooser.CascDataSourceDescriptor.createDataSource(CascDataSourceDescriptor.java:31)
at com.hiveworkshop.wc3.mpq.MpqCodebase.<init>(MpqCodebase.java:33)
at com.hiveworkshop.wc3.mpq.MpqCodebase.get(MpqCodebase.java:180)
at com.matrixeater.src.MainPanel.<init>(MainPanel.java:1402)
at com.matrixeater.src.MainFrame.<init>(MainFrame.java:426)
at com.matrixeater.src.MainFrame$1.run(MainFrame.java:371)
at java.desktop/java.awt.event.InvocationEvent.dispatch(Unknown Source)
at java.desktop/java.awt.EventQueue.dispatchEventImpl(Unknown Source)
at java.desktop/java.awt.EventQueue$4.run(Unknown Source)
at java.desktop/java.awt.EventQueue$4.run(Unknown Source)
at java.base/java.security.AccessController.doPrivileged(Unknown Source)
at java.base/java.security.ProtectionDomain$JavaSecurityAccessImpl.doIntersectionPrivilege(Unknown Source)
at java.desktop/java.awt.EventQueue.dispatchEvent(Unknown Source)
at java.desktop/java.awt.EventDispatchThread.pumpOneEventForFilters(Unknown Source)
at java.desktop/java.awt.EventDispatchThread.pumpEventsForFilter(Unknown Source)
at java.desktop/java.awt.EventDispatchThread.pumpEventsForHierarchy(Unknown Source)
at java.desktop/java.awt.EventDispatchThread.pumpEvents(Unknown Source)
at java.desktop/java.awt.EventDispatchThread.pumpEvents(Unknown Source)
at java.desktop/java.awt.EventDispatchThread.run(Unknown Source)
Caused by: com.hiveworkshop.blizzard.casc.nio.MalformedCASCStructureException: container encoding key mismatch
at com.hiveworkshop.blizzard.casc.storage.BankStream.<init>(BankStream.java:40)
at com.hiveworkshop.blizzard.casc.storage.Storage.getBanks(Storage.java:231)
at com.hiveworkshop.blizzard.casc.vfs.VirtualFileSystem.fetchStoredBuffer(VirtualFileSystem.java:408)
at com.hiveworkshop.blizzard.casc.vfs.VirtualFileSystem.<init>(VirtualFileSystem.java:388)
at com.hiveworkshop.blizzard.casc.io.WarcraftIIICASC.<init>(WarcraftIIICASC.java:234)
at com.hiveworkshop.wc3.gui.datachooser.CascDataSource.<init>(CascDataSource.java:39)
... 19 more
1701156810825.png
 
I also have problems opening the latest version.
Code:
Unknown error occurred:
java.lang.NullPointerException: Cannot invoke "java.awt.image.BufferedImage.getScaledInstance(int, int, int)" because the return value of "com.hiveworkshop.wc3.gui.BLPHandler.getGameTex(String)" is null
    at com.matrixeater.src.MainPanel.<init>(MainPanel.java:1456)
    at com.matrixeater.src.MainFrame.<init>(MainFrame.java:468)
    at com.matrixeater.src.MainFrame$1.run(MainFrame.java:409)
    at java.desktop/java.awt.event.InvocationEvent.dispatch(Unknown Source)
    at java.desktop/java.awt.EventQueue.dispatchEventImpl(Unknown Source)
    at java.desktop/java.awt.EventQueue$4.run(Unknown Source)
    at java.desktop/java.awt.EventQueue$4.run(Unknown Source)
    at java.base/java.security.AccessController.doPrivileged(Unknown Source)
    at java.base/java.security.ProtectionDomain$JavaSecurityAccessImpl.doIntersectionPrivilege(Unknown Source)
    at java.desktop/java.awt.EventQueue.dispatchEvent(Unknown Source)
    at java.desktop/java.awt.EventDispatchThread.pumpOneEventForFilters(Unknown Source)
    at java.desktop/java.awt.EventDispatchThread.pumpEventsForFilter(Unknown Source)
    at java.desktop/java.awt.EventDispatchThread.pumpEventsForHierarchy(Unknown Source)
    at java.desktop/java.awt.EventDispatchThread.pumpEvents(Unknown Source)
    at java.desktop/java.awt.EventDispatchThread.pumpEvents(Unknown Source)
    at java.desktop/java.awt.EventDispatchThread.run(Unknown Source)
 
Level 29
Joined
May 14, 2021
Messages
1,115
I'm using retera normally, it seems like I haven't opened it for a long time and I've updated to a new reforged version. and now I can't get into retera anymore. Tried with version 4.5h and here is the error log
Unknown error occurred:

java.lang.RuntimeException: com.hiveworkshop.blizzard.casc.nio.MalformedCASCStructureException: container encoding key mismatch
at com.hiveworkshop.wc3.gui.datachooser.CascDataSource.<init>(CascDataSource.java:75)
at com.hiveworkshop.wc3.gui.datachooser.CascDataSourceDescriptor.createDataSource(CascDataSourceDescriptor.java:31)
at com.hiveworkshop.wc3.mpq.MpqCodebase.<init>(MpqCodebase.java:33)
at com.hiveworkshop.wc3.mpq.MpqCodebase.get(MpqCodebase.java:180)
at com.matrixeater.src.MainPanel.<init>(MainPanel.java:1402)
at com.matrixeater.src.MainFrame.<init>(MainFrame.java:426)
at com.matrixeater.src.MainFrame$1.run(MainFrame.java:371)
at java.desktop/java.awt.event.InvocationEvent.dispatch(Unknown Source)
at java.desktop/java.awt.EventQueue.dispatchEventImpl(Unknown Source)
at java.desktop/java.awt.EventQueue$4.run(Unknown Source)
at java.desktop/java.awt.EventQueue$4.run(Unknown Source)
at java.base/java.security.AccessController.doPrivileged(Unknown Source)
at java.base/java.security.ProtectionDomain$JavaSecurityAccessImpl.doIntersectionPrivilege(Unknown Source)
at java.desktop/java.awt.EventQueue.dispatchEvent(Unknown Source)
at java.desktop/java.awt.EventDispatchThread.pumpOneEventForFilters(Unknown Source)
at java.desktop/java.awt.EventDispatchThread.pumpEventsForFilter(Unknown Source)
at java.desktop/java.awt.EventDispatchThread.pumpEventsForHierarchy(Unknown Source)
at java.desktop/java.awt.EventDispatchThread.pumpEvents(Unknown Source)
at java.desktop/java.awt.EventDispatchThread.pumpEvents(Unknown Source)
at java.desktop/java.awt.EventDispatchThread.run(Unknown Source)
Caused by: com.hiveworkshop.blizzard.casc.nio.MalformedCASCStructureException: container encoding key mismatch
at com.hiveworkshop.blizzard.casc.storage.BankStream.<init>(BankStream.java:40)
at com.hiveworkshop.blizzard.casc.storage.Storage.getBanks(Storage.java:231)
at com.hiveworkshop.blizzard.casc.vfs.VirtualFileSystem.fetchStoredBuffer(VirtualFileSystem.java:408)
at com.hiveworkshop.blizzard.casc.vfs.VirtualFileSystem.<init>(VirtualFileSystem.java:388)
at com.hiveworkshop.blizzard.casc.io.WarcraftIIICASC.<init>(WarcraftIIICASC.java:234)
at com.hiveworkshop.wc3.gui.datachooser.CascDataSource.<init>(CascDataSource.java:39)
... 19 more
View attachment 455572
I'm having this kind of problem, anyone knows how to fix this?
I'm new to this tool btw
View attachment 456270
From the looks of them, the problem is quite obvious. You are using the version 1.30 and 1.31, which, according to Retera and DSG, have a completely different CASC structural system (TVFS was introduced in 1.32.10, I think).
On the first problem, you can see the existing CASC from the 1.31.1 Public Test, which still uses the old CASC format.
If you want to use this tool on both 1.30 and 1.31, you'll have to search for any old binaries of RMS or do some of binary compiling.
In short: You'll always need a Reforged if you want to use this tool with CASC (MPQ is still work up to 1.29.2).
 
Level 6
Joined
Nov 5, 2012
Messages
48
From the looks of them, the problem is quite obvious. You are using the version 1.30 and 1.31, which, according to Retera and DSG, have a completely different CASC structural system (TVFS was introduced in 1.32.10, I think).
On the first problem, you can see the existing CASC from the 1.31.1 Public Test, which still uses the old CASC format.
If you want to use this tool on both 1.30 and 1.31, you'll have to search for any old binaries of RMS or do some of binary compiling.
In short: You'll always need a Reforged if you want to use this tool with CASC (MPQ is still work up to 1.29.2).

I use folder warcraft reforged for directory folder setting casc, but it doesn't work,My reforged is a purchased version, not a crack!
 
Level 11
Joined
Jul 4, 2016
Messages
627
Is there circumstances that might cause RMS to delete animation names when saving in mdl format?, from what I can tell, the animation data is still there but the named sequences were deleted from the list.
 
Level 11
Joined
Feb 20, 2020
Messages
235
Retera, is it possible to add an option to export the models in a A-Pose similar to the ones in Skyrim/Fallout 4? or T-Pose Even?

it would be interesting for modding support if its possible to do so in obj or fbx
 
Retera, is it possible to add an option to export the models in a A-Pose similar to the ones in Skyrim/Fallout 4? or T-Pose Even?
I haven't modded skyrim nor fallout.

The models on Warcraft 3 are stored as geometry with an associated rig. Folks I talked to used the word "T-Pose" to refer to the position data we already have in that model, prior to animating with the rig.

So, if you want the raw data of an MDX, that data is literally right there in the file. I have not implemented an obj writer but it would be very easy to implement. The obj reader available in the "File > Open" menu is straight from someone else's github project, per the credits.

So you could probably just find some library that writes obj, or have ChatGPT find one.

I think fbx is proprietary so support for it is probably more garbage and harder to obtain, but blender pulled it off somehow so maybe you could just go read up on that and copy their code or use the same libraries as them, and then use that for the save function.

I'm probably not going to do any of that for you, but per the above brainstorm I'm guessing it would not be substantially difficult to do.

Edit:
Is there circumstances that might cause RMS to delete animation names when saving in mdl format?, from what I can tell, the animation data is still there but the named sequences were deleted from the list.
That isn't really supposed to happen automatically as far as I recall. The import menu has a "clear pre-existing animations" option that might nuke data, but outside of that it's not supposed to remove stuff unexpectedly.

Why Anim Transfer app isn't included anymore? Also previous version of Anim Transfer stopped working.
I wasn't using that thing. I tended to just use the File>Import dialog.

The anim transfer is still in the code, but the launcher for it is gone. The launchers I was using previously didn't combine with jpackage in the same way. Somebody told me that the old way I was distributing launchers was illegal or something because Java wants you to use a Java login to download the java after doing an Oracle sign-in or some stupid crap like that in order to use programs that I write for you. By using jpackage with the Eclipse binary distribution of openjdk or whatever, it's all following the rules. I don't know, maybe whoever told me that was just bluffing since that would be dumb. I am not a lawyer. But I allowed the code to move to Java 17 instead of Java 8 and moving back is probably annoying now. The updates to Java are kind of like Reforged, where the new versions of things are jabbing the users and making stuff not work instead of just being wholly better like they used to.
 
Last edited:
Level 9
Joined
Jun 25, 2014
Messages
199
(...)I wasn't using that thing. I tended to just use the File>Import dialog.

The anim transfer is still in the code, but the launcher for it is gone. The launchers I was using previously didn't combine with jpackage in the same way. Somebody told me that the old way I was distributing launchers was illegal or something because Java wants you to use a Java login to download the java after doing an Oracle sign-in or some stupid crap like that in order to use programs that I write for you. By using jpackage with the Eclipse binary distribution of openjdk or whatever, it's all following the rules. I don't know, maybe whoever told me that was just bluffing since that would be dumb. I am not a lawyer. But I allowed the code to move to Java 17 instead of Java 8 and moving back is probably annoying now. The updates to Java are kind of like Reforged, where the new versions of things are jabbing the users and making stuff not work instead of just being wholly better like they used to.
You could implement it into Model Studio itself, but I guess whole Anim Transfer would have to be rewritten from scratch.
 
Level 2
Joined
Aug 29, 2018
Messages
4
the problem of transferring models from Reforged to Warcraft3FT 1.26 . I use the program "ReteraModelStudio 4.5h" thanks to the creator. When I save it in .mdl format, all animations are displayed well, but it is worth converting to .mdx format through Mdlvis v1.41, then all animations do not work correctly. I am attaching a photo. I ask for help from experienced people. My mission is to update the graphics in Dota Allstars on WC3FT.:wwink:
 

Attachments

  • Bezimyannii.jpg
    Bezimyannii.jpg
    185.1 KB · Views: 15
  • Bezimyannii2.jpg
    Bezimyannii2.jpg
    158.8 KB · Views: 14
  • WC3ScrnShot_010924_161517_02.jpg
    WC3ScrnShot_010924_161517_02.jpg
    892.1 KB · Views: 16
  • WC3ScrnShot_010924_163239_02.jpg
    WC3ScrnShot_010924_163239_02.jpg
    889.7 KB · Views: 15
Last edited:
Level 2
Joined
Aug 29, 2018
Messages
4
Seems a bit retrograde and self-flagellating to do this instead of save the map on/with Reforged.
Perhaps @Retera could give some wisdom on this matter, if he finds the time?
It seems that Retera has no equal :D I play on the Iccup platform, where DOTA is on WC3FT. That's why I want to update the graphics
 
Top