Commit graph

48 commits

Author SHA1 Message Date
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
71319a8852 add hud_miniscores_show cvar to hide the mini deathmatch overlay
fix some issues with ezhud. ownfrags, text alphas, RGB player colours.
tweak gamecontroller input a little, to make axis slightly more usable.
fix issue with menuqc/csqc not being able to query binds reliably.
fix csqc gravitydir.
bump r_particle_tracelimit so that its no longer a limitation by default.
tweak fog to allow far-clip-plane culling on entities (but still not on world, due to issues with glClear).
fix performance issue with q1bspx BRUSHLIST lump.
fix mvd recording bug.
fix limitation that becomes apparent on maps with lots of ents visible at once. will now use more bandwidth in such cases, however.

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

git-svn-id: https://svn.code.sf.net/p/fteqw/code/trunk@4992 fc73d0e0-1445-4013-8a0c-d673dee63da5
2015-10-27 15:20:15 +00:00
Spoike
ca09c08072 added a -plugwrapper argument, so that libcef can be a little more efficient with regards to new processes, at least in terms of quake resources eaten in subprocesses that will not be running quake.
fixed -watchdog, no longer conflicts with other exception handling.
try to be more efficient on behalf of videomaps

git-svn-id: https://svn.code.sf.net/p/fteqw/code/trunk@4971 fc73d0e0-1445-4013-8a0c-d673dee63da5
2015-08-24 03:54:39 +00:00
Spoike
365c11181c wait now correctly waits until the start of the next input frame (thus ensuring that -attack is delayed for long enough).
implemented hud_teaminfo_show ezhud element. _LOTS_ of hacks. ezhud needs updated engine.
fix issue with overly friendly prints.
handle svc_setinfo more gracefully, for the next time OMC makes a bug.
allow glsl to embed default values for float cvars, in case they're not already set. this can save some docs...
removed prints about "wad" "foo\", fixing a crash concerning just which print function to call.


git-svn-id: https://svn.code.sf.net/p/fteqw/code/trunk@4925 fc73d0e0-1445-4013-8a0c-d673dee63da5
2015-06-29 23:46:31 +00:00
Spoike
1337503fe8 fix ezhud text scaling.
fix ezhud gameclock.
fix fteqcc treating somearray as somearray[0] instead of &somearray[0]
fix sometype*foo[]; issues.

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

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

git-svn-id: https://svn.code.sf.net/p/fteqw/code/trunk@4852 fc73d0e0-1445-4013-8a0c-d673dee63da5
2015-04-21 04:12:00 +00:00
Spoike
911f98ffaa fix demo menu with system paths.
tweak some dp compatibility things. probably futile.
moved ode to a plugin.
added screenshot_mega command to take massive screenshots that are not tied to current video mode.
removed offscreen-gecko code completely.
added cvars to rescale offsetmapping from paletted sources, so it can be disabled where its ugly.
added support for zip weak encryption. the password defaults to 'thisispublic'. nothing is fool-proof.
gl: fix stereoscopic rendering.
gl: fix rendertargets with depth.
qc: added support for named builtins that do not have any specific number.
qc: added some new builtins. drawrotpic, drawtextfield, search_getfilemtime, and a few others.
qc: PF_Fixme now attempts to figure out which builtin you tried to call, for more friendly fatal error messages.
qccgui: stepover and stepout are now implemented, as is setnextstatement.
qccgui: added a way to annotate code with the asm statements generated from them.
qccgui: fixed double-clicking a src file.
qccgui: handles multiple .src files more usefully.

git-svn-id: https://svn.code.sf.net/p/fteqw/code/trunk@4832 fc73d0e0-1445-4013-8a0c-d673dee63da5
2015-02-02 08:01:53 +00:00
Spoike
7f6c2054d9 threaded loading code and associated/extensive tweaks.
unified image loading code a little between renderers.
support switching worldmodel in csqc. also associated bugfixes.


