 Looping Sounds
Trying to help a new modder with their soundpack for Quake. He has the ambent fire for the torches giving an error in Proquake that its not a loop type audio file. I believe other engines such as DP and Fitz probably automaticly loop these, but does anyone know how to change it so its a looping type? We looked in Audacity and could not find a setting. I thought I remember readint there was more or less a bit you change in the .wav , but maybe thats only 8 bit type audio?
#483 posted by metlslime on 2016/02/23 17:41:52
I never found a reliable explanation of how to loop sounds, even though i have done it myself multiple times. Part of the problem is the terminology is inconsistent across audio tools.
I think you basically have to open the wav in a program like cool edit 96, soundforge, etc, and add a "tag" or "marker" or something at the point in the file where you want the loop to re-start. If you want the whole thing to loop, place it at the beginning. If you want there to be an intro and then a loop, place it at the end of the intro.
Even when i did this, sometimes it didn't work for me. I might have tried multiple programs to make it work.
Because of this frustration and hassle, one of my wish list quake tools is a dead-simple "make a sound loop" utility program where you run it on a wav and it adds the data that is appropriate. Perhaps other people had better experiences, though!
 I Used Goldwave
#484 posted by ijed on 2016/02/23 18:14:11
And there under tools (I think) add marker.
It didn't matter where or what it was called, Quake would then treat it as looping.
#485 posted by R00k on 2016/02/23 18:49:46
 Goldwave
Ahk, Win 7 or later for Goldwave so I cant check it, but will fwd to the modder the link to this thread. Thanks all.
 Really?
#487 posted by ijed on 2016/02/23 20:09:02
The version I had/have somewhere is pretty old.
 GoldWave
#488 posted by mh on 2016/02/23 20:27:07
#489 posted by babash on 2016/02/26 16:01:19
What are the commands for making DP resemble the software quake engines?
gl_texturemode gl_nearest
The rest can be difficult.
 DP To Real Quake
#491 posted by Qmaster on 2016/02/27 18:23:56
Getting DarkPlaces to look correct is only partially achievable. I have a particle font I got from somewhere that allows particles to be square and pixelly. gl_texturemode gl_nearest is good. Water will not twist unfortunately. I have not found a way to re-enable the twist effect and is the only reason Darkplaces is not a fully supported and true Quake engine, for all its interesting options.
#492 posted by Tarvis on 2016/02/27 18:40:40
You're better off just using a different engine for the true software look. Darkplaces' whole shtick is about looking fancy. Why use it at all if you wont use its features?
 Darkplaces
#493 posted by Kinn on 2016/02/27 19:08:05
Really it's true strength is for use in total conversions where you want to use cool stuff like the Q3 bsp format and md3 models.
For playing Quake? Ehhhhh... not so good.
#494 posted by anonymous user on 2016/03/02 00:28:28
Because i want to use CSQC, great QC extensions, great multiplayer and a stable codebase. :D
 PRVM
With Darkplaces you have a prvm command so you can check globals and look at entity specific fields etc, using the command prompt.
Is this something just in Darkplaces? I thought all the legacy engines have it, but apparently no?
#496 posted by Spike on 2016/04/07 00:37:48
fte has 'poke_MODULE' commands that you can use to get/set various qc terms (ents can be read by number).
every engine supports saved games (with the possible exception of dedicated servers). saved games are always text, and should allow some sort of inspection, although figuring out entity numbers may be awkward.
 @Spike
Interesting - yea, Darkplaces has a crash.dmp option you can set, and turns out its merely doing a save game (.sav) just before crashing.
It does comment each bracketed field past the worldspawn with "entity" [x] so you can find them, however I imagine the save game would be numbering all the edicts past worldspawn as entity 1, and incrementing, which I guess can be a pain sifting through.
I had thought the legacy engines from way back like Winquake etc, all had the prvm command , but maybe it was the "edicts" command. I remember doing that and it would just spit everything out to the console.
Cant recall if I used it to actually set things during the game and test them though.
#498 posted by Spike on 2016/04/07 10:26:39
code dump:
Cmd_AddCommand ("edict", ED_PrintEdict_f);
Cmd_AddCommand ("edicts", ED_PrintEdicts);
Cmd_AddCommand ("edictcount", ED_Count);
Cmd_AddCommand ("profile", PR_Profile_f);
you mean those? I'd kinda forgotten about them tbh, sorry.
iirc, edicts is basically unusable because it fills the console buffer too easily.
either way in vanilla there's no way to peek at globals without saved games.
fteqw+fteqccgui has a watch list thing that's updated with each single-step, or you can just mouse-over stuff too, of course.
 Right
