Commit graph

209 commits

Author SHA1 Message Date
Spoike
783ef32e67 enable the bmp screenshots code. needs testing.
git-svn-id: https://svn.code.sf.net/p/fteqw/code/trunk@5121 fc73d0e0-1445-4013-8a0c-d673dee63da5
2017-06-26 09:35:23 +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
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
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
09ec3bf6ea added explicit 'blend rtsmoke' particles that are intended to lit by rtlights without needing to override shaders.
addtrisoup_simple now supports line lists too.
fix a memory leak in the sound code.
fix chunked http download corruption in certain cases.
reworked the networking associated with entity editing. now carries ids instead of indexes (qc isn't aware of them).
'map blarg.map' will now auto-create a dummy map if it does not already exist. this should make it easier to get started with map editing.
fix some issues with banning yourself - loopback can now mute etc themselves, but not ban themselves.
downloads/updates menu now handles plugin detection. user-installed plugins will result in a prompt allowing the user to enable/disable/delete them. This makes using plugins more explicit.
revamped help menu to remove m_state
fix silly ode copypasta bug, added preliminary bullet code in case anyone is interested.

git-svn-id: https://svn.code.sf.net/p/fteqw/code/trunk@5090 fc73d0e0-1445-4013-8a0c-d673dee63da5
2017-04-18 11:12:17 +00:00
Spoike
a97007ae5a dpp7: Treat 'dropped' c2s packets as choked when using dpp7 protocols. This is because the protocol provides no way to disambiguate, and I don't like false reports of packetloss (only reliables loss can be detected, and that's not frequent enough to be meaningful). Pings can still be determined with dpp7, for those few packets which are acked.
package manager: reworked to enable/disable plugins when downloaded, which can also be present-but-disabled.
package manager: display a confirmation prompt before applying changes. do not allow other changes to be made while applying. prompt may be skipped with 'pkg apply' in dedicated servers.
sv: downloads are no longer forced to lower case.
sv: added sv_demoAutoCompress cvar. set to 1 to directly record to *.mvd.gz
cl: properly support directly playing .mvd.gz files
menus: reworked to separate mouse and keyboard focus. mouse focus becomes keyboard focus only on mouse clicks. tooltips follow mouse cursors.
menus: cleaned up menu heirachy a little. now simpler.
server browser: changed 'hide *' filters to 'show *' instead. I felt it was more logical.
deluxmapping: changed to disabled, load, generate, like r_loadlit is.
render targets api now supports negative formats to mean nearest filtering, where filtering is part of texture state.
drawrotpic fixed, now batches and interacts with drawpic correctly.
drawline fixed, no interacts with draw* correctly, but still does not batch.
fixed saving games.
provide proper userinfo to nq clients, where supported.
qcc: catch string table overflows safely, giving errors instead of crashes. switch to 32bit statements if some over-sized function requires it.
qtv: some bigcoords support tweaks

git-svn-id: https://svn.code.sf.net/p/fteqw/code/trunk@5073 fc73d0e0-1445-4013-8a0c-d673dee63da5
2017-03-21 05:27:07 +00:00
Spoike
cf0e8fd923 added r_meshpitch cvar that allows for fixing the unfixable mesh pitch bug from vanilla... needs a better name... do note that this will break pretty much any mod, so this is really only for TCs designed to use it. Its likely that I missed places.
nqsv: added support for spectators with nq clients. the angles are a bit rough, but hey. need to do something about frags so nq clients know who's a spectator. use 'cmd observe' to get an nq client to spectate on an fte server (then attack/jump behave the same as in qw clients).
nqsv: rewrote EF_MUZZLEFLASH handling, so svc_muzzleflash is now translated properly to EF_MUZZLEFLASH, and vice versa. No more missing muzzleflashes!
added screenshot_cubemap, so you can actually pre-generate cubemaps with fte (which can be used for reflections or whatever).
misc fixes (server crash, a couple of other less important ones).
external files based on a model's name will now obey r_replacemodels properly, instead of needing to use foo.mdl_0.skin for foo.md3.
identify <playernum> should now use the correct masked ip, instead of abrubtly failing (reported by kt)
vid_toggle console command should now obey vid_width and vid_height when switching to fullscreen, but only if vid_fullscreen is actually set, which should make it seem better behaved (reported by kt).
qcc: cleaned up sym->symboldata[sym->ofs] to be more consistent at all stages.
qcc: typedef float vec4[4]; now works to define a float array with 4 elements (however, it will be passed by-value rather than by-reference).
qcc: cleaned up optional vs __out ordering issues.
qccgui: shift+f3 searches backwards

