Duration for gibs and bodies in Quake [using DP]
Moderator: InsideQC Admins
14 posts
• Page 1 of 1
Duration for gibs and bodies in Quake [using DP]
Dear all,
I have a question, which seems to be hard to answer.
Maybe this is the place, where somoene has a hint for me
There is a really good page, which shows all DarkPlaces console variables:
Console Variables - DarkPlaces Wiki
Unfortunately I cannot find one which handles the:
duration time, before gibs and killed monsters fade away.
Is there a possibility to change this time (which is about 20 seconds
by default) with a command line / variable ?
(something similar like "cl_decals_fadetime" for decals)
Or do we have to go deeper into qc files to edit it ?
(which I dont want, cause I dont want to use a new progs.dat)
Thank you very much for your suggestions and hints.
Best wishes,
Seven
PS: I also asked Lord Havoc a couple of days ago, but he seems to be too busy with Nexuiz project.
I have a question, which seems to be hard to answer.
Maybe this is the place, where somoene has a hint for me
There is a really good page, which shows all DarkPlaces console variables:
Console Variables - DarkPlaces Wiki
Unfortunately I cannot find one which handles the:
duration time, before gibs and killed monsters fade away.
Is there a possibility to change this time (which is about 20 seconds
by default) with a command line / variable ?
(something similar like "cl_decals_fadetime" for decals)
Or do we have to go deeper into qc files to edit it ?
(which I dont want, cause I dont want to use a new progs.dat)
Thank you very much for your suggestions and hints.
Best wishes,
Seven
PS: I also asked Lord Havoc a couple of days ago, but he seems to be too busy with Nexuiz project.
- Seven
- Posts: 301
- Joined: Sat Oct 06, 2007 8:49 pm
- Location: Germany
If it was possible without modifying the QuakeC, it would be an evil hack. By default, corpses never disappear, nor do head gibs (which are, for all effects and purposes, corpses). Only normal gibs. Some large maps with hundreds of monsters come with modified progs.dat including corpse removal. If you want this in your own map or coop server or whatever you're trying to do, you'll have to modify the QuakeC... or sin against humanity and hack the engine.
F. A. Špork, an enlightened nobleman and a great patron of art, had a stately Baroque spa complex built on the banks of the River Labe.
- Sajt
- Posts: 1215
- Joined: Sat Oct 16, 2004 3:39 am
QuakeC is the way to go, isn't worth the hassle to treat this engine side.
I know FrikaC made a cgi-bin version of the quakec interpreter once and wrote part of his website in QuakeC
(LordHavoc)
-

frag.machine - Posts: 2090
- Joined: Sat Nov 25, 2006 1:49 pm
(ahem) - from DirectQ:
Note that it's a server cvar so if you're in a MP game (1) it must be available on the server, and (2) the server admin (or someone else with the necessary authority) must have enabled it. It's good fun for SP though.
A better alternative would be to convert the edict to a static entity and remove it from the server. Would need more code, but not much more.
- Code: Select all
void PF_Remove (void)
{
edict_t *ed;
ed = G_EDICT(OFS_PARM0);
if (sv_permagibs.value)
{
// permanent gibs
model_t *mod = sv.models[(int) ed->v.modelindex];
if (mod)
if (mod->type == mod_alias)
if (!strnicmp (mod->name, "progs/gib", 9))
return;
}
ED_Free (ed);
}
Note that it's a server cvar so if you're in a MP game (1) it must be available on the server, and (2) the server admin (or someone else with the necessary authority) must have enabled it. It's good fun for SP though.
A better alternative would be to convert the edict to a static entity and remove it from the server. Would need more code, but not much more.
We had the power, we had the space, we had a sense of time and place
We knew the words, we knew the score, we knew what we were fighting for
We knew the words, we knew the score, we knew what we were fighting for
-

mh - Posts: 2292
- Joined: Sat Jan 12, 2008 1:38 am
Oh, duh, that's what he was after. I thought he wanted everything to disappear, but it makes more sense that he'd want gibs to stay. It is an evil hack, but not too bad I guess.
F. A. Špork, an enlightened nobleman and a great patron of art, had a stately Baroque spa complex built on the banks of the River Labe.
- Sajt
- Posts: 1215
- Joined: Sat Oct 16, 2004 3:39 am
Thank you very much for all your answers.
I knew, this is the best place to ask
First of all, I am sorry if I described my question not clear enough.
English is not my mother tounge.
This is what I wanted:
I ONLY play single player Quake with DarkPlaces engine.
So there is no server problem. I only play SP maps / episodes.
Secondly, Sajt said, that corpses never disappear by default (nor head gibs).
Well this must be different in DarkPlaces:
When I kill or when I gib a monster. All body parts fade away after 20 seconds.
And this is excatly what I wanted to change.
I want them to stay a little longer. Lets say 1 Minute.
It can be done with trhe blood decals (which also fade away in DP after 20 secdonds) with "cl_decals_fadetime"
So, is it true, that DarkPlaces handles the corpses "fade away" behaviour different than other engines ?
Because DarkPlaces does not touch the original Quake qc files.
If so, then there must must be a way to change the fade time with a console variable.
What do you think ? Am I completely wrong ?
Thank you again for all your replies.
Best wishes,
Seven
I knew, this is the best place to ask
First of all, I am sorry if I described my question not clear enough.
English is not my mother tounge.
This is what I wanted:
I ONLY play single player Quake with DarkPlaces engine.
So there is no server problem. I only play SP maps / episodes.
Secondly, Sajt said, that corpses never disappear by default (nor head gibs).
Well this must be different in DarkPlaces:
When I kill or when I gib a monster. All body parts fade away after 20 seconds.
And this is excatly what I wanted to change.
I want them to stay a little longer. Lets say 1 Minute.
It can be done with trhe blood decals (which also fade away in DP after 20 secdonds) with "cl_decals_fadetime"
So, is it true, that DarkPlaces handles the corpses "fade away" behaviour different than other engines ?
Because DarkPlaces does not touch the original Quake qc files.
If so, then there must must be a way to change the fade time with a console variable.
What do you think ? Am I completely wrong ?
Thank you again for all your replies.
Best wishes,
Seven
- Seven
- Posts: 301
- Joined: Sat Oct 06, 2007 8:49 pm
- Location: Germany
As mh said, the most network-friendly solution would be to make all gibs static when they stop moving, but makestatic only works during map startup. However, this would probably prevent stopped gibs on the top of moving platforms from following them, since static entities are never updated by the server.
Using CSQC could probably be the best answer then.
Using CSQC could probably be the best answer then.
-

mankrip - Posts: 915
- Joined: Fri Jul 04, 2008 3:02 am
Even if you're only playing SP, a Quake server is still running. It just happens to be running on the same machine as the Quake client, and switched into SP mode, but it's running all the same, so server matters are relevant.
The default Quake behaviour is to fade away all gibs after a short time, 20 seconds sounds about right. This happens in DOS Quake, it happens in WinQuake, it happens in Linux Quake, it happens in GLQuake. There's no different behaviour in different Quake engines.
Heads and full bodies stay, that has also always been the way things happen.
Now, the hack I did above is quite evil - if nothing else there will be hundreds more models (and entities) on the server taking up memory and processing time. This explains why they need to fade out.
So you want to change how long they stay. There are two ways - the right way and the wrong way. The right way is to modify the QuakeC and change their nextthink, the wrong way is to do something like my evil hack above.
If DarkPlaces has implemented something different as a cvar you would need to wait until LordHavoc shows up (if he ever does; he's busy at the moment and might not even see this thread) for a definitive answer.
The default Quake behaviour is to fade away all gibs after a short time, 20 seconds sounds about right. This happens in DOS Quake, it happens in WinQuake, it happens in Linux Quake, it happens in GLQuake. There's no different behaviour in different Quake engines.
Heads and full bodies stay, that has also always been the way things happen.
Now, the hack I did above is quite evil - if nothing else there will be hundreds more models (and entities) on the server taking up memory and processing time. This explains why they need to fade out.
So you want to change how long they stay. There are two ways - the right way and the wrong way. The right way is to modify the QuakeC and change their nextthink, the wrong way is to do something like my evil hack above.
If DarkPlaces has implemented something different as a cvar you would need to wait until LordHavoc shows up (if he ever does; he's busy at the moment and might not even see this thread) for a definitive answer.
We had the power, we had the space, we had a sense of time and place
We knew the words, we knew the score, we knew what we were fighting for
We knew the words, we knew the score, we knew what we were fighting for
-

mh - Posts: 2292
- Joined: Sat Jan 12, 2008 1:38 am
Thank you mh for your clear statement. Now its clear to me.
EDITED
Failure was on my side.
EDITED
Thank you again. I will not bother you more.
Best wishes,
Seven
EDITED
Failure was on my side.
EDITED
Thank you again. I will not bother you more.
Best wishes,
Seven
Last edited by Seven on Sat Jul 24, 2010 12:30 pm, edited 1 time in total.
- Seven
- Posts: 301
- Joined: Sat Oct 06, 2007 8:49 pm
- Location: Germany
mk wrote:Using CSQC could probably be the best answer then.
You shouldn't worry too much about network bandwidth if you're using DarkPlaces, because of the optimized protocol. If the gibs aren't moving, they'll only be networked when they come into your PVS. Of course, if you have a TON of gibs in one area this could still create some stutters in entity updating (hopefully the gibs are prioritized at the bottom of everything though), but it should be sufficient. Anyway, Seven said he only plays singleplayer...
F. A. Špork, an enlightened nobleman and a great patron of art, had a stately Baroque spa complex built on the banks of the River Labe.
- Sajt
- Posts: 1215
- Joined: Sat Oct 16, 2004 3:39 am
Thank you very much for your question Sajt !
I must tell you, that basically I dont use dpmod. I only start Darkplaces.exe without extentions.
BUT:
You are absolutely right.
I added 3 years ago one additional dpmod qc file because I wanted the nice torchlight sprite from dpmod in "normal" Darkplaces Quake.
So I created a new progs.dat, wich I added into my pak0.pak !
Today, because of your question, I restored the original "progs.dat" and viola: The corpses stay.
Just like you and mh describe it.
So the mistake was on my side.
Thank you for this important question, which helped me to find the solution for my problem.
Best regards,
Seven
I must tell you, that basically I dont use dpmod. I only start Darkplaces.exe without extentions.
BUT:
You are absolutely right.
I added 3 years ago one additional dpmod qc file because I wanted the nice torchlight sprite from dpmod in "normal" Darkplaces Quake.
So I created a new progs.dat, wich I added into my pak0.pak !
Today, because of your question, I restored the original "progs.dat" and viola: The corpses stay.
Just like you and mh describe it.
So the mistake was on my side.
Thank you for this important question, which helped me to find the solution for my problem.
Best regards,
Seven
- Seven
- Posts: 301
- Joined: Sat Oct 06, 2007 8:49 pm
- Location: Germany
14 posts
• Page 1 of 1
Who is online
Users browsing this forum: No registered users and 1 guest