Commit graph

49 commits

Author SHA1 Message Date
Spoike
7f6c2054d9 threaded loading code and associated/extensive tweaks.
unified image loading code a little between renderers.
support switching worldmodel in csqc. also associated bugfixes.


git-svn-id: https://svn.code.sf.net/p/fteqw/code/trunk@4758 fc73d0e0-1445-4013-8a0c-d673dee63da5
2014-10-05 20:04:11 +00:00
Spoike
45bafbf374 fix issue with more submodels than the precache model limit. bump model precache limit.
move some of the weird hexen2 features into a HEXEN2 define, which will be disabled by the QUAKETC define.
preliminary attempt at capsule collision support. only capsule/q3bsp support, no capsule/box, box/capsule, or capsule/capsule support, yet.

git-svn-id: https://svn.code.sf.net/p/fteqw/code/trunk@4753 fc73d0e0-1445-4013-8a0c-d673dee63da5
2014-09-17 03:04:08 +00:00
Spoike
230ce4e0a0 updated mapcluster mode a little, should be more robust now. also supports cross-server events.
added option for softer/wider lines.
attempt to use hardware cursors in windows. provide api for csqc to specify its own.
cl_downloads cvar blocks all automatic downloads.
QUAKETC: new compile-time setting. if defined lots of stuff will be disabled including built in menus.
remove spam from log files.
try to get the webgl port to complain a bit more reliably when webgl is not usable.

git-svn-id: https://svn.code.sf.net/p/fteqw/code/trunk@4738 fc73d0e0-1445-4013-8a0c-d673dee63da5
2014-09-02 02:44:43 +00:00
Spoike
23866f0196 attempt to remember menu selections for when the menu is next opened. for keyboard users that don't realise that the mouse works.
git-svn-id: https://svn.code.sf.net/p/fteqw/code/trunk@4723 fc73d0e0-1445-4013-8a0c-d673dee63da5
2014-08-17 03:18:43 +00:00
Spoike
2e1a70e319 rewrote ban code, merging bans+nonbans+cuffs+mute+cripple+deaf+lagged+vip. added timeouts. new penalties have no dedicated command. use the addip command for it.
maplist command now generates links.
implemented skin objects for q3. added a csqc builtin for it. also supports compositing skins.
playing demos inside zips/pk3s/paks should now work.
bumped default rate cvar.
added cl_transfer to attempt to connect to a new server without disconnecting first.
rewrote fog command. alpha and mindist arguments are now supported. fog change also happens over a short time period.
added new args to the showpic console command. can now create clickable items for touchscreen/absmouse users.
fixed menus to properly support right-aligned text. this finally fixes variable-width fonts.
rewrote console tab completion suggestions display. now clickable links.
strings obtained from qc are now marked as const. this has required quite a few added consts all over the place.
probably crappy attempt at adding joypad support to the sdl port. no idea if it works.
changed key bind event code. buttons now track which event they should trigger when released, instead of being the same one the whole time. this allows +forward etc clickable buttons on screen. Also simplified modifier keys - they no longer trigger random events when pressing the modifier key itself.
Right modifiers can now be bound separately from left modifiers. Right will use left's binding if not otherwise bound. Bind assumes left if there's no prefix.
multiplayer->setup->network menu no longer crashes. added rgb colours to the translation view (but not to the colour-changing keys).
added modelviewer command to view models.
added menu_mods menu to switch mods in a more friendly way. will be shown by default if multiple manifests exist in the binarydir.
clamped classic tracer density. scrag particles no longer look quite so buggy.
added ifdefs to facilitate a potential winrt port. the engine should now have no extra dependencies, but still needs system code+audio drivers to be written.
if it can't set a renderer, it'll now try to use *every* renderer until it finds one that works.
added experimental mapcluster server mode (that console command). New maps will be started up as required.
rewrote skeletal blending code a bit.
added cylinder geomtypes.
fix cfg_save writing to the wrong path bug.
VFS_CLOSE now returns a boolean. false means there was some sort of fatal error (either crc when reading was bad, or the write got corrupted or something). Typically ignorable, depends how robust you want to be.
win32 tls code now supports running as a server. added connect tls://address support, as well as equivalent sv_addport support.
exposed basic model loading api to plugins.
d3d11 backend now optionally supports tessellation hlsl. no suitable hlsl provided by default. !!tess to enable.
attempted to add gamma ramp support for d3d11.
added support for shader blobs to speed up load times. r_shaderblobs 1 to enable. almost vital for d3d11.
added vid_srgb cvar.
shadowless lights are no longer disabled if shadows are not supported.
attempt to add support for touchscreens in win7/8.
Wrote gimmicky lua support, using lua instead of ssqc. define VM_LUA to enable.
updated saved game code. can again load saved games from vanilla-like engines.
changed scale clamping. 0.0001 should no longer appear as 1.
changed default mintic from 0.03 to 0.013 to match vanilla qw. I don't know why it was at 0.03. probably a typo.

