- All inputs create input events that get stored in a very
small buffer
- Normally, the game listens for some inputs and then
immediately processes them and updates the button state
in-game
- However, during wipes the processing step would not
happen and it would just let the events pile up
- Because the buffer is small though, it would quickly
fill up and lose some events
- This would lead to button states getting stuck on some
controllers if you released a button during a wipe
- If you spun an analog stick around, this would cause
it to happen more frequently, because there is a new
event for every slight change of an analog stick's
position
Fix some R_MapPlane crashes in splitscreen; debugrender_visplanes and debugrender_portal; some multithreading crashes
Closes#1032 and #1021
See merge request KartKrew/Kart!1997
- Virtual Keyboard can switch to a temporary menu while
typing
- It will switch back to the previous menu after it's
closed
- This functionality can be used even if the menu isn't
already open
- It will close the menu and return to gameplay when the
Virtual Keyboard is closed
- It is possible to have a circuit map separated into
sections, where there are multiple "laps" before making
a full loop
- Normally the lap count is used to multiply the finish
line distance, but it fails for these maps
- The LapsPerSection property fixes the calculation by
specifying how many laps make up a full loop
- Default = 1 lap (most maps)
- Scramble can help point out memory leaks from mobjs
never being freed
- However it can also cause false positive crashes, since
there is sometimes a 1 or 2 tic window between when
P_RemoveMobj is called and all pointers to that mobj are
set to NULL
- Presumably we have code that NULL checks but does not
check P_MobjWasRemoved and such instances may be hard to
find so it's just easier to not scramble
We don't typically use offsets for font graphics anyway.
But I had to add offsets to the console font specifically,
because the console doesn't render text with the normal
drawing functions.
- If emerald not yet collected on that cup, pick the first uncollected emerald, then get the cup's CUPCACHE_SPECIAL with that ID to pick the stage
- Already collected emeralds retain their swappage across gamedata saves
- Returns to normal order if you get all 7 OR Special Mode is unlocked (chao key? debug? password in modded games? sky's the limit)
- Pops up a Message from the Stars telling you the gems have been returned to their natural place
- Add-ons will always use their dedicated sealed star, since it's unordered material
If it weren't so last minute I could have a better solution for GP Backups, but right now what I've gone for is it always trusts whatever G_GPCupIntoRoundQueue does AS LONG AS THE COURSE ISN'T THE ONE YOU'RE RELOADING INTO. If it IS, then it checks to see if it's exactly what's been saved, and complains (with the generic error message, unfortunately) if it isn't.