Commit graph

23040 commits

Author SHA1 Message Date
AJ Martinez
c7bae4a06b Also prevent fastfall on ebrake ground-to-air 2023-05-26 06:47:22 -07:00
AJ Martinez
1871cad1d9 Require new input to fastfall after bouncing 2023-05-25 23:21:19 -07:00
Oni
9b8306c91b Merge branch 'menu-pokes' into 'master'
Menu Pokes

See merge request KartKrew/Kart!1248
2023-05-26 05:53:16 +00:00
Eidolon
d2482287a9 Merge branch 'read-exact-span-vec' into 'master'
io: Specialize read_exact for Span/VecStream

See merge request KartKrew/Kart!1247
2023-05-24 22:35:16 +00:00
James R
f35de20c72 io: Fix name lookup for read_exact friend specializations 2023-05-23 23:05:44 -07:00
Eidolon
a2ea3bfd6c io: Specialize read_exact for Span/VecStream
These will always enter infinite loops in read_exact under correct use
when there is not enough data in them to read to the buffer, so we can
throw out early for EOF in those scenarios.
2023-05-23 23:04:34 -07:00
Eidolon
a8e122c36b Merge branch 'revert-palette-manager' into 'master'
Revert "hwr2: Track colormaps and lighttables tex globally"

See merge request KartKrew/Kart!1249
2023-05-23 14:46:36 +00:00
Eidolon
b8dabe82cf Revert "hwr2: Track colormaps and lighttables tex globally"
This reverts commit aa48237928.
2023-05-23 09:05:23 -05:00
toaster
8845f36a3d HU_DrawRankings: Adjust slightly
- Only show `Lap 0/Lap 1` if numlaps > 1, to match other circumstances where laps aren't real
- Only show player roundscore if gametype supports roundscore
- Otherwise accept a blank right side of the player bar in custom gametypes. (one day for Lua..?)
2023-05-22 15:32:07 +01:00
toaster
a0f0c83975 M_DrawMenuTyping: On Virtual Keyboard, highlight when system button presses occour
- A
- B/X
- C
- Start
2023-05-21 00:14:11 +01:00
toaster
04d87bfb6c M_MenuTypingInput: In Virtual Keyboard mode, assign some buttons as shortcuts
- Start: closes the menu
- B/X: backspace
- C: Toggle shift/caps lock
2023-05-21 00:04:45 +01:00
toaster
f24a640e04 Increase reliability of menuKey system
The intersection between processed buttons and raw keyboard data is a messy one and will probably never be perfect, but it is now consistent.
- Never overwrite a valid keyboard menuKey recieved this frame with a -1 if a different type of event is recieved as well.
- Store previous state of dpad_lr and dpad_ud on menucmd struct.
    - Previously, if `a` was bound to Turn Left, it could produce a valid menuKey for one frame, then be considered a leftward input - switching from manual keyboard to Virtual Keyboard.
    - It still only produces a valid menuKey for one frame... but we simply filter out leftward inputs that are older than this frame to keep things (relatively) clean.
2023-05-20 22:37:31 +01:00
toaster
df31f7cf3a M_HandleMenuInput: Fix incorrect menuKey comparison that was preventing the Virtual Keyboard from ever being activated on first opening 2023-05-20 21:03:23 +01:00
toaster
fb578d7da2 Add-ons menu: Add name and tooltip for Search/filter field
Now visible via Virtual Keyboard.
2023-05-20 20:43:41 +01:00
toaster
38ddfeeef8 Make virtual keyboard even stronger
- Show a textbox (with highlighted border) so the console font is more likely to be legible.
    - Increases the width of the virtual keys to match this.
- Show menu entry name and tooltip on faded view (if they exist), for additional context for what you're writing
- Make the text entry and the virtual keys slide seperately
2023-05-20 20:43:00 +01:00
Eidolon
2918f9b61c Merge branch 'more-rhi-stuff' into 'master'
More RHI improvements for HWR2

See merge request KartKrew/Kart!1246
2023-05-20 15:45:34 +00:00
Sal
15dce65efb Merge branch 'bot-game-speed' into 'master'
Bots: Rebalance rubberband speeds

