egg temporarily until easter - They'll randomly choose between 255
colors. I'll eventually change this into a cvar, but for now enjoy ;)
This stuff is easily removed for the people who don't like colors: Just
remove my added lines, and uncomment the old ones :)
Misty-chan
gl_dyn_part.c:
Now uses a (non-locked) vertex array to reduce GL calls.
Gives a slight speed gain, I'll optimize it a bit more soon.
gl_rlight.c:
Fixed much of the dlightframecount issues.
(This gives cleaner code and a speed up.)
gl_rmain.c: A slight reorg of the dlight call order.
gl_rmisc.c: Enable some of the vertex arrays. (vertex, texcoord, color.)
gl_rsurf.c:
Reworked R_BuildLightMap, smaller now code wise, also more optimized,
and it builds a 0-2 lightmap in more cases now.
Playing with GL_UploadLightmap.
For non-lighthalf non-mtex lightmaps use a 0-2 range.
(Makes gl_lightmode look a /lot/ better.)
gl_screen.c: More stuff with the gl_lightmode callback.
r_view.c: R_PushDlights is called elsewhere now.
sw_rmain.c:
Moved the R_PushDlights call.
Also killed the unused PASSAGES define.
are now sane and match current code, I moved things around in GL so they
more closely match the sw code, as the sw code makes more sense now that
I *finally* understand what in gods name I was doing wrong. ;)
I also made minor changes to the help to indicate the minimum values of
the variables (sw can deal with 1, gl 0) as well as that you really
ought to use r_particles 0 instead of a setting of cl_max_particles 0 in
GL :P
Thanks for all the help taniwha, those last two bugs were kicking my
butt.
Misty-chan
cl_max_particles now lives in *part.c - in GL it dynamically changes the
amount of particles on the fly! Needless to say this is fun, and this is
proboably the third cvar that uses the callbacks function at all - which
IMHO is really a cool trick Taniwha.
However I'm losing my SANITY in r_part.c - if someone could take a look,
I'd be greatly appreciative. It should be obvious to any developer that
I'm having a few problems. :P Basically the dynamic code is completely
and totally disabled, and I hacked in code which *works* but shouldn't
EVER EVER EVER be left there after we fix this as it is downright EVIL
the way I implimented it. SW client does work, and does still work with
+set cl_max_particles - however the hacks I made to get it to do that...
*shakes head* Tread softly in there, it's a mess.
Other notes of interest:
I changed show_time so it archives its setting. Got annoyed with it. If
someone finds this change to be bad, change it back. :)
glspeed.cfg got updated with a setting of 60 for cl_max_particles. 60
works nicely, and doesn't use too much speed on my aging hardware, so
I'm sure newer systems will just plain FLY with this on.
I also changed the cl_maxfps setting as 72 is great if you aren't using
a modem !.! due to the way cl_maxfps works, the higher it goes, the more
data is sent to you by the server. This causes a heck of a lot of lost
packets if you don't have the bandwidth OR if your card can't keep up
with the framerate. Either of which is bad. I set it to 30, the default
of the cvar is 0/32 so go figure out what works best for you I say.
Let me know if this blows up in your face and ESPECIALLY let me know if
you can fix the r_part.c problems!
Misty-chan
WARNING: this fixes a scope bug in qcc and thus you WILL get different (but
now correct) code for the following:
float foo;
void () bar =
{
local float foo;
foo = 0;
}
ie, the local foo will, as is correct, now be a separate var to the global
foo.