Commit graph

22835 commits

Author SHA1 Message Date
Sally Coolatta
f017f4626f Line up the center of skies with horizon line 2023-05-06 02:19:26 -04:00
toaster
99a1e47487 Merge branch 'freeplay-align' into 'master'
K_drawKartFreePlay: Fix alignment for good

See merge request KartKrew/Kart!1220
2023-05-03 20:26:47 +00:00
toaster
d6c86b97b6 K_drawKartFreePlay: Fix alignment for good
Uses V_StringScaledWidth instead of manually inserted spacing
2023-05-03 18:05:51 +01:00
Sal
41770be966 Merge branch 'acs-sector-no-spectator' into 'master'
ACS: Prevent spectators from using sector actions

See merge request KartKrew/Kart!1219
2023-05-03 14:49:40 +00:00
Sally Coolatta
f56504e0d4 ACS: Prevent spectators from using sector actions 2023-05-03 09:37:48 -04:00
Sal
2cba1b7820 Merge branch 'acs-get-set' into 'master'
ACS: Property get/set functions

See merge request KartKrew/Kart!1203
2023-05-03 13:30:15 +00:00
Sally Coolatta
31f0df6103 ACS: Fix tag iterations not working 2023-05-02 19:30:09 -04:00
Sally Coolatta
8588881f4d ACS: Add SIDE_BOTH support for SetSideProperty 2023-05-02 18:44:30 -04:00
Sally Coolatta
4f2c47fde0 ACS: Try to fix sprnames garbage 2023-05-02 18:44:30 -04:00
Sally Coolatta
d953049c78 ACS: User properties can tell bool from string 2023-05-02 18:44:30 -04:00
Sally Coolatta
427ffceac9 ACS: Get/SetThingProperty 2023-05-02 18:44:29 -04:00
Sally Coolatta
48f7d53cd8 ACS: Allocate user properties with PU_LEVEL 2023-05-02 18:44:29 -04:00
Sally Coolatta
f8744560df ACS: Add SIDE_PROP_REPEATCOUNT
Missed this one.
2023-05-02 18:44:28 -04:00
Sally Coolatta
d9382f2100 ACS: UDMF user properties
Lines, sides, sectors, and things now all support the "Custom" tab properly. Label a property as `user_[whatever you want]` in this tab, and it will be added to the structure. ACS will then be able to retrieve it using the `Get[x]UserProperty()` function.
2023-05-02 18:44:27 -04:00
Sally Coolatta
a366948c62 ACS: Remove SECTOR_PROP_SPECIAL
This is only used in binary, and ACS shouldn't be implementing any binary stuff anymore.
2023-05-02 18:44:26 -04:00
Sally Coolatta
5521284fa0 ACS: Implement Line and Side get/set functions
Additionally, these all now support tag 0 as getting/setting properties from the activator.
2023-05-02 18:44:26 -04:00
Sally Coolatta
e27e6c1353 ACS: Get/Set property prototyping
Mostly proof-of-concept so that Charyb can play around with it and tell me if it works for her.
2023-05-02 18:44:25 -04:00
Oni
1058d210d1 Merge branch 'boostpower-terrain-particles' into 'master'
Slowdown Terrain Particle repair

See merge request KartKrew/Kart!1166
2023-05-01 19:33:02 +00:00
Oni
b5d832c636 Merge branch 'new-quake' into 'master'
Improve quake effects

See merge request KartKrew/Kart!1216
2023-05-01 19:29:19 +00:00
Sally Coolatta
60e80d876d Improve quake effects
- Quake epicenter + radius now work.
- Since quake epicenter works, removed the display player check on all of the quakes, so other players can feel them.
- Multiple quake effects are stored in a linked list and dynamically created/freed, so they can stack together.
- Made in china
- Made the quake effects only work on the z axis.
- Quakes now alternate their intensity and dampen it over time, instead of randomly picking values.
- Added quake effects for offroad and stair-jank
- Disabled quakes in reducevfx
- Removed actionmovie and windowquake (sorry jartha)
2023-05-01 14:24:32 -04:00
toaster
f450789a08 Final rearrangement
- If terrain has footsteps, always show those footsteps regardless of player speed slowdown
- Otherwise, if player is slowed down, show default offroad particles
2023-05-01 17:52:56 +01:00
toaster
a08a23101c Merge branch 'antigrief-returns' into 'master'
[Antigrief pt1] Spectator re-entry timer