See merge request KartKrew/Kart!1244
2023-05-20 03:59:03 +00:00
Sal
9bb474378e Merge branch 'rings-from-below' into 'master'
Add MF_PICKUPFROMBELOW to rings

Closes #446

See merge request KartKrew/Kart!1245
2023-05-20 03:58:25 +00:00
Eidolon
be869aefc6 rhi gl: Allow create_pipeline in gfx ctx
This function impl does not change any GL drawing state, and neither
should Vulkan, so the constraint that this function not be called while
a graphics context is active is not necessary.
2023-05-19 18:54:19 -05:00
Eidolon
aa48237928 hwr2: Track colormaps and lighttables tex globally
This will allow hardware to reuse the same colormap textures objects as
twodee.
2023-05-19 18:54:19 -05:00
Eidolon
7e4d61730e rhi: Fix handle std::hash specialization
This prevented hashing of non-const qualified types. The contract for
std::hash already implies that it is a callable for an lvalue reference
of the template type.
2023-05-19 18:54:19 -05:00
Eidolon
8d390c58d4 hwr2: Extract BlendMode enum from twodee
This enum is usable across multiple parts of hwr2 so it would be easier
to just keep it separate.
2023-05-19 18:54:19 -05:00
Eidolon
20002f83c4 rhi: Make some stencil state dynamic
The reference, compare mask and write mask for each face direction in
the stencil test is now dynamic pipeline state and are implicitly set to
default values when a pipeline is bound. This is implementable using
Vulkan dynamic pipeline state bits and so there is no reason not to
provide it.

In the OpenGL implementation of RHI, this requires tracking some stencil
state internally in the graphics context because the stencil state
functions require multiple inputs that do not cleanly map to the Vulkan
equivalents.
2023-05-19 18:54:19 -05:00
toaster
d86743f0ba Profile selection music
- `_OCEAN` on first launch without profile set, to avoid skipping between three different tracks in quick succession
- 'FILE' if you create a new profile on first launch OR if you go into Options->Profiles
2023-05-19 23:10:13 +01:00
toaster
ca68fe630b Show PAUSED image when the game is stopped by the pause command
In addition, don't show the pause menu PAUSED in modeattacking/netgames
This text is now snapto-affected, since we can't (or at least shouldn't) summon the widescreen border in regular pause instances.
2023-05-19 22:16:07 +01:00
toaster
f7107e2f66 Rearranged again
All that effort and I didn't notice there was two i's 🥹
2023-05-19 21:42:48 +01:00
toaster
af334f927f Cleanup of the Virtual Keyboard
- Variable width key support
    - Rearrangement of keys to take advantage of this
- Uses thin strings
    - Or arrow sigils for backspace/shift
- Shift and caps lock have been visually combined to match other virtual keyboards
    - Press shift once to enable shift, press again to disable shift and enable caps lock
    - Indicator light on shift to show capslock state
2023-05-19 21:21:48 +01:00
toaster
c8f350aa70 CON_ShiftChar: Integrate numpad translation from CON_Responder, so both chat and menu input can take advantage
The original written comment by Callum remarks that it was good for writing IP addresses, and this makes it apply to the IP address Online Menu field...
Also adds better comments.
2023-05-19 17:56:28 +01:00
toaster
8e4e2eb0a9 CON_Responder: *also* use CON_ShiftChar directly rather than have two different implementations that could desync 2023-05-19 17:42:16 +01:00
toaster
0845cf0775 M_ChangeStringVar: Fix Caps Lock by using CON_ShiftChar directly 2023-05-19 17:40:22 +01:00
toaster
276bbebc6f Use 6widthspace for Virtual Keyboard bottom-of-screen message 2023-05-19 17:33:08 +01:00
toaster
23378048e3 k_menudraw.c: For all IT_CV_STRING handling, use a selection arrow instead of a flashing underscore
Makes it clear that you can't type directly into the field, but must select it first.
2023-05-19 12:52:31 +01:00
toaster
03a7f33c55 M_DrawMenuTyping: Slightly more consistent spacing for single-char virtual keys
The entire virtual keyboard needs a visual redesign, but this will make navigating it slightly easier for now.
2023-05-19 12:51:40 +01:00
toaster
16649d0754 M_ChangeStringCvar: Support for Cut, Copy, and Paste
- Ctrl codes
    - ctrl-c, ctrl ins (copy)
    - ctrl-x (cut)
    - ctrl-v (paste)
