Commit graph

147 commits

Author SHA1 Message Date
Spoike
db2c378fa0 centerprints with links now show cursors.
q2 temp entity tweaks. still more work to be done.
support sRGB (mostly)properly in gl+vk+d3d9+d3d11.
vulkan tweaks - multisample works under certain conditions. additional other changes to comply... cvars to enable some other device extensions.
removed r_viewleaf. now using clusters for q1 too.
improved compat with quakespasm's sky command.
Added vid_winthread cvar, to handle window messages on a separate thread. When set this allows the game to keep redrawing when the user is resizing the window etc.
Finally added renderers option to menusys.

git-svn-id: https://svn.code.sf.net/p/fteqw/code/trunk@5130 fc73d0e0-1445-4013-8a0c-d673dee63da5
2017-07-28 01:49:25 +00:00
Spoike
419b2b1f7f fix brush editor giving up with too many polys.
fix race condition that was causing prespawning to skip the call to CSQC_WorldLoaded.
misc other irrelevant tweaks.

git-svn-id: https://svn.code.sf.net/p/fteqw/code/trunk@5120 fc73d0e0-1445-4013-8a0c-d673dee63da5
2017-06-26 09:31:02 +00:00
Spoike
484e8bbfc2 playdemo accepts https urls now. will start playing before the file has finished downloading, to avoid unnecessary delays.
reworked network addresses to separate address family and connection type. this should make banning people more reliable, as well as simplifying a whole load of logic (no need to check for ipv4 AND ipv6).
tcpconnect will keep trying to connect even if the connection wasn't instant, instead of giving up instantly.
rewrote tcp connections quite a bit. sv_port_tcp now handles qtv+qizmo+http+ws+rtcbroker+tls equivalents.
qtv_streamport is now a legacy cvar and now acts equivalently to sv_port_tcp (but still separate).
rewrote screenshot and video capture code to use strides. this solves image-is-upside down issues with vulkan.
ignore alt key in browser port. oh no! no more red text! oh no! no more alt-being-wrongly-down-and-being-unable-to-type-anything-without-forcing-alt-released!
reworked audio decoder interface. now has clearly defined success/unavailable/end-of-file results. this should solve a whole load of issues with audio streaming.
fixed various openal audio streaming issues too. openal also got some workarounds for emscripten's poor emulation.
fixed ogg decoder to retain sync properly if seeked.
updated menu_media a bit. now reads vorbis comments/id3v1 tags to get proper track names. also saves the playlist so you don't have to manually repopulate the list so it might actually be usable now (after how many years?)
r_stains now defaults to 0, and is no longer enabled by presets. use decals if you want that sort of thing.
added fs_noreexec cvar, so configs will not be reexeced on gamedir change. this also means defaults won't be reapplied, etc.
added 'nvvk' renderer on windows, using nvidia's vulkan-inside-opengl gl extension. mostly just to see how much slower it is.
fixed up the ftp server quite a lot. more complete, more compliant, and should do ipv6 properly to-boot. file transfers also threaded.
fixed potential crash inside runclientphys.
experimental sv_antilag=3 setting. totally untested. the aim is to avoid missing due to lagged knockbacks. may be expensive for the server.
browser port's websockets support fixed. experimental support for webrtc ('works for me', requires a broker server).
updated avplug(renamed to ffmpeg so people know what it is) to use ffmpeg 3.2.4 properly, with its new encoder api. should be much more robust... also added experimental audio decoder for game music etc (currently doesn't resample, so playback rates are screwed, disabled by cvar).

git-svn-id: https://svn.code.sf.net/p/fteqw/code/trunk@5097 fc73d0e0-1445-4013-8a0c-d673dee63da5
2017-05-10 02:08:58 +00:00
Spoike
1fcba85e20 reworked texture loading. now favours shallower files over preferred extensions.
attempt to use wad/*.png for hud images too (ezquake compat).
image_list can now be used to show the filename the texture loader actually picked (including which package its from).
reworked loading screens a little. hopefully this should give qc a better chance of working with them.
added invert mouse pitch option to menusys menus, a couple of other tweaks too.

git-svn-id: https://svn.code.sf.net/p/fteqw/code/trunk@5049 fc73d0e0-1445-4013-8a0c-d673dee63da5
2017-01-24 20:15:14 +00:00
Spoike
5ded3710b4 networked entity editing now kinda working. still needs much more work before its usable.
try to use microsoft's poor-man's eax stuff with directsound. snd_eax is disabled by default still thankfully.
some hlmdl fixes

git-svn-id: https://svn.code.sf.net/p/fteqw/code/trunk@5029 fc73d0e0-1445-4013-8a0c-d673dee63da5
2016-12-07 18:45:25 +00:00
Spoike
eefc950400 particles: rework r_effect, such that its possible to project particles forwards
particles: add an emiteffectnum field (and support emiteffect+traileffect psuedo-fields), for reliable emissions that are not framerate dependant (emitted forwards by default...
particles: rewrote 'sky' surface emittance. can now emit from submodels too.
particles: be more verbose about unknown mode keywords, instead of silent.
server: add basic misc_model emulation, for mods that don't implement one.
quake2: better r1q2 compat.
renderer: rework mindist+maxdist, should be more consistent as well as more reliable with orthographic matricies. has actual VF_ enumerations now.
sound: fix CF_FOLLOW to not crash, and work with openal.
client: 'cl_loopbackprotocol nq' now uses appropriate protocol extensions.
fs: try using /usr/share/games/foo by default, if it exists.
server: uncap drate if unspecified, do not fall back on rate.

git-svn-id: https://svn.code.sf.net/p/fteqw/code/trunk@5021 fc73d0e0-1445-4013-8a0c-d673dee63da5
2016-10-22 07:06:51 +00:00
Spoike
c08a0aa139 fix some of the things that baker didn't like. sorry it took so long.
try to appease msvc6, just because.
update the downloads menu. now even betterer!...
fix proquake server angle snapping precision issue.
also accept _glow textures as an alternative to the more standard _luma.
compat for dp_water shader terms. tcgen stuff is still fscked up.
menu tooltip code can now properly deal with variable width etc stuff.
add missing te_flamejet builtin.
r_dynamic -1 can now cope with q3bsp for a small speedup.
added -watch commandline arg, to make it easier to figure out where cvar changes are coming from.

git-svn-id: https://svn.code.sf.net/p/fteqw/code/trunk@5015 fc73d0e0-1445-4013-8a0c-d673dee63da5
2016-08-25 00:12:14 +00:00
Spoike
151bd6d0b1 vulkan: rewrote render target stuff so bloom, r_projection, fxaa, should now be working.
gl: fix r_projection when using vid_restart.
hdr: fixed iris stuff to work in more renderers.
ircclient: don't disconnect instantly. that's just stupid.

git-svn-id: https://svn.code.sf.net/p/fteqw/code/trunk@5010 fc73d0e0-1445-4013-8a0c-d673dee63da5
2016-07-28 13:18:22 +00:00
Spoike
eccfe6b560 d3d11: stripped the reflection stuff from the d3d11 renderer. we'll do that stuff explicitly instead of having to deal with microsoft's api. its just more reliable.
openal: doppler now applies to openal more consistently.
vulkan: vk_loadglsl cvar enables vk_nv_glsl_shader, with support for existing glsl shaders (still no permutations for now). needs !!samps stuff.
vulkan: r_renderscale now partly works. r_fxaa also works under specific circumstances. needs more work. still no bloom or projections stuff.
menu_download: got a few tweaks to improve it, including zips. I still want to handle engine updates with this stuff, but that can wait for later.

git-svn-id: https://svn.code.sf.net/p/fteqw/code/trunk@5008 fc73d0e0-1445-4013-8a0c-d673dee63da5
2016-07-26 11:47:59 +00:00
Spoike
24cd9a1c21 update triptohell's self-signed cert.
fix some more compile-time issues.
fix some vulkan issues that are probably what's breaking amd gpus.

git-svn-id: https://svn.code.sf.net/p/fteqw/code/trunk@5005 fc73d0e0-1445-4013-8a0c-d673dee63da5
2016-07-17 18:41:01 +00:00
Spoike
2d3b03ac48 adhere to filesystem priorities as specified by fmf files, and obey the order from pak.lst even when file extensions differ.
try to fix nacl builds.
added a 'mapper' positive penalty instead of using vip (which might be dangerous if modders are not aware of it).
fix menu.dat's graphics presets not loading configs properly.

git-svn-id: https://svn.code.sf.net/p/fteqw/code/trunk@5002 fc73d0e0-1445-4013-8a0c-d673dee63da5
2016-07-16 13:21:23 +00:00
Spoike
934a97c53e fix some compile issues (errors and warnings). sdl, ode, vulkan.
fix q2bsp textures.
fix some vulkan validation issues.
MOVE_OTHERONLY is now an official feature (replacing MOVE_ONLYENT which is now removed, same functionality, better behaved behaviour).
network up edited brushes on initial connect. still needs more work for entity editing, but should otherwise be okay for now.
add sys_browserredirect console command for emscripten builds (can be used to trigger window redirections - including download requests)

git-svn-id: https://svn.code.sf.net/p/fteqw/code/trunk@5001 fc73d0e0-1445-4013-8a0c-d673dee63da5
2016-07-15 12:26:24 +00:00
Spoike
27a59a0cbc LOTS OF CHANGES. was hoping to get revision 5000 perfect, but really that's never going to happen. this has gone on for too long now.
vulkan, wasapi, quake injector features added.
irc, avplug, cef plugins/drivers reworked/updated/added
openal reverb, doppler effects added.
'dir' console command now attempts to view clicked files.
lots of warning fixes, should now only be deprecation warnings for most targets (depending on compiler version anyway...).
SendEntity finally reworked to use flags properly.
effectinfo improved, other smc-targetted fixes.
mapcluster stuff now has support for linux.
.basebone+.baseframe now exist in ssqc.
qcc: -Fqccx supports qccx syntax, including qccx hacks. don't expect these to work in fteqw nor dp though.
qcc: rewrote function call handling to use refs rather than defs. this makes struct passing more efficient and makes the __out keyword usable with fields etc.
qccgui: can cope a little better with non-unicode files. can now represent most quake chars.
qcc: suppressed warnings from *extensions.qc

git-svn-id: https://svn.code.sf.net/p/fteqw/code/trunk@5000 fc73d0e0-1445-4013-8a0c-d673dee63da5
2016-07-12 00:40:13 +00:00
Spoike
5920bf05fb reworked menusys combo items, as per mushi's request. should be a bit prettier now.
fixed most gcc warnings when compiling for linux.
client can now connect to 10002 servers. probably 10000+10001 too, but too lazy to test.
doom3 map loading is working again, but has too many issues for it to be useful (leaks, premature purges, no texture_d suffix support), so its still disabled for now.

git-svn-id: https://svn.code.sf.net/p/fteqw/code/trunk@4999 fc73d0e0-1445-4013-8a0c-d673dee63da5
2016-02-15 06:01:17 +00:00
Spoike
46c63cbedb curtesy molgrum: allow_download_loc permits locs/*.loc to be downloaded. also fixes an strncmp. oops.
device ids with rawinput and xinput are now assigned only on the first event. this means the ordering is easily controllable, thus helping splitscreen usability.
fix compile errors with the nolegacy builds.
client updates "chat" userinfo to match ezquake. does not display them still. server now forwards them correctly for ezquake.
android can now switch gles version. a bit crashy with it though.
android: gyroscope is now available to csqc.
android: added vid_dpi_x/y cvars. will be 0 on other platforms, for now.
added screenshot_vr command, for 360-degree stereoscopic screenshots.
fix a potential crash from frag parsing.
added m_accel_style and friends, for nicer mouse acceleration.
fixed const-correctness in a few places.
added friendly spectate button to the server browser
display a warning if an mdl has dodgy seam values. this won't affect fte, but can crash winquake.
qcc: fix struct fields to at least appear to work.
qcc: -I is finally implemented.
qccgui: options now has tooltips, so people might have a chance of actually figuring out what each option does.
menusys: game configs menu now scans for files rather than listing specific ones. should probably be tested more.

git-svn-id: https://svn.code.sf.net/p/fteqw/code/trunk@4998 fc73d0e0-1445-4013-8a0c-d673dee63da5
2016-02-10 23:23:43 +00:00
Spoike
9360a016c2 mvd: cl_autotrack_team cvar locks autotrack to a specific team. getting the team name to match can still be problematic when it contains non-ascii chars however.
qw: fix recording mid-map.
q2: add support for recording demos on q2 servers.
q: fix setattachment not using the correct orientations.
q2: now supports splitscreen, as well as increased model and sound limits.
cl: fix crosshair not appearing in splitscreen.
cl: splitscreen clients now get their own colour tints (like the bf command)
snd: tweak audio to be a bit more usable in splitscreen by default.
cl: added con_logcenterprint cvar, for shoving a copy of centerprints onto the console. by default only appears in single player.
qc: add checkbuiltin builtin. for all those #0 builtins without their own extension name.
gl: fix r_dynamic -1 bug that was painfully visible in AD.
mdl: validate per-frame bounds of mdl files (stuff that would crash software renderers).
sv: fix -port or +sv_port commandline args to override the port correctly.
win: attempt to cope with windows symlinks enumerating with the wrong filesizes.
gl: fix skyboxes not appearing properly.
gl: fix sprite alpha/edge issue resulting in some invisible sprites in AD.
gl: fix screenshot_mega, in combination with r_projection. yay for HUGE panoramic screenshots.
q2: fix replacement textures issue.
qw: fix download demonum/X issue, both in client and server.
qw: fix multicast dimensions not always being honoured properly.
nq: fix starting angles sometimes being wrong.
menusys: I'm finally uploading my menusys library, plus example mod, which I'll now be providing like csaddon is.

git-svn-id: https://svn.code.sf.net/p/fteqw/code/trunk@4997 fc73d0e0-1445-4013-8a0c-d673dee63da5
2016-01-18 05:22:07 +00:00
Spoike
5172823341 code to use occlusion queries for coronas.
tweaked cl_maxfps a little. now sticks much closer to the desired rate. also tweaked cl_netfps. clamps 77fps to 13ms frames (read: 76.9 fps) in an attempt to avoid tripping up any framerate checks (we had previously been using a lower net rate with occasional 14ms frames).
viewspace particles are now a thing.
greater control over spawning particles. its now possible to spawn particles only in slime, etc.
fix soundlength builtin.
preliminary version of r_dynamic -1, which can give some significant framerate boosts on certain maps.
fix halflife bsp texture issues.
rewrote worker thread logic. workers now work as a single pool, instead of independent pools. this means that you don't have to wait for a specific thread to finish before it can load new stuff, reducing overall load times some more. worker_count cvar allows reconfiguring the number of active workers. can be changed any time.
updated mod_terrain_create command. should be more useful now and make more sense when first loaded.
fix lit support. apparently its been broken for a while.
brush editor now has csg subtraction.

git-svn-id: https://svn.code.sf.net/p/fteqw/code/trunk@4990 fc73d0e0-1445-4013-8a0c-d673dee63da5
2015-10-11 11:34:58 +00:00
Spoike
cc875358fd qcc: allow variable definitions inside for statements. these are strictly subscoped.
csaddon: implement convenient vertex dragging. not bug free, but should be sufficiently functional.
small optimisation for r_loadlit 2.
sdl2: now supports hardware cursors, supposedly. also ensures the window title is set to something that isn't obviously weird.
fix #water replacements not being loaded. again.
.map loading now ignores all lightstyles, instead of many lights being completely black.
.map loading can now properly cope with angled surfaces without the player getting stuck.
try to avoid missing d3d11 definitions issue.
tp_disputablemacros no longer blocks say commands, but does block +forward etc. supposedly.
fix timer precision issue that appears in sdl builds. not sure why it wasn't visible in other cases though.


git-svn-id: https://svn.code.sf.net/p/fteqw/code/trunk@4989 fc73d0e0-1445-4013-8a0c-d673dee63da5
2015-09-18 20:30:10 +00:00
Spoike
da316ce374 fix gles1 issues (read: android port now works again).
update csaddon code.
qclib now understands 'objects'. engine+qcc does not use them yet.

git-svn-id: https://svn.code.sf.net/p/fteqw/code/trunk@4987 fc73d0e0-1445-4013-8a0c-d673dee63da5
2015-09-14 10:36:42 +00:00
Spoike
57248e9f64 tiny update...
git-svn-id: https://svn.code.sf.net/p/fteqw/code/trunk@4864 fc73d0e0-1445-4013-8a0c-d673dee63da5
2015-04-27 05:10:01 +00:00
Spoike
c3f681cfc8 Try to fix shadowmap issues to at least be consistent even if not acne free.
add light auto-rotation to csaddon, for rotating static lights.

git-svn-id: https://svn.code.sf.net/p/fteqw/code/trunk@4776 fc73d0e0-1445-4013-8a0c-d673dee63da5
2014-10-23 01:42:05 +00:00
Spoike
84888e3ff2 terrain editor update, to implement some of the things epicenter asked for.
git-svn-id: https://svn.code.sf.net/p/fteqw/code/trunk@4687 fc73d0e0-1445-4013-8a0c-d673dee63da5
2014-06-16 20:45:44 +00:00
Spoike
fb22181816 random fixups
git-svn-id: https://svn.code.sf.net/p/fteqw/code/trunk@4528 fc73d0e0-1445-4013-8a0c-d673dee63da5
2013-11-22 00:13:52 +00:00
Spoike
56131015c6 Small update. Just because.
git-svn-id: https://svn.code.sf.net/p/fteqw/code/trunk@4405 fc73d0e0-1445-4013-8a0c-d673dee63da5
2013-06-26 03:34:39 +00:00
Spoike
a5ac2e9a9d did I forget to commit this? did I need to? oops.
git-svn-id: https://svn.code.sf.net/p/fteqw/code/trunk@4309 fc73d0e0-1445-4013-8a0c-d673dee63da5
2013-04-09 01:04:43 +00:00
Spoike
b2bcc1be15 ------------------------------------------------------------------------
r4233 | acceptthis | 2013-02-27 16:24:26 +0000 (Wed, 27 Feb 2013) | 1 line

small update to fix a couple of issues.
------------------------------------------------------------------------


git-svn-id: https://svn.code.sf.net/p/fteqw/code/trunk@4229 fc73d0e0-1445-4013-8a0c-d673dee63da5
2013-03-12 23:12:08 +00:00
Spoike
1261ad5d2a ------------------------------------------------------------------------
r4232 | acceptthis | 2013-02-27 16:21:54 +0000 (Wed, 27 Feb 2013) | 1 line

try to be a little more usable.
------------------------------------------------------------------------


git-svn-id: https://svn.code.sf.net/p/fteqw/code/trunk@4228 fc73d0e0-1445-4013-8a0c-d673dee63da5
2013-03-12 23:11:35 +00:00
Spoike
52bacf161b Made the lights editor more useful/usable.
tints for terrain, nicer save+load commands.

git-svn-id: https://svn.code.sf.net/p/fteqw/code/trunk@4159 fc73d0e0-1445-4013-8a0c-d673dee63da5
2012-12-04 18:19:20 +00:00
Spoike
586cedea8b Directly query client for video size.
Berkelium focus now properly tracked. The cursor blinks on google. yay.

git-svn-id: https://svn.code.sf.net/p/fteqw/code/trunk@4125 fc73d0e0-1445-4013-8a0c-d673dee63da5
2012-10-13 01:00:53 +00:00
Spoike
35c6aecad2 Support to pipe the keyboard/mouse input from csqc into media decoders (read: embedded web browsers / x11).
git-svn-id: https://svn.code.sf.net/p/fteqw/code/trunk@4110 fc73d0e0-1445-4013-8a0c-d673dee63da5
2012-10-07 18:36:28 +00:00
Spoike
3e1a546e83 water/meshes/usability
git-svn-id: https://svn.code.sf.net/p/fteqw/code/trunk@4082 fc73d0e0-1445-4013-8a0c-d673dee63da5
2012-07-20 01:49:13 +00:00
Spoike
db40d60b95 added a terrain editor
git-svn-id: https://svn.code.sf.net/p/fteqw/code/trunk@4072 fc73d0e0-1445-4013-8a0c-d673dee63da5
2012-07-14 23:20:06 +00:00
Spoike
db9388a297 example command for jogi. I've not tested that it even compiles.
git-svn-id: https://svn.code.sf.net/p/fteqw/code/trunk@4000 fc73d0e0-1445-4013-8a0c-d673dee63da5
2012-02-22 14:40:39 +00:00
Spoike
bd44e87734 Fixed a division-by-zero issue, and a couple of other minor things.
git-svn-id: https://svn.code.sf.net/p/fteqw/code/trunk@3997 fc73d0e0-1445-4013-8a0c-d673dee63da5
2012-02-15 22:49:30 +00:00
Jogi
8421aff462 ...
git-svn-id: https://svn.code.sf.net/p/fteqw/code/trunk@3996 fc73d0e0-1445-4013-8a0c-d673dee63da5
2012-02-15 22:12:37 +00:00
Jogi
29617109b0 godspeed sir
git-svn-id: https://svn.code.sf.net/p/fteqw/code/trunk@3995 fc73d0e0-1445-4013-8a0c-d673dee63da5
2012-02-15 16:45:57 +00:00
Jogi
e39981eab4 some more menu stuff
git-svn-id: https://svn.code.sf.net/p/fteqw/code/trunk@3991 fc73d0e0-1445-4013-8a0c-d673dee63da5
2012-02-14 23:52:28 +00:00
Jogi
61061c8e71 fixed some of the menu stuff
git-svn-id: https://svn.code.sf.net/p/fteqw/code/trunk@3989 fc73d0e0-1445-4013-8a0c-d673dee63da5
2012-02-14 00:54:54 +00:00
Spoike
ad32917970 tiny fixes (note: also removed workarounds, jogi update fteqcc).
added drawlame3dtext function as per jogi's request.

git-svn-id: https://svn.code.sf.net/p/fteqw/code/trunk@3987 fc73d0e0-1445-4013-8a0c-d673dee63da5
2012-02-13 09:14:09 +00:00
Spoike
3c4100a2a9 Jogi's changes.
git-svn-id: https://svn.code.sf.net/p/fteqw/code/trunk@3985 fc73d0e0-1445-4013-8a0c-d673dee63da5
2012-02-13 01:41:49 +00:00
Spoike
fb35b91e01 Added cheesy menus.
git-svn-id: https://svn.code.sf.net/p/fteqw/code/trunk@3978 fc73d0e0-1445-4013-8a0c-d673dee63da5
2012-02-08 04:13:25 +00:00
Spoike
d9f0528f47 All jogi's work.
git-svn-id: https://svn.code.sf.net/p/fteqw/code/trunk@3977 fc73d0e0-1445-4013-8a0c-d673dee63da5
2012-02-08 01:56:30 +00:00
Spoike
855b3ee993 small update.
git-svn-id: https://svn.code.sf.net/p/fteqw/code/trunk@3975 fc73d0e0-1445-4013-8a0c-d673dee63da5
2012-02-05 01:40:39 +00:00
Spoike
a722205543 jogi wants to see the current status, this prolly won't compile, but nothing autobuilds any of this stuff anyway
git-svn-id: https://svn.code.sf.net/p/fteqw/code/trunk@3973 fc73d0e0-1445-4013-8a0c-d673dee63da5
2012-02-04 22:53:53 +00:00
Spoike
03f3cc738f Added a particle effect editor. A few issues still to fix (like being unable to add a new effect).
git-svn-id: https://svn.code.sf.net/p/fteqw/code/trunk@3966 fc73d0e0-1445-4013-8a0c-d673dee63da5
2012-01-28 10:31:55 +00:00
Spoike
ebc29fe683 added the additional editable fields which the engine now exposes.
git-svn-id: https://svn.code.sf.net/p/fteqw/code/trunk@3943 fc73d0e0-1445-4013-8a0c-d673dee63da5
2011-12-27 08:35:59 +00:00
Spoike
c44096f0b2 git-svn-id: https://svn.code.sf.net/p/fteqw/code/trunk@3931 fc73d0e0-1445-4013-8a0c-d673dee63da5 2011-12-17 16:37:07 +00:00
Spoike
d95a523f80 Just messing with stuff.
git-svn-id: https://svn.code.sf.net/p/fteqw/code/branches/wip@3794 fc73d0e0-1445-4013-8a0c-d673dee63da5
2011-05-20 04:10:59 +00:00
Spoike
e164c7c7ad Work in DP didn't work in DP.
git-svn-id: https://svn.code.sf.net/p/fteqw/code/trunk@3361 fc73d0e0-1445-4013-8a0c-d673dee63da5
2009-08-29 18:59:48 +00:00
Spoike
e9c0883937 I messed up with the WORKINDP thing.
git-svn-id: https://svn.code.sf.net/p/fteqw/code/trunk@3214 fc73d0e0-1445-4013-8a0c-d673dee63da5
2009-06-07 23:42:55 +00:00