Commit graph

1295 commits

Author SHA1 Message Date
Spoike
73d836aaee Fix te_gunshot with only one arg erroring non-fte qw clients.
git-svn-id: https://svn.code.sf.net/p/fteqw/code/trunk@5340 fc73d0e0-1445-4013-8a0c-d673dee63da5
2018-11-19 08:47:26 +00:00
Spoike
cb0f6fa6aa Fix some compile issues.
git-svn-id: https://svn.code.sf.net/p/fteqw/code/trunk@5339 fc73d0e0-1445-4013-8a0c-d673dee63da5
2018-11-19 08:06:07 +00:00
Spoike
2ee8387644 Many general cleaups and warning fixes.
Console code no longer makes assumptions about con_main
Screenshots rework, for screenshot_360, but also some other cleanups.
Fixed an issue with beginpolygon (finally).
Added per-rtlight style strings.
Added cvar to control whether ents will be culled by fog.
Added define to disable IPLOG, etc.
Added r_editlights cvar and related commands, for whenever csaddon isn't available.



git-svn-id: https://svn.code.sf.net/p/fteqw/code/trunk@5338 fc73d0e0-1445-4013-8a0c-d673dee63da5
2018-11-19 06:37:25 +00:00
Eukara
4cabdb80c5 Fixed r_showshaders crashing on a surface without shadername.
git-svn-id: https://svn.code.sf.net/p/fteqw/code/trunk@5335 fc73d0e0-1445-4013-8a0c-d673dee63da5
2018-11-10 08:26:51 +00:00
Spoike
45b4659de6 Fix vulkan lag issue with vk_busywait. Separate lightmap formats, to fix deluxemapping-with-hdr-lightmaps. Fix decals lingering on removed bmodels.
git-svn-id: https://svn.code.sf.net/p/fteqw/code/trunk@5326 fc73d0e0-1445-4013-8a0c-d673dee63da5
2018-10-27 04:32:18 +00:00
Spoike
2bedc32ff9 Misc tweaks.
Fix potentially serious crash with sprites+csqc tracelines.
Reworked fallback mouse cursor.
Fix decals on q3 bmodels.
Double-click to select a work to copy is now implemented.


git-svn-id: https://svn.code.sf.net/p/fteqw/code/trunk@5323 fc73d0e0-1445-4013-8a0c-d673dee63da5
2018-10-23 07:09:06 +00:00
Spoike
4ae635bc7b Some misc fixes, mostly win32/msvc focused.
Rename sound flags to include their valid scope.

git-svn-id: https://svn.code.sf.net/p/fteqw/code/trunk@5322 fc73d0e0-1445-4013-8a0c-d673dee63da5
2018-10-17 00:43:04 +00:00
Spoike
487201eeec properlyish distinguish between primary+clipboard x11 selections. Fix possible font crash. Fix possible QC weirdness with uri_get callbacks unexpectedly stomping globals.
git-svn-id: https://svn.code.sf.net/p/fteqw/code/trunk@5321 fc73d0e0-1445-4013-8a0c-d673dee63da5
2018-10-14 16:16:34 +00:00
Spoike
39e1f24511 Added trace_networkentity global to csqc. Try to fix some misc bugs.
git-svn-id: https://svn.code.sf.net/p/fteqw/code/trunk@5319 fc73d0e0-1445-4013-8a0c-d673dee63da5
2018-10-13 12:19:58 +00:00
Spoike
49ae9573b8 reworked clipboard handling to avoid stalls when pasting in linux.
made a load of functions static (just code style stuff).
downloads menu now deselects any autoselected items, to avoid confusion.
csqc traces can now hit networked ents. I probably need to make some more tweaks to this.
arg completion for flocate+dir+modelviewer commands.
fix autosave not cycling saves when using the vanilla save format.
fix patch collisions with q3bsp submodels.
md3 now supports framegroups too.
added some more buttons to make xonotic happy.
gl_polyblend 2 shows the screen flashes at the edge of the screen instead of the middle.
colormod no longer applies to fullbrights (matching DP). this fixes an issue with xonotic.
fix uninitialised local that was causing issues with bones used as tags.
rewrote qc search_* to use a dynamic array instead of a linked list. this should make it faster to read when there's many handles open at a time.
fte's saved games can now save buffers properly.
fix issue with raster freetype fonts (read: coloured emoji).
initial support for struct-based classes (instead of entity-based classes). still has issues.
execing configs in untrusted packages will no longer run out of sync (fixing a number of afterquake issues).
fix stupid bug with the te_gunshot/etc builtins.


git-svn-id: https://svn.code.sf.net/p/fteqw/code/trunk@5317 fc73d0e0-1445-4013-8a0c-d673dee63da5
2018-10-11 10:31:23 +00:00
Spoike
427afd5828 That define apparently doesn't exist in all versions of glext.h
git-svn-id: https://svn.code.sf.net/p/fteqw/code/trunk@5315 fc73d0e0-1445-4013-8a0c-d673dee63da5
2018-09-30 03:38:26 +00:00
Spoike
8279a76675 Attempt to optimise texture memory by loading greyscale tgas as 8bit. Extend serverbrowser api for xonotic. Be more aggressive with loading hardware cursor images. Fix software banding with compressed textures. Rework autosprites to cope with atlased texcoords (note: q3 would discard the texcoords).
git-svn-id: https://svn.code.sf.net/p/fteqw/code/trunk@5312 fc73d0e0-1445-4013-8a0c-d673dee63da5
2018-09-29 17:31:58 +00:00
Spoike
5159a801ff lerpfrac3 fixes. unix sockets for the luls (disabled). some misc tweaks for xonotic.
git-svn-id: https://svn.code.sf.net/p/fteqw/code/trunk@5309 fc73d0e0-1445-4013-8a0c-d673dee63da5
2018-09-23 19:35:24 +00:00
Spoike
5b7a426afe Added cl_autodemo cvar to automatically record games. 1 records multiview demos where possible, -1 strictly records singleview demos.
Enclosed mvd recording in ifdefs, so it can be disabled at compile-time for any mods that don't want to have to deal with it.
Removed the recorded players thing.
Allow csqc to use EF_FULLBRIGHT.
Fix cl_pure to attempt to actually download missing packages.