git-svn-id: https://svn.code.sf.net/p/fteqw/code/trunk@5064 fc73d0e0-1445-4013-8a0c-d673dee63da5
2017-02-27 09:34:35 +00:00
Spoike
e7c1f9a490 rework config.h stuff a little, fixing up numerous ifdefs etc. added some more for potentially smaller builds.
make the 'identify' command assume that a single decimal number is not an address (allowing it to be handled as a user id).
qcc: support default initialisers in function calls.
tweak filesystem code to try to flush individual files instead of discarding the entire fs hash.
fix 'snap' stuff.
other tweaks...

git-svn-id: https://svn.code.sf.net/p/fteqw/code/trunk@5058 fc73d0e0-1445-4013-8a0c-d673dee63da5
2017-02-19 00:15:42 +00:00
Spoike
3061ed448f fix a silly performance-sapping typo.
implemented identify+iplog stuff for nq users.
r_tessellation forces blinn tessellation on meshes. can also be specified manually.

git-svn-id: https://svn.code.sf.net/p/fteqw/code/trunk@5055 fc73d0e0-1445-4013-8a0c-d673dee63da5
2017-02-11 16:14:06 +00:00
Spoike
4fcd615308 try to fix null framestates issue causing crashes from pmove/solid_bsp code.
some tweaks to try to make webgl more robust.
added r_max_gpu_bones cvar. defaults to 0 in webgl for now (64 otherwise).
fixed gles2+skeletal issue that was breaking webgl (note r_max_gpu_bones needs to be set to 32 or something for it to actually use glsl bones with webgl).
sound rates now internally use decimals instead of percents. because meh.
allow PEXT2_MAXPLAYERS and angle deltas in nq.

git-svn-id: https://svn.code.sf.net/p/fteqw/code/trunk@5052 fc73d0e0-1445-4013-8a0c-d673dee63da5
2017-01-29 13:10:53 +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
c68cbfec24 implement status command for nq clients that expect something to be printed. IP addresses are withheld.
fix stats issue.
support menuqc-based loading screens.
fixed 2d render-to-texture issues.
(finally) throttle 'connection lost or aborted' messages. report the ip address too, because we can.
begun work on nq-style player ip-logging. ip addresses are collected now, but there's still no actual database code yet.
rewrote engine auto-update. now part of the updates menu instead of system-specific special-case code. Still requires a system function to actually invoke the updated engine however.
added sdl audio capture support (requires sdl 2.0.5).
treat q_version like f_version etc. respond to both.

git-svn-id: https://svn.code.sf.net/p/fteqw/code/trunk@5046 fc73d0e0-1445-4013-8a0c-d673dee63da5
2017-01-24 10:27:39 +00:00
Spoike
6e825e42dd merge gl+vk win32 code. include egl support on windows (useful for ANGLE).
fix misc bugs.
rewrote skeletal code to use gpu-friendly skeletal data for all skeletal formats.
add modelframecount builtin, to easily get the number of frames in a model.
integrate hlmdl a little better.

