• 🏆 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.5j (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 3
Joined
Jun 14, 2021
Messages
11
I want to change the format .mdx to .obj but the program throws this error.

Unknown error occurred:
java.lang.UnsupportedOperationException: OBJ saving has not been coded yet.
at com.matrixeater.src.MainPanel.onClickSaveAs(MainPanel.java:4614)
at com.matrixeater.src.MainPanel.onClickSaveAs(MainPanel.java:4595)
at com.matrixeater.src.MainPanel.actionPerformed(MainPanel.java:4169)
at javax.swing.AbstractButton.fireActionPerformed(Unknown Source)
at javax.swing.AbstractButton$Handler.actionPerformed(Unknown Source)
at javax.swing.DefaultButtonModel.fireActionPerformed(Unknown Source)
at javax.swing.DefaultButtonModel.setPressed(Unknown Source)
at javax.swing.AbstractButton.doClick(Unknown Source)
at javax.swing.plaf.basic.BasicMenuItemUI.doClick(Unknown Source)
at javax.swing.plaf.basic.BasicMenuItemUI$Handler.mouseReleased(Unknown Source)
at java.awt.Component.processMouseEvent(Unknown Source)
at javax.swing.JComponent.processMouseEvent(Unknown Source)
at java.awt.Component.processEvent(Unknown Source)
at java.awt.Container.processEvent(Unknown Source)
at java.awt.Component.dispatchEventImpl(Unknown Source)
at java.awt.Container.dispatchEventImpl(Unknown Source)
at java.awt.Component.dispatchEvent(Unknown Source)
at java.awt.LightweightDispatcher.retargetMouseEvent(Unknown Source)
at java.awt.LightweightDispatcher.processMouseEvent(Unknown Source)
at java.awt.LightweightDispatcher.dispatchEvent(Unknown Source)
at java.awt.Container.dispatchEventImpl(Unknown Source)
at java.awt.Window.dispatchEventImpl(Unknown Source)
at java.awt.Component.dispatchEvent(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.security.ProtectionDomain$1.doIntersectionPrivilege(Unknown Source)
at java.awt.EventQueue$4.run(Unknown Source)
at java.awt.EventQueue$4.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)

I'm currently synced 1.28 .mpq file to the model editor. Works everything fine except saving.

What should I do?
 
"OBJ saving has not been coded yet." is an error that means there is not this feature. Nothing in the program knows how to save as OBJ, so the only way you can fix this is to download the code from GitHub and add this feature yourself.
 
Some guy had a problem with opening a file walking the whole directory tree that the file was contained in, and then it would crash when it touched the files that he didnt have permission to. I published a tiny code change so that the FolderDataSource used to locate textures in the same folder as a model file will only walk its directory tree around it when someone calls getListfile() on that data source. Was a very small technical thing where I just happened to be at my pc and looking at it, so went ahead and posted the change where it would be easy to get.

Obviously if you want updates, that experimental version @twilac had been working on has tons of changes and new features like I think maybe a material editor and particle emitter and who knows what else.
 
Last edited:
Today I have converted .png to .blp and vice versa and, some time later, the converter got stuck and didn't let me do it :ogre_icwydt:

EDIT: After successfully saving a model with a new .blp skin I put another .blp skin (which worked previously) but the model turned white again. Then I relaunched the Model Studio and tried to put a (already tested) .blp skin on that model but the Model Studio didn't see it and the model turned white again.

@Retera, something wrong is going on after u successfully save a model and then try another skin for this model, every .blp skin will turn white, meanwhile the Model Studio sees my .png skin and applies it. Don't know what I'm doing wrong as it sees the skin but refuses to apply, maybe I'm too stoopid for this, eh... :ogre_rage:
ReteraModelStudioIssue1.png
EDIT: MEANWHILE the model works in game and shows off perfectly :ogre_love: seems like a visual bug?
 
Last edited:
Level 31
Joined
Sep 17, 2009
Messages
194
"In short, please go and find a version of Retera Model Studio 0.05 and use it instead of this program, even though I have updated this version for you today in case (like me) you depend on this old one to continue working in exactly the same manner as it has done historically (until you finish migrating your workflow to Retera Model Studio 0.05)."

Does this mean this is outdated? Where do I find ver 0.05??
 
Level 28
Joined
May 14, 2021
Messages
1,095
"In short, please go and find a version of Retera Model Studio 0.05 and use it instead of this program, even though I have updated this version for you today in case (like me) you depend on this old one to continue working in exactly the same manner as it has done historically (until you finish migrating your workflow to Retera Model Studio 0.05)."

Does this mean this is outdated? Where do I find ver 0.05??
I heard that this version doesn't work on latest version of Reforged (1.32.10). Some people said there was an error report about Java upon starting:
Retera's Model Studio Reforged Hack
 
When I want to use this program, which I still do, I download from the link that says download
1628484610331.png

This version works fine for me on 1.32.10.


Ideologically you should migrate to 0.05. Maybe we can talk to twilac and Bogdan about getting a link to 0.05 on this bundle as well for people who want that, because in general I have not been spending time updating 0.04 in the same manner as how they have spent a lot of time on 0.05.
 
Level 2
Joined
May 22, 2020
Messages
10
I just gave this a try. Upon opening, it tells you to provide the Warcraft 3 directory. That went well, but then it gets a little confusing, as the setup page has buttons like "add casc", "add folder", "add default casc mod", etc with no explanation of what I'm supposed to do with them. A search for tutorials or explanations produced no info. I closed that window and proceeded to the main program, so I suppose I didn't need to do anything there? Maybe?

I then opened a model. By default, it has one rotatable view and 3 views labeled front, side, and bottom. But I can only select vertices on the front, side, and bottom views. I don't seem to be able to select anything on the view that actually rotates. Is that correct, that I cannot rotate the views that allow me to select vertices? If so, that makes it really hard to select the one you want.

If there is a way to rotate the views labeled "side", etc, or if there is a way to select vertices on the rotating view, please share it with me, or point to a tutorial that shows such basic functions.

I've watched a few of Retera's youtube videos, but they blow past such basic functionality questions, and also assume the audience already has full understanding of warcraft's model files.
 
Level 17
Joined
Feb 25, 2013
Messages
303
In 0.04, both of the things you experienced are intended: the first popup that has buttons to "Add CASC", "Add MPQ" and such is the button where you select which Warcraft 3 data to use (These will already be selected properly on first opening of the tool for most).
The non-rotatable views are the only ones that presently have editing implemented but this might change in the next version.
 
Level 2
Joined
May 22, 2020
Messages
10
I am able to do a few simple things poking around in the editor. For example, I open the dryad and am able to delete the shoulder pad by using the "select groups" option and delete earrings with "select cluster". But there is no description of what most of the commands do and I can't figure them all out by trial and error.

Is there a tutorial of the basic features somewhere? As I said, I already watched some of Retera's vids and they don't explain basic features; he just uses them as if the user already knows what they all do.
 
Last edited:
Hey, I hope you will still take feedback from this @Retera . Currently models do not show up on the large Preview screen if geosets use custom names. They still perform normally otherwise, I just want to point out this interesting glitch.
Edit: Upon further investigation this can be fixed by changing LevelOfDetail from -1 to 0. Hope it is still interesting for you. Because I care about the state of this program :peasant-thumbs-up:
 
Last edited:
Level 28
Joined
May 14, 2021
Messages
1,095
i have an error in the prefernce window say

  • CASC: D:\Games\Warcraft III (WARNING: No Mods Selected)
Please don't make a double post. I can tell you if you see this error then you are using wrong version of RMS or maybe an outdated Java.
The RMS that the author uploaded has been updated to make it compatible on the most recent versions of Warcraft III, so this might be the reason it's not working on Classic.
 
Level 5
Joined
Sep 30, 2017
Messages
52
Please don't make a double post. I can tell you if you see this error then you are using wrong version of RMS or maybe an outdated Java.
The RMS that the author uploaded has been updated to make it compatible on the most recent versions of Warcraft III, so this might be the reason it's not working on Classic.
very sorry it's me internet. it's bad and I thought it didn't post my bad. Well I just downloaded the latest version of RMS v0.04.1 and I think It's only for reforged which I don't have. The Version that I have is warcraft3 1.31.1. so does that mean That I need an Older version of RMS and if. where can I get it ?
 
Level 28
Joined
May 14, 2021
Messages
1,095
very sorry it's me internet. it's bad and I thought it didn't post my bad. Well I just downloaded the latest version of RMS v0.04.1 and I think It's only for reforged which I don't have. The Version that I have is warcraft3 1.31.1. so does that mean That I need an Older version of RMS and if. where can I get it ?
You can't. The updated version of RMS is meant to be used on Reforged.
 
But I mean it's a one line change to make it work on 1.31, and I used it on 1.31 while 1.31 was live for a very long time, so if you wanted it to run on 1.31 that should be very, very not hard to do.

You can't. The updated version of RMS is meant to be used on Reforged.
Okay but you can I'll attach the old version from my downloads folder. Basically Patch 1.32.10 changed the CASC format in a way that according to JCASC library cannot be backwards compatible. So it was basically Blizzard's fault, from my standpoint.

Honestly the "supports only 1.32.10" whatever title is just so that people don't ask me for tech support help. I use the latest version currently available for download with patch 1.26 or 1.22 or whatever and it works fine. It just has a problem with 1.30 and 1.31 at the moment because of the newer CASC parser not being backwards compatible with those versions.

But the download should work fine
 

Attachments

  • Reteras Model Studio (2).zip
    67 MB · Views: 87

Dr Super Good

Spell Reviewer
Level 63
Joined
Jan 18, 2005
Messages
27,178
The change that was made to the CASC system was with the TVFS files which define the file system of the archive. They changed the binary format in a way that was not designed to allow backwards compatibility, likely due to Blizzard not needing that functionality internally as the TVFS files will always update with the game code.

In theory it would be possible to detect, or force some kind of backwards compatibility but the implementation for this would be very ugly due to the coupling required. Detection would need some sort of pattern matching where it tries to pass a few files and if it notices the symptoms of the changed format it then configures the deserialization to use alternative logic to handle the old format. Forcing it would need to keep track of some setting that toggles the deserialization logic between legacy and current, which then also relies on either pattern matching to setup, or the user being smart enough to know when to use which. Given that Blizzard can make such binary format changes as much as they like, the code could quickly become an unmaintainable mess after a few such changes trying to handle them all. As such I decided to support the current version of Warcraft III TVFS files since those are what most users who need the CASC function will (should...) likely have.

CASC Viewer was not affected because it happened to not care about the change in the binary format. The fields that were changed contained information to help verify file integrity, something CASC Viewer never did but JCASC does. As such despite CASC Viewer parsing the data structure incorrectly and getting nonsense or missing member values, it still continued with the extraction process.
 
Level 5
Joined
Sep 30, 2017
Messages
52
But I mean it's a one line change to make it work on 1.31, and I used it on 1.31 while 1.31 was live for a very long time, so if you wanted it to run on 1.31 that should be very, very not hard to do.


Okay but you can I'll attach the old version from my downloads folder. Basically Patch 1.32.10 changed the CASC format in a way that according to JCASC library cannot be backwards compatible. So it was basically Blizzard's fault, from my standpoint.

Honestly the "supports only 1.32.10" whatever title is just so that people don't ask me for tech support help. I use the latest version currently available for download with patch 1.26 or 1.22 or whatever and it works fine. It just has a problem with 1.30 and 1.31 at the moment because of the newer CASC parser not being backwards compatible with those versions.

But the download should work fine
I just downloaded your File and it works fine. Thank you !!!!!
 
Level 1
Joined
Feb 18, 2021
Messages
1
I downloaded it, I'm looking that I can cope with it, unfortunately it is not in the language that I need but look at it.
 
Level 10
Joined
May 31, 2019
Messages
137
Minor suggestion, but I would really like if the folder path when opening a file could be written/pasted into, so you don't have to do a lot of clicking if the file you want is in a very different folder from where the program is currently looking.

Nice tool though, thank you.
 
Level 2
Joined
Sep 13, 2018
Messages
6
Hello
I really like your tool and thanks fir that but I don't understand why but many of my models don't have any texture
Do you know how I could manage it ?
PS : I'm on an old version on Wc3
 
Last edited:
Level 28
Joined
May 14, 2021
Messages
1,095
Hello
I really like your tool and thanks fir that but I don't understand why but many of my models don't have any texture
Do you know how I could manage it ?
PS : I'm on an old version on Wc3
You mean non-Reforged WC3? You could try this one, which has an MPQ.
Also, if you are using Reforged WC3, then your Model Studio is very outdated. You should download the recent one from this thread.
 
Hello
I really like your tool and thanks fir that but I don't understand why but many of my models don't have any texture
Do you know how I could manage it ?
PS : I'm on an old version on Wc3
Yeah, check this post Retera's Model Studio
Maybe go to "Edit > Preferences > Data Sources" and clear it and re-add your War3 installation.
 
Also I don't know why but I don't have any unit in my unit browser
This means that you have the Retera Model Studio running, but it does not know where your Warcraft III installation is. Even if you have Warcraft III installed, my code still did not find it.
The solution is quite easy. You need to go to Data Sources menu in the preferences and do Add War3 Installation and choose the folder where you have Warcraft III installed.
 
Level 2
Joined
Sep 13, 2018
Messages
6
This means that you have the Retera Model Studio running, but it does not know where your Warcraft III installation is. Even if you have Warcraft III installed, my code still did not find it.
The solution is quite easy. You need to go to Data Sources menu in the preferences and do Add War3 Installation and choose the folder where you have Warcraft III installed.
I do but this happen
 

Attachments

  • Capture d’écran 2021-11-25 183312.png
    Capture d’écran 2021-11-25 183312.png
    137.3 KB · Views: 34

Dr Super Good

Spell Reviewer
Level 63
Joined
Jan 18, 2005
Messages
27,178
I do but this happen
Make sure you are using the latest version of Retera Model Studio with the latest patch of Warcraft III Reforged, updated using the BattleNet application. That error might be due to using the latest version of Retera Model Studio with a legacy version of Reforged, from before they arbitrarily decided to change the file format slightly.

If you want to keep using a legacy version of Reforged, then you will need to find a legacy version of Retera Model Studio from before the TVFS decoder was updated.
 
Level 4
Joined
May 19, 2020
Messages
319
Hello,would you consider add a function to let the vertexes merge?
Or there is a way actual existed in this tool just i haven't found it?
If you're referring to merging vertices with "the same name" to overlap animation between different reforged models, that's totally possible.
The RMS has a tool that adds the animations from a standadr model to any other model you want, as the description of the vertices in Reforged are almost identical between all models, only in some you will need to make manual readjustments and some corrections for synchronization be perfect, because some bones, especially special attachments, do not match.
Open your model in RMS, and between the top tabs of the program, go to the "ADD" tab, there will be an option for you to add the full animation of a standard Blizz model.
 
Level 7
Joined
Sep 1, 2016
Messages
64
If you're referring to merging vertices with "the same name" to overlap animation between different reforged models, that's totally possible.
The RMS has a tool that adds the animations from a standadr model to any other model you want, as the description of the vertices in Reforged are almost identical between all models, only in some you will need to make manual readjustments and some corrections for synchronization be perfect, because some bones, especially special attachments, do not match.
Open your model in RMS, and between the top tabs of the program, go to the "ADD" tab, there will be an option for you to add the full animation of a standard Blizz model.
ehhhh,not about that,here is a example picture it can easily express what i mean
20220110201031.png
You can see the top has divided with other vertexes,i wanna it can be merge with rest of them.
In most of wc3 animation,if one of the vertex divided,the somewhere of animation will be weird(Like the Footman's arm divided with the hand in attack animation.But if you edit the animation it can be fix or not show so obvious,but it also will take a long time.)
 
Level 4
Joined
May 19, 2020
Messages
319
I understand now, but I don't think so. At least I've never seen anything like it, maybe MdlVis has a similar function, I don't remember...
Unfortunately, RMS doesn't even have 3D Orbital rotation for model manipulation. Its polygon editing by 2D views is not very receptive,
I always do my personal customizations in another program, then I change Magos to SD, and then finally open it in RMS to make the HD adaptations of the model/textures. It would be great if RMS had availability for converting from other formats (FBX, 3DS, OBJ...). If Retera had more help in development with other more knowledgeable people, maybe one day we would have an environment even richer in tools and more practical for 3D manipulation.
 
Level 7
Joined
Sep 1, 2016
Messages
64
I understand now, but I don't think so. At least I've never seen anything like it, maybe MdlVis has a similar function, I don't remember...
Unfortunately, RMS doesn't even have 3D Orbital rotation for model manipulation. Its polygon editing by 2D views is not very receptive,
I always do my personal customizations in another program, then I change Magos to SD, and then finally open it in RMS to make the HD adaptations of the model/textures. It would be great if RMS had availability for converting from other formats (FBX, 3DS, OBJ...). If Retera had more help in development with other more knowledgeable people, maybe one day we would have an environment even richer in tools and more practical for 3D manipulation.
I often merge the vertexes in Blender if problem of model cant fix in RMS.
But Blender has problem about the vertexes,when you transfer mdx to Obj and import in Blender,almost all of the vertexes will be divided.(At least it happened on me.)
So i often used on building model in Blender,because building model not need any animations.But one day you have problem with unit model it will trouble you,such like arm and chest has divided,if you not merge them,you need to fix them to normal in every animation.
So I think if RMS has such function will be prefectly.
 
Level 2
Joined
Oct 23, 2021
Messages
5
Hi bros, I need a little help... I just downloaded this but when I run the ObjectEditor file, nothing happens... the program doesn't seem to be running on my pc...
 
Hello,would you consider add a function to let the vertexes merge?
Or there is a way actual existed in this tool just i haven't found it?
Last time I did this, I just used the SNAP tool up here.

1642744089426.png


It is not a great solution. It is not a vertex weld; in the underlying model data file it will continue to have 2 data points. Also, it has no automation, so you have to click it for each set of vertices you wish to fuse together -- manually.

In case the two vertices split back apart during animation, then I fix that by doing a right click on the SNAP vertices that are in the same {X,Y,Z} location in space, and I use re-assign matrix on that which is just setting what animation data they use. Then they will animate together, so the model will act physically connected as though it were one vertex.
1642744253888.png


Again, if you are fixing an entire model this way, or something, it is going to be slower than if you use some fancier software like 3dsMax or Blender that has large funding and a big development team behind it.
 
Level 28
Joined
May 14, 2021
Messages
1,095
what causes objecteditor to fail to open?
The Object Editor doesn't exist anymore according to this guy:
The object editor has been mostly defunct for a while, some people have had limited success getting it to run from source code, but it is (If I remember correctly) no longer maintained. When trying to run it manually, I get a very simple "library missing" error for Image4J but this probably doesn't tell you much
 
Top