Commit graph

22498 commits

Author SHA1 Message Date
AJ Martinez
75cfe4b5ad Also take away existing wavedash boost when hit 2023-04-08 15:22:15 -07:00
AJ Martinez
ddbeb98677 Make doubly sure not to keepsliptide with no sliptide 2023-04-08 05:31:30 -07:00
AJ Martinez
d39af93f14 More accurate mindelay for servers/hosts 2023-04-08 05:25:01 -07:00
AJ Martinez
d6ccf341c5 Keep sliptides at speed even without boost, but don't charge wavedashing 2023-04-08 04:22:49 -07:00
AJ Martinez
ea0336bf1b Seriously, never sliptide while underwater 2023-04-08 03:07:34 -07:00
AJ Martinez
207dd964f4 Kill wavedash charge when hit 2023-04-08 03:01:34 -07:00
AJ Martinez
553940e192 You are never sliptiding underwater 2023-04-08 00:39:26 -07:00
AJ Martinez
972ed1c1a7 Bump latency-based angle correction 2023-04-07 23:52:34 -07:00
AJ Martinez
6871639483 Don't disable easing on driftend, it wasn't actually doing anything 2023-04-07 23:47:30 -07:00
AJ Martinez
2001b5efd9 More responsive drift end 2023-04-07 23:02:03 -07:00
Oni
7ed6332e2d Merge branch 'optimize-clip-sprites' into 'master'
Optimize sprite sorting by excluding sprites that are completely obscured by geometry

See merge request KartKrew/Kart!1146
2023-04-08 03:24:05 +00:00
James R
ee55215929 Merge branch 'dedup-render-view-functions' into 'master'
Cut down on duplicated code in R_RenderPlayerView, HWR_RenderPlayerView, HWR_RenderSkyboxView

See merge request KartKrew/Kart!1148
2023-04-07 07:56:50 +00:00
toaster
6b2558c43e Merge branch 'hardcode-assist' into 'master'
Lua info string assist

See merge request KartKrew/Kart!1127
2023-04-06 19:01:00 +00:00
toaster
bbf2fc0b5f Merge branch 'tutorial-access' into 'master'
Tutorial access

See merge request KartKrew/Kart!1102
2023-04-06 17:02:59 +00:00
toaster
217e116bcd Merge branch 'raised-sector-culling' into 'master'
Automatic level culling for raised floors / lowered ceilings

See merge request KartKrew/Kart!1145
2023-04-06 14:42:56 +00:00
James R
8955f2ead0 R_RenderPlayerView, HWR_RenderPlayerView, HWR_RenderSkyboxView: cut down on duplicated code 2023-04-06 04:47:14 -07:00
James R
5be3a6c574 R_ClipVisSprite: add SC_CULL, completely exclude sprite from sorting if it is fully clipped
The avoids wasting time sorting and drawing sprites that
are completely obscured by segs / FOFs.
2023-04-06 01:19:22 -07:00
James R
1a2dc9635b R_SortVisSprites: refactor linked list handling
What a mess! It's pretty obvious how the list is supposed
to be laid out but the old code was gross.
2023-04-06 01:19:20 -07:00
James R
7b8a564f69 Cull BSP behind a raised floor or lowered ceiling that covers the entire screen
This can effectively award the performance of a thok
barrier automatically, for walls that completely fill the
screen vertically. (Not pegged midtextures.)
2023-04-05 15:05:32 +01:00
toaster
dccd70129a Merge branch 'fix-portal-slime-trails' into 'master'
Fix line-based portal slimetrails

See merge request KartKrew/Kart!1139
2023-04-05 13:00:02 +00:00
toaster
3d5e59b986 Merge branch 'r-bsp-cpp' into 'master'
Convert r_bsp.c to C++, light refactoring

See merge request KartKrew/Kart!1144
2023-04-05 12:58:26 +00:00
toaster
d6a0f79ed9 R_CrunchWallSegment: New function name in I_Error message 2023-04-05 13:27:26 +01:00
toaster
a97f53874e Merge branch 'misc-sanitize' into 'master'
Misc fixes for memory errors revealed by -fsanitize=address

See merge request KartKrew/Kart!1143
2023-04-05 11:40:45 +00:00
toaster
0ac1768ee6 Merge branch 'new-voting' into 'master'
Split voting screen to a new file

See merge request KartKrew/Kart!1141
2023-04-05 11:28:52 +00:00
James R
d55b1b194a r_bsp.cpp: merge R_ClipSolidWallSegment and R_ClipPassWallSegment into one templated function
Prep for creating a third variant. Control flow is largely
the same between these two leveraging if constexpr seems
appropriate.

