Commit graph

23816 commits

Author SHA1 Message Date
James R
c6254d29f9 Don't restart netgame connection music if it's already playing 2023-08-08 17:39:35 -07:00
James R
c341f38ba8 srb2::music::TunesManager::resync: don't resync if server is not sending updates
Prevents "CD skipping" jumpscare.
2023-08-08 17:32:45 -07: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
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
James R
b681fe226a Add Resampler to music filter chain, let I_SetSongSpeed do something 2023-08-01 19:04:30 -07:00
James R
2064dda3aa srb2::audio::Resampler: add ratio method to change resample rate on the fly 2023-08-01 19:04:30 -07:00
Oni
f93e925a4a Merge branch 'cap-ring-speed-lines' into 'master'
Don't ringboost-scale speedlines past 2x (3x with tripwire leniency)

See merge request KartKrew/Kart!1366
2023-08-01 01:06:30 +00:00
AJ Martinez
4cfa163cf5 Save a math operation sometimes 2023-07-31 03:15:27 -07:00
AJ Martinez
0d3b6c57b0 Don't ringboost-scale speedlines past 2x (3x with tripwire leniency) 2023-07-31 03:04:13 -07:00
Oni
087cb961b5 Merge branch 'ring-box-sound' into 'master'
Ring Box dopamine

See merge request KartKrew/Kart!1365
2023-07-31 08:58:39 +00:00
Oni
a047373bf6 Merge branch 'map-angrier-git-sucks' into 'master'
Required anger rounds 5 -> 3

See merge request KartKrew/Kart!1362
2023-07-31 08:14:41 +00:00
AJ Martinez
0c45500901 Ring Box dopamine 2023-07-30 22:15:50 -07:00
Eidolon
cd6925538e Merge branch 'fix-xmp-resume' into 'master'
Only throw XmpException on negative seek pos

Closes #449

See merge request KartKrew/Kart!1364
2023-07-30 18:09:31 +00:00
Eidolon
743c9fe8ef Only throw XmpException on negative seek pos 2023-07-30 10:21:05 -05:00
AJ Martinez
658177243b Required anger rounds 5 -> 3 2023-07-30 01:55:09 -07:00
VelocitOni
3b1edb903c Super Flicky trackables
Super Flickies have HUD tracking, have map tracking, and are 3x big when chasing instead of 2x
2023-07-30 00:48:59 -04:00
Oni
1325bf7afa Merge branch 'slow-degrease' into 'master'
Slower players lose springgrease faster (resolves #242)

Closes #242

See merge request KartKrew/Kart!1360
2023-07-29 18:45:37 +00:00
Oni
e9cea99ae7 Merge branch 'dashrings' into 'master'
Hardcode MT_DASHRING & MT_RAINBOWDASHRING

See merge request KartKrew/Kart!1345
2023-07-29 18:29:08 +00:00
Oni
a18982dc55 Merge branch 'splatbooster' into 'dashrings'
Hardcode MT_SNEAKERPANEL & MT_SNEAKERPANELSPAWNER

See merge request KartKrew/Kart!1349
2023-07-29 18:28:48 +00:00
Oni
1c2ec244dd Merge branch 'frame-shield' into 'master'
Simpler 120-tic flame shield behavior (resolves #586)

Closes #586

See merge request KartKrew/Kart!1361
2023-07-29 18:25:08 +00:00
AJ Martinez
1a6b8d49ea Allow flameshield gauge to quickly grow on acquisition 2023-07-29 05:18:36 -07:00
AJ Martinez
6607722b64 Simpler 120-tic flame shield behavior 2023-07-29 05:10:14 -07:00
AJ Martinez
dc39566acf Clarify degrease magic number 2023-07-29 03:53:04 -07:00
AJ Martinez
424cda41d4 Slower players lose springgrease faster 2023-07-29 03:51:46 -07:00
Lach
6b86cbb500 Fix compile warnings 2023-07-29 18:23:04 +10:00