Commit Graph

226 Commits

Author SHA1 Message Date
Spoike 22bb395305 hexen2 client effects now go via the particle system, if they're supported at all. Added 'h2part' description to provide this.
Fixed svc_setangles and sv_bigcoords.
Model code is now responsible for transforming traces instead of it being generic. This fixes rotating things getting stuck in players in hexen2.
The renderer now generates a list of surfaces to draw. Backend now performs rotations/scaling per entity. This fixes sorting order, at least when not using realtime lights.
Hidden items in the hexen2 inventory that you do not have.
Added colourmapping for hexen2.
Should be easier to click on menu items for hexen2.

git-svn-id: https://svn.code.sf.net/p/fteqw/code/branches/wip@3602 fc73d0e0-1445-4013-8a0c-d673dee63da5
2010-08-28 17:14:38 +00:00
Spoike a4ed95a376 Fixed hexen2 plaques.
Fixed hexen2 new game menu ignoring class the first time around.
Fixed hexen2 pickup glows.
Slight loading speed improvement due to testing less texture paths.

git-svn-id: https://svn.code.sf.net/p/fteqw/code/branches/wip@3587 fc73d0e0-1445-4013-8a0c-d673dee63da5
2010-08-17 02:44:21 +00:00
Spoike 918833a763 hexen2 infoplaque.
splitscreen controls now on the menu.
Fixed splitscreen panorama.
Pause automatically when at the console/menus.
Attempting to clean up replacement texture paths (internal textures are still an issue).
Fixed a crash when playing oversized demos.
gl_bloom/ffov should now work again without bugging out.
H2 Demoness's staff should no longer generate errors when shooting with the tome of power. Some other related changes.
Server should compile now.

git-svn-id: https://svn.code.sf.net/p/fteqw/code/branches/wip@3585 fc73d0e0-1445-4013-8a0c-d673dee63da5
2010-08-16 02:03:02 +00:00
Spoike f535baa59f Added per-player userinfos (for splitscreen).
Enabled cheats in single player by default.
Added a 'sky' alias to wrap r_skybox.