git-svn-id: https://svn.code.sf.net/p/fteqw/code/trunk@4758 fc73d0e0-1445-4013-8a0c-d673dee63da5
2014-10-05 20:04:11 +00:00
Spoike
957e9b494c more correct types.
git-svn-id: https://svn.code.sf.net/p/fteqw/code/trunk@4698 fc73d0e0-1445-4013-8a0c-d673dee63da5
2014-06-24 03:04:30 +00:00
Spoike
2e1a70e319 rewrote ban code, merging bans+nonbans+cuffs+mute+cripple+deaf+lagged+vip. added timeouts. new penalties have no dedicated command. use the addip command for it.
maplist command now generates links.
implemented skin objects for q3. added a csqc builtin for it. also supports compositing skins.
playing demos inside zips/pk3s/paks should now work.
bumped default rate cvar.
added cl_transfer to attempt to connect to a new server without disconnecting first.
rewrote fog command. alpha and mindist arguments are now supported. fog change also happens over a short time period.
added new args to the showpic console command. can now create clickable items for touchscreen/absmouse users.
fixed menus to properly support right-aligned text. this finally fixes variable-width fonts.
rewrote console tab completion suggestions display. now clickable links.
strings obtained from qc are now marked as const. this has required quite a few added consts all over the place.
probably crappy attempt at adding joypad support to the sdl port. no idea if it works.
changed key bind event code. buttons now track which event they should trigger when released, instead of being the same one the whole time. this allows +forward etc clickable buttons on screen. Also simplified modifier keys - they no longer trigger random events when pressing the modifier key itself.
Right modifiers can now be bound separately from left modifiers. Right will use left's binding if not otherwise bound. Bind assumes left if there's no prefix.
multiplayer->setup->network menu no longer crashes. added rgb colours to the translation view (but not to the colour-changing keys).
added modelviewer command to view models.
added menu_mods menu to switch mods in a more friendly way. will be shown by default if multiple manifests exist in the binarydir.
clamped classic tracer density. scrag particles no longer look quite so buggy.
added ifdefs to facilitate a potential winrt port. the engine should now have no extra dependencies, but still needs system code+audio drivers to be written.
if it can't set a renderer, it'll now try to use *every* renderer until it finds one that works.
added experimental mapcluster server mode (that console command). New maps will be started up as required.
rewrote skeletal blending code a bit.
added cylinder geomtypes.
fix cfg_save writing to the wrong path bug.
VFS_CLOSE now returns a boolean. false means there was some sort of fatal error (either crc when reading was bad, or the write got corrupted or something). Typically ignorable, depends how robust you want to be.
win32 tls code now supports running as a server. added connect tls://address support, as well as equivalent sv_addport support.
exposed basic model loading api to plugins.
d3d11 backend now optionally supports tessellation hlsl. no suitable hlsl provided by default. !!tess to enable.
attempted to add gamma ramp support for d3d11.
added support for shader blobs to speed up load times. r_shaderblobs 1 to enable. almost vital for d3d11.
added vid_srgb cvar.
shadowless lights are no longer disabled if shadows are not supported.
attempt to add support for touchscreens in win7/8.
Wrote gimmicky lua support, using lua instead of ssqc. define VM_LUA to enable.
updated saved game code. can again load saved games from vanilla-like engines.
changed scale clamping. 0.0001 should no longer appear as 1.
changed default mintic from 0.03 to 0.013 to match vanilla qw. I don't know why it was at 0.03. probably a typo.

git-svn-id: https://svn.code.sf.net/p/fteqw/code/trunk@4623 fc73d0e0-1445-4013-8a0c-d673dee63da5
2014-03-30 08:55:06 +00:00
Spoike
1bb752b582 sdl2 support.
hacky rendertarget stuff. not polished. don't use except for testing. feedback desired.
switched file system to use a qofs_t type instead. define FS_64BIT to make it 64bit (standard on 64bit cpus).
rewrote zip support, ditching unzip.c. this provided zip64 support, and unicode in zips.
changed local address enumeration to not be so stupid.
updated ode support a little to match some dp features.
changed fs_cache scheme, to not rebuild needlessly.

git-svn-id: https://svn.code.sf.net/p/fteqw/code/trunk@4596 fc73d0e0-1445-4013-8a0c-d673dee63da5
2014-02-07 08:38:40 +00:00
Spoike
87564c9d79 stripped out my ancient form of in-engine translation. Implemented gettext style translation instead. Automatically determine language from environment settings.
try to imitate cyrillic chars if the charset doesn't support them using koi8 mappings, so russian-speaking users don't get so easily pissed about not knowing how to select a font that actually contains chars for their language.

