Commit graph

22493 commits

Author SHA1 Message Date
toaster
046ff49134 Update PROFILEVER handling to account for Rumble support 2023-04-06 20:09:42 +01:00
toaster
5349b45a09 Revert "Ignore OS key repeats for game controls"
This reverts commit 2131973ecce45690bb82ddc80a2dee2107f8362f.
2023-04-06 20:02:13 +01:00
toaster
04f371bbb4 Also permit tertiary and ... quadridly(?) gamecontrol binds for chat open, which had been silently broken for years. 2023-04-06 20:02:13 +01:00
toaster
2d175c6094 Permit tertiary and ... quadridly(?) gamecontrol binds for console open/close, which had been silently broken for years. 2023-04-06 20:02:12 +01:00
toaster
ed3ed6f189 M_UpdateMenuCMD: Enable access to screenshots/etc based on player inputs
Returns early if any of these have been added this tic
2023-04-06 20:02:12 +01:00
toaster
44bd11f95d Update new PROFILEVER to 4 to account for public/private key-related changes 2023-04-06 20:02:12 +01:00
James R
e0f999fcd7 Ignore OS key repeats for game controls 2023-04-06 20:02:12 +01:00
James R
9ca196cb89 Reset input upon exiting bind menu
While rebininding your controls:

- Do not take a screenshot if you press whichever button
  it was bound to before
- Try not to let a held button press buffer back into the
  controls menu
2023-04-06 20:02:12 +01:00
James R
80421da5b3 Replace hardcoded keys for screenshot etc with bindable controls
Renames M_ScreenshotResponder to M_ScreenshotTicker. No
longer eats events. As a side effect, these controls
cannot be used with the console open.
2023-04-06 20:02:11 +01:00
James R
d9faef58cb Add game control for lossless video recording, set default keys for gc_screenshot, etc
Renames gc_startgif to gc_startmovie.

Default controls:

- gc_screenshot - F8
- gc_startmovie - F9
- gc_startlossless - F10

Bumps PROFILEVER to 3, safely migrates existing profiles.
2023-04-06 20:02:11 +01: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
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
toaster
89fc9a618e Rumble toggle attached to profile
- Will silently merge conflict with !1093, make sure to adjust PROFILEVER handling
- (profile_t *)->rumble
- cv_rumble[MAXSPLITSCREENPLAYERS]
- cv_dummyprofilerumble
- Disables all current rumbles when toggling off
- Prevents new rumbles from being set while turned off
2023-04-02 23:16:58 +01:00
toaster
7a9779d242 Remove a bunch of mouse console variables that hold no relevance to us 2023-04-02 23:09:56 +01:00
AJ Martinez
d84ee59887 Merge branch 'fix-spectator-noclip' into 'master'
Let noclip cheat remove floor/ceiling clipping while in spectator mode

See merge request KartKrew/Kart!1134
2023-04-02 21:20:08 +00:00
AJ Martinez
d73b91bc81 Merge branch 'cascade-cleanup' into 'master'
Cascade Cleanup

See merge request KartKrew/Kart!1128
2023-04-02 21:19:53 +00:00
AJ Martinez
e1e7db4c49 Merge branch 'debugrender-portal' into 'master'
Add debugrender_portal command

See merge request KartKrew/Kart!1133
2023-04-02 21:19:47 +00:00