Fteqcc!
#970 posted by ijed on 2013/02/27 18:39:02
Yes, it's great :)
Compiler
#971 posted by sock on 2013/02/27 19:56:01
@Spirit, I am using that already, thanks :)
V_angle / Mangle
#972 posted by sock on 2013/02/27 20:11:40
I am trying to make an object look directly at another object. I want the v_angle/mangle (Pitch/Yaw/Roll) but I can't work out how to get them.
I know about vectoyaw:
dir_float = vectoyaw(destination.origin - source.origin)
This returns the Yaw angle, but I want the Pitch angle as well.
Any clues?
Pitched
#973 posted by sock on 2013/02/27 20:57:36
For some reason the pitch is reversed. I got the following to work but not sure why the pitch needs to be fixed.
vector vec = destination.origin - source.origin;
vector vec_dir = vectoangles (vec);
vec_dir_x = 360 - vec_dir_x;
Protocol Question
#974 posted by Mandel on 2013/03/01 19:33:04
Which maps, mods, or demos use all or most of the fitzquake protocol features? I've added fitzquake support to my demo parsing code and would like to exercise it a bit for the sake of quality.
DarkPlaces Sv_gameplayfix Cvars Are Now Opt-in, And New Build Posted
#975 posted by LordHavoc on 2013/03/02 06:18:02
Posted a new build of DarkPlaces today with sv_gameplay fix cvars off by default (the disruptive ones, anyway), and some bugfixes for hipnotic (hip2m3 now completable) and other maps.
I have fitzquake protocol support in the works but not the time to finish it right now, I don't understand why fitzquake uses a protocol different than the QUAKEDP protocol that it clearly borrowed several bits of code from...
#976 posted by Spirit on 2013/03/02 08:34:38
thank you very much!
@LordHavoc - DarkPlaces Constructive Criticism
#977 posted by Baker on 2013/03/03 01:55:58
Everything has to be something.
Pushing the limits of future ideas is not something to be apologized for. Especially if you are doing it for free.
Mental exercises of the future are something anyone can do. You express these in code, something few to no one can do.
You've done it, do continue to do it and everyone sensible is inspired by it, everyone talented draws insight from your work.
Everything has to be something.
More importantly, BUT ** everything has to be something. **
DarkPlaces cannot both be an engine of the re-imagined future and a conservative engine of the past.
If you try to go there, you'll fail on both fronts and lose your identity in the process.
Everything has to be something. If DarkPlaces tries to be everything to everyone --- it is going to fail more spectacularly than any engine Quake has ever seen.
It is ok to be an engine that thinks of ONLY how things should be and never of how they are.
If you try to change that thought process, it will not lead to happiness. Your head is in the idea of a yet unwritten better future.
Give that up and it will most certainly break your heart. And make the world a worse place.
Bear the slings of arrows of re-imagining how perfect QuakeC and a perfect Quake engine might look EVEN if it breaks expectations.
Every engine author can do the conservative engine thing. This isn't why DarkPlaces is interesting. Just don't expect everyone to like "interesting" --- that isn't in human nature.
/End tl;dr post
Hey Sock
#978 posted by ijed on 2013/03/06 13:12:18
How did you go about your particle field controls in ITS?
I've got an emission system implemented that can throw sprites, bsps and models, but was wondering about better particle controls.
The main thing I'm wondering about is movement - I can just attach particles to an otherwise invisible emission, but was wondering what method you used, and if it'd be cheaper / better / faster.
Cheers :)
@ijed
#979 posted by sock on 2013/03/06 14:07:17
Posted reply in ITS mod thread. If you have anymore questions let me know, will be glad to help.
Thanks, Just Replied There
#980 posted by ijed on 2013/03/06 15:02:35
DarkPlaces
#981 posted by sock on 2013/03/08 14:13:12
Is there any way to detect if DP is active from QC? Is there a function I can test exists and then supply different fog parameters?
Fitz engine fog
<density> <red> <blue> <green>
DP engine fog
<density> <red> <blue> <green> <alpha> <mindist> <maxdist> <top> <fadedepth>
I can't add the extra parameters to fitz it produces an error, while in DP the DEFAULT parameters fog out the sky. /sigh
Any ideas?
DP Cvar
#982 posted by sock on 2013/03/08 15:02:26
Does anyone know of a specific DP Cvar value I can check? (I tried version but it is a string which is impossible to check)
DP Only Cvar
#983 posted by sock on 2013/03/08 15:26:28
Found the answer, QC example below:
float dpactive;
if ( cvar( "pr_checkextension" ) ) {
dpactive = TRUE;
}
else dpactive = FALSE;
Fix Your Ugly Brace Style PLEASE!
#984 posted by czg on 2013/03/08 15:27:30
But That's A Cool Snippet Tho!
#985 posted by czg on 2013/03/08 15:43:47
Feature Detection
#986 posted by Preach on 2013/03/08 18:33:02
In theory other engines might implement checkextension at some point, so you should probably be testing for features in darkplaces, rather than for darkplaces itself. It's like "feature detection" as opposed to "browser detection" in web design - that IE analogy is working overtime today (which I'd like to add was too unfair on DP, especially given how responsive LordHavoc has been to our needs!)
I've wanted for a while to be able to detect .alpha support on engines, to create entities which fall back to safer models on engines without it. At the moment it would only be darkplaces which gets the alpha-supported version, which makes the feature a bit too niche.
Sv_gameplayfix_
#987 posted by negke on 2013/03/08 18:55:44
Can't get more DPish than that, I suppose.
Enginer Developers
#988 posted by sock on 2013/03/08 19:21:10
I honestly wish ALL engine developer would decide on a standard way of implementing features. Like for example fog, engine detection etc. As much as it is cool that everyone wants to do different things, trying to make content that works on multiple engine is just frustrating.
I don't want to create a preferred list of engines that work with my Quake content but engine coders really are shooting themselves in to the foot over this.
I choose "pr_checkextension" because it is highlighted at the top of the dpextensions.qc file (had to download a 220mb DP mod to get the file) as something to detect DP by. Maybe LordHavoc can say which variable we should all check by.
#989 posted by Spirit on 2013/03/08 20:08:07
at least all normal engines have the same syntax but wait until you find out that the rendering of the fog itself differs... :/
Feature Detection - How To Really Do It
#990 posted by LordHavoc on 2013/03/09 13:32:03
The pr_checkextension cvar only indicates that the checkextension builtin (#99) is available, which then lets you query engine capabilities.
pr_checkextension exists in TomazQuake, DarkPlaces, FTEQW, I think FitzQuake, and I'd bet a few others too.
What I recommend adding this to defs.qc at the end:
float ext_dp_gfx_fog;
void() InitExtensions =
{
if (!cvar("pr_checkextension"))
return;
ext_dp_gfx_fog= checkextension("DP_GFX_FOG");
};
Then add this to the top of worldspawn():
InitExtensions();
Now you can check the ext_dp_gfx_fog variable at any time to see if the DP_GFX_FOG extension is supported, which describes how that fog command behaves.
This is not a general catch-all way to detect DP however as any engine can implement that extension, there is not any special way to detect a particular engine (nor any plans for one).
@LordHavoc
#991 posted by sock on 2013/03/11 01:03:10
Awesome, thanks for the extra information. I only plan to check for the basic DP engine from your site, I am not interested in supporting any other version.
I plan to use the following QC:
(in defs.qc)
float dpactive;
float dpextrafog;
float(string s) checkextension = #99;
(world.qc, function - worldspawn)
dpactive = cvar( "pr_checkextension" );
if (dpactive) dpextrafog = checkextension( "DP_GFX_FOG" );
Standards
#992 posted by anonymous user on 2013/03/11 14:28:50
Several attempts to agree on anything failed. You could probably still find threads from like 15 and 10 years ago...
Engines
#993 posted by LordHavoc on 2013/03/12 06:26:21
The other engines I listed are *not* darkplaces, they are completely unrelated popular engines written by Tomaz (TomazQuake), Spoike (FTEQW), metlslime (FitzQuake), and so on.
They support the same extension mechanism to detect capabilities, they offer different sets of capabilities but with significant overlap.
Again this is not detecting an engine, this is detecting a capability, it just happens that DP_GFX_FOG is supported only by darkplaces currently.
I checked TomazQuake 1.481, Fitzquake 0.85, and FTEQW svn 4255 (current as of this moment) and it is possible for other engines to add support for this same extension depending on the whims of their maintainers, but currently only DarkPlaces offers this extension, it was added back in 2001-04-05, been there a long long time.
#994 posted by sock on 2013/03/12 13:24:46
I know about the other engines (Fitz/FTE) my problem was with DP because of the fog parameters being different. I thought if I made my MOD work with Fitz it would work with anything, but it seems DP has gone in a different direction, hence the QC hack for engine detection.
|