Skip to content

Releases: ec-/Quake3e

Latest Build

23 Dec 13:11
Compare
Choose a tag to compare

Commits

  • perform alpha tests after vertex color multiplication in VBO shaders, fixes #308 (Eugene)
  • d523bb4: fix gcc compiler warnings (Eugene)

2024-10-14

14 Oct 07:50
@ec- ec-
Compare
Choose a tag to compare

14-Oct-2024:

  • Common: improved wait command handling, now it will wait exact amount of client/server frames
  • Common: allow src and dest buffers to be overlapped in Q_strncpy() for QVM compatibility reasons
  • Common: Use nanosleep(2) instead of usleep(3) - usleep(3) was declared obsolete in POSIX.1-2001 and removed in POSIX.1-2008 and nanosleep(2) was recommended to be used instead.
  • Server: cache sv_maxclients value to avoid potential crashes caused by VMs changing it at runtime
  • Server: save latched sv_pure state to dedicated variable
  • Server: suppress false hitch warning during map load
  • Server: reworked/optimized gamestate retransmission/acknowledgment
  • Server: don't change serverid during map restart
  • Server: don't spawn loading clients during map restart
  • Server: fix server resource leaks during client reconnect
  • Client: rewrote CL_WritePacket() to allow proper packet duplication - which was intended by multiple function calls before
  • Client: Strip \cl_aviPipeFormat
  • Win32: report actual color bits and correct PFD count
  • X11: request alpha bits for >=24 bit color profiles
  • Docs: Create quake3e.md, update quake3e.htm
  • Vulkan: increase MAX_IMAGE_CHUNKS from 48 to 56
  • Vulkan: added missing texture mode setup in GL_SetDefaultState()
  • Vulkan: disabled \r_ext_alpha_to_coverage for now due to rendering artifacts on beyond4-wfa map
  • Vulkan: do not set transient flag for depth/stencil attachment when bloom (and thus - post-bloom pass) is enabled
  • Vulkan: fix screenmap image layout transitions
  • Vulkan: re-create swapchain on VK_SUBOPTIMAL_KHR as well
  • Vulkan: improve flare visibility test code
  • Vulkan: fixed various image layout transition synchronization issues
  • Vulkan: applied fixes to some "Best Practices" validation layer errors
  • Vulkan: add \r_bloom_threshold_mode and \r_bloom_modulate cvars, similar to OpenGL renderer
  • OpenGL: allow all static tcGens/tcMods for VBO/environment mapping (assuming that we have all tcMod corrections applied before)
  • Renderers: use glConfig.stencilBits instead of dereferencing \r_stencilbits cvar
  • Renderers: apply lightmap texcoord correction only if lightmap is actually set
  • Renderers: apply additional lightmap texcoord corrections when needed
  • Renderers: do not merge single lightmap
  • Filesystem: allow multiple basegames in fs_basegame cvar separated by '/'
  • Filesystem: reset fs_basegame cvar to last separated item
  • Makefile: fix grep warnings in macOS builds
  • macOS: app will search for pk3 inside and next to the app bundle
  • Use SDL_WINDOW_FULLSCREEN_DESKTOP on macOS

2023-10-14

14 Oct 18:34
@ec- ec-
Compare
Choose a tag to compare