git-svn-id: https://svn.code.sf.net/p/fteqw/code/trunk@5303 fc73d0e0-1445-4013-8a0c-d673dee63da5
2018-09-01 04:18:08 +00:00
Spoike
b73979fa84 cmake: Attempt to avoid using libraries that might not be installed, like x11
git-svn-id: https://svn.code.sf.net/p/fteqw/code/trunk@5299 fc73d0e0-1445-4013-8a0c-d673dee63da5
2018-08-23 07:04:55 +00:00
Spoike
0980455e10 Fix saved games a little. Should no longer cause issues with hexen2,ad,etc.
Fix black lightmaps in h2mp.
Fix missing tinyfont in hexen2.
Added the drop part of drag+drop to x11.
Hopefully fixed x11 clipboard issues.
Hidden some annoying developer prints under developer 2.



git-svn-id: https://svn.code.sf.net/p/fteqw/code/trunk@5298 fc73d0e0-1445-4013-8a0c-d673dee63da5
2018-08-23 06:03:31 +00:00
Spoike
3fb88f2ec2 More preliminary support for patches. Loading+Saving+Display of control points will now work. No QC interactions yet.
git-svn-id: https://svn.code.sf.net/p/fteqw/code/trunk@5297 fc73d0e0-1445-4013-8a0c-d673dee63da5
2018-08-21 19:06:41 +00:00
Spoike
a7b696ef8c Added r_graphics cvar, so that you can finally turn graphics off/on like modern games (yay simplicity)... Doing so results in ascii-style rendering, just because.
git-svn-id: https://svn.code.sf.net/p/fteqw/code/trunk@5290 fc73d0e0-1445-4013-8a0c-d673dee63da5
2018-08-13 06:27:29 +00:00
Spoike
c97fa33879 Fix bug with previous commit.
Fix loading legacy saved games.
Hide the misaligned lumps warning under the developer cvar.