git-svn-id: https://svn.code.sf.net/p/fteqw/code/trunk@5031 fc73d0e0-1445-4013-8a0c-d673dee63da5
2016-12-13 11:50:15 +00:00
Spoike
8d09710ed1 lightprepass is functional again. still diffuse lighting only. supports shadowmaps but no other weird light info.
added 'pkg' console command. will still need more tweaking.
r_renderscale < 0 means nearest filtering (may need a vid_restart for that to take effect though).
fteqccgui: added 'make installer' options.
fteqcc: fix framemacro issue that was breaking due to invalid dupes in hipnotic's code
cl_lerp_smooth: by default now enabled for singleplayer as well as just demos. this smooths out platforms etc.
q2 demos: explicitly recognise .dm2 extension, to try to avoid issues.

git-svn-id: https://svn.code.sf.net/p/fteqw/code/trunk@5024 fc73d0e0-1445-4013-8a0c-d673dee63da5
2016-11-20 20:52:41 +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
b749d8356a remove the old SCVAR macro
server: my attempt at mvd recording fixes. there's a couple of other issues, at least with nq mods.
client: properly support recording .dems mid-map for 15+666
client: server browser now queries nq servers for players+rules.
renderer: add support for single-image dual-layer skies that some other engines use.
qcc: add #merge, along with __wrap + __weak keywords. fix a symboldata issue revealed by this.
qcc: added a flag to write the sourcecode into the .dat (zip format compatible with any zip program that can deal with 'self extractors').
qccgui: can be told to open a .dat file instead of .src, showing/using any embedded sourcecode.


git-svn-id: https://svn.code.sf.net/p/fteqw/code/trunk@5017 fc73d0e0-1445-4013-8a0c-d673dee63da5
2016-09-08 19:04:35 +00:00
Spoike
57dfaea5fd cl_clock 2; now gives a 12-hour clock.
fix configs not getting execed properly when not run from the automatically detected basedir.
fix some silly bugs.
qcc: remove deprecated %5 support without qccx syntax.
qcc: added -Fembedsrc to embed the sourcecode into the progs in a form that can be read with various standard unzip programs. This works without breaking any engines.
server: fix memory explosion issue with fitz666 clients.

git-svn-id: https://svn.code.sf.net/p/fteqw/code/trunk@5016 fc73d0e0-1445-4013-8a0c-d673dee63da5
2016-09-01 14:31:24 +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
5eb21d1b6e try to fix sdl inputs.
fix some non-ascii encoding.
generate placeholder 8bit mipmaps for gles2/webgl in case anyone tries using 'vanilla' rendering.
revamping the downloads menu.
fix particles needing a specific blend mode in order to use custom shaders.
added trace_bone_id globals for qc. untested.
try to fix ragdoll crash. failing that, at least prevent it from being a crash.
try to fix d3d11 black lightmaps issue.
add r_norefresh to d3d9+d3d11
skin composing can now use subpics.
vulkan now tries to properly detect supported texture formats, instead of assuming.
vulkan now has a cvar to configure which dynamic buffers should be staged or shared.

git-svn-id: https://svn.code.sf.net/p/fteqw/code/trunk@5006 fc73d0e0-1445-4013-8a0c-d673dee63da5
2016-07-21 19:27:59 +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
b1d2179394 glibc workaround
fix some q2 (demo-)incompatibilities + omissions. rework some effects too (and implement some missing stuff, like flies). more work required.
a hack to hide a well-known bot from q2 player counts in the server browser.
fix some server browser colours.
fixed some lighting issues.
sv_protocol_nq now accepts protocol names.
fix some ezhud issues, like the 'hide all' command.