14-Oct-2023:

  • Added many CVAR descriptions
  • Added \vid_restart fast - to perform fast \vid_restart in current gfx context
  • x86: print CPU brand string if available
  • Fixed spurious bound action on +vstr key releases
  • Fix stuck binds in some cases
  • Misc: try to apply map-depending configuration from cvar \cl_mapConfig_<mapname> cvars
  • com_affinityMask: allow handy binding of P/E cores on Intel's x86, added support for hexadecimal notation and '+'/'-' operators
  • Sound: added ogg-vorbis support
  • Sound: Use more precise conversion for fp32le sound buffers
  • Sound: re-enable sound-mixing asm in MSVC solutions
  • Renderers: Fix jumppads shaders on q3wcp14
  • Renderers: fix incorrect ovebright bits displayed at startup
  • Renderers: Fix clamp to edge detection
  • Renderers: allow using *lightmap<num> images in shaders
  • Renderers: fix potential crash in FixRenderCommandList()
  • Renderers: make sure that merged lighmaps fits well into reported max. texture dimensions
  • Renderers: make sure that we always configure dst blend bits
  • Renderers: fix bloom latch state when switching back to opengl from vulkan
  • Renderers: use more reasonable default backend color
  • Also fix \screenshot levelshot taking not factoring scaled capture screen sizes.
  • Vulkan: fix dlight regression on q3dm1
  • Vulkan: added some color-input optimized shaders, should improve FPS by up to 10% in bandwidth-limited cases (iGPUs)
  • Vulkan: rebind indexes after legacy dlight pass before fog pass
  • Vulkan: skip color/tex gen only if previous stage was not optimized and really calculated color/tex data
  • Vulkan: fix depthFragment shaders in fog, allow fog-collapse for non-world shaders
  • Vulkan: allow more color optimizations, with and without fog
  • Vulkan: added entity-color optimization for single-stage shaders
  • Added support for ppc64/ppc64le platforms
  • Fix buffer overflow with \fdir cmd and file argument command completion
  • Added \cl_drawRecording cvar to disable or make "RECORDING" demo message shorter
  • Github-Actions: run linux builds on Ubuntu-20.04 for binary compatibility reason
  • Win32: fixed crash on win11-x64/msvc during longjmp()
  • Win32: fix potential null-pointer dereference in ExceptionFilter()
  • Msg: check for error before checking value to avoid false-positive results
  • Network: Use uint32_t as scope_id for ipv6 connections
  • Server: fix formatting for some connection states in \status output
  • Server: fix host player being dropped in TA SP
  • cURL: updated prebuilt libraries and headers to version 8.4.0
  • cURL: increase maximum buffer size
  • cURL: fix deprecated warnings on modern versions
  • vm_x86: convert "add reg, 128" to "sub reg, -128" to use 1-byte immediate value
  • Fix & backport recent joystick code from ioq3
  • Fix Info_RemoveKey() deleting only first key
  • Fix info string trailing key issue
  • Made rsqrt optimization hint really work
  • Common: try to init logfile cvar as early as possible
  • Stop using acstime for logfile date/time
  • Cleanup Makefile

2022-10-14

14 Oct 17:25
@ec- ec-
Compare
Choose a tag to compare

14-Oct-2022:

  • preserve \cl_reconnectAgrs between online mod changes
  • fixed nested cgame command execution
  • renderers: avoid potential division-by-zero for AGEN_PORTAL
  • CMake: numerous improvements
  • Vulkan: updated SDK headers, applied potential fix for molten-vk compatibility
  • server: do not enforce non-zero level times at startup, for mod compatibility
  • SDL2: fix escape key not sending a char event
  • Vulkan: fixed insufficient attachment pool size for extreme case (antialiasing + supersampling + hdr + bloom)
  • Vulkan: fixed error at \snd_restart (REF_KEEP_WINDOW context)
  • video-pipe: use full (pc) color space and do not enforce particular rate for output audio stream
  • OpenGL: setup TMU information in R_InitExtensions() to avoid potential errors with KEEP_WINDOW flag
  • Implemented \in_forceCharset for SDL backend
  • Renderers: fixed non-working \r_ignorehwgamma, \r_overbrightbits now can operate independently from \r_ignorehwgamma in some cases
  • Vulkan: handle special DRM/KMS case (FIFO+maxImageCount==0), use 4 swapchain images for that
  • Fixed missing video/audio frames during multi-segment avi rendering
  • Fix client forgetting password when it is set in main menu
  • Renderers: make sure that R_ColorShiftLightingBytes() is not picking more data that we actually need/have
  • SDL2: fixed crash when some cvars (like \in_keyboardDebug) may be dereferenced before initialization, unified that behavior with win32 backend
  • Better support for non-standard protocols (71-compat etc.)
  • Vulkan: use minimal VkApplicationInfo at instance creation
  • Vulkan: disable anisotropy for nearest-sampling modes
  • win32: show/hide mouse cursor only if it has been not suppressed by OS
  • Added con_autoclear cvar
  • Added \kicknum, \kickall, and \kickbots commands, patch by Ensiform
  • Always keep bots, even with \devmap
  • Allow 8x multisampling in traditional (non-framebuffer) MSAA
  • Improve the default texture quality settings:
    • Use the highest texture quality
    • Use 8x anisotropic filtering by default
  • Renderers: make sure that amplitude for TMOD_STRETCH is not zero
  • Fixed stack overflow in \varfunc
  • Fixed potential out-of-bounds access caused by large s_paintedtime
  • Added \con_scale - to scale console font size relative to default smallchar width/height
  • Fixed erroneous gamma setup in windowed mode
  • Handle negative color shift that caused black lightmaps
  • Use differential time and interval comparisons whenever possible
  • Various botlib and QVM fixes
  • Vulkan: mark offscreen rendering unavailable for NVidia on linux too