See merge request KartKrew/Kart!1168
2023-05-01 16:19:51 +00:00
toaster
3d9d9ba1e6 P_Ticker: Do not run antigrief detection if there are no waypoints 2023-05-01 17:10:02 +01:00
toaster
ee3bf6d117 P_CheckRaceGriefing: Fix typo that rendered antigrief ineffective 2023-05-01 16:57:35 +01:00
toaster
d09cfe6704 antigrief_cons_t: Increase maximum for parity with the previous entry in the series 2023-05-01 16:57:35 +01:00
toaster
477eb000e5 Do not subtract grief strikes for finishing a race normally
Prevents scenarios where someone engages in alternating sporting and unsporting behaviour and never experiences lasting consequences
2023-05-01 16:57:35 +01:00
toaster
ab68be49e1 cv_antigrief
- Increments a timer on human players who aren't making progress, does it even faster if they're going backwards.
    - Only applies in:
        - Netgames
        - GTR_CIRCUIT after the timer starts
        - If there's no timelimit, pointlimit, or K_Cooperative (because unproductive behaviour there will be punished by other rules)
    - The rate at which this changes needs trial and error, but getting the feature functional is more important to start out with.
- If this timer reaches cv_antigrief's value in seconds , the player gets a "Grief Strike"
    - This doesn't happen if:
        - There's only one active player in the server, so FREE PLAY permits mappers to test what increments/decrements the counter
            - Turn `debugwaypoints` on to observe this
        - The cvar is set to 0
    - Less than 3 grief strikes is a forced spectate
    - Anything more is a kick via "automatic grief detection"
        - Unless your node is the host (or an admin)
    - Remove grief strike strike for finishing normally

# Conflicts:
#	src/d_clisrv.h
2023-05-01 16:57:35 +01:00
toaster
d4dbc1fe30 P_Ticker: Seperate out local player device rumble handling into its own inlineable function
Clears some space for antigrief handling
2023-05-01 16:57:34 +01:00
toaster
b69a575923 K_CheckSpectateStatus: Clean up
- Calculate numingame with first loop
- Explicitly set both spectatewait and spectatorReentry to 0 when not a spectator
- Return sooner for cv_maxplayers cap reaching
- Ignore spectatorReentry at an earlier point in the function, instead of complicating the final despectating to use two iteration values
2023-05-01 16:57:34 +01:00
toaster
9e30ffcdb7 Got_KickCmd: Do not kick players with the server node from the server (this shut down the server previously !?) 2023-05-01 16:57:34 +01:00
toaster
15b0141700 Spectator re-entry timer
- On becoming a spectator in a netgame, there is a delay before you can de-spectate.
    - 30 seconds by default.
        - This can be changed using the cvar `spectatorreentry`.
    - ...unless there's only two people left including you, in which case it's three minutes!!
        - This can be changed using the cvar `duelspectatorreentry`.
        - If spectatorreentry is set to greater than duelspectatorrentry, the former is used instead.
    - This timer is wiped on mapload and intermission, so NEW CHALLENGER APPROACHING !! and level changes in general allow people in.
- General purpose cleanup of K_CheckSpectateStatus
2023-05-01 16:57:34 +01:00
toaster
d50e3a1895 Got_Teamchange: Do not repeatedly declare a player has become a spectator if they already were 2023-05-01 16:57:34 +01:00
Oni
1c9ee9f907 Merge branch 'chunky-items' into 'master'
Bigger, chunkier items test