git-svn-id: https://svn.code.sf.net/p/fteqw/code/trunk@5289 fc73d0e0-1445-4013-8a0c-d673dee63da5
2018-08-09 15:50:07 +00:00
Spoike
c33c8a97a4 Moved infoblobs extension to a cvar.
git-svn-id: https://svn.code.sf.net/p/fteqw/code/trunk@5288 fc73d0e0-1445-4013-8a0c-d673dee63da5
2018-08-09 06:21:39 +00:00
Spoike
98b71860ed Fix some warnings. Hopefully fix bullet plugin.
git-svn-id: https://svn.code.sf.net/p/fteqw/code/trunk@5287 fc73d0e0-1445-4013-8a0c-d673dee63da5
2018-08-04 19:00:19 +00:00
Spoike
0b2be8f4ba PACKAGEMANAGER is now a compiletime feature in its own right, and can be enabled separately from WEBCLIENT (although won't be able to download without WEBCLIENT).
SAVEDGAMES is now a new compiletime feature. Deathmatch/dedicated servers can freely disable it.
menuqc now makes sure that any fields it needs are actually present.
developer 1 should now report glsl line numbers a bit more reliably.

git-svn-id: https://svn.code.sf.net/p/fteqw/code/trunk@5284 fc73d0e0-1445-4013-8a0c-d673dee63da5
2018-08-04 07:05:20 +00:00
Spoike
8b03acacbe added env_cubemap support. doesn't currently render its own cubemaps yet.
git-svn-id: https://svn.code.sf.net/p/fteqw/code/trunk@5277 fc73d0e0-1445-4013-8a0c-d673dee63da5
2018-07-24 13:59:42 +00:00
Spoike
bb68e5c5cd git-svn-id: https://svn.code.sf.net/p/fteqw/code/trunk@5276 fc73d0e0-1445-4013-8a0c-d673dee63da5 2018-07-22 12:55:45 +00:00
Spoike
f45eb4580e compile fixes
git-svn-id: https://svn.code.sf.net/p/fteqw/code/trunk@5275 fc73d0e0-1445-4013-8a0c-d673dee63da5
2018-07-22 12:53:36 +00:00
Spoike
0fee3a4aea Add ortho lights (still has serious issues that make them unusable on regular maps).
First real attempt at lit water.
Parsing rtlights is now aware of spotlights.
Default cl_yieldcpu to 1, to save cpu for anyone who sets cl_maxfps lower. Added to menus.
presets now include view angle clamping - maps made for quakespasm REQUIRE full pitch angles despite it otherwise being considered a cheat or glitchy (on servers that try to block the cheat).
fix r_fullbrightSkins>=1 issue.

git-svn-id: https://svn.code.sf.net/p/fteqw/code/trunk@5274 fc73d0e0-1445-4013-8a0c-d673dee63da5
2018-07-22 11:49:37 +00:00
Spoike
d1d0d86fea Rewrote infostrings. Now using infobuffers, which allows for the use of arbitrary blobs, except not using the protocol extension yet in case it needs to be fixed.
Fix sound source issues in Q3.
Fix q2 air acceleration/prediction omission.
Don't change console completion while typing (while that option is still possible).
Shift+tab now cycles completion backwards (now ctrl+shift for cycle subconsoles).
Allow a few things to ignore sv_pure - including csprogs files (which is useful for all the mods that come with the csprogs.dat distributed separately).
clamp pitch values to the range documented by openal, to hopefully avoid error spam.
add some colour coding to the text editor when shader files are being edited/viewed.
Changed how overbrights are clamped on q3bsp.
Added portalfboscale for explicit texture scales on portal/refract/reflect fbos.
qc decompiler can now at least attempt to decompile qtest's qc.
fteqccgui can now be pointed at a .pak file, and decompile the progs.dat inside.

git-svn-id: https://svn.code.sf.net/p/fteqw/code/trunk@5269 fc73d0e0-1445-4013-8a0c-d673dee63da5
2018-07-05 16:21:44 +00:00
Spoike
b7784f41d9 Fix potentially serious vulkan performance issue.
Stripped obsolete vk_nv_dedicated_allocation extension.
Misc fixes for warnings.
Linux now defaults to using ~/.local/share/fte instead of ~/.fte for greater consistency.
Other misc linux tweaks.


git-svn-id: https://svn.code.sf.net/p/fteqw/code/trunk@5267 fc73d0e0-1445-4013-8a0c-d673dee63da5
2018-06-18 16:44:29 +00:00
Spoike
20be3f8161 fix a couple of quake2 issues.
rework the main menu slightly to promote the qi plugin a little more.


git-svn-id: https://svn.code.sf.net/p/fteqw/code/trunk@5262 fc73d0e0-1445-4013-8a0c-d673dee63da5
2018-06-06 09:09:14 +00:00
Spoike
ac471dd03e update native-menu things.
attempt to deal with misaligned bsp models.

git-svn-id: https://svn.code.sf.net/p/fteqw/code/trunk@5258 fc73d0e0-1445-4013-8a0c-d673dee63da5
2018-06-02 08:55:57 +00:00
Spoike
60c8797d25 Try to fix frametime issues with TW.
Use eukara's icon in x11, matching the windows icon.
Use the extra main-menu options even when there's no menufont available.



git-svn-id: https://svn.code.sf.net/p/fteqw/code/trunk@5255 fc73d0e0-1445-4013-8a0c-d673dee63da5
2018-05-28 10:12:10 +00:00
Spoike
5e937bcf48 Eukara wants native-code custom menus. He's weird.
Try to clean up the frametime global.
fix some quirks with r_dynamic -1
Added scr_fov_mode cvar to control whether the fov is defined relative to horizontal, vertical, or guessed.
fix a few fteqcc bugs
tab completion for the gamedir command.
fix the savegame_legacy command. it wasn't entirely compatible.

git-svn-id: https://svn.code.sf.net/p/fteqw/code/trunk@5254 fc73d0e0-1445-4013-8a0c-d673dee63da5
2018-05-21 13:47:53 +00:00
Spoike
8c4d39268e added demo_nudge command.
attempt to fix an issue with bc formats being rejected by d3d if they're not a multiple of 4.
added doreset argument to refreshhostcache builtin, for mods to forget all servers when rescanning.
stop fteqcc from reporting uninitialised locals etc inside the wrong file.

git-svn-id: https://svn.code.sf.net/p/fteqw/code/trunk@5251 fc73d0e0-1445-4013-8a0c-d673dee63da5
2018-05-06 16:09:07 +00:00
Spoike
5c459e4eca fix some warnings.
git-svn-id: https://svn.code.sf.net/p/fteqw/code/trunk@5249 fc73d0e0-1445-4013-8a0c-d673dee63da5
2018-04-27 17:11:14 +00:00
Spoike
fdd903e0a3 win: emulate gamepad thumb axis as buttons.
keys: add some extra key names for compat with DP+QS (primarily gamepad buttons).
keys: fix a few keys getting mistranslated between engine and qc scancodes.
engine menus: remove 16bpp from the video options menu on win8+, as win8 no longer supports anything but rgbx8.
pmove: coord size and rounding is now part of the pmove code itself. this fixes truncation issues.
r_clutter_density: fix crash from clutter comprising of boneless iqms.
gl: added cvars to disable immutable buffers or textures. hopefully these might be usable to work around the issue reported on various geforce 1080s
wav: convert ieee wav files to 16bit on load, in case someone tries giving us one of these.
vid_srgb: this cvar now uses -1 for the former gamma-only setting.
r_viewmodel_quake: new cvar (name comes from quakespasm) that can be used to disable the weird movement of the viewmodel when pitching up or down.
nquake: try to block nquake's frogbot's autoexec.cfg, as I keep getting complaints about it fucking over singleplayer games.
fs: added -netquake commandline argument that disables the use of the qw/ gamedir.
fog: disabled fog on aky surfaces, as it was bugging out in The Wastes.
vid: fix some vid_restart/vid_reload issues (which got much worse recently in my attempt to fix a different crash)
routing: first attempt at engine-side routing. feature is currently disabled.

git-svn-id: https://svn.code.sf.net/p/fteqw/code/trunk@5248 fc73d0e0-1445-4013-8a0c-d673dee63da5
2018-04-27 16:40:50 +00:00
Spoike
9f17116412 cancelling messagemode now clears the text.
r_showshaders 1 now shows the filename.
block 16bit rendering on win8+.
be more aggressive at starting a video mode when the system refuses to set a video mode.

git-svn-id: https://svn.code.sf.net/p/fteqw/code/trunk@5246 fc73d0e0-1445-4013-8a0c-d673dee63da5
2018-04-19 17:30:39 +00:00
Spoike
c4132347eb added sys_priority cvar to the windows build.
rewrote tab completion logic. should no longer consume so much cpu time.
added tab-completion for the connect command. server lists must have been requested previously (like the connectbr command requires).
fix q1bsp fencetexture+fog combo.
fix wateralpha/lavaalpha/slimealpha/telealpha worldspawn fields.
added a couple of extra cvars to some rulesets.
fix d3d9 mipmap-size issue.
fix vid_reload issue (was crashing, but its also possible that it could have been the cause of VBO corruption).
made pausable default to empty, allowing for smarter defaults like pausing SP but not DM.
attempt to compensate for NQ's framerate-dependant waterjumps by making QW waterjumps slightly more permissive.

git-svn-id: https://svn.code.sf.net/p/fteqw/code/trunk@5241 fc73d0e0-1445-4013-8a0c-d673dee63da5
2018-04-15 02:48:23 +00:00
Spoike
a1ff8a9f3c global fog for d3d9.
git-svn-id: https://svn.code.sf.net/p/fteqw/code/trunk@5237 fc73d0e0-1445-4013-8a0c-d673dee63da5
2018-04-08 15:42:31 +00:00
Spoike
2de26a93f7 use immutable vbos, because we can.
add stof to the lua logic.
fix an issue where q3bsp cvars were not registered in The Wastes build config leaving it subject to the worst of q3map2's lightmap allocation logic.

git-svn-id: https://svn.code.sf.net/p/fteqw/code/trunk@5236 fc73d0e0-1445-4013-8a0c-d673dee63da5
2018-04-08 14:24:50 +00:00
Spoike
e44d8a85d8 don't swallow multimedia keys unless they're actually bound to something.
fix possible out-of-range issue with qc ent references.
shader parsing is now a little more strict.
lua code support updated to bring it more in line with hifi's efforts, still not enabled by default.

git-svn-id: https://svn.code.sf.net/p/fteqw/code/trunk@5233 fc73d0e0-1445-4013-8a0c-d673dee63da5
2018-04-06 17:21:15 +00:00
Spoike
8c02fb26b3 removed old scr_chatmode
splitscreen can now properly be configured via build configs, and potentially more than just 4 seats.
fix splitscreen and enemycolour forcing. forcing now works, but only when all seats are on/spectating the same team.
fix demo playback issue with http urls with webgl that don't allow streaming.
srgb fixes for the scoreboard.

git-svn-id: https://svn.code.sf.net/p/fteqw/code/trunk@5229 fc73d0e0-1445-4013-8a0c-d673dee63da5
2018-03-25 09:36:14 +00:00
Spoike
7f2c356133 Fixed some bugs with servers using gnutls.
Attempted to clean up build configs slightly, now ALWAYS using a build config.
Now enabling wayland renderer by default on linux (activates by default only when x11 fails).
Given linux servers the ability to chroot (will be used by default if run as suid-root).
Fixed a couple of vulkan warnings.
Makefile now treats speex like any other library.


git-svn-id: https://svn.code.sf.net/p/fteqw/code/trunk@5227 fc73d0e0-1445-4013-8a0c-d673dee63da5
2018-03-24 04:02:09 +00:00
Spoike
93624e9d62 don't bug out so much on skeletal models when frametimes are negative (can happen via csqc)
git-svn-id: https://svn.code.sf.net/p/fteqw/code/trunk@5226 fc73d0e0-1445-4013-8a0c-d673dee63da5
2018-03-23 06:35:32 +00:00
Spoike
cfa28262b4 Be more verbose about 'error 101' - when using the server browser on machines with unroutable ipv6.
Fix some issues reported by xaGe including a serious linux one.

git-svn-id: https://svn.code.sf.net/p/fteqw/code/trunk@5225 fc73d0e0-1445-4013-8a0c-d673dee63da5
2018-03-07 20:31:09 +00:00
Spoike
986131b191 git-svn-id: https://svn.code.sf.net/p/fteqw/code/trunk@5224 fc73d0e0-1445-4013-8a0c-d673dee63da5 2018-03-06 17:01:53 +00:00
Spoike
8e3b3e0f0c git-svn-id: https://svn.code.sf.net/p/fteqw/code/trunk@5223 fc73d0e0-1445-4013-8a0c-d673dee63da5 2018-03-06 16:51:18 +00:00
Spoike
4a29919111 fix some memory reference/leak errors reported by valgrind.
git-svn-id: https://svn.code.sf.net/p/fteqw/code/trunk@5222 fc73d0e0-1445-4013-8a0c-d673dee63da5
2018-03-06 16:46:57 +00:00
Spoike
0da0e97fc5 fix up gles2-only targets
git-svn-id: https://svn.code.sf.net/p/fteqw/code/trunk@5218 fc73d0e0-1445-4013-8a0c-d673dee63da5
2018-03-05 04:00:56 +00:00
Spoike
685404250f added cmake file.
reduced input latency.
reworked how internal texture formats work,.
added support for LIGHTING_E5BGR9 bspx lump for HDR lighting.
updated support for srgb, no longer looks quite so weird. works on glx
vid_srgb 3 attempts to use half-float swapchains, where possible.
gl: use glTextureStorage where available.
d3d11: gave up on using dxgi for fullscreen, was just too buggy.
glx: updated gl context creation on linux.
server: fix svc_updatefrags not being passed though (fixes frikbot scores)
fs: spanned pk3s now work (fragmented files/directory will fail to open, so this needs a custom tool to be fully useful).
fixed restart_ents command (restarts the map, but preserving the players as they are)
tw: removed 'QWSKINS' featureset from tw config

git-svn-id: https://svn.code.sf.net/p/fteqw/code/trunk@5217 fc73d0e0-1445-4013-8a0c-d673dee63da5
2018-03-04 14:41:16 +00:00
Spoike
312d64bb4a try to fix non-glsl skybox.
git-svn-id: https://svn.code.sf.net/p/fteqw/code/trunk@5211 fc73d0e0-1445-4013-8a0c-d673dee63da5
2018-02-09 17:42:09 +00:00
Spoike
7da299ee88 fix scrag/hknight trails - they're moving about 9 times too fast.
fix particle trail spam. oops.
fix ttf fonts not using fallback quake glyphs.

git-svn-id: https://svn.code.sf.net/p/fteqw/code/trunk@5208 fc73d0e0-1445-4013-8a0c-d673dee63da5
2018-01-28 04:12:59 +00:00
Spoike
f3ae58608b QUAKETC with dpmaster fix.
don't archive csprogs when it's getting saved into demos anyway.
bound bones when using a model with less bones than the relative skeletal object.
mute(dprint) xinput restarts.

git-svn-id: https://svn.code.sf.net/p/fteqw/code/trunk@5205 fc73d0e0-1445-4013-8a0c-d673dee63da5
2018-01-24 12:13:32 +00:00
Spoike
999d677515 compiler warning/error fixes
git-svn-id: https://svn.code.sf.net/p/fteqw/code/trunk@5202 fc73d0e0-1445-4013-8a0c-d673dee63da5
2018-01-23 01:22:29 +00:00
Spoike
9e8bb446f4 implemented pm_stepdown.
attempt to implement 'simple csqc' api.
handle qw+nq gunshot+blood+lightning differently - they do actually have different particle spawn patterns (qw is a single point, so spreads wider).
fix q3ui logo mesh thing. work around q3ui player meshes on d3d.
split video and renderer latching, so vid_reload delatches more stuff.
fix autosprite+autosprite2 in 6 different renderers...
added fog volumes to d3d9 renderer.
using matrix hacks instead of glDepthRange, this should give more consistent behaviour, especially now that we have r_viewmodel_fov.
small cleanup for gl shadowmaps to make the interface more consistent with other renderers.
added patchDef2 parsing to fte's .map loader, doesn't actually use it though.
some fixes for q3's shaders, including to try to get overbright working better.
updated customskin api to give more control.
first attempt at a packager system for fteqccgui. probably useless, but whatever.
menusys changes to try to support QSS's csqc.

git-svn-id: https://svn.code.sf.net/p/fteqw/code/trunk@5200 fc73d0e0-1445-4013-8a0c-d673dee63da5
2018-01-22 19:18:04 +00:00
Spoike
2d68fbfb55 fix r_waterstyle 2/3 entity flickering
git-svn-id: https://svn.code.sf.net/p/fteqw/code/trunk@5197 fc73d0e0-1445-4013-8a0c-d673dee63da5
2018-01-06 18:29:36 +00:00
Spoike
3f0f3e20b5 fix r_wateralpha in the d3d9+d3d11 renderers too.
git-svn-id: https://svn.code.sf.net/p/fteqw/code/trunk@5196 fc73d0e0-1445-4013-8a0c-d673dee63da5
2018-01-06 17:38:31 +00:00
Spoike
3a85de45f6 xinput tweaks, under advice from primallove.
fix sv_nqplayerphysics+spectators = spectators able to shoot
fix watervis bug, turned out to potentially be more serious.

git-svn-id: https://svn.code.sf.net/p/fteqw/code/trunk@5194 fc73d0e0-1445-4013-8a0c-d673dee63da5
2018-01-05 01:45:49 +00:00
Spoike
56a48000e8 small fix for minimal builds, in case anyone tries building one.
git-svn-id: https://svn.code.sf.net/p/fteqw/code/trunk@5193 fc73d0e0-1445-4013-8a0c-d673dee63da5
2018-01-03 18:49:11 +00:00
Spoike
a6ac015c5b software banding: fix player skins.
try to get game controller defaults a little closer to QS.
mess with r_dynamic 2 a little, to more closely match vanilla.
fix under-lighting bug on models. added extra model lighting pathway for greater vanilla compat, as part of software-banding.
fix proquake-client compat issue.

git-svn-id: https://svn.code.sf.net/p/fteqw/code/trunk@5192 fc73d0e0-1445-4013-8a0c-d673dee63da5
2018-01-03 04:40:06 +00:00
Spoike
99f90e25fb git-svn-id: https://svn.code.sf.net/p/fteqw/code/trunk@5190 fc73d0e0-1445-4013-8a0c-d673dee63da5 2017-12-28 16:48:09 +00:00
Spoike
845bb231ca xonotic: fix 'sticky walls' issue when spectating.
xonotic: fix jumppads not working while onground.
attempt to parse meag's protocol changes, in case we get a .qwd from ezquake. does not report them to servers at this time.
added cl_fullpitch cvar. only affects nq servers that lack serverinfo.
support dds/ktx-based cubemaps, including for skyboxes.
recognise multiple new compressed texture formats - bc1-7, etc1+2+eac,.astc. Addeded to supporting drivers/apis.
software decoder for etc2,bc4+bc5 textures, so they can be considered universal (but with fallbacks).
software decoder for bc1-bc3 textures, but disabled due to lingering patent paranoia.
report heartbeats once, by default.
r_viewmodel_fov support for vk+d3d9+d3d11 renderers.
fix depth projection differences with various renderers (min dist is now consistent).
added some code to announce when cl_delay_packets changes.

git-svn-id: https://svn.code.sf.net/p/fteqw/code/trunk@5188 fc73d0e0-1445-4013-8a0c-d673dee63da5
2017-12-28 16:24:50 +00:00
Spoike
6d9c3f5df0 fix some font issues.
git-svn-id: https://svn.code.sf.net/p/fteqw/code/trunk@5187 fc73d0e0-1445-4013-8a0c-d673dee63da5
2017-12-20 08:23:41 +00:00
Spoike
cd4412e807 add scr_showdisk cvar, to show the disk icon for a little time whenever something is accessed from disk.
try to fix the recent network issues, the slightly more sane way.
added a r_viewmodel_fov cvar, to optionally control the viewmodel's fov separately from view fov.
updatesound now auto-starts the sound if it wasn't already playing, but only if a sound name was specified.
small optimisation for xonotic. Delay the actual fopen until the first read. This avoids the worst of the hitches every time a footstep sound is played (no more zlib decompression).
r_lightprepass now respects rtlight modes.
optimised some rtlight pvs bits. should hopefully be slightly more efficient.


git-svn-id: https://svn.code.sf.net/p/fteqw/code/trunk@5186 fc73d0e0-1445-4013-8a0c-d673dee63da5
2017-12-15 06:56:40 +00:00
Spoike
0b3a11335a fix some bugs.
git-svn-id: https://svn.code.sf.net/p/fteqw/code/trunk@5185 fc73d0e0-1445-4013-8a0c-d673dee63da5
2017-12-14 21:12:11 +00:00
Spoike
0b5bc85c91 fix some warnings and stuff
git-svn-id: https://svn.code.sf.net/p/fteqw/code/trunk@5181 fc73d0e0-1445-4013-8a0c-d673dee63da5
2017-12-09 22:10:51 +00:00
Spoike
559144cb05 Updated font code for freecs's benefit.
added cl_iDrive cvar.
tried to solve invalid server address errors.
fixed envmap+screenshot_cubemap commands (they write slightly different cubemaps).
rework server favourites a little, to avoid conflicts with other engines.
fix legacy rtlights on certain maps.
added 'rgbgen entitylighting' for lighting with colormod support.
decompiler should cope with more instructions now. pretty much just switch opcodes that are bugged now.
implemented a couple of joint types into the bullet plugin. still useless though.

git-svn-id: https://svn.code.sf.net/p/fteqw/code/trunk@5180 fc73d0e0-1445-4013-8a0c-d673dee63da5
2017-12-09 21:22:46 +00:00
Spoike
f21322d251 added VF_USERDATA to set new w_user glsl uniform.
git-svn-id: https://svn.code.sf.net/p/fteqw/code/trunk@5178 fc73d0e0-1445-4013-8a0c-d673dee63da5
2017-12-03 08:27:27 +00:00
Spoike
9cd425e945 rework hlmdl subblends. apparently they're some sort of grid.
fix decals again. clampmap should work properly with them, also removed the extra part.
fix rtlight pvs issue with respect to portals
fix vid_reload causing the d3d9 renderer to use nearest sampling
terrain system should now mostly work with d3d9. still has issues.
fix q3 volumetric fog not applying to models

git-svn-id: https://svn.code.sf.net/p/fteqw/code/trunk@5174 fc73d0e0-1445-4013-8a0c-d673dee63da5
2017-11-30 17:59:11 +00:00
Spoike
4896954c8a apply lmgamma to rbsp vertex lighting
opus should now be statically linked or something
made the denormalised floats warning look less scary.
fix the console-making-hud-pics invisible issue

git-svn-id: https://svn.code.sf.net/p/fteqw/code/trunk@5172 fc73d0e0-1445-4013-8a0c-d673dee63da5
2017-11-24 18:40:17 +00:00
Spoike
4f73088dea change cl_idlefps default to 30.
minor tweak to prediction logic. bob logic will no longer stutter in eg freecs.
reworked config ordering. autoexec-after-fte.cfg will now be enforced.
reworked rawinput logic to avoid mouse button states getting stale due to separate mouse drivers when enabling the cursor.
fixed invalid commands getting silently ignored when not connected to a server.
allow execution of menu.dat from packages specified by the fmf.
FS_NativePath now responds properly to FS_GAME, and will return logical paths, instead of mimicing FS_GAMEONLY.
d3d9: fix tcgen skybox
qcc: fix crash with __out keyword.

git-svn-id: https://svn.code.sf.net/p/fteqw/code/trunk@5171 fc73d0e0-1445-4013-8a0c-d673dee63da5
2017-11-23 07:46:39 +00:00
Spoike
c7d5695e5e small vulkan perf tweak.
fix capturedemo over vid reloads.
fix playfilm letterboxing issue.
con_printf will now create consoles as needed.
fix .skin compose line.
fix a couple of q3bsp issues
core gl contexts will no longer be given pre-core glsl shaders, is the theory.
qcc now warns about unused fields. use the __used keyword to mark those fields as actually needed. use __unused to allow the qcc to potentially silently strip them.

git-svn-id: https://svn.code.sf.net/p/fteqw/code/trunk@5166 fc73d0e0-1445-4013-8a0c-d673dee63da5
2017-11-14 14:37:04 +00:00
Spoike
1206244ebb rework loading screen for legacy mods that don't have their own.
fix sound issue not reusing distant sounds (fixes massive cut-off sounds in xonotic).
fix crash issue with skeletal objects holding invalid model pointers over vid_restarts.

git-svn-id: https://svn.code.sf.net/p/fteqw/code/trunk@5163 fc73d0e0-1445-4013-8a0c-d673dee63da5
2017-11-05 13:15:08 +00:00
Spoike
9fc89eb03b try to fix recently reported slow-loading issue
git-svn-id: https://svn.code.sf.net/p/fteqw/code/trunk@5161 fc73d0e0-1445-4013-8a0c-d673dee63da5
2017-11-04 02:53:55 +00:00
Spoike
52f0f117ab fix Q3BSP-without-Q2BSP bug.
reworked deferred rendering to support specular. mrt can be reconfigured by TCs if desired.
reworked q3bsp deluxemap code (so it no longer bugs out).
fixed a few warnings.
updated fteqcc to try to cope with xonotic. still not working (xonotic fails from bound checks).
reworked shader conditionals to support elif. added some directives from QF(aka: warsow)

git-svn-id: https://svn.code.sf.net/p/fteqw/code/trunk@5158 fc73d0e0-1445-4013-8a0c-d673dee63da5
2017-10-31 22:52:58 +00:00
Spoike
8bb999f3ca Rewrote sections of the input code to better deal with multiple mice. Convert deltas to absolutes when absolutes were requested by the mod. Support hardware cursors on x11. Recognise pointer absolute coords / tablets on x11.
git-svn-id: https://svn.code.sf.net/p/fteqw/code/trunk@5156 fc73d0e0-1445-4013-8a0c-d673dee63da5
2017-10-25 08:10:35 +00:00
Spoike
7dc01f7362 android port updated. egl now handled by native code, which means we now have proper control over everything and can default to gles2. requires android 2.0+. vulkan-on-android renderer added, but not tested.
added .ktx image support as an alternative to .dds, primarily for etc2 compression (which should work on all gles3 devices, or gl4.3), only known representations will work.
rework z-fighting workaround. now only enabled on known vanilla maps.
added splitscreen option to the singleplayer menu.

git-svn-id: https://svn.code.sf.net/p/fteqw/code/trunk@5154 fc73d0e0-1445-4013-8a0c-d673dee63da5
2017-10-13 17:50:28 +00:00
Spoike
696c7e8260 playdemo should now play older protocol versions.
some more tweaks for xonotic
rcon-over-xmpp, because I can. Server might see your rcon password, so watch out for that.
qcc tweaks.
updated q1qvm api stuff to api version 15.
android port updated. egl now handled by native code, which means we now have proper control over everything and can default to gles2. requires android 2.0+. vulkan-on-android renderer added, but not tested.

git-svn-id: https://svn.code.sf.net/p/fteqw/code/trunk@5153 fc73d0e0-1445-4013-8a0c-d673dee63da5
2017-10-12 12:02:25 +00:00
Spoike
0c8ad17f7c Fix various compiler warnings.
Added sv_guidkey cvar, allowing cross-server guid key generation (although it lacks auth).
Support .ico, because we can.
preliminary support for sdl 2.0.6's vulkan stuff. will wait till its actually released before its properly used.
Fix capturedemo.
videomap should typically use premultiplied alpha, apparently.
Updated sound drivers. No more old drivers. Better cvar registration. More drivers optionally support float output.
Added certificate log for dtls connections.
Rewrote font char cache, now supports full unicode char range, not just ucs-2. Attempt to support FreeType 2.5+ rgba fonts.
XMPP now supports carbons, and shows avatars in conversations. Updated xmpp's scram auth to be more strict, including the plus variation (hopefully), to block evil tls proxies.
ffmpeg plugin now uses the decoupled api for decoding too.
Cef plugin updated to support fte-scheme post data properly, as well as request/response headers (like cross-origin).

git-svn-id: https://svn.code.sf.net/p/fteqw/code/trunk@5148 fc73d0e0-1445-4013-8a0c-d673dee63da5
2017-09-20 11:27:13 +00:00
Spoike
8dfa6ccbe6 Add XRandR support. Disabled by default, for now.
git-svn-id: https://svn.code.sf.net/p/fteqw/code/trunk@5146 fc73d0e0-1445-4013-8a0c-d673dee63da5
2017-09-02 05:13:33 +00:00
Spoike
d9cc3030cd git-svn-id: https://svn.code.sf.net/p/fteqw/code/trunk@5144 fc73d0e0-1445-4013-8a0c-d673dee63da5 2017-08-29 02:37:43 +00:00
Spoike
0f7bbfcf0e Implement an area grid, primarily to avoid mods(read: xonotic) generating 2000 ents all sitting on the root area node.
Add separate cl_movement cvar to enable/disable reporting input sequences to DP servers (which use different pathways). Does not affect other protocols. This is separate from cl_nopred but will usually have the same result in the long run.
Fixed movevalues for DPP7 clients, if they try using prediction they should now (mostly) get the same values that DP normally uses for QW servers.
Reworked sky overrides somewhat. Now uses skyboxes where possible.
Fixed dpcompat_makeshitup a little, for better compat.
Fixed echo $foo$bar not exanding bar.
Try to fix the meanings of vid_hardwaregamma.
Fixes for builtins/features/etc that apparently only xonotic uses.

git-svn-id: https://svn.code.sf.net/p/fteqw/code/trunk@5143 fc73d0e0-1445-4013-8a0c-d673dee63da5
2017-08-29 02:29:06 +00:00
Spoike
c4d3497054 some Q2 compat tweaks. moved all q2 temp-ents to particle scripts.
PF_VarString can now shortcircuit, directly returning the first argument (which also bypasses related length limitations). this required const correctness fixes.
r_showshaders cvar reports the wall texture being pointed at.
improve dp compat in a number of areas, should now mostly be able to run xonotic 0.8.2, but will need some more extra cvars/defaults/stuff.
fix q3bsp loader race condition.
fix dpm loader multi-surface issue.
remove limit on stringbuffer count.
don't poll xinput (because its disturbingly slow), instead wait for some window message before re-checking.
fixed splitscreen saved games.

git-svn-id: https://svn.code.sf.net/p/fteqw/code/trunk@5140 fc73d0e0-1445-4013-8a0c-d673dee63da5
2017-08-14 16:38:44 +00:00
Spoike
2759632327 fix eukara's icons (he typoed), so they're actually used properly. use them for d3d renderers too.
ignore mip levels that don't match what gl/vk require.

git-svn-id: https://svn.code.sf.net/p/fteqw/code/trunk@5137 fc73d0e0-1445-4013-8a0c-d673dee63da5
2017-08-10 19:40:47 +00:00
Spoike
e8c0014b58 fix .gravity on non-players.
try to fix webgl's mouse cursors on misaligned canvases.
fix q2 tent issue.
fix bmp screenshots.
allow disabling packages via renaming, instead of only deleting.
support negative dlights.

git-svn-id: https://svn.code.sf.net/p/fteqw/code/trunk@5133 fc73d0e0-1445-4013-8a0c-d673dee63da5
2017-07-31 17:15:37 +00:00
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
d66db9930d fix time changing issue in runstandardplayerphysics.
fix doom-sprites, although their angles still seem to be biased.

git-svn-id: https://svn.code.sf.net/p/fteqw/code/trunk@5129 fc73d0e0-1445-4013-8a0c-d673dee63da5
2017-07-13 10:44:54 +00:00
Spoike
776b8f6565 Added .dz playback support.
demo menu now properly lists the contents of archives.
demos played from subdirs/archives can now chain properly.
autodetect nehahra's demos. Add -nehahra argument to register/override cvar defaults (and set the right gamedir+startmap).
fix some q2 download bugs.
lame attempt at proper sRGB support (gl+vk+d3d9+d3d11 renderers).
fix q3bsp wrong-lightmaps bug.
match DP's viewzoom behaviour by not applying it when VF_[A]FOV was explicitly used.
fix d3d9 issue with missing textures screwing up blend modes.
vk: use a staging buffer instead of a staging textures per mip.

git-svn-id: https://svn.code.sf.net/p/fteqw/code/trunk@5128 fc73d0e0-1445-4013-8a0c-d673dee63da5
2017-07-12 08:15:27 +00:00
Spoike
db8663d826 git-svn-id: https://svn.code.sf.net/p/fteqw/code/trunk@5126 fc73d0e0-1445-4013-8a0c-d673dee63da5 2017-07-04 05:13:44 +00:00
Spoike
904a701281 command argument completion for a few commands.
fix off-by-one pvs bug.
add another settings preset.
fix classic particles colour issue.
fix d3d9 renderer's scissoring (including splitscreen huds)

git-svn-id: https://svn.code.sf.net/p/fteqw/code/trunk@5125 fc73d0e0-1445-4013-8a0c-d673dee63da5
2017-07-04 05:07:51 +00:00
Eukara
2b3d8b39e4 Just shoving that bit in here
git-svn-id: https://svn.code.sf.net/p/fteqw/code/trunk@5123 fc73d0e0-1445-4013-8a0c-d673dee63da5
2017-07-02 18:59:27 +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
705067928a fix corrupt d3d batches (on large maps)
git-svn-id: https://svn.code.sf.net/p/fteqw/code/trunk@5117 fc73d0e0-1445-4013-8a0c-d673dee63da5
2017-06-22 10:29:06 +00:00
Spoike
2bf193001b implement pcma+pcmu codecs for voip for xmpp compat, because they're fairly simple and I can.
remove MAX_MAP_LEAFS limit, although its still checked for sanity (just MUCH higher). You may need 64bit processes on account of the pvs+phs memory required.
integrated my fork of frikdec into fteqccgui. Just associate .dat with fteqccgui and it'll decompile the progs (compiling will then embed the decompiled source into the resulting .dat to avoid repeated decompilation). Be sure to back up first... not tested as a 64bit process.

git-svn-id: https://svn.code.sf.net/p/fteqw/code/trunk@5114 fc73d0e0-1445-4013-8a0c-d673dee63da5
2017-06-21 01:24:25 +00:00
Spoike
ca31acefea qccgui: add custom right-click menu. move buttons for more screen space.
some fixes for various other small things.

git-svn-id: https://svn.code.sf.net/p/fteqw/code/trunk@5112 fc73d0e0-1445-4013-8a0c-d673dee63da5
2017-06-05 15:20:57 +00:00
Spoike
025aeff8a4 qccgui: reworked compile prints to split the screen instead of being some other window that's hidden when fullscreened etc.
splitscreen: split spectator setting into a per-seat setting. scoreboards are now also per-seat.
added parm_string global for richer map change stuff.
dpp7: fixed and reinstated.

git-svn-id: https://svn.code.sf.net/p/fteqw/code/trunk@5110 fc73d0e0-1445-4013-8a0c-d673dee63da5
2017-05-28 15:42:32 +00:00
Spoike
14c665076b update the clustertransfer builtin to work on non-cluster dedicated servers.
implement redirectcmd. because I can.
add a few more qc extensions that define features already implemented.
changing/restarting the map will explicitly flush the worldmodel if the file's modification time is newer. this should make map editing a little nicer.


git-svn-id: https://svn.code.sf.net/p/fteqw/code/trunk@5106 fc73d0e0-1445-4013-8a0c-d673dee63da5
2017-05-23 07:03:07 +00:00
Spoike
445e7f476b a dos port, as a dig at eukara about his xbox port project.
mouse+kb+soundblaster devices should work.
you can compile a dedicated server, but the lack of any networking support makes it a bit pointless.
the software renderer will work, but its crap and gets absolutely dire framerates.
there's no code to init mesa or anything, so its crappy-software rendering only.
I doubt anything useful will ever result from this, but it was still interesting to do. possibly the only useful thing to come from this will be from limiting ram use.

git-svn-id: https://svn.code.sf.net/p/fteqw/code/trunk@5104 fc73d0e0-1445-4013-8a0c-d673dee63da5
2017-05-19 03:32:02 +00:00
Spoike
5d2ff1286d first version with dtls support. disabled for now.
schannel (ie: windows native) works as a client, not a server.
gnutls provides both client+server support. servers need to load a pre-generated cert from disk.
tweaked gamepads to actually work in the web target.
tweak gamepads a bit. added gp_* bind aliases. xinput+sdl+web should all use the same key mappings.
finally added the itemtimer glsl.
tweaked software renderer to not be quite so buggy, but you probably won't realise that if you try it.
disabled the ill-fated QWOVERQ3 feature.
don't do the oldorigin thing in quakeworld mods. hopefully this'll fix cspree's weird stuck-in-floor issue.
dpp7 is buggy serverside. disabled for now. I'm part way through rewriting its deltas.

git-svn-id: https://svn.code.sf.net/p/fteqw/code/trunk@5103 fc73d0e0-1445-4013-8a0c-d673dee63da5
2017-05-18 10:24:09 +00:00
Spoike
1f729f4afd compile fixes
git-svn-id: https://svn.code.sf.net/p/fteqw/code/trunk@5099 fc73d0e0-1445-4013-8a0c-d673dee63da5
2017-05-10 03:13:18 +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