Framegroups in DP

Discuss programming topics for the various GPL'd game engine sources.
Post Reply
JasonX
Posts: 422
Joined: Tue Apr 21, 2009 2:08 pm

Framegroups in DP

Post by JasonX »

There used to be a website with an article explaining how framegroups work in Darkplaces and how to make use of them. Does anyone still have this salvaged somewhere in the HDD?
Baker
Posts: 3666
Joined: Tue Mar 14, 2006 5:15 am

Re: Framegroups in DP

Post by Baker »

What is web site address of this dead site? Often caches can be found.
The night is young. How else can I annoy the world before sunsrise? 8) Inquisitive minds want to know ! And if they don't -- well like that ever has stopped me before ..
leileilol
Posts: 2783
Joined: Fri Oct 15, 2004 3:23 am

Re: Framegroups in DP

Post by leileilol »

i should not be here
JasonX
Posts: 422
Joined: Tue Apr 21, 2009 2:08 pm

Re: Framegroups in DP

Post by JasonX »

Not exactly that page, but thanks. How does one "play" a framegroup in QuakeC, while programming the character?
frag.machine
Posts: 2126
Joined: Sat Nov 25, 2006 1:49 pm

Re: Framegroups in DP

Post by frag.machine »

JasonX wrote:Not exactly that page, but thanks. How does one "play" a framegroup in QuakeC, while programming the character?

It doesn't work this way. From the QuakeC point of view, a framegroup is treated like a single frame. The engine cycles through the contained subframes, usually at 10Hz (the .mdl format allows one to set individual frame periods, but this is not always taken in account depending of the engine).
I know FrikaC made a cgi-bin version of the quakec interpreter once and wrote part of his website in QuakeC :) (LordHavoc)
JasonX
Posts: 422
Joined: Tue Apr 21, 2009 2:08 pm

Re: Framegroups in DP

Post by JasonX »

frag.machine wrote:
JasonX wrote:Not exactly that page, but thanks. How does one "play" a framegroup in QuakeC, while programming the character?

It doesn't work this way. From the QuakeC point of view, a framegroup is treated like a single frame. The engine cycles through the contained subframes, usually at 10Hz (the .mdl format allows one to set individual frame periods, but this is not always taken in account depending of the engine).
I see... so i should completely forget about the frames in the monstername.qc? How do i control which framegroup plays?
Spike
Posts: 2914
Joined: Fri Nov 05, 2004 3:12 am
Location: UK
Contact:

Re: Framegroups in DP

Post by Spike »

the only real problem with framegroups is with trying to sync them properly. this generally means that you need to use a format with a proper 'loop' flag so that sudden latency/packetloss doesn't result in the animation resetting when not intended. you generally also need to keep animations somewhat short to avoid sudden jumps when the ent first becomes visible halfway through its animation due to pvs (including teleporters).

with csqc, the gamecode has full control over the exact pose used. framegroups can be quite nice to work with in such a situation.
leileilol
Posts: 2783
Joined: Fri Oct 15, 2004 3:23 am

Re: Framegroups in DP

Post by leileilol »

Quake3 and Half-Life work around the 'pvs death sequence bug' by having a separate 'dead' animation
i should not be here
toneddu2000
Posts: 1395
Joined: Tue Feb 24, 2009 4:39 pm
Location: Italy

Re: Framegroups in DP

Post by toneddu2000 »

JasonX wrote:Not exactly that page, but thanks
This is another page talking a little about framegroups, but unfortunately I've never seen a thorough explanation of modeling and animating an .iqm or .dpm model file in DP.
I'd like to contribute to DPWIKI for the modeling side (and one day I'll do it) but I need (as anyone else)badly the knowledge for setting up things in csqc, animating the skeleton, etc.

I use framegroups with iqm files but I wouldn't reccomend my method: I create the .iqm model with blender and I use the framegroup file with each line for each animation strip with loop flag like this:

Code: Select all

1 25 12 1 // run
It starts at #1 frame, ends at 25th frame with a "fps count" of 12 frames and it loops
or

Code: Select all

26 48 12 0 // die1
for an animation which doesn't loop, like die animation

the problem with this method (at least what I experimented) is that is impossible to predict which one is the first animation strip, which the second and so
infact if you call it with

Code: Select all

self.frame = 1
the #1 couldn't be the #1 on your framegroup file. This happens to my game and I'm still not be able to find a solution
Spike wrote:with csqc, the gamecode has full control over the exact pose used. framegroups can be quite nice to work with in such a situation.
with the only problem that never ever anyone wrote a single csqc player code line with source code release! :)
Xonotic forums started with the 0.6 release and we'll see what this leads to
Meadow Fun!! - my first commercial game, made with FTEQW game engine
Post Reply