Commit graph

270 commits

Author SHA1 Message Date
Spoike
fc691d5be8 implemented gl_simpleitems.
load times reduced slightly.
don't show autoid armour if they're dead. its just not relevant.
fix csqc staticsound builtin.
fix some shader leaks/double-frees in certain situations.

git-svn-id: https://svn.code.sf.net/p/fteqw/code/trunk@4960 fc73d0e0-1445-4013-8a0c-d673dee63da5
2015-08-10 18:28:23 +00:00
Spoike
f520bdede7 fix gameclock in mvds.
implement hardware cursors in d3d9+d3d11
fix crash from closing the audio menu in the webgl port.
make deluxemapping+softwarebanding require a vid_reload before anything happens. this solves missing textures until the user does it anyway.
fix scores+spectating issue. again. oops.
rename openal devices in the webgl port, so that it makes more sense.
remove glsl/hlsl parameter limit. this also fixes the final ie webgl issue (still gets half the framerate though).
fix some issues with bloom and waterwarp active at the same time.
attempted to give properish error messages from emscripten, despite emscripten hating me.
hack drag+drop into fteqccgui. I ought to make fteqw accept demos etc this way some time too.

git-svn-id: https://svn.code.sf.net/p/fteqw/code/trunk@4959 fc73d0e0-1445-4013-8a0c-d673dee63da5
2015-08-07 17:49:49 +00:00
Spoike
257610c89f add atlasing for wad images (batching means the entire regular hud can be a single draw call, assuming the ammo counts batch alongside show_fps).
d3d9 renderer can now use all the model batching stuff I wrote for gl.
fixed loading screens with d3d9 renderer.
cl_deadbodyfilter cvar is now archived.
autocam will avoid switching if the newly tracked player doesn't have anything interesting, etc.

git-svn-id: https://svn.code.sf.net/p/fteqw/code/trunk@4958 fc73d0e0-1445-4013-8a0c-d673dee63da5
2015-08-04 15:16:24 +00:00
Spoike
f4d3df7bf5 make sure the capture command doesn't switch between gamedirs while capturing.
added dimension_default global to provide default dimensions. expected to be a (var) constant.
support setcustomskin in menuqc.
implement some considerations for win95, so it can actually run on that horrendously outdated system.
provide scr_autoid and r_showbbox-field info when running csqc.
ignore vid_restarts at the end of config.cfg files from other engines. in fte, these are at best redundant and at worst overrides user settings.
fix issue with latched cvars not flagging the config as modified.
path command always shows filenames properly.
fix some fteqcc inlining bugs.
added precaches command to display all active precaches.
added docs for mapcluster.

git-svn-id: https://svn.code.sf.net/p/fteqw/code/trunk@4881 fc73d0e0-1445-4013-8a0c-d673dee63da5
2015-06-04 06:15:14 +00:00
Spoike
d5dbdff1d1 enable WEBCLIENT in dedicated servers.
git-svn-id: https://svn.code.sf.net/p/fteqw/code/trunk@4876 fc73d0e0-1445-4013-8a0c-d673dee63da5
2015-05-16 15:57:04 +00:00
Spoike
d6bf654215 enable WEBCLIENT in dedicated servers.
git-svn-id: https://svn.code.sf.net/p/fteqw/code/trunk@4875 fc73d0e0-1445-4013-8a0c-d673dee63da5
2015-05-16 15:51:39 +00:00
Spoike
31506617f0 Implemented device enumeration for SDL+ALSA+OSS4 audio drivers. Back to using the 'default' alsa device by default, warts and all.
Fixed openal linux .so name, now usable in linux.
sdl audio code now uses sdl2 audio, and thus can support multiple devices simultaneously.
linux non-sdl builds now dynamically link to SDL2 for audio. This is now the default audio system in ALL non-android linux builds. This is the only real option to cope with the mess that is alsa.
Fix netgraph when running q2. No longer makes palette assumptions.
Fixed q2 ping values.
Tweaked a load of windows code to use wide chars, because microsoft do not support utf-8.
fixed an issue with winsspi where data from large packets could get lost.
now tries to read .lit2 files (although still refuses to read them for now).
Fixed motionblur. To make Shpuld happy... :P

git-svn-id: https://svn.code.sf.net/p/fteqw/code/trunk@4871 fc73d0e0-1445-4013-8a0c-d673dee63da5
2015-05-14 03:06:58 +00:00
Spoike
56b8f125a1 hack some sort of hdr in there, because we can. I'm sure it could be improved.
provide xz support, because we might as well.

