Releases: YaLTeR/bxt-rs
5.0
What's Changed
- On Windows, bxt-rs now searches for patterns from multiple threads, speeding up the startup time (e.g. from 2.5 s to 0.4 s).
 - Fixed 
V_CalcRefdefhooks on some mods like Opposing Force. - Added 
bxt_skynameandbxt_skyname_forceto change the skybox by @khanghugo. - Added 
bxt_fix_widescreen_fovby @khanghugo. - Added 
_bxt_cap_skip_non_gameplay_framesthat will skip some non-gameplay frames from the recorded video by @khanghugo. - Added campath loading, playback and export (
bxt_campath) by @khanghugo. - Added 
bxt_lightstyleandbxt_lightstyle_customby @khanghugo. - Added 
bxt_emit_soundby @khanghugo. - Added Tracy profiling integration when the 
BXT_RS_PROFILE_TRACYenvironment variable is set. 
TAS Studio Improvements
This bxt-rs release's TAS editor requires Bunnymod XT starting from Nov 11 2024.
- Implemented camera view editing by holding the right mouse button, like in the BXT TAS editor by @khanghugo.
 - Added support for new hltas features: pitch overrides and max accel yaw offset editing by @khanghugo.
 - bxt-rs now forces 
m_rawinput 1more aggressively, which is required for the TAS studio. - The status HUD now shows frame bulk FPS in addition to frame time.
 - Added frame X and Y speed to the status HUD.
 - During mouse adjustment, the status HUD shows info for the last frame of the adjusted frame bulk by @khanghugo.
 - Opening a TAS now pauses right away instead of playing it back.
 - Added 
bxt_tas_studio_select_next/prev. - Made 
bxt_tas_norefresh_until_last_frameswork with the TAS studio by @khanghugo. - Added 
bxt_tas_studio_replay_viewsthat visually replays the camera views without a full playback by @khanghugo. - Camera smoothing now also smooths the pitch angles by @khanghugo.
 - Fixed some issues with freecam.
 - Increased the default line width to 2.
 - Mispredicted frames are now truncated when watching the TAS playback.
 - Fixed unfocused playback in CS 1.6 by @khanghugo.
 - Fixed lag when editing due to slow writing to the bridged .hltas file.
 
Optimizer Improvements
- Added 
bxt_tas_optim_change_pitch. - Frame count is now mutated across any two frame bulks, not just two adjacent ones.
 
Full Changelog: 4.0...5.0
4.0
TAS Editor 2
This is a new version of the BXT TAS editor, rebuilt from the ground up with big usability improvements and bug fixes. Watch the video introduction and getting started: https://youtu.be/zi3pw9iS1sk.
Highlights include:
- Undo/redo system which is unlimited and persistent: even after restarting your game, you can undo all the way back to the start of the TAS.
 - Branches for easy comparison of different routes.
 - Manual HLTAS editing through bridged file synchronized with the in-game editor in real time.
 - Integration with the TAS optimizer.
 - You can always edit the entire script, not just the part after the playback stop.
 - No save command: all changes are automatically saved to disk as soon as you do them in-game.
 
TAS editor 2 commands and console variables are called bxt_tas_studio to avoid the naming collision with the BXT TAS editor. Hence, the alternative name is TAS Studio.
Video Recording with Motion Blur
Set bxt_cap_sampling_exposure to a value above 0 and up to 1 to enable motion blur. It works the same way as in HLAE and hl-capture, but very fast thanks to GPU acceleration with Vulkan.
Other Changes
- Added 
bxt_play_folderby @khanghugo in #53 - Improved demo length limit in the demo playback commands by @khanghugo in #59
 - Made video recording fast when alt-tabbed by @khanghugo in #51
 - Added 
bxt_scoreboard_removeby @khanghugo in #61 - Added 
bxt_cap_separate_startwhich records every demo into a separate video by @khanghugo in #58 - Added 
bxt_viewmodel_removeby @khanghugo in #52 - Added 
bxt_viewmodel_swayby @khanghugo in #64 - Improved CS 1.6 support in the TAS optimizer by @khanghugo in #50
 - Added support for Cry of Fear by @SmileyAG in #48
 - Added more patterns by @SmileyAG and @khanghugo in #63, #69
 - Added 
bxt_remote_forbidto prevent the game from serving as a remote optimizer or TAS Studio client by @YaLTeR - Minor improvements and fixes to video recording by @YaLTeR
 
New Contributors
- @khanghugo made their first contribution in #50
 
Full Changelog: 3.1...4.0
3.1
3.0
Thanks to @hobokenn, @SmileyAG and @mxpph for helping with this release!
TAS Brute-Force Optimizer
Added a brute-force optimizer for TASing. It works by randomly adjusting a part of the TAS and keeping better results. The optimizer can use prediction (fast but inaccurate), or multiple game instances to run the TAS.
Video explaining how to use the optimizer: https://youtu.be/ECuRruY3XLw
Documentation
All functionality, console commands, and variables are now documented. Read the documentation on the wiki page or in-game with the bxt_help command.
Other Changes
- Added 
bxt_cap_slowdownfor recording slowed-down video without audio distortion, similar to howplaydemoslowdown works. - Added 
bxt_disable_loading_textto disable drawing of the LOADING line. - Removed the TAS sound RNG fix module: it was implemented in Bunnymod XT where it belongs better.
 bxt_force_fovno longer allows values below1.- Replaced the profiling functionality from 
rust_hawktracertotracing. Profiling is now present in all builds; start Half-Life with theBXT_RS_PROFILEenvironment variable set to enable it. bxt-rs will then output atrace.jsonfile in the Half-Life folder, which you can view in Perfetto or inchrome://tracing. - Vulkan debugging is now present in all builds and can be enabled by starting Half-Life with the 
BXT_RS_VULKAN_DEBUGenvironment variable set. - Removed debug information from release builds as it was significantly increasing binary sizes, while not being all that useful.
 
2.0
Thanks to @hobokenn and @SmileyAG for helping with this release.
- Regular bxt-rs now works seamlessly with Bunnymod XT. Removed bxt-compatibility builds as they are no longer needed.
 - Added video recording support for pre-SDL (4554) and some WON (1600) engines.
 - Added the ability to 
bxt_cap_start output.wavto only record audio. - Fixed video recording crash when using 
-nosound. - Added a fix for 
bxt_play_runsometimes exiting to the main menu in the middle of playing demos recorded with Bunnymod XT. - Added 
bxt_tas_recording_startandbxt_tas_recording_stopwhich record real-time gameplay into a.hltas. This mostly works fine, but longer recordings, especially ones that depend on the RNG, will eventually desync. - Added a fix for non-deterministic sound RNG during TAS playback (already added it to Bunnymod XT too).
 - Added a fix for non-deterministic un-stuck time during TAS playback.
 - Renamed 
bxt_taslogtobxt_tas_logto avoid a conflict with Bunnymod XT. - Added non-shared RNG state dumping to 
bxt_tas_log. - Added 
_bxt_rng_setto set the non-shared RNG state. Mainly useful for debugging as some initialization based on the non-shared RNG happens at engine start, which setting the non-shared RNG state at runtime doesn't help with. - Added support for more engine versions for the rest of the functionality.
 
1.0
First release.
Thanks @hobokenn, @chinese-soup, @SmileyAG, @Margen67 for helping out with development.

