Bill Currie
fa0ff96533
Clean up the mess with host_basepal and vid_colormap.
...
Libs should not be reaching into the exe :P
2012-02-01 19:52:13 +09:00
Bill Currie
d76e4608ab
Rewrite the ruamoko draw api internals.
...
Update for using resources, and add wrappers for Draw_MakePic and
Draw_DestroyPic/Draw_UncachePic.
2012-02-01 18:19:54 +09:00
Bill Currie
bc2aca53c3
Add functions to create/destroy qpics.
...
The creation uses raw 8-bit data (and the system palette). Destroying a
qpic loaded via other means will probably produce nasal demons.
2012-02-01 17:46:15 +09:00
Bill Currie
2b6adaa2d4
Do some more const correctness.
2012-02-01 17:44:55 +09:00
Bill Currie
7e406c20e5
Allow uncaching of qpics.
...
qpics loaded via Draw_CachePic can now be uncached via Draw_UncachePic.
2012-02-01 16:55:35 +09:00
Bill Currie
a849cf7698
Fix a stale include problem.
...
Thanks to iku for pointing it out.
2012-02-01 14:13:00 +09:00
Bill Currie
a131a7ab9d
Fix the gl test... again :/
...
Actually, it probably doesn't make any difference, but making it look
right is still important.
2012-02-01 13:01:24 +09:00
Bill Currie
706f09b247
Put the transparent surfaces on the water chain.
...
I'd actually done this the first time, but then got confused and forgot the
waterchain works with multiple textures. This is actually the right place
as all transparent surfaces need to be sorted irrespective to their
textures. Really, waterchain needs to be renamed.
2012-01-31 18:08:06 +09:00
Bill Currie
b286a35281
Sort transparent surfaces back to front.
...
This allows overlapping transparent surfaces to look like they are
overlapping each other rather than only the nearest one showing.
2012-01-31 16:17:09 +09:00
Bill Currie
1052bd2624
Fix the segfault on leaving e1m2.
...
Problem and solution found by Deek, reason by me.
2012-01-31 09:51:44 +09:00
Bill Currie
c3d2365bd8
Fix a missed default_color init.
...
Wish I'd caught this earlier :/
2012-01-30 21:02:13 +09:00
Bill Currie
c01255a387
Fix a case&paste error.
...
Doesn't fix the color problem for water surfaces on my eeepc, though :(
2012-01-30 20:31:58 +09:00
Bill Currie
8f0ce733ff
Sanitize color handling a little.
2012-01-30 20:31:37 +09:00
Bill Currie
4b948de225
Ensure the lightmap gets rebuilt when the dlights disappear.
...
I didn't realize what that line was for when I copied the code from GL :/
2012-01-30 18:41:27 +09:00
Bill Currie
e4f63fba6c
Fix some integer shift overflows.
...
Thanks to Ozkan Sezer for pointing them out.
2012-01-30 09:13:06 +09:00
Bill Currie
f8dfee6de7
Merge branch 'master' into glsl
2012-01-29 22:36:35 +09:00
Bill Currie
497718cc40
Plug the memory/texture/vbo leaks.
...
QF still leaks about 3MB/run on demo1, but even 100 runs didn't show any
render issues.
2012-01-29 22:32:35 +09:00
Bill Currie
b03e937b67
Implement brush entity alpha.
...
http://www.celephais.net/board/view_thread.php?id=60157& has a good map for
testing (you see an example straight away if you look up). (+set max_edicts
2048)
2012-01-29 16:56:50 +09:00
Bill Currie
8f869c001b
Fix the missing world on map reload.
...
If the map got reloaded but the current leaf didn't change the world (and
most entities) didn't get drawn. Forcing a vis update by first setting
r_viewleaf to null and marking surfaces does the trick :)
2012-01-29 16:09:35 +09:00
Bill Currie
462a9047c6
Fix the missing fog on particles and sprites.
...
Bah, definitely need a metter method of parameter interrogation.
2012-01-29 10:35:23 +09:00
Bill Currie
731236ee07
Implement global fog.
...
Sprites and particles don't seem to be getting fogged correctly, but bsp
and alias models are working.
2012-01-29 10:27:28 +09:00
Bill Currie
4734c5b64a
Implement water alpha.
2012-01-28 21:20:34 +09:00
Bill Currie
57f920b9e9
Fix some inverted logic.
...
Oops.
2012-01-28 21:01:19 +09:00
Bill Currie
7e078c7f9c
Revamp cshifts and implement in glsl.
...
The renderer should now be free of any direct access to client code. Even
3d rendering is now done via a function pointer.
The cshift code is done as a 2d screen function.
2012-01-28 20:45:14 +09:00
Bill Currie
315db554b5
Add some instrumentation to check render speeds.
2012-01-28 14:10:47 +09:00
Bill Currie
2595251162
Do not update every visible lightmap every frame.
...
This takes nq from ~25fps to 65-72 fps on Unforgiven's start map.
2012-01-27 21:48:25 +09:00
Bill Currie
d18aa2fe3e
Do not try to unregister ports with a lost jackd.
...
libjack seems to get stuck when unregistering ports with a broken
connection.
2012-01-27 19:58:03 +09:00
Bill Currie
8ac9ff0134
Link libQFmodels* agains libQFimage.
...
This is the correct fix for server linking wrt LoadPCX. Sort of. Really, it
would be better to disconnect the dependencies.
2012-01-27 19:55:30 +09:00
Bill Currie
03c7441265
Fix server linking wrt skin stuff.
2012-01-27 17:37:52 +09:00
Bill Currie
ca2c861671
Fix team colors in GL NQ.
2012-01-26 13:53:52 +09:00
Bill Currie
ae4a30089e
Remove skin.c from nq.
...
I forgot to zap it earlier.
2012-01-26 13:48:20 +09:00
Bill Currie
5dcaeae97b
Fix custom skins in GL for QW.
2012-01-26 12:50:37 +09:00
Bill Currie
df87cffe15
Start working on the new GL skin code.
2012-01-24 23:06:07 +09:00
Bill Currie
695b38e5e5
Fix a segfault when merging rects.
2012-01-24 19:56:59 +09:00
Bill Currie
d8d21b00f4
Fix some issues found found by valgrind.
...
Buffer underflow and though strcpy has always been safe there, change to
memmove. Had the added benefit of helping me create more test cases for
better coverage.
2012-01-24 19:54:21 +09:00
Bill Currie
6104db50e1
Fix a gl matrix stack overflow.
...
I'd missed a couple of places for glPopMatrix (worse, one was push!).
2012-01-24 12:10:37 +09:00
Bill Currie
1ef24e0404
Fix a gl matrix stack overflow.
...
I'd missed a couple of places for glPopMatrix (worse, one was push!).
2012-01-24 12:08:12 +09:00
Bill Currie
8448a8f332
Minimize the skin calls in nq.
2012-01-24 11:59:49 +09:00
Bill Currie
fb2568e681
Fix team colors in glsl for nq.
...
I forgot to ensure Skin_Init was called in nq. Doing things with texture 0
doesn't work too well.
2012-01-24 11:49:42 +09:00
Bill Currie
4d66fc175a
Avoid processing skins every frame.
...
Processing skins every frame would slow things down unnecessarily, so call
the skin functions only when something changes.
2012-01-24 10:28:07 +09:00
Bill Currie
6df8867d69
Implement custom skins for glsl.
2012-01-24 10:27:05 +09:00
Bill Currie
d6683711f4
Clean up some redundant defines.
2012-01-24 09:37:46 +09:00
Bill Currie
19dc579a5a
Fix custom player skins for the sw renderers.
2012-01-23 23:38:32 +09:00
Bill Currie
1f3eaaf2e0
Fix the importer for blender 2.61.
...
The use_image field of faces disappeared somewhere between 2.59 and 2.61.
2012-01-23 23:10:25 +09:00
Bill Currie
3b6e412bba
Clean up skin.h a little.
2012-01-23 21:42:28 +09:00
Bill Currie
3dbb5724db
Rename Skin_SetColormap_ to Skin_SetupSkin.
2012-01-23 21:40:12 +09:00
Bill Currie
08990ebb5a
Make top/bottom color work for GLSL.
...
Works quite nicely (love those colormaps).
2012-01-23 19:24:12 +09:00
Bill Currie
9a4b065eaf
Fix top/bottom colors for the SW renderers.
2012-01-23 17:33:19 +09:00
Bill Currie
6437a77021
Fix glsl qw alias model crc checking.
...
GLSL alias models don't use the cache, so don't try to access the data via
the cache.
2012-01-23 16:47:43 +09:00
Bill Currie
e3f76de898
Avoid a division by zero.
...
Doing a cache profile on an unused cache wasn't nice.
2012-01-23 16:46:52 +09:00