Commit graph

23011 commits

Author SHA1 Message Date
Eidolon
2918f9b61c Merge branch 'more-rhi-stuff' into 'master'
More RHI improvements for HWR2

See merge request KartKrew/Kart!1246
2023-05-20 15:45:34 +00:00
Sal
15dce65efb Merge branch 'bot-game-speed' into 'master'
Bots: Rebalance rubberband speeds

See merge request KartKrew/Kart!1244
2023-05-20 03:59:03 +00:00
Sal
9bb474378e Merge branch 'rings-from-below' into 'master'
Add MF_PICKUPFROMBELOW to rings

Closes #446

See merge request KartKrew/Kart!1245
2023-05-20 03:58:25 +00:00
Eidolon
be869aefc6 rhi gl: Allow create_pipeline in gfx ctx
This function impl does not change any GL drawing state, and neither
should Vulkan, so the constraint that this function not be called while
a graphics context is active is not necessary.
2023-05-19 18:54:19 -05:00
Eidolon
aa48237928 hwr2: Track colormaps and lighttables tex globally
This will allow hardware to reuse the same colormap textures objects as
twodee.
2023-05-19 18:54:19 -05:00
Eidolon
7e4d61730e rhi: Fix handle std::hash specialization
This prevented hashing of non-const qualified types. The contract for
std::hash already implies that it is a callable for an lvalue reference
of the template type.
2023-05-19 18:54:19 -05:00
Eidolon
8d390c58d4 hwr2: Extract BlendMode enum from twodee
This enum is usable across multiple parts of hwr2 so it would be easier
to just keep it separate.
2023-05-19 18:54:19 -05:00
Eidolon
20002f83c4 rhi: Make some stencil state dynamic
The reference, compare mask and write mask for each face direction in
the stencil test is now dynamic pipeline state and are implicitly set to
default values when a pipeline is bound. This is implementable using
Vulkan dynamic pipeline state bits and so there is no reason not to
provide it.

In the OpenGL implementation of RHI, this requires tracking some stencil
state internally in the graphics context because the stencil state
functions require multiple inputs that do not cleanly map to the Vulkan
equivalents.
2023-05-19 18:54:19 -05:00
Sally Coolatta
96ad5afd07 Add MF_PICKUPFROMBELOW to rings
Closes #446
2023-05-19 06:19:45 -04:00
Sally Coolatta
f1d5867877 Bots: Make Lv.1 end worse at timing items 2023-05-19 06:09:29 -04:00
Sally Coolatta
2eff6d7fb5 Bots: Make them stay farther from the beam 2023-05-19 06:08:37 -04:00
Sally Coolatta
cbb684cd25 Bots: Add bot name to debugbots
For the frontrunner behavior
2023-05-19 01:29:46 -04:00
Sally Coolatta
724beb0ffe Bots: Improve rubberbanding further
- Use easing functions for the rubberbanding values themselves, for more fine-control over the end-points and the curves.
- Fixed K_UpdateRubberband being broken from using shift instead of divide.
- Rename `debugbotpredict` to `debugbots`, it now displays some of the bots' botvars values as well. If the player isn't a bot, it will show them from the first place bot (for inspecting the rubberband value).
- Bot turning buff was increased, from x1.25 to x2.0. Noticed that Tails bots were failing turns on Popcorn Workshop. I personally think that Tails bots shouldn't be failing very many turns unless if they're finding objects, and constant wall-bumping should be reserved for Eggman and Metal :P
2023-05-19 01:00:55 -04:00
Sal
65511d6fdc Merge branch 'build-bot-party' into 'master'
Fix some failed assertions for G_LeaveParty

