This fixes a missing frame in the animation sequence using the ded that came with the file. I'm not posting it because I think a lot of people have it or need it, I'm posting it instead because I think its a good example of how a ded can be used to define 3d models (and their animation cycles) in doomsday:
Code:
Header { Version = 6; }
ModelPath "data/jHeretic/Models/HUD/Crossbow";
#####====---- Ethereal Crossbow ----====#######
### By Cain
Model {
State = "WBOW";
Scale XYZ { 1.5 1.5 1.5 };
Offset XYZ { 0 -1 7 };
Interpolate { 0 0.5 };
Md2 { File = "crossf.MD2";
frame = "frame2"; };
Md2 {
File = "boulelef.MD2";
Shiny skin = "Shiny.pcx";
Shiny = 0.2; };
Md2 {
File = "bouleright.MD2";
Shiny skin = "Shiny.pcx";
Shiny = 0.2; };
Md2 {
File = "crossmetf.MD2";
Shiny skin = "Shiny2.pcx";
Shiny = 0.2; };
Md2 {
File = "crossleft.MD2"; };
Md2 {
File = "crossright.MD2"; };
Md2 {
File = "arrowfx.MD2";
Flags = fullbright | brightshadow2 | twosided | noz ;
Skin range = 6;
Transparent = .5; };
Md2 {
File = "speffct.MD2";
Flags = fullbright | brightshadow2 | twosided | noz ;
Skin range = 6;
Transparent = .6; };
}
Copy Model {
State = "CRBOW1";
Md2 { frame = "frame2";};
Md2 { frame = "frame2";};
Md2 { frame = "frame2";};
Md2 { frame = "frame2";};
Md2 { frame = "frame2";};
Md2 { frame = "frame2";};
Md2 { frame = "frame16";};
}
Copy Model {
State = "CRBOW2";
Md2 { frame = "frame2";};
Md2 { frame = "frame2";};
Md2 { frame = "frame2";};
Md2 { frame = "frame2";};
Md2 { frame = "frame2";};
Md2 { frame = "frame2";};
Md2 { frame = "frame17";};
}
Copy Model {
State = "CRBOW3";
Md2 { frame = "frame2";};
Md2 { frame = "frame2";};
Md2 { frame = "frame2";};
Md2 { frame = "frame2";};
Md2 { frame = "frame2";};
Md2 { frame = "frame2";};
Md2 { frame = "frame18";};
}
Copy Model {
State = "CRBOW4";
Md2 { frame = "frame2";};
Md2 { frame = "frame2";};
Md2 { frame = "frame2";};
Md2 { frame = "frame2";};
Md2 { frame = "frame2";};
Md2 { frame = "frame2";};
Md2 { frame = "frame19";};
}
Copy Model {
State = "CRBOW5";
Md2 { frame = "frame2";};
Md2 { frame = "frame2";};
Md2 { frame = "frame2";};
Md2 { frame = "frame2";};
Md2 { frame = "frame2";};
Md2 { frame = "frame2";};
Md2 { frame = "frame20";};
}
Copy Model {
State = "CRBOW6";
Md2 { frame = "frame2";};
Md2 { frame = "frame2";};
Md2 { frame = "frame2";};
Md2 { frame = "frame2";};
Md2 { frame = "frame2";};
Md2 { frame = "frame2";};
Md2 { frame = "frame21";};
}
Copy Model {
State = "CRBOW7";
Md2 { frame = "frame2";};
Md2 { frame = "frame2";};
Md2 { frame = "frame2";};
Md2 { frame = "frame2";};
Md2 { frame = "frame2";};
Md2 { frame = "frame2";};
Md2 { frame = "frame22";};
}
Copy Model {
State = "CRBOW8";
Md2 { frame = "frame2";};
Md2 { frame = "frame2";};
Md2 { frame = "frame2";};
Md2 { frame = "frame2";};
Md2 { frame = "frame2";};
Md2 { frame = "frame2";};
Md2 { frame = "frame23";};
}
Copy Model {
State = "CRBOW9";
Md2 { frame = "frame2";};
Md2 { frame = "frame2";};
Md2 { frame = "frame2";};
Md2 { frame = "frame2";};
Md2 { frame = "frame2";};
Md2 { frame = "frame2";};
Md2 { frame = "frame24";};
}
Copy Model {
State = "CRBOW10";
Md2 { frame = "frame2";};
Md2 { frame = "frame2";};
Md2 { frame = "frame2";};
Md2 { frame = "frame2";};
Md2 { frame = "frame2";};
Md2 { frame = "frame2";};
Md2 { frame = "frame25";};
}
Copy Model {
State = "CRBOW11";
Md2 { frame = "frame2";};
Md2 { frame = "frame2";};
Md2 { frame = "frame2";};
Md2 { frame = "frame2";};
Md2 { frame = "frame2";};
Md2 { frame = "frame2";};
Md2 { frame = "frame16";};
}
Copy Model {
State = "CRBOW12";
Md2 { frame = "frame2";};
Md2 { frame = "frame2";};
Md2 { frame = "frame2";};
Md2 { frame = "frame2";};
Md2 { frame = "frame2";};
Md2 { frame = "frame2";};
Md2 { frame = "frame17";};
}
Copy Model {
State = "CRBOW13";
Md2 { frame = "frame2";};
Md2 { frame = "frame2";};
Md2 { frame = "frame2";};
Md2 { frame = "frame2";};
Md2 { frame = "frame2";};
Md2 { frame = "frame2";};
Md2 { frame = "frame18";};
}
Copy Model {
State = "CRBOW14";
Md2 { frame = "frame2";};
Md2 { frame = "frame2";};
Md2 { frame = "frame2";};
Md2 { frame = "frame2";};
Md2 { frame = "frame2";};
Md2 { frame = "frame2";};
Md2 { frame = "frame19";};
}
Copy Model {
State = "CRBOW15";
Md2 { frame = "frame2";};
Md2 { frame = "frame2";};
Md2 { frame = "frame2";};
Md2 { frame = "frame2";};
Md2 { frame = "frame2";};
Md2 { frame = "frame2";};
Md2 { frame = "frame20";};
}
Copy Model {
State = "CRBOW16";
Md2 { frame = "frame2";};
Md2 { frame = "frame2";};
Md2 { frame = "frame2";};
Md2 { frame = "frame2";};
Md2 { frame = "frame2";};
Md2 { frame = "frame2";};
Md2 { frame = "frame21";};
}
Copy Model {
State = "CRBOW17";
Md2 { frame = "frame2";};
Md2 { frame = "frame2";};
Md2 { frame = "frame2";};
Md2 { frame = "frame2";};
Md2 { frame = "frame2";};
Md2 { frame = "frame2";};
Md2 { frame = "frame22";};
}
Copy Model {
State = "CRBOW18";
Md2 { frame = "frame2";};
Md2 { frame = "frame2";};
Md2 { frame = "frame2";};
Md2 { frame = "frame2";};
Md2 { frame = "frame2";};
Md2 { frame = "frame2";};
Md2 { frame = "frame23";};
}
Copy Model {
State = "CRBOWDOWN";
Md2 { frame = "frame2";};
Md2 { frame = "frame2";};
Md2 { frame = "frame2";};
Md2 { frame = "frame2";};
Md2 { frame = "frame2";};
Md2 { frame = "frame2";};
Md2 { frame = "frame15";};
}
Copy Model {
State = "CRBOWUP";
Md2 { frame = "frame2";};
Md2 { frame = "frame2";};
Md2 { frame = "frame2";};
Md2 { frame = "frame2";};
Md2 { frame = "frame2";};
Md2 { frame = "frame2";};
Md2 { frame = "frame15";};
}
Copy Model {
State = "CRBOWATK1_1";
Md2 { frame = "frame3";};
Md2 { frame = "frame3";};
Md2 { frame = "frame3";};
Md2 { frame = "frame3";};
Md2 { frame = "frame3";};
Md2 { frame = "frame3";};
Md2 { frame = "frame3";};
Md2 { frame = "frame4";};
}
Copy Model {
State = "CRBOWATK1_2";
Md2 { frame = "frame7";};
Md2 { frame = "frame7";};
Md2 { frame = "frame7";};
Md2 { frame = "frame7";};
Md2 { frame = "frame7";};
Md2 { frame = "frame7";};
Md2 { frame = "frame7";};
Md2 { frame = "frame7";};
}
Copy Model {
State = "CRBOWATK1_3";
Md2 { frame = "frame6";};
Md2 { frame = "frame6";};
Md2 { frame = "frame6";};
Md2 { frame = "frame6";};
Md2 { frame = "frame6";};
Md2 { frame = "frame6";};
Md2 { frame = "frame12";};
Md2 { frame = "frame5";};
}
Copy Model {
State = "CRBOWATK1_4";
Md2 { frame = "frame5";};
Md2 { frame = "frame5";};
Md2 { frame = "frame5";};
Md2 { frame = "frame5";};
Md2 { frame = "frame5";};
Md2 { frame = "frame5";};
Md2 { frame = "frame13";};
Md2 { frame = "frame3";};
}
Copy Model {
State = "CRBOWATK1_5";
Md2 { frame = "frame4";};
Md2 { frame = "frame4";};
Md2 { frame = "frame4";};
Md2 { frame = "frame4";};
Md2 { frame = "frame4";};
Md2 { frame = "frame4";};
Md2 { frame = "frame14";};
}
Copy Model {
State = "CRBOWATK1_6";
Md2 { frame = "frame3";};
Md2 { frame = "frame3";};
Md2 { frame = "frame3";};
Md2 { frame = "frame3";};
Md2 { frame = "frame3";};
Md2 { frame = "frame3";};
Md2 { frame = "frame15";};
}
Copy Model {
State = "CRBOWATK1_7";
Md2 { frame = "frame2";};
Md2 { frame = "frame2";};
Md2 { frame = "frame2";};
Md2 { frame = "frame2";};
Md2 { frame = "frame2";};
Md2 { frame = "frame2";};
Md2 { frame = "frame16";};
}
Copy Model {
State = "CRBOWATK1_8";
Md2 { frame = "frame2";};
Md2 { frame = "frame2";};
Md2 { frame = "frame2";};
Md2 { frame = "frame2";};
Md2 { frame = "frame2";};
Md2 { frame = "frame2";};
Md2 { frame = "frame17";};
}
Copy Model {
State = "CRBOWATK2_1";
Md2 { frame = "frame3";};
Md2 { frame = "frame3";};
Md2 { frame = "frame3";};
Md2 { frame = "frame3";};
Md2 { frame = "frame3";};
Md2 { frame = "frame3";};
Md2 { frame = "frame3";};
Md2 { frame = "frame4";};
}
Copy Model {
State = "CRBOWATK2_2";
Md2 { frame = "frame7";};
Md2 { frame = "frame7";};
Md2 { frame = "frame7";};
Md2 { frame = "frame7";};
Md2 { frame = "frame7";};
Md2 { frame = "frame7";};
Md2 { frame = "frame7";};
Md2 { frame = "frame7";};
}
Copy Model {
State = "CRBOWATK2_3";
Md2 { frame = "frame6";};
Md2 { frame = "frame6";};
Md2 { frame = "frame6";};
Md2 { frame = "frame6";};
Md2 { frame = "frame6";};
Md2 { frame = "frame6";};
Md2 { frame = "frame12";};
Md2 { frame = "frame5";};
}
Copy Model {
State = "CRBOWATK2_4";
Md2 { frame = "frame5";};
Md2 { frame = "frame5";};
Md2 { frame = "frame5";};
Md2 { frame = "frame5";};
Md2 { frame = "frame5";};
Md2 { frame = "frame5";};
Md2 { frame = "frame13";};
Md2 { frame = "frame3";};
}
Copy Model {
State = "CRBOWATK2_5";
Md2 { frame = "frame4";};
Md2 { frame = "frame4";};
Md2 { frame = "frame4";};
Md2 { frame = "frame4";};
Md2 { frame = "frame4";};
Md2 { frame = "frame4";};
Md2 { frame = "frame14";};
}
Copy Model {
State = "CRBOWATK2_6";
Md2 { frame = "frame3";};
Md2 { frame = "frame3";};
Md2 { frame = "frame3";};
Md2 { frame = "frame3";};
Md2 { frame = "frame3";};
Md2 { frame = "frame3";};
Md2 { frame = "frame15";};
}
Copy Model {
State = "CRBOWATK2_7";
Md2 { frame = "frame2";};
Md2 { frame = "frame2";};
Md2 { frame = "frame2";};
Md2 { frame = "frame2";};
Md2 { frame = "frame2";};
Md2 { frame = "frame2";};
Md2 { frame = "frame16";};
}
Copy Model {
State = "CRBOWATK2_8";
Md2 { frame = "frame2";};
Md2 { frame = "frame2";};
Md2 { frame = "frame2";};
Md2 { frame = "frame2";};
Md2 { frame = "frame2";};
Md2 { frame = "frame2";};
Md2 { frame = "frame17";};