Challenge ProMode Arena

CNQ3 1.53b1 Changelog

Content

Changelog for CNQ3 1.53 Beta 1

Additions

  • /writeconfig now has a "-f" option to force writing all CVars (whether archived or not)

  • /imageinfo <imagepath\> prints where the image was loaded from and shaders that reference it

  • /shadermixeduse prints all images referenced in shaders with conflicting global directives

  • cl_demoPlayer <0|1> (default: 1) selects the demo playback system to use

    • cl_demoPlayer 0 = always uses the original demo player
    • cl_demoPlayer 1 = uses the new demo player with time rewind support when the mod supports it
  • cl_escapeAbortsDemo <0|1> (default: 1) decides whether the escape key can abort demo playback

    • reminder: you can always use /disconnect to stop demo playback
  • r_depthClamp <0|1> (default: 0) disables vertex clipping against the near and far clip planes

    • enabling this feature will raise the maximum allowed FoV value of CPMA 1.53
    • it turns the view frustum into a pyramid and prevents any vertex between the near clip plane
      and the camera's position from getting clipped (but will still clip anything behind the camera),
      which prevents solid objects from being seen through when too close to the camera
    • because depth values are clamped, improper depth ordering can potentially occur
  • /shaderinfo <shadername\> [code] prints where the shader was loaded from and optionally the code

  • console mark mode (selection mode) can be toggled with Ctrl-M

    • use arrow keys, home/end or page up/down to move the cursor or extend the area when pressing shift
    • Ctrl-C/enter copies the selected text to the clipboard without color codes and exits mark mode
  • /searchconsole begins a new console search

    • press ctrl-F when the console is down to bring up the command
    • press (shift-)F3 to find the next match going up or down
    • just like in cmdlist/cvarlist/etc, * will match any amount of characters
  • r_ignoreShaderSortKey <0|1> (default: 0) ignores the shader sort key of transparent surfaces

    • instead, it sorts by depth and original registration order only
    • this is a work-around for broken maps like bones_fkd_b4 (grates drawn in front of simple items)
  • r_mapGreyscale <0.0 to 1.0> (default: 0) controls the map's desaturation level

    • r_mapGreyscale 0 = full color (nothing done)
    • r_mapGreyscale 1 = completely monochrome
  • r_mapGreyscaleCTF <0.0 to 1.0> (default: 0) controls the CTF map surfaces' desaturation level

    • r_mapGreyscaleCTF 0 = full color (nothing done)
    • r_mapGreyscaleCTF 1 = completely monochrome
    • it applies to the red/blue color-coded surfaces of popular CTF/NTF maps
  • net_proxy <ip\> (default: "") is the proxy server to use when establishing client connections

  • /waitms <milliseconds\> to delay command executions by the specified number of milliseconds

  • r_alphaToCoverageMipBoost <0.0 to 0.5> (default: 0.125) boosts the alpha value of higher mip levels

    • with A2C enabled, it prevents alpha-tested surfaces from fading (too much) in the distance

Changes

  • invertedpenguin's RA blood pool has a new look to help better see the RA against its background

  • forcing the nopicmip flag on 2 new texture folders: "textures/npmenv" and "textures/npmpads"

  • r_vertexLight 1 no longer collapses shaders but replaces lightmaps with vertex colors

    • for transparent shaders, lightmaps are still used because vertex colors are broken on some maps
  • bots can no longer get timed out (it happened sv_timeout seconds after bot_pause was enabled)

  • r_gpuMipGen 0 now respects r_mipGenFilter but not r_mipGenGamma (gamma 2 is used)

    • the new code will slow down map loads in general but produces higher quality results
    • r_mipGenFilter BL is a special case without gamma correction that's much faster than before
  • image load/save errors now print warnings instead of triggering drop errors

  • the maximum texture resolution of 2048 is now enforced in all image loads

  • updated icon courtesy of deft

  • r_showtris/r_shownormals <bitmask\> (default: 0) draws wireframe triangles/vertex normals

    • 1 - enables the feature
    • 2 - only draws for visible triangles
    • 4 - draws for backfacing triangles
    • 8 - uses the original vertex color
    • 16 - uses the original vertex alpha as vertex color
  • r_lightmap 1 now handles most alpha-tested surfaces

  • com_soundMegs now defaults to 16

  • the camera's near clip plane distance is now 1 instead of 4

  • cl_aviFrameRate now defaults to 60

  • the Windows audio output now has a sampling rate of 44.1 kHz

    • with this, /video won't have issues with cl_aviFrameRate 60 anymore
  • with r_backend GL3, depth fade with MSAA now requires GLSL 4.00 at a minimum

    • depth access is now correctly multi-sampled (less aliasing) and performance has improved as well
  • with r_backend GL3, alpha to coverage now requires GLSL 4.00 at a minimum

