Skip to content

Releases: mastercomfig/tf2-patches

0.0.5

15 Aug 23:05
Compare
Choose a tag to compare
0.0.5 Pre-release
Pre-release
  • Updated DirectSound device sample calculation to latest from other device implementations/CS:GO implementation
    • This should fix arbitrary limitations on sample counts and optimize slightly
  • Fixed audio latency on common configurations caused by changes made in 0.0.2
    • Changed sound async mixing implementation to be closer to real-time, with only a context switch after each sound update rather than a fixed frame time of 7 milliseconds
    • Increased snd_mixahead from 0 to 0.05 seconds, so that there are enough samples painted
    • Try out snd_surround_speakers 0, 2 and 5 with this new set up if you'd like to test more!
  • Fixed audio crackling on sound devices with a extremely low buffer set
  • Fixed download_depots.bat not working if the path had spaces in it
  • Fixed download_depots.bat not working if it was launched in a different path
  • Disabled threaded bone setup until we can verify its stability

0.0.4

15 Aug 18:52
Compare
Choose a tag to compare
0.0.4 Pre-release
Pre-release

Installation instructions

  • Reworked installation steps with a guided download_depots.bat script
  • Added entity velocity interpolation (rather than just position and rotation)
  • Defaulted render opacity to 0
  • Added tf_viewmodel_alpha (defaults to 255, opaque), which controls how translucent your viewmodel is
  • Temporarily disabled threaded transparent object leaf computations
    • This fixes a bug where particles would flicker black sometimes, due to threading timings where render opacity would not be computed in time until a better solution can be made
  • Fixed buddha and godmode not respecting self damage push force (blast jumping)
  • Added dxlevel 100 properly as supported
    • This allows for the video options menu and some other miscellaneous systems to respect the 100 setting and not try to reset it
  • Fixed an issue where compressed texture capabilities would be determined too late, thus disabling compressed textures support
  • Removed some unused files/modules from dev scripts

0.0.3

15 Aug 04:17
Compare
Choose a tag to compare
0.0.3 Pre-release
Pre-release

NOTE: If you installed previous versions, you need to remove the Goldberg Emulator and replace it with the real steam_api.dll. Getting the steam_api.dll from Team Fortress 2/bin works, as well as the one in the depot.

  • Fix default_fov not being set to 90 in some circumstances
  • Change max FOV back to 90
  • Use voice_steal 2 for better sound channel usage
  • Fix a crash related to threaded bone setup
  • Fix missing client and server DLLs in 0.0.1 and 0.0.2 (big oof on my part)
    • Lots of new fixes now that the custom client and server DLLs are now in
    • There is now a dev script which prepares the download, so that I won't mess up again
  • Fix server thinking its outdated because its a different version from live TF2
  • Fix incorrect check for anti-aliasing check implemented in 0.0.1
  • Added support for local item schema
  • Added -steam to client launch script for Steam support
  • Added -nomaster to server launch script so that we don't confuse Steam with our different version
  • Fixed notice within Valve build script

0.0.2

14 Aug 23:53
Compare
Choose a tag to compare
0.0.2 Pre-release
Pre-release

