Commit graph

22495 commits

Author SHA1 Message Date
toaster
6ae455dbfc Add MF_DONTENCOREMAP to Monitor assets (+ Magician Box) 2023-04-07 23:53:00 +01:00
toaster
307d78130f UFO Catcher: Adjust sprite z offset of prize inside glass orb 2023-04-07 23:36:46 +01:00
toaster
2969aabae4 UFO Catcher: Adjust for changed glass graphic 2023-04-07 23:36:30 +01:00
toaster
c7c78bc72b K_drawTargetHUD: Track at sprite x/y/z offset in 3d space 2023-04-07 23:18:08 +01:00
toaster
6108aa3dd6 Spawn shards on UFO Catcher glass damage
Involves some code adapted from monitor.c ... I couldn't just expose it via k_object.h because the clean entrypoint was JUST too specific to Monitors
2023-04-07 22:36:32 +01:00
toaster
03049db837 UFO Catchet glass ball
Preliminary offset, no effects, but closer to complete visually.
2023-04-07 21:01:51 +01:00
toaster
8a3d225790 UFO Catcher can now carry Emeralds other than the Green Chaos Emerald
- Uses P_GetNextEmerald to determine the associated emerald. Earlier work paying dividends!
- Color selected matching Cup Select screen
- New states which can be used in other contexts
    - S_SUPEREMERALD1 and S_SUPEREMERALD2
    - S_SUPEREMERALD_UNDER
2023-04-07 19:32:46 +01:00
toaster
1f018f8d27 k_hud.c: Consistently use TC_DEFAULT instead of 0 for R_GetTranslationColormap 2023-04-07 18:03:29 +01:00
toaster
7abb2ce162 K_drawKartMinimap: Add progression meter variation
- Uses a lot of existing apparatus, just leveraged to draw horizontally instead of a full map.
- Currently only functional in Sealed Star contexts, due to K_GetCircuitLength having no clean alternative for sprint tracks.
    - Tracks Catcher/Emerald.
- K_drawKartProgressionMinimapIcon and K_getKartProgressionMinimapDistance
    - Abstracts the progress of converting distance to finish into a position on the bar.
    - Sibling function of K_drawKartMinimapIcon
        - The author of this commit wanted to make it an alternate outcome of this function, which it shares a lot of similarity with, but doing waypoint traversal in HUD for objects that don't independently track their distance would absolutely tank performance.
        - Tidying up in the main function permitted less minimap state to be used in these.
2023-04-07 18:01:50 +01:00
toaster
e82082fd06 K_UpdateDistanceFromFinishLine: Do not destroy distancetofinish value if the player NO CONTESTed 2023-04-07 00:55:04 +01:00
toaster
0ac2541eb9 k_drawKartTImestamp: Clean up SPB Attack distance bar
- Use a minimap-like graphic for the background area
    - The goofy name comes from a delightfully awful development conversation
- Make the entire thing snap to the screen's bottom and slide in
- Fix a potential sqrt of a negative/zero value
2023-04-07 00:49:06 +01:00
toaster
ba3e6765ef K_DrawKartMinimap: Bugfixes to NO CONTEST X
- Fix Race NO CONTEST X not being colormapped
- Fix non-local players not being NO CONTEST X-ified
2023-04-07 00:39:30 +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