Skip to content

More codecs#13

Merged
timfox merged 59 commits intomainfrom
more-codecs
Feb 2, 2026
Merged

More codecs#13
timfox merged 59 commits intomainfrom
more-codecs

Conversation

@timfox
Copy link
Owner

@timfox timfox commented Feb 1, 2026

No description provided.

…enderers

- Added new cvars for spherical harmonics lighting (`r_shLighting`, `r_shWorldLighting`, `r_shDebugView`) to control ambient lighting effects.
- Implemented functions to sample light grid data and calculate spherical harmonics coefficients for improved lighting accuracy.
- Enhanced entity lighting setup to incorporate spherical harmonics coefficients, allowing for more realistic light interactions.
- Updated rendering logic to evaluate and apply spherical harmonics lighting during the shading process, with debug options for visualizing effects.
- Improved documentation to include details on new lighting features and their configuration.
- Updated paths in BUILD.md to reflect the new directory structure for the `quake3e` project.
- Enhanced CMakeLists.txt to include support for additional audio codecs (Opus, FLAC, WebM) and improved handling of external dependencies.
- Added new sound-related headers and source files for better organization and maintainability of audio functionalities.
- Improved README.md to document new audio features and codec support, enhancing user guidance for audio configuration.
- Refactored build workflow to streamline audio backend integration and ensure compatibility across platforms.
- Introduced new cvars for SSAO configuration, including radius, bias, intensity, power, samples, and blur radius.
- Implemented SSAO rendering logic in the Vulkan pipeline, including dedicated render passes for SSAO and its blur.
- Added new GLSL shaders for SSAO, SSAO blur, and SSAO combine operations to enhance visual fidelity.
- Updated README.md to document the new SSAO feature and its configuration options.
- Enhanced Vulkan initialization and descriptor management to accommodate SSAO resources and ensure proper rendering flow.
- Updated SSAO shader to include depthIsReversed parameter for improved depth handling.
- Modified Vulkan renderer to accommodate depthIsReversed in SSAO calculations.
- Increased size of SSAO fragment shader binary to reflect changes in shader logic.
- Improved handling of depth aspect flags in Vulkan rendering pipeline for better compatibility with depth formats.
- Added new cvar `r_ssaoDebugView` for SSAO debug visualization options.
- Updated Vulkan renderer functions to cast loop indices and sizes to appropriate types for better type safety.
- Introduced unused parameter suppression in various functions to clean up warnings.
- Enhanced shader module management by adding SSAO debug shaders for improved rendering diagnostics.
- Refactored several functions to use `const` qualifiers for better code clarity and safety.
- Improved handling of Vulkan command buffer sizes to prevent potential overflow issues.
- Updated depth attachment creation logic to include SSAO condition for improved rendering accuracy.
- Modified SSAO depth debug shader to display reversed depth for better visual diagnostics.
- Increased size of SSAO depth debug shader binary to accommodate changes in shader logic.
timfox and others added 23 commits February 1, 2026 02:20
- Updated CMakeLists.txt to improve handling of audio codecs (Opus, FLAC, WebM) and added include paths for SDL2.
- Refactored SDL header inclusion to support both SDL and SDL2 based on availability, enhancing cross-platform compatibility.
- Improved audio backend integration by marking codecs as found when vendored targets are created.
- Added new functions for OpenGL context management and minimized unused variable warnings in various source files.
- Enhanced error handling and logging in audio-related components for better debugging and user experience.
- Added options for Opus, FLAC, and WebM codec support in CMakeLists.txt to improve audio handling.
- Updated paths in the botlib project files to use relative paths based on ProjectDir for better portability.
- Introduced a placeholder type in wavep.c to suppress unused variable warnings.
- Enhanced Vulkan renderer header to accommodate an additional buffer offset for improved functionality.
- Marked a function in vm_x86.c as unused to clean up compiler warnings.
…n_glimp.c

- Added a typedef for off64_t in zlib.h for compatibility with Apple platforms lacking this definition.
- Corrected the include path in win_glimp.c to use a relative path for better organization and maintainability.
…use filesystem race condition

