Commit Graph

103 Commits

Author SHA1 Message Date
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