git-svn-id: https://svn.code.sf.net/p/fteqw/code/trunk@4866 fc73d0e0-1445-4013-8a0c-d673dee63da5
2015-04-27 12:51:42 +00:00
Spoike
ad641efab3 git-svn-id: https://svn.code.sf.net/p/fteqw/code/trunk@4863 fc73d0e0-1445-4013-8a0c-d673dee63da5 2015-04-22 00:27:59 +00:00
Spoike
4a582f949a git-svn-id: https://svn.code.sf.net/p/fteqw/code/trunk@4861 fc73d0e0-1445-4013-8a0c-d673dee63da5 2015-04-21 23:11:26 +00:00
Spoike
bed989f529 q2w bsp format support.
automatic lightmap texture scaling to retain more performance on large maps.
r_clutter preliminary implementation should probably fix up the shader still.
CSQC_Parse_Damage implemented.
finally implement q2 inventory.
fix mixer overflow crash.
glsl can now use s_diffuse etc to force inclusion of a diffuse sampler/texture, meaning shaders don't need to include them.
fix issue with writeip

git-svn-id: https://svn.code.sf.net/p/fteqw/code/trunk@4841 fc73d0e0-1445-4013-8a0c-d673dee63da5
2015-03-03 00:14:43 +00:00
Spoike
d90095f511 git-svn-id: https://svn.code.sf.net/p/fteqw/code/trunk@4831 fc73d0e0-1445-4013-8a0c-d673dee63da5 2015-01-21 22:02:20 +00:00
Spoike
b0f0fc80bb try to fix android builds.
git-svn-id: https://svn.code.sf.net/p/fteqw/code/trunk@4813 fc73d0e0-1445-4013-8a0c-d673dee63da5
2014-12-31 06:11:12 +00:00
Spoike
898fc93b1b try to fix ar
git-svn-id: https://svn.code.sf.net/p/fteqw/code/trunk@4810 fc73d0e0-1445-4013-8a0c-d673dee63da5
2014-12-29 06:50:24 +00:00
Spoike
47d4dbb633 attempt to statically link against scintilla.
git-svn-id: https://svn.code.sf.net/p/fteqw/code/trunk@4809 fc73d0e0-1445-4013-8a0c-d673dee63da5
2014-12-29 06:39:57 +00:00
Spoike
c1e991f31c hide console while updating packages.
fix rate indicator with http downloads.
fix gamedir change crash.
force r_shadow_realtime_world_lightmaps to 0 if there are no rtlights on the map (to work around TF/etc maps where such 'useless' entities got stripped).
tweak profile lists to be slightly more verbose.
add extra parms to fteextensions.qc, so that people realise that fte actually supports that.

git-svn-id: https://svn.code.sf.net/p/fteqw/code/trunk@4808 fc73d0e0-1445-4013-8a0c-d673dee63da5
2014-12-29 02:35:10 +00:00
Spoike
dddee3d76c rewrote some master server code to isolate games.
servers will subscribe to both ipv4 and ipv6 addresses if a master's name resolves to both types.
handle filename security more cautiously.
avoid some wasted memory with q3bsps. fix crashing bug in dedicated servers.
try fixing OMC's latest issue.

git-svn-id: https://svn.code.sf.net/p/fteqw/code/trunk@4803 fc73d0e0-1445-4013-8a0c-d673dee63da5
2014-12-23 15:26:42 +00:00
Spoike
4d9ee2395a warn clients when stuff will be invisible due to protocol limits. this does not include extra features, only limits.
try to handle mvd prespawning a little more generically, to enable support for vweps (when protocol extensions are active). also fix issues with mid-demo map changes, which can potentially affect qtv streams.

git-svn-id: https://svn.code.sf.net/p/fteqw/code/trunk@4795 fc73d0e0-1445-4013-8a0c-d673dee63da5
2014-12-02 02:00:41 +00:00
Spoike
9881bc3dd7 fix makefile issue
git-svn-id: https://svn.code.sf.net/p/fteqw/code/trunk@4759 fc73d0e0-1445-4013-8a0c-d673dee63da5
2014-10-05 20:47:03 +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
25d470bffb Try to fix some linux issues.
git-svn-id: https://svn.code.sf.net/p/fteqw/code/trunk@4756 fc73d0e0-1445-4013-8a0c-d673dee63da5
2014-09-21 03:35:38 +00:00
Spoike
b29c68ef92 try to be more strict/paranoid with cvars.
load q2 game dlls from the binarydir in preference to gamedir (allows such dlls to be distributed with the engine).
add small emscripten msvc project so I can build the web port a little more conveniently.
require mouse releases to have had a corresponding mouse press while in the menu. this solves issues with mouse clicks triggering the load menu while dead and instantlyish loading one, and alt-tab issues too.

