Commit graph

813 commits

Author SHA1 Message Date
92229e769e
qclib: add sanity check for mixed usage of nonvirtual and virtual as it's currently unsupported. 2023-02-02 11:07:09 -08:00
Spoike
fcbfc90892 Make our mini http server report timestamps better, so wget's timestamping is happy.
git-svn-id: https://svn.code.sf.net/p/fteqw/code/trunk@6338 fc73d0e0-1445-4013-8a0c-d673dee63da5
2023-01-09 05:14:57 +00:00
Spoike
ed63b7435e Make class parsing more c++-like, fix some issues with uninitialised variables not getting detected properly.
git-svn-id: https://svn.code.sf.net/p/fteqw/code/trunk@6322 fc73d0e0-1445-4013-8a0c-d673dee63da5
2023-01-09 05:13:12 +00:00
Spoike
c2f7a7b2d0 Fix some issues from last commit.
git-svn-id: https://svn.code.sf.net/p/fteqw/code/trunk@6304 fc73d0e0-1445-4013-8a0c-d673dee63da5
2022-08-19 13:29:27 +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
8705adfb86 Revision 6270 was bad.
git-svn-id: https://svn.code.sf.net/p/fteqw/code/trunk@6282 fc73d0e0-1445-4013-8a0c-d673dee63da5
2022-06-30 04:12:24 +00:00
Spoike
c715171416 Fix some qcc bugs with large structs (reported by qqshka).
git-svn-id: https://svn.code.sf.net/p/fteqw/code/trunk@6270 fc73d0e0-1445-4013-8a0c-d673dee63da5
2022-06-19 15:18:14 +00:00
Spoike
8faf8a7e96 Fix up our support for _Bool.
git-svn-id: https://svn.code.sf.net/p/fteqw/code/trunk@6268 fc73d0e0-1445-4013-8a0c-d673dee63da5
2022-06-19 15:18:00 +00:00
Spoike
5743de1167 Make fteqcc handle dupe typedefs better (primarily to fix autoproto).
git-svn-id: https://svn.code.sf.net/p/fteqw/code/trunk@6253 fc73d0e0-1445-4013-8a0c-d673dee63da5
2022-05-28 18:00:09 +00:00
Spoike
bfdc0b59bd 'qqshka: btw, static actually helped' with hotkeys not working.
git-svn-id: https://svn.code.sf.net/p/fteqw/code/trunk@6252 fc73d0e0-1445-4013-8a0c-d673dee63da5
2022-05-28 17:59:57 +00:00
Spoike
c6e00068db Try to fix some qcc bugs.
git-svn-id: https://svn.code.sf.net/p/fteqw/code/trunk@6182 fc73d0e0-1445-4013-8a0c-d673dee63da5
2022-02-07 14:34:02 +00:00
Spoike
88858f7698 Bump ent counts by a smidge.
git-svn-id: https://svn.code.sf.net/p/fteqw/code/trunk@6181 fc73d0e0-1445-4013-8a0c-d673dee63da5
2022-02-07 14:33:56 +00:00
Spoike
0085e5e8d8 Fix a .union{array}; issue
git-svn-id: https://svn.code.sf.net/p/fteqw/code/trunk@6160 fc73d0e0-1445-4013-8a0c-d673dee63da5
2022-01-16 18:41:25 +00:00
Spoike
23437fff01 Switch to supporting the october quake rerelease instead.
git-svn-id: https://svn.code.sf.net/p/fteqw/code/trunk@6077 fc73d0e0-1445-4013-8a0c-d673dee63da5
2021-10-09 07:58:17 +00:00
Spoike
aa651c5059 'fteqcc -x foo.pak foo' now accepts wildcards.
git-svn-id: https://svn.code.sf.net/p/fteqw/code/trunk@6055 fc73d0e0-1445-4013-8a0c-d673dee63da5
2021-09-03 08:02:15 +00:00
Spoike
9741676e79 Try to fix some hexen2 saved game issues.
git-svn-id: https://svn.code.sf.net/p/fteqw/code/trunk@6054 fc73d0e0-1445-4013-8a0c-d673dee63da5
2021-09-01 07:30:48 +00:00
Spoike
6136cad786 Fix #merge bug.
git-svn-id: https://svn.code.sf.net/p/fteqw/code/trunk@6044 fc73d0e0-1445-4013-8a0c-d673dee63da5
2021-08-27 04:29:31 +00:00
Spoike
0382bb7049 Fix a crash.
git-svn-id: https://svn.code.sf.net/p/fteqw/code/trunk@6040 fc73d0e0-1445-4013-8a0c-d673dee63da5
2021-08-23 06:37:36 +00:00
Spoike
f9533ee8fc Fix up silly warnings in fteqcc's decompiler.
git-svn-id: https://svn.code.sf.net/p/fteqw/code/trunk@6030 fc73d0e0-1445-4013-8a0c-d673dee63da5
2021-08-20 20:56:24 +00:00
Spoike
67ff1e6cbb Try to fix dotranslate symbols getting b0rked.
git-svn-id: https://svn.code.sf.net/p/fteqw/code/trunk@6010 fc73d0e0-1445-4013-8a0c-d673dee63da5
2021-08-05 16:49:32 +00:00
Spoike
221d4032af FTE_TARGET=msvc now invokes some old version of msvc via wine, old FTE_TARGET=vc removed. Related code tweaks to make it a bit happier.
git-svn-id: https://svn.code.sf.net/p/fteqw/code/trunk@6001 fc73d0e0-1445-4013-8a0c-d673dee63da5
2021-08-04 21:17:31 +00:00
Spoike
9d8b442cf3 fteqcc __GITDESC__ et all were not quite working properly. Fix bitnot operator.
git-svn-id: https://svn.code.sf.net/p/fteqw/code/trunk@5972 fc73d0e0-1445-4013-8a0c-d673dee63da5
2021-07-17 15:10:46 +00:00
Spoike
2ae4157738 Support for '[const] static type name=val;' inside classes.
git-svn-id: https://svn.code.sf.net/p/fteqw/code/trunk@5963 fc73d0e0-1445-4013-8a0c-d673dee63da5
2021-07-17 15:09:44 +00:00
Spoike
d3b1350ca5 Fix up autoproto with class-accessors and named enums.
git-svn-id: https://svn.code.sf.net/p/fteqw/code/trunk@5959 fc73d0e0-1445-4013-8a0c-d673dee63da5
2021-07-07 13:10:20 +00:00
Spoike
0dc1b91ec6 Add -ftags to generate tag info for vi and compatibles. Files will still need to be concatenated then sorted before use.
git-svn-id: https://svn.code.sf.net/p/fteqw/code/trunk@5954 fc73d0e0-1445-4013-8a0c-d673dee63da5
2021-07-06 00:12:27 +00:00
Spoike
3d1014efe4 A quick attempt to get accessors working inside classes. Needs proper testing.
git-svn-id: https://svn.code.sf.net/p/fteqw/code/trunk@5945 fc73d0e0-1445-4013-8a0c-d673dee63da5
2021-07-03 23:33:52 +00:00
Spoike
4ac09f8a03 Try to handle some qcc 'standards' a little better.
git-svn-id: https://svn.code.sf.net/p/fteqw/code/trunk@5944 fc73d0e0-1445-4013-8a0c-d673dee63da5
2021-07-03 01:47:16 +00:00
Spoike
b45ce608c0 Remove qcc hunk size limitations.
git-svn-id: https://svn.code.sf.net/p/fteqw/code/trunk@5940 fc73d0e0-1445-4013-8a0c-d673dee63da5
2021-07-03 01:46:52 +00:00
Spoike
98da911996 Fix up a couple of missing opcodes in our qc decompiler.
git-svn-id: https://svn.code.sf.net/p/fteqw/code/trunk@5900 fc73d0e0-1445-4013-8a0c-d673dee63da5
2021-06-21 13:45:33 +00:00
Spoike
6ff548cc64 -Ounreferenced wasn't doing anything (as it would break spawn functions). stop claiming it does stuff.
git-svn-id: https://svn.code.sf.net/p/fteqw/code/trunk@5894 fc73d0e0-1445-4013-8a0c-d673dee63da5
2021-06-21 13:44:22 +00:00
Spoike
84d6ef3e45 Take extra measures to ensure that zip-in-bsp content is actually used.
git-svn-id: https://svn.code.sf.net/p/fteqw/code/trunk@5878 fc73d0e0-1445-4013-8a0c-d673dee63da5
2021-06-01 09:23:42 +00:00
Spoike
148de2e082 Fix qcc crash.
git-svn-id: https://svn.code.sf.net/p/fteqw/code/trunk@5874 fc73d0e0-1445-4013-8a0c-d673dee63da5
2021-05-27 11:34:28 +00:00
Spoike
08b5b09fd3 Add -Fdumplocalisation arg to fteqcc to dump localisation stuff (in part to try to encourage more people to use this stuff).
git-svn-id: https://svn.code.sf.net/p/fteqw/code/trunk@5873 fc73d0e0-1445-4013-8a0c-d673dee63da5
2021-05-27 11:34:22 +00:00
Spoike
4d351b60f3 Add SV_PerformSave/SV_PerformLoad entrypoints for QC-controlled saved games, at Eukara's request.
git-svn-id: https://svn.code.sf.net/p/fteqw/code/trunk@5872 fc73d0e0-1445-4013-8a0c-d673dee63da5
2021-05-27 11:34:15 +00:00
Spoike
ff6c438d89 Try to handle qc execution warnings a little better, with less undefined behaviour.
git-svn-id: https://svn.code.sf.net/p/fteqw/code/trunk@5867 fc73d0e0-1445-4013-8a0c-d673dee63da5
2021-05-27 11:33:26 +00:00
Spoike
f35928f4fd OpenXR stuff should be a little more usable now.
git-svn-id: https://svn.code.sf.net/p/fteqw/code/trunk@5850 fc73d0e0-1445-4013-8a0c-d673dee63da5
2021-05-09 13:02:49 +00:00
Spoike
1f6f0979bc FTEQCC was having issues with initialising variables from other constants when using -Fautoproto.
git-svn-id: https://svn.code.sf.net/p/fteqw/code/trunk@5846 fc73d0e0-1445-4013-8a0c-d673dee63da5
2021-05-09 13:02:09 +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
d4606452e6 Fix some type confusion in fteqcc's enums.
git-svn-id: https://svn.code.sf.net/p/fteqw/code/trunk@5809 fc73d0e0-1445-4013-8a0c-d673dee63da5
2021-02-17 03:55:20 +00:00
Spoike
931bddff56 Oops, __uint64 was signed...
git-svn-id: https://svn.code.sf.net/p/fteqw/code/trunk@5808 fc73d0e0-1445-4013-8a0c-d673dee63da5
2021-02-15 21:44:50 +00:00
Spoike
ed08236922 Fix windows build issue.
git-svn-id: https://svn.code.sf.net/p/fteqw/code/trunk@5807 fc73d0e0-1445-4013-8a0c-d673dee63da5
2021-02-15 21:43:54 +00:00
Spoike
e26f26e170 Don't try to clean up .. segments in fteqcc's include paths. Its buggy, and doesn't handle symlink weirdness properly.
git-svn-id: https://svn.code.sf.net/p/fteqw/code/trunk@5805 fc73d0e0-1445-4013-8a0c-d673dee63da5
2021-02-08 10:59:53 +00:00
Spoike
d6bae5a2bf Fix qclib-only makefile.
git-svn-id: https://svn.code.sf.net/p/fteqw/code/trunk@5787 fc73d0e0-1445-4013-8a0c-d673dee63da5
2020-11-12 20:48:02 +00:00
Spoike
29cb22af8e try to fix vulkan validation warnings (and maybe some crashes on amd gpus)
fix sdl1 not compiling.
fix temporalscenecache with q3bsp
add the net_wm_ping protocol to fte's native x11 stuff, allowing our process to be killed if we lock up (usually due to vulkan drivers...).
qccguiqt: actually save the config.
try to fix hl fonts