See merge request KartKrew/Kart!1243
2023-05-19 03:08:07 +00:00
James R
20d9d48483 Destroy parties explicitly before building
This removes a call to G_DestroyParty from CL_ClearPlayer.
The problem with calling it from there is that the
consoleplayer of a splitscreen is removed first, the local
party is cleared. Then G_LeaveParty assert fails when the
next splitscreen player is removed because the console's
party was already cleared.
2023-05-18 19:15:02 -07:00
James R
11b2ee0d26 Got_AddBot: build party and set playerconsole
Fixes bot's local party being empty (fails assert at
G_LeaveParty).
2023-05-18 18:40:01 -07:00
Sal
cf120e7d8e Merge branch 'minimap-tidy' into 'master'
Minimap Tidy

See merge request KartKrew/Kart!1239
2023-05-17 03:01:50 +00:00
Sal
f2c25b09ff Merge branch 'remove-nights-chase' into 'master'
Remove P_NightsItemChase

See merge request KartKrew/Kart!1240
2023-05-17 01:03:00 +00:00
Sally Coolatta
5b5323226f Bots: Rebalance rubberband speeds
- Lv.1 has a significanty lower minimum top speed (from 75% -> 50%)
- Lv.MAX has a significantly higher minimum top speed (from 112.5% -> 125%)
- Every bot level has a slightly lower maximum top speed (Lv.1: 100% -> 80%, Lv.MAX: 220% -> 200%)
- Uses easing functions now to make the distance rubberbanding applies to, and the rubberbanding curves, much more customizable.
2023-05-15 23:53:32 -04:00
Sally Coolatta
7ddfddb3a8 Bots: Modify friction changes with gamespeed 2023-05-15 23:10:59 -04:00
Sally Coolatta
1abc097bb5 Remove P_NightsItemChase
Keeps being called in some strange instance by rings, even though the case that calls it shouldn't happen, and causing a crash -- just delete it.
2023-05-15 21:45:25 -04:00
Sal
fdda4df9ae Merge branch 'bot-new-stuff' into 'master'
Bots: New Features / Improvements

See merge request KartKrew/Kart!1237
2023-05-16 00:33:41 +00:00
Sally Coolatta
f66798f0a7 Bots: Nudge towards other Ring Shooters 2023-05-15 19:44:20 -04:00
Sally Coolatta
728cd1bd7b Bots: Add Kitchen Sink to K_BotPickItemPriority 2023-05-15 19:08:54 -04:00
Sally Coolatta
fc1f586f47 Fix K_AirFailsafe speed 2023-05-15 19:04:06 -04:00
toaster
e40921bf0d K_drawKartMinimap: When the player NO CONTESTs:
- If the player's MT_KART_LEFTOVER is being followed instead of their flung corpse
    - Flicker with the object.
- Else, don't draw anything
Fixes the teleporting corpse minimap tracking when you NO CONTEST.
2023-05-15 20:51:25 +01:00
toaster
e1b0ad3eaf K_DrawKartMinimap: Fix ghosts not being drawn properly
Check for progressionbar was being accidentially inverted
2023-05-15 20:38:59 +01:00
Oni
6acb52396b Merge branch 'intermission-tidy' into 'master'
Intermission tidy

See merge request KartKrew/Kart!1238
2023-05-15 18:46:08 +00:00
Oni
67879b7805 Merge branch 'discord-menu' into 'master'
Discord Requests menu port

See merge request KartKrew/Kart!1234
2023-05-15 18:41:21 +00:00
Oni
d0021a75be Merge branch 'fix-dedi-chat' into 'master'
Fix chat messages being krangled on dedicated servers