Co-authored-by: Copilot Autofix powered by AI <62310815+github-advanced-security[bot]@users.noreply.github.com>
Co-authored-by: Copilot Autofix powered by AI <62310815+github-advanced-security[bot]@users.noreply.github.com>
Co-authored-by: Copilot Autofix powered by AI <62310815+github-advanced-security[bot]@users.noreply.github.com>
- Removed an unnecessary newline at the end of the SDL icon header file for cleaner formatting.
- Updated the MSVC project filters to ensure proper XML formatting and maintain consistency in project structure.
Co-authored-by: Copilot Autofix powered by AI <62310815+github-advanced-security[bot]@users.noreply.github.com>
…e issues

- Updated `pi_set_description` and `pi_set_data` functions to ensure proper memory management by avoiding unnecessary frees and reallocations.
- Introduced local variables for new descriptions and data to enhance clarity and maintainability.
- Adjusted block length calculations to reflect changes in description and data sizes accurately.
…assembly routines

- Added a conditional definition for lseek64 in gzlib.c to ensure compatibility with Apple platforms lacking this function.
- Introduced a new common x64 assembly file containing implementations for setjmp, longjmp, and CPUID functions to enhance performance and maintainability in x86_64 architecture.
- Added `__extension__` to `flac_max` and `MIN_IMPL` macros to ensure compatibility with GCC versions prior to 4.3, enhancing code portability and preventing potential compilation issues.
- Introduced conditional target link options for OpenGL and Vulkan renderers to support dynamic lookup on Apple platforms.
- Added symbolic links for client, qcommon, and server directories to improve project structure and organization.
- Updated target link libraries for OpenGL and Vulkan renderers to include `qcommon` for improved dependency management.
- Added private include directory for `q3ui` to reference audio source files.
- Introduced symbolic links for audio, game, renderers, and UI directories to streamline project organization.
…te target link options for Apple compatibility

- Set the POSITION_INDEPENDENT_CODE property for `qcommon` and `qcommon_ded` libraries to enhance compatibility with shared libraries.
- Adjusted target link options for OpenGL and Vulkan renderers to ensure proper dynamic lookup on Apple platforms.
- Introduced symbolic links for `botlib` and `cgame` directories to improve project organization.
…ries

- Updated target link libraries for OpenGL and Vulkan renderers to conditionally include `qcommon` based on the USE_RENDERER_DLOPEN option, enhancing flexibility in linking.
- Removed symbolic links for `botlib` and `cgame` directories and added corresponding header files to improve project organization and maintainability.
…tform header

- Simplified the CMake logic for auxiliary source files by removing the conditional check for USE_RENDERER_DLOPEN.
- Ensured consistent linking of `qcommon` for OpenGL and Vulkan renderers.
- Introduced a new header file for Win32 platform compatibility, including necessary local headers.
…ation

- Introduced a conditional check for USE_RENDERER_DLOPEN to enhance flexibility in renderer library compilation.
- Updated target compile definitions to include RENDERER_PREFIX and RENDERER_DEFAULT for improved configuration management.
…SE_RENDERER_DLOPEN