git-svn-id: https://svn.code.sf.net/p/fteqw/code/trunk@5785 fc73d0e0-1445-4013-8a0c-d673dee63da5
2020-11-04 10:19:30 +00:00
Spoike
4d25c073ec big commit. :(
fix crash from qwplayers with invalid modelindexes
rework allow_skybox a little. now applies immediately.
try to fix the appears-outside-of-map bug, again.
dir *.wav now shows a little extra info on mouse-over.
try loading music file extensions that we expect to be able to play via ffmpeg, not just the ones that are directly supported.
rework the hidden fps_presets, show them with tab completion.
fix a possible crash with r_temporalscenecache
fix lightmap updates on submodels not happening properly with the scenecache.
fix the serious memory leak with scenecache.
add r_glsl_pbr cvar to force use of pbr pathways in our glsl.
fix bug in alsa output not supporting float output properly.
preliminary work to have the mixer use floating point mixing. disabled for now.
try to update sys_register_file_associations on linux, still needs work though.
try to work around nquake's config quirks, so config files don't get overwritten.
repackage quake's conchars in order to add padding. this should avoid extra junk on the outside of glyphs.
give fteqcc(commandline version) some extra package extration/creation support. our paks should be more end-user-friendly, and our spanned pk3s are awesome.
write rune state to legacy saved games, so we don't ever have the missing-runes bug ever again...



git-svn-id: https://svn.code.sf.net/p/fteqw/code/trunk@5780 fc73d0e0-1445-4013-8a0c-d673dee63da5
2020-10-26 06:30:35 +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
Spoike
4cead675f6 Try to fix fteqccgui not parsing its ini file properly.
git-svn-id: https://svn.code.sf.net/p/fteqw/code/trunk@5771 fc73d0e0-1445-4013-8a0c-d673dee63da5
2020-09-30 00:10:22 +00:00
Spoike
e3fdbfcdbd qcc: Add unsigned int, long/__int64, unsigned long/__uint64, and double datatypes to qcc+qcvm.
qcc: Add '#pragma opcode enable|disable NAME' to override whether an individual opcode may be generated for the current target.
nq: Fix smartjump on nq servers.
nq: Fix enemyskin/teamskin stuff on nq servers.
Rework show_fps cvar to give a greater focus on the timings graph.
Update updates menu to allow enabling/disabling specific sources.
Add separate settings for ef_red+ef_green+ef_blue.



git-svn-id: https://svn.code.sf.net/p/fteqw/code/trunk@5768 fc73d0e0-1445-4013-8a0c-d673dee63da5
2020-09-29 07:09:01 +00:00
Spoike
b095410ce6 Make sizeof into an actual operator instead of a mere intrinsic
Char immediates now support a greater range of escapes for parity with string immediates.
Don't misparse triple field parameters as variable args+junk.
Recognise octal immediates, but warn in case it was unintended.
Fix a bug with initialised const locals.



git-svn-id: https://svn.code.sf.net/p/fteqw/code/trunk@5760 fc73d0e0-1445-4013-8a0c-d673dee63da5
2020-09-11 01:18:32 +00:00
Spoike
a5371f0027 Add 'using' keyword (for muting deprecation warnings), eg __using(foo) {codethatuses(foo);};
Make checkbuiltin also mute deprecation warnings for the referenced builtin within the current scope (read: usually entire containing function).
Move crc-based module-type prints to after any warnings about missing symbols.
Fix load-game bug that was causing strings to be forgotten (reported by Orl).
Add (virtual) mod+pow opcode variants that accept int types.
Add compiler flags to dump symbol lists, field lists, autocvar lists, and file lists. This replaces similar functionality from multiple -v args.
Add a little colour to a few more warnings.



git-svn-id: https://svn.code.sf.net/p/fteqw/code/trunk@5756 fc73d0e0-1445-4013-8a0c-d673dee63da5
2020-09-08 04:44:07 +00:00