Commit graph

22541 commits

Author SHA1 Message Date
Oni
d6d8cf548a Merge branch 'optimize-precip-think' into 'master'
Optimize precipitation by eliminating the thinker entirely

See merge request KartKrew/Kart!1157
2023-04-09 05:31:31 +00:00
Oni
d30567c04a Merge branch 'railgun' into 'master'
Use old multiply effect for fast missile shots

See merge request KartKrew/Kart!1153
2023-04-09 05:00:14 +00:00
VelocitOni
9e92b1f2b7 Edit item speed values a bit
Orbis and Jawz sped up just a bit, ballhog to move proportional to player like it used to, gardentop faster
2023-04-09 00:18:50 -04:00
Oni
f615b1a2f0 Merge branch 'acs-trigger-improvement' into 'master'
Improve ACS triggers

See merge request KartKrew/Kart!1131
2023-04-09 03:08:34 +00:00
Oni
485af970e6 Merge branch 'sealed-smooth' into 'master'
Sealed Smooth

See merge request KartKrew/Kart!1154
2023-04-09 03:07:26 +00:00
Oni
78f5f04d61 Merge branch 'dont-fudge-driftend' into 'master'
Handling Fixup Bonanza™

Closes #506

See merge request KartKrew/Kart!1155
2023-04-09 02:42:38 +00:00
AJ Martinez
75cfe4b5ad Also take away existing wavedash boost when hit 2023-04-08 15:22:15 -07:00
toaster
c76fc45de9 P_SwitchWeather: Fix potential infinite loop if non-NullPrecipThinker thinker existed in THINK_PRECIP 2023-04-08 21:55:28 +01:00
James R
9eab5317f3 Stop calling P_NullPrecipThinker
In levels with tens of thousands of precipmobjs, the
overhead of running a thinker for all of them is too much,
no matter how small the thinker is.

ALL thinking is done inside the renderer now, where it can
be limited by distance. Precipmobjs track the last
leveltime they thunk, so interpolated frames don't think
twice.
2023-04-08 13:34:42 -07:00
toaster
1f607514de Merge branch 'merge-newclip' into 'master'
hardware/hw_main.c: remove unused clipping code, remove ifdef NEWCLIP

See merge request KartKrew/Kart!1150
2023-04-08 20:12:06 +00:00
James R
5ee4461bfc hardware/hw_main.c: remove unused clipping code, remove ifdef NEWCLIP 2023-04-08 21:08:07 +01: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
toaster
ef382feba9 Merge branch 'stereo-dx' into 'master'
Stereo DX

Closes #510

See merge request KartKrew/Kart!1140
2023-04-08 11:41:48 +00:00
toaster
a31d83cd6b Resolve #510 by not stopping attempted playback/sequence when song duration is 0 2023-04-08 12:39:02 +01:00
toaster
d432cf3837 musicdef important parameter: Guarantee match by touppering the character 2023-04-08 12:32:47 +01:00
toaster
dc8a97475f musicdef_t: Add an important parameter
If set to true/yes/1, add at the head of the sequence in S_PopulateSoundTestSequence.
Otherwise, append to the tail.
2023-04-08 12:32:47 +01:00
toaster
5dd4e36b72 S_StopMusicCredit: Make killing a music credit a request, not a guarantee
Fixes some menu events causing Stereo-caused music credits to disappear
2023-04-08 12:32:47 +01:00
toaster
a85af6339d M_EraseDataResponse: Don't softlock the Stereo on if you're likely no longer able to access it 2023-04-08 12:32:47 +01:00
toaster
2e687b4033 Sound credits no longer go off the screen
Uses V_ThinStringWidth to check whether it'd exceed BASEVIDWIDTH.
Does not apply to the main song title - if that exceeds the width of the screen, just visibly fail.
2023-04-08 12:32:46 +01:00
toaster
37c1a40da6 S_SoundTestPlay: Improvements
- Tidy conditionals
    - Fixes dosequencefadeout potentially not being set for this particular track.
- Only functionally loop the song if the duration before looping is less than 3 minutes.
    - Ensures particularly long songs that already do minor variations of the same loop don't overstay their welcome.
2023-04-08 12:32:46 +01:00
toaster
9540cd7c88 SOUNDTEST_FADEOUTSECONDS: Make 5 seconds instead of 3. 2023-04-08 12:32:46 +01:00
toaster
1bdbfdf22b S_TickSoundTest: Clean up significantly.
- Introduce comments to make flow understandable.
- Abstract the number of seconds in the fade out (previously handled across multiple places) into SOUNDTEST_FADEOUTSECONDS.
- Make all next/conclude song cases for autosequence and non-looping track handled in one place.
    - Fixes the case where a non-looping track could stop the Sound Test even in autosequence mode.
2023-04-08 12:32:46 +01:00
toaster
c5bb660372 M_DrawSoundTest: Animated volume knob
- Animates every 2 tics when up/down is held.
- One frame when pressing confirm.
2023-04-08 12:32:46 +01:00
toaster
f24e09f813 M_DrawSoundTest: Fix being held in the up direction when holding Confirm, when only one input is sent 2023-04-08 12:32:46 +01:00
toaster
94f5048fd1 Stereo Mode: Move all left-aligned text one pixel inwards 2023-04-08 12:32:45 +01:00
AJ Martinez
d6ccf341c5 Keep sliptides at speed even without boost, but don't charge wavedashing 2023-04-08 04:22:49 -07:00
toaster
9072437751 Merge branch 'sink-is-back' into 'master'
Sink is back

See merge request KartKrew/Kart!1149
2023-04-08 11:22:29 +00:00
toaster
94e3803eb0 Merge branch 'blockmap-precip' into 'master'
Render precip through blockmap instead of during BSP

See merge request KartKrew/Kart!1147
2023-04-08 11:21:23 +00: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
AJ Martinez
ac41a0a563 Use old multiply effect for fast missile shots 2023-04-07 16:16:45 -07:00
toaster
4b7aa368b5 P_GetNextEmerald: Accomodate map reuse in GP
- In GP, use struct's cup pointer to get Emerald so the active cup ID is in control
- Outside of GP, get cup pointer from map so Emerald is always the "canon" one
2023-04-08 00:05:18 +01:00
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
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
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