• Check out the results of the Techtree Contest #19!
  • Listen to a special audio message from Bill Roper to the Hive Workshop community (Bill is a former Vice President of Blizzard Entertainment, Producer, Designer, Musician, Voice Actor) 🔗Click here to hear his message!
  • Read Evilhog's interview with Gregory Alper, the original composer of the music for WarCraft: Orcs & Humans 🔗Click here to read the full interview.
  • Create a void inspired texture for Warcraft 3 and enter Hive's 34th Texturing Contest: Void! Click here to enter!
  • The Hive's 22nd Icon Contest: Creep Abilities is now concluded, time to vote for your favourite set of icons! Click here to vote!

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's Model Studio 4.6c (Binary)

Retera's Model Studio 4.6b (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
yup that's pretty much it
I uninstalled the game, deleted all related files from documents and reinstalled it back. I was like, this shouldn't make any difference since i didn't modify anything inside Warcraft 3 root folder, nor in documents, was doing it just to eliminate all the possibilities.

I don't know why, how ... but after reinstallation it's working without any problem. It's beyond me to understand what the actual issue was, so i am writing this message in case anyone faces similar problem. Game reinstallation worked for me.
 
Last edited:
I uninstalled the game, deleted all related files from documents and reinstalled it back. I was like, this shouldn't make any difference since i didn't modify anything inside Warcraft 3 root folder, nor in documents, was doing it just to eliminate all the possibilities.

I don't know why, how ... but after reinstallation it's working without any problem. It's beyond me to understand what the actual issue was, so i am writing this message in case anyone faces similar problem. Game reinstallation worked for me.
I think there have been 2 updates for Warcraft 3 Reforged. If I’m not mistaken, the interval between these updates was about 4 or 5 days. So, I believe that many people skipped the first update, and that’s why you and I faced the problem while others didn’t.
 
I have the problem where it "works on my computer" but other folks have had the issues reported on this thread where it randomly fails.

InsanityAI downloaded the source code of Retera Model Studio and hacked it up while his game was in the "weird state" where Retera Model Studio can't read from it, and he claimed that he fixed it so that Retera Model Studio would always work. If I sit and read through his code and merge that for you guys sometime soon and upload that here on Hive, it should maybe solve all the issues it sounds like.

I'd solve them myself if they happened on my computer, but so far they haven't.
 
Who knows how to hide these branches with "unimated"? Because in the fog of war, the Ancient Protector model is drawn with them.
2025-09-03_01-26-13.png
WC3ScrnShot_090325_012504_01.jpg
 
is there a timer when the animation plays. like if an attack is 3 seconds its plays from 0-3 seconds and lets me scroll to like 1.5 seconds to check what the animation is currently at
 
lets me scroll to like 1.5 seconds
Sure. Go into Edit page and then use "Select Nodes and Animate" to show timeline on bottom of screen. Might need to maximize the Window to click the small red button in lower right that chooses the animation to view in this way.
 
Can you make HD->SD for 1200 format models? Looks like we cant do this for reforge models anymore

bogdan tried a fix in War3 Model Editor not long ago, but doesnt work
 
I would like to thank the creator of this program. And also for his personal help.:mwahaha: Today I completed my visual patch for DotA Allstars WC3TFT 1.26A. Everything is working fine. There is only one caveat. If there are a lot of units in one part of the screen, then the textures start to fail. Unfortunately, this is due to the game's engine, which works with a limitation. Still a 2003 game:gg:
Retera thank you! With love from Russia :piru:
My stream channel - Twitch
 
Hello! I'd like to ask the author of this program if it could be integrated with Nazarpunk. Nazarpunk created a super-fast image converter (compared to BLPLAB) that converts images quickly, loads previews quickly, and even (recently) integrated into Discord as a bot.
I tested his program and found that it doesn't work at all with BlpLab, Magos, Retera, MdlVis, and Twilac. As far as I understand, Nazarpunk is currently trying to integrate MdlVis with his program. (Because in addition to being a converter, BLP-RS also functions as a protector, meaning people won't be able to open textures without his software :peasant-grin: )
 
