The original guide by a63nt lacked crucial information like which version of max to install and also didn’t mention the dow properties browser.
Install the mod tools folder
Download: https://www.mediafir...etup_v1.7z/file
Extract the mod tools folder, my_mod folder and pipeline.ini to C:\Program Files (x86)\THQ\Dawn of War - Dark Crusade
Note that the dark crusade folder must be in \Program Files (x86)\THQ\ or the 3ds max plugins will not work!!!
Installing 3ds max 2008
3ds max 2008 is no longer sold or supported by autodesk.
Download: http://www.mediafire...x32_Install.exe
Disclaimer: I believe this to be abandonware, no copyright infringement intended.
Mount disk 1
run setup.exe
click install products
click next twice
On the products to install page uncheck everything except “Autodesk 3ds Max 2008 32-bit” (its the first one). The 64-bit version will not work with our plugins so don’t bother installing it.
accept the license agreement
when it asks for your name and organization just type “user” in all three
click install
if you did it right 3dsmax will now be in C:\Program Files (x86)\Autodesk\3ds Max 2008
Download santos tools 0.4 from https://www.moddb.co...usade-mod-tools
Copy the 'scripts', 'UI' and 'help' folders from that archive into
C:\Program Files (x86)\Autodesk\3ds Max 2008
You would then copy these folders 'plugins', 'scripts', 'ui' & Dxtc.dll, libguide40.dll, msvcp71.dll & msvcr71.dll from
C:\Program Files (x86)\THQ\Dawn of War - Dark Crusade\ModTools\3dsmax
into
C:\Program Files (x86)\Autodesk\3ds Max 2008
Copy: Custom Tools-DoWPropertiesBrowser
into
C:\Program Files (x86)\Autodesk\3ds Max 2008\ui\macroscripts
Configuring 3dsmax
launch 3dsmax
right click the top toolbar and click customize
in the new window scroll down to the dow properties browser, drag it to the main toolbar
Preference, one viewport default: right click perspective in the viewport, click configure, layout, single viewport, rightclick and choose perspective
Using 3dsmax
controls
hold scroll wheel to pan
hold alt+scroll to rotate
z will center the camera on selected object
spacebar to lock/unlock selection
bottom rightmost button to maximize viewport
Essential Programs, Plug-ins, Tools & Downloads
IBBoard's Texture Tool (to convert .RSH files to .DDS & .TGA).
dawnofwarunsga_v1.0 (to unpack the games .sga files)
https://www.mediafir...etup_v1.7z/file
Folder Structure & Folders you will be using the most
These are the three folder structures that you will probably be most concerned with while using 3ds max and the object editor. The modtools setup file linked above includes these so you don't have to create them yourself.
IMPORTANT! These paths are required by the 3ds max plugins, so putting the modtools folder in your steam directory will prevent max from exporting.
C:\Program Files (x86)\THQ\Dawn of War - Dark Crusade\ModTools\DataGeneric\My_Mod\art\ebps\races\*race name*\troops
C:\Program Files (x86)\THQ\Dawn of War - Dark Crusade\ModTools\DataSrc\My_Mod\art\ebps\races\*race name*\troops
C:\Program Files (x86)\THQ\Dawn of War - Dark Crusade\My_Mod\Data\art\ebps\races\*race name*\troops
.SGA Extraction
Here you would extract (using dawnofwarunsga.exe) the games .sga archive/archives which contain the models of the units.
I'll use the Dark Crusade archives as example here to give you an idea of what you are required to do.
Open dawnofwarunsga.exe (a box should appear with 'Path:' & 'Save to:' boxes in it)
Click on the '[...]' box to the right of 'Path:' (a new box will appear)
Navigate to:
C:\Program Files (x86)\THQ\Dawn of War - Dark Crusade\DXP2
& '[Open]' 'DXP2Data-Whm-High.sga'
Now select the '[...]' box right of 'Save to:' & navigate to your Desktop (You can extract the archives to wherever you want, Desktop works for me).
***Warning***:If you use the default 'Save to:' path in dawnofwarunsga.exe this will mean the game will look to your extracted version of the .sga archive rather than the archive itself & any changes to the extracted files will change your default game & possibly break online play!
hit '[OK]' & then '[Extract]' (the chosen archive is then extracted to your chosen location).
Repeat this process for 'DXP2Data-SharedTextures-Full.sga' & any other archives you wish to extract.
Basically the ????Data-Whm-High/Med/Low.sga's contain the meshes & the ????Data-SharedTextures-Full.sga contain the textures.
Note: You will find all the archives for meshes & textures you have in the 'W40k', 'WXP' & 'DXP2' folders within the main game directory of the game/games you have installed.
Next go into
Desktop (*or wherever you extracted them to)\__DXP2Data-SharedTextures-Full.sga\data\art\ebps\races\*race name*\
& copy the 'texture_share' folder of the race/races you are modding to:
C:\Program Files (x86)\THQ\Dawn of War - Dark Crusade\ModTools\DataSrc\My_Mod\art\ebps\races\*race name*
Why? This is where 3DS MAX will look for the textures when you import the models mesh into MAX later on.
Also now is a good time to put all of the xxx-Whm-High.sga troops folders that you extracted to you Desktop (or wherever you put them) in their respective race folders in 'DataScr'.
ie. The 'space_marines' 'troops' folder would go in:
C:\Program Files (x86)\THQ\Dawn of War - Dark Crusade\ModTools\DataSrc\My_Mod\art\ebps\races\space_marines
I do this really just for my own benefit & clarity of thought (& to keep my Desktop clean). I find it makes it a lot easier to work out what I am doing if I keep everything I am going to be altering in one place & everything I have altered in another. I've seen people putting them in:
C:\Program Files (x86)\THQ\Dawn of War - Dark Crusade\My_Mod\Data\Art\EBPs\races\space_marines
I don't like doing that as this is where all the finished models will end up & it's a lot easier to see what you are doing when only the new models appear in this file structure. Also if you intend on releasing your mod you won't have to go through the hassle of removing files to try & keep the overall file size of the mod to a reasonable level.
Converting .RSH Texture files to .DDS & then .TGA
At this point it's a good idea to use IBBoards Texture Tool to convert the .RSH files in the 'texture_share' folder you moved from your extracted __????Data-SharedTextures-Full/Med/Low.sga to:
C:\Program Files (x86)\THQ\Dawn of War - Dark Crusade\ModTools\DataSrc\My_Mod\art\ebps\races\*race name*
into first .DDS & then .TGA format by extracting them.
Why? The textures need to be converted to .TGA for 3DS MAX to be able to use them. If 3DS can't find textures when you import a .WHM it will show you the file structure it requires, create the file structure & convert needed .RSH>.DDS>.TGA files (usually in the texture_share folder of that file structure).
Open IBBoards Texture Tool>select '[Extract RSH]'> & navigate to:
C:\Program Files (x86)\THQ\Dawn of War - Dark Crusade\ModTools\DataSrc\My_Mod\art\ebps\races\*race name*\texture_share
The best way to do this is to press control+a to select all of the .RSH files you have in this texture_share folder, then click '[Open]'. they should now all be extracted as .dds files in the same folder as the original files. Next hit '[DDS->TGA]' (Note: You have to be in '[Advanced Mode]' ('[Edit]'> '[Advanced Mode]') to see the [DDS->TGA] button), select all the files again & hit '[Open]' (Note: Sometimes the newly created .DDS file is of a differing name to the original .RSH) to convert them to .TGA format.
Step 01: Using 'WHE Convert' to create a .ebp file
Open 3DS MAX 8, go to the [Utilities tab] (a hammer symbol, usually top right. See pic below for more detail)
Click on the [Hammer Icon] & select >'[MAXScript]'> & then '[WHE Convert]' from the drop down box.
The WHE Convert box should then open below this. Then '[Set Output Dir]' to
C:\Program Files (x86)\THQ\Dawn of War - Dark Crusade\ModTools\DataGeneric\My_Mod\Art\EBPs\races\
Now select '[Convert WHE]' & choose a .WHE file from:
C:\Program Files (x86)\THQ\Dawn of War - Dark Crusade\ModTools\DataSrc\My_Mod\art\ebps\races\*race name*\troops
Upon hitting '[Open]' the window should close & you will me given the message 'Conversion successful!'. Navigate to the Set Output Directory (...ModTools\DataGeneric\My_Mod\Art\EBPs\races\) & change the name of the .ebp file you just created to the name of the eventual new model you wish to create.
Now cut and paste the .ebp to the *race name*\troops folder it belongs in.
Note: If you intend to just alter already existing units there is no need to change the name of the .ebp
Step 02 - Using 'WHM Import' to import model to MAX
Now go back to the '[MAXScript]' drop down box & select '[WHM Import]', the WHM import box opens.
'[Set Dawn of War Dir]' as:
C:\Program Files (x86)\THQ\Dawn of War - Dark Crusade
&
'[Set Mod Dir]' as:
C:\Program Files (x86)\THQ\Dawn of War - Dark Crusade\My_Mod
Next hit '[Import WHM]' & select the .whm of the model you wish to mod. 3DS MAX will then ask you to '[Select where to save your file...]'. You navigate to:
C:\Program Files (x86)\THQ\Dawn of War - Dark Crusade\ModTools\DataSrc\My_Mod\Art\EBPs\races\*race name*\troops
& create a folder in the 'troops' folder with the name of your new model.
Example: C:\Program Files (x86)\THQ\Dawn of War - Dark Crusade\ModTools\DataSrc\My_Mod\Art\EBPs\races\space_marines\troops\predator_plasma_cannon
3DS MAX then creates 'ANIMATION' & 'REFERENCE\Ref.max' folders/structure in the folder named *your model name* (ie your *renamed .ebp name*) using the example above both the 'ANIMATION' & 'REFERENCE' folders end up in the 'predator_plasma_cannon' folder).
The model should then appear fully textured in 3DS MAX (as stated previously in the 'Converting .RSH Texture files to .DDS & then .TGA.' section above MAX will let you know at this point if it needs any other textures). You would then (using MAX) alter the model to your liking (another tutorial me thinks). On to...
Optional: Setting 3DS MAX to default to TCB rotation (***Recommended***)
At this point I think it is a good idea to set 3DS MAX 8 so that it uses TCB rotation as it's default. I have encountered ***problems with weapons not pointing straight ahead*** (Land Raider Lascannons actually pointing 30-40 degree's right etc) while sitting in their home position if 3DS MAX has defaulted to Euler XYZ rotation. This is easy enough to fix but is much simpler if you use TCB rotation from the start.
Open 3DS MAX & import any WHM (see Step 03 below), it doesn't matter which model you use, you are not going to be altering this model as such anyway, once imported select a part of the model & then click on the '[Motion]' Tab (2 places left of the '[Utilities]' hammer. Looks like a wheel), open the '[Assign Controller]' tab (in '[Parameters]') & you should see a small box with 'Rotation :' ('Rotation : Euler XYZ' or 'Rotation : TCB Rotation'. Something like that) to the right of it. Note: Even if it says 'Rotation : TCB Rotation' it is still a good idea to do this anyway just to make sure TCB Rotation is the default for all rotations.
Click on the line to highlight it & then click on the little box on the left under '[Assign Controllers]'' (mine has a '?' on it), this will bring up a box where you can set the choice of rotation, select '[TCB Rotation]' & then '[Make Default]' & '[Yes]' to continue.
You can now forget the model you are using & import another safe in the knowlege that your guns will always face the right way.
Step 03: Using 'Warhammer Model Export' to export the model
Once you are finished kitbashing/modding your model within MAX you can export it by selecting 'Utilities' (The Hammer button)>'[MAXScript]'>'[Warhammer Model Export]' (in the drop down menu)>'[Export]'
**Note** always test export a model before making any changes to ensure its compatible with the export tool and the object editor!
This creates a *your model name*.sgm file in
C:\Program Files (x86)\THQ\Dawn of War - Dark Crusade\ModTools\DataGeneric\My_Mod\Art\ebps\races\*race name*\troops
& also the various textures the model uses are exported in .RSH format to:
C:\Program Files (x86)\THQ\Dawn of War - Dark Crusade\My_Mod\Data\Art\EBPs\races\*race name*\texture_share
The same .RSH files also appear in:
C:\Program Files (x86)\THQ\Dawn of War - Dark Crusade\ModTools\DataGeneric\My_Mod\Art\ebps\races\*race name*\texture_share
Note: For some reason the .RSH files that appear in the DataGeneric's texture_share folder don't function in-game (model will be all pink). Just in case this is a universal thing & not just restricted to my set-up, always use the .RSH files from the texture_share folder in:
C:\Program Files (x86)\THQ\Dawn of War - Dark Crusade\My_Mod\Data\Art\EBPs\races\*race name*\texture_share
Error: 'Mesh 'xxxxxxx', vertex 'xxx' has an invalid bone weight! Make sure it is normalized!' Fix
Sometimes when exporting you get an error like 'Mesh 'xxxxxxx', vertex xxx has an invalid bone weight! Make sure it is normalized!' This is easy so fix (if you know how, lol, this one stuck me for quite a while). Make a note of the problem vertices first then click on the mesh it told you had an error ('xxxxxxx'), now go to the '[Modify]' tab (4 left from the Hammer, looks like blue rainbow (see above pic)) & click on '[Skin]', scroll down until you find a box called '[Weight Table]', click on it & find the first of the problem vertices, (make sure there is a 'X' in the 'N' column on the left. This means it is normalized & will be when you hit Enter after altering values) there are usually 3 sets of numbers all adding up to 1, alter one of these values by about 0.002 & hit enter, do this for all the vertices it warned you about in the error dialogue & then save your REF file.
Now go to '[WHM Import]' & click on '[Fix Skin]', select your REF file & get ready to press '[Ok]' more times (protip: hold down the enter key) than you ever have before! lol, it does end, basically it's taking your corrected values from the REF file & correcting them in all the animations files for you (It takes a while but trust me on this one, it's WAY quicker than doing them all manually!). Once you & your finger are done try to export again & hopefully this time it works perfectly! If not try altering a different value column.
Import, export and open a model in the Object editor without making changes to test that its working.
After exporting your model from 3ds max you'll have to use the object editor. The tutorial for that is available here https://forums.revor...ditor-tutorial/
Specs for modelers and animators.
“This "tutorial" is meant for people who have an experience in modeling and texturing, but who never have modeled for DoW and want to know the constraints to be observed to model something for DoW.“
https://web.archive....ead.php?t=89094
Optional
In order to be able view santos tools help inside 3dsmax add following line into plugin.ini file placed in your 3dsmax main directory:
Santos Tools Help=C:\3dsmax7\help\santos_tools.chm
Back to the list of tutorials: https://forums.revor...-for-beginners/
FAQ:
Q: How do VIS files work?
A:
launch 3dsmax
right click the top toolbar and click customize
in the new window scroll down to the dow properties browser, drag it to the main toolbar
Open the dow properties browser(the button looks like a yellow r), then select any mesh and it will tell you if the mesh is invisible in that animation. So if you open an animation like vis_heavy_bolter on a space marine, then select the whole model, dow properties browser should show you that the heavy bolter mesh is the only visible one in that animation file. It should also say that all the bones are stale=yes so the vis file doesn't block other animations from playing.
So go over to OE, and you'll see that vis_heavy_bolter is in a motion, and that motion is in an action called vis_master or something similar. Select vis_master and open action properties on the left, and scroll through the list of vis motions to see what condition enables them. If the motion is "playing" then the weapon is visible, even though theres no keyframes in the vis animation.
You can also group motions together and have the game choose one randomly when the unit spawns. For example:
Create 3 vis animations, each one makes a different head visible.
Then make 3 motions, one for each head.
Then put those in a motion group, and the game will randomize the heads.
Q: When I try to move a child bone, it rotates the parent as well.
How can I avoid this from happening? I want to animate the child independently .
A:
This is driven by a 'bone' property.
To enable/disable this property :
in Max main menu Animation > Bone Tools ...
In the Bone Tools UI > Object Properties
[x] Bone On
with the object(s) selected, un-check the check box.
You must recheck the box before exporting!!!
Edited by Moreartillery, 20 May 2022 - 07:44 AM.