git-svn-id: https://svn.code.sf.net/p/fteqw/code/trunk@4544 fc73d0e0-1445-4013-8a0c-d673dee63da5
2013-11-29 14:36:47 +00:00
Spoike
f08489f141 .po support for qc.
rewrote messagemode to support utf8 properly, as well as left-arrow etc keys.
support for mouse-over images on console links and stuff.
added r_lerpmuzzlehack for certain viewmodels.
use libtool's dlopen stuff on cygwin to try to cover some cygwin path differences.
try to support utf-8 in filenames even in windows (only in nt, 9x is still ascii only).
added certificate validation for gnutls. gnutls now enabled by default in linux.
d3d11 tweaks. shadowmapping works.
tweaks for updated terrain format, to try to fix some inefficiencies/limitations.
xmpp plugin can now display avatars (xmpp /set avatars 1)
xmpp file transfers supported by default, but capability is disabled by default (can be enabled by hacking config).

git-svn-id: https://svn.code.sf.net/p/fteqw/code/trunk@4523 fc73d0e0-1445-4013-8a0c-d673dee63da5
2013-11-21 23:02:28 +00:00
Spoike
eec7dba110 tiny tweak to help out on linux.
git-svn-id: https://svn.code.sf.net/p/fteqw/code/trunk@4473 fc73d0e0-1445-4013-8a0c-d673dee63da5
2013-09-08 19:01:12 +00:00
Spoike
da322c528f Remove silly linux symbol conflicts.
git-svn-id: https://svn.code.sf.net/p/fteqw/code/trunk@4400 fc73d0e0-1445-4013-8a0c-d673dee63da5
2013-06-23 18:43:59 +00:00
Spoike
1e423d106f berkelium plugin no longer has annoying rescaling.
jabber plugin greatly extended. now uses links, automatically connects the next time its started, supports adding contacts, can cope with < a little better. started work towards support for NAT hole punching - can currently connect if the server has a correctly guessed public ip (first detected ipv4 address needs to work), needs more work for other scenarios.
other plugins required a little maintenance.

git-svn-id: https://svn.code.sf.net/p/fteqw/code/trunk@4398 fc73d0e0-1445-4013-8a0c-d673dee63da5
2013-06-23 02:33:52 +00:00
Spoike
9dbf5b5837 changed to not load gamecode from quake paths, to avoid issues with buggy quakeworld clients that will freely download stuff from anywhere (not sure what to do about ktx, but it can be reenabled with a cvar).
image_width is now only set by a single function.
tweaked scancode inputs slightly. added support for printscreen binds.
changed the way gamma works. glsl gamma now used when running windows, or hardware gamma is not available. removed gl_contrast+gl_brightness.
q2 gamecode support no longer has a system componant. this means that ports only need the generic stuff.
misc tweaks to the d3d11 renderer.
added brief descriptions to many builtins. need to add comments to constants, globals, and fields too, somehow.


git-svn-id: https://svn.code.sf.net/p/fteqw/code/trunk@4355 fc73d0e0-1445-4013-8a0c-d673dee63da5
2013-05-11 14:02:55 +00:00
Spoike
78185c2721 my attempt at linux-friendly plugin code. cross compiling for win32 should be okay now, just need to add the setting to the buildbot.
git-svn-id: https://svn.code.sf.net/p/fteqw/code/trunk@4335 fc73d0e0-1445-4013-8a0c-d673dee63da5
2013-05-04 10:40:05 +00:00
Spoike
98d4e12ffc added mpq archive support for the luls
updated plugin apis.

git-svn-id: https://svn.code.sf.net/p/fteqw/code/trunk@4325 fc73d0e0-1445-4013-8a0c-d673dee63da5
2013-05-03 04:29:36 +00:00
Spoike
f8749a242a spelling correction
git-svn-id: https://svn.code.sf.net/p/fteqw/code/trunk@4320 fc73d0e0-1445-4013-8a0c-d673dee63da5
2013-04-14 09:58:23 +00:00
Spoike
6a831e2f99 qwsvdef.h is no more. Many files changed because of this.
enabled ssl support in windows for plugins.
updated jabber plugin.
tweaked downloading logic in an effort to end the madness.
Updated sql code to support sleeping the qc thread until query completion, as a more readable alternative to callbacks.
Client updates should be more explicit now, removing a potential bug.
networked terrain editing should now be in a better state.
updated the dir command to show paths too (so when the same file is listed twice, the pak its in will at least be different). Many files changed because of this.