git-svn-id: https://svn.code.sf.net/p/fteqw/code/trunk@4623 fc73d0e0-1445-4013-8a0c-d673dee63da5
2014-03-30 08:55:06 +00:00
Spoike
1bb752b582 sdl2 support.
hacky rendertarget stuff. not polished. don't use except for testing. feedback desired.
switched file system to use a qofs_t type instead. define FS_64BIT to make it 64bit (standard on 64bit cpus).
rewrote zip support, ditching unzip.c. this provided zip64 support, and unicode in zips.
changed local address enumeration to not be so stupid.
updated ode support a little to match some dp features.
changed fs_cache scheme, to not rebuild needlessly.

git-svn-id: https://svn.code.sf.net/p/fteqw/code/trunk@4596 fc73d0e0-1445-4013-8a0c-d673dee63da5
2014-02-07 08:38:40 +00:00
Spoike
bfe545222e added con_textsize to resize console separately from everything else.
qcc: added support for variable arguments via the va_arg intrinsic.
qcc: fix up some comment/whitespace issues with the preprocessor.
random hacks to try to improve dp compatibility a little.

git-svn-id: https://svn.code.sf.net/p/fteqw/code/trunk@4573 fc73d0e0-1445-4013-8a0c-d673dee63da5
2013-12-29 22:48:28 +00:00
Spoike
483403dc9a misc bugfixes for things reported by 1path0gen1.
and a few added bugs for fun.

git-svn-id: https://svn.code.sf.net/p/fteqw/code/trunk@4562 fc73d0e0-1445-4013-8a0c-d673dee63da5
2013-12-08 20:06:55 +00:00
Spoike
e000c2db3b fix new game not resetting everything.
git-svn-id: https://svn.code.sf.net/p/fteqw/code/trunk@4550 fc73d0e0-1445-4013-8a0c-d673dee63da5
2013-11-29 20:36:59 +00:00
Spoike
d396450a0a log file defaults changed to be more readable. timestamps now included by default. also fixed a bug in the location the log is written.
fixed numerous shadowmapping bugs. actually seems to work now. appears to draw more lights than is actually needed, however.
changed how keyboard focus works. can now have menu+console open at once, although you probably need shift+escape to get at it.
fixed a few issues with nexuiz compat. there are *still* other issues.
greatly refactored cd playback code. cd driver code is now a backend only and does not provide its own commands. track remapping accepts named faketracks. worked around missing notifications in vista+, so looping will now work.