git-svn-id: https://svn.code.sf.net/p/fteqw/code/trunk@4755 fc73d0e0-1445-4013-8a0c-d673dee63da5
2014-09-20 04:11:39 +00:00
Spoike
c6b8617d87 try to statically link sdl+vorbisfile+etc+png+jpeg for mac, in case I pester tuna in the future.
git-svn-id: https://svn.code.sf.net/p/fteqw/code/trunk@4741 fc73d0e0-1445-4013-8a0c-d673dee63da5
2014-09-02 04:00:45 +00:00
Spoike
230ce4e0a0 updated mapcluster mode a little, should be more robust now. also supports cross-server events.
added option for softer/wider lines.
attempt to use hardware cursors in windows. provide api for csqc to specify its own.
cl_downloads cvar blocks all automatic downloads.
QUAKETC: new compile-time setting. if defined lots of stuff will be disabled including built in menus.
remove spam from log files.
try to get the webgl port to complain a bit more reliably when webgl is not usable.

git-svn-id: https://svn.code.sf.net/p/fteqw/code/trunk@4738 fc73d0e0-1445-4013-8a0c-d673dee63da5
2014-09-02 02:44:43 +00:00
Spoike
258a4163ae random hacks to get rtshadows working in the gles/webgl port, no longer depend upon GL_ARB_shadow.
gles renderer can use fbos now.
webgl now saves configs+savedgames persistently using localstorage.
misc startup/manifest refinements.
make nacl compile again.
webgl port can now use #stuff to select different manifest files.

