Commit graph

44 commits

Author SHA1 Message Date
Spoike
7df2df5cd5 Fix up some qc warnings from recent fteqcc improvements.
git-svn-id: https://svn.code.sf.net/p/fteqw/code/trunk@6339 fc73d0e0-1445-4013-8a0c-d673dee63da5
2023-01-09 05:15:06 +00:00
Spoike
f8af9b18eb Fix up fteqcc's typedefs.
git-svn-id: https://svn.code.sf.net/p/fteqw/code/trunk@6303 fc73d0e0-1445-4013-8a0c-d673dee63da5
2022-08-08 22:45:19 +00:00
Spoike
d14bd740d9 Remove junk chars... no idea where they came from
git-svn-id: https://svn.code.sf.net/p/fteqw/code/trunk@5820 fc73d0e0-1445-4013-8a0c-d673dee63da5
2021-04-19 18:33:29 +00:00
Spoike
b9cd6ec91b openxr plugin: tweaked - inputs should be working properly now, and are visible to csqc. subject to further breaking changes, however.
_pext_vrinputs: added cvar to enable vr inputs protocol extension allowing vr inputs to be networked to ssqc too. defaults to 0 for now, will be renamed when deemed final.
updates menu: the prompt to enable sources is now more explicit instead of expecting the user to have a clue.
updates menu: added a v3 sources format, which should be more maintainable. not final.
updates menu: try to give reasons why sources might be failing (to help blame ISPs if they try fucking over TTH dns again).
presets menu: no longer closes the instant a preset is chosen. some presets have a couple of modifiers listed. force the demo loop in the background to serve as a preview.
prompts menus: now does word wrapping.
ftemaster: support importing server lists from other master servers (requested by Eukara).
server: try to detect when non-reply inbound packets are blocked by firewalls/nats/etc (using ftemaster to do so).
qcvm: added pointcontentsmask builtin, allowing it to probe more than just world, with fte's full contentbit range instead of just q1 legacy.
qcvm: memfill8 builtin now works on createbuffer() pointers.
qcvm: add missing unsigned ops. Fixed double comparison ops. fixed bug with op_store_i64. added missing OP_LOADP_I64
qcc: added '#pragma framerate RATE' for overriding implicit nextthink durations.
qcc: fixed '#pragma DONT_COMPILE_THIS_FILE' to not screw up comments.
qcc: added __GITURL__ __GITHASH__ __GITDATE__ __GITDATETIME__ __GITDESC__ for any mods that might want to make use of that.
qcc: fix up -Fhashonly a little
setrenderer: support for vulkan gpu enumeration.
rulesets: reworked to support custom rulesets (using hashes to catch haxxors, though still nothing prevents just changing the client to ignore rulesets)
bspx: use our BIH code for the bspx BRUSHLIST lump instead of the older less efficient code.
(static)iqm+obj: these model formats can now be used for the worldmodel (with a suitable .ent file). Also using BIH for much better collision performance.
pmove: tried to optimise PM_NudgePosition, should boost fps in stress tests.
wayland: fix a crash on startup. mousegrabs now works better.
imagetool: uses sdl for previews.


git-svn-id: https://svn.code.sf.net/p/fteqw/code/trunk@5813 fc73d0e0-1445-4013-8a0c-d673dee63da5
2021-04-14 05:21:04 +00:00
Spoike
4c2066601a Support connecting subnodes to servers over tcp (instead of depending on fork).
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
2020-04-29 10:43:22 +00:00
Spoike
3250de5851 Fix csqc polygon issue (using explicit glsl that doesn't need normals).
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
2019-02-19 06:49:03 +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
419b2b1f7f fix brush editor giving up with too many polys.
fix race condition that was causing prespawning to skip the call to CSQC_WorldLoaded.
misc other irrelevant tweaks.

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

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

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

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

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

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

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


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

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

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

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


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

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


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

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

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

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