Commit Graph

36 Commits

Author SHA1 Message Date
Spoike db2c378fa0 centerprints with links now show cursors.
q2 temp entity tweaks. still more work to be done.
support sRGB (mostly)properly in gl+vk+d3d9+d3d11.
vulkan tweaks - multisample works under certain conditions. additional other changes to comply... cvars to enable some other device extensions.
removed r_viewleaf. now using clusters for q1 too.
improved compat with quakespasm's sky command.
Added vid_winthread cvar, to handle window messages on a separate thread. When set this allows the game to keep redrawing when the user is resizing the window etc.
Finally added renderers option to menusys.

git-svn-id: https://svn.code.sf.net/p/fteqw/code/trunk@5130 fc73d0e0-1445-4013-8a0c-d673dee63da5
2017-07-28 01:49:25 +00:00
Spoike 776b8f6565 Added .dz playback support.
demo menu now properly lists the contents of archives.
demos played from subdirs/archives can now chain properly.
autodetect nehahra's demos. Add -nehahra argument to register/override cvar defaults (and set the right gamedir+startmap).
fix some q2 download bugs.
lame attempt at proper sRGB support (gl+vk+d3d9+d3d11 renderers).
fix q3bsp wrong-lightmaps bug.
match DP's viewzoom behaviour by not applying it when VF_[A]FOV was explicitly used.
fix d3d9 issue with missing textures screwing up blend modes.
vk: use a staging buffer instead of a staging textures per mip.

git-svn-id: https://svn.code.sf.net/p/fteqw/code/trunk@5128 fc73d0e0-1445-4013-8a0c-d673dee63da5
2017-07-12 08:15:27 +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 a26a373d15 fixed picmip simpleitems issue.
fixed double picmip bug.
use pbos for videocapture, for extra speed. mwahaha.
fix issues with 2d batching. including drawflags.

git-svn-id: https://svn.code.sf.net/p/fteqw/code/trunk@4962 fc73d0e0-1445-4013-8a0c-d673dee63da5
2015-08-14 02:46:38 +00:00
Spoike 667e8dec10 add geometry shader support. because why not.
bind command now makes it a bit easier to edit the binding. and any alias.
autoid tweaks.
slightly better q1qvm/ktx support. extend the api a little.

git-svn-id: https://svn.code.sf.net/p/fteqw/code/trunk@4927 fc73d0e0-1445-4013-8a0c-d673dee63da5
2015-07-01 23:15:25 +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 0077b87d02 support for gl4 tesselation shaders. glsl code is available separately.
git-svn-id: https://svn.code.sf.net/p/fteqw/code/trunk@4788 fc73d0e0-1445-4013-8a0c-d673dee63da5
2014-11-05 06:00:51 +00:00
Spoike a1c2689d1f support for gl4 tesselation shaders. glsl code is available separately.
git-svn-id: https://svn.code.sf.net/p/fteqw/code/trunk@4787 fc73d0e0-1445-4013-8a0c-d673dee63da5
2014-11-05 05:54:29 +00:00
Spoike 5a33efb14e support for gl4 tesselation shaders. glsl code is available separately.
git-svn-id: https://svn.code.sf.net/p/fteqw/code/trunk@4786 fc73d0e0-1445-4013-8a0c-d673dee63da5
2014-11-05 05:39:24 +00:00
Spoike 1b64a9c9c4 tweak demo playback to not have extra penalties, and closer sync.
fix occasional vid_restart crash.
fix dynamic rtlight memory leak.
tweak some gl robustness things, so we can throw away the gl context and restart video cleanly if the drivers decide to randomly crash us. grr. dodgy drivers/hardware are annoying.

