fix occasional vid_restart crash.
fix dynamic rtlight memory leak.
tweak some gl robustness things, so we can throw away the gl context and restart video cleanly if the drivers decide to randomly crash us. grr. dodgy drivers/hardware are annoying.
git-svn-id: https://svn.code.sf.net/p/fteqw/code/trunk@4775 fc73d0e0-1445-4013-8a0c-d673dee63da5
flipped gl qc rendertargets to logically be top-down. the joys of weird matricies is a sight to behold.
try to fix threading dependency on recent versions of windows.
break some other related stuff.
git-svn-id: https://svn.code.sf.net/p/fteqw/code/trunk@4768 fc73d0e0-1445-4013-8a0c-d673dee63da5
hexen2 players now have colourmaps again. doesn't crash with rgb player colours.
hexen2 colour previews now work (as well as they did in actual hexen2, anyway)
fix possible issue with 'bad type - needs fixing'
color command now longer omits 0 values when displaying.
readded support for all hexen2 palette lookup types.
fixed some hexen2 image positions.
using premultiplied alpha for pics as an easy fix for hexen2's various ugly halos.
the checkerboard texture is back!
fix q1 maps that have more than 32k clipplanes.
new features:
when associated with mdl etc file extensions, now opens up the modelviewer. also potentially changes gamedir (this applies to bsps too).
multiplayer setup menu now supports selecting rgb colours (lower colour remains with the 14 team colours). press shift for the normal/hue colour selection instead.
attempt to use bgra for texture uploads by default where available. reimplement possible support for 16bit textures.
attempt to implement gamepad support for web port. untested, but should be completeish.
git-svn-id: https://svn.code.sf.net/p/fteqw/code/trunk@4764 fc73d0e0-1445-4013-8a0c-d673dee63da5
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
load q2 game dlls from the binarydir in preference to gamedir (allows such dlls to be distributed with the engine).
add small emscripten msvc project so I can build the web port a little more conveniently.
require mouse releases to have had a corresponding mouse press while in the menu. this solves issues with mouse clicks triggering the load menu while dead and instantlyish loading one, and alt-tab issues too.
git-svn-id: https://svn.code.sf.net/p/fteqw/code/trunk@4755 fc73d0e0-1445-4013-8a0c-d673dee63da5
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
fix a couple of obscure bugs.
rework qw/q2 skins. qwskin command now exists in .skin support.
add support for mod_external_vis, to load vis patches.
made the included http server a little more verbose with peer addresses.
preliminary support for using accessors in fteextensions.qc, will wait a while until fteqcc's support is robust before its enabled by default.
preliminary webgl drag+drop. still lots of work to do before giving it a pak1.pak is trivial.
git-svn-id: https://svn.code.sf.net/p/fteqw/code/trunk@4748 fc73d0e0-1445-4013-8a0c-d673dee63da5
this WILL break alt-tab and things. use with caution (tip: use +set vidx_grabkeyboard 1 to block alt-tab completely, ensuring it can't break too much. if the game becomes unresponsive, you're completely screwed).
x11 is so fucked.
git-svn-id: https://svn.code.sf.net/p/fteqw/code/trunk@4746 fc73d0e0-1445-4013-8a0c-d673dee63da5
accvar.foo is equivelent to accvar["foo"]. get* or set* accessors can be used without indexes, but only with * prefix notation on use. the rawtype isn't changable with this, so you can't set infokey values.
accvar.length works. array.length will also work too now, if you dislike sizeof's weirdness.
updated preprocessor to comply slightly more with C.
fixed int emulation a little to be more robust. utility functions must be defined in advance. this avoids stealth dependancies resulting in unexpected bugs.
git-svn-id: https://svn.code.sf.net/p/fteqw/code/trunk@4745 fc73d0e0-1445-4013-8a0c-d673dee63da5
the cursor now works with both mouse+touch as appropriate.
add touchscreen events to the webgl port.
built in menu now responds to up events instead of down events for mouse1. this makes it slightly easier to navigate the menu on touchscreens devices.
don't fail to compile when GL_LINE_SMOOTH isn't defined.
git-svn-id: https://svn.code.sf.net/p/fteqw/code/trunk@4742 fc73d0e0-1445-4013-8a0c-d673dee63da5
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
gles renderer can use fbos now.
webgl now saves configs+savedgames persistently using localstorage.
misc startup/manifest refinements.
make nacl compile again.
webgl port can now use #stuff to select different manifest files.
git-svn-id: https://svn.code.sf.net/p/fteqw/code/trunk@4733 fc73d0e0-1445-4013-8a0c-d673dee63da5
fix some compiler warnings.
update the emscripten port.
reduce bss a little (as emscripten blatently can't cope with it)
support for '_wateralpha'. also support for cvar_foo too.
demo_jump works in nq demos.
git-svn-id: https://svn.code.sf.net/p/fteqw/code/trunk@4732 fc73d0e0-1445-4013-8a0c-d673dee63da5
tweaked waterwarp+bloom to use fbos. this fixes any issues with viewsize 10 or whatever, but depends upon npot.
git-svn-id: https://svn.code.sf.net/p/fteqw/code/trunk@4727 fc73d0e0-1445-4013-8a0c-d673dee63da5
prevent shift+alt from triggering the menu while in demo playback. hopefully solve toggleconsole issues on german keymaps.
gl_texturemode2d is now in presets, using nearest in vanilla preset.
waterwarp edge textures now force linear sampling. no weird blocky edges.
fix serverflags reset issue on saved games.
fix $currentrender to not glitch on fbos too much.
git-svn-id: https://svn.code.sf.net/p/fteqw/code/trunk@4720 fc73d0e0-1445-4013-8a0c-d673dee63da5
added r_part_classic_square, cl_demoreel.
fixed a couple of things that the ever vigilant gb spotted. I guess I don't play quake enough.
fixed a load of random warnings reported by gcc. many many many warnings remain. I got bored.
internal mrt feature implemented, not properly tested yet.
git-svn-id: https://svn.code.sf.net/p/fteqw/code/trunk@4719 fc73d0e0-1445-4013-8a0c-d673dee63da5
qc rt target api now uses names instead of numbers. shaders can name such rendertargets in advance.
added timing info to qc profiling, instead of just opcodes executed.
added sv_showconnectionlessmessages, to show all messages that don't relate to a client, so omc can see if he's getting DDOSed easily.
try to show proper error messages with the xmpp plugin, at least for certain things.
git-svn-id: https://svn.code.sf.net/p/fteqw/code/trunk@4714 fc73d0e0-1445-4013-8a0c-d673dee63da5
fixed portals. again. now pushing the player out (reverting origin) if they get de-spawned.
git-svn-id: https://svn.code.sf.net/p/fteqw/code/trunk@4711 fc73d0e0-1445-4013-8a0c-d673dee63da5
added current bandwidth info to the status command. added cl_status command for similar things for client stuff.
minping delays now using floats instead of milliseconds.
fix waterjump bug with qc player physics.
fix flymode friction.
fixed illegible server message with ezquake going through portals. rendering is still ugly, but at least it can be used.
git-svn-id: https://svn.code.sf.net/p/fteqw/code/trunk@4708 fc73d0e0-1445-4013-8a0c-d673dee63da5
add blind+speconly penalties.
add dpi-aware flag.
fix issue when switching between singleplayer and multiplayer between maps.
git-svn-id: https://svn.code.sf.net/p/fteqw/code/trunk@4703 fc73d0e0-1445-4013-8a0c-d673dee63da5
tweaked portals again. no longer wrongly impacting against the portal's front/back planes, even with speed.
reworked PEXT_LIGHTSTYLECOL, now uses a vector instead of a channel mask.
git-svn-id: https://svn.code.sf.net/p/fteqw/code/trunk@4699 fc73d0e0-1445-4013-8a0c-d673dee63da5
added log_enable_rcon (and enabled it by default), for feature parity with mvdsv. invalid requests, valid requests, and redirected prints are all logged.
tweaked server-side download code to not bug out with downloads larger than 2gb.
git-svn-id: https://svn.code.sf.net/p/fteqw/code/trunk@4697 fc73d0e0-1445-4013-8a0c-d673dee63da5
gravitydir on monsters should now be workable (qc needs to be careful with ideal_yaw, which is now relative to the gravitydir rather than the xy plane).
fix an issue where shaders were not loaded after gamedir switches.
added 6dof command (and player movetype).
git-svn-id: https://svn.code.sf.net/p/fteqw/code/trunk@4689 fc73d0e0-1445-4013-8a0c-d673dee63da5
client can cope with files over 4gb.
added download resumption. hopefully.
fix some q3 bugs.
git-svn-id: https://svn.code.sf.net/p/fteqw/code/trunk@4685 fc73d0e0-1445-4013-8a0c-d673dee63da5
disable the use of quakespy stuff, using a dynamic port and no stuffcmds from random ip addresses and no mutex.
git-svn-id: https://svn.code.sf.net/p/fteqw/code/trunk@4676 fc73d0e0-1445-4013-8a0c-d673dee63da5
drawstrings now tint the string, and should now work as expected with ^3 colours.
tweaked qcc's utf-8 parsing. utf-8 chars are now valid in identifiers. invalid chars (like pesky nbsp) are more verbose, and can actually be found.
git-svn-id: https://svn.code.sf.net/p/fteqw/code/trunk@4667 fc73d0e0-1445-4013-8a0c-d673dee63da5
add the particle debugging commands to release builds too. probably should only be the particles one and not the trails one, but whatever.
try to do something about black screens on android etc by sys_erroring if we get glsl compile errors on the default2d glsl when there's no fixed function available. this is enough to ensure that the console text+background is always visible, or they know(ish) why its not.
git-svn-id: https://svn.code.sf.net/p/fteqw/code/trunk@4660 fc73d0e0-1445-4013-8a0c-d673dee63da5
fix 'bind alt_k' result.
don't generate a luma from 8bit if there's a custom diffuse image.
add support for #append.
#includelist now supports macro expansion.
git-svn-id: https://svn.code.sf.net/p/fteqw/code/trunk@4657 fc73d0e0-1445-4013-8a0c-d673dee63da5
reworked a few q2 particle effects. q2 should feel a bit better now. by no means complete.
ssqcless csqc should have time progressing.
q3ui+console should be a bit less stupid.
stripped old huffman code. copied over from ioquake3. should help avoid bugs in that shit.
system mouse cursor should now always be hidden when running windowed. soft-cursor only.
added bindlist.lst feature.
particle system can now support weighted/randomized sounds. model command now more verbose, and supports renderflags.
renamed debugger cvar to pr_debugger, in the hopes that it'll be easier to find. also added to menu a little more visibly in a politically-motivated move.
fix q2+viewsize 30
'high' particles now have scrag+hknight impact effects. perhaps I overdid the scrag one.
fixed q2 player icons on the scoreboard.
added q3bsp_surf_meshcollision_* cvars.
dedicated servers now use the same bsp etc loading code as clients. the dedicated-server-only stuff is no longer needed, which is a good thing because it seemed a little buggy last time I tried.
split vertex+fragment shader compilation, for systems that secretly thread that.
git-svn-id: https://svn.code.sf.net/p/fteqw/code/trunk@4651 fc73d0e0-1445-4013-8a0c-d673dee63da5
fix default settings to correctly use ` instead of ~ for toggleconsole.
fix a couple of possible signed-where-unsigned-expected with quake2.
fix possible q3 crash.
git-svn-id: https://svn.code.sf.net/p/fteqw/code/trunk@4649 fc73d0e0-1445-4013-8a0c-d673dee63da5
auto-precache sounds if they were not already precached. also prints a warning (once, obviously). this is for consistency with models
added cmd voicetarg specself, which will send voice only to the people spectating you (and not your team), including into demos.
git-svn-id: https://svn.code.sf.net/p/fteqw/code/trunk@4647 fc73d0e0-1445-4013-8a0c-d673dee63da5
added a couple extra effects to r_particledesc high
try and solve the trailparticles madness once and for all by autodetecting which set of arguments is used.
fix some annoyances with menuqc.
rebuild fs cache when doing vid_restart, to avoid insane reload times.
add profiling support.
qcc: be more permissive with {a,b,} in array definitions.
tweaked logfrag builtin to not loose frags quite so easily. should be more robust now. Whether tools agree or not is a different matter... but there's always the possibility that it'll just work.
git-svn-id: https://svn.code.sf.net/p/fteqw/code/trunk@4644 fc73d0e0-1445-4013-8a0c-d673dee63da5
added some extra quake particle effects to the 'high' set, including some lights. I wonder how many people will complain.
tried to fix up coronas a bit to make them more robust.
fix stepping issue at high framerates.
git-svn-id: https://svn.code.sf.net/p/fteqw/code/trunk@4639 fc73d0e0-1445-4013-8a0c-d673dee63da5
rename some things.
don't reload filesystem(twice) when quitting.
add savegame_legacy command for saved games that can be loaded in vanilla engines.
git-svn-id: https://svn.code.sf.net/p/fteqw/code/trunk@4628 fc73d0e0-1445-4013-8a0c-d673dee63da5