Retera Model Studio Reforged Hack

Retera

Hosted Project: WME
Level 38
Joined
Apr 19, 2008
Messages
1,352
You can also right click and export a texture from the data browser in Retera Model Studio, which uses JCASC by DrSuperGood to load the game data in a way that is similar to CASCView. It's less powerful than CASCView but if it can be good for a quick shortcut to save time if you're already model browsing.
 
Level 9
Joined
Mar 13, 2020
Messages
321
You can also right click and export a texture from the data browser in Retera Model Studio, which uses JCASC by DrSuperGood to load the game data in a way that is similar to CASCView. It's less powerful than CASCView but if it can be good for a quick shortcut to save time if you're already model browsing.

i will try this first.. and look if it works for me
 
Level 1
Joined
Oct 25, 2020
Messages
2
Hey, bro, help me pls...
I need to convert mdx into Obj
How to do it?
upload_2020-10-25_17-49-47.png

You can also right click and export a texture from the data browser in Retera Model Studio, which uses JCASC by DrSuperGood to load the game data in a way that is similar to CASCView. It's less powerful than CASCView but if it can be good for a quick shortcut to save time if you're already model browsing.
 
Level 9
Joined
May 19, 2020
Messages
280
Hey, bro, help me pls... I need to convert mdx into Obj How to do it?
View attachment 366854
@aldreen
In Reteras M.S, on the "Script" tab, convert your .mdx to classic (HD -> SD), then using the program Milkshape 3D, import by choosing the option "WCIII MDX"... Export as "Wavefront .OBJ"...


@Retera In Retera's, accessing the modeling tab ... using the "F" function to trigger the frame animations, there are problems with rotating the "nodes", after right-clicking on a given node to insert a rotation by specific numeric value, creates an error window.
Not being inconvenient or rushed with future corrections. Do you have a forecast for a possible update patch to correct the rotations by specific values?
Because to edit certain animations, it is important to use angle rotation in exact numerical values in each frame (as it exists in MdlVis). After all, manual rotation without precision with the values, brings us imperfections and lack of synchronism. Thank you for all your dedication!
EDIT:As with the example with MdlVis of rotation in digit:
upload_2020-10-30_12-19-25.png
 
Last edited:
Level 5
Joined
Oct 27, 2020
Messages
18
Hey, this tool is godlike. Retera, would you include a plugin that will rip all external games such as World of Warcraft? Because the jm2 converter and the long-method of exporting porting the models take too much time. But if you could have an extra tool like batch convert m2, obj, wmo to mdx would be nice add-on.

thanks Retera, salutes.
 
Level 10
Joined
Feb 25, 2013
Messages
113
Mostly per MDX Specifications, there are a couple of very interesting additions to the format version 1000, but some of them are HD-mode specific. First of all most of these are also present in v900 but there is no need for an end-user to make a distinction about that.
There are: emissive capabilities, fresnel, level of detail although that might be broken atm, tangents, bone weights, facial animation and more;
(explicitly for the HD shader) normal, ORM, emissive, refective map and, using ORM, the ability to have both real transparency and team colour on the same geoset
 
Level 18
Joined
Jul 12, 2010
Messages
1,647
Damn what a find! I was looking for a way to somehow access reforged models and today I came upon this gem! :D

not sure if most people know this but you can see hidden animations not view-able in WE:
upload_2020-12-28_2-1-40.png

Also did some quick UV Mapping:
upload_2020-12-28_2-4-7.png
(ignore the first one it sucks lol)

Keep up the good work man! :thumbs_up:
 

Retera

Hosted Project: WME
Level 38
Joined
Apr 19, 2008
Messages
1,352
If you get the version from the tools section it is ahead of the one on this thread for now.

Retera's Model Studio

A version 0.05 is in the works. The community users are doing more with the codebase than I am, so I have been merging pull requests to the source branch "conflictfixes" that uses a different Java version and has a bunch of internal design changes. Getting a releasable build on it is way, although there other others who may deserve more credit for the ongoing progress of the tool than I do.
 
Level 9
Joined
May 19, 2020
Messages
280
does anybody know how to delete/rename animations for reforgedmodels.. or if its possible with reteras model studio? i dont get it
Yes, you manipulate HD-Reforged or even SD-Classics models using the powerful Retera M.S.
Download the most up-to-date version of RMS here:
Retera's Model Studio
Open the model in the program and in the "Scripts" tab you can, within the "Edit / Delete Model Components" option, do almost anything you can imagine, such as removing unwanted animations.
And then... In the "Animations" tab, uncheck the "confirmation boxes" of the animations that don't interest you, leaving only the ones you want to keep checked, and then just finish the process and wait a few moments until the animations disappear in your window "View".
upload_2021-3-4_13-59-33.png