git-svn-id: https://svn.code.sf.net/p/fteqw/code/branches/wip@3583 fc73d0e0-1445-4013-8a0c-d673dee63da5
2010-08-14 03:17:33 +00:00
Spoike 2cad75bc69 Attempting to fix/rework splitscreen.
Removed the impulse2/+forward2 etc commands.
Added +p2, -p2, p2 commands as a prefixed command instead. don't use + or - on them (so '+p2 forward' to move player 2 forward), this permits a simple generic way to send commands to a single player from an input device.
rawinput mice will submit commands/movements based upon idx%maxsplits, they will correctly submit mouse clicks, which will be mapped through the +p2/+p3 commands as appropriate, so each mouse is purely for a single player.
Fixed player model visibility in splitscreen mode.
Ignoring allow_splitscreen for the local player, cl_splitscreen is technically now the only enabler (though you will need to configure rawinput or binds).
Added support for { texturename prefixes.

git-svn-id: https://svn.code.sf.net/p/fteqw/code/branches/wip@3582 fc73d0e0-1445-4013-8a0c-d673dee63da5
2010-08-14 00:15:07 +00:00
Spoike fd16657900 Hexen2 fixes, compile fix, and splitscreen fixes although you won't see other players yet - I know why but its not an easy fix, and I don't want to break other things any more than I have to (R_ShouldDraw+external models).
git-svn-id: https://svn.code.sf.net/p/fteqw/code/branches/wip@3581 fc73d0e0-1445-4013-8a0c-d673dee63da5
2010-08-12 09:04:05 +00:00
Spoike ce07219448 Fixes, workarounds, and breakages. Hexen2 should work much better (-hexen2 says no mission pack, -portals says h2mp). Started working on splitting bigcoords per client, far too much work still to go on that. Removed gl_ztrick entirely. Enabled csprogs download by default. Added client support for fitzquake's 666 protocol, needs testing, some cleanup for dp protocols too, no server support, couldn't selectively enable it anyway. Now attempting to cache shadow meshes for explosions and stuff. Played with lightmaps a little, should potentially run a little faster on certain (intel?) cards. Tweeked npfte a little to try to avoid deadlocks and crashes. Fixed sky worldspawn parsing. Added h2mp's model format. Fixed baseline issue in q2 client, made servers generate q2 baselines. MOVETYPE_PUSH will not rotate extra if rotation is forced. Made status command show allowed client types. Changed lighting on weapons - should now be shaded.
git-svn-id: https://svn.code.sf.net/p/fteqw/code/branches/wip@3572 fc73d0e0-1445-4013-8a0c-d673dee63da5
2010-08-11 03:36:31 +00:00
Spoike 244c08ad04 Attempted to add support for divVerent's varlen protocol extension info. This is more silencing warnings than anything else.
Also tweeked video code to remove 6 dead sw-only functions.

git-svn-id: https://svn.code.sf.net/p/fteqw/code/branches/wip@3556 fc73d0e0-1445-4013-8a0c-d673dee63da5
2010-07-18 08:42:59 +00:00
Spoike e7ec40d0c8 Trying to fix some leaks.
git-svn-id: https://svn.code.sf.net/p/fteqw/code/branches/wip@3547 fc73d0e0-1445-4013-8a0c-d673dee63da5
2010-07-12 22:46:37 +00:00
Spoike 1e1084bed7 Changes merged from trunk. Also additional extensive changes. Q3 portals work.
git-svn-id: https://svn.code.sf.net/p/fteqw/code/branches/wip@3541 fc73d0e0-1445-4013-8a0c-d673dee63da5
2010-07-11 02:22:39 +00:00
Spoike e6f90bea14 Tweeks to the d3d renderer. Supports various shader features now. Other changes/fixes/breakages also.
git-svn-id: https://svn.code.sf.net/p/fteqw/code/branches/wip@3531 fc73d0e0-1445-4013-8a0c-d673dee63da5
2010-05-01 22:47:47 +00:00
Spoike 3b460e37b7 Reworked polyblends to use the backend. They no longer get stuck quite so much either. Added cl_download_mapsrc cvar (and plugin field) to specify an http location to download maps from (useful for demos, etc). A few other changes.
git-svn-id: https://svn.code.sf.net/p/fteqw/code/branches/wip@3522 fc73d0e0-1445-4013-8a0c-d673dee63da5
2010-03-25 22:56:11 +00:00
Spoike c0680334c7 What could possibly go wrong?...
Multiple consoles can now be printed/cleared via extra con commands.
Fixed the tab-completion alignment, by adding support for \t characters.
Changing the download mechanisms. Don't try downloading an ftp:// file. It'll probably crash you for now.
Trying to fix load time issues on q3bsps with a lot of curves.
Fixed sprites.
Added warning prints/spam where the new backend is bypassed, thus marking things that still need to be fixed.
QTV proxy fixed to not sit on qw servers unless someone is actually watching. Will ping for status requests still.
QTV proxy now supports ipv6.
QTV proxy now attempts to use the fte browser plugin.
Reworked the browser plugin code, now uses threads instead of ugly hacks. This should make cooperation with other such plugins work. Fixes unresponsiveness of opera, and gives an API that can be used from any other bit of software you want, tbh (read: internet explorer/activex plugins).

git-svn-id: https://svn.code.sf.net/p/fteqw/code/branches/wip@3516 fc73d0e0-1445-4013-8a0c-d673dee63da5
2010-03-14 14:35:56 +00:00
Spoike 589ef03c05 FTE, now with added C support - no longer treating enums as regular ints.
git-svn-id: https://svn.code.sf.net/p/fteqw/code/branches/wip@3509 fc73d0e0-1445-4013-8a0c-d673dee63da5
2010-02-06 01:25:04 +00:00
Spoike 66b78c0b11 Work In Progress branch.
In this version: replacement GL backend. Replacement D3D backend sharing code with GL. Lots of code reorganisation.

git-svn-id: https://svn.code.sf.net/p/fteqw/code/branches/wip@3401 fc73d0e0-1445-4013-8a0c-d673dee63da5
2009-11-04 21:16:50 +00:00
Spoike ad07e50ee8 Allow lumas if the server doesn't care.
git-svn-id: https://svn.code.sf.net/p/fteqw/code/trunk@3329 fc73d0e0-1445-4013-8a0c-d673dee63da5
2009-07-24 19:46:32 +00:00
Spoike f419538b37 Added skygroup command. Also polygon offset cvars. Even though its evil - I'm not sure how long it'll stay.
git-svn-id: https://svn.code.sf.net/p/fteqw/code/trunk@3321 fc73d0e0-1445-4013-8a0c-d673dee63da5
2009-07-19 20:43:07 +00:00
TimeServ a94a33212c destroy software rendering and break everything (and that won't be all!)
also note that merged builds on non-windows no longer make much sense

git-svn-id: https://svn.code.sf.net/p/fteqw/code/trunk@3283 fc73d0e0-1445-4013-8a0c-d673dee63da5
2009-07-16 22:06:59 +00:00
Spoike 4767b7215d Blame the monkey.
git-svn-id: https://svn.code.sf.net/p/fteqw/code/trunk@3238 fc73d0e0-1445-4013-8a0c-d673dee63da5
2009-07-06 06:09:49 +00:00
Spoike a80214290d Oh noes! Everything is broken!
Rewrote much of the console code. Should be no obvious differences.
Nearly all conchar parsing goes via a single function. Still some left in the dedicated server code.
Added the ability to parse utf-8 text, disabled by default.
Added the ability to input unicode chars using whatever keymap the user has set up in windows (not enabled by default).
Reworked vbo stuff to be a little more versatile.
Added toggle console command.
Added freetype2 support (not compiled by default).

git-svn-id: https://svn.code.sf.net/p/fteqw/code/trunk@3234 fc73d0e0-1445-4013-8a0c-d673dee63da5
2009-07-05 18:45:53 +00:00
Spoike f2cce499f6 Multiple minor cleanups. Chunks of dead code removed.
Added com_parseutf8.
Z_EXT_VWEAP is supposedly supported serverside, but not clientside. It is not advertised, and not used, yet.
Fixed csqc mouse issues in linux, supposedly.

git-svn-id: https://svn.code.sf.net/p/fteqw/code/trunk@3226 fc73d0e0-1445-4013-8a0c-d673dee63da5
2009-06-21 17:45:33 +00:00
Spoike 9cd988a836 Added csqc->ssqc requests.
Fixed up cl_indepphysics. Sending is fully independent, bar sync points.
Fixed so #if 0 works in qc code.
Fixed up error conditions in qclib when features are not supported.
The webpage generator will now refcount properly.
Fixed error conditions when using glsl shaders.
If MULTITHREAD is defined, r_loadlit will not light inside a separate thread.
We now generate VBOs for bsp objects. Shaders/rtlights don't use them yet.
Fixed up MVD/multiview playback a bit. It now looks like it works! (cl_hightrack will no longer track the same person in all views).
Fixed error conditions when attempting to download versioned csprogs.
Reduced the number of places that a q3-style marked up string is expanded. I think there are a couple places left still though. Approximated ezquake colour codes.
Memory mapped read file access in win32, where we can. Not sure about this. Lets see how things pan out.

git-svn-id: https://svn.code.sf.net/p/fteqw/code/trunk@3195 fc73d0e0-1445-4013-8a0c-d673dee63da5
2009-05-24 10:11:17 +00:00
Mark Olsen 2decc6d5c8 Please do not try to shut down the video code twice, kthx.
git-svn-id: https://svn.code.sf.net/p/fteqw/code/trunk@3188 fc73d0e0-1445-4013-8a0c-d673dee63da5
2009-05-10 21:44:13 +00:00
Spoike e403cebc65 Should be more robust with first-run config execs now.
Multiple download sources can be specified (eg for mod+map). Takes the form "providedfile:urltodownload providedfile:urltodownload". This comes via the browser so relative urls = woot. The old single-url-only path is no longer supported. This is an incompatible change, but we're still young. The unpacking process is still the same, and still only paks/pk3s are extracted. Note that the providedfile is relative to the base dir rather than the game dir. You can specify potential alternate gamedirs.
The QTV file is not mandatory, you can use map="blah" join="blah" stream="0@blah", so long as you set the mime type as: type="application/x-fteplugin". src="someqtvfile" still works, of course (and doesn't mandate the type= field, although that should probably be specified to make life easier on configuring servers to use the correct mime types).
The splash image can be set with: splash="myurlhere". Note that only jpg and png files are supported. This comes via the browser so relative urls = woot.
Game property can take multiple game dirs now, too. First argument is the basic game. If its one of the special ones then FTE is meant to hunt down your prior install for that. If its not recognised then its added as the only game directory. Additional ones are added after (eg: "id1 fortress" adds just id1+fortress while "q1 fortress" adds id1+qw+fte+fortress). Use appropriately.

git-svn-id: https://svn.code.sf.net/p/fteqw/code/trunk@3160 fc73d0e0-1445-4013-8a0c-d673dee63da5
2009-04-07 01:26:47 +00:00
Lance 030e080baa Wrapped sv.state with #ifndef CLIENTONLY to resolve npqtv's compile
error (I hope it's the proper fix, Spike please check if I did the 
right thing):
./client/cl_main.c: In function "Host_Init"
./client/cl_main.c:3708: error: "sv" undeclared (first use in this 
function)
./client/cl_main.c:3708: error: (Each undeclared identifier is reported 
only once


git-svn-id: https://svn.code.sf.net/p/fteqw/code/trunk@3158 fc73d0e0-1445-4013-8a0c-d673dee63da5
2009-04-06 05:46:17 +00:00
Spoike 2adb420a6d Reworked the console/loading screen a little. The console is no longer directly shown at startup. MSVC2005 project files update for npqtv.
Added vid_wndalpha to make the window transparent (only supported in GL-win32).
Multiple issues with SW rendering, which I'll fix eventually. It does at least run, even if it looks ugly.
Plugins are now able to read the console input. Bigfoot, feel free to tweek.
Fixed up a few mismatched prototypes.

git-svn-id: https://svn.code.sf.net/p/fteqw/code/trunk@3153 fc73d0e0-1445-4013-8a0c-d673dee63da5
2009-04-06 00:34:32 +00:00
Spoike 0eb7e83965 Stuff should compile a little better with GCC now.
git-svn-id: https://svn.code.sf.net/p/fteqw/code/trunk@3150 fc73d0e0-1445-4013-8a0c-d673dee63da5
2009-04-02 22:25:54 +00:00
Spoike 4974c57c2c Big fat-off commit.
A few changes. Half-Life support is finally getting committed.
Some unnecessary filesystem code changes.
And there's code for nsapi - meaning we can embed FTE in a browser (firefox and opera on windows work).
A couple of CSQC changes, trying to move towards a final EXT_CSQC_1.
Revised ruleset format finally implemented.
Doesn't compile with msvc6 due to issues with libjpeg not being a clean library.
Presumably its fine in vs2005.
Your mileage may vary.

git-svn-id: https://svn.code.sf.net/p/fteqw/code/trunk@3148 fc73d0e0-1445-4013-8a0c-d673dee63da5
2009-04-01 22:03:56 +00:00
Spoike 99c153199e version console command is now common, instead of client only.
git-svn-id: https://svn.code.sf.net/p/fteqw/code/trunk@3130 fc73d0e0-1445-4013-8a0c-d673dee63da5
2009-02-22 13:50:17 +00:00
Spoike c8f10aa212 Allow the user to change the protocol used by FTE to connect to itself. Only 'qw' is fully reliable at the moment, and that's the default. Eventually this can be cleared out to default to match the running progs type.
Also made the 'user' command semi-work in NQ.

git-svn-id: https://svn.code.sf.net/p/fteqw/code/trunk@3118 fc73d0e0-1445-4013-8a0c-d673dee63da5
2009-02-08 04:39:46 +00:00
Spoike 45692d1d1e an old new feature which had been on the wrong comp for a while.
git-svn-id: https://svn.code.sf.net/p/fteqw/code/trunk@3096 fc73d0e0-1445-4013-8a0c-d673dee63da5
2009-01-14 16:07:07 +00:00
Spoike 6e3f69f504 d3d rendering is diabled (framestate, read later - merged will compile just sw+gl for now).
fte particle scripts are disabled (classic works).
I'll fix these in the new year.
Redid framestate stuff again. Slightly better now, but this is the bulk of the changes here.
Reworked the renderqueue to provide batches of items instead of individual items. This cleans up the particle rendering code significantly, and is a step towards multiple concurrent particle systems. fte's scripted particles are broken as I'm trying to find a way to rework them to batch types together, rather than having to restart each batch after each particle when you have two particles in a trail. I'll fix it some time.
Reworked some alias model code regarding skeletal models. Added some conceptual skeletal bone control builtins available to csqc. Currently it can query the bone names and save off animation states, but can't animate - its just not complete.
Added more info to glsl custom shaders.
Updated surface sorting on halflife maps to properly cope with alphaed entities, rather than just texture-based blends (q2-style).

git-svn-id: https://svn.code.sf.net/p/fteqw/code/trunk@3095 fc73d0e0-1445-4013-8a0c-d673dee63da5
2008-12-23 02:55:20 +00:00
Spoike 4e1f6daf9f Split cl_nolerp into cl_nolerp and cl_nolerp_netquake. This means that netquake can have a different default. This allows it to be smoother without arcane tweeking.
git-svn-id: https://svn.code.sf.net/p/fteqw/code/trunk@3084 fc73d0e0-1445-4013-8a0c-d673dee63da5
2008-12-03 02:42:05 +00:00
Spoike 6fb100e8b5 more stuff broken
git-svn-id: https://svn.code.sf.net/p/fteqw/code/trunk@3071 fc73d0e0-1445-4013-8a0c-d673dee63da5
2008-11-28 20:34:51 +00:00
Spoike dce284811e Minor update...
Q3 clients can connect to q1 gamecode (sv_listen_q3).
hacked support for SendFlags. It'll work compatibly, just not efficiently.
Unified shared qc builtins.
fteqcc supports int |= float, more params in macros, &~= operator.
Additional recent DP QC extensions.
Particle system abstraction. 'r_particlesystem classic' (vs null or script) will revert to truly classic particles.
Nexuiz might run again.
Network address revamp (sv_port and sv_port_ipv6 can both be used to specify an ipv4 address:port and both corrently accept clients). localhost now properly favours ipv4 (use ::1 for ipv6 localhost).
Download system revamp.
Numerous other changes.

git-svn-id: https://svn.code.sf.net/p/fteqw/code/trunk@3051 fc73d0e0-1445-4013-8a0c-d673dee63da5
2008-11-09 22:29:28 +00:00
TimeServ 0adc1e1054 clear colorshifts on disconnect, don't decrease cshifts on gamma change, fix warning
git-svn-id: https://svn.code.sf.net/p/fteqw/code/trunk@3009 fc73d0e0-1445-4013-8a0c-d673dee63da5
2008-06-12 23:19:47 +00:00
TimeServ 3a7d339c38 new cvar cl_sparemsec (you shouldn't have to mess with this really), modified the sendcmd logic so cl_netfps works better and remote connections are a bit more efficient
git-svn-id: https://svn.code.sf.net/p/fteqw/code/trunk@3007 fc73d0e0-1445-4013-8a0c-d673dee63da5
2008-06-12 20:47:13 +00:00
Molgrum 33140dbf24 Ruleset expanded with ruleset_allow_localvolume. Set to 0 in 'nqr' and 'strict'. Made NET_AdrToString return a non-static pointer.
git-svn-id: https://svn.code.sf.net/p/fteqw/code/trunk@3002 fc73d0e0-1445-4013-8a0c-d673dee63da5
2008-06-08 14:37:57 +00:00
Spoike 519983dee2 git-svn-id: https://svn.code.sf.net/p/fteqw/code/trunk@2992 fc73d0e0-1445-4013-8a0c-d673dee63da5 2008-06-01 22:06:22 +00:00
Spoike 9b33803764 Fixed challenged acks.
git-svn-id: https://svn.code.sf.net/p/fteqw/code/trunk@2980 fc73d0e0-1445-4013-8a0c-d673dee63da5
2008-05-26 21:04:42 +00:00
Spoike 3bf676b1bb Improvements for using FTE as a Q2 client. Helps connecting to r1q2 servers (tastyspleen being an example).
git-svn-id: https://svn.code.sf.net/p/fteqw/code/trunk@2969 fc73d0e0-1445-4013-8a0c-d673dee63da5
2008-05-25 01:17:16 +00:00
TimeServ ce5cb75832 this commit will most likely break things: main Z_*/BZ_* calls no longer have zone logic, tagged allocs redone and now partially thread safe (still Sys_Error), code using reallocs should no longer assume new memory is zeroed, minor mysql fixes
git-svn-id: https://svn.code.sf.net/p/fteqw/code/trunk@2951 fc73d0e0-1445-4013-8a0c-d673dee63da5
2008-05-09 14:22:37 +00:00
TimeServ 1673ca7a7a PROTOCOL_VERSION to PROTOCOL_VERSION_QW to resolve a future header conflict
git-svn-id: https://svn.code.sf.net/p/fteqw/code/trunk@2940 fc73d0e0-1445-4013-8a0c-d673dee63da5
2008-04-12 23:24:19 +00:00
Molgrum 1e64dfd76d Patch from Spike. Two new ruleset cvars, one that prevents custom eyes models, one that prevents custom skins on packs/eyes (this doesn't work yet, needs fix).
git-svn-id: https://svn.code.sf.net/p/fteqw/code/trunk@2898 fc73d0e0-1445-4013-8a0c-d673dee63da5
2008-02-01 15:21:14 +00:00
Spoike 08f0d8bcb2 Made qtvplay work a bit better.
git-svn-id: https://svn.code.sf.net/p/fteqw/code/trunk@2886 fc73d0e0-1445-4013-8a0c-d673dee63da5
2008-01-30 02:32:00 +00:00
Spoike 10577d2e95 Fixes the enemy skin on team mates bug molgrum moaned at me about
git-svn-id: https://svn.code.sf.net/p/fteqw/code/trunk@2875 fc73d0e0-1445-4013-8a0c-d673dee63da5
2008-01-23 21:04:16 +00:00
Molgrum 28a7f7165e More consistent archiving.
git-svn-id: https://svn.code.sf.net/p/fteqw/code/trunk@2858 fc73d0e0-1445-4013-8a0c-d673dee63da5
2008-01-15 19:24:28 +00:00
Spoike 776faf1bc4 Added initial support for eztv extensions. This is the bulk of the changes. Downloading isn't implemented yet though. Also fixed some demo playback sbar stats, and fixed NQ demo playback.
git-svn-id: https://svn.code.sf.net/p/fteqw/code/trunk@2852 fc73d0e0-1445-4013-8a0c-d673dee63da5
2008-01-09 00:52:31 +00:00
Molgrum e855f380cd New default rate by Spike.
git-svn-id: https://svn.code.sf.net/p/fteqw/code/trunk@2817 fc73d0e0-1445-4013-8a0c-d673dee63da5
2007-12-18 16:05:02 +00:00
Spoike 5bfa1829d6 a qtvplay bug fixed.
git-svn-id: https://svn.code.sf.net/p/fteqw/code/trunk@2815 fc73d0e0-1445-4013-8a0c-d673dee63da5
2007-12-15 18:45:40 +00:00