Commit graph

339 commits

Author SHA1 Message Date
Shpoike
5ed4012a9b Fix OOM with obviously corrupt miptex lumps (eg: jvoxdm1.bsp). 2023-04-17 03:58:21 +01:00
Shpoike
c5f837d468 Rework some hashfunc_t stuff. 2023-04-17 03:58:20 +01:00
Shpoike
1fe478dfa1 Add basic support for ktx's 'mapname#modifier' ent stuff. 2023-04-17 03:58:20 +01:00
Shpoike
774fb93721 Work around some BS issue. 2023-04-17 03:58:20 +01:00
Spoike
48576a59dc A bit of a code cleanup, change a couple of prints.
git-svn-id: https://svn.code.sf.net/p/fteqw/code/trunk@6343 fc73d0e0-1445-4013-8a0c-d673dee63da5
2023-01-09 05:15:31 +00:00
Spoike
7e49962039 Fix up replacement texture names for sprite framegroups to better comply with what might be called a standard.
git-svn-id: https://svn.code.sf.net/p/fteqw/code/trunk@6288 fc73d0e0-1445-4013-8a0c-d673dee63da5
2022-07-28 02:16:48 +00:00
Spoike
9824304aa5 Make sure model fields are 0-filled, to avoid issues with models that are reloaded (eg when the user replaces them with a different type of model/etc.
git-svn-id: https://svn.code.sf.net/p/fteqw/code/trunk@6238 fc73d0e0-1445-4013-8a0c-d673dee63da5
2022-05-28 17:58:21 +00:00
Eukara
34e9917d76 Fix lightmap corruption that happens after a while.
git-svn-id: https://svn.code.sf.net/p/fteqw/code/trunk@6234 fc73d0e0-1445-4013-8a0c-d673dee63da5
2022-04-20 15:14:22 +00:00
Spoike
6ceb76233c Move Quake3 support to a plugin. There's still a number of stubs+bugs.
git-svn-id: https://svn.code.sf.net/p/fteqw/code/trunk@6209 fc73d0e0-1445-4013-8a0c-d673dee63da5
2022-03-08 05:31:34 +00:00
Spoike
73f6df016c A few minor tweaks.
git-svn-id: https://svn.code.sf.net/p/fteqw/code/trunk@6183 fc73d0e0-1445-4013-8a0c-d673dee63da5
2022-02-07 14:34:11 +00:00
Spoike
578d12f254 Fix some updater issues.
git-svn-id: https://svn.code.sf.net/p/fteqw/code/trunk@6168 fc73d0e0-1445-4013-8a0c-d673dee63da5
2022-01-19 08:27:42 +00:00
Spoike
2ed9c6a968 Proper support for lit sprites.
git-svn-id: https://svn.code.sf.net/p/fteqw/code/trunk@6167 fc73d0e0-1445-4013-8a0c-d673dee63da5
2022-01-17 09:13:05 +00:00
Spoike
0dbb8919be Make the ent lighting distance match QS by default - increasing the distance from vanilla's 2048 to 8192.
git-svn-id: https://svn.code.sf.net/p/fteqw/code/trunk@6151 fc73d0e0-1445-4013-8a0c-d673dee63da5
2022-01-08 09:59:54 +00:00
Eukara
f612b97fc9 Animate surfaces at twice the speed when rendering HLBSP.
git-svn-id: https://svn.code.sf.net/p/fteqw/code/trunk@6147 fc73d0e0-1445-4013-8a0c-d673dee63da5
2022-01-03 01:57:23 +00:00
Spoike
cfaef2bf11 Refuse to load maps exceeding the bsp29 clipnode limit. This avoids possible infinite loops or other weirdness in favour of a clear error. The QBSP really ought to be doing this too.
git-svn-id: https://svn.code.sf.net/p/fteqw/code/trunk@6146 fc73d0e0-1445-4013-8a0c-d673dee63da5
2021-12-20 10:08:01 +00:00
Spoike
cfb1814be3 Migrate oldviewcluster stuff into the individual bmodel state. This allows us to clean things up a little.
git-svn-id: https://svn.code.sf.net/p/fteqw/code/trunk@6144 fc73d0e0-1445-4013-8a0c-d673dee63da5
2021-12-20 10:07:46 +00:00
Spoike
cfff8f49f5 Improve robustness in the face of buggy QBSP versions.
git-svn-id: https://svn.code.sf.net/p/fteqw/code/trunk@6124 fc73d0e0-1445-4013-8a0c-d673dee63da5
2021-11-14 00:35:13 +00:00
Spoike
6a2c21f14d Fix up d3d builds a smidge.
git-svn-id: https://svn.code.sf.net/p/fteqw/code/trunk@6108 fc73d0e0-1445-4013-8a0c-d673dee63da5
2021-11-04 22:33:00 +00:00
Spoike
8212ead238 More toys for map-loading plugins.
git-svn-id: https://svn.code.sf.net/p/fteqw/code/trunk@6106 fc73d0e0-1445-4013-8a0c-d673dee63da5
2021-11-03 20:31:52 +00:00
Spoike
022e42c6c7 Move model loaders over to variable-length file-magics.
git-svn-id: https://svn.code.sf.net/p/fteqw/code/trunk@6104 fc73d0e0-1445-4013-8a0c-d673dee63da5
2021-11-03 20:31:32 +00:00
Spoike
2b81527a69 Make our q2/q3 bsp code more modular, with q2/q3 gamecode treating it more generically.
git-svn-id: https://svn.code.sf.net/p/fteqw/code/trunk@6097 fc73d0e0-1445-4013-8a0c-d673dee63da5
2021-11-03 20:30:40 +00:00
Spoike
8267939edb Misc tweaks, including a corrupt-bsp crash fix.
git-svn-id: https://svn.code.sf.net/p/fteqw/code/trunk@6070 fc73d0e0-1445-4013-8a0c-d673dee63da5
2021-10-05 05:05:43 +00:00
Spoike
e244436641 Fix a couple of silly bugs.
git-svn-id: https://svn.code.sf.net/p/fteqw/code/trunk@6050 fc73d0e0-1445-4013-8a0c-d673dee63da5
2021-08-28 07:10:03 +00:00
Spoike
da46f65679 Fix misc rerelease issues.
git-svn-id: https://svn.code.sf.net/p/fteqw/code/trunk@6042 fc73d0e0-1445-4013-8a0c-d673dee63da5
2021-08-24 06:06:05 +00:00
TimeServ
904fa4ce64 pass integer key reference instead of pointer reference to particle systems, remove switch fallthrough on q64 bsp switch
git-svn-id: https://svn.code.sf.net/p/fteqw/code/trunk@6041 fc73d0e0-1445-4013-8a0c-d673dee63da5
2021-08-23 22:14:34 +00:00
Spoike
d0d2c31f38 Fix other stuff after quake64 bsp support.
git-svn-id: https://svn.code.sf.net/p/fteqw/code/trunk@6033 fc73d0e0-1445-4013-8a0c-d673dee63da5
2021-08-23 06:36:32 +00:00
TimeServ
ee1a93d01b preliminary quake 64 remastered bsp support (mipmaps currently busted), reduce missing anims in bsp to warning (needed for q64)
git-svn-id: https://svn.code.sf.net/p/fteqw/code/trunk@6031 fc73d0e0-1445-4013-8a0c-d673dee63da5
2021-08-21 18:16:13 +00:00
Spoike
cbec2d0660 Two minor fixes.
git-svn-id: https://svn.code.sf.net/p/fteqw/code/trunk@6024 fc73d0e0-1445-4013-8a0c-d673dee63da5
2021-08-19 06:02:10 +00:00
Spoike
6f86bf0118 Strip .crh support. Noone ever used it, and -wrbrushes is superior anyway and actually has toolchain support.
git-svn-id: https://svn.code.sf.net/p/fteqw/code/trunk@6018 fc73d0e0-1445-4013-8a0c-d673dee63da5
2021-08-14 04:04:01 +00:00
Spoike
b76d139a58 Show relight times, cos why not. Fix hdr pre-relight levels.
git-svn-id: https://svn.code.sf.net/p/fteqw/code/trunk@6014 fc73d0e0-1445-4013-8a0c-d673dee63da5
2021-08-09 23:06:23 +00:00
Spoike
fb239abaf7 Try to fix windows builds.
git-svn-id: https://svn.code.sf.net/p/fteqw/code/trunk@6009 fc73d0e0-1445-4013-8a0c-d673dee63da5
2021-08-05 16:49:25 +00:00
Spoike
e2b88fafc8 Fix stupid bug.
git-svn-id: https://svn.code.sf.net/p/fteqw/code/trunk@5991 fc73d0e0-1445-4013-8a0c-d673dee63da5
2021-07-23 19:11:38 +00:00
Spoike
90aae69db3 Try to make things a little more stable.
git-svn-id: https://svn.code.sf.net/p/fteqw/code/trunk@5983 fc73d0e0-1445-4013-8a0c-d673dee63da5
2021-07-19 22:47:29 +00:00
Spoike
139b916e46 Make scenecache less... flickery.
git-svn-id: https://svn.code.sf.net/p/fteqw/code/trunk@5953 fc73d0e0-1445-4013-8a0c-d673dee63da5
2021-07-06 00:12:20 +00:00
Spoike
93253a026a My realignment logic wasn't actually realigning the bsp data...
git-svn-id: https://svn.code.sf.net/p/fteqw/code/trunk@5936 fc73d0e0-1445-4013-8a0c-d673dee63da5
2021-07-01 15:43:18 +00:00
Spoike
2338e5b505 Add a cvar to restore buggy dlight range behaviours, requested by Orl.
git-svn-id: https://svn.code.sf.net/p/fteqw/code/trunk@5928 fc73d0e0-1445-4013-8a0c-d673dee63da5
2021-07-01 01:16:29 +00:00
Spoike
5c585b0e6e Prod r_temporalscenecache a bit to make it more tolerant of those inefficient shaders.
git-svn-id: https://svn.code.sf.net/p/fteqw/code/trunk@5918 fc73d0e0-1445-4013-8a0c-d673dee63da5
2021-06-25 18:50:53 +00:00
Spoike
2363b05216 If texture names can have map-specific prefixes, shaders must also.
git-svn-id: https://svn.code.sf.net/p/fteqw/code/trunk@5912 fc73d0e0-1445-4013-8a0c-d673dee63da5
2021-06-22 14:40:53 +00:00
Spoike
27831f7265 Fix some misc issues that noone else is likely to notice.
git-svn-id: https://svn.code.sf.net/p/fteqw/code/trunk@5911 fc73d0e0-1445-4013-8a0c-d673dee63da5
2021-06-21 19:13:33 +00:00
Spoike
b34618507a Try to reduce memory usage.
git-svn-id: https://svn.code.sf.net/p/fteqw/code/trunk@5902 fc73d0e0-1445-4013-8a0c-d673dee63da5
2021-06-21 13:46:06 +00:00
Spoike
aa4cfe91b9 Fix oriented sprites - quake draws them backwards.
git-svn-id: https://svn.code.sf.net/p/fteqw/code/trunk@5893 fc73d0e0-1445-4013-8a0c-d673dee63da5
2021-06-21 13:44:14 +00:00
Eukara
9194f5cddf Fix rendering of turb surfaces on HLBSP
git-svn-id: https://svn.code.sf.net/p/fteqw/code/trunk@5886 fc73d0e0-1445-4013-8a0c-d673dee63da5
2021-06-18 20:37:57 +00:00
Spoike
d85cdd4c50 my map package tweak was defective. whoops. try again.
git-svn-id: https://svn.code.sf.net/p/fteqw/code/trunk@5880 fc73d0e0-1445-4013-8a0c-d673dee63da5
2021-06-01 10:56:08 +00:00
Spoike
1979150076 Preliminary attempt at loading zips concatenated onto the end of bsp files, instead of having servers load 5000+ different pk3s up front.
git-svn-id: https://svn.code.sf.net/p/fteqw/code/trunk@5876 fc73d0e0-1445-4013-8a0c-d673dee63da5
2021-05-28 07:07:48 +00:00
Spoike
fb54cc140b Lit sprites should not be additive. Make gl_blendsprites 2 replicate that tenebrae behaviour instead. Allow colormod to oversaturate sprites.
git-svn-id: https://svn.code.sf.net/p/fteqw/code/trunk@5868 fc73d0e0-1445-4013-8a0c-d673dee63da5
2021-05-27 11:33:48 +00:00
Spoike
2538e37e28 Add a preview for 2d array textures. Bind gl textures according to texture type rather than hardcoded assumptions, making it more consistent with the other rendering APIs.
git-svn-id: https://svn.code.sf.net/p/fteqw/code/trunk@5839 fc73d0e0-1445-4013-8a0c-d673dee63da5
2021-05-09 13:01:15 +00:00
Spoike
320cf1cee5 Try to fix some compile issues.
git-svn-id: https://svn.code.sf.net/p/fteqw/code/trunk@5814 fc73d0e0-1445-4013-8a0c-d673dee63da5
2021-04-14 06:10:37 +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
432bc96456 Add r_meshroll, like r_meshpitch (hexen2 requires it set to -1 - they made the bug worse).
HTTP client code now tracks the reason for failure better (so we can distinguish between dns, no response, disconnects, and tls cert issues).
Downloads menu shows reasons for failure for its various sources.
make hexen2's +infoplaque button work even when tab isn't held! Yes! usability! who'd a thought it?
Try to clean up some client-only build issues.
Added 'librequake' as a recognised game name (mostly so that we can reuse the quake-specific engine compat settings.
.map support now supports patches enough to query+create(+network)+select them. Collisions are basically defective though.
qcc: Remove char as default keyword.
qcc: Fix some recent regressions.
sv: Add 'sv_protocol csqc' setting to force csqc protocols on clients that disabled handshakes, for mods that NEED csqc support. other options include 'fte1' and 'fte2', if you want to force extra stuff. Engines that don't support the selected protocols will crash out so only set these if your mod/map always requires it.
sv: default to qw physics whenever a mod defines the SV_RunClientCommand, even if its an nq mod.


git-svn-id: https://svn.code.sf.net/p/fteqw/code/trunk@5775 fc73d0e0-1445-4013-8a0c-d673dee63da5
2020-10-06 03:17:28 +00:00
Eukara
42d810b320 Support for HL SPR's INDEXALPHA blend type.
git-svn-id: https://svn.code.sf.net/p/fteqw/code/trunk@5754 fc73d0e0-1445-4013-8a0c-d673dee63da5
2020-09-05 18:58:12 +00:00