Commit graph

23735 commits

Author SHA1 Message Date
toaster
9a35a39f5d Challenges Chao Key usage: Eggman numbers to REALLY drive home that you have to hold the button, and that you can release it early 2023-08-10 00:28:18 +01:00
toaster
19e73f4fe3 Final statistics cleanup
- 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
2023-08-10 00:28:18 +01:00
toaster
6015a96a84 General cleanup to Map Statistics screen
- 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
2023-08-10 00:28:17 +01:00
toaster
567e3863a3 GP stats: Make columns alternate in darkness, rather than gradient 2023-08-10 00:28:17 +01:00
toaster
bce9a2c146 Change the location of the "No [something!?" message to be where a header usually is 2023-08-10 00:28:17 +01:00
toaster
92ce673416 K_drawKartTimestamp: Don't va() a constant string 2023-08-10 00:28:17 +01:00
toaster
8d7c9dd6ce Menu titles for level headers
For the tutorials. Replaces the no longer visible subtitle, since it's roughly analagous in purpose.
2023-08-10 00:28:17 +01:00
toaster
b669f8484f Realname for Cups
Permits prefixing them like maps AND giving them spaces instead of underscores, fixing the "RECYCLE_A" issue.
2023-08-10 00:28:17 +01:00
toaster
92b8ef33f6 Imrpoved Grand Prix Statistics screen
- Show placement with position-modified monitor mini-icon
- Reworked alignment AGAIN
- Dots instead of dashes for empty spots on the GP statistics
    - Now also applies for a missing emerald/prize
- Shaded glass background behind the icons for readability
2023-08-10 00:28:17 +01:00
toaster
8b22e7f691 No entries means no entries 2023-08-10 00:28:17 +01:00
toaster
71bbe3f28a Minor aesthetic/alignment tweaks to all three implemented statistics pages while waiting for chicken to defrost 2023-08-10 00:28:17 +01:00
toaster
648a97aaf3 Grand Prix page for statistics screen
Shows windata for all unlocked difficulties, or dotted dash lines if no windata is available
2023-08-10 00:28:17 +01:00
toaster
d4049bb9a0 Saner list end handling for M_DrawStatsChars 2023-08-10 00:28:16 +01:00
toaster
f02711e297 M_DrawCupWinData
Extract a portion of M_DrawCupSelect for future Statistics usage.
2023-08-10 00:28:16 +01:00
toaster
6bf2159ad2 Now that it's exposed via Statistics, remove temporary CONS_Printf display of skin wins from gamedata load function 2023-08-10 00:28:16 +01:00
toaster
97889f9ef2 M_DrawCharacterIconAndEngine
Abstracts previously duplicated code between Challenges and Statistics
2023-08-10 00:28:16 +01:00
toaster
9ed1471c95 Add "Characters & Emgine Classes" page to statistics
- 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
2023-08-10 00:28:16 +01:00
toaster
52b4104f86 Fix inconsistencies with some maps-related statistics 2023-08-10 00:28:16 +01:00
toaster
49e3e6b500 Instead of calculating relevant medals for every frame, calculate once and store the result 2023-08-10 00:28:16 +01:00
toaster
efe02794d4 (re-)implement pages for the Statistics Menu
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.
2023-08-10 00:28:16 +01:00
toaster
73a5500b0e Full stops for game speed/difficulty descriptions, for consistency 2023-08-10 00:28:16 +01:00
toaster
d0552381bc Consistent background for cup select/level select/Time Attack submenus 2023-08-10 00:28:15 +01:00
toaster
380a015e82 Increase the amount the menu background has to slide, and slightly increase the speed to compensate
Subjective, but means no corner of the image will be poking in over the fade.
2023-08-10 00:28:15 +01:00
toaster
75257fbdd2 Fix instantaneous menu background image slideout on fade wipe
If the renderdeltatics is lagged enough, perform no change - a smaller delta should be along shortly.
2023-08-10 00:28:15 +01:00
James R
b94f64e82f Fix misc -Wmaybe-uninitialized
These only show up for me ifdef TESTERS, for some reason.
2023-08-08 15:29:30 -07:00
James R
e89ecc7a2d Merge branch 'music-technology' into 'master'
Replace music handling

See merge request KartKrew/Kart!1369
2023-08-08 22:19:36 +00:00
James R
55c3da2892 Merge branch 'no-encore-palette' into 'master'
DEVELOP cvar to disable encore palette