git-svn-id: https://svn.code.sf.net/p/fteqw/code/trunk@4491 fc73d0e0-1445-4013-8a0c-d673dee63da5
2013-10-08 14:28:11 +00:00
Spoike
b6252d940c fixed a few warnings and errors
git-svn-id: https://svn.code.sf.net/p/fteqw/code/trunk@4399 fc73d0e0-1445-4013-8a0c-d673dee63da5
2013-06-23 03:59:48 +00:00
Spoike
fa9252cefa splitscreen cleaned up more.
demo menu can now leave quake dir.
scissor+line rendering abstracted from csqc.
added a rain particle effect to the 'high' particle set.
added support for parsing ezquake's koi stuff. Still only generates utf-8.
implemented some string-buffer builtins from dp that have been stubs for quite some time.
http code now supports/uses gzipped downloads properly.
added support for non-blocking tcp connects.
#pragma optimize makes more sense with the gui version now.

git-svn-id: https://svn.code.sf.net/p/fteqw/code/trunk@4397 fc73d0e0-1445-4013-8a0c-d673dee63da5
2013-06-23 02:17:02 +00:00
Spoike
ffc2a08589 pass network addresses around as a pointer rather than as a struct. They've grown quite a bit from vanilla code and can now be quite large. this should give more efficient network filtering+matching.
Added version+time+date to segfault lots.
try to use vbo+vao as needed.
added a manifest file in order to disable uac emulation and its virtual store lies.
particles now support a sort of namespace. eg: an effect called "cfg.effect" will load up the 'cfg' particle config and use its 'effect' effect (but not replace any explicit effects). You can still create particle effects called 'cfg.effect' with no issue.
Added support for fsarchive plugins.
Added a sys_register_file_associations command. .bsp not yet handled, but demo playback should work fine.

git-svn-id: https://svn.code.sf.net/p/fteqw/code/trunk@4324 fc73d0e0-1445-4013-8a0c-d673dee63da5
2013-05-03 04:28:08 +00:00
Spoike
6a831e2f99 qwsvdef.h is no more. Many files changed because of this.
enabled ssl support in windows for plugins.
updated jabber plugin.
tweaked downloading logic in an effort to end the madness.
Updated sql code to support sleeping the qc thread until query completion, as a more readable alternative to callbacks.
Client updates should be more explicit now, removing a potential bug.
networked terrain editing should now be in a better state.
updated the dir command to show paths too (so when the same file is listed twice, the pak its in will at least be different). Many files changed because of this.

git-svn-id: https://svn.code.sf.net/p/fteqw/code/trunk@4273 fc73d0e0-1445-4013-8a0c-d673dee63da5
2013-03-31 04:21:08 +00:00
Spoike
0ecf71adaf ------------------------------------------------------------------------
r4189 | acceptthis | 2013-02-05 12:54:29 +0000 (Tue, 05 Feb 2013) | 1 line

clipboard, icon, fullscreen support for glx. Numerous fixes for compile-time warnings.
------------------------------------------------------------------------


git-svn-id: https://svn.code.sf.net/p/fteqw/code/trunk@4187 fc73d0e0-1445-4013-8a0c-d673dee63da5
2013-03-12 22:47:42 +00:00
TimeServ
fb073f3507 change alot of sprintfs
git-svn-id: https://svn.code.sf.net/p/fteqw/code/trunk@3884 fc73d0e0-1445-4013-8a0c-d673dee63da5
2011-07-22 15:11:35 +00:00
Spoike
f28726af74 Trying to remove the length limit on the demobrowser filenames.
git-svn-id: https://svn.code.sf.net/p/fteqw/code/trunk@3882 fc73d0e0-1445-4013-8a0c-d673dee63da5
2011-07-22 13:54:42 +00:00
Spoike
61e4aa96b3 removed separate trigger/solid links.
some q3 fixes.
q2 will autosave on map changes, like q2 normally does.

git-svn-id: https://svn.code.sf.net/p/fteqw/code/trunk@3839 fc73d0e0-1445-4013-8a0c-d673dee63da5
2011-06-29 18:39:11 +00:00
TimeServ
67139b771a menu overhaul (unfinished, still need more tips, tp/cheats/other entries still need readd)
fixes to menu system, removed/corrected some cvars