git-svn-id: https://svn.code.sf.net/p/fteqw/code/trunk@4775 fc73d0e0-1445-4013-8a0c-d673dee63da5
2014-10-22 19:41:20 +00:00
Spoike 97579ebfbb bugfixes:
hexen2 players now have colourmaps again. doesn't crash with rgb player colours.
hexen2 colour previews now work (as well as they did in actual hexen2, anyway)
fix possible issue with 'bad type - needs fixing'
color command now longer omits 0 values when displaying.
readded support for all hexen2 palette lookup types.
fixed some hexen2 image positions.
using premultiplied alpha for pics as an easy fix for hexen2's various ugly halos.
the checkerboard texture is back!
fix q1 maps that have more than 32k clipplanes.
new features:
when associated with mdl etc file extensions, now opens up the modelviewer. also potentially changes gamedir (this applies to bsps too).
multiplayer setup menu now supports selecting rgb colours (lower colour remains with the 14 team colours). press shift for the normal/hue colour selection instead. 
attempt to use bgra for texture uploads by default where available. reimplement possible support for 16bit textures.
attempt to implement gamepad support for web port. untested, but should be completeish.

git-svn-id: https://svn.code.sf.net/p/fteqw/code/trunk@4764 fc73d0e0-1445-4013-8a0c-d673dee63da5
2014-10-11 19:39:45 +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 ffc2a08589 pass network addresses around as a pointer rather than as a struct. They've grown quite a bit from vanilla code and can now be quite large. this should give more efficient network filtering+matching.
Added version+time+date to segfault lots.
try to use vbo+vao as needed.
added a manifest file in order to disable uac emulation and its virtual store lies.
particles now support a sort of namespace. eg: an effect called "cfg.effect" will load up the 'cfg' particle config and use its 'effect' effect (but not replace any explicit effects). You can still create particle effects called 'cfg.effect' with no issue.
Added support for fsarchive plugins.
Added a sys_register_file_associations command. .bsp not yet handled, but demo playback should work fine.

git-svn-id: https://svn.code.sf.net/p/fteqw/code/trunk@4324 fc73d0e0-1445-4013-8a0c-d673dee63da5
2013-05-03 04:28:08 +00:00
Spoike 89da43fe5c ------------------------------------------------------------------------
r4247 | acceptthis | 2013-03-08 02:53:53 +0000 (Fri, 08 Mar 2013) | 1 line

GL_DEPTH_COMPONENT missing on android.
------------------------------------------------------------------------


git-svn-id: https://svn.code.sf.net/p/fteqw/code/trunk@4243 fc73d0e0-1445-4013-8a0c-d673dee63da5
2013-03-12 23:19:00 +00:00
Spoike d248ce223f added support for persistent particle effects in hexen2.
tweaked shutdown of sql to not make sql unusable after 'disconnect' on a listen server, fixed a couple of mem leaks.
audio no longer starts up twice in windows.
removed specular permutation. its either globally active or globally inactive.
Use oblique near-plane clipping instead of a clipplane, fixing our rtlighting+water warping.

git-svn-id: https://svn.code.sf.net/p/fteqw/code/trunk@4156 fc73d0e0-1445-4013-8a0c-d673dee63da5
2012-11-29 13:37:48 +00:00
Spoike 4db8b46c4b implement ripplemaps. currently requires explicit mod support to use properly.
fix hexen2 conchars
fix audio sample mixups
fix recent beam-related crashes.
added orthographic bsp culling routines.
fix crash on vid_restart.

git-svn-id: https://svn.code.sf.net/p/fteqw/code/trunk@4050 fc73d0e0-1445-4013-8a0c-d673dee63da5
2012-05-14 01:41:08 +00:00
Spoike d877bd4e39 preliminary attempt to get rtlights in d3d builds. shadows are only cast by world, and the hlsl code is somewhat lacking. also only works in d3d-only builds.
no longer using the vfw header or lib, so avi playback/recording should work when compiled with gcc.
added d_mipcap cvar.