2021-10-14

14 Oct 16:56
@ec- ec-
Compare
Choose a tag to compare
  • Filesystem: close all handles when switching to other game directory
  • Sound: fixed potential division-by-zero in S_GetSoundTime() in case of failed DirectSound initialization, reworked shutdown functions
  • Unix: output only printable chars in console
  • SDL: removed archive flag for \in_nograb
  • QVM: added more optimizations, removed unsafe x86 optimizations with disabled VM_RTCHECK_DATA
  • QVM: always force either range checks or data mask operations

2021-07-20

20 Jul 17:55
@ec- ec-
Compare
Choose a tag to compare
  • vm_x86: implemented new bytecode compiler with dynamic register allocation and many optimizations similar to aarch64/armv7l, brings ~2x performance increase
  • vm_aarch64, vm_armv7l: added more optimizations, yields another ~40% performance increase
  • win32: allow copying selected text from dedicated console via keyboard shortcuts
  • win32: fixed input regression caused by previous fix for high-dpi mice in win10 insider builds
  • win32: fixed application crash caused by hardened longjmp() in recent win10 versions
  • win32: fixed broken minimize function after \vid_restart

2021-05-27

27 May 18:23
@ec- ec-
Compare
Choose a tag to compare
  • QVM: more correct hanling of NaNs in bytecode compilers
  • QVM: fixed non-working RocketArena3 server code
  • Cvars: avoid misleading warnings when changing ROM variables
  • Cvars: allow override "protocol" from command-line
  • Sound: reduced lag during video capture
  • SDL2: (somewhat) fixed non-working console key for non-US keyboard layouts
  • Vulkan: fixed some broken debug features
  • Vulkan: fixed resource leaks and incorrect layout transitions during image capture
  • Vulkan: avoid redundant scissor updates
  • Vulkan: use correct texture bundle for lighting, use static uniform location to avoid pushing garbage from stack variables
  • Vulkan: fixed crash with \r_showtris 1 and \r_fastsky 1, fixed environment shader selection
  • OpenGL: fixed crash with \snd_restart
  • Do not light up shaders whose sort comes after insertion point (SS_FOG)
  • Unified gamma correction between OpenGL and Vulkan renderers

2021-03-28

28 Mar 13:41
@ec- ec-
Compare
Choose a tag to compare
  • Vulkan: implemented super-sample anti-aliasing, can be enabled via \r_ext_supersample 1, requires \r_fbo 1
  • Vulkan: added \r_presentBits to support HDR monitors, added \r_dither to control dithering in such cases
  • Vulkan: added more multitexturing optimizations
  • OpenGL: fixed incorrect image capture with supersampling and renderscale enabled
  • OpenGL: fixed texture generation for environment-mapped shaders in VBO
  • OpenGL: disable bloom if multitexturing was disabled via \r_ext_multitexture 0
  • Renderers: dereference $vid_width and $vid_height to actual rendering width/height inside extended shaders
  • Win32: fixed crash on nvidia systems when using Vulkan renderer and Win+D hotkey
  • Win32: fixed accidental focus losses when using high-dpi mice
  • Win32: fixed non-working \in_minimize in windowed mode
  • Win32: catch rare DescribePixelFormat() crash
  • Fixed error raised by messagemode 3/4 called without running cgvm
  • Fixed another crash in FixRenderCommandList()
  • Fixed potential crash with fog table
  • Allow \reconnect to work after client restart
  • Added warnings in developer mode to know why and when a sound isn't played
  • Added \r_dlightSaturation
  • Unlocked \r_lodCurveError
  • Check integrity of loaded maps and models
  • SDL2+Wayland compatibility fixes
  • Various fixes and improvements