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_CalcRefdef
hooks on some mods like Opposing Force. - Added
bxt_skyname
andbxt_skyname_force
to change the skybox by @khanghugo. - Added
bxt_fix_widescreen_fov
by @khanghugo. - Added
_bxt_cap_skip_non_gameplay_frames
that will skip some non-gameplay frames from the recorded video by @khanghugo. - Added campath loading, playback and export (
bxt_campath
) by @khanghugo. - Added
bxt_lightstyle
andbxt_lightstyle_custom
by @khanghugo. - Added
bxt_emit_sound
by @khanghugo. - Added Tracy profiling integration when the
BXT_RS_PROFILE_TRACY
environment 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 1
more 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_frames
work with the TAS studio by @khanghugo. - Added
bxt_tas_studio_replay_views
that 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_folder
by @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_remove
by @khanghugo in #61 - Added
bxt_cap_separate_start
which records every demo into a separate video by @khanghugo in #58 - Added
bxt_viewmodel_remove
by @khanghugo in #52 - Added
bxt_viewmodel_sway
by @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_forbid
to 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_slowdown
for recording slowed-down video without audio distortion, similar to howplaydemo
slowdown works. - Added
bxt_disable_loading_text
to 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_fov
no longer allows values below1
.- Replaced the profiling functionality from
rust_hawktracer
totracing
. Profiling is now present in all builds; start Half-Life with theBXT_RS_PROFILE
environment variable set to enable it. bxt-rs will then output atrace.json
file 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_DEBUG
environment 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.wav
to only record audio. - Fixed video recording crash when using
-nosound
. - Added a fix for
bxt_play_run
sometimes exiting to the main menu in the middle of playing demos recorded with Bunnymod XT. - Added
bxt_tas_recording_start
andbxt_tas_recording_stop
which 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_taslog
tobxt_tas_log
to avoid a conflict with Bunnymod XT. - Added non-shared RNG state dumping to
bxt_tas_log
. - Added
_bxt_rng_set
to 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.