git-svn-id: https://svn.code.sf.net/p/fteqw/code/trunk@3944 fc73d0e0-1445-4013-8a0c-d673dee63da5
2012-01-01 02:26:42 +00:00
Spoike 9df0a4c2d4 workaround for mesa.
git-svn-id: https://svn.code.sf.net/p/fteqw/code/trunk@3927 fc73d0e0-1445-4013-8a0c-d673dee63da5
2011-12-06 00:34:31 +00:00
Spoike d6d0105d3c A couple of changes.
Added a higher quality particle config.
Quick hack for crepuscular rays.
added new command, eg: pr_dumpplatform -FFTE -O csplat
used package reporting on servers, auto package downloading on clients, should be fully implemented.
Smoothed out players a little. Added option to menus.

git-svn-id: https://svn.code.sf.net/p/fteqw/code/trunk@3926 fc73d0e0-1445-4013-8a0c-d673dee63da5
2011-12-05 15:23:40 +00:00
Spoike f33873ddb7 committing for fixes for OMC
some minor changes. Mostly bug fixes and internal reorganisation.
Added code to provide an activex control as part of the npfte.dll plugin. If the dll is registered the regsvr32 way, the plugin can be used with IE as well.
fisheye/panoramic view enable is now controlled by rulesets instead of serverinfo.
server will list all pak files it has loaded. client will probably do the wrong thing and still needs fixing properly.

git-svn-id: https://svn.code.sf.net/p/fteqw/code/trunk@3910 fc73d0e0-1445-4013-8a0c-d673dee63da5
2011-10-27 16:16:29 +00:00
Spoike 4b27934867 Basic Android support. Icon resources still need to be replaced. No sound, no accelerometer.
git-svn-id: https://svn.code.sf.net/p/fteqw/code/trunk@3901 fc73d0e0-1445-4013-8a0c-d673dee63da5
2011-09-16 05:56:54 +00:00
Spoike 5a7f34bd50 Couple of tweeks, breakages, and fixes.
git-svn-id: https://svn.code.sf.net/p/fteqw/code/trunk@3898 fc73d0e0-1445-4013-8a0c-d673dee63da5
2011-09-05 01:48:23 +00:00
Spoike ce07219448 Fixes, workarounds, and breakages. Hexen2 should work much better (-hexen2 says no mission pack, -portals says h2mp). Started working on splitting bigcoords per client, far too much work still to go on that. Removed gl_ztrick entirely. Enabled csprogs download by default. Added client support for fitzquake's 666 protocol, needs testing, some cleanup for dp protocols too, no server support, couldn't selectively enable it anyway. Now attempting to cache shadow meshes for explosions and stuff. Played with lightmaps a little, should potentially run a little faster on certain (intel?) cards. Tweeked npfte a little to try to avoid deadlocks and crashes. Fixed sky worldspawn parsing. Added h2mp's model format. Fixed baseline issue in q2 client, made servers generate q2 baselines. MOVETYPE_PUSH will not rotate extra if rotation is forced. Made status command show allowed client types. Changed lighting on weapons - should now be shaded.
git-svn-id: https://svn.code.sf.net/p/fteqw/code/branches/wip@3572 fc73d0e0-1445-4013-8a0c-d673dee63da5
2010-08-11 03:36:31 +00:00
Spoike 66b78c0b11 Work In Progress branch.
In this version: replacement GL backend. Replacement D3D backend sharing code with GL. Lots of code reorganisation.

git-svn-id: https://svn.code.sf.net/p/fteqw/code/branches/wip@3401 fc73d0e0-1445-4013-8a0c-d673dee63da5
2009-11-04 21:16:50 +00:00
Spoike a80214290d Oh noes! Everything is broken!
Rewrote much of the console code. Should be no obvious differences.
Nearly all conchar parsing goes via a single function. Still some left in the dedicated server code.
Added the ability to parse utf-8 text, disabled by default.
Added the ability to input unicode chars using whatever keymap the user has set up in windows (not enabled by default).
Reworked vbo stuff to be a little more versatile.
Added toggle console command.
Added freetype2 support (not compiled by default).