git-svn-id: https://svn.code.sf.net/p/fteqw/code/trunk@4273 fc73d0e0-1445-4013-8a0c-d673dee63da5
2013-03-31 04:21:08 +00:00
Spoike
53a7b3d47c added support for external capture plugins - and using avcodec as a plugin.c.
The ragdoll API is potentially usable now, but still really limited.
Enabled SQL requests by default using sqlite. Note that you'll need the sqlite dll to use this. MySQL should still be usable, but I didn't try. MySQL requires -DUSE_MYSQL to compile it, and a dll and -mysql argument to enable it.
Fixed nacl.
NPFTE plugin now invokes an exe to run the game rather than running the game within the browser.
externvalue builtin now accepts & prefix to return a pointer instead.
Fixed vector autocvars.
uri_get, bufstr_add, bufstr_free, now functional.
QC debugger can now show asm if line numbers are not available.
Added support for QC watchpoints. Use the watchpoint command.
gl_specular now give specular even without rtlights, thankfully not as blatently, but its there.
android will not crash due to supported audio formats, and gles2 can be selected via a cvar (requires full FTEDroidActivity/program restart).

git-svn-id: https://svn.code.sf.net/p/fteqw/code/trunk@4152 fc73d0e0-1445-4013-8a0c-d673dee63da5
2012-11-27 03:23:19 +00:00
Spoike
3a6f3fd66c 64bit plugin fixes.
git-svn-id: https://svn.code.sf.net/p/fteqw/code/trunk@4120 fc73d0e0-1445-4013-8a0c-d673dee63da5
2012-10-08 05:29:52 +00:00
Spoike
459c99efec FTE plugin for support to run berkelium. This is an in-game web browser, that can be used with playfilm or with custom shaders. CSQC also has some control over it, for feeding it mouse/keyboard events.
git-svn-id: https://svn.code.sf.net/p/fteqw/code/trunk@4109 fc73d0e0-1445-4013-8a0c-d673dee63da5
2012-10-07 18:26:22 +00:00
Spoike
8fa45f2c65 Small update for the X11 server/plugin, for the luls. This update moves the x11 server from a menu and into a media decoder, allowing it to be specified in shaders and played on walls etc (muh_bad or whatever).
git-svn-id: https://svn.code.sf.net/p/fteqw/code/trunk@4025 fc73d0e0-1445-4013-8a0c-d673dee63da5
2012-04-23 05:07:40 +00:00
Spoike
ed78c773e5 I wonder what these changes do.
Oh yeah, spell check api stuff.

git-svn-id: https://svn.code.sf.net/p/fteqw/code/trunk@3182 fc73d0e0-1445-4013-8a0c-d673dee63da5
2009-04-19 01:46:52 +00:00
Molgrum
ed0a3ac9f1 Error ;)
git-svn-id: https://svn.code.sf.net/p/fteqw/code/trunk@2709 fc73d0e0-1445-4013-8a0c-d673dee63da5
2007-10-05 10:58:50 +00:00
Spoike
0e0869e1c6 Added prototypes for the GetLocationName builtin I just added to the engine.
git-svn-id: https://svn.code.sf.net/p/fteqw/code/trunk@2708 fc73d0e0-1445-4013-8a0c-d673dee63da5
2007-10-05 10:50:13 +00:00
Molgrum
79d348a9e5 Fixed b_switch and w_switch to be stripped out of ezscript. Fixed warnings.
git-svn-id: https://svn.code.sf.net/p/fteqw/code/trunk@2666 fc73d0e0-1445-4013-8a0c-d673dee63da5
2007-09-21 11:19:41 +00:00
Spoike
f6a8eb23f7 Added 3 builtins which fte already supports
git-svn-id: https://svn.code.sf.net/p/fteqw/code/trunk@2661 fc73d0e0-1445-4013-8a0c-d673dee63da5
2007-09-17 20:54:26 +00:00
Spoike
c7d690011d Make builtins returning floats work properly when not compiled as a qvm.
git-svn-id: https://svn.code.sf.net/p/fteqw/code/trunk@2200 fc73d0e0-1445-4013-8a0c-d673dee63da5
2006-04-14 01:18:46 +00:00
Spoike
3af05720c5 LoadImage does actually return a value.
git-svn-id: https://svn.code.sf.net/p/fteqw/code/trunk@1947 fc73d0e0-1445-4013-8a0c-d673dee63da5
2006-02-11 13:48:31 +00:00
Spoike
48514d4807 Some new stuff for the hud plugin.
git-svn-id: https://svn.code.sf.net/p/fteqw/code/trunk@1884 fc73d0e0-1445-4013-8a0c-d673dee63da5
2006-01-21 00:07:47 +00:00
Spoike
d4b4e657bf Fixed some parameter types to match the engine.
git-svn-id: https://svn.code.sf.net/p/fteqw/code/trunk@1860 fc73d0e0-1445-4013-8a0c-d673dee63da5
2006-01-13 06:11:47 +00:00
Spoike
bfb9bbb371 Added some additional sub-console functions.
git-svn-id: https://svn.code.sf.net/p/fteqw/code/trunk@1720 fc73d0e0-1445-4013-8a0c-d673dee63da5
2005-12-16 18:08:40 +00:00
Spoike
55fe54ae60 Maybe this will make rjlan happy.
probably not, but it's worth a try.


