MD4 / DMR - Skeletal models for GZDooM (and ST) ?

Moderator: Graf Zahl

User avatar
Posts: 12
Joined: Tue Dec 25, 2007 23:37

MD4 / DMR - Skeletal models for GZDooM (and ST) ?

Post by ZardoZ » Mon Dec 31, 2007 10:23

I was trying to find the limitations of MD3 format file (i found it), and i find information for a skeletal model format for Q3 that was unfinished by Id and later was finished by others for other uses of Quake 3 engine. It was the MD4 format. The MD4 it's like MD3 but using skeletal animation that give much more powerful and nice animations to any model (see any game of Unreal Tournament series...)

The problem of the MD4 is that never was finished by Id and in Q3 source code, only was part of the MD4 code... When Raven make his game ST: Elite Force (great game :D ), they finished his version of the MD4 format, called DMR. Other games based on Q3 launched his version of MD4 (for example Heavy Metal FAKK2).. For other side, a guy called "Gongo" working over the Q3 source code and which a great search and investigation work, finished a MD4 format....

Actually there the DMR format from Elite Force and Gongo'd MD4 format are open source and usable for other engines like Skulltag or GZdoom or any other SP of DooM or Quake 3 .... So.. my question ... GZDoom will try to implement DMR , MD4 or other skeletal model format ? Think that freedom that can give.. Goodbye to "poor fixed animations" welcome to the freedom of procedural animations that can be auto adapted to the situations, physics (yes this give the key for a future rag doll physics!), and even adapt the animations to the power of the computer were are running.

More info in :
Gongo site :
More info about Gongo's MD4 : ... hlight=md4
Info about DMR for ioQuake 3 : ... iew=markup

User avatar
Posts: 1226
Joined: Sun Sep 25, 2005 1:49
Location: Kuala Lumpur, Malaysia

Post by Nash » Mon Dec 31, 2007 17:24

All of this doesn't really mean much when actors in Doom are frame-based. Trying to implement a skeletal model format into GZDoom would also require a new kind of actor. It just wouldn't work with Doom's actor states.

User avatar
Posts: 12
Joined: Tue Dec 25, 2007 23:37

Post by ZardoZ » Mon Dec 31, 2007 18:54

How works the Doom actor estates and animations ?

User avatar
Azure Agony
Quad Damage of Doom
Posts: 71
Joined: Fri Aug 24, 2007 6:40
Location: Somewhere in HANGAR or E4M7

Post by Azure Agony » Thu Jan 03, 2008 22:06

