Commit Graph

6774 Commits

Author SHA1 Message Date
Bill Currie de8a9cd6cd More debian package build tweaks.
Clean out libtool links from m4/.
Remove redundant dependency on automake1.8.
Add dependencies for libjack-dev and libwildmidi-dev.

More work needs to be done on package contents, but things do build.
2010-12-11 15:35:03 +09:00
Bill Currie 774f049646 Fix garbage at edges of conchar characters.
Move the texture coordinates in 1/4 of a pixel. To avoid unnecessary
calculations, pre-caclulate the character cell texture coordinates and
blast them into the the texture coordinate array.
2010-12-11 12:09:30 +09:00
Bill Currie 8919aec663 Get global fog working in mtex mode. 2010-12-10 21:40:36 +09:00
Bill Currie d470094a55 Flip the nodes when flipping the plane. 2010-12-10 18:13:48 +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 6114495870 Don't try to load skys named "".
This makes 'loadsky ""' and 'loadsky none' equivalent.
2010-12-10 17:17:30 +09:00
Bill Currie 9ba70884c5 Prefer positive Z axis for 45 degree canonical planes. 2010-12-10 17:17:30 +09:00
Bill Currie ba2a5838fd Normalize the clip plane before adding it to the bsp. 2010-12-10 17:17:30 +09:00
Bill Currie aad204e80c Set the skybox from the map's worldspawn sky field. 2010-12-10 17:17:30 +09:00
Bill Currie 4af6c8c108 Catch and ignore sky and fog fields.
This way, we won't get spammed with "not a field" messages on map load.
2010-12-10 17:17:30 +09:00
Bill Currie c4f71c0cda Move r_skyname handling from R_NewMap to R_LoadSkys.
r_skyname now acts as the default sky to use when no sky name is specified
by other means ("none" is still no sky). 'loadsky foo' will load the
"foo*" sky textures, 'loadsky none' gives the default sky, and 'loadsky
""' causes uses r_skyname.
2010-12-10 17:17:30 +09:00
Bill Currie 8e557e81b6 Break out the guts of Ed_LoadFromFile into ED_Parse.
ED_Parse does not support progs privided parsing (at this stage, anyway),
but this will allow clients to easily get at the entities in a map.
2010-12-10 17:17:29 +09:00
Ragnvald Maartmann-Moe IV 843823de84 testsound depends on libQFutil 2010-12-10 17:07:06 +09:00
Bill Currie 51009cdc4b Clear the server progs data when loading progs.
The baseline data doesn't matter so much, but the pointer fields relied on
the progs engine clearing them. I forgot about this :/
2010-12-09 21:35:21 +09:00
Bill Currie 87acf89404 lots of whitespace 2010-12-09 18:32:21 +09:00
Bill Currie bc91faf51e Change back to storing the leafnum.
Still unlimited, of course :)
2010-12-09 17:24:38 +09:00
Bill Currie 64be913350 Some more package information 2010-12-09 17:24:38 +09:00
Bill Currie 3ae2ef8d11 Remove non-progs data from edict_t.
All data that is irrelevant to the progs engine itself has been removed
from edict_t and moved into the sv_progs code.
2010-12-09 17:24:37 +09:00
Bill Currie 9deb178e21 Some documentation fixups. 2010-12-09 13:35:11 +09:00
Bill Currie a062c758fd white space 2010-12-09 13:34:37 +09:00
Bill Currie 1291766298 Remove all "cosmetic" differences between nq and qw sv_phys.c 2010-12-09 08:52:40 +09:00
Bill Currie 6e87c4cea6 Make sure the level name does not over write the secrets count. 2010-12-08 21:59:23 +09:00
Bill Currie 9b9fde244b Move the EndFrame function "pointer" into the sv_funcs struct. 2010-12-08 21:20:35 +09:00
Bill Currie 33d768ba73 Get nq and qw sv_phys.c mostly into sync.
nq's SV_CheckVelocity will be a little different (spherical rather than
cubical), but sv_maxvelocity defaults high enough for it to not matter to
most players. It might even improve play.

