Commit graph

23745 commits

Author SHA1 Message Date
James R
e0562a44e5 Add MSF_DIRECTIONLIGHTING, forces directional lighting on, even indoors
UDMF flag: forcedirectionallighting
2023-08-11 01:42:48 -07:00
James R
70294e62bd Automatically disable directional lighting if the sector has no sky 2023-08-11 01:41:49 -07:00
James R
424ad0bdb7 D_SRB2Main: set music volume on init :) 2023-08-11 01:02:27 -07:00
Oni
21d00050a6 Merge branch 'quiet-ring-spam' into 'master'
Reduce ring sound volume as it's repeated

See merge request KartKrew/Kart!1370
2023-08-11 07:23:52 +00:00
Oni
c79812def4 Merge branch 'menu-munchies' into 'master'
Postfreeze Menu Polish Act 1

See merge request KartKrew/Kart!1375
2023-08-11 07:19:19 +00:00
Oni
bd08da2ae9 Merge branch 'more-ring-box' into 'master'
Ring Box time 2->3s

See merge request KartKrew/Kart!1376
2023-08-11 06:17:47 +00:00
VelocitOni
8f01f15540 Ringboost speedlines takes a lot longer to turn gold
TICRATE/3 -> TICRATE/6
2023-08-11 01:17:06 -04:00
VelocitOni
3283ced078 Stacked excess ring time = more power
x1.5 times stronger juice from excess rings stacked
2023-08-11 00:59:54 -04:00
AJ Martinez
832baac4eb Ring Box time 2->3s 2023-08-10 21:22:58 -07:00
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
AJ Martinez
bf48f64a5c Reduce ring sound volume as it's repeated 2023-08-07 05:59:06 -07: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