- Added conditional logic to target link libraries for OpenGL and Vulkan renderers, ensuring `qcommon` is only linked when USE_RENDERER_DLOPEN is not set.
- Improved flexibility in library linking for different build configurations.
- Simplified the CMake logic by removing conditional checks for USE_RENDERER_DLOPEN, ensuring consistent linking of libraries for OpenGL and Vulkan renderers.
- Deleted unused header files for botlib, cgame, and Win32 platform, improving project organization and maintainability.
- Introduced a new symbolic link for the external directory to streamline project structure.
- Introduced new AAS (Area Awareness System) files for botlib, including definitions, clustering, and debugging functionalities to enhance navigation and pathfinding capabilities.
- Updated CMakeLists.txt to include the new AAS source files and ensure proper linking with the qcommon library for both OpenGL and Vulkan renderers.
- Added platform-specific include directories to streamline the build process and improve organization of the project structure.
- Added new AAS files for botlib, including definitions, clustering, and debugging functionalities to improve navigation and pathfinding for bots.
- Updated CMakeLists.txt to link the new AAS source files and ensure proper integration with the qcommon library for both OpenGL and Vulkan renderers.
- Refined target link libraries to maintain consistency and improve project organization.
- Updated CMakeLists.txt to include additional include directories for `qcommon` and `qcommon_ded`, improving organization and build process for various platforms.
- Introduced new assembly files for audio processing, including MMX, SSE, and x64 optimizations, to enhance performance in sound mixing.
- Added a new Win32-specific header file to support platform-specific functionalities and improve compatibility.
- Modified CMakeLists.txt to disable dynamic loading of the renderer on Windows, ensuring static builds are used for better compatibility.
- Added new header files for audio client and platform-specific functionalities to improve modularity and organization.
- Refactored renderer initialization files to use conditional compilation for better clarity and maintainability.
timfox and others added 8 commits February 1, 2026 14:45
- Added include guards to `snd_local.h` to prevent multiple inclusions and enhance modularity.
- Updated include paths in `win_local.h` and `win_snd.c` to use relative paths, ensuring consistency and better organization across platform-specific files.
- Streamlined audio processing by clarifying header dependencies.
- Introduced new header files: `snd_codec.h` for audio codec definitions, and `client.h` for audio client functionalities.
- Implemented include guards to prevent multiple inclusions and enhance organization.
- Updated include paths to ensure consistency across audio components, streamlining the audio processing structure.
- Added include guards to `client.h` and `snd_codec.h` to prevent multiple inclusions.
- Updated include paths in audio header files to ensure consistency and enhance modularity.
- Introduced new static function declaration in `win_snd.c` for better sound initialization handling.
- Introduced a new submodule for SparseVoxelOctree, located at `src/external/src/SparseVoxelOctree`.
- Configured the submodule in `.gitmodules` to link to the GitHub repository for easy access and updates.
- This addition aims to improve the project's 3D rendering capabilities by leveraging the Sparse Voxel Octree structure.
- Added new property groups in project files to include audio directories for better organization and modularity.
- Updated include paths in `quake3e.vcxproj` and `renderer.vcxproj` to incorporate audio-related directories, ensuring consistent access to audio components.
- Introduced a forward declaration for `SNDDMA_InitDS` in `win_snd.c` to improve sound initialization handling.
- Included a new project reference for `renderer.vcxproj` in `quake3e.vcxproj` to enhance project dependencies and ensure proper linkage.
- This addition aims to improve the build process and modularity of the project by clearly defining relationships between components.
- Updated `win_snd.c` to include conditional compilation for SDL usage, enhancing flexibility in sound initialization.
- Modified `tr_init.c` to change the preprocessor directive for dynamic loading of the renderer, improving clarity in the modular renderer setup.
- These changes aim to streamline the build process and improve the organization of platform-specific functionalities.
Co-authored-by: Cursor <cursoragent@cursor.com>
timfox and others added 15 commits February 1, 2026 16:16
- Added new property groups in `libpng.vcxproj` and `zlib.vcxproj` to define output and intermediate directories, improving build organization.
- Updated `quake3e.vcxproj` to include references to `libpng` and `zlib`, ensuring proper linkage and enhancing project dependencies.
- Modified `win_snd.c` to change the declaration of `dsound_init`, improving clarity in sound initialization.
- Adjusted additional dependencies in `quake3e.vcxproj` to include `libpng` and `zlib` libraries, streamlining the build process.
- Added conditional definitions for `USE_RENDERER_DLOPEN` and `USE_SDL` to improve build flexibility.
- Updated `CLIENT_SRCS` to include `snd_backend_sdl.c` only when SDL is enabled, streamlining audio backend management.
- These changes aim to enhance the modularity and clarity of the build process.
…rithmetic expression

Co-authored-by: Copilot Autofix powered by AI <62310815+github-advanced-security[bot]@users.noreply.github.com>
…-SDL builds

- Added a conditional check to include `win_snd.c` in the `Q3_UI_SRCS` list only when `USE_SDL` is not defined, enhancing build flexibility for audio support.
- This change aims to streamline the build process and improve modularity in platform-specific audio handling.
- Added compile definitions for `RENDERER_PREFIX` and `RENDERER_DEFAULT` in `CMakeLists.txt` to enhance renderer configuration.
- Updated import paths in `libpng` and `zlib` project files to use `MSBuildThisFileDirectory`, ensuring correct file resolution and improving project structure.
- These changes aim to streamline the build process and enhance modularity across the project.
…lution

