Commit Graph

243 Commits

Author SHA1 Message Date
rtldg
cdc0c651b9 make Shavit_PrintToChatAll a native so it can use gB_StopChatSound 'better' 2021-05-06 02:15:05 +00:00
rtldg
f838cfdfc6 misc FormatSeconds change 2021-05-06 01:39:35 +00:00
rtldg
94a27a954e add Shavit_GetClientLastStage, Shavit_GetStageWR, and Shavit_GetStagePB 2021-05-01 00:42:41 +00:00
rtldg
96281d2f85 more wip stage stuff 2021-04-30 07:06:18 +00:00
BoomShot
2697e6c5b1 boomshot stages stuff
Move remaining shavit-rankings dependent calls (#1043)

If the shavit-rankings plugin isn't loaded, the calls to its natives will cause an exception and the client's messages will not be formatted correctly.

Add native for getting the number of stages

Implemented native for getting number of stages and allowed practice mode to view stage times.

Added WR stage time comparisons for when a user enters a stage zone.

It's important that the stage zone number starts at two. It may be preferred to remove the user input of stage numbers and just auto increment as stages are added. Stage 1 should be the start zone and just have any additional stages increment from there. I'll readdress this if it's necessary.

Add translations for WR stage time comparison messages

Accidentally undid a change from a previous commit.

I didn't have a merge conflict, so I'm unsure why it got replaced.

Combine stage time translations into one

Implemented suggestions to translations and changed the stagetimes table

The stagetimes table no longer uses auth as a primary key, so it will now replace the old WR stage time.
However, the auth is still stored, so it can be used to reference the player and potentially a players PB.

Update callback name for replacing stage time for logging.
2021-04-19 15:49:47 +00:00
rtldg
7a8c735a28 stop duplicating replay frame buffer when persisting data 2021-04-11 19:37:01 +00:00
rtldg
57e9072b19 remove bot_quota, disable it, and call BotAddCommand directly 2021-04-11 01:20:06 +00:00
rtldg
cb39acc33b remove stylesettings_t and break 3rd party plugins 2021-04-08 21:19:18 +00:00
rtldg
5c772b06e3 hopefully fix checkpoint timescale stuff 2021-04-07 17:21:53 +00:00
rtldg
efea62a023 mark some forgotten natives as optional 2021-04-07 15:37:14 +00:00
rtldg
bbca665d4f fix errors i made 2021-04-07 14:44:42 +00:00
rtldg
a0a74b8eaa too tired for commit messages but i promise this is a good one and if you're not satisfied then we will fully refund your purchase of the bhoptimer 2021-04-07 05:36:15 +00:00
rtldg
d272aae97b bad thing to not let you pause while crouching 2021-04-06 18:10:59 +00:00
rtldg
6113b0c3dc checkpoint code churn 2021-04-05 18:03:19 +00:00
rtldg
7ce9878a50 fix some errors 2021-04-02 19:11:34 +00:00
rtldg
7d6d906060 moving some stuff from stats to rankings
shavit_stats_mvprankones -> shavit_rankings_mvprankones
shavit_stats_mvprankones_maintrack -> shavit_rankings_mvprankones_maintrack
Shavit_GetWRCount, Shavit_GetWRHolders, and Shavit_GetWRHolderRank now in shavit-rankings.sp
2021-04-02 18:15:00 +00:00
rtldg
4dbb371d4f forgot closestpos.inc 2021-04-02 15:14:26 +00:00
rtldg
9c54cd733c maybe working eventqueuefix segmented checkpoint integration 2021-03-29 17:18:26 +00:00
rtldg
01c0ab9639 preemptively add some stuff for the next replay version format 2021-03-25 04:57:17 +00:00
rtldg
56c3b2af00 +some natives +less resizing for player frames arraylist 2021-03-25 02:05:25 +00:00
rtldg
19c5ccb7f3 add sm_ccadd and sm_ccdelete 2021-03-22 09:42:03 +00:00
rtldg
916f141c48 rename some variables and stuff 2021-03-22 06:45:02 +00:00
rtldg
8d4ffd443b ReplayStatus/ReplayType -> int. +Shavit_StartReplayFromFrameCache(), +Shavit_StartReplayFromFile(). change replay file reading so i can have a replayfile_header_t which can be used to read stuff in DeleteReplay easier 2021-03-22 05:59:33 +00:00
rtldg
cb63c59352 add Shavit_GetReplayButtons() and fix error in #1033 2021-03-21 09:16:07 +00:00
rtldg
e9db6dcb02 add Shavit_GetReplayStarter 2021-03-21 02:10:41 +00:00
rtldg
9e43f67fc3 add looping, dynamic, and prop replay bots
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
2021-03-19 03:03:24 +00:00
rtldg
8b48ae8c91 add velocity difference
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
2021-03-13 08:19:51 +00:00
rtldg
17847d7cb0 add more setstart cmds, add anglesonly for floating bonuses, add missing create table, fix some sql ordering 2021-03-11 09:37:48 +00:00
BoomShot
35206c7ded Add missing parameter to SetStart native 2021-03-11 00:34:51 -05:00
BoomShot
21cd90597b Add Natives for SetStart/DeleteSetStart 2021-03-10 23:58:32 -05:00
Nairda
687cb0a96a Update dhooks.inc 2021-03-09 08:04:04 +00:00
KiD Fearless
f93a47742b Update version 2021-03-07 14:21:01 -07:00
rtldg
65f58219bd misc changes & stockify GetSpectatorTarget 2021-03-07 03:25:56 +00:00
rtldg
3ca87e27c8 new natives & chat rank stuff & translations
natives:
Shavit_GetWRCount(client) -> Shavit_GetWRCount(client, track, style, usecvars)
Shavit_GetWRHolders(track, style, usecvars)
Shavit_GetWRHolderRank(client, track, style, usecvars)

configs/shavit-chat.cfg:
added w (WR Count) and W (rank out of WR holders) to ranks prefix options
added {pts}, {wrs}, and {wrrank}

translations/shavit-chat.phrases.txt:
added a lot here... make sure you update your #format, parameter numbers, and translations...
2021-03-06 09:14:35 +00:00
rtldg
0caa746290 initial DynamicChannels stuff 2021-03-04 10:31:11 +00:00
rtldg
ee11fa10d4 add Shavit_DeleteWR. refactor run deletion & wipeplayer 2021-03-04 05:53:41 +00:00
Joe
83b82f2355
Merge pull request #1016 from deadw1nter/delete_replay
Add map name check to DeleteReplay
2021-03-04 05:19:20 +00:00
rtldg
720ddeed1d add Shavit_GetPlainChatrank. add {cr} to shavit_misc_clantag 2021-03-02 22:05:03 +00:00
rtldg
41f62f0a8f add the steamid to cpcache so segmented checkpoints don't keep starting in practice mode 2021-03-02 18:56:13 +00:00
rtldg
14741a66c1 this stuff is stored in the timer_snapshot_t 2021-03-02 02:37:25 +00:00
Joe
b62352835f
Merge branch 'very_good_yes' into delete_replay 2021-03-01 02:12:30 +00:00
rtldg
020a218fa6 lowercase parameters in shavit.inc 2021-02-28 21:03:16 +00:00
rtldg
0e5eef338d newline + path -> sPath 2021-02-28 00:38:47 +00:00
Joe
27dfcd740f add timestamp to finish-forwards. add Shavit_ShouldSaveReplayCopy and Shavit_OnReplaySaved 2021-02-27 19:39:21 +00:00
Nairda
5730148d0a
add brackets (#1019) 2021-02-27 18:49:15 +00:00
Joe
a6ff5dd94c
Avg and max velocity (#1017)
Adds Shavit_GetAvgVelocity(), Shavit_GetMaxVelocity(), Shavit_SetAvgVelocity(), Shavit_SetMaxVelocity().
Adds `float avgvel, float maxvel` to Shavit_OnWorldRecord, Shavit_OnFinish_Post, Shavit_OnFinish, Shavit_OnWorstRecord.
Adds avg/max velocity to cp_cache_t and timer_snapshot_t
Prints avg/max velocity to run-finish message.
2021-02-27 18:33:07 +00:00
Joe
5351e49e76 spread avg/max velocity into as many places as possible 2021-02-26 18:28:40 +00:00
Joe
7b2fb3be65 store avg/max velocity in persistent data & cpcache 2021-02-26 17:53:42 +00:00
Joe
71e804420c change avg/max velocity to work off frames 2021-02-26 17:34:29 +00:00
Joe
07e07fd7c8 fix typos for avg/max velocity 2021-02-26 02:46:08 +00:00
KiD Fearless
f84e271c55 Add SetStyleSetting Natives #877 2021-02-25 18:28:08 -07:00
deadw1nter
6ae4ce15d9 Add mapname param to OnWRDeleted 2021-02-24 20:04:34 +08:00
Joe
d4893ec713 add Shavit_GetAvgMaxVelocity() and hope for best 2021-02-23 05:32:13 +00:00
Joe
df8b64d1b3
add Shavit_GetTimesTeleported() (#1012)
* add Shavit_GetTimesTeleported()

* add Shavit_GetTimesTeleported() to the optional native section

* Use ++ instead of += 1

Co-authored-by: KiD Fearless <kidfearless1@gmail.com>
2021-02-21 17:26:30 -07:00
kidfearless
b2da978f73 re-work shavit-core to use GetStyleSetting stocks. Log error when using Shavit_GetStyleSettings. 2020-12-14 15:02:59 -07:00
kidfearless
1011629ec4 Add helper natives for Shavit_GetStyleSetting 2020-12-04 07:36:24 -07:00
kidfearless
db27bdce14 Added Shavit_GetStyleSetting, deprecated Shavit_GetStyleSettings 2020-12-01 08:43:06 -07:00
Joe
a1e60b39fa
Multiple bonuses (#982)
* 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
2020-11-30 09:40:45 -07:00
Joe
3d670a7812
allow !resume when not on the ground (#966)
* allow !resume when not on the ground

* block !pause if moving / velocity != 0.0
2020-11-30 09:36:05 -07:00
Joe
f69f761685
only print the stage time message once per stage (#965)
* only print the stage time message once per stage

* show stage message every time when segmenting

* add missing Shavit_OnStageMessage forward include
2020-11-30 09:35:40 -07:00
kidfearless
91585c2fd1 Update version to signify dev builds 2020-11-30 09:33:36 -07:00
KiD Fearless
06addf326f Implement the ProcessMovment forwards 2020-11-23 13:56:30 -07:00
kidfearless
c52c3c3e79
Add account id validation when deleting replays
* Fixed bugs

* Make it optional

* no empty line

* Update shavit-core.sp

* How can I didn't notice this before
2020-11-10 12:40:53 -07:00
KiD Fearless
b20a2c6762 Update documentation and change some verbage 2020-11-10 12:40:06 -07:00
Joe
c40ab49fac
Wr suggestions (#972)
* make !wr say map not found when map not found...

* use translation string for 'map was not found'

* stockify GuessBestMapName() and also use in sm_tier

* fix formatting

Co-authored-by: KiD Fearless <kidfearless1@gmail.com>
2020-10-17 15:41:43 -06:00
Herman Simensen
35878fc81d
Fix offset bug and add GetStageZone native (#948)
* fix bug and add GetStageZone native

* Update Native

Now preloads stage zone data on map start.
2020-10-04 07:54:48 -06:00
Q
d4d51c752d Fixed bugs 2020-08-20 09:44:27 +08:00
KiD Fearless
bcc63e13b1 Added Shavit_OnPlaySound and shavit_sounds_enabled 2020-08-05 18:36:26 -06:00
Nairda
533f3bccc9
Add delete checkpoint & convert checkpoints to lists (#946)
* Update shavit-misc.phrases.txt

* Update shavit-misc.sp

* remove debug lines

* Update shavit-misc.phrases.txt

* Update shavit-misc.sp

* Works.

deadwinter Today at 17:44
i fixed it myself
so
it is safe to merge now
@KiD

* Add forward for when checkpoints are deleted

* Adjust OnTeleport forward to match other checkpoint natives

* Create function for DeleteCheckpoint. Added documentation.

Co-authored-by: KiD Fearless <kidfearless1@gmail.com>
2020-08-03 17:41:52 -06:00
KiD Fearless
3c345790a5 fix bhopstats include for latest sm 2020-07-22 17:50:03 -06:00
Dustin
06aa539d9e
Added Shavit_GetClientCompletions (#908)
* Added Shavit_GetClientCompletionss

* Misc. changes

Co-authored-by: KiD Fearless <kidfearless1@gmail.com>
2020-07-10 22:01:28 -06:00
KiD Fearless
6ca4396163 Don't compile debug messages, Fixup naming 2020-07-10 21:47:01 -06:00
hermansimensen
fb5e657fc3 add distance to forward 2020-07-10 23:17:23 +02:00
hermansimensen
3baca9aaf8 new forwards, and native changes
Also added support for checkpoints
2020-07-10 23:10:44 +02:00
hermansimensen
8005b3fd6d Fix offsets, add offset natives for styles like TAS
Also doesn't calculate offsets when NoZAxisSpeed is set to 0 and player is jumping from within the startzone, as requested by rumour.
2020-07-10 18:06:43 +02:00
Herman Simensen
dec640f2b4
New timer method, tick fractions & StartReplay native (#931)
* 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>
2020-07-08 18:00:28 -06:00
kidfearless
48f051f78c
Update very_good_yes from master (#932)
* 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>
2020-07-07 17:37:17 -06:00
KiD Fearless
b2057fcf7b Fix missed merge conflict 2020-06-16 21:04:02 -06:00
KiD Fearless
8f0fd02f32 Merge branch 'very_good_yes' 2020-06-16 21:01:24 -06:00
Nairda
54a53db13b
nairda bad-Fix FormatSeconds stock (#923) 2020-06-14 15:26:28 -06:00
Nairda
d1308939bd
Add dynamic timer difference (#921) 2020-06-10 11:16:15 -06:00
Nairda
f2ae4b050d
Fix hud error bug spam in server console and prespeed on replay (#918)
#BlameNairdaIfItBreaks
2020-06-05 22:00:53 -06:00
Nairda
dff6f61145
fix replay bug (#906)
Speculatory fix for "replay bug"
2020-05-05 08:19:54 -06:00
deadw1nter
e753b7bdd8
Remove extra prerun frame, Add dynamic time difference (#890)
* Make clearpreframe optional

* Remove extra prerun frame, Add dynamic time difference
2020-04-25 16:13:52 -06:00
KiD Fearless
9a4cdef528 Update documentation 2020-04-12 13:23:03 -06:00
KiD Fearless
1671f8380c Update FormatSeconds to handle negative time
* Remove shavit_hud_prerun_countdown

* Replace %with %%
2020-04-10 11:38:31 -06:00
deadw1nter
91f83e2c2a
Clean up prerun code + Add prerun countdown to hud (#886)
* remove timer preframe variables

* Prerun should only record when you are in start zone

* Make clearpreframe optional

* add prerun countdown to hud
2020-04-10 09:57:21 -06:00
KiD Fearless
12e0df79e0 increment version 2020-04-04 15:17:18 -06:00
KiD Fearless
d590934324 Add jump multiplier and jump bonus to shavit-styles.cfg 2020-04-04 14:35:14 -06:00
Nairda
986ebcd427
segmented prespeed fix (#883)
* Update shavit-misc.sp

* Update shavit-replay.sp

* Update shavit.inc

* Update shavit.inc

* Update shavit-misc.sp

* Update shavit-replay.sp
2020-04-04 11:17:31 -06:00
KiD Fearless
88ca8c8159 Implement set current checkpoint 2020-04-03 15:07:08 -06:00
KiD Fearless
1387b5451a Added more checkpoint natives and forwards 2020-04-02 21:28:26 -06:00
deadw1nter
d8fbcbb780 Implement prerun feature for replay (#882)
* 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 👎
2020-04-02 14:15:19 -06:00
KiD Fearless
3283a26d45 Added Convar_class methodmaps for timer convars 2020-01-22 17:16:37 -07:00
KiD Fearless
135242af3d Update Version 2019-12-29 21:01:54 -07:00
KiD Fearless
8f39aa6521 Added stages to shavit-zones 2019-12-29 21:00:06 -07:00
KiD Fearless
32e994aa18 Added dynamic timescales.
Start zone will no longer enforce 1.0 style speed.
2019-12-19 11:53:21 -07:00
KiD Fearless
c42d14f46d Added Shavit_OnTrackChanged and Shavit_OnReplaysLoaded 2019-12-18 12:14:22 -07:00
KiD Fearless
ea00c86026 Added overflow parameter to Shavit_OnSave 2019-12-14 12:51:47 -07:00
KiD Fearless
0fd6d6507c Added Checkpoint Natives
Added 6 new natives to better interact with the checkpoint system of the timer. As well as moving the cp_cache_t into shavit.inc to allow 3rd party plugins to modify the checkpoint cache.

Update .gitignore
2019-12-06 18:22:08 -07:00