myT
718b966414
depth fade fixes and improvements
...
- renamed r_softSprites to r_depthFade
the term's more descriptive and it helps that UE4 uses it
- fixed the GL3 fragment shader halving the depth bias
- fixed the D3D11 pixel shader only fetching depth sample 0
not fixed for GL3 yet, see the code comments for that
- added support for more blend states
- added the q3map_cnq3_depthFade general shader directive
2020-04-26 16:32:51 +02:00
myT
a59875200c
fixed the D3D11 back-end sometimes colorizing mip level 0 with r_gpuMipGen 1 and r_colorMipLevels 0
...
it happened because the color channels for blendColor weren't initialized,
that memory could have at least one channel initialized as a NaN value and
throwing a NaN in the shader logic would break it
2020-04-16 05:24:11 +02:00
myT
a5e28eb08f
added r_transpSort and we can now sort all surface types by depth
...
also fixed up RE_AddPolyToScene's overflow check
2020-04-16 05:01:48 +02:00
myT
0fcd462244
improved the map download initiation logic and updated the CNQ3 map server addresses
2020-04-06 03:46:14 +02:00
myT
4e9d0ad709
fixed the soft sprite status console print always saying it's "ON" with GL3 and D3D11
2020-04-05 06:40:34 +02:00
myT
a5b6ee33da
made more keys bindable on Linux/FreeBSD and /bind now accepts uppercase hex digits
2020-04-04 03:20:03 +02:00
myT
d5984db690
removed r_nobind and r_showImages, wrote help etc. for the renderer's other temp/cheat CVars
2020-04-02 05:06:00 +02:00
myT
546296e6ef
fixed r_showsky and cleaned up the related GAL code
2020-04-02 04:50:12 +02:00
myT
24e6cd9277
GL3 can now print shader compile/link warnings even when successful with r_verbose 1
2020-04-02 04:40:12 +02:00
myT
e013893c1b
fixed GL3 generic program link issue due to variable type qualifier mismatches (centroid vs not)
...
this problem proved fatal on some Intel drivers
2020-04-02 04:37:03 +02:00
myT
9e061c4aff
increased the small zone's size
2020-03-30 03:55:21 +02:00
myT
89aca4069e
now fixing up the CVar hash table in Cvar_Nuke
2020-03-30 03:09:25 +02:00
myT
ae30c5a311
r_mapBrightness can now be used with r_fullbright for lightmapped surfaces
2020-02-27 05:26:19 +01:00
myT
69d6cdf42b
fixed r_detailTextures 0 messing up shaders
2020-02-27 05:22:06 +01:00
myT
f773d2a783
fixed dynamic light face culling using the untransformed (world-space) light position
2020-02-26 23:01:28 +01:00
myT
7b01f8b8d3
fixed a bunch of variable shadowing cases and removed unused variables
2020-02-24 01:52:29 +01:00
myT
36f363b47a
D3D11 tweaks, added r_d3d11_presentMode, removed r_d3d11_maxQueuedFrames
...
the D3D11 tweaks:
- better error message formatting
- D3DDDIERR_DEVICEREMOVED from Present is a fatal error too
- synchronized offsets is always the automatic behavior for now
it turns out that split mode isn't always the fastest for nVidia
2020-02-24 01:48:43 +01:00
myT
85583acc9c
dynamic lights apply to even more surfaces and have a nicer fall-off
...
- ditched vertex colors (not wanted) and alpha tests (not needed) in the shaders
- using a Bezier fall-off to get much softer edges
- added no-depth-write transparent surfaces support by adjusting the depth test
- multiplying the diffuse texture's color by its alpha in non-opaque passes
- fixed triangle rejection based on cull type and normal direction
- reflecting normals in shaders to support two-sided surfaces
- rejecting surfaces with no diffuse stage or bad blend states as early as possible
- liquids get lit weaker than other surfaces
2020-02-21 08:26:12 +01:00
myT
8ef496d22b
reverting to old code for .tga image decoding, but with tweaks and fixes
...
the problem is that stb_image can and will allocate much more than it needs to
e.g. for a 2048x2048 BGR image:
it allocates an unnecessary intermediate 12 MB buffer to decode the image
instead of decoding it directly into the final 16 MB RGBA buffer
the old CNQ3 code didn't decode greyscale properly because of a missing macro call
it also didn't range-check memory accesses at all
2020-02-18 04:42:28 +01:00
myT
8a1d1c539b
Escape down in cgame triggers CG_EVENT_HANDLING again instead of CG_KEY_EVENT
...
with that, CPMA demo playback and /protect work as intended again
2020-02-09 04:25:31 +01:00
myT
ca9757082f
r_colorMipLevels disables MSAA when centroid sampling would be used
...
this is because it would draw (parts of) geometric edges with different colors and that makes visual inspections annoying
also, final MSAA sample counts are always reported by GL3 and GL2 now
2020-02-05 03:43:19 +01:00
myT
c72c8d5ad7
fixed r_fastsky handling in the GL3 renderer back-end
2020-01-19 22:38:35 +01:00
myT
01ce4063b5
added r_lightmapGreyscale
...
thanks to Jakub 'kubaxvx' Matraszek for his contribution
2020-01-12 23:03:54 +01:00
myT
e91f6e1c08
re-added r_textureMode to keep GL_NEAREST compatibility
2020-01-12 23:03:41 +01:00
myT
f36392c128
fixed r_lightmap affecting non-opaque surfaces
2020-01-09 23:09:39 +01:00
myT
9366ee5130
fixed r_picmip incorrectly applying to external lightmap atlases
2020-01-07 22:54:48 +01:00
myT
7d526ba6fc
added FreeBSD support
2020-01-06 01:04:16 +01:00
myT
b2445488a4
partial D3D11 init and shutdown for OBS' benefit
...
- OBS' game capture plug-in can't handle swap chains changing while capture is active
- loading a map and disconnecting will no longer break the capture
- vid_restart will still break the capture
2019-12-26 16:30:07 +01:00
myT
e16804a0cb
fixed A2C by making sure we use the absolute values of the derivatives
2019-12-26 16:26:12 +01:00
myT
9cb02a32bf
searching for valid sample counts for MSAA in GL2 and GL3 instead of failing
2019-12-26 16:24:22 +01:00
myT
a89a2e3ead
MSAA centroid interpolation mode for GL3 and D3D11 to prevent artifacts
...
this helps mostly to avoid lightmap tile leaks with MSAA
2019-12-26 16:20:41 +01:00
myT
4968bfca6d
crash and drawing fixes for r_shownormals, r_showtris and r_debugSurface
...
- preventing crashes and drops with r_shownormals
- fixed the colors of r_showtris, r_shownormals and r_debugSurface
- simplified the overflow macro
2019-12-26 16:16:30 +01:00
myT
0cbfe60d86
fixed hyperspace rendering
2019-11-12 04:23:49 +01:00
myT
cb0ef3aab8
fixed OpenGL version checks and FBO support checks
2019-11-12 04:22:36 +01:00
myT
2dcddc87eb
always disabling the FPS limiter after drop errors
2019-11-12 04:19:31 +01:00
myT
c024cdcdc9
fixed a crash due to lack of memory for the sound system
2019-09-25 05:59:17 +02:00
myT
7939488266
fixed incorrect state bits for shaders when loading a map with no lighting
2019-09-25 05:35:45 +02:00
myT
0087c2bf14
fixed fog-only shaders being recognized as sky shaders
2019-09-25 05:34:22 +02:00
myT
8ee79c7b9e
added r_rtColorFormat to select the color format for render targets
...
fixed FindBestAvailableAA not testing the depth/stencil format
2019-09-25 05:31:55 +02:00
myT
c5192d49b7
using the roundss SSE4.1 instruction for inlining floor and ceil syscalls when possible
...
fixed sharedTraps_t listing syscalls that were not actually at the same index for all 3 VMs
2019-09-25 05:29:36 +02:00
myT
1115cb39b0
added pattern matching filtering to /modellist /skinlist /imagelist /shaderlist
2019-09-25 05:29:13 +02:00
myT
db4fb31658
added OpenGL 3.2 and Direct3D 11 renderer back-ends
2019-09-25 05:25:59 +02:00
myT
6f3908ceaa
completely removed flare support
2019-09-25 05:21:01 +02:00
myT
837073be62
removed bg_public.h
2019-09-25 05:15:14 +02:00
myT
b406564962
added copyright notices to important new files
2019-09-25 05:14:58 +02:00
myT
983b53cbbb
SSE2 instruction set support is now required
2019-09-25 05:14:36 +02:00
myT
39af360fdc
removed FreeType and the R_REGISTERFONT syscalls
2019-09-25 05:14:07 +02:00
myT
c44b13ad90
when faces have short normals, we compute new unit-length normals
2019-09-25 05:13:39 +02:00
myT
3ae1abd69e
removed dead code (NEWLINE macro)
2019-09-25 05:12:28 +02:00
myT
2d806401eb
setting a cvar back to its default frees the latched string
2019-09-25 05:12:05 +02:00
myT
30c8990d6b
fixed sdl_UpdateMonitorIndexFromWindow
...
made r_monitor 0-based on Linux
the concept of primary monitor isn't universal on Linux
2019-09-25 05:11:01 +02:00
myT
5e4d41df8e
1.51 release
2019-03-31 01:05:03 +01:00
myT
baa6eb2cc4
added .shader to the pure client file read exception list
2019-03-29 23:34:37 +01:00
myT
08b5d6bf57
r_lodCurveError is now archived and no longer cheat-protected
...
the new default also looks a lot less terrible
2019-03-28 22:10:22 +01:00
myT
e5e9bd8d28
fixed shader stage collapsing happening in cases where it shouldn't
2019-03-19 17:50:32 +01:00
myT
afb9b725e9
fixed lightmap texture coordinates in all cases
2019-03-19 17:47:19 +01:00
myT
b089166978
now showing the cvar's current value in the help panel
2019-02-21 17:15:55 +01:00
myT
c75caeb98e
added control/shift + left/right arrow field navigation
2019-02-21 17:14:45 +01:00
myT
b3456d0a10
added the ctrl-i and ctrl-d console shortcuts
2019-02-21 17:11:29 +01:00
myT
3305c6f515
improved multi-monitor support
...
- /monitorlist
- the monitor list gets updated during video restarts and by /monitorlist
- Linux > r_monitor is now 0-based and monitors are sorted top-to-bottom, left-to-right
- Windows > the Windows + shift + left/right arrow key shortcuts should be ok to use
2019-02-20 20:52:34 +01:00
myT
e42c05dfc8
removed the unused alt-tab blocking code for Windows
2019-02-19 19:43:22 +01:00
myT
51809f8276
fixed incorrect LPARAM type casts in the WM_MOVE handler (the coordinates are signed)
2019-02-19 18:51:44 +01:00
myT
7a83c0d6c4
fixed developer warnings for image reuse with mixed settings
2019-02-19 18:40:03 +01:00
myT
26ccc528d1
map download improvements
...
- numeric addresses as fallbacks
- non-blocking connections
- writing to $(fs_homepath)/baseq3 instead of $(fs_basepath)/baseq3
- only using valid (TCP/stream) addresses from getaddrinfo
- setting send time-outs
- ensuring the destination directory exists
- the renderer no longer messes up the RNG seed
2019-02-14 04:22:45 +01:00
myT
b909f05195
bundling lightmap tiles into texture atlases to improve batching
2018-12-08 23:36:27 +01:00
myT
a26b150c59
faster map loads by limiting the rendering back-end's frame-rate
2018-12-08 22:43:58 +01:00
myT
51cda86421
added the trap_IsRecordingDemo syscall for CPMA 1.52+
2018-12-08 00:55:21 +01:00
myT
2f70685fa3
fixed bitstream string parsing not reading the last byte of max length strings ("q3msgboom")
2018-12-08 00:24:51 +01:00
myT
55ae7645b1
fixed demo playback abortion crashing when the "nextdemo" cvar was set to play a demo
...
also no longer breaking when stopping demo playback because it's annoying as hell
2018-12-08 00:13:45 +01:00
myT
4a848e7b6a
no longer feeding cs commands that came from a previous gamestate to cgame
2018-12-08 00:03:26 +01:00
myT
8ecb5683d1
raised the upper limit of open stdio file handles from 512 to 2048 on Windows
2018-12-07 22:18:17 +01:00
myT
3620da42e4
fixed mouse cursor clipping on Windows
2018-12-07 21:28:22 +01:00
myT
4e32660946
write module file paths in the crash reports' JSON files
2018-12-07 20:48:49 +01:00
myT
a49512abde
fixed requesting 4 samples instead of r_msaa samples
2018-10-05 14:03:02 +02:00
myT
1370e44ae5
added /cvar_add and /cvar_mul
2018-10-05 13:30:20 +02:00
myT
5972f247b1
fixed a bunch of /video and /stopvideo issues
...
chg: /video can only be used during demo playback
fix: broken audio in the output files due to writing the wrong buffer
fix: files sequences have a "_%3d" name suffix of adding an underscore to the extension
fix: using a better supported video codec (FourCC 0x00000000) for raw BGR output
fix: broken raw video output when r_width wasn't a multiple of 4
fix: /stopvideo no longer leaves sound output broken for a while after stopping
2018-09-29 08:22:47 +02:00
myT
a9e7bc7226
fixed cv/callvote completion handlers getting removed at cg shutdown and never added back
2018-09-26 05:28:40 +02:00
myT
067ae10ab5
added /unset, /setempty and sequence support to /toggle
2018-06-03 20:54:45 +02:00
myT
14f5b4e06d
bumped the version number up
2018-02-08 06:43:00 +01:00
myT
2e3f12c9a2
fixed long pk3 entry names causing crashes
...
when an entry was broken, pack_t::buildBuffer and fs_packFiles would end up wrong
2018-02-08 02:44:03 +01:00
myT
7bfc5d9487
using the registered cvar/cmd names in the help panel instead of argument 0
...
cleaned up cmd.cpp with Cmd_FindCommand
2018-02-07 06:51:37 +01:00
myT
005dd46e08
print a warning when trying to create a deprecated cvar
2018-02-07 06:24:45 +01:00
myT
6cafc76e87
the client executable will now write to q3config.cfg on exit
2018-02-07 06:22:44 +01:00
myT
f34c8b5001
fixed demo playback that broke because of incorrect tokenizer usage
...
the breaking commit: c512071f2d
fixed using /demo when running a listen server (would load map and then abort)
2018-02-02 01:15:18 +01:00
myT
e4e68a971c
no longer making local copies of all CS_SYSTEMINFO server cvars
...
this avoids undesired local changes to sv_pure etc
2018-01-29 20:46:39 +01:00
myT
c512071f2d
updating the FS on client disconnects
2018-01-29 20:28:37 +01:00
myT
afe84395c5
fs_reordered is now always set before leaving the FS_ReorderPurePaks function
2018-01-29 20:23:17 +01:00
myT
d3d4746a6b
fixed the condump path argument truncation
2018-01-28 03:45:35 +01:00
myT
c4135557ad
search paths were not getting re-ordered after reconnects
2018-01-25 21:07:58 +01:00
myT
f9cfe48d11
can now pass "/crashreport:yes" and "/crashreport:no" to the Windows executables
...
this will disable the use of message boxes and won't open the crash report directory
2018-01-25 07:25:26 +01:00
myT
ac4928e18d
reworked and unified sleeping
...
reduced client update rate when minimized
fixed timedemo playback
2018-01-25 06:41:30 +01:00
myT
4b99ff0cc5
added the fs_restart command
2018-01-25 05:29:53 +01:00
myT
5ea79f073c
re-ordering the pak list when connected to a pure server
...
this fixes pure listen servers allowing unpure overrides for the owner
2018-01-25 05:25:57 +01:00
myT
b4b3482fd2
lifted the directory scanning restriction that affected pure listen servers
2018-01-25 05:11:33 +01:00
myT
79683b5ab4
removed fs_fakeChkSum, which was always 0
2018-01-25 05:03:49 +01:00
myT
ce46cebce0
during id pak downloads, the time-out is 5 seconds instead of cl_timeout
2018-01-25 04:49:33 +01:00
myT
543a024917
fixed waiting for a snapshot forever when the server disconnects during client connection
2018-01-25 04:36:13 +01:00
myT
3e3c1b2431
the "nextdemo" cvar is now also used when playback stops before reaching the demo's end
2018-01-24 02:19:57 +01:00
myT
eaa376a292
fixed demo playback crashing when delta entities/players had an invalid field count
2018-01-24 01:41:30 +01:00
myT
4fcf0f410e
fixed some botlib strcpy calls with overlapping buffers (UB as per the specs)
2018-01-21 17:29:22 +01:00
myT
4a7f2356ab
mouse motion is no longer forwarded to the mod when the console is down
2018-01-21 17:27:59 +01:00
myT
b7a76b6428
console down with 2+ screens always disables input grabbing
2018-01-21 17:26:18 +01:00
myT
db37f4b8fb
removed the "unfocused client" sleep path from the Windows main loop
2018-01-19 07:10:56 +01:00
myT
608ed06410
more robust crash report directory selection
...
consider the report written if at least 1 file was successfully written to
2018-01-19 07:01:15 +01:00
myT
215d54cafd
fixed the listen server unpause lag / time-out
...
this issue popped up after commit 176aa6a24d
2018-01-19 00:31:48 +01:00
myT
f1bbe75937
fixed the Z and 9 keys not being bindable on Linux
2018-01-18 17:38:45 +01:00
myT
24fac5557c
fixed the connect call always taking the address of the first result from getaddrinfo
2018-01-17 05:50:33 +01:00
myT
04c765f46c
fixed cl_allowDownload 1 using the current directory instead of fs_basepath
2018-01-16 05:20:46 +01:00
myT
c0ab2063d0
passing the 3rd argument to open to please GCC
2018-01-16 04:03:15 +01:00
myT
f5b7c66b5a
on Windows, a fatal error will move the early console window to the foreground
2018-01-16 03:02:59 +01:00
myT
511c7ad2cc
com_hunkMegs doesn't have a maximum value anymore
2018-01-15 21:40:29 +01:00
myT
f16d368775
fixed the Windows crash handler incorrectly considering certain exceptions as fatal
...
real-world example: code 0x6C6 flags 0x1
it was happening because we didn't give the other handlers a real chance to deal with them
2018-01-15 21:19:27 +01:00
myT
176aa6a24d
fixed the jitter due to snapshots piling up with the same server timestamp for loopback and LAN clients
2018-01-15 21:04:55 +01:00
myT
37e2b07e5a
increased the fast map download time-out to 2 seconds
2018-01-07 14:32:12 +01:00
myT
7020abd4a8
sv_pure 1 now allows new image files (no overrides) to be read from directories
...
very useful for CPMA's SuperHUD
2018-01-07 13:58:45 +01:00
myT
515ca0883e
minimizing disables the rendering back-end except for videos/screenshots
...
when minimized, we call the rest of the logic all the same (including the VM calls)
only 1 screenshot command can be issued per frame (i.e. only first one is kept)
2018-01-07 00:03:42 +01:00
myT
95e7407688
fixed glInfo/glConfig getting messed up when minimizing
2018-01-06 23:58:30 +01:00
myT
3cb1fe44a8
ignore q3config.cfg and autoexec.cfg outside fs_gamedir to avoid config poisoning
2018-01-04 19:59:37 +01:00
myT
3b4338db2e
fixed range/default for con_notifytime and r_lodbias
2018-01-04 19:51:29 +01:00
myT
fe60c9e620
always clearing to avoid artifacts in unrendered areas (e.g. CPMA's server info UI)
2017-12-29 22:59:19 +01:00
myT
f084ddb218
cvar type/range fixes
2017-12-28 07:11:58 +01:00
myT
eb7511f4df
out of range cvars get reset if the default is valid
2017-12-28 07:01:14 +01:00
myT
2a2fb8a946
client map download fixes
...
never start a DL when starting a listen server
to see if a map exists on the local FS, check in baseq3/maps too
2017-12-28 05:48:49 +01:00
myT
53d93b1af0
new default values
...
sv_pure 0 for clients - 1 is annoyingly restrictive for a client
s_volume 0.2 - it was so damn loud
com_hunkMegs 128 for clients - to cope with "big" maps
r_msaa 0 - too many players still gaming with toasters
r_gamma 1.2
2017-12-27 07:33:59 +01:00
myT
ca8fb7457b
reduced CPU usage in the client
2017-12-27 05:43:28 +01:00
myT
3c52752dd3
added help panel and colorized help text
...
added con_drawHelp and con_col*
letting the mod know we support the "cap_ExtraColorCodes" extension
con_colText overrides ^7 in the console and the help panel
extended console back scroll arrows all the way
2017-12-27 05:13:33 +01:00
myT
f60ce0d1e8
fixed console/messagemode input buffers ignoring off-screen color modifiers when scrolled
2017-12-25 09:54:45 +01:00
myT
bb4804ba49
allowing timescale 0 again for CPMA demo pauses
2017-12-25 08:51:54 +01:00
myT
26dd67d0d1
fixed the viewport and scissor rectangles
2017-12-23 10:14:44 +01:00
myT
04ebdc63f6
fixes for VC++ platform toolsets v140 and v141
2017-12-20 05:41:04 +01:00
myT
d0878f3807
2 Windows mouse input fixes
...
fixed incorrect clip rectangle
fixed incorrect window center point for in_mouse 2
2017-12-20 02:34:52 +01:00
myT
945cf03af5
fixed color handling and cursor position in console/messagemode input buffers
2017-12-19 03:23:45 +01:00
myT
0f3598820c
small console tweaks
...
show back scroll arrows all the way
leave a margin at the right of the CNQ3 version
2017-12-18 20:45:06 +01:00
myT
2b7c0d56f9
changed 2 cvar names/ranges and fixed the server's time wrap check
...
sv_minRebootDelayMins <mins> -> sv_minRestartDelay <hours>
com_completionStyle -> con_completionStyle
2017-12-14 23:37:23 +01:00
myT
fc07318da5
improved formatting for cvar queries and cvar range warnings
2017-12-14 22:48:38 +01:00
myT
4a296b3361
fixed a memory overflow due to GL_PACK_ALIGNMENT not being set correctly
2017-12-12 22:08:12 +01:00
myT
21dfece12b
fixing up glConfig.vidWidth/Height in windowed mode when receiving WM_SIZE
2017-12-07 00:36:44 +01:00
myT
da62e4c865
screenshotnc extension for the UI QVM
2017-12-05 21:44:00 +01:00
myT
8c45c7aa60
fixed "SCR_UpdateScreen: recursively called" false positives (e.g. after being kicked twice)
2017-12-04 21:01:28 +01:00
myT
b4d78a1bc1
fixed and unified Windows mouse wheel handling
2017-12-04 20:50:45 +01:00
myT
5689cb3d1e
fixed a crash when the number of shader stages was wrong ("brandon" player model)
2017-11-29 19:08:29 +01:00
myT
3ad521544c
fixed Linux uptime code to use 64-bit integers
2017-11-29 18:33:09 +01:00
myT
93950031b9
disabled DPI scaling on the Windows client
2017-11-29 18:29:23 +01:00
myT
8900291f0d
fixed key release of bind '+vstr a b' wrongly executing 'b' when key press didn't execute 'a'
2017-11-29 18:25:09 +01:00
myT
3c4a71faaf
removed the stupid r_mapBrightness subtraction system
2017-11-29 14:20:53 +01:00
myT
8599ddd1b3
including the map's name in download error messages
2017-11-22 22:02:34 +01:00
myT
d1e85d74d0
Linux: added in_focusDelay and ignoring input events when unfocused
2017-11-22 21:47:50 +01:00
myT
120ee7e535
Linux glimp commands only get registered once
2017-11-22 21:36:04 +01:00
myT
339bbea468
command names are no longer case sensitive
2017-11-22 19:03:13 +01:00
myT
9b60bd762d
replaced r_(map)OverBrightBits with r_(map)Brightness
2017-11-22 18:59:51 +01:00