Ugh, I have Half-Life, and I know the format already, so heres an explanation:
Each texture is held in a different 8-bit (256-color) .BMP files.
All animations and models are contained in a .SMD file. The SMD contains either the mesh or an animation, the mesh is called a Reference SMD.
So, the reference contains the model and skeleton, the rest the skeletal animations. Simple.
The final model file (.mdl) is compiled using a .QC script.
We can decompile the model using Jed's Half-Life Model Viewer, I have it installed from my Cry of Fear work. (It's a GoldSrc mod.)
The voriguant models are islave.mdl, islave01.mdl, and islave02.mdl.
I copy all three to my categorized folder, I have the decompiling tools already set up, so I decompile. Now, let's take a look at the .QC compile file in Notepad++.
It's a bit overwhelming, so let's break this down:
Reference SMDs
Code: Select all
//reference mesh(es)
$body "studio" "ps2_slave_reference"
$body "studio" "ps2_slave_collar_reference"
"studio" is the model's body name. The SMDs have a ps2_ prefix because they are the Gearbox HD models ported from PS2. Notice there are no file extentions present, it automatically assumes them.
Animations (Trimmmed, I assume you are using him as 106 or the MTF, but I have trimmed to the ones 106 would use.)
Code: Select all
// 30 animation sequence(s)
$sequence "idle1" "idle1" fps 15 loop ACT_IDLE 1
$sequence "idle2" "idle2" fps 15 loop ACT_IDLE 2
$sequence "idle3" "idle3" fps 15 loop ACT_IDLE 8
$sequence "walk1" "walk1" LX fps 15 loop ACT_WALK 1
$sequence "grab" "grab" fps 20
$sequence "jibber" "jibber" fps 30 loop { event 1008 19 "aslave/slv_word5.wav" } { event 1008 52 "aslave/slv_word7.wav" }
$sequence "jabber" "jabber" fps 30 loop { event 1008 9 "aslave/slv_word3.wav" } { event 1008 39 "aslave/slv_word4.wav" }
The first one is the name of the animation in-model, the second the literal .SMD file it comes from. But what's this on the last two?
They are saving those .WAV files on the 3rd number, so the jibber animations would play slv_word5.wav on the 19th frame of the animation.
I have no more comp-time left, so I suppose you'll have to do with
this. fragMOTION can import Half-Life files. Use Merge Animation with another SMD
to get all the animations, then export to .B3D as said in Miro's guide. Goodluck.
Oh, and CL, Blitz3D can have multiple textures per model. You just have to make Blitz3D load more files. And convert them to .jpg or .png format.
[EDIT]
HURRAH! I HAVE 1337 POSTS!