git-svn-id: https://svn.code.sf.net/p/fteqw/code/trunk@4995 fc73d0e0-1445-4013-8a0c-d673dee63da5
2015-12-12 19:25:15 +00:00
Spoike
9000f497ec misc fixes and tweaks:
added //it stuffcmd.
now parsing //wps stuffcmds for ezhud use.
rework worker threads a little so that the main thread is no longer guaranteed to be stalled at least once. This speeds up load times a little.
fix nq server player counts in the server browser.
fix switching from/to spectator mode from destroying frag counts.
tweak custom bf args a little.
fix issue with player names starting with char 0x80.
fix menu.dat not loading.
attempt to fix flush lag on windows.
some fixes for stencil shadows.
try to fix public builds not knowing their svn revision. this should fix autoupdates.
added global_gravitydir vector, for mods that want to be really weird. doesn't clear onground flags however.
reworked the status command a little to attempt to report bursts a little better.
fix multicasts missing in mvds issue.
fix illegible server message with dpp7 downloads.

git-svn-id: https://svn.code.sf.net/p/fteqw/code/trunk@4992 fc73d0e0-1445-4013-8a0c-d673dee63da5
2015-10-27 15:20:15 +00:00
Spoike
8241ed13be tweak intermissions a little so that quakeworld mods actually works properly (especially mvds).
dynamically allocate music_playlist_* cvars. may require the use of set from configs in order to create them in advance.
add a trail to rogue's plasma weapon.
fix r_waterstyle bug
attempt to optimise qcvm slightly.
tweak copyentity to be a bit more useful.
tweak ban code slightly. 'stealth' penalty hides other penalties.
fix some d3d9 rendering issues with q3.
fix some q2 stuff.
add the NOLEGACY thing that a few people have asked for lately.

git-svn-id: https://svn.code.sf.net/p/fteqw/code/trunk@4978 fc73d0e0-1445-4013-8a0c-d673dee63da5
2015-09-01 04:45:15 +00:00
Spoike
e99354bd20 fix playdemo not working straight after record.
make a guess at the currently applied preset. fix issues with vid_reload on preset changes being buggy.
fix erroneous weapon flashes due to limited precision.
try to fix rogue finale.
fix issue with vid_restart crashing with directinput active.
work around emscripten rand entropy, at least as far as particles are concerned.
properly implement te_explosion2 (for rogue mission pack).
drastically reduce submodel polyoffsets in the webgl port, because firefox's depth precision is 16 bit or something stupid.
fix rogue ibar background not being used with qw hud.
added terrain editor feature to edit the bsp's entity lump. this also works with .bsps. added console command to reload the map/apply those ent changes but leaving the players how they were (lets hope enemy etc stuff doesn't bug out...)
force-enabled airstep when travelling fast. this is to partly replicate nq player physics in order to fix windtunnels on r1m5 iirc.
added some more effects to the 'high' particle effect, in order to make rogue feel a little more loved.
fix for rogue buzzsaws.
rework webgl pointer locks.

git-svn-id: https://svn.code.sf.net/p/fteqw/code/trunk@4965 fc73d0e0-1445-4013-8a0c-d673dee63da5
2015-08-20 03:17:47 +00:00
Spoike
4116da6298 git-svn-id: https://svn.code.sf.net/p/fteqw/code/trunk@4963 fc73d0e0-1445-4013-8a0c-d673dee63da5 2015-08-14 02:55:59 +00:00
Spoike
a26a373d15 fixed picmip simpleitems issue.
fixed double picmip bug.
use pbos for videocapture, for extra speed. mwahaha.
fix issues with 2d batching. including drawflags.

git-svn-id: https://svn.code.sf.net/p/fteqw/code/trunk@4962 fc73d0e0-1445-4013-8a0c-d673dee63da5
2015-08-14 02:46:38 +00:00
Spoike
5f7243c6dc capture[demo] now works in d3d renderers.
capturedemo now supports rendering to an fbo. this provides support for crazy video resolutions. 16k*16k videos are going to be quite large... only works in gl. hurrah...
console selection/copy indicators are back!
fix issue with q2 server browser.

