Fixed up the -netquake / -spasm / -fitz args slightly, should actually be usable now.
sv_mintic 0 is now treated as 0.013 when using nqplayerphysics, to try to make it smoother for nq clients.
Preparing for astc's volume formats. Mostly for completeness, I was bored. Disabled for now because nothing supports them anyway.
Fix broken mousewheel in SDL2 builds.
Fix configs not getting loaded following initial downloads in the web port/etc.
Make the near-cloud layer of q1 scrolling sky fully opaque by default (like vanilla).
Sky fog now ignores depth, treating it as an infinite distance.
Fix turbs not responding to fog.
r_fullbright no longer needs vid_reload to take effect (and more efficient now).
Tweaked the audio code to use an format enum instead of byte width, just with the same values still, primarily to clean up loaders that deal with S32 vs F32, or U8 vs S8.
Added a cvar to control whether to use threads for the qcgc. Still disabled by default but no longer requires engine recompiles to enable!
git-svn-id: https://svn.code.sf.net/p/fteqw/code/trunk@5683 fc73d0e0-1445-4013-8a0c-d673dee63da5
GL: r_dynamic -1 is now r_temporalscenecache 1, which makes menu options etc a little friendlier. fixed a serious memory leak.
GL: Lightmaps are now uploaded using pbos to reduce cpu stalls (especially with temporalscenecache) and the resulting periodic framerate drops. Requires gl4.4.
PM: moved manifest-downloads to the package manager. still needs some proper testing.
PM: Fixed bug with downloading updates from every known mirror for that update.
PM: Fixed bug with duplicate mirrors...
PM: menuqc is now able to query available updates.
engine's Draw_TextBox centers the text box more appropriately and easily.
SV: added sv_autooffload cvar, when set the map command will automatically create a server in a separate process to reduce the effects of stutter in inefficient ssqc mods.
Menu: menu_mods now shares data with getgamedirinfo builtin.
MenuQC: Added some extra properties to the getgamedirinfo builtin.
MenuQC: Added Menu_RendererRestarted entrypoint.
MenuQC: _vid_renderer_opts cvar now has a value that actually reflects the windowing systems in the build, rather than just renderers.
CQSC: Added getlocationname builtin.
ALSA: device names are now more consistent with other audio drivers.
SV: added unsavegame console command, to delete unwanted saved games.
SV: hashtable entries are now saved into saved games.
SV: reworked player remapping strategy when loading games. Player slots are now directly swapped serverside, not reconnected.
SV: resend all csqc entity state when a client signals that it started recording a demo.
SV: Added SOLID_BSPTRIGGER as a shapely alternative to the aabb SOLID_TRIGGER. modelindex must still be set for this to work.
git-svn-id: https://svn.code.sf.net/p/fteqw/code/trunk@5668 fc73d0e0-1445-4013-8a0c-d673dee63da5
allow for binary updates on linux as on windows (-allowupdate for modified/nonsvn builds).
dlightmask is now size_t, because we might as well allow that on 64bit cpus, this allows for 64 lightmaphack lights instead of 32.
fix potential openal issue with source=0.
added q3bsp_ignorestyles cvar to ignore rbsp styles (and reduce needed batch counts), should only be used on maps with subtle lighting changes (ones that are properly lit without toggling any lightswitches).
add support for directly loading foo.bsp.gz
Added prints to clarify why servers might be listed under the 'UNKNOWN' category in the master server. Attempt to show hostnames anyway, to make it a little more obvious who's responsible for those badly configured servers.
git-svn-id: https://svn.code.sf.net/p/fteqw/code/trunk@5656 fc73d0e0-1445-4013-8a0c-d673dee63da5
Q3TA: Fixed script parsing, so the menus are not so broken.
Q3TA: added the UI_CIN_* and CG_CIN_* builtins for 2d cinematic playbacks.
Q3TA: backspace should work for gamecode text entry now.
Q3TA: map_restart now directly restarts without needing loading screens.
Fixed multiple envmap generation bugs.
Fixed envmaps getting flushed with r_keepimages 0.
Console image previews can now display cubemaps (although their orientation is probably a little off).
Made a 'remapshader' csqc builtin. Depending on the r_remapshader console command was stupid.
Fixed packet command to create a udp socket, if needed.
sv_public can now be set to a non-numeric name for custom names (instead of needing to poke sv_port too).
Support extended data on the end of miptex entries in bsps. Requires a qbsp (like vanilla) that doesn't rewrite the miptex entries.
Updated imgtool to generate/read our new extended miptex data.
git-svn-id: https://svn.code.sf.net/p/fteqw/code/trunk@5644 fc73d0e0-1445-4013-8a0c-d673dee63da5
reimplemented qtvreverse command.
fixed some stuffcmds being handled by the wrong splitscreen seats (was noticable in TF).
rework smartjump to try to be more predictable...
rework relighting to try to be more robust (and more self-contained).
allow the csqc to actually use VF_PROJECTIONOFFSET.
jump now moves upwards instead of trying to lock on to a nearby player when spectating.
assume 32 fullbright pixels when running with a palette.lmp yet no colormap.lmp (happens with some total conversions).
tweaked scoreboard for fainter backgrounds.
rearranged autoid, to be smaller etc.
hacked around dodgy conchars.lmp - don't treat 128*128 qpics as qpics to work around workarounds for buggy wad tools (with a warning).
fixed missing fullbrights on h2holey models.
avoided warning about mod_h2holey_bugged on dedicated servers.
added net_ice_exchangeprivateips, for people worried about exposing lan IPs when using ICE.
sv_public 2: implemented client support for our webrtc broker in order to use our own ICE implementation without needing to faff around with irc accounts or plugins etc.
TODO: ensure at least one ephemerial udp port when using ice or come up with some better sv_port handling
fixed multiple tls bugs (one could cause server problems). change net_enable_tls to disabled by default anyway (reenable for the server to be able to respond to https/wss/tls schemes again).
don't colourmap when there appears to be a highres diffusemap on q1 models.
imgtool now understands exporting from qpics in wads, as well as just mips.
implemented speed-o-meter in ezhud.
added removeinstant builtin to avoid the half-second rule.
git-svn-id: https://svn.code.sf.net/p/fteqw/code/trunk@5614 fc73d0e0-1445-4013-8a0c-d673dee63da5
fix GPD_LIMIT_PITCH not properly limiting +lookdown.
fix plugins not auto-loading properly (when previously enabled, obviously).
engine updates now try to replace the 'launcher' binary, instead of chaining from it. this should make firewalls (and other shady special-case gldriver hacks) more consistent at the cost of not being able to revert to your initial revision.
imgtool can now extract from wads.
imgtool now compiles+works on windows (GoaLitiuM's code).
update ffmpeg plugin to handle more recent ffmpeg versions properly.
fix somewhat recent audio streaming bug with openal output.
fix sleep+abort qc builtins.
gltf2 plugin will now work better with blenders no-material files.
git-svn-id: https://svn.code.sf.net/p/fteqw/code/trunk@5598 fc73d0e0-1445-4013-8a0c-d673dee63da5
Try to mimic dp's console background cvars, so we don't need to add so many files to run xonotic properly.
Don't bother trying to recognised xonotic automatically for now, it won't work well without extra fmf stuff anyway.
Try to fix up rotated 'wrbrushes' stuff. Untested.
git-svn-id: https://svn.code.sf.net/p/fteqw/code/trunk@5592 fc73d0e0-1445-4013-8a0c-d673dee63da5
Change openal usage to try to be more conformant to spec (should only be an issue for less mature openal implementations though).
Added a developer warning if fog is oversaturated.
Fix crash when loading a game with an animated texture in view... yes, weird.
Support big-endian ktx files.
Added some wrath builtins.
git-svn-id: https://svn.code.sf.net/p/fteqw/code/trunk@5588 fc73d0e0-1445-4013-8a0c-d673dee63da5
Changed how cubemaps are held in memory, making all images basically just 3d textures.
Don't start up at all if no game data is found.
git-svn-id: https://svn.code.sf.net/p/fteqw/code/trunk@5570 fc73d0e0-1445-4013-8a0c-d673dee63da5
Try to fix problems caused by (auto)save's screenshots
Added code to allow falling back on stbi for when libpng/libjpeg are not compiled it, at eukara's request.
Handle .exr image files as suggested by eukara, when the appropriate library is available.
Fix mipmaps etc for half-float files.
Enable support for stbi's special gif loader, loading gifs as an 2darray texture.
Add code for threading the qcvm's tempstring recycling, disabled due to paranoia but does otherwise help xonotic perf (at the cost of extra ram).
git-svn-id: https://svn.code.sf.net/p/fteqw/code/trunk@5548 fc73d0e0-1445-4013-8a0c-d673dee63da5
Add cl_lerp_driftbias and cl_lerp_driftfrac cvars, to tweak drifting. changed defaults to try to reduce clamping.
Implement ladders with nq player physics.
Fix submodel contents with nq player physics.
Implemented drawrotpic_dp for compat (incompatible with fte's earlier implementation)
Added con_textfont cvar to set fonts without uglifying menuqc/csqc drawstrings that don't specify explicit fonts.
Enemycolor and teamcolor are now true cvars, which means they now work with seta.
Move the homedir from CSIDL_PERSONAL to CSIDL_LOCAL_APPDATA, because microsoft apparently scrape all CSIDL_PERSONAL data for upload to their servers, because they don't understand 'personal'. Will still use the old homedir if it exists.
Pack signon data without wasting so much, primarily to allow abusive mods to spew larger individual signon messages (hurrah for packet fragmentation).
git-svn-id: https://svn.code.sf.net/p/fteqw/code/trunk@5546 fc73d0e0-1445-4013-8a0c-d673dee63da5
Updated networking for these extra lightstyles.
LMSTYLES[16] bspx lumps now also infer the number of styles per face, allowing for up to 16 styles per face.
Support a few more pixel formats in dds files.
Allow r_lightmap_format to be changed instantly.
Remove physics_bullet_enable cvar, as its inferred by whether the plugin is enabled or not.
git-svn-id: https://svn.code.sf.net/p/fteqw/code/trunk@5540 fc73d0e0-1445-4013-8a0c-d673dee63da5
support RLE+luminance+alpha tga files.
support half-float tga files.
recognise hdr astc images.
added appropriate fallbacks for astc support.
load mip-less .astc files (mostly just for debugging stuff).
allow packages to warn about required engine/gpu features.
catch when stdin flags get changed to blocking by external libraries, to avoid fatal stalls.
basic support for .mdx files (kingpin models)
sort packages loaded via wildcards, by datetime then name, to avoid random ordering from certain filesystems.
git-svn-id: https://svn.code.sf.net/p/fteqw/code/trunk@5531 fc73d0e0-1445-4013-8a0c-d673dee63da5
merged engine menus, native menus, game menus, plugin menus into a single layered menu interface, simplifying all the special-case input.
engine confirmation prompts can now show regardless of underlaying menus, including above the console.
skeletal formats can now provide their own way to build bones, for variable per-bone keyframes/interpolation methods/etc (used by gltf2).
updated various plugins for the new api.
removed qvm makefiles/scripts.
git-svn-id: https://svn.code.sf.net/p/fteqw/code/trunk@5530 fc73d0e0-1445-4013-8a0c-d673dee63da5
Fix a couple of valgrind issues.
Added reason info for when a download fails.
Downloading models now forgets failed-to-load state, fixing a downloaded-but-still-missing bug.
Use anisotropic filtering in more fps_presets.
Fix significant fps loss when using the modelviewer.
First attempt at automatic LOD (supported for md3s and extended-iqms for now).
git-svn-id: https://svn.code.sf.net/p/fteqw/code/trunk@5494 fc73d0e0-1445-4013-8a0c-d673dee63da5
Fix a number of gles2 bugs.
Fix infoblobs. they should be much more reliable now.
Added callbacks so csqc can know when serverinfo|playerinfo changes (at least for processing blob changes anyway).
Fix 'pkg addsource' not saving (and remsource).
git-svn-id: https://svn.code.sf.net/p/fteqw/code/trunk@5475 fc73d0e0-1445-4013-8a0c-d673dee63da5
Changed NOLEGACY to HAVE_LEGACY (the negation was annoying).
Added missing defines to the alternative build configs, and removed some obsolete ones.
Fixed a crash in svc_setportalstate.
git-svn-id: https://svn.code.sf.net/p/fteqw/code/trunk@5446 fc73d0e0-1445-4013-8a0c-d673dee63da5
Added some explicit IMGFMT_ constants for qc.
Apply contrast after gamma, instead of before, should give a slightly more colourful result.
Version command now lists supported image formats (separately from extensions).
More BIH fixes.
Add patchDefWS parsing in .map files, for rgba vertex colours.
git-svn-id: https://svn.code.sf.net/p/fteqw/code/trunk@5444 fc73d0e0-1445-4013-8a0c-d673dee63da5
use sdl 2.0.4 audio queuing output when mixerthread is disabled.
first attempt at BIH traces. doesn't yet work properly so disabled for now, but does fix some performance blackholes in xonotic.
first attempt at a lfield_nearclip value.
add VF_SKYROOM_CAMERA for easier skyrooms.
git-svn-id: https://svn.code.sf.net/p/fteqw/code/trunk@5442 fc73d0e0-1445-4013-8a0c-d673dee63da5
Added -install arg to linux dedicated servers, to automatically install dependancies and updates.
Fix edge friction (at least when pm_edgefriction is 2 and not empty - can't break compat).
Added getchannellevel csqc builtin.
git-svn-id: https://svn.code.sf.net/p/fteqw/code/trunk@5438 fc73d0e0-1445-4013-8a0c-d673dee63da5
update infoblobs to be slightly more self-contained (still not finalised).
q3ui can now change audio volumes.
linearise 16bit srgb textures as required.
code can now potentially support >256 bones. disabled until the stack overflows are fixed...
remap bone indexes where required, for a 10-fold speedup on models with otherwise-too-high bone counts
gltf loader updates, primarily shader changes, for better conformance.
shaders can now specify whether a texture should be treated as srgb or not.
implement serverside download queue for ezquake/legacy clients downloading multiple demos. fte clients should never need to use this (would break total download size display).
some work towards threading shader loading.
git-svn-id: https://svn.code.sf.net/p/fteqw/code/trunk@5430 fc73d0e0-1445-4013-8a0c-d673dee63da5
Added Z_EXT_PF_ONGROUND + Z_EXT_PF_SOLID for compat (not enabled serverside due to conflicts with pext - just a define away).
Fixed bug with loading screens switching sizes part way through loading.
Added hexen2 rain effect.
Fix hexen2 model texture alphas not working.
Fix potential linux crash from excessively long stdin lines.
Added cl_rollalpha cvar.
Fixed quirk where the player would slide along the base of steep walls/slopes.
Tweaked PM_NudgePosition to be more precise, giving more reliable prediction.
Fixed fread qc builtin.
Tweaked random() builtin to bias slightly away from 0, so that nextthink=random()*foo; will never cause statue-monsters.
Check for GL_WEBGL_depth_texture instead of just GL_OES_depth_texture, to fix compressedTex2d errors in firefox.
Second attempt at blocking invariant keyword with mesa.
Use xrandr for gamma where possible. This prevents reading stale XF86 gamma ramps and restoring those invalid ramps when quitting.
Try to grab mouse pointers slightly faster in x11.
Don't call XIFreeDeviceInfo if XIQueryDevice returned NULL.
Document parm_string and startspot qc globals.
Fix possible infinite loop from physics frames.
QTV: stripped most of the old plugin code (because really, who has a browser that still supports either ActiveX or NPAPI). Fixed up emscripten port references.
QTV: fix bug with protocol extensions not being reported to viewers.
QTV: use binary websockets instead of text.
git-svn-id: https://svn.code.sf.net/p/fteqw/code/trunk@5419 fc73d0e0-1445-4013-8a0c-d673dee63da5
Added gl_texture_lodbias cvar for the luls.
Fix some serious-but-situational traceline issues.
git-svn-id: https://svn.code.sf.net/p/fteqw/code/trunk@5402 fc73d0e0-1445-4013-8a0c-d673dee63da5
Added .psd, .pbm/.pgm/.ppm, .pfm, and .hdr image formats. Extensions NOT added to r_imageextensions.
png (and the above formats) can now be loaded as RGBA16, instead of being truncated to RGBA8 (8bit pngs not affected).
r_imagelist will now show images from memory, instead of potentially loading new/different ones from disk.
Fix serverbrowser bug being too eager to join the server (eg from alt+tab).
Don't send ipv6 packets to qw/q2 masters. They won't be able to report ipv6 addresses anyway, and this reduces warnings when a host STILL has no ipv6 (my ISP sucks). this does not affect q3/dpmasters, for people without ipv4 addresses.
Tried to improve compat with Bloodshot's particle effects.
Fixed a couple of issues with R_AddTrisoup.
Fixed string tokenizing bug where it was using the wrong buffer size values.
Don't show link-local/localhost addresses in eg the status command (unless developer).
qtv-rel is now an easier target, for new qtv releases.
qtv warning fixes.
added a nailtrail effect to 'high' particles.
fixed terrain shaders.
fixed fogged water issue (on one of bal's maps).
first attempt at gltf2 format support
git-svn-id: https://svn.code.sf.net/p/fteqw/code/trunk@5400 fc73d0e0-1445-4013-8a0c-d673dee63da5
fix q3 looping sounds
fix q3sv bug that was kicking clients on map changes
attempt to resize q3ui if the window changes size
added some more disconnect reasons (for menuqc/q3ui to report).
reworked particle count/step arguments for better compat with DP. particles that used count for trails were already broken...
drawtextfield builtin will report line numbers shown, so qc can finally tell how much text there actually was
added some more items to 'fps_preset dp', stuff needed for the 'quake15' mod.
added dpcompat_noretouchground cvar for people wanting to mimic dp's bugs.
added 'r_netgraph 2' setting, which will show packet sizes per svc, in part to highlight wasteful mods.
added cvar to disable the q1mdl floodfill, which caused problems for yet another person.
internal editor now attempts to support debugging asm, if no source is available.
fix 64bit icon bug in x11.
FINALLY fix high's te_teleport effect.
load with no arguments will scan for the most recent a#/s#/quick savedgame instead of using just quick.
load command will chose between fte and vanilla savedgame formats based on modification time, if both exist in the same package/dir.
git-svn-id: https://svn.code.sf.net/p/fteqw/code/trunk@5394 fc73d0e0-1445-4013-8a0c-d673dee63da5
fteextensions generation now has an option to skip some defs incompatible with id1/dp.
Misc minor tweaks.
git-svn-id: https://svn.code.sf.net/p/fteqw/code/trunk@5367 fc73d0e0-1445-4013-8a0c-d673dee63da5
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
unicast svc_cgamepackets will now report which seat they were unicast to.
sendevent will now reveal the seat that was active at the time of the call.
csqc console commands will now reveal any p2 etc commands that were used.
added 144hz refresh rate option to the built-in menu
added sv_demo_write_csqc cvar to write csprogs.dat into mvds. I still need to read them...
make irc client not create new accounts if there's already a connection registered for the given server.
git-svn-id: https://svn.code.sf.net/p/fteqw/code/trunk@5169 fc73d0e0-1445-4013-8a0c-d673dee63da5
try to do something about crazy cursor biases in games that are not likely to get the QSG cursor.
fix unvised q3bsp pvs. again.
add cl_delay_packets cvar as a clientside analogue to sv_minping (which is often unchangeable by the actual players).
fix a qcc issue with static locals screwing everything up.
fix dpmaster issues when NQPROT isn't defined.
git-svn-id: https://svn.code.sf.net/p/fteqw/code/trunk@5168 fc73d0e0-1445-4013-8a0c-d673dee63da5
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
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
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
android gets a couple more gamepad buttons.
gamepads now have separate keybindings. I've created some default binds for mods that are unaware of gamepad buttons.
git-svn-id: https://svn.code.sf.net/p/fteqw/code/trunk@5142 fc73d0e0-1445-4013-8a0c-d673dee63da5
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
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
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
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
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
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
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
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
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
tweak rtlights a bit, to not bug out on The Waste's decals.
use compatibility glsl in order to get ftransform working for consistent vertex coords (still uses core if there's no fixed function stuff). this fixes z-fighting issues with rtlights.
Rework punchangles for greater compatibility.
git-svn-id: https://svn.code.sf.net/p/fteqw/code/trunk@5059 fc73d0e0-1445-4013-8a0c-d673dee63da5
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
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
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
fix fteqcc issue unintentionally stripping things
added model event support.
added support for a couple of extra twiddles in the iqm format.
modelviewer now highlights meshes (to display hitmesh areas).
modelviewer now shows ragdolls, because I can.
fixed some nq download issues/crashes/fallbacks.
fixed 8bit bmp palette issue.
added capturethrottlesize cvar to throttle recording speed if disk space is getting low (to avoid Maverick's demo encoder getting swamped).
com_protocolname can now list multiple protocol names to list multiple server types. only the first will be reported to other clients however.
can now be compiled without support for q1bsp or q1mdl. not useful, but hey.
increase max_channels, by as much as is necessary.
git-svn-id: https://svn.code.sf.net/p/fteqw/code/trunk@5038 fc73d0e0-1445-4013-8a0c-d673dee63da5
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
try to fix hlbsp palette issues.
fix drawstring showing link infos.
move some annoying cvar defaults over to quake-specific settings, instead of always being on.
fix possible hlmdl crash.
fix __fullspawninfo
fix switching between player/spectator not tracking spawned slot counts properly.
fix a possible crash from runstandardplayerphysics.
git-svn-id: https://svn.code.sf.net/p/fteqw/code/trunk@5030 fc73d0e0-1445-4013-8a0c-d673dee63da5
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
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
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
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