Models in GZDoom using MD2 and MD3 format (but for animation I think only MD2, cause I can't run MD3 animation and I had errors. Does MD3 animation format run proparly or only MD2 animation model, Graf? MD2 and MD3 static models run properly). At first you have to build and animate model (in any extension) but then you must convert in GZDoom supported model. For example models from Quake 2 (MD2) run fine, you just need to write a code and decorate.

Here is example of my animated model Modeldef:
Path "models"
Model 0 "TRITE.md2"
Skin 0 "TRITE.tga"
Scale 1 1 1

Frame POSS A 0 "frame01" //Walk animation
Frame POSS B 0 "frame05"
Frame POSS C 0 "frame09"
Frame POSS D 0 "frame13"
Frame POSS E 0 "frame17"
Frame POSS F 0 "frame21"
Frame POSS G 0 "frame25"
Frame POSS H 0 "frame29"
Frame POSS I 0 "frame33"
Frame POSS J 0 "frame37"
Frame POSS K 0 "frame41"
Frame POSS L 0 "frame45"
Frame POSS M 0 "frame49"

Frame TROO A 0 "frame80" //Idle anim
Frame TROO B 0 "frame81"
Frame TROO C 0 "frame82"
Frame TROO D 0 "frame83"
Frame TROO E 0 "frame84"
Frame TROO F 0 "frame85"
Frame TROO G 0 "frame86"
Frame TROO H 0 "frame87"
Frame TROO I 0 "frame88"
Frame TROO J 0 "frame89"
Frame TROO K 0 "frame90"
Frame TROO L 0 "frame91"
Frame TROO M 0 "frame92"
Frame TROO N 0 "frame93"
Frame TROO O 0 "frame94"
Frame TROO P 0 "frame95"
Frame TROO Q 0 "frame96"
Frame TROO R 0 "frame97"
Frame TROO S 0 "frame98"
Frame TROO T 0 "frame99"
Frame TROO U 0 "frame100"

Frame BOS2 A 0 "frame131" //Attack animation
Frame BOS2 B 0 "frame133"
Frame BOS2 C 0 "frame135"
Frame BOS2 D 0 "frame138"
Frame BOS2 E 0 "frame140"
Frame BOS2 F 0 "frame143"
Frame BOS2 G 0 "frame147"
Frame BOS2 H 0 "frame149"
Frame BOS2 I 0 "frame154"
Frame BOS2 J 0 "frame156"
Frame BOS2 K 0 "frame157"
Frame BOS2 L 0 "frame159"
Frame BOS2 M 0 "frame160"
Frame BOS2 N 0 "frame164"
Frame BOS2 O 0 "frame166"
Frame BOS2 P 0 "frame168"
Frame BOS2 Q 0 "frame169"
Frame BOS2 R 0 "frame174"
Frame BOS2 S 0 "frame176"
Frame BOS2 T 0 "frame180"
Frame BOS2 U 0 "frame182"
Frame BOS2 V 0 "frame183"
Frame BOS2 W 0 "frame188"
Frame BOS2 X 0 "frame190"
Frame BOS2 Y 0 "frame193"
Frame BOS2 Z 0 "frame195"
Frame CPOS A 0 "frame199"

Frame SPID A 0 "frame201" //Hurt animation
Frame SPID B 0 "frame203"
Frame SPID C 0 "frame206"
Frame SPID D 0 "frame208"
Frame SPID E 0 "frame211"
Frame SPID F 0 "frame212"
Frame SPID G 0 "frame216"
Frame SPID H 0 "frame217"
Frame SPID I 0 "frame218"
Frame SPID J 0 "frame219"

Frame CYBR A 0 "frame131" //Death animation
Frame CYBR B 0 "frame221"
Frame CYBR C 0 "frame222"
Frame CYBR D 0 "frame223"
Frame CYBR E 0 "frame224"
Frame CYBR F 0 "frame225"
Frame CYBR G 0 "frame226"
Frame CYBR H 0 "frame227"
Frame CYBR I 0 "frame228"
Frame CYBR J 0 "frame229"
Frame CYBR K 0 "frame230"


And here is a code of Decorate:

Health 100
PainChance 180
Speed 10
Radius 30
Height 32
Mass 400
SeeSound "trite_sight"
AttackSound "trite_attack"
PainSound "trite_pain"
DeathSound "trite_death"
ActiveSound "trite/active"
//Obituary "$OB_DEMONHIT"
CPOS A 1 A_SargAttack
Goto See
SPID J 1 A_Pain
Goto See
CYBR A 8 A_Scream
CYBR K 0 A_SpawnItem("DEAD_TRITE")
Goto See

User avatar
Posts: 1226
Joined: Sun Sep 25, 2005 1:49
Location: Kuala Lumpur, Malaysia

Post by Nash » Thu Jan 03, 2008 23:12

There is no reason why MD3 animation would not work in GZDoom. Animations in MD2 and MD3 are basically vertex-transformed so I don't see the problem.

How are you exporting your animated MD3s? What program are you using and what plugin?

I use 3ds Max 8 and Chris Cookson's Pop 'N Fresh exporter and any animations done in Max export to MD3 perfectly (provided that they are properly collapsed to vertex animation beforing exporting).

This GZDoom mod uses animated MD3 models:

User avatar
Azure Agony
Quad Damage of Doom
Posts: 71
Joined: Fri Aug 24, 2007 6:40
Location: Somewhere in HANGAR or E4M7

Post by Azure Agony » Fri Jan 04, 2008 17:30

I use milkshape (trial). I downloaded that It's good that GZDoom support MD3 animation. That mean I did something wrong with model or Milkshape doesn't properly save animation. But I save this same model in MD2 and everything was fine. Nice, now I can start works again with my Doom marine from quake 3. I made test version in MD2 format but in that format animated models are "shaking", they're strang stretching on polygons edge and all these don't look fine (this "shaking" best looks in Kingpin, but in Quake 2 we can see this problem too). I see models in haven't got this "shaking" problem :) (as know in Quake 3 this problem with new model format vanished).

User avatar
Damn right I'm mighty.
Posts: 1000
Joined: Wed Jul 06, 2005 11:58
Location: What's that fucking smell

Post by TheDarkArchon » Sat Jan 05, 2008 2:47

I would say you're doing something wrong: I've managed to import a MD3 into GZDoom, animated an all, which was exported from Milkshape.

User avatar
There is no dark side in the moon, really...
Posts: 4594
Joined: Tue Aug 30, 2005 23:19
Location: Scotland

Post by Enjay » Sat Jan 05, 2008 3:24

I think Milkshape has a problem importing MD3s with their animation. It can export fine, apparently. It's just importing that doesn't work.

User avatar
Azure Agony
Quad Damage of Doom
Posts: 71
Joined: Fri Aug 24, 2007 6:40
Location: Somewhere in HANGAR or E4M7

Post by Azure Agony » Sat Jan 05, 2008 8:33

I forgot to say that I got problem only witn MD3 animation from Milkshape, nonanimated MD3 models works fine. It's a pity that Milkshape doesn't import animation frames :(

"surveillance camera!?"
Posts: 1
Joined: Thu Aug 11, 2011 14:14

Re: MD4 / DMR - Skeletal models for GZDooM (and ST) ?

Post by SnakePlisskenPMW » Thu Aug 11, 2011 15:20

I am on windows 7 and vista and I have no issues with importing and exporting .md3 models into and out of milkshape 3D. I remember having issues displaying frame animations I BELIVE though I could be wrong…. Being on vista and 7 there is only one thing out there that I have found the years of searching, that works for my system., … speaking about misfits model 3D; it runs perfectly under a certain windows OS. May be xp or 2000 idk, and features bugs running on virtually every other type other type of OS though as I here…but minor things. For example, even when using windows 7 or Vista, milkshape recognizes other player model parts ( I.e: other tagged .md3 models consistent in the single model like: head, upper, lower ) when attempting to load a single tagged model I.e: _head, . but at this point what it will fail to do on 7 and vista is actually load those models. It will load models as one model correctly if certain strange conditions our met, in that where one places vertices and builds models with in empty placement. Im not sure of the proper things that need to be respected in a model in order for the model to import and open properly on windows 7 or vista but what I do know is I have found a model that dose work, I use this model that dose all in all work 100% correct in milkshape, so I use this and its tags as my canvas for new models, building over and simply replacing tags, and re packing new animations into the pre existing frames.

With that im working with .md3 models and I am thinking about, because of where ‘my line of work’ has brought me- in seeing to it that I can get another tag based model format working inside the binaries of a vr. of GZDOOM

Im thinking of doing this because im interested in porting my own highly modified version of gzdoom to the PS3 cfw interface, The Wii homebrew interface, and the PSP ofw.

Posts: 197
Joined: Sun Nov 29, 2009 16:36

Re: MD4 / DMR - Skeletal models for GZDooM (and ST) ?

Post by Edward-san » Fri Aug 12, 2011 19:29

Actually you could make a new thread instead of bumping a 3-year old one. Ask a moderator to move this to a new thread.


Return to “Closed Feature Suggestions”