Commit Graph

258 Commits

Author SHA1 Message Date
hermansimensen
a6f0af27c0 Update natives 2020-07-11 00:26:17 +02: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
6a4d383cd7 Change trace method to hull 2020-07-10 21:54:48 +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
Nairda
d1308939bd
Add dynamic timer difference (#921) 2020-06-10 11:16:15 -06:00
KiD Fearless
15942d05ff properly fix perf jumps 2020-04-24 13:18:07 -06:00
Nairda
606e3e70c0
removed the debug lines
they were only for you to see what I did to test the stuff
2020-04-21 03:12:48 +02:00
hermansimensen
35b608af88 Fix timescale being reset to styles default
This new line will fix the native Shavit_SetClientTimescale by not
resetting the timescale of the player to the style default after each
jump
2020-04-15 21:36:51 +02:00
KiD Fearless
d590934324 Add jump multiplier and jump bonus to shavit-styles.cfg 2020-04-04 14:35:14 -06:00
KiD Fearless
3283a26d45 Added Convar_class methodmaps for timer convars 2020-01-22 17:16:37 -07:00
KiD Fearless
41d17befd7 Set speed multiplyer even if it's the default 2020-01-22 14:54:19 -07:00
KiD Fearless
ac8a4f30f8 Parse permission flag even without command override. Moved late-loading check to the end of OnPluginStart 2019-12-22 16:33:09 -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
shavit
e7e1935388 Added logging for player wiping, added warning message when entering invalid SteamID. 2019-08-08 04:49:11 +03:00
shavit
b490313e1f Added sm_migration command to re-apply migrations manually. 2019-08-08 04:22:01 +03:00
shavit
a6a1ed8c8d Fixed issues with certain migrations not working as intended with table prefix setups. 2019-08-08 04:08:30 +03:00
shavit
7a1f530e07 Improved measuring for perfect jumps. 2019-07-20 13:34:10 +03:00
shavit
dfcaee5c5b Fixed HSW sync - thanks Nairda! (#809) 2019-07-13 07:53:18 +03:00
shavit
fd121092c8 Refactored database handles so that there are multiple instead of a single one. 2019-05-31 17:32:03 +03:00
shavit
0650d20eff Removed ancient SetPrefix code and put it in a stock function instead. 2019-05-31 17:03:27 +03:00
shavit
487135f85a Allowed using all keys in limited styles after touching ladder (#800).
Key restriction is added again after touching the ground.
ConVar to disable this is `shavit_core_simplerladders`
2019-05-28 18:44:28 +03:00
shavit
70dd8f7c9c Added tracking for map completions (#804). 2019-05-28 18:32:24 +03:00
shavit
26dd200408 Changed "No Speed Limit" zones to "Custom Speed Limit" (#797). 2019-05-14 04:56:26 +03:00
shavit
a7c743cf29 Added custom airaccelerate zones and some natives. (#797)
Shavit_GetZoneData, Shavit_GetZoneFlags, and Shavit_InsideZoneGetID
2019-05-14 04:27:39 +03:00
shavit
058b88b98c Added zone flags and data to mapzones table. 2019-05-14 03:25:15 +03:00
shavit
1fe1196342 Optimizations to migrations
* Deletes invalid times/chat records before adding the new constraints.
* Use of `ip` index while converting the IP addresses.
* Limit IP conversion transaction to 10k queries to prevent memory leak on large datasets.
2019-05-13 05:36:12 +03:00
shavit
29c57b4fca Fixed workshop migration applying 3 times 2019-05-12 23:38:00 +03:00
shavit
547f90ef62 Added automatic database migrations and revamped overall database structure.
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.
2019-05-12 07:57:04 +03:00
shavit
203644d1d2 Added prespeed setting 2 which also respect shavit_core_nozaxisspeed. 2019-04-17 22:57:37 +03:00
shavit
271b669d47 Fixed !r not triggering stop timer warning. 2019-04-15 03:03:09 +03:00
shavit
b88915ba18 Added "force_groundkeys" style property. 2019-04-15 03:01:06 +03:00
shavit
c61e646785 Added shavit_misc_stoptimerwarning 2019-04-14 23:25:17 +03:00
shavit
30264ef092 Added Shavit_OnStopPre 2019-04-14 23:25:13 +03:00
shavit
bac741e7f8 Added teleport parameter to Shavit_ResumeTimer 2019-04-14 22:45:19 +03:00
shavit
3150225755 Added Shavit_CanPause 2019-04-14 22:45:19 +03:00
shavit
40d443180e Disabled timer from starting before cookies are loaded. 2019-03-27 22:02:30 +02:00
shavit
39572abfd9 Added persisting timer data (#757). 2019-03-27 19:50:03 +02:00
shavit
4388409e0a Fixed HSW strafe counter breaking. 2019-03-27 14:21:17 +02:00
shavit
12005e8c18 Rewrote queries to support ONLY_FULL_GROUP_BY (#764). 2019-03-27 10:27:50 +02:00
shavit
538429e36c Changed !style to show records per track (#754). 2019-03-25 13:52:16 +02:00
shavit
bbccdcf28a Removed ancient table migration code (#758).
Should speed up initial load after map change by a lot! I believe this is now useless.
2019-03-25 10:20:23 +02:00
shavit
463b8a857b Major optimizations to database structure.
* in table `playertimes` add `time` to the `map` index - it should look like this:
```sql
INDEX `map` (`map`, `style`, `track`, `time`)
```

* in all tables, change all CHAR(x) to VARCHAR(x). the following are the changes:
- `chat.auth VARCHAR(32)`
- `chat.ccname VARCHAR(128)`
- `chat.ccmessage VARCHAR(16)`
- `users.auth VARCHAR(32)`
- `users.country VARCHAR(32)`
- `users.ip VARCHAR(64)`
- `maptiers.map VARCHAR(128)`
- `playertimes.auth VARCHAR(32)`
- `playertimes.map VARCHAR(128)`
- `playertimes.date VARCHAR(16)`
- `mapzones.map VARCHAR(128)`
2019-03-25 09:33:34 +02:00
shavit
7365cbcb53 Added "kzcheckpoints" mode (#759). 2019-03-25 02:48:50 +02:00
shavit
79a6fef09c Added "enabled" and "inaccessible" style settings. (#761) 2019-03-24 23:10:00 +02:00
shavit
bf37674812 Implemented Shavit_ChangeClientStyle forward. 2019-03-08 09:37:37 +02:00
shavit
08f0224759 Added menu ordering for styles (#681).
Also added Shavit_GetOrderedStyles ofc.
2019-02-24 17:05:39 +02:00
shavit
c767a375b3 Added sm_wipeplayer. (#568) 2019-02-24 15:54:52 +02:00
shavit
b264f50705 Fixed commands erroring at IsClientInGame when ran from console/rcon. 2019-02-24 14:07:21 +02:00
shavit
5468a94243 Separated unset start zone message per track (#735). 2019-02-22 19:36:48 +02:00
shavit
942d6d9675 Added Shavit_IsPaused. 2019-02-22 17:11:55 +02:00
shavit
26534c1d18 Added shavit_core_nochatsound 2018-12-27 07:42:17 +02:00
shavit
3114eec03f Got rid of the cached cvars bullshit
protip: don't follow hosties' coding conventions that shit sucks mad dick
2018-12-27 06:42:02 +02:00
shavit
7f81c9d6c0 unicode -> general 2018-12-27 06:14:50 +02:00
shavit
cf1fce9bc3 Fixed CS:GO chat colors. 2018-12-26 23:07:05 +02:00
shavit
f999073ee2 Structified replay plugin, doubled #pragma dynamic
First chat color in CS:GO is broken.. pending fix
2018-12-26 21:50:42 +02:00
shavit
2ab6c57e1f Refactored whole plugin to use enum structs
SourceMod 1.10 is now a requirement.
2018-12-24 00:31:50 +02:00
shavit
a5513eb14b changed default collation of user inputs to utf8mb4_unicode_ci (#691) 2018-11-03 13:05:49 +02:00
shavit
bb3ac308ca prefer utf8mb4 but fallback to utf8 if not support (#691) 2018-11-03 10:26:04 +02:00
shavit
5c22149b93 Deprecated halftime for timescale.
There's backwards compatibility of course. Untested but should work..
2018-10-16 22:24:34 +03:00
shavit
8fb3f0d23f prac mode alert thing !hud
[Promising] Promises : cud u make a setting to disable this:
[Promising] Promises : [ Timer ] WARNING: You're now in practice mode. Your times WILL NOT be saved and will be only displayed to you!
2018-10-11 19:16:13 +03:00
shavit
29415315b9 Fixed loading issue with rankings module. 2018-10-02 16:40:33 +03:00
shavit
d1d594503e Dropped dynamic arrays for strings, unless necessary. 2018-09-23 04:16:23 +03:00
shavit
81dbdedfba Added !deletemap (#668) 2018-09-15 17:26:11 +03:00
shavit
482cd86c8c Fixed low gravity styles.
thanks @strafe!!!
2018-09-13 23:28:45 +03:00
shavit
b6ca23d9f0 reduced size to 32 blablabla yes the usual things sql error nairda 2018-06-26 19:30:18 +03:00
shavit
8a98fe96b9 Unrestricted movement when noclipping. 2018-05-09 19:55:15 +03:00
shavit
06250b7fe0 Assigned style ID 0 on connect, merged style gameplay setting updates.
Should solve the out-of-bound error.
2018-05-07 18:53:17 +03:00
shavit
07434d085d Fixed chat printing error. 2018-05-07 18:25:13 +03:00
shavit
f2887fabfa Changed default +left/right block behavior.
* 1 now blocks movement, 2 also stops timer.
2018-05-03 17:00:23 +03:00
shavit
4bcfae7e94 Don't show perf% for old records. 2018-05-02 13:54:01 +03:00
shavit
8c25086471 Added perfect jump% measuring for scroll styles.
* Added `oldtime` and `perfs` parameters for forwards that missed them.
* Added `iMeasuredJumps` and `iPerfectJumps` to snapshots.
* Added a database migration to add `perfs` column.
* Added perfect jumps% to CS:S keyhint HUD. Not necessary in CS:GO due to annoying limitations.
* Added perfect jumps% to WR menu.
* Added `Shavit_GetPerfectJumps` native.
2018-05-02 12:21:38 +03:00
shavit
c1b93bfdff Opt-in to per-plugin adminmenu integration rather.
Rather than creating the category via core and then adding items on it.
2018-05-02 10:23:43 +03:00
shavit
fabc24ca6f Added style permissions. (#622)
* Added `Shavit_HasStyleAccess` native.
* Added `permissions` setting to styles. Use like "p;style_tas" for example. First section is the flag needed, and the second section is the override for it.
2018-04-26 18:56:31 +03:00
shavit
3681cb2f3d Added shavit_core_defaultstyle.
Usage: style ID. Add an exclamation mark as the prefix to ignore style coookies.
2018-04-19 03:38:16 +03:00
shavit
fdeceabcf0 Fixed CS:S HUD breaking apart after adding new styles without restart. 2018-03-20 04:32:47 +02:00
shavit
8d350bc012 Added plugin name to logs. 2018-03-15 01:40:04 +02:00
shavit
b46c7eadd7 Added Shavit_LogMessage native. 2018-03-15 00:06:12 +02:00
shavit
f04257597d Updated minimum forwardmove/sidemove values. 2018-03-10 18:23:53 +02:00
shavit
6059b19cb2 Removed some core cvars where style settings exist.
shavit_core_autobhop
shavit_core_blockleftright
shavit_core_nostaminareset

Use the appropriate style settings for them instead.
2018-03-10 18:23:18 +02:00
shavit
36686e37b0 Fixed restart not removing pause status. (#590) 2018-02-04 15:38:38 +02:00
shavit
8f51d4c964 Added mouse[2] to OnUserCmdPre. 2018-01-31 05:48:59 +02:00
shavit
cb7bbce676 Changed block_pstrafe's behavior.
* Changed default (1) to block button inconsistencies.
* Made the duration of inconsistencies less annoying.
* Changed the first option to 2, which stops the timer on inconsistencies.
2018-01-28 20:57:22 +02:00
shavit
52b9c1e81f Allowed pausing in practice mode.
It was disabled before due to the mess with time calculation. Shouldn't be problematic now.
2018-01-28 20:54:15 +02:00
shavit
9a49977e10 Fixed a few leftover issues from the frametime change.
* Fixed time not being loaded via snapshots.
* Fixed practice mode not being set to false upon restart.
2018-01-26 08:05:53 +02:00
shavit
53456ffe38 Implemented GetGameFrameTime usage. (#440)
* Made pausing better.
* Added `Shavit_OnTimeIncrement` and `Shavit_OnTimeIncrementPost`. Use this for proper timescaling/save state usage.
2018-01-26 05:58:53 +02:00
shavit
917fe7e683 Fixed style changes not restarting with built in zones. (#582) 2018-01-22 18:58:17 +02:00
shavit
009c849a6c Fixed !b and !bend for built in zones. (#582) 2018-01-22 18:53:32 +02:00
shavit
1fcb7993fe Added oldtime parameter to Shavit_OnFinish 2018-01-16 10:15:41 +02:00
shavit
fd06555188 Fixed prestrafe limit being wrong.
290 is apparently the accepted absolute maximum, so yeah.
2017-12-30 03:21:17 +02:00
shavit
2a6b3182d5 Rewrite autobhop code.
This commit uses a different method of autobhop.

Benefits over the old one:
* Doesn't break with unusual trigger_push setups (i.e. bhop_arcane_v1, bhop_cutekittenz, bhop_ml - or any map with badges' "unbreakable boosters" prefab).
* Doesn't modify the usercmd, therefore other plugins can see the jump button being in use.
2017-12-23 16:37:14 +02:00
shavit
990bbb802d Added slide zones (#558) 2017-12-16 10:27:02 +02:00
shavit
cfde142e92 Added TF2 support. (#549)
Tested most of the things in-game, should be good to go!
2017-12-10 09:30:08 +02:00
shavit
3b947e9b30 Added sSpecialString (specialstring) to style config (#543) 2017-12-09 23:35:41 +02:00
shavit
5b34eaf3a4 Fixed compilation on SourceMod 1.9 2017-12-09 23:24:35 +02:00
shavit
d26ad819a6 Adjusted snapshots' behavior and timer start conditions
It feels smoother now, nothing major.
2017-12-01 00:05:56 +02:00
shavit
e36d917f6d Update table creation queries. 2017-11-23 22:20:33 +02:00
shavit
1d84cfe866 Default convar usage changes, see commit description.
`shavit_misc_prespeedlimit`'s behavior was changed and is now `shavit_misc_prestrafelimit`. The value determines the maximum allowed prestrafe in the start zone *added* to the style's run speed. So i.e., Scroll can prestrafe up to 280 (in reality, 278) and Normal can up to 290.

The default settings for `shavit_core_blockprejump` and `shavit_misc_prespeed` were changed due to this commit.
`shavit_misc_createspawnpoints`'s default setting was changed to 6 as 32 didn't make much sense.
2017-11-22 18:24:45 +02:00
shavit
cb250ee861 CallOnStyleChanged() where needed (#536) 2017-11-21 03:05:59 +02:00
shavitush
5a51b109ac Fix recent HSW issues. (#529) 2017-11-19 01:03:47 +02:00
shavitush
da2d08d9fe Allow all movements on ladders. (#530) 2017-11-19 00:59:29 +02:00
shavit
35104f6d78 Added KZ support. (#472)
Going by KZ-Climb standards - climb_startbutton, climb_endbutton etc. Only supports one bonus due to the plugin's nature.
2017-11-17 11:18:45 +02:00
shavit
c3db507b85 S/HSW exploit fix 2017-11-03 01:14:27 +02:00
shavit
a1629d839c Add indexes, VARCHAR >> CHAR(n).
BIG optimization.
2017-10-29 18:08:44 +02:00
shavitush
70e885c25f Restructured files. 2017-10-24 01:05:09 +03:00