Also splits the crunch goto label away into a new function
called R_CrunchWallSegment.
2023-04-05 00:09:24 -07:00
James R
ccd5f3bfc4 Convert r_bsp.c to r_bsp.cpp 2023-04-04 23:58:58 -07:00
James R
b92bf69ce5 R_RasterizeFloorSplat: set ds_brightmap to NULL
Previously did not set ds_brightmap, so it could sneak in
from a previous span renderer.
2023-04-04 22:15:47 -07:00
James R
f087d6d865 ST_drawDebugInfo: fix displayplayers access out of bounds on startup
On startup, the cvar is not registered yet so the value
went negative subtracting from zero.
2023-04-04 22:10:44 -07:00
James R
e5d51d5a31 R_RenderSegLoop: fix FINETANGENT sometimes going out of bounds 2023-04-04 22:06:32 -07:00
James R
32ed5fe4ae Newsnapshotfile: increase array size to fit webm extension 2023-04-04 22:04:09 -07:00
James R
a469cebef7 M_DrawPause: fix iterating beyond bounds of menuitems 2023-04-04 22:01:42 -07:00
Eidolon
91a6bcf8be Merge branch 'shader-postproc' into 'master'
Shader-based postimg effects

See merge request KartKrew/Kart!1138
2023-04-04 03:37:43 +00:00
Sally Coolatta
15f60a1f14 Split thing voting screen to a new file 2023-04-03 20:57:31 -04:00
Eidolon
86dd34d807 Merge branch 'pad-rumble' into 'master'
Gamepad rumble

See merge request KartKrew/Kart!1098
2023-04-03 21:15:34 +00:00
toaster
6e819e1506 rumble2 rumble3 rumble4 typo 2023-04-03 10:37:03 +01:00
James R
4e79b4ead2 Set portal clipping in R_RenderSegLoop
Previously, line-based portals accessed global
ceilingclip/floorclip before the current seg was rendered.
This means clipping for such portals would be based on
whichever seg happened to render before. Additionally,
ceilingclip/floorclip have more to do with clipping the
visplanes than the height of the wall between (for
instance, using these values doesn't work for two-sided
lines that create a "window" between the planes). The
correct approach that should always work is using the
midtexture's height from inside of R_RenderSegLoop.
2023-04-03 01:12:26 -07:00
James R
20692de47a Replace portalline boolean with g_portal pointer to current portal 2023-04-03 01:11:57 -07:00
Eidolon
356e3317df hwr2: Do postimg in hardware
Depends on updated shaders
2023-04-02 19:46:21 -05:00
toaster
534209b519 Extras Menu adjustment (again)
- Uncomment extras_tutorial again
- Put Tutorial second after Addons, so Challenges and Statistics are next to each other again
2023-04-03 00:28:38 +01:00
toaster
c174e25401 Adjust position of Rings/Lives, Spheres, Speedometer and Accessibility Icons when gametype info is not drawn
Necessary to make Tutorial/Sealed Stars not have a huge gap where the big information used to be
2023-04-03 00:28:38 +01:00
toaster
8d66b279f8 FREE PLAY: Correct mistaken assumptions.
- Make the check consistent between HUD and Challenge conditions by revolving both around M_NotFreePlay.
    - The HUD appearance checked every individual component of K_CanChangeRules, so just straight up do that here.
    - If the rules can be changed, battleprisons is always FREE PLAY no matter how many players are present (because it can change quickly).
2023-04-03 00:28:38 +01:00
toaster
8d804872cf M_LevelListFromGametype: Ensure music is continuous when Level Select is entered from Extras menu
Also fixes the same issue for Online mode
2023-04-03 00:28:38 +01:00
toaster
fbfb8a507d Extras menu: Add GT_TUTORIAL selection screen
- Disabled if no maps available/unlocked
- Has another exception for showing TEST RUN under all gametypes
- Splitplayers is forbidden
2023-04-03 00:28:38 +01:00
toaster
e732f37258 levelheader_t: relevantskin property
- On level load for GT_TUTORIAL:
    - Forces to requested skin (or Eggman if not specified).
        - Named `relevantskin` and not `tutorialskin` in case it's useful to use the same apparatus later for Adventure.
    - Also sets default skincolor and disables follower.
2023-04-03 00:28:37 +01:00
toaster
24d8b20124 GT_TUTORIAL
- Replaces `tutorialmode`.
- Forces gamespeed to Easy, with no POSITION.
    - Laps are currently disabled as well, but this can be changed if necessary.
- Hides Free Play.
- Does not count as a played round (except for Chao Keys).

`tutorialmap` has also been removed. This will be replaced in a later commit with something that plays nicer with Ring Racers' existing systems.
2023-04-03 00:28:37 +01:00
toaster
a0cdc6b71a FREE PLAY: Make a little more consistent
- Cooperative gametypes do not count as FREE PLAY
- Sealed Stars count as a Cooperative gametype
- Fix Battle Fullscreen having had inverted presence of FREE PLAY since bosses were added
2023-04-03 00:28:36 +01:00
toaster
57b1ad15a5 GameTypeRules: Add GTR_NOPOSITION
Says on the tin - introtime == starttime.
2023-04-03 00:28:36 +01:00
toaster
8c58cde072 Rumble: Also vibrate on the first half-second of a sneaker (panel), attenuating in strength with numsneakers. 2023-04-03 00:13:17 +01:00
toaster
6942298862 Adjustments to Rumble
- Cause more intense rumble for damage/damage-causing hitlag
- Reduce intensity for offroad/bananadrag rumble
2023-04-02 23:55:16 +01:00
toaster
380beaa023 Refactor Rumble condition check to iterate over splitscreen players once in p_tick.c, instead of players*splitscreen players in k_kart.c 2023-04-02 23:49:45 +01:00