hsli Posted June 11, 2010 Share Posted June 11, 2010 The reason I wrote this is because I can't find a single tutorial that describes how to put a new armor into the game. There are multiple ones that describes the various processes and I just want to aggregate them here. The specific thing I added here is how to edit mmh file in a hex editor to refer to the new mao file. Thanks all the authors and modders to contribute to the modding community. This short tutorial assumes the readers already have some basic knowledge about modeling and knows how to use Blender. Tools: Dragon Blender/Blender import-export script (http://www.dragonagenexus.com/downloads/file.php?id=268) DATool (http://social.bioware.com/project/41/) Blender HEX editor (There are lots of them. I use XVI32, http://www.chmaas.handshake.de/delphi/freeware/xvi32/xvi32.htm ) Dragon Age Toolset 1. Understanding the references between various files related to modeling You can find a detail explanation in DA builder wiki, but here's a simplified view msh: the actual model meshes and bone weight mmh: describes the skeleton and the materials (mao) used by msh phy: describes the physics of the model, seems to be about collision etc. mao: describes the materials, references to the texture maps dds: the actual texture maps 2. Now extract a model using DATool. You'll get all the five types of files listed in 1. For example, if you extract the elf female apprentice robe b, you'll get the following files ef_rob_app_0.msh ef_rob_appb_0.mmh ef_rob_appb_0.phy ef_rob_appb.mao pf_rob_appb_0d.dds pf_rob_appb_0s.dds pf_rob_appb_0n.dds pf_rob_appb_0t.dds I usually move all the files into a new folder called "source", copy all the files to another folder called "target", and edit the files in the "target" folder, so in case you want to undo anything, you can always get the original files from the "source" folder. 3. Rename all your files in the target folder to the followings: ef_hsl_app_0.msh ef_hsl_appb_0.mmh ef_hsl_appb_0.phy ef_hsl_appb.mao pf_hsl_appb_0d.dds pf_hsl_appb_0s.dds pf_hsl_appb_0n.dds pf_hsl_appb_0t.dds Obviously, you can change "hsl" to anything you prefer, but keep it at three letters, which will become important later on. 3. You can then import ef_hsl_app_0.msh through Dragonblender and make whatever modification you want. You can also change the UV map to fit on existing textures or, if you combine other mesh files, you can mix/match their textures by this tutorial. Before you are done, delete all the vertex groups in the new model and use Bone Weight Copy Script to import the bone weight from the original mesh following this tutorial. Replace the original with your new model. If needed, you can then modified the texture files. See the above tutorial. Be sure the UV mapping is correct. 4. Now modify mmh, msh, and phy files to point to the right files instead of the original ones. For the most part, you can just use the GFF editor and Dragon Age Toolset to perform the task. Open mmh, msh, and phy files in the toolset and change any reference about ef_rob_* to ef_hsl_* There are two cells in the mmh file, and one each in the msh and phy files that need to be changed. Because mmh file is actually a processed mmh.xml file, there is one reference to the mao file in the binary form residing in the mmh file, which also needs to be changed. Open the mmh file in a HEX editor, enter "r o b" in the text search cell, press TEXT -> HEX, and you'll get "72 20 6F 20 62". However, the spaces in the text are NOT Space characters (HEX = 20) but empty characters (HEX = 00), so change "20"s to "00"s, and the HEX search field will be "72 00 6F 00 62". There could be multiple entries, but you need to find one within the phrase that looks like this in the text panel (right panel): "p f _ r o b _ a p p b" (with spaces between each character). This is the reference to the mao file. Since you rename the mao file to pf_hsl_appb.mao, so change the "r o b" into "h s l", or whatever that your mao file is called. Just change the characters and NOT the spaces. Of course, if you are working with other armors, you should search for the right text like "a r m" or "c t h" etc. Sometimes, they are in capital letters instead of lower cases, so change the case if you can't find the text in the mmh file. 5. Modify the mao file to point to the right texture maps. It is just a text file so open it with any text editor will work. <?xml version="1.0" encoding="UTF-8" standalone="yes"?> <!-- Exported by Material Editor --><!-- dc:source=file:///C:/BioWareDrive/DragonAge/SourceControl/ArtContent/Art/Characters/MATERIAL_PROJECTS/ROB_APP.matproj --><MaterialObject Name="PF_ROB_APPb"> <Material Name="Character.mat"></Material> <DefaultSemantic Name="ArmourSkinTint"></DefaultSemantic> <Texture Name="mml_tDiffuse" ResName="pf_rob_appb_0d.dds"></Texture> <Texture Name="mml_tNormalMap" ResName="pf_rob_appb_0n.dds"></Texture> <Texture Name="mml_tSpecularMask" ResName="pf_rob_appb_0s.dds"></Texture> <Texture Name="mml_tTintMask" ResName="pf_rob_appb_0t.dds"></Texture> <Vector4f Name="mml_vFalloffParams" value="0.80 10.00 1.50 1.50"></Vector4f> <Float Name="mml_fSpecularReflectionMult" value="1.00"></Float> </MaterialObject> Change all the references from pf_rob_* to pf_hsl_*. 6. Drop the "target" folder in the DA override folder. Open the toolset and INSERT--> NEW MODEL then select "ef_hsl_appb" from the list. If you can see the model in the right texture, congratulation! 7. If you want to use the model in the game or the toolset, you still need to generate a gda file by following the gda editing part in this article. 8. To construct a new module and put the new item in the player's hand, use this article. 9. Happy modding! Link to comment Share on other sites More sharing options...
Recommended Posts