git-svn-id: https://svn.code.sf.net/p/fteqw/code/trunk@4733 fc73d0e0-1445-4013-8a0c-d673dee63da5
2014-08-27 08:41:31 +00:00
Spoike
957afd8c3b map command now strips parms+spawnflags. use changelevel if you want to keep that (unlike nq, we still won't kick players).
fix some compiler warnings.
update the emscripten port.
reduce bss a little (as emscripten blatently can't cope with it)
support for '_wateralpha'. also support for cvar_foo too.
demo_jump works in nq demos.

git-svn-id: https://svn.code.sf.net/p/fteqw/code/trunk@4732 fc73d0e0-1445-4013-8a0c-d673dee63da5
2014-08-25 07:35:41 +00:00
Spoike
1c38e52b3f kill svmodel.c from the makefile too.
git-svn-id: https://svn.code.sf.net/p/fteqw/code/trunk@4669 fc73d0e0-1445-4013-8a0c-d673dee63da5
2014-05-23 02:14:36 +00:00
Spoike
1c0373ae97 add headless renderer to make onemanclan happy. ish.
git-svn-id: https://svn.code.sf.net/p/fteqw/code/trunk@4645 fc73d0e0-1445-4013-8a0c-d673dee63da5
2014-04-24 01:56:00 +00:00
Spoike
2e98386da2 Added pm_watersinkspeed cvar.
Misc bugfixes, mostly hexen2-related. tibet5 bug is finally fixed.

git-svn-id: https://svn.code.sf.net/p/fteqw/code/trunk@4635 fc73d0e0-1445-4013-8a0c-d673dee63da5
2014-04-06 15:16:39 +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
7e80062ab9 Added x11 unicode input support. Added wayland support (FTE_TARGET=linux-wayland). Added properly support for rpi+egl (FTE_TARGET=linux-rpi, warning: expects to cross-compile).
git-svn-id: https://svn.code.sf.net/p/fteqw/code/trunk@4622 fc73d0e0-1445-4013-8a0c-d673dee63da5
2014-03-30 00:39:37 +00:00
Spoike
8f6c1a3e92 fix misc junk that was buggy. hurrah for handy test cases.
q3 shader remapping now a bit more robust.
portals finally work properly.

git-svn-id: https://svn.code.sf.net/p/fteqw/code/trunk@4610 fc73d0e0-1445-4013-8a0c-d673dee63da5
2014-02-14 09:59:32 +00:00
Spoike
fd70ec0c62 fix misc warnings.
add support for q3's shader remapping feature.
don't mask sky depth on q3bsp. apparently it causes problems.

git-svn-id: https://svn.code.sf.net/p/fteqw/code/trunk@4609 fc73d0e0-1445-4013-8a0c-d673dee63da5
2014-02-13 23:54:57 +00:00
Spoike
13b586ea06 Tweaked svn stuff a little more. Should be more robust now. 3rd party SVN headers+libs are no longer on svn.
git-svn-id: https://svn.code.sf.net/p/fteqw/code/trunk@4605 fc73d0e0-1445-4013-8a0c-d673dee63da5
2014-02-09 09:25:28 +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
591b848148 trying improve ftedroid and fix the issue with opera+file urls.
git-svn-id: https://svn.code.sf.net/p/fteqw/code/trunk@4558 fc73d0e0-1445-4013-8a0c-d673dee63da5
2013-12-07 00:30:48 +00:00
Spoike
d75ef8869e add a default autoexec.cfg for android at mushi's request.
add temp(ish) workaround for non-functioning tmpfile libc function on android.
clarified the error message displayed when tmpfile fails.

git-svn-id: https://svn.code.sf.net/p/fteqw/code/trunk@4554 fc73d0e0-1445-4013-8a0c-d673dee63da5
2013-12-03 15:15:50 +00:00
Spoike
218006198d fix q2 bsp texture animations.
fix q2 prediction.
fix q2 saved games issues.
fix q2bsp fullbright/fullwhite lights.
fix potential issues from svs.clients no longer being preallocated.
fix rtlights not doing q1 bsp texture animations.
misc crash fixes.
hack to allow a clickable hud when using a touchscreen.
gl_max_size no longer affects 2d images.
select faithful fps preset option by default.
gl_font a,b,c works to select fallback fonts. freetype fonts reused to reduce memory usage when the same font is used multiple times either with different sizes or as fallbacks as part of other fonts.
allow static member functions. allow static locals.


git-svn-id: https://svn.code.sf.net/p/fteqw/code/trunk@4552 fc73d0e0-1445-4013-8a0c-d673dee63da5
2013-12-02 14:30:30 +00:00
Spoike
52a682bc8c misc tweaks to support:
opening (qtv) urls with android browser. mvds should stream using the same mechanism, if they have the right mime type.
arbitrary unicode basedirs in windows should work, and commandlines. not sure what else still doesn't work.


git-svn-id: https://svn.code.sf.net/p/fteqw/code/trunk@4542 fc73d0e0-1445-4013-8a0c-d673dee63da5
2013-11-28 01:41:55 +00:00
Spoike
ad8d634916 misc tweaks to support:
opening (qtv) urls with android browser. mvds should stream using the same mechanism, if they have the right mime type.
arbitrary unicode basedirs in windows should work, and commandlines. not sure what else still doesn't work.


git-svn-id: https://svn.code.sf.net/p/fteqw/code/trunk@4539 fc73d0e0-1445-4013-8a0c-d673dee63da5
2013-11-28 00:45:22 +00:00
Spoike
32dacf7492 upgrade to nacl sdk 31 in an attempt to stop chrome from erroring out.
git-svn-id: https://svn.code.sf.net/p/fteqw/code/trunk@4531 fc73d0e0-1445-4013-8a0c-d673dee63da5
2013-11-22 03:09:06 +00:00
Spoike
ef8a74fe1c grr
git-svn-id: https://svn.code.sf.net/p/fteqw/code/trunk@4527 fc73d0e0-1445-4013-8a0c-d673dee63da5
2013-11-21 23:29:24 +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
47fa0b93d2 nacl tweaks to get it working again.
git-svn-id: https://svn.code.sf.net/p/fteqw/code/trunk@4519 fc73d0e0-1445-4013-8a0c-d673dee63da5
2013-11-06 21:55:56 +00:00
Spoike
d832b24d09 qcc debug builds were getting written to the release dir.
git-svn-id: https://svn.code.sf.net/p/fteqw/code/trunk@4517 fc73d0e0-1445-4013-8a0c-d673dee63da5
2013-11-05 18:12:18 +00:00
Spoike
07c93d76af favour mingw64 toolchain over the older mingw32 toolchain, because the headers associated with the toolchain are more up to date.
git-svn-id: https://svn.code.sf.net/p/fteqw/code/trunk@4498 fc73d0e0-1445-4013-8a0c-d673dee63da5
2013-10-08 16:49:42 +00:00
Spoike
5bb896392f git-svn-id: https://svn.code.sf.net/p/fteqw/code/trunk@4489 fc73d0e0-1445-4013-8a0c-d673dee63da5 2013-09-30 00:03:16 +00:00
Spoike
dad407a8c3 hide our internals properly, to avoid issues with symbol name conflicts (which is currently crashing quake2 gamecode). Why the fuck this option isn't enabled by default I have no idea.
git-svn-id: https://svn.code.sf.net/p/fteqw/code/trunk@4486 fc73d0e0-1445-4013-8a0c-d673dee63da5
2013-09-29 17:07:57 +00:00
Spoike
07190feda6 git-svn-id: https://svn.code.sf.net/p/fteqw/code/trunk@4457 fc73d0e0-1445-4013-8a0c-d673dee63da5 2013-08-07 14:24:04 +00:00
Spoike
3b51dae2c9 misc fixes/tweaks/stuff intended to get the emscripten port working better.
git-svn-id: https://svn.code.sf.net/p/fteqw/code/trunk@4456 fc73d0e0-1445-4013-8a0c-d673dee63da5
2013-08-07 14:20:24 +00:00