git-svn-id: https://svn.code.sf.net/p/fteqw/code/trunk@4961 fc73d0e0-1445-4013-8a0c-d673dee63da5
2015-08-11 09:14:33 +00:00
Spoike
fc691d5be8 implemented gl_simpleitems.
load times reduced slightly.
don't show autoid armour if they're dead. its just not relevant.
fix csqc staticsound builtin.
fix some shader leaks/double-frees in certain situations.

git-svn-id: https://svn.code.sf.net/p/fteqw/code/trunk@4960 fc73d0e0-1445-4013-8a0c-d673dee63da5
2015-08-10 18:28:23 +00:00
Spoike
f520bdede7 fix gameclock in mvds.
implement hardware cursors in d3d9+d3d11
fix crash from closing the audio menu in the webgl port.
make deluxemapping+softwarebanding require a vid_reload before anything happens. this solves missing textures until the user does it anyway.
fix scores+spectating issue. again. oops.
rename openal devices in the webgl port, so that it makes more sense.
remove glsl/hlsl parameter limit. this also fixes the final ie webgl issue (still gets half the framerate though).
fix some issues with bloom and waterwarp active at the same time.
attempted to give properish error messages from emscripten, despite emscripten hating me.
hack drag+drop into fteqccgui. I ought to make fteqw accept demos etc this way some time too.

git-svn-id: https://svn.code.sf.net/p/fteqw/code/trunk@4959 fc73d0e0-1445-4013-8a0c-d673dee63da5
2015-08-07 17:49:49 +00:00
Spoike
257610c89f add atlasing for wad images (batching means the entire regular hud can be a single draw call, assuming the ammo counts batch alongside show_fps).
d3d9 renderer can now use all the model batching stuff I wrote for gl.
fixed loading screens with d3d9 renderer.
cl_deadbodyfilter cvar is now archived.
autocam will avoid switching if the newly tracked player doesn't have anything interesting, etc.

git-svn-id: https://svn.code.sf.net/p/fteqw/code/trunk@4958 fc73d0e0-1445-4013-8a0c-d673dee63da5
2015-08-04 15:16:24 +00:00
Spoike
9cb8a2d025 fix some d3d8+d3d11 issues. 2d stuff should work a bit better now.
setcursormode now available to menuqc too. this gives menuqc hardware cursor support (useful to revert some braindamage I added for dp compat - menuqc is a dp spec).

git-svn-id: https://svn.code.sf.net/p/fteqw/code/trunk@4953 fc73d0e0-1445-4013-8a0c-d673dee63da5
2015-07-31 13:23:32 +00:00
Spoike
6adb05d916 autotrack is now over-complicated.
demo_jump with no args tells the current time (separate from map time or anything)
implement batching for text+csqcpolys to reduce draw calls.
qclib supports pointer(inc casts) evaluation.
fteqccgui now has a lame variables window thing. probably I'll get harassed about it.
add brush_calcfacepoints builtin for csaddon to use to preview brush edits.

git-svn-id: https://svn.code.sf.net/p/fteqw/code/trunk@4952 fc73d0e0-1445-4013-8a0c-d673dee63da5
2015-07-30 16:26:15 +00:00
Spoike
8cfbc1ad26 Fix some of my breakages.
fix hexen2 blind monsters.