NOTE: This release is no longer compatible with mastercomfig. Please do not use mastercomfig or any other TF2 config in combination with this version or later versions.

  • Optimized file system and various other systems by enabling Retail mode (was not enabled as claimed in 0.0.1) and Cert mode
  • Greatly reduced sound latency, by up to 12 milliseconds on most configurations
    • Async sound mixing thread now mixes every 7ms with very tight timing
    • Eliminated mixahead and sound shift delay
    • Disabled extra sound updates
  • Updated various networking cvars to be more up to date:
    • Client and server update rates are now 66
    • Client and server update rates are enforced to be the same
    • Default interp is now 0.030303
    • Default rate is now 196608
    • Minimum rate is now 16000
    • Max rate is now 786432
    • SourceTV rate increased to default client rate, snapshot rate increased to 33, SourceTV now transmits all entities, delay is now 10, and delays map changes until broadcast is complete
    • Set tighter replication settings from CS:GO to combat cheaters and unfair advantages in low quality networks
    • Disabled packet drop limiter feature, which made networking even worse in high loss scenarios
  • Allowed usage of dsp_off 1 to disable DSP processing
  • Added con_filter_enable 3 which completely disables console output
  • Optimized default/common timescale case
  • Enabled z buffer light cache
    • Automatically disabled for a map if there is not enough memory, instead of crashing the game
  • Fully enable async model cache
  • Force disabled glow outlines for now until #1 is fixed
  • Dynamic models have their textures unloaded on death rather than every frame
  • Increased default fps_max to 400.
    • Minimum value for fps_max is now 49
  • Increased default FOV to 90, and max FOV to 120
  • Fixed the data cache allocating too much memory
  • Increased maximum heap size (used for hunk and datacache) from 256MB to 576MB
  • Increased hunk size from 48MB to 64MB (to support z buffer light cache on maps with many lights)
  • Enabled buffered filesystem
  • Allow for up to 64MB reads at a time, rather than 16MB
  • Unlocked fx_drawimpactdebris, fx_drawimpactdust, fx_drawmetalspark, which can be set to 0 to disable bullet impact particle effects
  • Set raw mouse input by default
  • Slightly improved particle performance
  • Improved particle retire cost performance
  • Unlocked cl_particle_retire_cost, so that you can set it to 0.0001 on low end machines
  • Added cl_ragdoll_disable, which when set to 1 completely disables all death effects from spawning at all
  • Added tf_fx_blood, which when set to 0 completely disables all blood splash impact effects from spawning at all
  • Disabled match HUD by default now until it is fixed
  • Optional thread pools (replay and youtube thread pools) are now not initialized until they are actually used by the replay or YouTube system. This prevents 5 idle threads from running during common gameplay which never uses replays or YouTube API.
  • Fixed a meaningless error in console when using +connect on the command line
  • Unlocked tf_impactwatertimeenable and tf_impactwatertime, which limit the amount of water splashes from bullets. Set default to on, and an interval of 0.1 seconds.
  • Improved start up batch script behavior
  • Removed DX8 support for 2005 and older GPUs
  • Removed Pix event and present stats from main shader API device functions
  • Removed 8ms busy waiting form async texture reading, to event based
  • Increased default jigglebone framerate cutoff from 20 to 66
  • Enabled persistent LZMA buffer by default
  • Disabled unused download list log feature
  • Disabled async sound loading spew on blocking
  • Enabled parallel snapshot sending

0.0.1

14 Aug 05:58
Compare
Choose a tag to compare
0.0.1 Pre-release
Pre-release

The initial release of Team Comtress 2.

Lots of optimizations and fixes, please let me know how they work!

