View previous topic :: View next topic |
Author |
Message |
Seven
Joined: 06 Oct 2007 Posts: 19 Location: Germany
|
Posted: Thu Jul 22, 2010 6:28 pm Post subject: 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. |
|
Back to top |
|
 |
Spike
Joined: 05 Nov 2004 Posts: 944 Location: UK
|
Posted: Thu Jul 22, 2010 7:22 pm Post subject: |
|
|
gibs+dead monsters are controlled by qc, not the engine. _________________ What's a signature? |
|
Back to top |
|
 |
Sajt
Joined: 16 Oct 2004 Posts: 1026
|
Posted: Thu Jul 22, 2010 7:24 pm Post subject: |
|
|
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. |
|
Back to top |
|
 |
frag.machine

Joined: 25 Nov 2006 Posts: 728
|
Posted: Thu Jul 22, 2010 8:23 pm Post subject: |
|
|
QuakeC is the way to go, isn't worth the hassle to treat this engine side. _________________ frag.machine - Q2K4 Project
http://fragmachine.quakedev.com/ |
|
Back to top |
|
 |
mh

Joined: 12 Jan 2008 Posts: 909
|
Posted: Thu Jul 22, 2010 9:44 pm Post subject: |
|
|
(ahem) - from DirectQ:
Code: | 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. _________________ DirectQ Engine - New release 1.8.666a, 9th August 2010
MHQuake Blog (General)
Direct3D 8 Quake Engines |
|
Back to top |
|
 |
Sajt
Joined: 16 Oct 2004 Posts: 1026
|
Posted: Fri Jul 23, 2010 4:33 am Post subject: |
|
|
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. |
|
Back to top |
|
 |
Seven
Joined: 06 Oct 2007 Posts: 19 Location: Germany
|
Posted: Fri Jul 23, 2010 7:31 am Post subject: |
|
|
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 |
|
Back to top |
|
 |
mk

Joined: 04 Jul 2008 Posts: 94
|
Posted: Fri Jul 23, 2010 8:27 am Post subject: |
|
|
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. _________________ Makaqu engine blog / website.
Ph'nglui mglw'nafh Cthulhu R'lyeh wgah'nagl fhtagn. |
|
Back to top |
|
 |
mh

Joined: 12 Jan 2008 Posts: 909
|
Posted: Fri Jul 23, 2010 9:03 am Post subject: |
|
|
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. _________________ DirectQ Engine - New release 1.8.666a, 9th August 2010
MHQuake Blog (General)
Direct3D 8 Quake Engines |
|
Back to top |
|
 |
Seven
Joined: 06 Oct 2007 Posts: 19 Location: Germany
|
Posted: Fri Jul 23, 2010 9:28 am Post subject: |
|
|
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
Last edited by Seven on Sat Jul 24, 2010 12:30 pm; edited 1 time in total |
|
Back to top |
|
 |
Sajt
Joined: 16 Oct 2004 Posts: 1026
|
Posted: Fri Jul 23, 2010 5:45 pm Post subject: |
|
|
Are you sure you're playing id1 (no mod), and not DPMod? _________________ 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. |
|
Back to top |
|
 |
mh

Joined: 12 Jan 2008 Posts: 909
|
|
Back to top |
|
 |
Sajt
Joined: 16 Oct 2004 Posts: 1026
|
Posted: Sat Jul 24, 2010 1:54 am Post subject: |
|
|
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. |
|
Back to top |
|
 |
Seven
Joined: 06 Oct 2007 Posts: 19 Location: Germany
|
Posted: Sat Jul 24, 2010 12:09 pm Post subject: |
|
|
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 |
|
Back to top |
|
 |
|