That looks like them.
DP also lets you use the prvm to filter things , ie:
prvm_edicts server model
Prints all the edicts on the current server to the console and shows their current model string.
You are right, edicts command crashes the engine. DP removed it but some other engines like Direct Q are still using it. Fitzquake 0.85 does not crash tho..
 Broadcasting A Clients Engine
Saw this a long time ago, I guess its a Proquake feature, thought I once saw it being able to detect Darkplaces clients connecting as well but not sure. As it stands when I use the "Manquake" version of Proquake, it always seems to detect Proquake, just different veersions. Are the engines using a standard ID and a tag of some sorts to ID the engines, or is this all now just a passing fancy?
string ()
PQ_Version =
{
local float i, ch, sum;
local string format = " with proquake version 0.00";
local string x;
i = self.netconnection[QS_MOD] / %1;
if (!i)
return " with a non-proquake client";
else if (i == 1)
return " with an unknown proquake client";
else if (i == 2)
return " as a qsmack client";
ch = floor (i / 4096);
i = i - ch * 4096;
sum = hex_ctof (hex[ch * %2]) * 16;
ch = floor (i / 256);
i = i - ch * 256;
sum = sum + hex_ctof (hex[ch * %2]);
ch = floor (sum / 10);
x = ftos (ch);
i = %23;
strcpy (format[i], x); i = i + %1;
strcpy (format[i], "."); i = i + %1;
sum = sum - (ch * 10);
x = ftos (sum);
strcpy (format[i], x); i = i + %1;
strcpy (format[i], "0");
return format;
};
#501 posted by Spike on 2016/04/11 06:24:39
proquake added som extra byte or two at the end of its connection requests. this is meant to contain some [engine]mod id, and the version of it. proquake also added 16bit client->server coords only for proquake clients, and nothing else that's particuarly special.
this resulted in pretty much every NQ client suddenly pretending to be proquake because it was the only way to get 16bit angles at the time.
so really, all that code can actually detect is whether the developers of said client actually gave a fuck about multiplayer or not.
it also depends upon qccx hacks that will break with any engine that even attempts to provide sandboxing, with offsets that are highly specific to the server in question.
adding hacks with assumptions about memory layouts is evil, but if the engine doesn't actually provide any extensions then really the only choice is to hack said engines.
#502 posted by R00k on 2016/04/12 01:25:37
What Spike said, I had to fake qrack to telling proquake server's it is pq3.50 compatible so that it will allow players to use the 16-bit angles. once the handshaking is established pq will send angles as such and qrack will read them. Other engines like Qspasm connecting to a PQ server will only use 8-bit angles and thus be at a disadvantage. :( btw pq server/clients in this fashion also break demos played on other non proquake clients...
 Fullpitch
Do the 16 bit angles allow fullpitch?
So I guess older engines and even Darkplaces still only has 8 bit angles, and therefore if a non pq clients is on a pq server, their angles are not as precise, is that how it works?
#504 posted by Spike on 2016/04/12 03:40:51
angle cheats are separate from angle precision.
darkplaces pretends to be a proquake client too.
its own network protocol always uses 16bit angles, for both client->server AND server->client.
because proquake's angle thing is strictly client->server, it doesn't break demos because it doesn't even appear in demos (so r00k is wrong in that regard, unless there's some other difference that I'm overlooking, like proquake's svc_print encodings, but those should just look glitchy).
the fitzquake protocol also uses 16bit client->server angles. however, proquake doesn't support that, so quakespasm is indeed limited to 8bit angles on public deathmatch servers, but not when playing singleplayer.
 @r00k
#505 posted by Baker on 2016/04/12 07:07:56
btw pq server/clients in this fashion also break demos played on other non proquake clients...
It is well known that ProQuake demos play even in the original Quake/WinQuake/GLQuake.
And by extension JoeQuake --- which uses ProQuake network code -- this is why speed runners use JoeQuake to record their demos [amongst other reasons].
 Interesting....
Why could not each engine have its own cvar that more or less corresponds to its clienttype and version?
IE: cvar FitzQuake = "Fitzquake 0.85"
Then feed this field into something decided upon to be 'universal' in the engine community in case they 'give a shit' about mp...heh.
As it stands now the code I posted is I guess cute, it can announce what client a player is using when connected...if it were to work accurately that is. At least if the structure did pass a unique string to read to the layman qc modder, they could perhaps customize some mods to take into account the many differences in all the engines and give the user a better experience, ideally...
|