Commit graph

23696 commits

Author SHA1 Message Date
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
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
Lach
fd8ba4236d Hardcode MT_SNEAKERPANELSPAWNER & adjust FF_GLOBALANIM behaviour 2023-07-29 17:51:25 +10:00
VelocitOni
19fa5c09db Merge branch 'master' into directional-lighting-flag 2023-07-29 02:24:12 -04:00
AJ Martinez
c9cf1e4673 Add our custom controller mappings before init 2023-07-28 16:57:15 -07:00
toaster
bdc77ce940 Add "../k_objects.h" to dash-rings.c 2023-07-28 23:40:12 +01:00
toaster
16e036a0bd Merge branch 'master' of https://git.do.srb2.org/KartKrew/Kart into dashrings 2023-07-28 23:12:06 +01:00
toaster
9171992a9f Merge branch 'inter-duel' into 'master'
Intermission - DUEL mode

See merge request KartKrew/Kart!1354
2023-07-28 22:09:51 +00:00
toaster
421a9f1990 Merge branch 'max-errors' into 'master'
CMakeLists.txt: add -fmax-errors=5 for GNU

See merge request KartKrew/Kart!1357
2023-07-28 21:54:55 +00:00
toaster
1b5d59746f Adjustments/fixes to Duel Intermission view
- Always show, even in online
- Add Egga Channel/CPU icon if not a local player-controlled character
    - This fixes an infinite loop crash that could previously affect 1v1s VS bots
2023-07-28 22:21:37 +01:00
Oni
bdad8d59ac Merge branch 'sunbeam-palms' into 'master'
Sunbeam Palm

See merge request KartKrew/Kart!1353
2023-07-28 19:15:37 +00:00
James R
b7d4513fba CMakeLists.txt: add -fmax-errors=5 for GNU
Stops compilation after 5 errors, such as in the case of
cascading errors from a missing semicolon.
2023-07-27 18:37:24 -07:00
James R
3eb356f7b9 Comptime.cmake: get rid of CMake < 3.5 compatibility warning 2023-07-27 18:19:14 -07:00
James R
46406931c1 Toggle all manner of directional lighting with MSF_FLATLIGHTING 2023-07-27 17:49:45 -07:00
James R
49e7357704 Add MSF_FLATLIGHTING 2023-07-27 17:49:26 -07:00
James R
9a262a308c Add missing flags to MSF_LIST 2023-07-27 17:47:59 -07:00
James R
3cf2b27b11 Merge branch 'fix-ring-drain' into 'master'
Fix negative ring count in (460) Award Rings not actually subtracting rings

See merge request KartKrew/Kart!1355
2023-07-27 05:44:54 +00:00
James R
092bfd475e P_ProcessSpecial: fix ring drain sign 2023-07-26 18:05:44 -07:00
toaster
2b4cd831e1 Fix on-screen alignment of Duel Intermission boxes
- Now more consistent between time/score and rankings mode
- Symmetrical if you flipped the screen, no slight rightward bias in placement
2023-07-26 16:51:05 +01:00
toaster
8553581d80 Improved behaviour for skipping second half of intermission in offline games
Instead of tying it directly to the number of players, instead base it on whether the points are important to keep track of.
- Match Race or Time Attack
- No next map override, since points will persist to that one
- No maps queued, so points aren't relevant
    - OR maps are queued but you haven't started them yet, so the points will be discarded
2023-07-26 15:51:39 +01:00