Commit graph

23383 commits

Author SHA1 Message Date
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
James R
05b0ecb5b6 Add angle command, set your angle precisely 2023-04-08 01:19:44 -07:00
James R
5b2d791cf6 Add goto command, teleport to a waypoint 2023-04-08 01:01:17 -07:00
James R
dc18fa745a Overhaul teleport command, let it work in netgames
Old syntax with -x, -y, -z, -ang, -aim parameters is
simply replaced with 3 argument syntax like rteleport.

Before - teleport -x 100 -y 50 -z 25
After  - teleport 100 50 25

The lost angle, aiming and star post features can be added
back in separate commands.
2023-04-08 00:47:34 -07:00
James R
39ea73a4ad devmode render: display skybox portal, visplane and drawseg counts on HUD
- Skybox portal count moved from console print to HUD
- Displays visplane count and drawseg count
2023-04-08 00:40:37 -07:00
AJ Martinez
553940e192 You are never sliptiding underwater 2023-04-08 00:39:26 -07:00
James R
21a31c7a51 devmode: offset with showfps and showping 2023-04-08 00:37:12 -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
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
4b90a8d8bf Hyudoro: Fix an exploit where a player in first can touch their hyudotro while in first on a weirdly shaped map. 2023-04-06 21:17:01 +01:00
toaster
a6ecb25ed5 hyudoro_set_held_item_from_player
- Handles putting an object into the hyuu's inventory.
- Permits Sink conversion for items which are a little too powerful to give to someone who was JUST in first place.
    - For now, the item to convert is an SPB.
2023-04-06 21:04:38 +01:00
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
Sally Coolatta
010fc344df Add equivalent of "Each Time" triggers for ACS 2023-04-06 18:05:05 +01: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
bced5ecbc5 Render precip through blockmap instead of during BSP
There can be very many precipmobjs in a sector. During BSP
rendering, for each sector reached by BSP (the entire
visible level at least), all the precipmobjs would be
iterated and their distance from the camera calculated, to
determine whether they are within draw distance.

The issue with the old approach is that there really are
too many precipmobjs in each sector. By iterating the
blockmap within a certain range instead, precipmobjs
out of view are not iterated at all, saving some time.

Caveat: drawdist_precip is no longer respected as an
exact value, since it must round to the precision of the
blockmap.

List of potentially scary changes:

- Removes snext/sprev for precipmobj_t
- Removes preciplist for sector_t

- Adds bnext/bprev for precipmobj_t
  - mobj_t and precipmobj_t field offsets are symmetrical

- Modified P_SetPrecipitationThingPosition and P_SetThingPosition
  - The syntax in these functions is kind of wacky
2023-04-06 05:41:06 -07:00