boshyst
Boshyst
IWBTB mod with hacks and tools to help speedrunning and creating TAS
Screenshots
Cold start (mod menu)
Put Boshyst DLL and DLL Injector into the game folder.
Launch the game, open command prompt in the game folder and type:
Menu should be opened (toggled by Insert as a default bind).
Cold start (BTAS) (experimental)
Just also put BTAS launcher into the game folder and launch the game via it.
Open the config to see binds.
Known problems:
- Save files forgetting after loading a state (breaks in-game save logic, also some visual stuff which game thinks is locked) (can be fixed: see
in config)tas_save_slot_fix - RNG seed desyncs (also might be caused by changing visual settings)
- Hitbox desyncs (TODO: research why DirBlur x3.fx affects that)
- Some input problems (you can shoot right after loading a state even if you shot right before saving; pressing C right after load won't work => desyncs)
- May crash when loading a state (seems to be memory corruption, also happens without BTAS, would be really difficult to fix) (seems to be using software render with
+MESAreduces ammount of crashes)WineD3D
Building and running
For testing, just build the DLL using Visual Studio and inject it into the game process ( config will be created is in the game dir).
For hourglass (Windows XP compatible), build the DLL using Visual Studio 2010 (manually create a project and add all the C++ files, configure includes), put it into the game folder (with config file, also set to 1 in config), replace with modified version to automatically inject the mod when launching the game through the hourglass. Allow normal thread creation.
Building helper scripts (use MinGW32 for compatibility):
Configuring
See in the game folder
Recording video
For hourglass, use special modified hourglass r90 version.
Set to .
FFmpeg is required to be in variable.
- FFmpeg for modern Windows
- FFmpeg for 32-bit Windows 7 (Use GPL builds)
- FFmpeg for Windows XP
Automatic start/end of the recording can be configured with , / (not recommended).
It's recommended to set start/count vars to 0 and use start_cap and end_cap scripts.
Not using direct render <=> front buffer capturing.
Using direct render <=> back buffer capturing.
Capture starts from the frame you will see, and ends with the frame you currently see.
Warning: game window should not be resized while recording.
Recording audio
Before replaying TAS, set and . Then replay TAS without using fast forward. Then stop audio recording and close the game.
Run script created in the game folder to join all sounds in a single output (it requires FFmpeg).
NOTE: Fading is not supported yet (kinda used in credits only).
Useful links
Boshyst DLL (Windows 8+)
Boshyst DLL (Windows XP compatible)
Modified wintasee.dll for hourglass r90
Modified wintasee.dll for hourglass r78
Capture start and end scripts
BTAS launcher
Simple DLL Injector (Windows 7+)
Modified hourglass r90 for video recording