See merge request KartKrew/Kart!1177
2023-05-01 03:28:52 +00:00
Oni
7c3d23b70f Merge branch 'new-boost-vfx' into 'master'
New boost VFX

See merge request KartKrew/Kart!1215
2023-05-01 03:18:21 +00:00
Oni
b5fbb84395 Merge branch 'finish-jingles-return' into 'master'
Finish Jingles Return

See merge request KartKrew/Kart!1214
2023-05-01 03:17:26 +00:00
VelocitOni
91738a56bd New boost vfx
Extended the frame window for new boost vfx, made them additive too.
2023-04-30 21:00:49 -04:00
Oni
82a4af03e2 Merge branch 'demo-fix-custom-maps' into 'master'
Search for map and gametype after addons are loaded when watching replays

See merge request KartKrew/Kart!1211
2023-04-30 23:44:45 +00:00
Oni
1392b04b7a Merge branch 'egg-tv' into 'master'
Egg TV

See merge request KartKrew/Kart!1209
2023-04-30 23:44:26 +00:00
toaster
83fc8110ba Versus music: *Also* begin at tic 1, not 3 2023-04-30 21:48:02 +01:00
toaster
581567dfae musiccountdown
A system for level completion jingles.
- G_Ticker
    - Call P_EndingMusic after a certain amount of time has elapsed to begin a jingle
    - Play O_RACENT after the jingle's completion instead of baking it or an equivalent into the music
- P_EndingMusic
    - Change the function signature to not take a player
    - Pick from a series of const char* jingles, instead of sprintfing into a buffer
        - _first
        - _win
        - _lose
        - RETIRE
    - Simplifying logic to handle intermission music
2023-04-30 21:47:07 +01:00
toaster
74d6445a56 Integrate Ring Racers jingles into the inherited-from-SRB2 JT_ jingle system
Most of this work was completed last year by Sal.
- JT_INVINCIBILITY
- JT_GROW
Future work:
- Actually use the S_RecallMusic system (for some reason it doesn't play nice so had to disable it)
2023-04-30 20:50:12 +01:00
toaster
f65471f609 P_Ticker: Encore map intro hum starts at tic 1, not 3, after experimental intro timer merger 2023-04-30 20:31:07 +01:00
toaster
dc7d157162 Make both offroad dust and terrain particles 2023-04-30 16:39:58 +01:00
toaster
661285d3c6 Fix custom terrain footsteps never being considered under offroad conditions 2023-04-30 16:30:23 +01:00
toaster
26cdc0f003 Fix particle behaviours for indicating being slowed
- For players interacting with terrain:
    - If a terrain is tagged with offroad, only use footstep if player is being slowed by it
    - If a player is not on terrain with footsteps but is being slowed down, use default footsteps as a substitute
This matches behaviour of the previous entry in the series, which was good for communicating the gameplay functionality of being slowed down.
2023-04-30 16:30:17 +01:00
Sally Coolatta
833131b319 Make MAXRADIUS bigger
MAXRADIUS was previously an arbitrary value id Software set as whatever their biggest object would be (which they broke that rule anyway). It is now the radius of a blockmap block, which should be a large enough of a nudge value to handle all cases. (Still don't recommend making objects any bigger than a Spider Mastermind though.)
2023-04-30 10:31:26 -04:00
Oni
08266c44c6 Merge branch 'new-offroad-dust' into 'master'
New Off-Road Dust

See merge request KartKrew/Kart!1213
2023-04-30 07:58:37 +00:00
Oni
6069d2042a Merge branch 'ring-respawn-fuck-you' into 'master'
Faster ring respawn once again

See merge request KartKrew/Kart!1212
2023-04-30 06:44:44 +00:00
AJ Martinez
54ebe2571d Fix paren placement SIGFPE 2023-04-29 22:48:07 -07:00
VelocitOni
8a4ad078a3 Compile error
Sorry, the branch doesn't compile without this opening parenthesis :holdingbacktears:
2023-04-30 01:31:18 -04:00