Bill Currie
96b80433d8
Make some progress in getting static plugins to link.
...
Still many redefined symbols (and I expect more to come), and many
undefined symbols too.
2012-04-11 14:58:54 +09:00
Bill Currie
8530959752
Link the model libs to the render plugins.
2012-04-11 14:58:53 +09:00
Bill Currie
a4c280f2b2
Take the first step towards render plugins.
...
No clients link. Even if they did, nothing would work.
2012-04-11 14:58:53 +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
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
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
df87cffe15
Start working on the new GL skin code.
2012-01-24 23:06:07 +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
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
4955caafe5
Make the dynamic textures more readily available.
...
I want to get QF style particles going in glsl (since id style is currently
stuck at one pixel), but I don't want multiple copies of the texture code.
2012-01-21 19:13:01 +09:00
Sander van Dijk
8e6c3f7bf8
Make gl_rsurf.c compile without warnings with "gcc (GCC) 4.4.5 20101112 (Red Hat 4.4.5-2)".
2012-01-20 20:51:29 +09:00
Bill Currie
63893b6a2f
Zap some magic numbers.
2012-01-19 10:36:10 +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
7739ba3ea9
Move the 2D set out of the 3D code.
...
It really belongs exclusively in the screen setup code.
2012-01-13 19:51:45 +09:00
Bill Currie
ea377b80c5
Remove some redundate statements.
2012-01-08 20:38:56 +09:00
Bill Currie
f8d7bcf271
Rename R_RecursiveWorldNode to R_VisitWorldNodes in gl.
2012-01-08 18:16:33 +09:00
Bill Currie
601cc6e3d1
Make a start on bsp rendering.
...
Still nothing being rendered: still in the process of building the display
lists, but I'm making good progress. Get this into git before something
goes wrong :)
2012-01-08 10:29:38 +09:00
Bill Currie
ec7d01f9b2
Merge out R_TextureAnimation.
2012-01-08 10:21:08 +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
6f18035c12
Fix up alias-16 support.
...
After getting in contact with serplord, I now know that the sw alias
loading was correct. Turns out the gl loaders was mostly correct, just a
mistaken subtract rather than add. And with that, I can implement alias-16
support in glsl. better yet, since all the work is done in the loader, the
renderer doesn't know anything about it :) However, I need to create some
16-bit models for testing.
2012-01-05 12:52:12 +09:00
Bill Currie
f0e88bbe85
Rip out the duplicate lerp code and merge it.
...
While the vertex lerping needs to be duplicated in the current GL code,
there's no need for the setup code to be duplicated. Also, I want it for
GLSL.
2012-01-04 16:26:52 +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
1437cbec91
Make the face culling a little more sensible.
...
GL Quake was weird, culling front faces. Partly understandable, since
Quake's front order is clockwise and GL's default order is
counter-clockwise. However, since the order can be specified, that should
be done instead. Thus, specify the winding order as clockwise (for quake's
data), set culling for back-face removal, and then mess with the winding
direction in the mirror and fish-eye code.
2012-01-03 18:06:26 +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
20d93466c7
Frag some magic numbers.
...
More annoying than hipnotic's gremlins.
2011-12-30 21:07:35 +09:00
Bill Currie
db8573b774
Make the cross-hair data sharable between renderers.
2011-12-26 21:43:15 +09:00
Bill Currie
cc5140e3a1
Move min/max/bound and field_offset into better locations.
...
min/max bound into mathlib.h (they /are/ math functions, after all) and
field_offset into qtypes.h.
2011-12-24 10:04:33 +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
52d9269867
Merge brush model with world model rendering.
...
With this, non-mtex global fog now works properly :).
2011-12-18 08:09:55 +09:00
Bill Currie
a8e354536a
Implement the instance surface allocation/freeing.
...
Not actually used yet, so it's harmless at this stage.
2011-12-17 19:42:19 +09:00
Bill Currie
87b78e5533
Move the surface chain links out of the surfaces.
...
The links are now in "instance surfaces". For non-instanced models (world,
doors, plats etc (ie, world and its sub-models)), there will be one
instance surface per model surface. However, for instanced models (ammo
boxes etc), there will be many, dynamically allocated (not yet
implemented). This commit gets the static instance surfaces working.
2011-12-17 19:14:14 +09:00
Bill Currie
9f0bdf7794
Add some comments.
2011-12-17 09:39:57 +09:00
Bill Currie
933120d44f
Fake vertex arrays for text and particles.
...
Getting gl_vaelements_max -1 to work produced a rather nasty surprise :P
2011-12-16 20:09:05 +09:00
Bill Currie
e67690a1a9
Restore the missing lightmaps in non-mtex mode.
...
I forgot to blend in the lightmaps in the fogless non-mtex path.
2011-12-16 09:21:39 +09:00
Bill Currie
b2aa5ce554
Register the textures of other brush models;
2011-12-15 17:09:02 +09:00
Bill Currie
962451e2fe
Create a list of texture chains.
...
This moves the texture chains out of the world model and into a separate
list, allowing other brush models to registter their textures.
2011-12-15 17:09:02 +09:00
Bill Currie
d6a668d517
Split out chain_surface() from visit_node().
2011-12-15 17:09:02 +09:00