- Shift codes
    - shift-ins (paste)
    - shift-del (cut)
2023-05-19 12:25:45 +01:00
Sally Coolatta
96ad5afd07 Add MF_PICKUPFROMBELOW to rings
Closes #446
2023-05-19 06:19:45 -04:00
Sally Coolatta
f1d5867877 Bots: Make Lv.1 end worse at timing items 2023-05-19 06:09:29 -04:00
Sally Coolatta
2eff6d7fb5 Bots: Make them stay farther from the beam 2023-05-19 06:08:37 -04:00
Sally Coolatta
cbb684cd25 Bots: Add bot name to debugbots
For the frontrunner behavior
2023-05-19 01:29:46 -04:00
Sally Coolatta
724beb0ffe Bots: Improve rubberbanding further
- Use easing functions for the rubberbanding values themselves, for more fine-control over the end-points and the curves.
- Fixed K_UpdateRubberband being broken from using shift instead of divide.
- Rename `debugbotpredict` to `debugbots`, it now displays some of the bots' botvars values as well. If the player isn't a bot, it will show them from the first place bot (for inspecting the rubberband value).
- Bot turning buff was increased, from x1.25 to x2.0. Noticed that Tails bots were failing turns on Popcorn Workshop. I personally think that Tails bots shouldn't be failing very many turns unless if they're finding objects, and constant wall-bumping should be reserved for Eggman and Metal :P
2023-05-19 01:00:55 -04:00
Sal
65511d6fdc Merge branch 'build-bot-party' into 'master'
Fix some failed assertions for G_LeaveParty

See merge request KartKrew/Kart!1243
2023-05-19 03:08:07 +00:00
James R
20d9d48483 Destroy parties explicitly before building
This removes a call to G_DestroyParty from CL_ClearPlayer.
The problem with calling it from there is that the
consoleplayer of a splitscreen is removed first, the local
party is cleared. Then G_LeaveParty assert fails when the
next splitscreen player is removed because the console's
party was already cleared.
2023-05-18 19:15:02 -07:00
James R
11b2ee0d26 Got_AddBot: build party and set playerconsole
Fixes bot's local party being empty (fails assert at
G_LeaveParty).
2023-05-18 18:40:01 -07:00
toaster
569ec11624 Y_PlayerStandingsDrawer: Show the points increase(/decrease)
Shows in the same position as ping.
Also, pushes the results slightly closer together horizontally if ping/increase is visible.
2023-05-17 15:40:08 +01:00
Sal
cf120e7d8e Merge branch 'minimap-tidy' into 'master'
Minimap Tidy

See merge request KartKrew/Kart!1239
2023-05-17 03:01:50 +00:00
Sal
f2c25b09ff Merge branch 'remove-nights-chase' into 'master'
Remove P_NightsItemChase

See merge request KartKrew/Kart!1240
2023-05-17 01:03:00 +00:00
toaster
eb167a77dd Challenges menu: Change track to "Lost in Recollection", away from "Always Read the Manual" 2023-05-16 22:30:54 +01:00
toaster
2e1a80c9ca M_DrawPause: Show Round number/event sigil when roundqueue/GP is in action 2023-05-16 22:21:09 +01:00
Sally Coolatta
5b5323226f Bots: Rebalance rubberband speeds
- Lv.1 has a significanty lower minimum top speed (from 75% -> 50%)
- Lv.MAX has a significantly higher minimum top speed (from 112.5% -> 125%)
- Every bot level has a slightly lower maximum top speed (Lv.1: 100% -> 80%, Lv.MAX: 220% -> 200%)
- Uses easing functions now to make the distance rubberbanding applies to, and the rubberbanding curves, much more customizable.
2023-05-15 23:53:32 -04:00
Sally Coolatta
7ddfddb3a8 Bots: Modify friction changes with gamespeed 2023-05-15 23:10:59 -04:00
Sally Coolatta
1abc097bb5 Remove P_NightsItemChase
Keeps being called in some strange instance by rings, even though the case that calls it shouldn't happen, and causing a crash -- just delete it.
2023-05-15 21:45:25 -04:00