Salom! Men ushbu dastur muallifidan uni Nazarpunk bilan birlashtirish mumkinmi, deb so'ramoqchiman . Nazarpunk tasvirlarni tezda o'zgartiradigan, oldindan ko'rishlarni tez yuklaydigan va hatto (yaqinda) Discord-ga bot sifatida integratsiyalangan o'ta tezkor tasvir konvertorini yaratdi ( BLPLAB bilan solishtirganda). Men uning dasturini sinab ko'rdim va u BlpLab , Magos , Retera , MdlVis va Twilac bilan umuman ishlamasligini aniqladim . Men tushunganimdek, Nazarpunk hozirda MdlVisni o'z dasturi bilan birlashtirishga harakat qilmoqda . (Chunki BLP-RS konvertor bo'lishdan tashqari, himoyachi vazifasini ham bajaradi, ya'ni odamlar uning dasturiy ta'minotisiz teksturalarni ocha olmaydilar )
:dehqon-grin:
ConvertX 🗿?
 
ConvertX 🗿?
I'm far from any of this, so don't ask me anything about it. I only know that there's Nazar's software, and I used it because my work PC is very old and it's very difficult to use programs like BLPLAB or Retera. It works, but it takes a very, very long time due to the weak hardware. But Nazar's software, via Discord, does it all in 1-2 clicks (because it's on a remote system).
And in this regard, when someone doesn't have access to a proper system, it's very convenient and, most importantly, fast.
 
in addition to being a converter, BLP-RS also functions as a protector, meaning people won't be able to open textures without his software :peasant-grin:
This is not how technology works. If malformed BLPs are constructed on a regular basis, then the community tools to edit BLPs will be upgraded likewise eventually.

In particular, I have a wc3 remake game client that runs on Retera Model Studio's codebase for parsing assets. If you make a BLP that won't open in Retera Model Studio, then it won't open in my game client, so it's just a broken bad texture. Anyone who promises you the capability to do otherwise is getting pleasure out of benefiting from your ignorance or the alleged ignorance of the people maintaining other available tools. I have the source code of Magos, Mdlvis, and Retera Model Studio on my computer and I can upgrade all three of them to parse bad BLPs and publish the new fixed versions if I decide that I don't like the person making bad BLPs and I want to prove a point.

I'd like to ask the author of this program if it could be integrated with Nazarpunk. Nazarpunk created a super-fast image converter (compared to BLPLAB) that conver...
Retera Model Studio is on GitHub with an MIT license, so anyone can build off of it or integrate it into anything without asking me and has legal license to do so. That being said, Retera Model Studio usually ships with the blp-iio-plugin for java included, which is GPL licensed software. Derivative works of the BLP plugin technology may have stricter legal rules that require the derivative work and all subsequent derivative works to be fully freedom source software, retaining the same legal notice and publishing the code for all modified versions to ensure the code and its future versions are never squandered for profit. Retera Model Studio, by including that component yet listing itself as MIT licensed, might be borderline in violation but I am not a lawyer. In practice, the author of that plugin basically told me that:
  • He does not care greatly
  • If anyone asks he would likely be OK with providing me an MIT licensed version of the component

I am hopeful that as there is probably not code in Retera Model Studio that necessarily depends on that, but that it is an optional component that can be loaded for it to then work well together, that therefore it is not a concern.
 
This is not how technology works. If malformed BLPs are constructed on a regular basis, then the community tools to edit BLPs will be upgraded likewise eventually.

In particular, I have a wc3 remake game client that runs on Retera Model Studio's codebase for parsing assets. If you make a BLP that won't open in Retera Model Studio, then it won't open in my game client, so it's just a broken bad texture. Anyone who promises you the capability to do otherwise is getting pleasure out of benefiting from your ignorance or the alleged ignorance of the people maintaining other available tools. I have the source code of Magos, Mdlvis, and Retera Model Studio on my computer and I can upgrade all three of them to parse bad BLPs and publish the new fixed versions if I decide that I don't like the person making bad BLPs and I want to prove a point.


Retera Model Studio is on GitHub with an MIT license, so anyone can build off of it or integrate it into anything without asking me and has legal license to do so. That being said, Retera Model Studio usually ships with the blp-iio-plugin for java included, which is GPL licensed software. Derivative works of the BLP plugin technology may have stricter legal rules that require the derivative work and all subsequent derivative works to be fully freedom source software, retaining the same legal notice and publishing the code for all modified versions to ensure the code and its future versions are never squandered for profit. Retera Model Studio, by including that component yet listing itself as MIT licensed, might be borderline in violation but I am not a lawyer. In practice, the author of that plugin basically told me that:
  • He does not care greatly
  • If anyone asks he would likely be OK with providing me an MIT licensed version of the component

I am hopeful that as there is probably not code in Retera Model Studio that necessarily depends on that, but that it is an optional component that can be loaded for it to then work well together, that therefore it is not a concern.
Could you check the texture in the game in your program? (This is created using BLP-RS)
 

Attachments

BLP-RS also functions as a protector, meaning people won't be able to open textures without his software
I do not see anything in the code linked regarding protection? There does seem to be quite complex logic for merging JPEG headers so maybe this is an issue with some JPEG libraries not liking his custom merged headers. Retera Model Studio uses the standard Java ImageIO JPEG implementation.

Looking at the image it seems to be a 2048 x 1024 pixel JPEG image. I am unsure if the version inside Retera's model studio handles textures this large since when I originally wrote the library Warcraft III could not. As it is JPEG formatted it may be subject to the strange JPEG header optimisation the tool performs and might be producing slightly malformed output that is still parsed by Warcraft III's JPEG library.
 
1762671040608.png



After iterating on this for a bit, seems to be functional. The code I used for solving this problem seems very dumb, though, and it makes me annoyed that someone thinks it's worth the time to play games trying to break the software. Folks do that with WC3 because WC3 updates at the pace of molasses -- at least with regards to meaningful technical ways. But if you intentionally try to play "Gotcha!" with Retera Model Studio by making files that break it, while not breaking some other program, I can just fix it. How is that not painfully obvious when dealing with open source tools?

I probably should clean up the code before I release this. But I think I made my point.

I also fixed this issue with the "IndexOutOfBounds" stuff by hacking my BLP IIO Plugin fork to do less flushing of data prior to reading mipmaps, and in so doing to ensure we never crash on textures with fake mipmaps.

So when I finish cleaning up the code, in summary, I will probably release the next version of Retera Model Studio to use this forked parser, which includes:
  • The signature "alpha channel" change from mainline BLP IIO Plugin that is the original reason for the fork
  • The support for loading some WoW BLP2 files (tested on WoW 0.5.3 alpha) using DXT parsing instead of JPEG, which was sitting in a branch on my fork the last 2 years but was not included with prior Retera Model Studio distributions
  • The change to mipmap header flush mechanics to resolve the "fake mipmaps" textures, based on the above mentioned github issue
  • A fallback system where if the BLP IIO Plugin fails to parse a texture such as the one linked earlier in this thread, the program will then instead load the BLP using a shoddy port of Ghostwolf's viewer's BLP parser that I threw together in the last few hours (i.e. the screenshot above)

I will probably release this soon. If @Dr Super Good can fix the BLP IIO Plugin not to crash on the image you provided then I will happily use it, but for now I am using the "shoddy port of Ghostwolf's viewer's BLP parser" solution because that one does not rely on a third party JPEG library expressly for the stated reason that it has to hack the JPEG library, which I assume in this case is necessary for solving these kinds of problems with people using malformed files.

(Because in addition to being a converter, BLP-RS also functions as a protector, meaning people won't be able to open textures without his software :peasant-grin: )

Whoever thinks this is a good idea and is a good use of time should be banned permanently from Hive Workshop, in my opinion. But I don't represent the Hive, that's just my personal opinion after looking at it for a while. Do you know if nazar has a Hive account?
 
Because in addition to being a converter, BLP-RS also functions as a protector, meaning people won't be able to open textures without his software :peasant-grin:
That's a bold claim, I tried opening the BLP file using my library War3Net/src/War3Net.Drawing.Blp at master · Drake53/War3Net and I was able to open it without any issues, so it's not true. (the library has two implementations though, I didn't test the windows-specific optimized implementation because I was testing it on WSL).
While we're on the topic of BLP, I recently updated this library to also support encoding files to BLP1 (it was read-only before). I should probably update the readme to reflect that.
 
View attachment 554502


After iterating on this for a bit, seems to be functional. The code I used for solving this problem seems very dumb, though, and it makes me annoyed that someone thinks it's worth the time to play games trying to break the software. Folks do that with WC3 because WC3 updates at the pace of molasses -- at least with regards to meaningful technical ways. But if you intentionally try to play "Gotcha!" with Retera Model Studio by making files that break it, while not breaking some other program, I can just fix it. How is that not painfully obvious when dealing with open source tools?

I probably should clean up the code before I release this. But I think I made my point.

I also fixed this issue with the "IndexOutOfBounds" stuff by hacking my BLP IIO Plugin fork to do less flushing of data prior to reading mipmaps, and in so doing to ensure we never crash on textures with fake mipmaps.

So when I finish cleaning up the code, in summary, I will probably release the next version of Retera Model Studio to use this forked parser, which includes:
  • The signature "alpha channel" change from mainline BLP IIO Plugin that is the original reason for the fork
  • The support for loading some WoW BLP2 files (tested on WoW 0.5.3 alpha) using DXT parsing instead of JPEG, which was sitting in a branch on my fork the last 2 years but was not included with prior Retera Model Studio distributions
  • The change to mipmap header flush mechanics to resolve the "fake mipmaps" textures, based on the above mentioned github issue
  • A fallback system where if the BLP IIO Plugin fails to parse a texture such as the one linked earlier in this thread, the program will then instead load the BLP using a shoddy port of Ghostwolf's viewer's BLP parser that I threw together in the last few hours (i.e. the screenshot above)

I will probably release this soon. If @Dr Super Good can fix the BLP IIO Plugin not to crash on the image you provided then I will happily use it, but for now I am using the "shoddy port of Ghostwolf's viewer's BLP parser" solution because that one does not rely on a third party JPEG library expressly for the stated reason that it has to hack the JPEG library, which I assume in this case is necessary for solving these kinds of problems with people using malformed files.



Whoever thinks this is a good idea and is a good use of time should be banned permanently from Hive Workshop, in my opinion. But I don't represent the Hive, that's just my personal opinion after looking at it for a while. Do you know if nazar has a Hive account?
I don't understand anything you said about why he should be banned? He simply created a converter, and I used it when working with RMS or MDLVIS, but I found that they couldn't read his .blp files. Sorry, I'm using mobile; you can use a translator from Rus to Eng. I found it extremely useful, as I hadn't encountered converters with a remote system before (I just have a weak PC at work). Perhaps blplab is also fast, but on more powerful PCs...

That's a bold claim, I tried opening the BLP file using my library War3Net/src/War3Net.Drawing.Blp at master · Drake53/War3Net and I was able to open it without any issues, so it's not true. (the library has two implementations though, I didn't test the windows-specific optimized implementation because I was testing it on WSL).
While we're on the topic of BLP, I recently updated this library to also support encoding files to BLP1 (it was read-only before). I should probably update the readme to reflect that.
The main thing I can’t understand is that his program is read by the game, but not rms, magos or mdlvis. How is this possible?
 
Last edited by a moderator:
I didn’t understand anything from what you said, why should he be banned?
Maybe I was mistaken. I interpreted what you were saying to mean that he intentionally constructed his program to output BLP files that would crash other programs.

Intentionally constructing a program to output BLP files that crash the other programs for me seems like it would increase the amount of human suffering in the world, reduce forwards compatibility, and cause many things to not work without providing a large benefit to anyone's ability to make creative works.

I forgot to sleep last night. I might have been sitting at the computer for 12 hours hoping to step through BLP IIO Plugin to understand why it crashes on the file you provided. What I discovered is that it seems to crash when passing the JPEG compressed pixel data into the Java native JPEG decoder. This seems exceedingly time consuming to diagnose. If someone else had spent time with the Retera Model Studio software with the express intention of making it break so that I would have to spend those 12 hours of my life fixing it, it would feel almost like a personal attack.

But I think as @Drake53 pointed out, this texture appears to load fine on some programs without upgrading them. So perhaps it is not so specially designed to waste my time as I was initially concerned about.

However, it did seem to me that the texture only loads on Warcraft 3 patches prior to ~1.29, which seems quite silly. Reforged obviously has models that only load on the newer clients and can't open on the old ones. Is this some attempt to create the opposite of that, and to have maps with textures that will never look good on Reforged?

Or is it actually just some bug in the rust BLP library you linked?
 
Maybe I was mistaken. I interpreted what you were saying to mean that he intentionally constructed his program to output BLP files that would crash other programs.

Intentionally constructing a program to output BLP files that crash the other programs for me seems like it would increase the amount of human suffering in the world, reduce forwards compatibility, and cause many things to not work without providing a large benefit to anyone's ability to make creative works.

I forgot to sleep last night. I might have been sitting at the computer for 12 hours hoping to step through BLP IIO Plugin to understand why it crashes on the file you provided. What I discovered is that it seems to crash when passing the JPEG compressed pixel data into the Java native JPEG decoder. This seems exceedingly time consuming to diagnose. If someone else had spent time with the Retera Model Studio software with the express intention of making it break so that I would have to spend those 12 hours of my life fixing it, it would feel almost like a personal attack.

But I think as @Drake53 pointed out, this texture appears to load fine on some programs without upgrading them. So perhaps it is not so specially designed to waste my time as I was initially concerned about.

However, it did seem to me that the texture only loads on Warcraft 3 patches prior to ~1.29, which seems quite silly. Reforged obviously has models that only load on the newer clients and can't open on the old ones. Is this some attempt to create the opposite of that, and to have maps with textures that will never look good on Reforged?

Or is it actually just some bug in the rust BLP library you linked?
I don't think this software was designed to mess with us. (it's still being developed) After running a few tests, I realized that it works on old patches (I think it's based on patch 1.26) And I wrote to you, just hoping to make friends with this software with yours) I'm just stunned by how well and fast it works (remotely), but at the same time it can't interact with any model editor, although the game reads their Blp. If I understood the author of this software correctly, he just wanted to read and look at the BLP format and the models that are in warcraft. And apparently he doesn't really care about all my pens, so apparently he doesn't enter into this controversy.
 
View attachment 554502


After iterating on this for a bit, seems to be functional. The code I used for solving this problem seems very dumb, though, and it makes me annoyed that someone thinks it's worth the time to play games trying to break the software. Folks do that with WC3 because WC3 updates at the pace of molasses -- at least with regards to meaningful technical ways. But if you intentionally try to play "Gotcha!" with Retera Model Studio by making files that break it, while not breaking some other program, I can just fix it. How is that not painfully obvious when dealing with open source tools?

I probably should clean up the code before I release this. But I think I made my point.

I also fixed this issue with the "IndexOutOfBounds" stuff by hacking my BLP IIO Plugin fork to do less flushing of data prior to reading mipmaps, and in so doing to ensure we never crash on textures with fake mipmaps.

So when I finish cleaning up the code, in summary, I will probably release the next version of Retera Model Studio to use this forked parser, which includes:
  • The signature "alpha channel" change from mainline BLP IIO Plugin that is the original reason for the fork
  • The support for loading some WoW BLP2 files (tested on WoW 0.5.3 alpha) using DXT parsing instead of JPEG, which was sitting in a branch on my fork the last 2 years but was not included with prior Retera Model Studio distributions
  • The change to mipmap header flush mechanics to resolve the "fake mipmaps" textures, based on the above mentioned github issue
  • A fallback system where if the BLP IIO Plugin fails to parse a texture such as the one linked earlier in this thread, the program will then instead load the BLP using a shoddy port of Ghostwolf's viewer's BLP parser that I threw together in the last few hours (i.e. the screenshot above)

I will probably release this soon. If @Dr Super Good can fix the BLP IIO Plugin not to crash on the image you provided then I will happily use it, but for now I am using the "shoddy port of Ghostwolf's viewer's BLP parser" solution because that one does not rely on a third party JPEG library expressly for the stated reason that it has to hack the JPEG library, which I assume in this case is necessary for solving these kinds of problems with people using malformed files.



Whoever thinks this is a good idea and is a good use of time should be banned permanently from Hive Workshop, in my opinion. But I don't represent the Hive, that's just my personal opinion after looking at it for a while. Do you know if nazar has a Hive account?
Yes, I have an account. My blp files are readable by the game. If your software can't read my files, that's not my problem, it's the software developers' problem. And if, instead of figuring it out, you suggest blocking accounts, how are you any different from cancel culture fans?

That's a bold claim, I tried opening the BLP file using my library War3Net/src/War3Net.Drawing.Blp at master · Drake53/War3Net and I was able to open it without any issues, so it's not true. (the library has two implementations though, I didn't test the windows-specific optimized implementation because I was testing it on WSL).
While we're on the topic of BLP, I recently updated this library to also support encoding files to BLP1 (it was read-only before). I should probably update the readme to reflect that.
I have two JPEG encoding modes depending on the presence of an alpha channel. Try opening this texture.
 

Attachments

And if, instead of figuring it out, you suggest blocking accounts, how are you any different from cancel culture fans?
I first figured it out. After figuring it out, I then came to this site to share my complaint.

I'm pretty sure "cancel culture" is a bit different, I usually thought of that as describing when a huge number of people react to limited information to arrive at the conclusion of hating a person who in reality is not that bad.

In this case, we have been using software to interact with BLP for over twenty years. And that was basically working fine. There wasn't a problem with that.

Now, as a result of a software that does not appear to be encoding things in necessarily the same way, there allegedly was a problem. My frustration arises at the thought that the problem was intentional. But based on what @RvzerBro has said since then, it was probably not intentional.

As an example, despite many people using it the Magos software has a tendency to flip animated width and animated length on certain emitters when loading and saving MDL format, because he reversed the names relative to the official Blizzard format. Not too many people care. Folks just work around it, and warn each other that it is dumb.

But if I made a new 3D modeling tool that expressly encodes things in a nonstandard format like that, so that what my tool created will intentionally break Magos, that would be lame, and I should probably feel bad for doing it. That being said, Reforged has done things with very little merit that do break Magos, so there is also a somewhat reasonable technology stance that if we're going to ban someone, maybe it should be Activision for releasing a game in 2020 with the SD graphics encoded in the "MDX1000" format that was new for no reason from the perspective of those assets.

My blp files are readable by the game
Notwithstanding the above, the file provided by @RvzerBro was not readable by the game, nor any prior version that I tested, until I jumped back a version from 2008 or so. Do you know why? I have not invested the time to look at the details of some of the quirks of BLP but my general understanding was that there are memory unsafety holes and possible security exploits with BLP on those older game clients. I think encouraging people to depend on those specific parsers, to me, would be doing them a disservice unless the person doing it was also providing a warning that loading any BLP into a program with unsafe memory access in the BLP parser puts the user's PC at risk, and for security reasons they should upgrade their Warcraft III version to the only official one (which cannot properly load the BLP provided by @RvzerBro, by the way).
 
My blp files are readable by the game. If your software can't read my files, that's not my problem, it's the software developers' problem.
This is the conclusion I came to earlier when reading the source code. I am not sure why people still thought it was some form of protection attempt...

That said, the issue likely stems from the BGRA component JPEG format used by Warcraft III not being a standard format. It is my understanding that the original BLP files from Warcraft III (early 2000 release) used Intel's JPEG image library for creation and decoding. This library gave low level access to component channels, allowing JPEG to be used to store general 2D data and not just standard colour components. As such the resulting JPEG images consisted of 4 channels of 8 bit components which represent BGRA data. This is not a standard JPEG format, so how it ends up interpreted is based entirely on the decoder implementation.

Unless... The decoder supports extracting the channels directly. In that case you can extract all 4 channels, map them to their correct BGRA components and use the texture. Java's built in ImageIO decoder for JPEG supports this by loading the JPEG image as a raster with 4 component channels. Most JPEG libraries do not support this, with at least a few, such as the PHP BLP decoder, using colour space conversion from some arbitrary decoded colour space, introducing off-by-one errors in some of the decoded components due to rounding.

Technically, Blizzard storing textures like this was a very poor decision. JPEG is not optimised for storing BGR colour components, instead using colour spaces like YCrCb since humans are most sensitive to luminance and less so to colour. This almost certainly will have resulted in the chosen approach causing larger files for similar image quality, or lower image quality at same file size. Further more the JPEG image has to be decoded anyway, so performing colour space conversion to a BGRA texture is unlikely to have occurred significant load time overhead.

To some extent files created by your software not working in other people's software is your problem as it affects interoperation with other applications. If it is caused by you knowing something they do not, then it is important that this becomes well known so that those developers can try to fix their implementations for future applications.

I have two JPEG encoding modes depending on the presence of an alpha channel. Try opening this texture.
As far as I am aware there was only 1 JPEG encoding mode used by both? Even with no alpha, the stored JPEG image is still 4 component BGRA. This is why some Blizzard JPEG encoded BLP textures bug out when viewed "correctly", since they were incorrectly defined as having no alpha, encoded with full alpha data and anything rendered in 3D (not UI element) ignored what the texture set for having alpha and always assumed alpha, possibly as a material property or something model defined. UI elements, such as command card buttons, did correctly read the texture alpha flag so it would appear without alpha if used as a button. This was visible in the one campaign background where some of the foliage (TFT Nightelf? Or was it RoC Nightelf?) were using such bugged texture. In game it appeared fine, but if a model viewer "correctly" interpreted the texture declared alpha or if it were used as a command card button then it would appear without an alpha channel and look wrong.

I also found that the shared JPEG header had a maximum size. I am guessing older versions of Warcraft III used a constant sized, possibly statically allocated, piece of memory to hold the shared header and if the header was made too large it could overflow this memory. This stops one doing a trick like having the shared header contain a full JPEG image with the mipmap data being a chunk of 0 bytes long. I do not know the exact size limit on the JPEG header, but I assumed it to be what Blizzard's BLPs used since it would make sense that they optimised the memory allocation for their own files and all files had exactly the same header length.

That said my knowledge of the exact format of the JPEG images used was quite limited. Although Java's JPEG ImageIO library can easily extract and interpret component channels using a raster, any attempt to decode metadata from the image threw an exception saying it was corrupted. As such I could not do something like look up the compression ratio used, and instead had to rely on what BLPLab and other tools reported the images were using.

What do you do differently for encoding between with and without alpha? As that might be one of the aspects that breaks compatibility with other BLP implementations.
which cannot properly load the BLP provided by @RvzerBro, by the way
Out of interest, in what way does it not load properly? Failed to load texture? Corrupted? Largest mipmap levels skipped?
 
I have two JPEG encoding modes depending on the presence of an alpha channel. Try opening this texture.
I can open that one as well. My library only returns the raw pixel data to give the user the freedom to choose an imaging library. I currently don't expose the amount of channels (3 for bgr and 4 for bgra), although you can easily calculate this based on the width, height, and amount of pixel bytes.
 
in what way does it not load properly?
It appeared to be mostly black and white instead of colored, and the aspect ratio had changed, squishing it in the horizontal dimension. Due to the squish, there was additional empty blackness shown to the right-hand side of the texture.

However, my computer had no internet, and patch 2.0.3 or whatever was not launching, so I used 1.32.10 instead. The visual result was also the same on 1.29, so I assumed it would be the same on 2.0.X.
 
When encoding without an alpha channel, I use three bytes per pixel.
Do you have examples of this made by Blizzard? Since analysis I did on old (before work for Reforged) versions of Warcraft III showed that all JPEG content BLPs used 4 channel JPEG images, even if the texture was set to have no alpha. Further more models using these textures would still use the alpha channel data even if the texture was set to have no alpha, with there being at least 1 official texture where this happened.

I recall something like opaque being a value of 255? So using a texture without the alpha channel resulted in a texture that would load completely transparent (invisible) on models that use alpha because it would use an alpha channel of all 0 values (transparent). Or some similar issue to that.

Based on this I came to the conclusion that the BLP JPEG images must always be 4 channel BGRA irrespective of what is set for alpha.

This would certainly explain some incompatibility issues. Although for my code I thought I added logic to also default (all 0) missing channels to match Warcraft III.
 
Last edited:
Hello,
So I load my Warcraft 3 from the Setup screen, no problem.
But when I click "OK", I get the following error:

Unknown error occurred:
java.lang.RuntimeException: CASC parser error for: war3.w3mod\filealiases.json
at com.hiveworkshop.wc3.gui.datachooser.CascDataSource.internalGetResourceAsStream(CascDataSource.java:109)
at com.hiveworkshop.wc3.gui.datachooser.CascDataSource.getResourceAsStream(CascDataSource.java:88)
at com.hiveworkshop.wc3.gui.datachooser.CascDataSource.<init>(CascDataSource.java:44)
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.MainFrame$1.run(MainFrame.java:400)
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$PathResult.readFile(VirtualFileSystem.java:175)
at com.hiveworkshop.blizzard.casc.io.WarcraftIIICASC$FileSystem.readFileData(WarcraftIIICASC.java:123)
at com.hiveworkshop.wc3.gui.datachooser.CascDataSource.internalGetResourceAsStream(CascDataSource.java:99)
... 19 more

Is it because the software is not up-to-date with the latest Warcraft 3? I'd like to use this software when possible! Thanks
 
Is it because the software is not up-to-date with the latest Warcraft 3? I'd like to use this software when possible! Thanks
Sounded to me like it is more random than that. It might work on my computer but not yours, more or less randomly.

Somebody with the same problem posted a fix on GitHub. If I do a new release to Hive soon, it should pull in their change and resolve the issue, I believe.
 
Sounded to me like it is more random than that. It might work on my computer but not yours, more or less randomly.

Somebody with the same problem posted a fix on GitHub. If I do a new release to Hive soon, it should pull in their change and resolve the issue, I believe.
Awesome! Thank you for the reply.
Does that mean I should download the lastest commit from GitHub? Would it might work? Or should I wait until you do the next release to Hive?
Thank you again :)
 
Hey is there another way to export WC3 models into Unreal Engine 5? I've tried everything, and I feel Retera Model Studio is the only reliable solution.
Sorry for the impatience! I've been checking this forum every day now :grin: I'm really excited to get this going again :)!
 
Does that mean I should download the lastest commit from GitHub? Would it might work? Or should I wait until you do the next release to Hive?
Both of these should be possible. Best of luck, feel free to report any issues here!

Hey is there another way to export WC3 models into Unreal Engine 5?
Instead of this, I exported to a LibGDX / flowtsohg hybrid. This seemed easier for me. It prevented me from needing to invent a translation layer to fbx.

MDX is poorly documented, so tools that convert it to fbx might be hit or miss. If I were you and I was going to port the MDX files to FBX or a similar format, what I would do is to probably write my own software to do the conversion, and then convert all files in the game myself. Then I don't have to "hope" that other people's converters are good. But that's really time consuming and would draw on my experiences with MDX rather than on a good guide, which is maybe lacking versus what should be. Some folks have tried to write documentations, maybe better ones have been made since last I checked.
 
Same here 😭
I tried Downloading 1.31.1 on my other computer and tried the latest RMS 4.6b and it's not working. But i tried downloading the older versions of RMS 0.04.2020.08 and it's work on my other computer with the 1.31.1 version.

Edit: Now I tested out the Older Versions of RMS on my Laptop and tried it on Latest Version of Warcraft, it's still not working and also tried the 1.31.1 on the Older RMS and now it's working. The saddest part is i can't open Reforged Doodads Models because of 1.31.1 has no Reforged Files :angry:
 
Last edited:
Please update :sad:
I've been trying everything to convert mdx/mdl Warcraft 3 assets into fbx/obj.
I'm currently installing 3ds max 2022 to see if Warcraft 3 Reforged Art Tools will do the job.
If there's any reliable way to convert Warcraft 3 models to OBJ (even if the character animations dont work), please let me know! I'd 100% greatly appreciate it :cute:
 
Hello,
So I load my Warcraft 3 from the Setup screen, no problem.
But when I click "OK", I get the following error:

Unknown error occurred:
java.lang.RuntimeException: CASC parser error for: war3.w3mod\filealiases.json
at com.hiveworkshop.wc3.gui.datachooser.CascDataSource.internalGetResourceAsStream(CascDataSource.java:109)
at com.hiveworkshop.wc3.gui.datachooser.CascDataSource.getResourceAsStream(CascDataSource.java:88)
at com.hiveworkshop.wc3.gui.datachooser.CascDataSource.<init>(CascDataSource.java:44)
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.MainFrame$1.run(MainFrame.java:400)
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$PathResult.readFile(VirtualFileSystem.java:175)
at com.hiveworkshop.blizzard.casc.io.WarcraftIIICASC$FileSystem.readFileData(WarcraftIIICASC.java:123)
at com.hiveworkshop.wc3.gui.datachooser.CascDataSource.internalGetResourceAsStream(CascDataSource.java:99)
... 19 more

Is it because the software is not up-to-date with the latest Warcraft 3? I'd like to use this software when possible! Thanks
I tried Downloading 1.31.1 on my other computer and tried the latest RMS 4.6b and it's not working. But i tried downloading the older versions of RMS 0.04.2020.08 and it's work on my other computer with the 1.31.1 version.

Edit: Now I tested out the Older Versions of RMS on my Laptop and tried it on Latest Version of Warcraft, it's still not working and also tried the 1.31.1 on the Older RMS and now it's working. The saddest part is i can't open Reforged Doodads Models because of 1.31.1 has no Reforged Files :angry:
Delete the Warcraft 3 Reforged game and reinstall it on your computer, then reopen the RMS program. I am 99% sure that this will solve the issue and the RMS program will work.
 
Back
Top