The remaining differences need some careful thought before the physics
merge is done.
2010-12-08 18:14:40 +09:00
Bill Currie a893d8ead3 Get nq and qw world.c into sync (again:P) 2010-12-08 12:55:07 +09:00
Bill Currie e46b52a81c Plug the edict_leaf memory leak. 2010-12-08 09:20:43 +09:00
Bill Currie 31cf4b0d78 Use a linked list for the leafs in which the entity is positioned.
This allows the pvs to be used on an antity no matter how many leafs the
entity is touching. Seems to work nicely, but it will leak memory every
time a map is loaded.
2010-12-08 08:44:52 +09:00
Bill Currie a0828ddd06 Clean up bsp limits.
Delete all bogus bsp limits, fixing the code that depended on them.
Document those limits that are dictated by the format.
2010-12-07 17:58:09 +09:00
Bill Currie 0bd960d6cc Move IDPAKHEADER to where it belongs.
It's not used anywhere, but it doesn't belong with the bsp types.
2010-12-07 13:54:54 +09:00
Bill Currie 3b0dbd29ca make distcheck fixes 2010-12-06 21:24:49 +09:00
Bill Currie 981622f969 Make MOD_TraceLine behave "correctly".
MOD_TraceLine now behaves the same as id's SV_RecursiveHullCheck (from
WinQuake). This means that even if the trace would escape from solid space
into non-solid space, the trace is treated as allsolid if it crosses from
one solid space to another before hitting the empty space.

trace-id.c is used only for establishing the behaviour of id's code.
2010-12-06 15:30:56 +09:00
Bill Currie c2af7896bd Revert "make droptofloor continue the trace if it starts solid"
This reverts commit 10232acdfe.

The problem was really in the trace code, but it got fixed by "accident"
when I had similar problems in hipnotic a couple of years later. Now to
figure out just what the trace could really should be doing.
2010-12-05 14:56:32 +09:00
Bill Currie 31640dd1b9 Clean out the last traces of my boxclip code.
I've been experiencing funny trace issues while playing Soul of Evil. While
I think the boxclip dregs shouldn't be causing problems, it's probably best
to clean them out properly before trying to fix anything.
2010-12-05 14:52:20 +09:00
Bill Currie b1b1a02c6c Get entity allocation and freeing working correctly.
This fixes the missing static entities.
2010-12-04 23:37:58 +09:00
Bill Currie 9bce1630a6 Revert "Tidy up CL_RelinkEntities a little bit."
This reverts commit ad7e7e45fe.

The cleanup broke entity linking, but fixing it would just duplicate the
previous tests, so might as well revert. Cleaning up the interpolation code
is probably a better approach.
2010-12-04 22:41:44 +09:00
Bill Currie cd660f6804 Fix smoke trails that were broken by the efrags commit.
The efrags system's usage of ent->visframe clashes with that of
CL_LinkPacketEntities. As the latter is rather bogus, and potentially
visible entities are always inserted into the map (causing ent->efrag to be
non-null), a null ent->efrag is a good indication that the entity is newly
visible.
2010-12-03 21:01:52 +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 3b08ac89d0 Unlink the entity's efrags when removing the entity. 2010-12-03 17:15:11 +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 abe0c50a2a Use efrags with packet entities.
This fixes brush models in the software renderers.
2010-12-03 14:10:53 +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 79796c1b16 Split out the MVD Playerinfo parsing into its own function. 2010-12-02 17:11:33 +09:00
Bill Currie ad7e7e45fe Tidy up CL_RelinkEntities a little bit. 2010-12-02 15:12:17 +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 d24837af4a Make nails use temp entities.
While reading the code, I noticed the comment stating that qw projectiles
(nails) are really temp entities, so I decided to make that true. The
client now supports unlimited projectiles.
2010-12-01 17:15:28 +09:00
Bill Currie 532e79bca6 Limit the amount of time that MVDs can skip.
Trying to cover very long times will probably cause more problems than it
fixes, so limit the length of time. Two seconds aught to be enough for
now. Need to look into proper handling of prevtime.
2010-12-01 08:11:45 +09:00
Bill Currie c416e15cd7 Get the format of the time hack packet correct.
dem_read has a length word, which I had failed to see at the time. It
seems that mvd's don't mind a zero length packets.
2010-12-01 08:04:24 +09:00
Bill Currie b1e5a5f4c2 Make sure netchan is initialized on time.
Connecting to a server sv_timeout seconds after program start was failing
to to the connection instantly timing out.
2010-11-30 22:35:17 +09:00
Bill Currie f87233c69d Merge branch 'master' of ssh://kurogane/media/eee/bill/qf/quakeforge 2010-11-30 17:00:19 +09:00
Bill Currie e8f18a6d72 More NEWS updates. 2010-11-30 14:05:31 +09:00