- Modified the import paths in `libpng.vcxproj` and `zlib.vcxproj` to use relative paths with `..\zlib.props`, ensuring proper file resolution.
- This change aims to enhance project structure and maintain consistency in build configurations.
- Updated the GitHub Actions workflow to conditionally execute build steps based on the event type and configuration, improving build efficiency.
- Enhanced the conditional compilation for `USE_RENDERER_DLOPEN` in `cl_main.c` to ensure proper checks are in place, improving code clarity and maintainability.
- These changes aim to streamline the build process and enhance modularity across the project.
- Updated the GitHub Actions workflow to utilize CMake for building Vulkan and OpenGL renderers, replacing the previous Makefile approach for better cross-platform support.
- Added new project configurations for x64 in `libpng.vcxproj` and `zlib.vcxproj`, ensuring compatibility with 64-bit builds.
- Introduced a no-op function `SNDDMA_Activate` in `snd_backend_sdl.c` to satisfy platform requirements without impacting functionality.
- These changes aim to streamline the build process and enhance the modularity of the project.
- Introduced a NORETURN macro for better cross-platform compatibility in the VM code.
- Simplified the immediate encoding logic in the rimm function for enhanced readability.
- Updated the OutJump function to utilize the new NORETURN macro, improving code consistency.
- These changes aim to enhance the clarity and maintainability of the virtual machine implementation.
- Introduced a new header file `zconf.h` for the zlib compression library, providing necessary configuration and type definitions.
- This addition aims to enhance the integration of zlib within the project, ensuring proper functionality and compatibility across platforms.
- Simplified the YAML syntax for branch specifications and paths in the GitHub Actions workflow.
- Consolidated build steps for Vulkan and OpenGL renderers, enhancing clarity and maintainability.
- Introduced conditional checks for build steps based on event types, improving build efficiency.
- These changes aim to streamline the CI/CD process and enhance modularity across the project.
- Updated the build configuration in the GitHub Actions workflow to eliminate support for 32-bit x86 architecture, streamlining the build process for 64-bit systems.
- Simplified YAML syntax for branch specifications and improved clarity in build steps.
- These changes aim to enhance the efficiency and maintainability of the CI/CD pipeline.
…iency

- Enhanced the build steps in the GitHub Actions workflow for Windows-MSVC by introducing a common MSBuild configuration, improving readability and maintainability.
- Updated the build commands to use conditional checks and streamlined the process for copying output files.
- These changes aim to optimize the CI/CD pipeline and enhance the overall build process.
…errors

- Added `<TreatWarningAsError>false</TreatWarningAsError>` to the property groups for various configurations in both `libpng.vcxproj` and `zlib.vcxproj`.
- Introduced a precompiled header condition for `Release Library|ARM64` in both project files to ensure proper configuration.
- These changes aim to improve build flexibility and reduce potential build failures due to warnings.
timfox and others added 4 commits February 1, 2026 20:42
- Added ARM64 precompiled header conditions in `libpng.vcxproj` and `zlib.vcxproj` to ensure proper configuration for this architecture.
- Updated build flags in the GitHub Actions workflow to include specific compiler options for ARM64, improving compatibility and performance.
- Disabled treating certain warnings as errors across various configurations to enhance build flexibility and reduce potential failures.
- These changes aim to improve the build process and support for ARM64 architecture.
…ncluded

- Deleted the obsolete `zconf.h` file from the zlib source directory to streamline the project.
- Updated the copyright year in `zconf.h.included` to reflect the current year (2025) for proper attribution.
- These changes aim to clean up the codebase and ensure accurate licensing information.
…r ARMv7 architecture

- Modified the build configuration in the GitHub Actions workflow to clear default compiler flags and set specific flags only when the architecture is ARMv7.
- This change aims to improve build compatibility and performance for ARMv7 while maintaining flexibility for other architectures.
…ain permissions

Co-authored-by: Copilot Autofix powered by AI <62310815+github-advanced-security[bot]@users.noreply.github.com>
@timfox timfox merged commit 13ac3db into main Feb 2, 2026
19 checks passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant