Bill Currie
e730608dd7
Implement r_flatlightstyles from fitzquake.
2012-06-15 22:02:14 +09:00
Bill Currie
7299ca7bec
More cl_parse tidyup.
...
svcs are now in order: makes it even easier to see what's different between
nq and qw.
2012-06-15 22:02:14 +09:00
Bill Currie
476ad75724
Add a fixme to remove skin from qw's entity_state_t.
2012-06-15 22:02:14 +09:00
Bill Currie
9c440ad9e2
Rename entity_state_t's skln to skinnum in nq.
...
Also some whitespace and comment corrections.
2012-06-15 22:02:14 +09:00
Bill Currie
25cb618e4d
Clean up client_static_t a little more.
2012-06-15 22:02:13 +09:00
Bill Currie
b20daaf611
Nuke mapstring and spawnparms from client_static_t.
...
They're completely useless. Even though spawnparms was sent over the
network, the server ignored it. mapstring was never read anywhere.
2012-06-15 22:02:13 +09:00
Bill Currie
1aa2c22169
Nuke MAX_SCOREBOARDNAME from qw.
...
It was different from nq's MAX_SCOREBOARDNAME, and not really necessary,
what with being able to uuse info_key_t caches.
2012-06-15 22:02:13 +09:00
Bill Currie
b4ad695e16
Make info_t opaque.
...
I didn't like the way client/server code was poking around at the
implementation. Instead, provide a couple of accessor functions for the
same information.
2012-06-14 22:46:23 +09:00
Bill Currie
da8355a5f6
Remove some commented code.
2012-06-14 22:45:59 +09:00
Bill Currie
65bb35509f
Rearrange the offset cheat prevention.
...
Rather than (expensively) setting the cvars to 0 every frame, just ignore
their values in multiplayer mode.
2012-06-14 22:45:40 +09:00
Bill Currie
e7c3ae911f
Clean up some diff noise.
2012-06-14 22:45:24 +09:00
Bill Currie
96785ccec7
Clean up chase/spectator camera stuff.
...
o Rename nq's cl_cam.c to cl_chase.c.
o Split out the chase cam stuff from qw's cl_cam.c to cl_chase.c
2012-06-14 22:45:05 +09:00
Bill Currie
ac1bf2a158
Don't save unnamed fields.
...
There will normally be only one unnamed field (if any), and it's always the
null field. This will put an eventual end to the "'' is not a field"
messages.
2012-06-10 20:56:22 +09:00
Bill Currie
cf2377e76f
Fix view angles when loading saved games.
...
As per mh's post on inside3d.com.
2012-06-10 16:50:35 +09:00
Bill Currie
2dfa871794
Try mvd before qwd when no extension is given.
2012-06-03 20:12:34 +09:00
Bill Currie
93e35d7ec0
Add demo format auto-detection.
...
nq now rejects anything that doesn't look like a .dem, and qw not only
rejects anything that looks like neither a .qwd nor a .mvd, but even
detects which one is being played by the contents rather than the file name
(foo.mvd.gz would be mis-detected as a qwd!!).
2012-06-03 20:04:02 +09:00
Bill Currie
dfc8f8bb20
Minor cleanup of CL_Record() and give nq default demo names.
2012-06-03 20:03:43 +09:00
Bill Currie
82a41017ec
Create a proper ca_active state.
...
Yay, no more ugly "SIGNONS" hack for whether to render :)
2012-06-03 20:01:42 +09:00
Bill Currie
7d84800250
Remove an unnecessary if.
...
It needed during initial development of the patch, but with the refactoring
of s_init, it became redundant.
2012-05-28 07:58:11 +09:00
Bill Currie
01fb4f265d
Attempt to reconnect to jack on loss of connection.
2012-05-28 07:46:22 +09:00
Bill Currie
dbc203b625
And a few more bits of whitespace.
2012-05-23 08:21:27 +09:00
Bill Currie
23a38738fc
Massive whitespace cleanup.
...
Lots of trailing whitespace and otherwise blank lines.
2012-05-22 08:23:22 +09:00
Bill Currie
01773c7cd3
Fix the infinite think loop when playing honey.
...
The change to nq SV_RunThink to match that in qw finally bit my bum. I
suspect it's really a bug in the honey progs (using ltime on a non-pusher),
but QF locking up is not very friendly. I want to keep the option of having
a think loop in the same frame for progs that expect it (using
self.nextthink = time), but also NQ's original method of running think
every frame. Hopefully no progs expect "self.nextthink = time" to run
every frame rather than loop within the current frame.
2012-05-20 22:45:30 +09:00
Bill Currie
85da69a96a
Transform normals wrt bones in sw and sw32.
...
Better lighting :), though any scaling/shearing will produce funny results,
and sw32's lighting is broken in general.
2012-05-20 15:21:25 +09:00
Bill Currie
b5add680f7
Add Mat4as3MultVec.
...
to transform a vertex without the translation (eg, for normals) without
having to have separate matrices.
2012-05-20 15:20:18 +09:00
Bill Currie
0fbaa2a88a
Add sw32 support for iqm models.
...
That was easy :)
2012-05-20 14:23:41 +09:00
Bill Currie
3087e685cc
Convert texcoords to fixed point.
...
Bah, another weekend wasted on an oversight :( However, Mr. Fixit looks
quite alright in the quake palette.
2012-05-20 10:02:44 +09:00
Bill Currie
f0285e5a08
Correct the texcoord conversion.
...
1.0 is to represent the last pixel, not one past it.
2012-05-20 08:51:15 +09:00
Bill Currie
e2db2dcb63
Support static iqm models.
...
Segging on a model with no animations is not nice :P
2012-05-19 21:26:11 +09:00
Bill Currie
6ace105e31
Fix some macro parenthesis issues.
2012-05-19 21:25:58 +09:00
Bill Currie
d25f39cc7d
Remove pskindesc from affinetridesc_t.
...
It's never used after being set.
2012-05-19 09:29:05 +09:00
Bill Currie
c1eb3e77c3
Process each vertex texcoord only once.
...
Double converting texcoords results in 0,0 for all affected texcoords. Mr
Fixit was looking rather ill. Now he looks weird (something wrong in the
renderer?).
2012-05-19 09:15:26 +09:00
Bill Currie
d41bf32d91
Hopefully fix color conversion.
...
Hard to tell because the triangle rendering is still messed up. However,
storing negative values in bytes doesn't work :)
2012-05-19 09:14:07 +09:00
Bill Currie
be9c0697a2
Give sw iqm its own transform setup.
...
IQMs don't need to be scaled or offset. This fixes iqms not rendering,
though they actually were: just super tiny.
2012-05-19 00:43:26 +09:00
Bill Currie
c0517b1d97
Factor out the blend palette creation.
...
gl, sw and sw32 use blend palettes, so share the code. This also abandons
the optimization for transforming verts in sw (had all sorts of problems
anyway). sw still doesn't work, though.
2012-05-19 00:34:15 +09:00
Bill Currie
e069757ceb
Refactor the skin setup code.
2012-05-19 00:18:03 +09:00
Bill Currie
fb10f38fd4
SW now tries (but fails miserably) to render iqm models.
...
Something seems to be very wrong with the transforms.
2012-05-18 23:31:14 +09:00
Bill Currie
da87ac0ce5
Remove some unused parameters.
2012-05-17 21:33:22 +09:00
Bill Currie
da313cfae7
Load iqm models in the sw renderers.
...
sw32 loses 32 bit textures :/
loading is /slow/ (converting rgb(a) to 8bit palette... ouch.
2012-05-17 21:17:48 +09:00
Bill Currie
7637f35616
Remove the test scaling.
...
Heh, forgot to remove it again :)
2012-05-17 16:02:13 +09:00
Bill Currie
c3801d46e5
Render iqm models in GL.
...
There are still many issues to sort out, but the basics are working.
Problems:
rendered fullbright (no lighting done)
normals are ignored
extra textures (glow etc) not used/loaded
4 models on the screen don't seem to be a problem.
2012-05-17 15:58:29 +09:00
Bill Currie
f958afad53
Optionally allocate extra data for iqm blend frames.
...
Also, correct the blend parameter type (int->float. oops).
2012-05-17 15:57:07 +09:00
Bill Currie
02f8aa6b75
Add Mat4MultAdd macro.
2012-05-17 15:56:01 +09:00
Bill Currie
c0df07b607
Enable loading of iqm models in gl.
...
They don't render yet, but the engine doesn't segfault.
The vertex blend indices are rewritten with blend palette indices.
2012-05-17 15:55:38 +09:00
Bill Currie
e722352a61
Add SYS_MODEL developer flag (8192)
2012-05-17 13:39:45 +09:00
Bill Currie
23284536b5
Move IQM freeing into common code.
2012-05-16 18:09:44 +09:00
Bill Currie
041d63c828
Move the frame blending into common code.
2012-05-16 17:44:18 +09:00
Bill Currie
8ada7c02a3
Remove the vertex scaling.
...
It was there only because mrfixit is rather small (8qu?) and it made
finding him easier :). Anyway, any scaling should be done in the engine.
2012-05-16 08:13:59 +09:00
Bill Currie
9984925fe8
Correct a comment.
2012-05-15 21:08:47 +09:00
Bill Currie
31772afd13
Add in some ambient light for iqm models.
...
Though the bsp loader doesn't yet support colored lighting, the ambient
light will be colored when it does. With this, I guess iqm model support is
done for glsl until I figure out how I want to do dual quaternion support.
2012-05-15 21:08:47 +09:00