See merge request KartKrew/Kart!1373
2023-08-08 22:19:21 +00:00
James R
14d76a10ec Merge branch 'mapper-ring-box' into 'master'
Ring Box mapper arg

See merge request KartKrew/Kart!1372
2023-08-08 22:18:14 +00:00
AJ Martinez
688ba7a705 Ring Box mapper arg 2023-08-07 22:39:11 -07:00
AJ Martinez
91d6fecaf9 Don't always register the fucking cvar 2023-08-07 19:20:57 -07:00
AJ Martinez
4b0a9ce7a6 Register the fucking cvar 2023-08-07 19:19:59 -07:00
AJ Martinez
1cdb498862 DEVELOP cvar to turn off encore palettes (readability testing) 2023-08-07 19:06:21 -07:00
James R
56c5e367ab K_drawKartSlotMachine: fix uninitialized variable
This caused the Ring Box HUD to disappear whenever the
player was turning. But I'm the only one who got this
behavior. Funny how undefined behavior works.
2023-08-07 13:39:33 -07:00
Sal
534ba7fe5d Merge branch 'stupid-strlcpy' into 'master'
Rename HAVE_STRLCPY to SRB2_HAVE_STRLCPY, fix non-glibc compile

See merge request KartKrew/Kart!1371
2023-08-07 20:14:50 +00:00
Oni
ced5a56db4 Merge branch 'super-flicky-tracking' into 'master'
Super Flickies now have HUD tracking and map icons

See merge request KartKrew/Kart!1363
2023-08-07 05:05:14 +00:00
James R
6f88ea2835 Rename HAVE_STRLCPY to SRB2_HAVE_STRLCPY, fix non-glibc compile
- Fix compile with msvcrt
- Fix compile with SDL 2.28.2
2023-08-06 19:34:52 -07:00
James R
d3577c02b9 Port tunes command to new music system
The tunes command basically operates the Stereo now, with
the distinction that the song loops forever.

tunes -none will stop music indefinitely. Only the Stereo
can override it.

tunes -default restores level music to the correct time.
2023-08-06 17:31:45 -07:00
James R
feada89364 Port Sound Test (Stereo) code to new music system
Much of struct soundtest was removed, since the music
system handles its functionality now.
2023-08-06 17:31:45 -07:00
James R
39f46a0f20 Replace music handling
(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.
2023-08-06 17:31:45 -07:00
James R
646701c55c Remove Lua Music API
In preparation for replacing music handling entirely.
Eventually, we can make a new Lua API.
2023-08-05 16:26:53 -07:00
James R
8bebf33a77 Fix glibc 2.38 compile
glibc 2.38 added strlcpy and strlcat.
2023-08-03 16:39:18 -07:00
Oni
713cb57486 Merge branch 'vape-mode' into 'master'
Slow down level music in Encore - "vape mode"

See merge request KartKrew/Kart!1359
2023-08-03 14:11:40 +00:00
Oni
ec6408b87b Merge branch 'fix-gme-seek' into 'master'
Fix GME only ever seeking halfway

See merge request KartKrew/Kart!1367
2023-08-03 13:49:18 +00:00
Oni
e1e858669d Merge branch 'no-item-capsule-remap' into 'master'
Don't encore remap the inside of item capsules

See merge request KartKrew/Kart!1368
2023-08-03 13:49:03 +00:00
SteelT
92851cbd41 Don't encore remap the inside of item capsules 2023-08-02 14:23:00 -04:00
toaster
4d71172002 objects/sneaker-panel.c - include k_objects.h 2023-08-02 16:53:35 +01:00
Sal
540d755985 Merge branch 'n64-pad' into 'master'
Add our custom controller mappings earlier

See merge request KartKrew/Kart!1358
2023-08-02 07:15:59 +00:00
Sal
42c36126b5 Merge branch 'directional-lighting-flag' into 'master'
Directional lighting flag

See merge request KartKrew/Kart!1356
2023-08-02 07:14:29 +00:00
James R
68293dfeb3 srb2::audio::Gme::seek: use gme_seek instead of gme_seek_samples
Fixes seeking only halfway. gme_seek_samples counts
samples for BOTH channels.
2023-08-02 00:08:40 -07:00
AJ Martinez
5a703240bd Slow down level music in Encore - "vape mode" 2023-08-01 19:04:30 -07:00