See merge request KartKrew/Kart!1235
2023-05-15 18:23:03 +00:00
toaster
b95c537cdf Got_Mapcmd: Handle the case where netcommunicated roundqueue data with a size less than the client's would be silently ignored. 2023-05-15 17:55:43 +01:00
toaster
6711887179 Y_IntermissionDrawer: Improved header string handling
- Center generalised text without the "got through round" backing
- For spectators observing a Round Queue, show "ROUND (n)" at the top instead of the more generalised fallback strings
2023-05-15 17:47:39 +01:00
toaster
33bec3c99c Y_IntermissionDrawer: Draw the foreground border on widescreen resolutions
Also changes the position of the Replay Save message to not get cut off
2023-05-15 17:41:29 +01:00
Sally Coolatta
69181e4ff2 Bots: Fix a couple bugs with item priority
- Fix Ring Debt priorities being used even when not at 0 rings
- Fix extra item results not being considered for priorities.
2023-05-15 06:51:13 -04:00
Sally Coolatta
7d7875d7be Bots: New spindash conditions are more specific
- Uphill check is ignored if you have slope resistance, or if you're moving fast enough to overpower it.
- Offroad check is ignored if it wouldn't slow you down.
- Made slow acceleration check have a higher range.
2023-05-15 06:49:31 -04:00
Sally Coolatta
12ff9dc2ba Bots: Lv.1 doesn't wait as long for items
3sec -> 2sec
2023-05-15 06:31:01 -04:00
Sally Coolatta
c43fc4e924 GP: New difficulty increase algorithm
Before, it did level up based on how much the status quo was messed up (if a loser bot got pushed in front, or a rival bot got pushed ahead).

Now, bots will additionally level up based on the best of the 4 players' overall performance, and the performance of the human player that beat them. This means that back of the pack bots will level up more often and the rival won't level up if you place poorly.

The new formula ensures ALL bots are guaranteed at least 1 level up if you come in first place, whereas the old formula had a decent chance of not leveling up some bots. However, loser Chao getting boosted from 12th into 1st, or your rival getting sent to 7th, will still wildly piss them off :B
2023-05-15 06:13:01 -04:00
Sally Coolatta
a7f27948f3 Waypoints: If a normal & shortcut paths overlap, use the normal path 2023-05-15 04:00:24 -04:00
James R
305ce89720 STUN_bind: let multiple callbacks be registered by using std::vector 2023-05-15 00:22:16 -07:00
James R
72a8f27a52 Rename stun.c to stun.cpp 2023-05-15 00:19:29 -07:00
Sally Coolatta
d367bacc39 Bots: Decide what item they want without using RNG
Makes Lv.1 a lot less aggressive, and Lv.MAX slightly more aggressive. But the main advantage is simply that they are deterministic again and I can  :D
2023-05-15 03:05:28 -04:00
Oni
333fdee801 Merge branch 'fix-pwr-increment' into 'master'
Reset PWR increment after each round

See merge request KartKrew/Kart!1236
2023-05-15 05:43:20 +00:00
AJ Martinez
6b0f9aeb6d Don't do null-lap debug print 2023-05-14 22:28:35 -07:00
AJ Martinez
fdc41848a9 Oops, servernode isn't a player index 2023-05-14 22:20:33 -07:00
AJ Martinez
b0856d39d8 Reset PWR increment after each round 2023-05-14 22:05:05 -07:00
AJ Martinez
6184ba60c5 Fix chat messages being krangled on dedicated servers 2023-05-14 21:34:25 -07:00
Oni
9b08ca4c75 Merge branch 'cull-debugwaypoints' into 'master'
debugwaypoints: cull debug mobjs outside of drawdist

See merge request KartKrew/Kart!1201
2023-05-15 02:58:31 +00:00
Oni
3344ddc659 Merge branch 'profile-restrictions' into 'master'
Social restrictions until you've played some games

See merge request KartKrew/Kart!1194
2023-05-15 02:50:24 +00:00
Oni
cff151bf16 Merge branch 'audience-think-crash' into 'master'
Audience focus crash

See merge request KartKrew/Kart!1233
2023-05-15 01:19:52 +00:00
SteelT
c419d037e8 Port the menu drawer function
- k_hud.c: Add K_DrawSticker function (was previously named M_DrawSticker)
- Seperated the confirm handling into the menu ticker (fixes the confirm delay being framerate dependent)
- Updated to use the button graphics
2023-05-14 20:21:03 -04:00