git-svn-id: https://svn.code.sf.net/p/fteqw/code/trunk@3234 fc73d0e0-1445-4013-8a0c-d673dee63da5
2009-07-05 18:45:53 +00:00
Spoike 9cd988a836 Added csqc->ssqc requests.
Fixed up cl_indepphysics. Sending is fully independent, bar sync points.
Fixed so #if 0 works in qc code.
Fixed up error conditions in qclib when features are not supported.
The webpage generator will now refcount properly.
Fixed error conditions when using glsl shaders.
If MULTITHREAD is defined, r_loadlit will not light inside a separate thread.
We now generate VBOs for bsp objects. Shaders/rtlights don't use them yet.
Fixed up MVD/multiview playback a bit. It now looks like it works! (cl_hightrack will no longer track the same person in all views).
Fixed error conditions when attempting to download versioned csprogs.
Reduced the number of places that a q3-style marked up string is expanded. I think there are a couple places left still though. Approximated ezquake colour codes.
Memory mapped read file access in win32, where we can. Not sure about this. Lets see how things pan out.

git-svn-id: https://svn.code.sf.net/p/fteqw/code/trunk@3195 fc73d0e0-1445-4013-8a0c-d673dee63da5
2009-05-24 10:11:17 +00:00
Lance 41a92be8b2 Defined GL_BGRA_EXT so morphos and macosx crosscompilers can do the OpenGL targets again
git-svn-id: https://svn.code.sf.net/p/fteqw/code/trunk@3058 fc73d0e0-1445-4013-8a0c-d673dee63da5
2008-11-12 12:05:29 +00:00
Lance 20ef474862 fixed msvc6 warnings
git-svn-id: https://svn.code.sf.net/p/fteqw/code/trunk@1895 fc73d0e0-1445-4013-8a0c-d673dee63da5
2006-01-27 08:06:48 +00:00
Lance eae50d7bf6 Anisotropic Texture Filtering
git-svn-id: https://svn.code.sf.net/p/fteqw/code/trunk@1653 fc73d0e0-1445-4013-8a0c-d673dee63da5
2005-12-01 11:20:19 +00:00
Spoike c2930803d4 hopefully, everything will work that little bit better.
git-svn-id: https://svn.code.sf.net/p/fteqw/code/trunk@1072 fc73d0e0-1445-4013-8a0c-d673dee63da5
2005-06-04 04:20:20 +00:00
Spoike a952965761 Someone's header file doesn't include these.
git-svn-id: https://svn.code.sf.net/p/fteqw/code/trunk@848 fc73d0e0-1445-4013-8a0c-d673dee63da5
2005-01-28 04:27:44 +00:00
KrimZon 4b60b739f7 Added GL_ARB_shader_objects extension code in glsupp.h
Added init of the used functions to GL_CheckExtensions and some functions for the simplifying api to gl_vidcommon.c
Added the function declarations and other defines for that interface to glquake.h


git-svn-id: https://svn.code.sf.net/p/fteqw/code/trunk@723 fc73d0e0-1445-4013-8a0c-d673dee63da5
2005-01-04 23:34:42 +00:00
Spoike 4f36d50f60 Few bug fixes and some q3 compatable shaders.
git-svn-id: https://svn.code.sf.net/p/fteqw/code/trunk@354 fc73d0e0-1445-4013-8a0c-d673dee63da5
2004-10-19 16:10:14 +00:00
Spoike db58b57cf8 GL_SGIS_generate_mipmap added
git-svn-id: https://svn.code.sf.net/p/fteqw/code/trunk@314 fc73d0e0-1445-4013-8a0c-d673dee63da5
2004-10-07 13:14:42 +00:00
Spoike c0c2130978 Adding stuff like specular highlights - required changes to texture loading to prevent gamma adjustments on all textures.
git-svn-id: https://svn.code.sf.net/p/fteqw/code/trunk@203 fc73d0e0-1445-4013-8a0c-d673dee63da5
2004-09-13 03:20:04 +00:00
Spoike 8aa0eee611 Initial checkin of OpenGL renderer
git-svn-id: https://svn.code.sf.net/p/fteqw/code/trunk@6 fc73d0e0-1445-4013-8a0c-d673dee63da5
2004-08-22 22:29:09 +00:00