Bill Currie
72fb96245f
Cleanup global symbols for the sw and sw32 renderers.
...
Names not mangled, but those symbols that could be made static have been.
Also, many dead variables have been removed.
2012-02-18 14:34:14 +09:00
Bill Currie
447ff2f2f5
Clean up global symbols for the gl renderer.
...
Where possible, symbols have been made static, prefixed with gl_/GL_ or
moved into the code shared by all renderers. This will make doing plugins
easier but done now for link testing.
2012-02-18 11:48:52 +09:00
Bill Currie
4707706f5d
Use QF_NEED for the renderer and model libraries.
...
This breaks RPM building, but I can fix that later.
2012-02-10 13:29:45 +09:00
Bill Currie
a694eed968
Add Draw_Picf to allow smooth placement on low-res consoles.
2012-02-06 19:32:30 +09:00
Bill Currie
f800e79a38
Make the init process more dependency based.
...
Most subsystems that depend on other subsystems now call the init functions
themselves. This makes for much cleaner client initialization (more work
needs to be done for the server).
2012-02-01 21:52:47 +09:00
Bill Currie
b9bb7d95bb
Remove calls to Sbar_Changed from the libraries.
...
If this breaks things, we'll have to sort something out, but again, no libs
reaching into the exe.
2012-02-01 20:06:14 +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
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
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
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
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
7bfddd7ffe
Gut most of the old skin code.
...
Custom skins are smashed on most targets. Player colors don't work, etc.
However, this will let me do a much cleaner implementation.
2012-01-23 16:16:30 +09:00
Bill Currie
3669e3aa2e
Make alias model caching optional.
...
For now, only the glsl loader disables caching, but it stores the frame
vertices in GL memory, so its hunk usage is relatively lower (and will be
lower still when I get skins sorted out).
2012-01-17 19:31:50 +09:00
Bill Currie
0abb8a7554
Merge the particle physics.
2012-01-15 20:14:36 +09:00
Bill Currie
ece78f7605
Clean out some useless functions.
...
D_Start/EndParticles in the sw renderers will likely never have any
content, so no point in calling or even having them.
2012-01-15 09:34:10 +09:00
Bill Currie
ec7d01f9b2
Merge out R_TextureAnimation.
2012-01-08 10:21:08 +09:00
Bill Currie
2ae044effd
Split out vrect_t to its own file and add support functions.
...
The rest is cleanup after removing a wart from one of the field names.
2012-01-06 09:52:14 +09:00
Bill Currie
423e08ce21
Add demo to "movie" conversion.
...
It currently writes a series of png files (QF/qfmvNNNNNN.png), at a fixed
rate of 30fps, with no sound recording.
2012-01-05 19:19:37 +09:00
Bill Currie
b13a2b6dbd
Move screenshots to $fs_userpath/QF.
...
I got tired of screenshots getting scatter across the tree. ShotsPath in
the dirconf can override this.
2012-01-05 17:07:27 +09:00
Bill Currie
297a4e2756
Put the D_FlushCaches mess back.
...
It turns out that when it is called is highly timing sensitive :(
However, the rest of R_ClearState remains.
2012-01-05 15:50:20 +09:00
Bill Currie
454047ab92
Make r_novis 0 take effect immediately.
2012-01-03 23:17:49 +09:00
Bill Currie
0797183201
Merge R_MarkLeaves from gl, sw, and sw32.
...
Other than novis, they're functionally identical. Now sw and sw32 have
novis as well.
2012-01-03 21:09:13 +09:00
Bill Currie
72e3a8d507
Merge sw and sw32 alias frame selection.
...
I'm leaving GL for later because lerping complicates things. I'll sort it
out when I implement lerping in GLSL.
2012-01-02 17:47:22 +09:00
Bill Currie
1c480bf75e
Merge the alias skin selection code.
...
We really don't need 4 copies of identical code when 1 will do :P
2012-01-02 15:57:43 +09:00
Bill Currie
8ee13ef8c2
Do some clipping in the draw routines.
...
After fixing Maraakate's crash, I thought it would be a good idea to put
the fixes into QF, too.
2011-12-28 19:20:18 +09:00
Bill Currie
53d89bf85a
Clean up the mess around D_FlushCaches.
...
Create an R_ClearState and call that from the clients. It calls any
necessary functions itself.
2011-12-23 12:51:47 +09:00
Bill Currie
3eb859a88f
Move the entity transform setup into the clients.
...
This has several benifits:
o The silly issue with alias model pitches being backwards is kept out
of the renderer (it's a quakec thing: entites do their pitch
backwards, but originally, only alias models were rotated. Hipnotic
did brush entity rotations in the correct direction).
o Angle to frame vector conversions are done only when the entity's
angles vector changes, rather than every frame. This avoids a lot of
unnecessary trig function calls.
o Once transformed, an entity's frame vectors are always available.
However, the vectors are left handed rather than right handed (ie,
forward/left/up instead of forward/right/up): just a matter of
watching the sign. This avoids even more trig calls (flag models in
qw).
o This paves the way for merging brush entity surface rendering with the
world model surface rendering (the actual goal of this patch).
o This also paves the way for using quaternions to represent entity
orientation, as that would be a protocol change.
2011-12-15 17:09:01 +09:00
Bill Currie
91e65b6c80
Rename mplane_t to plane_t and clean up the mess.
...
I got rather tired of there being multiple definitions of mostly compatible
plane types (and I need a common type anyway). dplane_t still exists for
now because I want to be careful when messing with the actual bsp format.
2011-11-28 20:54:34 +09:00
Bill Currie
e89532cb9f
Fix a couple of missed view.h->clview.h changes.
2011-08-02 11:29:20 +09:00
Bill Currie
0f7390dd60
Clean up all the "set but not used" warnings.
...
gcc on my system is failing to treat this specific warning as an error :/
2011-06-19 10:48:02 +09:00
Bill Currie
74a7e07dfc
Use AM_CFLAGS instead of CFLAGS.
...
CFLAGS is meant to be reserved for the user.
2011-05-10 12:44:44 +09:00
Bill Currie
14480fd1b4
Move the call to R_ClearEnts to the renderer.
...
This fixes the hang on certain maps in qw-client.
2010-12-25 19:59:34 +09:00
Bill Currie
ce96e6b055
The beginnings of fog support.
...
gl_fog.c is taken from fitzquake with only minor modifications to get it
into QF. Other than worldspawn/network parsing, it's not used yet.
2010-12-10 17:17:30 +09:00
Bill Currie
a4b97e9e2e
Dynamic entity allocation. Unlimited static entities.
...
Entities can now be allocated dynamically. They are freed whenever a new
map is loaded.
Use the dynamic entities for static entities.
2010-12-03 21:01:52 +09:00
Bill Currie
a6941e27ef
Eliminate MAX_VISEDICTS. Unlimited visible entities.
...
The renderer can now render as many entities as can be crammed into the
currently visible set of nodes.
2010-12-03 14:59:02 +09:00
Bill Currie
f98b002f9e
Make R_StoreEfrags const-correct.
...
R_StoreEfrags does not need to modify its parameter or anything to which
it directly refers, so make the pointer single-level and constant.
2010-12-03 13:30:49 +09:00
Bill Currie
085b0f4448
Remove R_SplitEntityOnNode2
...
When R_AddEfrags is used (as is the case in nq), this function is
redundant. Brush models in qw are currently broken (invisible), but that's
just a matter of getting qw to use R_AddEfrags instead of R_NewEntity.
This removal should speed up the software renderers a little bit.
2010-12-02 08:31:48 +09:00
Bill Currie
31c13d92a2
Protocol 666/large map support from FitzQuake.
...
Alpha and lerping aren't implemented yet, but things seem to be working. I
can load and play oms2.bsp (Conflagrant Rodent).
2010-11-26 16:20:05 +09:00
Bill Currie
8c4fe2f844
Rename Sys_DPrintf to Sys_MaskPrintf.
...
We now have finer runtime control over what gets printed. Need to do a
SYS_DEV audit, creating new masks as apropriate.
2010-11-26 16:19:26 +09:00
Bill Currie
232d2f7e18
Fix an undefined operation thanks to spirit of the domain quaddicted.com.
2010-11-16 17:13:22 +09:00
Bill Currie
a51e888a1b
Nuke MAX_OSPATH and clean up the mess.
2010-08-25 13:31:08 +09:00
Bill Currie
0dfff8fd58
ignore stuff
2010-08-07 10:42:09 +00:00
Bill Currie
997102fea8
audit the usage of "only"
...
There are still a few iffy places (notably around certain prepositions), but
the relevant sentences are now much easier to read.
2010-01-13 06:42:26 +00:00
Bill Currie
018a0b3bb6
fix the missing crosshair
2009-12-23 01:26:14 +00:00
Bill Currie
28601c8ea4
more screen size cleanup
2009-12-22 13:12:03 +00:00
Bill Currie
4ff2cb88cf
bigscreen patch from Philippe Troin
2009-12-20 05:34:41 +00:00
Bill Currie
e3b47c9c6d
This should make stdint stuff work better in general (can't test properly due to my mingw setup being borked)
2007-11-25 04:44:53 +00:00
Bill Currie
d66934942d
nuke Con_Printf and Con_DPrintf and use Sys_* instead
2007-11-06 10:17:14 +00:00
Bill Currie
d1e2b6b7d2
make the raw particle creation functions available and use them for creating the location marker effect rather than WizSpikeEffect
2007-09-15 04:20:45 +00:00
Bill Currie
93ee2e489b
more vc2005 patches from phrosty
2007-04-11 22:03:36 +00:00
Bill Currie
02c41feabc
make gamedir change a two phase operation so things can be done both before and after the cache is flushed. (still having problems with cached sounds, though)
2007-03-24 10:13:10 +00:00
Bill Currie
99c0954b47
the big dso visibility patch :). Sure, we have to have unique names for static builds, but with controlled visibitly we should get faster program loads (although this isn't C++, so it's not as bad) and complex plugins are cleaner.
2007-03-10 12:00:59 +00:00
Bill Currie
5062930bad
bit more cleanup and some documentation
2006-12-03 06:25:57 +00:00
Bill Currie
7bca4cf8af
clean up the draw interface a bit
2006-12-02 10:07:08 +00:00
Bill Currie
3fb03fc2be
hah, should have been using __attribute__((used)) all that time (rather
...
than __attribute__((unused))). fixes the missing console in -x11
2005-08-04 15:27:09 +00:00
Bill Currie
0bfac8dd88
win32 compile fixes
...
This is an imperfect revision of history.
2004-11-06 02:21:00 +00:00
Bill Currie
b36569eb9f
grievre's patch to make entity minlight and fullbright fields work properly
2004-07-11 00:37:48 +00:00
Bill Currie
57ffcae9fe
remove some dead code
2004-05-03 04:52:00 +00:00
Bill Currie
1f9d75a7c7
add r_norefresh support to sw and sw32 and rename the console side of the
...
cvar to get around the evil in customtf
2004-04-16 03:24:10 +00:00
Bill Currie
b62f3c98d9
full path reporting when writing screenshots
2004-04-14 03:31:08 +00:00
Bill Currie
2955fac550
first step of centerprint/finale cleanup. fixes the misplaced text for
...
end-of-episode text
2004-03-01 23:47:39 +00:00
Bill Currie
3855a8e40c
seem to have the itterative world rendering working now (fingers crossed:)
2004-02-26 22:53:30 +00:00
Bill Currie
2d2173dc4e
make R_RecursiveWorldNode non-recursive (needs a new name, now :). 0.4%
...
speedup in null-renderer gl: unknown for sw and sw32 (could be slightly
slower, left recursive version in but #if 0ed out jic)
2004-02-15 03:46:55 +00:00
Chris Ison
6642686e33
removal of legacy MGL block_drawing variable. Fixed window restore bug that prevented the screen from being updated.
2004-02-15 03:40:50 +00:00
Ragnvald Maartmann-Moe IV
fef9b30bd7
QF, now complete with underbrights, thanks to Grievre.
...
Play with gl_overbright and gl_doublebright. That's an order.
2004-02-15 00:02:04 +00:00
Bill Currie
f34335a0c9
provide a builtin to draw a crosshair.
2004-02-13 23:16:33 +00:00
Bill Currie
4cabb40303
break the crosshair draw code into separate functions and give sw and sw32
...
crosshair 3
2004-02-13 22:16:53 +00:00
Ragnvald Maartmann-Moe IV
c4402e07bd
Working towards merging q2 model, sprite, and map support. Check back in a few
...
years, might be finished. ;)
2004-02-08 02:49:38 +00:00
Bill Currie
8ea7690530
serious cleanup of refdef calculations.
2004-02-08 00:37:11 +00:00
Ragnvald Maartmann-Moe IV
bcf3738c1c
Make trails in sw renderers const-friendly.
2003-10-23 03:53:59 +00:00
Ragnvald Maartmann-Moe IV
5686ff51e5
Make R_DarkFieldParticles & R_EntityParticles work in all renderers.
2003-10-22 06:00:36 +00:00
Bill Currie
2b5a3753ca
nuke QF/texture.h moving it's contents into QF/image.h (yay, finally, a
...
real home for tex_t:)
2003-09-04 18:59:39 +00:00
Bill Currie
0a8867fde9
replace all VectorSubtract (vec3_origin, ... and
...
VectorCopy (vec3_origin, ... with VectorNegate (... and VectorZero (...,
respectively. Should be a small speedup.
2003-09-03 22:17:04 +00:00
Ragnvald Maartmann-Moe IV
c2053fbfb1
Prettier particles! Renderer is now informed of sv_gravity changes in qw. Not
...
supportable without protocol changes in nq.
2003-08-27 22:20:03 +00:00
Bill Currie
6063fb75d9
make the console run at full speed no matter what demo_speed is at. what a
...
lot of work for such a simple concept :P
2003-07-25 22:21:47 +00:00
Bill Currie
66e2ef1926
fix an uninitialized variable
2003-05-23 17:39:33 +00:00
Bill Currie
c2c3a62956
nuke Qexpand_squiggle. instead, expand ~ to $HOME on qfs initialization and
...
cache the value.
don't call Qopen directly in the engine. instead call QFS_Open (generic) or
QFS_WOpen (write only, zip flag).
rework QFS_NextFilename to use a dstring (avoiding a potential buffer
overflow), support 10000 files and work from the top-level fs_userpath
directory. adjust QFS_WriteFile and QFS_WriteBuffers etc to suit.
make sw32 screenshots actually get written.
hopefully everything gets written to the right places :)
2003-05-23 17:17:01 +00:00
Bill Currie
905f1826eb
temporarily remove location support from nq (and location markers from both)
...
until client code has been cleaned up more
2003-04-21 18:26:21 +00:00
Bill Currie
eb099ae0d3
make qf gcc 3.3 clean
2003-04-17 00:01:48 +00:00
Bill Currie
6a687f5e45
rename all the globals in quakefs.[ch] to be QFS_* or qfs_*
2003-02-14 19:46:07 +00:00
Bill Currie
4bd1718475
re-arrange viewsize handling to fix the hud bug in glx
2003-02-11 21:24:27 +00:00
Bill Currie
761a7546dd
re-arrange things so __attribute__ and __builtin_expect are properly
...
autoconfiscated so rcsid will continue to work with gcc 3.3
2003-01-15 15:31:36 +00:00
Bill Currie
71196fedf6
make gcc more anal about prototypes, string constants and function
...
visibility (ie, global functions must have a prototype)
2003-01-06 18:28:13 +00:00
Bill Currie
37c5bb6ec6
merge the bulk of the three screen files into r_screen.c so all common code
...
is shared.
2002-12-11 17:34:48 +00:00
Bill Currie
bf3fa3dc76
remove some dead code and a lot of unnecessary diffs
2002-12-11 16:45:40 +00:00
Bill Currie
6ce0abe536
more alpha compile fixes. Closes : #60 because while it started out for
...
0.1.1 it developed into an alpha compile issue for 0.5.2
2002-11-13 20:20:50 +00:00
Bill Currie
ca4b3acd6c
big protototype cleanup. Now, except for a few cases, all non-static
...
prototypes are in headers files.
2002-11-05 19:12:51 +00:00
Bill Currie
3d668334e6
copy that fix for the other renderers
2002-09-30 21:35:13 +00:00
Bill Currie
f7b4dffcc0
get larger player skins working in gl
2002-09-13 05:32:28 +00:00
Bill Currie
899ad6bebe
use the correct palette when writing out screen shots
2002-09-10 15:13:12 +00:00
Bill Currie
ecdd537183
beat sw gamma handling till GL works. after a fasion. it /looks/ like it was
...
beaten on.
2002-09-10 06:35:32 +00:00
Bill Currie
9f6f50699d
remove vid_basepal, creating vid.palette (current palette) and host_basepal
2002-09-10 03:51:10 +00:00
Ragnvald Maartmann-Moe IV
c1a8a02762
Whitespace.
2002-08-27 19:38:04 +00:00
Bill Currie
a7380fef66
nuke msg_suppress_1 in favor of Sys_DPrintf
2002-08-27 18:05:59 +00:00
Bill Currie
ec47e08e1c
go back to using QFile, quakeio.h and quakefs.h
2002-08-27 07:16:28 +00:00
Bill Currie
c44ec1993d
handle up to 512x512 map textures /properly/. would be nicer if the max
...
could be dynamic
2002-08-22 19:00:55 +00:00
Ragnvald Maartmann-Moe IV
c91f1a2aea
Rename Length to VectorLength.
2002-08-20 02:22:40 +00:00
Bill Currie
2ce0f2ded2
we now require modern autoconf (2.52+), automake (1.6+) and libtool (1.4+).
...
This gives us a bunch more flexibility. plugins no longer have the "lib"
prefix or the version suffix, they're now installed in
$fs_sharepath/QFplugins,, builds should take much less time (in general,
only one of pic or non-pic versions are build), bins and libs can have
individual CFLAGS
2002-08-01 19:49:10 +00:00
Bill Currie
51e4cad3fe
get Draw_SubImage doing transparencies
2002-07-25 05:04:22 +00:00