Installation instructions

  • Improved fps_max to be much more accurate and not be off by a few frames on some CPUs
  • Optimized async texture loader to be event based rather than busy wait
  • Reduced texture streaming transition fade time from 5 seconds to 1 second
  • Optimized case insensitive string compares, which most notably improves command execution performance (critically for move commands, voice commands, etc)
  • Optimized shader system
  • Stripped DX8 and DX7 support
  • Dropped support for Windows XP
    • Optimizes filesystem stat call
  • Enabled async model cache by default
  • Enabled frame pointer omission to disable
  • Disabled telemetry and ETW
    • Fixed modules with telemetry disabled not being compatible with ones that do have telemetry enabled
  • Added threaded sound mixing
  • Adjusted default mixahead time from 0.1 to 0.0666667 seconds
  • Added support for g_ragdoll_lvfadespeed and g_ragdoll_fadespeed to TF ragdolls. You can set fade speed to 0 to skip the fading process.
  • Optimized cl_ragdoll_force_fade 1, which now instantly starts fading away with cl_ragdoll_fade_time 0
  • Cosmetics now use cl_ragdoll_fade_time for their fade delay, rather than a hard coded 15 seconds
  • Optimized sound playback by notifying the sound system to async load even when we are playing from cache. This reduces sound latency while reducing stutters related to the sound system.
  • A decal limit of 0 is now respected and dynamic decals will not spawn at all. This optimizes when decals are disabled, by not trying to spawn a decal.
  • Enabled threaded bone setup
  • Fixed shadows double rendering in the main scene
  • Fixed much of the scene being double rendered in the 3D skybox render
  • Fixed a possible crash in pixel shader lighting
  • Increased max -threads parameter from 4 to 12
  • Enabled development cvars
  • Optimized exec command
  • Optimized shadow vertex memory allocation overhead by using a contiguous block of memory as a pool that the shadow code sweeps and wraps around in instead of allocating vertex info on demand
  • Disabled VGUI traversing when element is not visible. This makes the main menu not render when in game, and the game HUD not render when in the main menu (when pressing ESC)
  • Fixed client interp getting desynced from server value due to incorrect bounded cvar implementation
  • Fixed client interp being checked every frame rather than only on change
  • Fixed anti-aliasing being disabled with mat_antialias 1 causing some parts of the engine think it's not disabled and thus run some unnecessary code. On Linux, this used to force a full clear with AMD graphics.
  • Re-enabled code associated with various threading systems
  • Forced particle collision mode 3, which is the most optimized mode (and cached). This is done as a temporary measure while we find a way to fix particle data files to use a proper mode according to their needs. Please let me know of any glitchy particle collision. One known is flamethrower particle visuals.
  • Backported fix from Source 2 which prevents duplicated plane collision logic
  • Enabled queued decals
  • Enabled threaded client shadow manager
  • Enabled threaded client leaf system, which should reduce possible hitches or frame drops when changing rooms/turning corners
  • Enabled support for SSE2
    • Fixed a crash that happened because of lightmap loop being vectorized
  • Optimized function calls by enabling frame pointer omission
  • Enabled whole program optimization through link time code generation
  • Optimized file system by enabling Retail mode
  • Fixed cheap water being disabled if reflections were enabled
  • Implemented SIMD instructions with DirectXMath which used to be Xbox 360 only (now ported to PC!), to accelerate many critical math/animation calls, including:
    • Trig functions (sin, cos, atan2, etc)
    • Quaternion functions (for animation rotations, and more)
    • Slerp bones
    • Calculate bone quaternion
    • Vector add, subtract, muladd, msub, dot product
    • Vector4DWeightMAD
    • Enabled optimized visibility leaf bounding box algorithm (both rough box intersection test and visibility tests)
    • Stripped complex vector conversion logic with DirectXMath
  • Added r_skybox_lowend to enable DX8 skyboxes on DX9
  • Added -particle_fallback launch option to control particle quality. 2 uses DX8 particles, 1 uses lowend DX9 particles, 0 uses default.
  • Enabled many mastercomfig optimizations by default
  • Enabled fast vertex texture support, which optimizes rendering of many different shaders. Only works on dxlevel 100.
  • Added prediction system fix to prioritize server data
  • Added networking and spy fixes to dispenser and teleport
  • Added tf_skip_halloween_bomb_hat_translucency, which enables the DX8 behavior of snapping to invisible halloween bomb hats whenever spy is in the middle of cloaking
  • Disabled D3D multithreaded mode, as it adds overhead and does not add meaningful safety to the multithreaded renderer
  • Fixed crashes associated with hardware morphing when fast vertex textures are enabled and the rendered is queued. This does not add morphing support.
  • Enabled team menu in Mannpower
  • Added tf_use_match_hud, which enables the match HUD in all servers. Large version of the match HUD is used if there are more than 12 players on either team. Work in progress. This is reimplementing a Jungle Inferno feature which is not present in the leak.
  • Added cl_hud_playerclass_playermodel_lod, which controls the LOD of the player class model.
  • Removed server console spam when the player has no Steam ID
  • Added compatibility with the latest Windows 10 SDK and MSVC 2019
  • Added some minor shadow fixes from CS:GO