changed natives:
Shavit_OnReplayStart, Shavit_OnReplayEnd, Shavit_GetReplayBotFirstFrame, Shavit_GetReplayBotIndex,
Shavit_GetReplayBotCurrentFrame, Shavit_GetReplayTime, Shavit_GetReplayStatus, Shavit_StartReplay
added natives:
Shavit_IsReplayEntity
thanks carnifex for telling me how to make replay props
Shavit_GetClosestReplayTime(client, style, track) -> Shavit_GetClosestReplayTime(client)
+ Shavit_GetClosestReplayStyle(client)
+ Shavit_SetClosestReplayStyle(client, style) // to be used eventually for allowing you to change replay style to compare to
+ Shavit_GetClosestReplayVelocityDifference(client, threeD)
+ shavit_replay_timedifference_tick
* cleanup GetTrackName()
* a few more changes to change mod_zone_bonus & add Track_Bonus_Last
* fix undefined symbol sTrack
* fixup !bwr for multiple bonuses
* fix GetTrackName() after I broke it
* add bonus number param to help text of sm_bwr
* fix !wr after I broke it adding !bwr [bonus number]
* ignore checkpoint zones for now because nothing is ready for them
* update points for bonus #2 through #8 at same time
so instead of something like `9 (track count) * 22 (style count)` queries, it'll do `3 (main, bonus1, rest of bonuses) * 22 (style count)` queries and the rest of the bonuses on the recalc all in the same query
dynamic time difference is now disabled by default, and will be using a shortened convar name. it is reccomended that if you do use the cheap method to set it to 2 or 3 as not having an early reference point was the main cause for time skipping.
"Also, when you go back to startzone (not with !r) your dynamic time is not back to 0 when you have more than 10 seconds on the timer (you can have even 30 on it, walk back to startzone, walk out and it will show -10 sec on dynamic timer right away)."
* Add Convar to restrict noclip in start zone
* remove unused translation file
* Require the enum struct size to be passed to natives
This should hopefully prevent Invalid memory access from plugins compiled on older version of the timer. If an enum struct is changed then plugins compiled on older version of the timer will be forced to be recompiled to match the version they are using.
* Fix save states not tracking preframes
Misc. name changes for natives. And a somehow possible exception fixed when getting a record.
* Add hitbox/center mass cvar (#930)
* Add optional cvar for player center of mass/player hitbox for touching zones
* 2.5.7a Final Changes
fix spelling mistake
add missing optional native
tabify spaces
* Tick offsets, new timing method
Added the tick fraction system from Momentum Mod. Timer is now run within ProcessMovement
* Add StartReplay Native
* Remove debug code
* remove extra gamedata
* Change Hook To Post.
* Increment version
Co-authored-by: KiD Fearless <kidfearless1@gmail.com>
Co-authored-by: Nairda <38843773+Nairdaa@users.noreply.github.com>
* Add Convar to restrict noclip in start zone
* remove unused translation file
* Require the enum struct size to be passed to natives
This should hopefully prevent Invalid memory access from plugins compiled on older version of the timer. If an enum struct is changed then plugins compiled on older version of the timer will be forced to be recompiled to match the version they are using.
* Fix save states not tracking preframes
Misc. name changes for natives. And a somehow possible exception fixed when getting a record.
* Add hitbox/center mass cvar (#930)
* Add optional cvar for player center of mass/player hitbox for touching zones
* 2.5.7a Final Changes
fix spelling mistake
add missing optional native
tabify spaces
Co-authored-by: Nairda <38843773+Nairdaa@users.noreply.github.com>
* Implement prerun feature for replay
* Update shavit-replay.sp
* Update shavit-replay.sp
* Using blacky's method to handle prerun
I know it is kinda copy-pasta, but it is the best way that I can come up with :(
* I suck at naming 👎
Now I can push database migrations without making the plugin's users do the querying on their own.
List of migrations:
* **Converted all SteamIDs in the database from SteamID3 to Steam Account ID format. The difference is simply stripping of the [U:1: prefix and ] suffix. This change speeds up the queries and reduces the database's size by a lot.**
* Removal of `workshop/` paths from all map names in the database.
* Added index to `lastlogin` to speedup the filtering I added to rankings with `shavit_rankings_llrecalc`.
* Removed `country` from database. It was completely unnecessary.
* Converted IP addresses from plaintext to a single 4 bytes integer.
* Converted `date` of records from a string to integer.
Example of breakage:
1. Request playback.
2. When the replay playback is about to end (the delay where the bot idles in the end zone), stop the playback.
3. Request playback ASAP.
This cvar can allow you to disable attacking buttons for bots. 0 will make the bots not press mouse1/mouse2 at all. 1 will only allow shooting, 2 will only allow right clicking and 3 will allow everything.
Replay bots will hit triggers/doors. This is necessary to fix an issue that recently got reported on Discord.
This will be problematic only in specific maps such as bhop_addict_v2 or kz_bhop_yonkoma, where music plays when the player has finished the map.
Some replays would not overwrite because of disrepancy between record time and frame count. This commit makes it so the replay saves as long as it contains less frames than the old one, which usually results in less time spent running.