Releases: shavitush/bhoptimer
v4.0.1 - typo fix
previous release: v4.0.0
v4.0.0...v4.0.1
See v4.0.0 for more recent changes.
Changes:
- fix native name typos and cement
Shavit_AlsoSaveReplayTo8d6e992- shavit-replay-recorder creates the
Shavit_AlsoSaveReplayTonative, but the header file had the name asShavit_AdditionalReplayPath.
Shavit_AdditionalReplayPathwas probably what I intended to use but I don't remember. The name is fine, so keeping it asShavit_AlsoSaveReplayTomeans less churn for other plugins. - Also makes sure the sucker is marked as optional for plugins that don't depend on bhoptimer but may want to use if available (e.g. for alt timers).
- shavit-replay-recorder creates the
v4.0.0 - The release that breaks things and didn't merge enough
previous release: v3.5.1
next release: v4.0.1
v3.5.1...v4.0.0
Release numbers went from v3.5.1 to v4.0.0 because I broke some replay-recording functions to provide a better API for srcwr💾.
If you use these plugins, then you will have to update them:
- https://github.com/offstyles/offstyle-plugins
- https://github.com/KawaiiClan/bhoptimer-savestate
- https://github.com/BoomShotKapow/shavit-myreplay
If you use these plugins, then don't update bhoptimer until these receive an update:
Changes:
- gamedata
- bug fixes
- shavit-stats.sp - fix error due to IsPlayerAlive() being called on disconnected client #1188 @mourningsickness 14b9674
- shavit-checkpoints.sp - fix aFrames and iPreFrames not always being set #1244 @mourningsickness 466bcf6
- Fix savestates not enabling recording (found by happydez) 4f43b628ae1f1f923ceb518528de074b2c765966\
- shavit-replay-playback.sp - fix error in case where style == -1 #1254 @mourningsickness b1e8e15
- (IMPORTANT) Fix the on-ground 0.5s start-timer check which stops shit like "lowjumps" (thanks to PixeL for informing and testing)
- change RemoveFromString() to hopefully not access out of bounds memory (olivia ran into this) beaaccd
- Fix duped maps in !nominate when there are multiple end-zones #1256 @Awesomerly 5ca44fe
- Load all replay frame cells into memory instead of only 8 9e82623
- Requires you to recompile any savestate plugins. Read the commit message for more details.
- reset gB_InCheckpointMenu OnClientDisconnect #1263 @mourningsickness f1d0af4
- Prevent
jointeamfrom being too spammable f636793- This doesn't fix any exploits but might help mitigate against people trying to crash the server.
- quality of life
- shavit-replay-playback.sp - close replay menu on spawn (if it's open) #1247 @mourningsickness c0d5efb
- shavit-zones.sp - make it so slay/stoptimer zones don't apply if paused #1251 @mourningsickness 326cacc
- shavit-misc.sp - don't stop timer on tpto if paused with pause movement enabled #1249 @mourningsickness 0b0be25
- prevent prac warning spam in start zone #1258 @normalamron 71c6746
- Reset players hp [only] when needed @xhaooy 21a7b58
- Try to make some HUD translation strings & menu things clearer 460664f
- Disable triggers while zoning 4e9c9ab
- misc
- Clarify shavit_replay_timelimit 0.0/disabled not recording replays 70308f3
- Include eventqueuefixfix in release zips (only needed on Windows) 378a2ea
- bump to v4.0.0 8ceacc4
- including this because it also added
SHAVIT_VERSION_MAJOR,SHAVIT_VERSION_MINOR, andSHAVIT_VERSION_PATCHwhich can be used in ifdefs now.
- including this because it also added
- fix comment on
Shavit_OnTimeIncrementPost317169d
- features
- add !worldrecord/!wr aliases (!serverrecord/!sr) (#1257) #1257 @mourningsickness 7d3913b
- Add tier selection menu to mapsleft and mapsdone menus (with "All" option, for current functionality) #1262 @mourningsickness a350d79
- Make it easier to change the max tier 7cbb250
- Some servers like to raise the max tier. This requires editing the code. Now with another plugin: you can set
shavit_rankings_default_tier's upper bounds and then blah blah. Not really tested though.
- Some servers like to raise the max tier. This requires editing the code. Now with another plugin: you can set
- shavit-hud.sp - add perf% to center hud #1259 @mourningsickness 133c4e5
- shavit_core_pause_movement - add extra 2 cvars for pause #1250 @normalamron 7502325
- Prioritize extend/dontchange/reroll for a tied vote #1265 cceba51
- Adds
smc_mapvote_prioritize_special(1 by default) to toggle this behavior.
- Adds
- srcwr💾
- What: sourcemod extension (.dll/.so) to write replays with a background thread.
- Why: reduces lag when people finish a run.
- What this breaks:
Shavit_ShouldSaveReplayCopy,Shavit_OnReplaySaved, andWriteReplayFrames.- Why: poor API with the
makeCopyparams etc, and by changing it: we can write replays for third-party plugins (like https://github.com/BoomShotKapow/shavit-myreplay)
- All the commits:
- Use an extension to save replays asynchronously #1253 16ccd0c
- d08a307
- f14cbf5
- 871c67d
- 0ebfa90
- add
Shavit_AdditionalReplayPath, edit & renameShavit_ShouldSaveReplayCopytoShavit_AddAdditionalReplayPathsHere, editShavit_OnReplaySaved, editWriteReplayFrames, and make compatible with srcwr💾 v4.0.0 eb079a6
v3.5.1 - small things
previous release: v3.5.0
next release: v4.0.0
v3.5.0...v3.5.1
don't forget to checkout 3.5.0's changelog: https://github.com/shavitush/bhoptimer/releases/tag/v3.5.0
changes:
- fix olivia's name in the author lists f0ccf6d
- shavit-wr.sp - add back buttons to !delete menus (QoL) 877b71a @mourningsickness @rtldg
- Keep all menus open forever bb09568
- a few that were missed in a pass a couple years ago
v3.5.0 - too much, too little, and too late
previous release: v3.4.2
next release: v3.5.1
v3.4.2...v3.5.0
this is too dense and unreadable. I'm sorry...
- random things
- move around the absolute minimum time (0.11s) stuff 2dbb211
- fix wrong variable used in
LessStupidGetMapDisplayName(relevant for tf2 & csgo) afa6b07 - reset sv_enablebunnyhopping & sv_airaccelerate flags for late loading #1187 @xhaooy 830ebc1
- reset hp on restart #1187 @xhaooy 9eceb51
- fix showing 100% perf with no jumps on scroll @Nairdaa a4c214c
- fix some native definition & optional api things 9210b84
- add note about
startinair(the style setting) 86b3643 - note for
autostrafe(the style setting) option 4 / basic autostrafer v3.4.2...master - round up fractional ticks when calculating finish time afdf236
- Godmode fix for DMG_CRUSH and point_hurt #1188 @azalty ca60971
- fix hsw sync @Nairdaa 5a0b8c2
- get the shavit_misc_prespeed 1&&>=3 working again with the on-ground timer 309aa7a
- add
bhop_wasdtoshavit-mapfixes.cfg60c4f39 - use correct gravity for LG #1197 @lilac1337 f9bb0a3
- the default LG style in bhoptimer has always been
"gravity" "0.6"but btimes used 0.5 and a lot of people switch to 0.5 so this is just "fixing" the default in bhoptimer...
- the default LG style in bhoptimer has always been
- stripper cfg touchups 9b96f9d
- make all the filters use more normalized structures so that one sourcepawn stripper replacement can parse these files...
- add jumpstats to readme https://github.com/shavitush/bhoptimer/pull/12007 @enimmy 835678d
- add backwards hsw sync #1194 @Nairdaa c2dbf6d
- drop support for sourcemod 1.10 16a927c
- Remove dhooks include file #1208 @Awesomerly 659d70a
- use style runspeed instead of m_flMaxspeed for tas (and autoprestrafe) 3609adf
- (autoprestrafe is broken on 250 runspeed otherwise...)
- add a note for
a_or_d_onlyinshavit-styles.cfg2a23c05 - document some API structs fee7df2
- Clarify logic for testing writeability with faketestfile_69.replay #1217 @Nairdaa 1b67644
- do something to not error on negative
sv_frictionand negativesv_accelerate187bd2c- like on
bhop_ins_mariooo
- like on
- fix some colors in advertisement messages not working ad48aa3
- check & use
sv_autobunnyhoppingeven if the game is not CS:GO (and it's in CS:S as of the 2025-02-18 update! Thank you @misyltoad) 94ebb97 - other gamedata stuff for 2025-02-18 update: #1226 90a6714
- Make sure MaybeDoPhysicsUntouch() is called in ProcessMovementPost 2c093bb
- swap sm_p to sm_noclip in shavit_misc_noclipme description #1230 @lilac1337 78f55f9
- add shavit_misc_unnocliponrestart to disable noclip on restart #1232 @mourningsickness 2726865
- Add FirstLogin to database and profile #1234 @mourningsickness 3d0cd96
- Mark Steam Datagram Relay IPs 983a3c8
- (shows "Steam Datagram Relay" for the player's country if that's how they last connected)
- fix: prevent unnecessary jump when using !r or switching to TAS (brought to attention by @akanora) 7e1c3f0
- shavit-chat - fix chat messages near (or at) max length overflowing into a broken message #1241 @mourningsickness 4910500
- this increases the user chat message buffer size
- menu & hud things
- save
!wrmenu record page for back button 9423ef7 - timeleft hud - show seconds starting at 150s 3a1e6a6
- untested In Start/End zone speed removal if !hud removed speed... f6fdd7b
- increase menu-input blocker time e8ff7fe
- this is the thing that's used when you have a checkpoint menu open and then a mapvote comes up, for example
- add keyhint forwards and forceUpdate #1201 @enimmy d57ec73
- allow the !recentrecords menu to be sorted by style 4652e36
- fix error spam from PR #1201 23fa606
- add player PB to !style menu #1239 @mourningsickness b1a2f06
- save
- checkpoint things
- Make sure CSS uses the ladder checkpoint stuff c2a9017
- this also changes the checkpoint struct size because we need to save some internal ladder variables the engine uses
- ALWAYS include this (so third-party plugins don't have to be rebuilt sometimes) 2013968
- save m_afButtonDisabled & m_afButtonForced in checkpoints (mainly for player_speedmod) bf5ec55
- this makes kz_bhop_genkai a bit more bearable at times
this also isn't perfect since restarting doesn't reset them - csgo gamedata d93ed28
- this makes kz_bhop_genkai a bit more bearable at times
- Prevent gB_ForceJump when teleporting to a checkpoint in the start zone #1240 @akanora cd4f1c9
- Make sure CSS uses the ladder checkpoint stuff c2a9017
- zones things
- make
shavit_zones_box_offseta bool (which also affects height offset) & correct TF2 bounding box values #1179 @jedso f7ff341-
Summary
Previously with offsets: - Zone is 62/2 units raised off the "ground". - Zone is 62/2 units shorter than the beams showed. Previously without offsets: - Zone is 62/2 units raised off the "ground". - Zone is 62/2 units shorter than the beams showed. Now with offsets: - Zone is 62/2 units raised off the "ground". - Zone is 62/2 units shorter than the beams showed. Now without offsets: - Zone is 0 units raised off the "ground".
-
- make
...
v3.4.2 - Long overdue edition (Extended Director's Cut)
previous release: v3.4.1
next release: v3.5.0
v3.4.1...v3.4.2
Bug fix release for v3.4.0 / v3.4.1. See the changelogs here: https://github.com/shavitush/bhoptimer/releases/tag/v3.4.0
https://github.com/shavitush/bhoptimer/releases/tag/v3.4.1
v3.4.1 - Long overdue edition (Director's Cut)
Bug fix release for v3.4.0. See the changelog for v3.4.0 here: https://github.com/shavitush/bhoptimer/releases/tag/v3.4.0
- fix leaderboard times from mysql not parsing correctly (after the deprecation of exact_time_int in v3.4.0 894b039) 4fee1e4
- Mysql returns formatted floats with commas when it's >=1000 (like
2,095.12345123). The comma makesDBResultSet.FetchFloat(atofinternally) return2instead of2095.12345123.
- Mysql returns formatted floats with commas when it's >=1000 (like
- potentially fix segmented replay saving edge case & add some error logging if replay files can't be opened for writing 5ac888c
v3.4.0 - Long overdue edition
Edit 2022-10-22: attached updated gamedata for CSGO (Windows + Linux)
v3.4.2
- mark
SteamWorks_SetHTTPRequestAbsoluteTimeoutMSas optional inshavit-zones-httpf16b9aa - faster mysql query for the deprecate
exact_time_intstuff (and more migration logging) 07727e1- the transaction batches turned out to be REALLY slow
v3.4.1
- fix leaderboard times from mysql not parsing correctly (after the deprecation of exact_time_int in v3.4.0 894b039) 4fee1e4
- Mysql returns formatted floats with commas when it's >=1000 (like
2,095.12345123). The comma makesDBResultSet.FetchFloat(atofinternally) return2instead of2095.12345123.
- Mysql returns formatted floats with commas when it's >=1000 (like
- potentially fix segmented replay saving edge case & add some error logging if replay files can't be opened for writing 5ac888c
v3.4.0
Note: Release includes eventqueuefix 1.3.1 which works with Sourcemod 1.10/1.11 Windows/Linux
Thanks to all the contributors who pushed this release along by making PRs which made me feel guilty for slacking.
- 😵💫 fixed broken implementation of
shavit_misc_bad_setlocalangles_fixe322606 - added something to draw which zone axis is being edited 1c82605 ea8f14f
- removed admin requirement for debug targetname hud setting 68a57b9
- fixed
shavit_misc_noweapondropson TF2 #1160 @jedso 578636d - use a signature instead of netprop+offset to find surface friction used by shavit-tas #1158 @NukoOoOoOoO 21c6204
- fix the
velocity_limitstyle setting being avoidable with +duck spam (mainly practical on auto + velocity_limit styles...) 5fc891d - added chat typo handler for
1r->!r&1b->!bbdea503 - remove the steamid verification kick thing in OnClientPutInServer #1047 @BoomShotKapow b78ae36
- save tier list position in !nominate menu 864b463
- fix
shavit_stats_use_mapchoosernot being compatible with workshop maps #1168 3d16f5f a1a1c6a - add translation for
!extend& updatem_iRoundTime#1172 @MSWS f4cd4e9 - add
!autorestart#1170 @MSWS e3aab46 fdbbc11 - set forwardmove & sidemove on replay bots because why not b115726
- make the autostage thing start at 1. starting at 2 was dumb 5ccd0ef
- deprecate
exact_time_int894b039 87c2b1e 236829c 7a79fc0 fd687dd - readd foreign keys to playertimes from users table #1175 #1176 @jedso https://github.com/shavitush/bhoptimer/pull/1176/commits
- recreate mapzones table on sqlite with proper incrementing id #1177 @jedso https://github.com/shavitush/bhoptimer/pull/1177/commits
- show timer in hud when started (prespeeding) in start zone #1174 @lilac1337 b868208
- mark ripext natives as optional in
shavit-zones-http.sp8eefcd5 - filter invalid maps in
!map,!nominate, and map votes (to hopefully help with #1178) 09c0d22 - followup for ccname & chat rank bugs again 783fd4f
v3.3.2 - bug fixes 2 📲 👙 🍌 ⛩ 🕗 🖋 🐰 🚨 🐂 😘
- some czones bugfixes
- made the !editzone adjust menu not have multiple pages bf25061
- some random things & doc updates 898c463 @BoomShotKapow 7878784
- also only increases strafe count when not-on-ground now
- added
bhop_avantasiato mapfixes to setrngfix_triggerjump 0because of one of the roofs with the ac units or whatever they are @lilac1337 cec7805 - made looping replay bots spawn on different ticks to hopefully help the people who get the occasional script execution timeout f703aca
v3.3.1 - bug fixes 🥤
A release for all the bugs that cropped up for the zones stuff & for the ccname thing.
I did make releases for a couple (v3.3.0-2 through v3.3.0-4) but that was sloppy versioning and then I was too busy to make a release with more of the bug fixes...
Eventqueuefix note: the release zip includes a version for Sourcemod 1.10 & for Sourcemod 1.11. The 1.11 version comes from @BoomShotKapow hermansimensen/eventqueue-fix@ce28b30. More info here hermansimensen/eventqueue-fix#19. It's needs more testing according to @hermansimensen so feel free to help :) nevermind
- fixed a couple of ccname bugs that came from v3.3.0 0360b95 d78393f
- split mapzones form & target migration so the query can be compatible with sqlite 6dc1fb6
!addspawnbroke afterzones wip prso bdfa61e- added
a_or_d_onlystyle setting so you can have a single merged style for a-only & d-only if you want 64bd95a 7e44264 (#1150) - reverted a change made to the
!topquery so we have the pretty commas separators again 1449b9b - added a menu for
!deletesetstart8900e4b - fixed zones not deleting from the database if you create then delete them without reloading the map fb42a37 4ac0b4d
- fixed zones sometimes not being created on maps that autohook buttons & other prebuilt zones 0f7360f
- don't draw zone boxes around hooked buttons 27ec578
- added hooking by origin (
ZF_Originzone flag) & fixed a lot of broken button stuff 5c14dfc- really should've used a different struct member for
ZF_Origin/ZF_Hammeridinstead of using flags but whatever :^)
- really should've used a different struct member for
- made shavit-mapchooser not break if shavit-rankings throws errors about a sqlite db (#1149) a778908
- this is more of a bandaid until I make shavit-rankings queries for sqlite & postgresql (#1148)
v3.3.0 - zone stuff & bloat
Note: Contributors and more copyright attributions were added to files and plugins mostly by skimming through git blame. If a name was missed or should be added/removed, please let me know (also the ordering of names was pretty random)
Edit: bhoptimer-v3.3.0-2.zip = includes 0360b95
Edit: bhoptimer-v3.3.0-3.zip = includes 6dc1fb6
Edit: bhoptimer-v3.3.0-4.zip = includes bdfa61e
zone stuff
- main commits e3aac2d 4315221
- new cvars:
shavit_zones_usesql: Whether to automatically load zones from the database or not. If you're using standardized zones from some source withshavit-zones-http, then you'd change this cvar to0for example.shavit_zones_useprebuilt: Whether to automatically hooktrigger_multiplezones likeclimb_zone*andmod_zone*.shavit_zones_usebuttons: Whether to automatically hookclimb_*buttons...
- you can now hook trigger_multiples, func_buttons, and trigger_teleports by their hammerids or by
targetname(trigger_multiple/func_button) /target(trigger_teleport).- trigger_teleports should usually be hooked by hammerid because hooking by target is a bit iffy.
- there's a menu that shows all the hookable things and the player's distance to them. also a menu option to hook the thing the player is looking at...
- oh yeah, it's
sm_hookzoneand also in the Timer Commands menu
shavit-zones-http.spadded. maybe sourcejump can use it or something.- this plugin is also a good example of how to use the new APIs for adding zones from other plugins.
- The dependencies & headers (sm-json & ripext) for this plugin are not included in the bhoptimer repo. You'll have to retrieve them yourself for now if you intend to compile this.
- zone points are now be normalized (sql migration and when sending to db). corner1 turns into the zone mins and corner2 turns into the maxs.
- a
"speed"zone config thing was added for zones. you can add this key toshavit-zones.cfgto make zone beam textures move. - api and stuff:
zone_cache_tis now usable for adding zones from other plugins.- forward
Shavit_LoadZonesHere()is where you should addzone_cache_t's from other plugins
- forward
- removed
Shavit_GetStageZone()as it doesn't work well with multiple stage zones. - added
Shavit_ReloadZones(),Shavit_UnloadZones(),Shavit_GetZoneCount(),Shavit_GetZone(),Shavit_AddZone(), andShavit_RemoveZone() MAX_ZONES64->128.MAX_STAGES51->69.
everything else
- added an option to use an duplicate other players' checkpoints (#1142) @sh4hrazad 487e3db
- You can toggle this with
shavit_checkpoints_useothers(default: 1) - new parameters added to
Shavit_OnTeleportPre,Shavit_OnTeleport,Shavit_OnSavePre,Shavit_OnSave,Shavit_OnCheckpointMenuSelect, andShavit_TeleportToCheckpoint
- You can toggle this with
- changed czone settings to let all zone types be configurable. made the settings for bonuses apply to every bonus ab73e36
- added
Zone_Speedmodso oblivious could have fun bonuses acf47a1- avoid putting these inside of entites that trigger a map's
player_speedmodbecause they'll probably override each other randomly - also gravity zones should show the gravity amount in zone edit menus now
- avoid putting these inside of entites that trigger a map's
- added the
!maprestart&!mapreloadaliases a23348d - add csgo stripper:source configs for
workshop/2117675766/bhop_craton,workshop/1195609162/bhop_bless, andworkshop/859067603/bhop_blessd816423- also a config for a shit
mod_zone_startonbhop_n0bs1_csswas added
- also a config for a shit
- added
ent_fireto cheat commands list since it can be used on csgo bc62b92 - added
HUD_SPECTATORSDEAD/ !hud optionSpectator list (only when dead)to hide the spectators list when you're alive because people spectating me makes me nervous 😵💫 22a68b4 - added
shavit_core_hijack_teleport_angles(temporary?) TODO description 53463d8 - added an option to toggle the basic autostrafer on the autogain/velocity/oblivious autostrafer thing c2e5076
- +
Shavit_SetAutogainBasicStrafer, +Shavit_GetAutogainBasicStrafer,sm_autogainbss,+/-autogainbss
- +
- slay zones were changed slightly so the player-killer has a 100% success rate..... but make it only slay if the timer is running 96ef03e
- made the !wr menu also print steamids to chat like the !profile menu does 7dddfe2
- added sm_beamer d8a9dd7
- added
shavit_misc_bad_setlocalangles_fixfor CS:S/TF2. fixes somefunc_rotatingthings that stop rotating 79baadf - the player's current value from
player_speedmods is now reset to 1.0 on timer start. this shouldn't affect many things but it does help ondeathrun_steam_works8f11f9a- open an issue or join the discord if you encounter any problems with this please.
- fixed the
Timer Commandsadmin menu category disappearing or being wiped when some bhoptimer plugins are reloaded 09917f9 !ccmsg offand!ccname offwere changed slightly ||i can't remember what the difference is now|| bfa9aa4- fixed some flag & admin checks for shavit-chat ranks when reloading or removing admin from people 41f5050 affac70
- added buttons, scrolls, and anglediff to
huddata_t8e0e5ec - added back button to admin command menus 7c251ef
- sqlite now automatically runs migrations too fa6ccdb
- added
shavit_core_log_sqland removedDatabase2/Transaction2methodmap nonsense 0f44dd1 - added an auto stage zone numbering thing for #1147 d922ceb
- first stage thing is given
2... I'm not really sure what I want to do for this...
- first stage thing is given
- playtime saving sql queries from disconnecting players are now buffered & grouped into a transaction. so instead of on map change spamming like 12 queries, with the delay between queries for each, the timer will now just have to send one transaction to hopefully help with some slight sql query blockage on map change... fa28502
- added
shavit_replay_disable_hibernationfor CS:S. 9cbed19 - fixed
permissionstyle setting typo that came from the v3.1.0 release 1a03bda - updated tf2 gamedata for the 2022-06-21 update 178d42e
- added some code to help deal with different sql db drivers. should help with porting queries to sqlite (shavit-rankings) & postgresql (sm 1.11) 4486528