Jump to content

Home

Some Concepts on how to Compile Heads


Recommended Posts

* Click HERE for original thread *

 

Well, here it is. I would just like you guys to know that I gave about 80% effort when making this... at least for the first half, then it dropped to 20% for the last half.

 

Up until recently, animated models have been really hard to work with in general. My other meshing tutorial demonstrated a certainly brute force method of meshing models. Taina's replacer has helped with editing models, though let's admit: it is pretty limited in the sense that you're only moving vertices, and you can't actually add geometry.

 

Then came along settoken (or is it miro42?) Either way, one of those guys discovered that hex editing certain values after adding geometry will put the head in the proper place and have it properly animated. Unfortunately, the process seemed to be greatly limited and the outcome varied from head to head.

 

But this changes now.

 

Few things you're going to need:

 

 

MdlOps

3DsMax (with NWmax plug-in)

A Hex Editing program. Google is your friend.

 

Okay, if all else fails, try Hex Editor Neo

 

 

For the sake of my sanity, I'm going to assume you have a moderate competence in modeling. If not, you really shouldn't be attempting this tutorial quite yet. Also for the sake of sanity, I'm going to refrain from using screenshots because I'm above all things, lazy.

 

 

I'm just going to assume that you have everything prepared and ready to go. All you need is the correct way to export and compile stuff.

 

First off export your model. Yay, that's easy.

 

 

Now, before you compile this in mdlops, I want to introduce to you a new concept, which I like to call...

 

 

The SuperModel Compile!

 

Basically, all you have to do is open your ascii file, and look to see which supermodel it uses.

 

It should say something like:

 

setsupermodel N_BastNewH S_Female03

 

 

S_female03 is what we're looking for. You need to extract s_female03.mdl and s_female03.mdx from Kotor Tool.

 

SAnd since mdlops usually requires you to provide the original model to recompile new models... well, guess what? All you have to do is rename the s_female03 files to match the aurorabase of your ascii file.

 

For instance, in this case I would have: N_BastnewH.mdl and N_BastnewH.mdx (formerly s_female03) and then the ascii which I'm

 

going to recompile (n_BastnewH-ascii)

 

Then, recompile it with mdlope. This is the SuperModel Compile.

 

For merging body models, this generally works all the time. Head models require an extra step which I like to call...

 

The Hex Edit!

UPDATE:

I have made a tool that will do this automatically for you.

It does require JRE (Java Runtime Environment) to run, but so do a few other KotOR tools.

Download thread is here

 

As stated above, you will need to acquire a Hex Editing program. Remember that Google is your friend. Hex Editor Neo is the one I'll show you how to use.

 

 

You're going to want to open your compiled mdl in said hex editing program. If you got a good program, it should have a Go To function (the window is oftentimes brought up by Ctrl + G) and a Find function (Ctrl + F).

 

Use the Find Function to search for "16 00 16 00" (If there is an option to search for Hex Values, use that.) It should bring you to the first occurrence of those values and that's exactly what we want.

 

Show spoiler
(hidden content - requires Javascript to show)
Vm3RV.jpg

 

If we look at the address of the data, it should say 0x000008e1 - and that data will be displayed somewhere on the main screen, or maybe on a side toolbar... who knows? Anyways, you're going to need to make a pointer to that address in order for this to work.

 

Show spoiler
(hidden content - requires Javascript to show)
frBz2.jpg

 

To do that, just flip the values in pairs of two. If your address ends in 08e1, then it's pointer will be e108. Remember this value, write it down somewhere.

 

Next, use the Go To Function and type in 0b4. There should be two byes there surrounded by lots of 00s and whatnot. Replace those

 

Show spoiler
(hidden content - requires Javascript to show)
pkHZU.jpg

 

two bytes with your pointer from the last step. For instance, I would be replacing 99 02 with e1 08. Save your file. All you have to do is try it in-game.

 

Show spoiler
(hidden content - requires Javascript to show)
XecRT.jpg

 

PDaTa.jpg

 

So yeah, there is my half-hearted tutorial on how to correctly compile heads.

Link to comment
Share on other sites

Archived

This topic is now archived and is closed to further replies.

×
×
  • Create New...