Commit graph

22940 commits

Author SHA1 Message Date
James R
72a8f27a52 Rename stun.c to stun.cpp 2023-05-15 00:19:29 -07: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
SteelT
cd59a4d34f Start of reimplementing the discord requests menu
- It's pretty barebones so far, more stuff has yet to be done
- Updated to use the current method of checking if a memu button is pressed

TODO: Port the menu drawer
TODO: Fix confirm delay handling
2023-05-14 16:24:41 -04:00
SteelT
ffe7c4f296 Allow game invites with DEVELOP builds of the game
- Preliminary work so that the feature can be tested later down the line when the menu is reimplemented
- Made sure any secret revealing presence info is guarded behind a non-DEVELOP build check
2023-05-14 16:24:41 -04:00
James R
d1ec068e84 movie_size: default 8 mb -> 25 mb
Discord limit was raised.
2023-05-14 00:09:38 -07:00
Oni
cf304a09d4 Merge branch 'bot-thingies' into 'master'
Lots of bot changes

See merge request KartKrew/Kart!1229
2023-05-13 08:22:10 +00:00
Sally Coolatta
7cb0b74cac Use more explicit floor/ceiling FOF sort 2023-05-13 04:13:35 -04:00
Sally Coolatta
5ac7926e39 Prediction nudge is based on original WP radius
Previously based on prediction radius, which meant it was so low that it might barely even nudge at all. Now we try to nudge a lot, but clamp the radius to make it thinner if it goes off-road.
2023-05-13 01:59:07 -04:00
Sally Coolatta
7db53abdf7 Fix object nudge search being too small 2023-05-13 01:23:52 -04:00
Sally Coolatta
002e25905b Add FOF behavior switch to P_LineOpening
Finally fixes the very specific issue on Endless Mine ( https://cdn.discordapp.com/attachments/1006454720686202951/1106749881663631420/image.png )
2023-05-13 01:14:40 -04:00
Sally Coolatta
6fa821b2d3 Local P_LineOpening result + traversal leniency
P_LineOpening results are stored in a locally made struct instead of being a bunch of disorganized globals.

Waypoint traversals can go thru 1 line, if it was blocked by step-up rules, for free, similar concept to sound-blocking lines in Doom.
2023-05-13 00:39:36 -04:00
Sally Coolatta
66f0c7c9f0 Fix waypoint traversal with slopes 2023-05-12 23:10:56 -04:00
toaster
d2a2115abf Merge branch 'fix-gacha-lob' into 'master'
Adjust Gachabom lobbing trajectory and backward thrown radius

See merge request KartKrew/Kart!1232
2023-05-12 12:10:30 +00:00
toaster
488cd3bd85 Merge branch 'fix-orbinaut-splay' into 'master'
Fixed dropped orbinauts

See merge request KartKrew/Kart!1230
2023-05-12 12:10:26 +00:00
James R
bdd36d4526 K_SpawnKartMissile: scale backward thrown nerfs to gamespeed for perfect consistency 2023-05-11 20:32:50 -07:00
James R
b08890bf92 Orbinauts/Gachabom: widen backward-thrown orbitting radius 2023-05-11 19:33:01 -07:00
James R
e628d153ad Gachabom: switch to lobbed mode before trajectory is set
Fixes lobbed Gachabom trajectory being inconsistent with
other lobbed items.
2023-05-11 19:17:40 -07:00
Oni
327edf9831 Merge branch 'water-unfuck' into 'master'
Scale underwater strafe from actual base speed

See merge request KartKrew/Kart!1224
2023-05-12 01:21:45 +00:00
Oni
aa50a34d7a Merge branch 'new-intermission' into 'master'
New intermission

See merge request KartKrew/Kart!1231
2023-05-12 01:02:09 +00:00
toaster
9ec6a6bbe0 HU_DrawRankings: Fix finish time (was using laps converted to seconds instead of realtime) 2023-05-12 00:02:51 +01:00
toaster
9179e6fd86 Since intermission is bordered, don't do widescreen accomodation for the Standings xoffset slide 2023-05-11 23:12:57 +01:00
toaster
39682a241d Y_PlayerStandingsDrawer: Set a minimum y height to prevent overlap with the header text 2023-05-11 23:08:26 +01:00
toaster
27dc9a3006 M_DrawPause: Only draw roundqueue outside of GS_INTERMISSION - that's already drawing it 2023-05-11 23:07:02 +01:00
toaster
c9b438d50d Show Round Queue on Pause menu
Also includes secret support for widescreen.
I was planning to put this on tab rankings, which doesn't have borders.
Pause menu does, but it would be a waste to strip it back out again.
2023-05-11 22:44:09 +01:00
toaster
c1eb01c03d Ping for Y_PlayerStandingsDrawer
TODO: CPU indicator
2023-05-11 21:39:06 +01:00
toaster
36d8bce14d Replace K_DrawTabRankings with Y_PlayerStandingsDrawer
TODO: Ping, LAGLESS
2023-05-11 18:11:40 +01:00
toaster
7081e98d9b Y_PlayerStandingsDrawer: Abstract y_data_t inputs
In the process, fix a longstanding interp bug where the jitter on tally increase would be for only one rendered frame, not one full tic.
2023-05-11 18:09:57 +01:00
toaster
efa849c8cc Y_PlayerStandingsDrawer: Make player index referencing in loop cleaner 2023-05-11 16:46:03 +01:00
toaster
c712cd7452 Prepare value string for intermission screen once, rather than every rendered frame
("RETIRED.", "0:24:13", "27", "1004", "----", etc)
2023-05-11 16:37:06 +01:00
toaster
77aa563a74 Depointerify several properties on y_data
- character is written directly
- color is written directly
- no more duplication of the player_names pointer
2023-05-11 16:36:03 +01:00
toaster
d581389c9c Y_PlayerStandingsDrawer: All local splitscreen players are now highlighted on the results screen
- Uses function pointers to highlight display players instead in demo playback
- Was previously doing this to avoid all players being highlighted in local splitscreen, but this is now relevant there too thanks to bots
2023-05-11 14:44:27 +01:00
toaster
0757d39930 Slight cleanup after extraction
Fixes Lua being able to hide the timer in the corner
2023-05-11 14:32:41 +01:00
toaster
7ddbd23f98 Y_PlayerStandingsDrawer
*Also* reduces how absolutely monolithic Y_IntermissionDrawer is.
2023-05-11 14:24:49 +01:00
toaster
0a7e8d9bf3 Y_RoundQueueDrawer
Reduces how absolutely monolithic Y_IntermissionDrawer is.
2023-05-11 14:08:09 +01:00
James R
21703c1504 Orbinaut shield: fix dropped state
- Fixes dropped orbinauts driving in circles
- Fixes dropped orbinauts not stopping once land on ground
2023-05-10 21:53:37 -07:00
Sally Coolatta
a8af5b7616 Improve general bot handling
- Their waypoint radius gets thinner quicker
- Waypoint distance is scaled with each ones' floor slope, instead of done once at the end of the prediction.
- Prediction is pulled back further when it goes through a wall
- Prediction starts earlier and goes less far
- Bots will brake at shallower angles (allows them to brake-turn more often)
- K_AddDodgeObject and K_AddAttackObject now adjust based on the radius of the object
- Fixed K_AddDodgeObject adding to the goto objects instead of avoid objects
- Optimized blockmap search size for K_FindObjectsForNudging
- Current waypoint is no longer cleared each frame
2023-05-10 22:25:24 -04:00
Sally Coolatta
7d4720b1a6 Fix bot rubberband being different per map scale 2023-05-10 20:28:42 -04:00
Sally Coolatta
a2c57d7066 Fix bot extra friction on ice TERRAIN 2023-05-10 20:27:11 -04:00
Sally Coolatta
d129422382 Bots can now see TERRAIN-based offroad / damage 2023-05-10 19:55:41 -04:00
Sally Coolatta
3450a0126f Bot traversal wall detection improved, and waypoints do it too 2023-05-10 19:52:40 -04:00
Sally Coolatta
b72b8f354e lowfloor/highceiling respects FOFs properly
Found while working on bot changes to respect step-up, lowfloor would occasionally be the floor below instead of the FOF. Also code cleanup to remove redundant / unused stuff.
2023-05-10 19:48:08 -04:00
toaster
e3c3a8c80a Sliding of the progression bar
- On the last non-rank-restricted round in the queue, if the final entry is visible (you've been to it before OR you're just about to go to it for the first time), slide over before the bar fills up.
- Adds one second to the timer to give it extra breathing room
2023-05-10 20:40:01 +01:00
toaster
174b58c043 Pixel perfect progression bar filling
- Final line now ALSO uses ClipRect
- Reduce existing overreliance on ClipRect. A little overdraw is fine to prevent gaps
2023-05-10 14:42:59 +01:00
toaster
d0daa09637 Interpolation of the Player Pin when moving to new round
- Known hack: A one-frame offset if R_UsingFrameInterpolation() returns true
    - This permits the Sealed Star rank progression bar fill to reach the end.
    - It also allows us to match possible sound cue events between interp and non-interp frames.
2023-05-10 14:42:59 +01:00
toaster
cc4dbe48cf Adjust timing of player pin hop impact 2023-05-10 14:42:58 +01:00
toaster
db5734b64d On second thoughts, do not make the one-round roundqueue start in the upward position
This is so the two-round roundqueue condition where the second round is a Sealed Star will not give the game away early, or be discontinuous
2023-05-10 14:42:58 +01:00
toaster
b4a1b7daf3 Fix horizontal page scroll for cases where player results are centered 2023-05-10 14:42:58 +01:00
toaster
f42192f21d data.mainplayer
Instead of using whiteplayer (which isn't handled in splitscreen)
- Get the highest-ranked non-spectator player who's local (or display if demo.playback)
- Show an alternate arrow (currently not in assets) if
    - no player was found
    - OR the player becomes a spectator
    - OR has otherwise invalid properties
- Use SKINCOLOR_WHITE (and its invcolor) for associated colormaps in this case
2023-05-10 14:42:58 +01:00
toaster
9788df79e7 Hide song credit in artificial fade on menu-caused playsim start
Technically unrelated but it was annoying me, and since I modified songcredit here I can attach it as a second bullet point
2023-05-10 14:42:58 +01:00
toaster
d7e0df8bd8 Change y coordinate of Song Credit on intermission screen to be along bottom 2023-05-10 14:42:58 +01:00