Commit graph

22806 commits

Author SHA1 Message Date
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
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
VelocitOni
758c4f98f8 New off-road dust
Remade the off-road dust visuals
2023-04-29 22:56:01 -04:00
Sally Coolatta
20d0f2d3fb Return random items to old doomednum 2023-04-29 17:52:19 -04:00
Sally Coolatta
d9d561ee28 Make big items look better
- Bobbing
- Scaling
- Different heights on debris

Also cap scale in full scale maps
2023-04-29 17:46:41 -04:00
Sally Coolatta
5b415de3fe Respawn Random Items in all modes 2023-04-29 13:47:38 -04:00
Sally Coolatta
1a9841272b Bigger, chunkier items test
- Random & Sphere Items are x3 bigger.
- Eggman Items grow to x3 bigger when they land.
- Eggman Item hitbox reverted from 24 to 16 again, since the x3 size increases their hitbox even more anyway.
- Random item temporarily moved to 2011 and 2000 objects ignored, as per Ivo's request.

The idea behind this branch is to start turning tons of item clusters into single file item rows with only a few items per. The original intent was to make 9P+ more bearable by making item sets no longer free, but in a way that's engaging & takes thought. This does eliminate one of the reasons I had originally standardized MK64-style clusters, but honestly no one really hides eggman items anymore :P

I'm not totally confident that this will make massive netgames enjoyable on its own, but it's one step towards that and this change has a lot of other benefits as well like less clutter and better visibility.

Due to the mapthing type shuffle, this needs to be tested on a few maps with changed item sets, and then swap it back before merging.
2023-04-29 13:47:37 -04:00
Sal
7990842da3 Merge branch 'G_LoadDemoInfo-dont-crash' into 'master'
G_LoadDemoInfo: don't read outside of the buffer if the file is too small

See merge request KartKrew/Kart!1205
2023-04-29 17:00:35 +00:00
Sally Coolatta
f4e14f5fe3 Faster ring respawn once again 2023-04-29 12:33:15 -04:00
Sal
f2a1a0e314 Merge branch 'srb2-draw' into 'master'
srb2::Draw class abstraction over 2D drawing

See merge request KartKrew/Kart!1208
2023-04-29 15:45:26 +00:00
Sal
e0744765f4 Merge branch 'fix-masked-directional-lighting' into 'master'
Software: fix directional lighting on two-sided midtextures

Closes #540

See merge request KartKrew/Kart!1210
2023-04-29 15:44:05 +00:00
James R
3edf65495b Merge branch 'minor-prototype-tweaks' into 'master'
Minor tweaks to function prototypes

See merge request KartKrew/Kart!1207
2023-04-29 08:20:30 +00:00
James R
8b81478e39 G_DoPlayDemo: search for map and gametype after addons are loaded 2023-04-29 01:16:48 -07:00
James R
ab7691508e EggTV: load addons 2023-04-29 01:15:30 -07:00
James R
5baa7c14fb EggTVData::cache_favorites: silently fail if favorites file does not exist 2023-04-29 00:12:40 -07:00
James R
f94aef4811 EggTVData::cache_folders: check that file is directory before iterating 2023-04-29 00:04:37 -07:00
James R
7b67a69754 EggTVData::Folder::Cache::Cache: move is_regular_file call within try-catch 2023-04-29 00:01:57 -07:00
James R
2a863ab985 EggTVData::Folder::Folder: use newest timestamp of file inside directory
The timestamp of the directory itself would change when
replays are deleted.
2023-04-29 00:01:53 -07:00
James R
3bc7b48b7e Remove Replay Hut code 2023-04-28 12:50:43 -07:00
James R
3ccfb71f04 Add Egg TV menu 2023-04-28 12:50:43 -07:00
James R
7ed356d620 thirdparty: add nlohmann/json 2023-04-28 12:50:43 -07:00
James R
d2ca5d6506 v_draw.cpp, v_draw.hpp: add srb2::Draw, 2D drawing abstraction 2023-04-28 12:50:25 -07:00
James R
4e984fbcff Software: fix directional lighting on two-sided midtextures
blame c53ae816c1
2023-04-27 13:19:35 -07:00
James R
0e87a77e54 K_DrawMapThumbnail, K_DrawLikeMapThumbnail: correct argument types to fixed_t 2023-04-26 14:14:44 -07:00
James R
a10c9fea39 G_DoPlayDemo: let argument be const 2023-04-26 14:12:29 -07:00
toaster
2d169202f2 Merge branch 'versus-tidy' into 'master'
Versus Tidy

See merge request KartKrew/Kart!1186
2023-04-26 15:08:41 +00:00
toaster
9af71ebfaa Merge branch 'fix-stretchy-vertical-scale-again' into 'master'
Fix V_DrawStretchyFixedPatch vertical scaling AGAIN

See merge request KartKrew/Kart!1206
2023-04-26 15:07:50 +00:00
James R
4944b605d4 V_DrawStretchyFixedPatch: round bottom y value to nearest integer
Fixes 1px overshoot at some scales.
2023-04-26 07:35:54 -07:00
James R
520e2f796b Revert "V_DrawStretchyFixedPatch: multiply vertical scale in fixed-point"
This reverts commit 7d90e8f8f8.
2023-04-26 07:34:22 -07:00
James R
c54f1a52bd G_LoadDemoInfo: don't read outside of the buffer if the file is too small 2023-04-25 18:49:31 -07:00
James R
e55f03648f Add P_SaveBufferRemaining, returns remaining size of save buffer 2023-04-25 18:49:20 -07:00