git-svn-id: https://svn.code.sf.net/p/fteqw/code/trunk@4949 fc73d0e0-1445-4013-8a0c-d673dee63da5
2015-07-27 08:21:34 +00:00
Spoike
6d36834f8e Reworked client support for DPP5+. less code now, its much more graceful.
added waterfog command. waterfog overrides regular fog only when the view is in water.
fixed 64bit printf format specifiers. should work better on winxp64.
fixed some spec angle weirdness.
fixed viewsize 99.99 weirdness with ezhud.
fixed extra offset on the console (exhibited in 64bit builds, but not limited to).
fixed .avi playback, can now actually display frames again.
reimplemented line sparks.
fixed r_editlights_save flipping the light's pitch.
fixed issue with oggs failing to load.
fixed condump to cope with unicode properly.
made sv_bigcoords default except in quake. hexen2 kinda needs it for bsp angle precision.
fixed nq server to not stall weirdly on map changes.
fixed qwprogs svc_cdtrack not bugging out with nq clients on the server.
fixed restart command to load the last map run by the server, instead of start.bsp (when idle)
optimised d3d9 renderer a little. now uses less draw calls, especially with complex scenes. seems to get higher framerates than opengl now.
fixed d3d9 renderer to not bug out quite so much when run fullscreen (shader subsystem is now correctly initialised).
fixed a couple of bugs from font change. also now supports utf-8 in a few more places.
r_editlights_reload no longer generates rtlights inside the void. this resolves a few glitches (but should also help framerates a little).
fixed so corona-only lights won't generate shadowmaps and waste lots of time.
removed lots of #defines from qclib. I should never have made them in the first place, but I was lazy. obviously there's more left that I cba to remove yet.
fixed nested calls with variant-vectors. this fixes csaddon's light editor.
fixed qcc hc calling conventions using redundant stores.
disabled keywords can still be used by using __keyword instead.
fixed ftegccgui grep feature.
fixed motionless-dog qcc bug.
tweaked qcc warnings a little. -Wall is now a viable setting. you should be able to fix all those warnings.
fixed qw svc_intermission + dpp5+ clients bug.
fixed annoying spam about disconnecting in hexen2.
rewrote status command a little to cope with ipv6 addresses more gracefully
fixed significant stall when hibernating/debugging a server with a player sitting on it.
fixed truelightning.
fixed rocketlight overriding pflags.
fixed torches vanishing on vid_restart.
fixed issue with decal scaling.
fixed findentityfield builtin.
fixed fteqcc issue with ptr+1
fixed use of arrays inside class functions.
fixed/implemented fteqcc emulation of pointer opcodes.
added __inout keyword to fteqcc, so that it doesn't feel so horrendous.
fixed sizeof(*foo)
fixed *struct = struct;
fixed recursive structs.
fixed fteqcc warning report.
fixed sdl2 controller support, hopefully.
attempted to implement xinput, including per-player audio playback.
slightly fixed relaxed attitude to mouse focus when running fullscreen.
fixed weird warnings/errors with 'ent.arrayhead' terms. now generates sane errors.
implemented bindmaps (for csqc).
fixed crashing bug with eprint builtin.
implemented subset of music_playlist_* functionality. significant changes to music playback.
fixed some more dpcsqc compat.
fixed binds menu. now displays and accepts modifiers.
fixed issues with huge lightmaps.
fixed protocol determinism with dp clients connecting to fte servers. the initial getchallenge request now inhibits vanilla nq connection requests.
implemented support for 'dupe' userinfo key, allowing clients to request client->server packet duplication. should probably queue them tbh.
implemented sv_saveentfile command.
fixed resume after breaking inside a stepped-over function.
fixed erroneous footer after debugging.
(I wonder just how many things I broke with these fixes)

git-svn-id: https://svn.code.sf.net/p/fteqw/code/trunk@4946 fc73d0e0-1445-4013-8a0c-d673dee63da5
2015-07-26 10:56:18 +00:00
Spoike
869e544ad4 fix glsl not being used for skeletal animations (10->50 fps jump)
fix vbos not being used for skeletal animations (50->770 fps jump, yes, really. OOPS!)
so yeah, 7700% speedup there. lol... *sigh*
fixed update notification prompt not appearing by splitting menu key dest into emenu+gmenu. thus the prompt is no longer killed by menu.dat starting up.
fog command now displays a the extra params.
rewrote console char handling to support 32bit unicode chars. font code does not support more than 16bit codepoints still, however.
rewrote beam code in order to restore models on vid_restart. this solves a crash where they were invalid pointers afterwards.
revived old menu_media, because jogi wanted shuffle.
music now fades out for a sec when changing fake-cd-tracks.
music no longer abruptly stops when changing maps.
added fxaa support.
reworked bloom a bit. can now bloom further.
added r_renderscale cvar, for people that want supersampling (max 2), or subsampling for more speed or whatever.
$timer now favours cvars with that name, rather than the $time macro.