git-svn-id: https://svn.code.sf.net/p/fteqw/code/trunk@1710 fc73d0e0-1445-4013-8a0c-d673dee63da5
2005-12-15 18:52:03 +00:00
Spoike
ce995e6f37 Added Draw_Line, cos, sin
git-svn-id: https://svn.code.sf.net/p/fteqw/code/trunk@1694 fc73d0e0-1445-4013-8a0c-d673dee63da5
2005-12-10 00:19:24 +00:00
Spoike
7e58306d03 Fixed/tweeked a few things.
git-svn-id: https://svn.code.sf.net/p/fteqw/code/trunk@1681 fc73d0e0-1445-4013-8a0c-d673dee63da5
2005-12-06 15:40:52 +00:00
Spoike
777cbdb6bc Small fixes for more robustness (more for testing).
git-svn-id: https://svn.code.sf.net/p/fteqw/code/trunk@1643 fc73d0e0-1445-4013-8a0c-d673dee63da5
2005-12-01 01:16:55 +00:00
Spoike
673a336982 fixed atoi / atof
git-svn-id: https://svn.code.sf.net/p/fteqw/code/trunk@1631 fc73d0e0-1445-4013-8a0c-d673dee63da5
2005-11-30 01:02:10 +00:00
Spoike
79fce55806 Added Quake filesystem access.
git-svn-id: https://svn.code.sf.net/p/fteqw/code/trunk@1629 fc73d0e0-1445-4013-8a0c-d673dee63da5
2005-11-30 00:48:29 +00:00
Spoike
0e5f1d12d1 A few fixes to get the emailnot plugin to work properly.
git-svn-id: https://svn.code.sf.net/p/fteqw/code/trunk@1602 fc73d0e0-1445-4013-8a0c-d673dee63da5
2005-11-27 03:18:43 +00:00
Spoike
c877a06196 An update.
git-svn-id: https://svn.code.sf.net/p/fteqw/code/trunk@1597 fc73d0e0-1445-4013-8a0c-d673dee63da5
2005-11-27 01:12:16 +00:00
Spoike
2964c0be1a Small revision.
git-svn-id: https://svn.code.sf.net/p/fteqw/code/trunk@1152 fc73d0e0-1445-4013-8a0c-d673dee63da5
2005-07-20 11:50:00 +00:00
Mark Olsen
741126d966 Let's call the function plugin_syscall instead of syscall to avoid conflicts on Linux.
git-svn-id: https://svn.code.sf.net/p/fteqw/code/trunk@1097 fc73d0e0-1445-4013-8a0c-d673dee63da5
2005-06-15 15:40:10 +00:00
Spoike
ce0c0c7a1c The four files used by ALL plugins.
git-svn-id: https://svn.code.sf.net/p/fteqw/code/trunk@337 fc73d0e0-1445-4013-8a0c-d673dee63da5
2004-10-15 00:35:53 +00:00