In the main windows, passing through "View" and "Edit ", you find the last of the main windows, which makes reference to materials and animations. It is not yet very up to date, but it already contains some fields that work well, as in this case, to rename the animation according to your preference. There are several ways to rename, including editing the HD model in .MDL format, but.. In this window, you can rename faster and more conveniently.
 
Last edited:
Level 9
Joined
Mar 13, 2020
Messages
321
Yes, you manipulate HD-Reforged or even SD-Classics models using the powerful Retera M.S.
Download the most up-to-date version of RMS here:
Retera's Model Studio
Open the model in the program and in the "Scripts" tab you can, within the "Edit / Delete Model Components" option, do almost anything you can imagine, such as removing unwanted animations.
And then... In the "Animations" tab, uncheck the "confirmation boxes" of the animations that don't interest you, leaving only the ones you want to keep checked, and then just finish the process and wait a few moments until the animations disappear in your window "View".
View attachment 374814
In the main windows, passing through "View" and "Edit ", you find the last of the main windows, which makes reference to materials and animations. It is not yet very up to date, but it already contains some fields that work well, as in this case, to rename the animation according to your preference. There are several ways to rename, including editing the HD model in .MDL format, but.. In this window, you can rename faster and more conveniently.

ok the last time I pressed on this option I got a error.. I will check this out thx sebiol
 
Level 1
Joined
Jul 20, 2021
Messages
2
Help. I have this error when i try to select war3 folder:
  • 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:22)
    at com.hiveworkshop.wc3.mpq.MpqCodebase.<init>(MpqCodebase.java:34)
    at com.hiveworkshop.wc3.mpq.MpqCodebase.get(MpqCodebase.java:181)
    at com.matrixeater.src.MainFrame$1.run(MainFrame.java:296)
    at java.awt.event.InvocationEvent.dispatch(Unknown Source)
    at java.awt.EventQueue.dispatchEventImpl(Unknown Source)
    at java.awt.EventQueue.access$400(Unknown Source)
    at java.awt.EventQueue$3.run(Unknown Source)
    at java.awt.EventQueue$3.run(Unknown Source)
    at java.security.AccessController.doPrivileged(Native Method)
    at java.security.ProtectionDomain$1.doIntersectionPrivilege(Unknown Source)
    at java.awt.EventQueue.dispatchEvent(Unknown Source)
    at java.awt.EventDispatchThread.pumpOneEventForFilters(Unknown Source)
    at java.awt.EventDispatchThread.pumpEventsForFilter(Unknown Source)
    at java.awt.EventDispatchThread.pumpEventsForHierarchy(Unknown Source)
    at java.awt.EventDispatchThread.pumpEvents(Unknown Source)
    at java.awt.EventDispatchThread.pumpEvents(Unknown Source)
    at java.awt.EventDispatchThread.run(Unknown Source)
    Caused by: com.hiveworkshop.blizzard.casc.nio.MalformedCASCStructureException: inconsistent size
    at com.hiveworkshop.blizzard.casc.vfs.VirtualFileSystem$PathResult.readFile(VirtualFileSystem.java:171)
    at com.hiveworkshop.blizzard.casc.io.WarcraftIIICASC$FileSystem.readFileData(WarcraftIIICASC.java:123)
    at com.hiveworkshop.wc3.gui.datachooser.CascDataSource.internalGetResourceAsStream(CascDataSource.java:99)
    ... 20 more
 

Attachments

  • Retera Model Studio_ Setup 20.07.2021 16_16_19.png
    Retera Model Studio_ Setup 20.07.2021 16_16_19.png
    98.6 KB · Views: 31
  • Message 20.07.2021 16_14_52.png
    Message 20.07.2021 16_14_52.png
    81.9 KB · Views: 19

Dr Super Good

Spell Reviewer
Level 59
Joined
Jan 18, 2005
Messages
26,641
Is there a version of JCASC that allows both old and new TVFS formats or is the new one not intended to work with for example 1.31.1?
Sadly to open older WC3 local CASC storage you need to use an older version of JCASC. The way Blizzard changed the TVFS file format was such that it is not possible to support both at the same time, at least in a way that is sensible. There is no version field that was incremented that can be used to control conditional logic and a new field was inserted in the middle of a data structure causing all subsequent members of the data structure to be populated by mal-aligned, garbage, data.

The only reason CascView kept working was because it performs very little data verification so the garbage data from the change in the binary format had no impact. In the case of JCASC it corrupted one of the size fields which caused it to no longer be consistent with another size field containing the same data. Since such a case is logically nonsense it throws an exception.
 

Dr Super Good

Spell Reviewer
Level 59
Joined
Jan 18, 2005
Messages
26,641
At the expense of probably sounding overkill, could you instead have conditional logic connected to the .build.info or product.db? Or maybe require user to specify whether they want to use the old or new verification and then RMS can be required to deduce on its own?
This would require spaghetti coupling the logic for parsing one part of TVFS files with parsing of other files, or adding a hacky parameter that has to be passed around just for that one case.
 
Top