git-svn-id: https://svn.code.sf.net/p/fteqw/code/trunk@4942 fc73d0e0-1445-4013-8a0c-d673dee63da5
2015-07-14 14:47:00 +00:00
Spoike
761049b00a fix gameclock on certain servers.
fix kill not working on ktx (ktx is weird).
fix missing scoreboard.
fix possible crash on /cmd kill.
fix missing disconnect messages.

git-svn-id: https://svn.code.sf.net/p/fteqw/code/trunk@4930 fc73d0e0-1445-4013-8a0c-d673dee63da5
2015-07-04 02:04:46 +00:00
Spoike
a85f3c5c71 Added two new projection modes. use r_projection to select alternative projections.
make sure demos freeze at the start, instead of reading everything out of the file while we're still loading content.
added a couple of lame 'list' commands.
added 'in' command.

git-svn-id: https://svn.code.sf.net/p/fteqw/code/trunk@4928 fc73d0e0-1445-4013-8a0c-d673dee63da5
2015-07-03 02:07:41 +00:00
Spoike
bf63109ad3 added some cvar descriptions.
flagged some cvars as archived.
cfg_save writes cvar descriptions
cfg_save writes buttons
fix nq dwarf bug
crosshaircolor 0x00ff00 now works.
snd_device none inhibits any fallback device.

git-svn-id: https://svn.code.sf.net/p/fteqw/code/trunk@4903 fc73d0e0-1445-4013-8a0c-d673dee63da5
2015-06-15 20:11:27 +00:00
Spoike
18c1326be9 git-svn-id: https://svn.code.sf.net/p/fteqw/code/trunk@4900 fc73d0e0-1445-4013-8a0c-d673dee63da5 2015-06-14 09:34:55 +00:00
Spoike
bdc8ae1281 fix autotrack issues.
tweak gameclock to work properly with demos.
tried to fix stealth chat messages.

git-svn-id: https://svn.code.sf.net/p/fteqw/code/trunk@4896 fc73d0e0-1445-4013-8a0c-d673dee63da5
2015-06-14 01:28:01 +00:00
Spoike
3fd21ea6ea implemented autotracking, hightrack is no longer quite so obnoxious.
implement cfg_save_all cvar, so cfg_save can save all.
downloads attempt to avoid using the fte/ gamedir
actually registering r_tracker_frags cvar.
fix ezhud wad image issues.
fix mouse binds not working when running fullscreen.
dedicated servers can now use getsurface builtins.
gl_font can now attempt to use conchars subdir too.
terrain editor can now display the areas which cannot accept the selected texture for painting. this should help reduce edges.
attempt to fix some of the less-supported ports.
don't be annoying with entity foo = someclass;
fteqcc now offers to create files if you try opening one that doesn't exist.
plugins can now query ping etc info properly.

git-svn-id: https://svn.code.sf.net/p/fteqw/code/trunk@4893 fc73d0e0-1445-4013-8a0c-d673dee63da5
2015-06-12 14:44:50 +00:00
Spoike
f4d3df7bf5 make sure the capture command doesn't switch between gamedirs while capturing.
added dimension_default global to provide default dimensions. expected to be a (var) constant.
support setcustomskin in menuqc.
implement some considerations for win95, so it can actually run on that horrendously outdated system.
provide scr_autoid and r_showbbox-field info when running csqc.
ignore vid_restarts at the end of config.cfg files from other engines. in fte, these are at best redundant and at worst overrides user settings.
fix issue with latched cvars not flagging the config as modified.
path command always shows filenames properly.
fix some fteqcc inlining bugs.
added precaches command to display all active precaches.
added docs for mapcluster.

