This basically came to me in a dream, who am I to look the horse in its mouth
- Press to start a shuffled sequence, losing your current position in the autosequence.
- Press again to disable, but keep your current track.
- Adjust horizontal offset of Stereo buttons slightly.
- More judiciously comment Sound Test functionality, to assist future maintainers.
- V_HUDTRANS does not fade if combined with V_SLIDEIN
(since sliding elements are not supposed to fade).
- If not V_SPLITSCREEN, uses most opaque fade value among
splitscreen players (since Tally will fade back out for
specific players).
Reduces the toxicity of "userlist-bumping", the phenomena where you pick a name that begins as early in ASCII as possible for clout.
Now that only continues to apply to the sort that is already just a little toxic.
Instead of putting you on the room select but forbidding changing the room...
- You haven't unlocked add-ons (formerly forced to CORE)
- Skips the Room Select and takes you directly to the CORE mode Server Browser
- Game has add-ons loaded (formerly forced to MODDED)
- Forbid accessing the Server Browser with a helpful message.
- Reduces tech support burden.
- Parity with the previous entry in the series.
- Let players know if their cv_masterserver was changed, and give them the opportunity to change it back
- A limited number of nag attempts, so if people are using a legitimate custom Server Browser they won't be annoyed for the rest of the game's lifespan
- Show the Server Browser at the bottom of all online menus
- KNOWN BUG: currently overlaps with the Join IP
- we're redoing this menu before launch because it's buggy so this is just another bug on that pile
Ported from KartKrew/Kart-Public!286
Unlike the previous entry in the series, this actually defers outbound rules checks for either selecting "Host Game" on the menu, or starting a server via the console/command line parameters. Only attempting to host a non-advertised game via the menu will have sent out an unnecessary rules request to the MS!
- No longer reimplement base functionality in confusing overlapping situations, only add on top of it where necessary
- Fix the case where no servers were found to not allow scrolling past the bottom
- KartKrew/Kart-Public!313 has finally been integrated with the changed menu code
- Attempts multiple times to get every public server, up to nettimeout
- Clear the server list when entering/exiting and refrehing
- Show visible servers and potential servers opposite the Refresh input
- I would have done this in another commit, but the system was too broken to repair without just putting the working solution in wholesale
- Improved visual scrolling behaviour
- Pressing A actually joins the server
- CORE vs MODDED is handled in SL_InsertServer, not a seperate function to drop/memcpy things around
Also, abstract out the little "PLEASE WAIT..." message popup during potential IO block into M_PleaseWait (only used on connect process via Menu)
- No need to call CV_RegisterVar
- Cvar definitions live in only one file, easier to locate
- Organized into sections -- netvars, cheats, etc.
- Use builder pattern to initialize cvars
- Still need to extern if you want to read the cvar value
Creates a central landing point where gamedata loads/creates can be finalised properly.
In addition, gamedata wipes caused by data erase or custom SOC gamedata can no longer be saved in a partway corrupted state if they were to crash midway through.
After turning on freecam, the vertical angle is tilted
slightly downward (this is carried over from normal
chasecam).
Interpolate that angle back to normal while moving
forward. This makes it so you don't need to manually
adjust the vertical angle, since it would cause forward
movement to send you into the ground.
- Characters is default page because it's Dr Eggman's game
- Keep page when exiting menu and returning
- Remove/comment out the overview page, since the overview is currently visible on all pages
- One extra row, to match the position of the headers on other pages
- Add "time" column if Time Attack for relevant gametypes is unlocked
- Seperate row header from Lost and Found for tutorial mode maps
- Add background lines to each row to increase parsability
- Shows wins for every character
- Shows heatmap of which stats are your favourite (of the loaded skins)
- Adds a header to the top of all statistics pages showing you can scroll left and right
- General spacing is adjusted to accomodate
Was previously a feature of older versions of SRB2, but newer releases have had more compact statistics menus.
However, we now have wayyyyy more to track than SRB2 ever did, so this is now actually justified.
Currently there are only two pages, and the first page is empty. This will change shortly.
(This commit does not compile. Sound test and tunes
command code needs to be ported after this.)
This is a big one. Here's the rundown:
The old music system was very direct, much of the time
just a proxy to the real sound API in i_sound.h.
You could change the music on command, but there wasn't
a consistent way to prevent some music from playing over
others. P_RestoreMusic is one example of needing to
address this problem. The jingles system was intended as
another solution. Furthermore, sound test (Stereo) has its
own needs.
I am removing all of that. Music handling in general is
now a very deliberate system, kind of similar to jingles.
In the new system, "tunes" are registered. The tune stores
info such as whether it should loop or fade out. Most of
the configuration is intended to be initialized only ONCE.
Tunes can be mapped to an actual music lump. They can be
remapped at any time too.
Tunes are also configured with a priority number. This
determines which tune is heard, if multiple are supposed
to be playing at a time. You can even tell a tune how long
it should play, so it's unnecessary to track this with
bespoke timers.