Fixes

  • the reported MSAA sample counts for the GL2 and GL3 back-ends could be wrong

  • registration of a read-only CVar would keep the existing value

  • the Direct3D projection transform didn't perfectly match the OpenGL version

  • /video was writing incorrect audio stream lengths to the .avi file headers

  • /systeminfo /serverinfo /clientinfo /dumpuser would crash when tokens were too long

  • with r_lightmap 1 and r_dynamiclight 1, lighting transparent surfaces could crash

  • delayed shader loads could lead to incorrect rendering and crashes (mostly with dynamic lights)

  • the nextdemo variable wasn't used to start the playback of a new demo when:

    • a drop error happened during demo playback
    • the engine failed to open the current demo file
  • the Linux/FreeBSD client could crash during start-up

  • with r_backend D3D11, the alpha channel's blend factors now match the original Q3 behavior

    • this affects shaders that use the following blendFunc modes: GL_DST_ALPHA, GL_ONE_MINUS_DST_ALPHA
    • examples: jumppads on cpm3a and cpmctf3, jumppad trims on q3wcp14, shiny walls on q3wcp9
  • batched surfaces with "tcMod turb" would generate incorrect texture coordinates

  • throwing a fatal error when com_soundMegs is too low to load a map instead of freezing

  • /video produced .avi files that started with silence when they were not first in the sequence

  • with r_backend D3D11, some device reset scenarios caused fatal errors instead of video restarts

  • CVar slots that have been freed (e.g. through unset/cvar_trim/cvar_reset) can now be re-used

  • with alpha to coverage enabled, high r_picmip values should no longer cause
    alpha-tested surfaces to become transparent in the distance (e.g. q3wcp14 corridor floors)

  • with r_backend GL3, caching of shader uniforms could break with fog-only shaders

  • with r_backend D3D11, partial clears incorrectly affected entire render targets

    • example: black views in CPMA multi-view with r_fastsky 1

Known issues

  • OBS captures go blank after doing a video restart with the D3D11 back-end

    • Explanation: device/swap chain re-creation isn't handled by OBS' capture plug-in
    • User work-around: use the GL3 back-end
    • Development status: won't fix
  • Once the GL2 back-end is used, performance drops when switching back to the GL3 back-end

    • Config: nVidia GeForce GTX 1070 - Windows 7 SP1 x64 - drivers 430.64 and 445.87
    • User work-around: don't switch back-ends or upgrade drivers
    • Development status: can't fix (root cause unknown)
  • With GL3 and r_gpuMipGen 1, performance collapses big time

    • Config: AMD Radeon HD 6950 - Windows 10 Pro version 10.0.16299 - drivers 15.201.1151.1008
    • Explanation: confirmed: whenever glTexStorage2D is called (even when using that function is the only change)
    • User work-around: use D3D11 or upgrade drivers
    • Development status: won't fix
  • With GL3 and r_gpuMipGen 1, the GPU-generated mips are corrupted

    • Config: AMD Radeon R7 360 - Windows 7 SP1 x64 - drivers 14.502.0.0
    • Explanation: not confirmed: broken barrier implementation?
    • User work-around: use D3D11 or upgrade drivers
    • Development status: can't fix (root cause unknown)
  • With GL3, depth faded surfaces break anti-aliasing

    • Explanation: can't fetch from the right sample index because render buffers are used as FBO attachments instead of textures
    • User work-around: use D3D11
    • Development status: won't fix
  • Strong gamma correction breaks anti-aliasing

    • Explanation: MSAA resolve happens before the post-process pass
    • Development status: will get fixed for D3D11 and GL3
  • D3D11 full-screen toggles with the 32-bit client freeze myT's PC :-(

    • Config: nVidia GeForce GTX 1070 - Windows 7 SP1 x64 - drivers 445.87
    • User work-around: use the 64-bit client
    • Development status: can't fix (root cause unknown)