git-svn-id: https://svn.code.sf.net/p/fteqw/code/branches/wip@3814 fc73d0e0-1445-4013-8a0c-d673dee63da5
2011-06-07 23:54:58 +00:00
TimeServ
a0f3482093 change out "renderer specific" draw_* calls for r2d_* and trim rendererinfo struct
git-svn-id: https://svn.code.sf.net/p/fteqw/code/branches/wip@3760 fc73d0e0-1445-4013-8a0c-d673dee63da5
2011-03-31 01:14:01 +00:00
Spoike
fcb7dbd04b Cleanups, wine fixes, generic stuff, added makefile directive for use of gccs -combine option.
git-svn-id: https://svn.code.sf.net/p/fteqw/code/branches/wip@3753 fc73d0e0-1445-4013-8a0c-d673dee63da5
2011-03-12 13:51:40 +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
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
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
e7b05772b6 Menus broken again. On behalf of bigfoot.
git-svn-id: https://svn.code.sf.net/p/fteqw/code/trunk@3270 fc73d0e0-1445-4013-8a0c-d673dee63da5
2009-07-14 15:04:32 +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
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
Molgrum
caf84feda8 Fix to the previous commit: Also toggle the console if it's down
git-svn-id: https://svn.code.sf.net/p/fteqw/code/trunk@2933 fc73d0e0-1445-4013-8a0c-d673dee63da5
2008-02-23 09:52:55 +00:00
Molgrum
f312748879 Close the menu when a demo is selected.
git-svn-id: https://svn.code.sf.net/p/fteqw/code/trunk@2932 fc73d0e0-1445-4013-8a0c-d673dee63da5
2008-02-22 22:57:28 +00:00
Molgrum
00cd20b9a6 Use MAX_QPATH instead.
git-svn-id: https://svn.code.sf.net/p/fteqw/code/trunk@2907 fc73d0e0-1445-4013-8a0c-d673dee63da5
2008-02-05 00:31:34 +00:00
Spoike
20cc7dc9f5 Updated the menu_demo code. The list is now sorted. Miscellaneous paths from pk3 files are not shown any more either.
git-svn-id: https://svn.code.sf.net/p/fteqw/code/trunk@2906 fc73d0e0-1445-4013-8a0c-d673dee63da5
2008-02-05 00:19:57 +00:00
Molgrum
0f02f12b8b s/compatable/compatible (take notice that sv_compatablehulls will have a changed name too)
git-svn-id: https://svn.code.sf.net/p/fteqw/code/trunk@2717 fc73d0e0-1445-4013-8a0c-d673dee63da5
2007-10-05 18:08:47 +00:00
Molgrum
11588468c7 Fixed warnings related to passing (char **) when (const char **) is excpected, just casting.
git-svn-id: https://svn.code.sf.net/p/fteqw/code/trunk@2596 fc73d0e0-1445-4013-8a0c-d673dee63da5
2007-08-20 02:13:51 +00:00
Spoike
42c43d960f mostly miscilaneous changes (some old stuff that I don't remember), lightsampling changes, qtv changes, avi sound changes
git-svn-id: https://svn.code.sf.net/p/fteqw/code/trunk@2379 fc73d0e0-1445-4013-8a0c-d673dee63da5
2006-09-17 00:59:22 +00:00
TimeServ
83e22715bc remove some unnecessary of unsafe caches, fixing menu_servers2 not being able to load without slidebar graphics
git-svn-id: https://svn.code.sf.net/p/fteqw/code/trunk@2142 fc73d0e0-1445-4013-8a0c-d673dee63da5
2006-04-02 08:11:17 +00:00
Spoike
d1f25d24e2 Hexen2 class selection.
git-svn-id: https://svn.code.sf.net/p/fteqw/code/trunk@2132 fc73d0e0-1445-4013-8a0c-d673dee63da5
2006-03-23 18:54:06 +00:00
Spoike
2046931e26 gameclock, roq/avis can play on shaders (sound is wrong though, so that's fine with avis!), snprintf changes (this is the bulk), up2's mcharset
git-svn-id: https://svn.code.sf.net/p/fteqw/code/trunk@2054 fc73d0e0-1445-4013-8a0c-d673dee63da5
2006-03-06 01:41:09 +00:00
Spoike
d1051b535a q2 saved games actually use a different ident.
git-svn-id: https://svn.code.sf.net/p/fteqw/code/trunk@1952 fc73d0e0-1445-4013-8a0c-d673dee63da5
2006-02-11 18:08:35 +00:00
Spoike
3140f1f875 Savegame should do vfs.
git-svn-id: https://svn.code.sf.net/p/fteqw/code/trunk@1771 fc73d0e0-1445-4013-8a0c-d673dee63da5
2006-01-02 22:43:59 +00:00
TimeServ
a8889d8f24 THIS COMMIT MOST LIKELY BREAKS THINGS.
changed conchars from 16-bit to 32-bit
added support for RGBI fg and bg colors
better support for ^8/^9 text codes
fix to echoish menu sounds
added plugin stuff for centerprints/server messages/chat messages, not finalized (?)
GL/SW color character functions improved (although neither handle transparent characters, and SW needs improvement with the palette remapping)


git-svn-id: https://svn.code.sf.net/p/fteqw/code/trunk@1750 fc73d0e0-1445-4013-8a0c-d673dee63da5
2006-01-01 09:01:15 +00:00
Spoike
b8eca23cfb *** empty log message ***
git-svn-id: https://svn.code.sf.net/p/fteqw/code/trunk@963 fc73d0e0-1445-4013-8a0c-d673dee63da5
2005-04-18 17:12:18 +00:00
Spoike
f43b221896 Stuff
git-svn-id: https://svn.code.sf.net/p/fteqw/code/trunk@942 fc73d0e0-1445-4013-8a0c-d673dee63da5
2005-04-16 16:21:27 +00:00
Spoike
d7bb31a516 Some changes. QC execution has been tweeked a little. It needs further work still.
git-svn-id: https://svn.code.sf.net/p/fteqw/code/trunk@925 fc73d0e0-1445-4013-8a0c-d673dee63da5
2005-03-28 00:11:59 +00:00
TimeServ
d6f910c10b q2 fixes mostly
git-svn-id: https://svn.code.sf.net/p/fteqw/code/trunk@900 fc73d0e0-1445-4013-8a0c-d673dee63da5
2005-03-15 22:51:01 +00:00
Spoike
9ae7e2621d SOFTWARE RENDERING IS BROKEN: DO NOT USE ASM VERSION.
Lots of changes.
CSQC should be functional, but is still tied to debug builds. It WILL have some bugs still, hopefully I'll be able to clean them up better if people test it a bit.
Precompiled headers are working properly now. Compile times are now much quicker in msvc. This takes most of the files this commit.
Restructured how client commands work. They're buffered outside the network message, some multithreaded code is in. It needs a bit of testing before it's active.


git-svn-id: https://svn.code.sf.net/p/fteqw/code/trunk@885 fc73d0e0-1445-4013-8a0c-d673dee63da5
2005-02-28 07:16:19 +00:00
Spoike
4b0395e079 Lots of stuff.
git-svn-id: https://svn.code.sf.net/p/fteqw/code/trunk@684 fc73d0e0-1445-4013-8a0c-d673dee63da5
2004-12-24 08:45:56 +00:00
Spoike
aceb5aabcd show mvds, insert quotes when playing the demos (so demos with spaces in work)
git-svn-id: https://svn.code.sf.net/p/fteqw/code/trunk@683 fc73d0e0-1445-4013-8a0c-d673dee63da5
2004-12-23 03:16:37 +00:00
Spoike
8184225473 Initial Checkin
git-svn-id: https://svn.code.sf.net/p/fteqw/code/trunk@15 fc73d0e0-1445-4013-8a0c-d673dee63da5
2004-08-23 00:15:46 +00:00