git-svn-id: https://svn.code.sf.net/p/fteqw/code/trunk@4881 fc73d0e0-1445-4013-8a0c-d673dee63da5
2015-06-04 06:15:14 +00:00
Spoike
45fd9d3544 fix a silly bug that breaks capturedemo.
git-svn-id: https://svn.code.sf.net/p/fteqw/code/trunk@4878 fc73d0e0-1445-4013-8a0c-d673dee63da5
2015-06-03 14:20:49 +00:00
Spoike
410db5d6b0 in_forceseat will not break clientcmds any more.
tweak drawtextfield to understand fonts. now available to menuqc too.
provide player and full server info to qc server browsers.
allow qc to actually use cfg_save. I've been issuing that on quit for a while now and not noticed that it was getting denied.
fix some focus issues with cwindows.
tweak splitscreens to display centerprints+scoreboards in more suitable places. harder to glitch out.
path command can now displays hashes (in tooltips), which can be useful for creating fmf files.
fix q3game crash.
fix some qcc issues with hexenc and -O0.
fix some qccgui unicode issues, now preserves encoding when saving.
provide easy upgrade path for qccx syntax to fteqcc: string[%1] -> string+1 (which is still potentially unsafe (tempstrings), and thus generates a compiler warning).
rework xmpp plugin to use cwindows for chats and the buddylist. this should make it more intuitive and thus more userfriendly.

git-svn-id: https://svn.code.sf.net/p/fteqw/code/trunk@4865 fc73d0e0-1445-4013-8a0c-d673dee63da5
2015-04-27 06:19:33 +00:00
Spoike
906b705bf0 after much breaking, the webgl port now utilises the browser's ogg/mp3 decoder, and the browser's png decompresser. pngs/jpegs do not provide size information.
fixed non-browser ogg decoding and openal logic. should finally be fixed, I guess.
wasted some time on an ezhud plugin, along with ensuring certain info is available to the plugin. this is still a work in progress however.
non-web builds are now able to download images from urls.
download progress does not display for uri_get/uri_post builtins, nor other non-saved things.
q1qvm logic now uses pr_maxedicts cvar. the gamecode api still provides no way to tell how many are permissable, so set at own risk.

git-svn-id: https://svn.code.sf.net/p/fteqw/code/trunk@4852 fc73d0e0-1445-4013-8a0c-d673dee63da5
2015-04-21 04:12:00 +00:00
Spoike
2201b920c8 fix colormod
added frag message filter, and dedicated frag tracker.
added 'windowed consoles' for social-type stuff without depending upon csqc mods for it.
added in_deviceids command which allows listing/renumbering device ids.
slider widgets now support inverted ranges, so gamma selection isn't so weird.
fix top/bottom colour selection bug.
software banding feature is now part of the 'software' preset (now that it supports mipmaps).
support for loading .maps, and editing their brushes etc (with appropriate qc mod). 'map mymap.map' to use. expect problems with missing wads and replacement textures overriding them and messing up texture scales.
snd_inactive is now default.
fix threading issue with wavs, no more error from 0-sample-but-otherwise-valid wavs.
added -makeinstaller option to embed a manifest inside the exe (and icon).
the resulting program will insist on installing the game if its run from outside a valid basedir.
framegroup support for q1mdl.
textures are now loaded on multiple worker threads, for reduced load times. moo har har.
netgraph shows packet+byte rates too.
added r_lightstylescale, pretty similar to contrast, but doesn't impose any framerate cost, but may have overbrighting issues.
r_softwarebanding now works on q2bsp too.
fixed crepuscular lights.
gzip transfer encoding is performed while downloading, instead of inducing stalls.
FINALLY fix ezquake download compat issue (dimman found the issue).

git-svn-id: https://svn.code.sf.net/p/fteqw/code/trunk@4851 fc73d0e0-1445-4013-8a0c-d673dee63da5
2015-04-14 23:12:17 +00:00