Commit graph

257 commits

Author SHA1 Message Date
mazmazz
09df2c387a newmusic -> mmusic typo, S_ChangeMusic 2018-09-14 13:55:07 -04:00
mazmazz
e72610a3dc Separate StopMusic and UnloadMusic 2018-09-14 12:47:33 -04:00
mazmazz
8e05de17f0 Bring back music_data handle, for srb2dd 2018-09-14 12:29:58 -04:00
mazmazz
4b1bc53db1 Compile fixes 2018-09-14 10:58:41 -04:00
mazmazz
fac7d19637 Case-insensitive music_name comparison
(cherry picked from commit a7ae059949)
2018-09-14 10:49:44 -04:00
mazmazz
5f22b7d973 Volume fixes
# Conflicts:
#	src/sdl/mixer_sound.c

(cherry picked from commit d39b7011c5)
2018-09-14 10:49:44 -04:00
mazmazz
eacf0ba00b Refactor I_MusicType MusicPlaying and MusicPaused -> I_SongType ...
(cherry picked from commit 4b82de9e54)
2018-09-14 10:45:38 -04:00
mazmazz
5bac836d4c Minor refactoring and reordering
* I_GetMusicType() -> I_MusicType()
* Wrap MIDI volume hack in #ifdef _WIN32

(cherry picked from commit a7d51bf810)
2018-09-14 10:42:27 -04:00
mazmazz
8c78d86c36 Play the opposite type music (Digital/MIDI) when toggling between them in menu
* S_MusicInfo method to retrieve name, flags, and looping

(cherry picked from commit f6ec93198f)
2018-09-14 10:38:32 -04:00
mazmazz
7e7899ae83 Toggle Digi/MIDI music in menu accurately; add S_MusicType
(cherry picked from commit 4aa100aa57)
2018-09-14 10:37:08 -04:00
mazmazz
a414ccf24a nodigimusic nomusic nosound -> digital_disabled midi_disabled sound_disabled
(cherry picked from commit 07738fb0bc)
2018-09-14 10:35:51 -04:00
mazmazz
011a043dba Refactoring, music statues
* S_Init -> S_InitSfxChannels because it did mostly SFX anyway
* S_MusicPlaying, S_MusicPaused, S_MusicName, S_MusicExists new status methods
* I_MusicPlaying, I_MusicPaused

(cherry picked from commit f5f0b5e76c)
2018-09-14 10:28:29 -04:00
mazmazz
a7ed7b2c90 Consolidate I_SetDigMusicVolume and I_SetMIDIMusicVolume into one method
* In s_sound, they are merged to one method as well, but there are still two separate digvolume and seqvolume variables
* Simplified Dig/MidiMusicDisabled in s_sound
* Method reordering

(cherry picked from commit 701cc5a7dd)
2018-09-14 10:23:37 -04:00
mazmazz
06b7367941 Added I_GetMusicType and removed midimode variable
* Revised S_PlayMusic arguments
* Now music plays again!

(cherry picked from commit 55f3803e4b)
2018-09-14 09:42:29 -04:00
mazmazz
1681e6cc00 Merge branch 'music-sdlmixerx' into musicplus-sdlmixerx 2018-09-01 11:38:26 -04:00
mazmazz
7fbe97a3d2 Reset MIDI music properly on settings change
* Added reset flag to S_Start (now S_StartEx)
2018-09-01 11:37:53 -04:00
mazmazz
9c35b3dfc5 Merge branch 'musicplus-core' into musicplus-sdlmixerx 2018-08-28 10:27:49 -04:00
mazmazz
0bea5729a7 Revise LUAh_MusicChange hook 2018-08-28 10:10:56 -04:00
mazmazz
b701316505 Merge branch 'music-sdlmixerx' into musicplus-sdlmixerx 2018-08-27 05:59:55 -04:00
mazmazz
28545822ba Checkpoint: Add FluidSynth and Timidity support 2018-08-26 23:03:38 -04:00
mazmazz
73b4c4c5b4 Fix S_ChangeMusic newmusic -> mmusic, merge error 2018-08-26 14:22:14 -04:00
mazmazz
a7ae059949 Case-insensitive music_name comparison 2018-08-25 22:00:31 -04:00
mazmazz
9f3549e5e1 Remove tolower music_name, because we do case-insensitive matching now 2018-08-25 21:53:22 -04:00
mazmazz
48b6255e93 Case-insensitive music_name comparison 2018-08-25 21:42:39 -04:00
mazmazz
4dd6b733d6 MUSICPOSITION -> MUSICPOS
* Added muspos level header var to lua

# Conflicts:
#	src/dehacked.c
#	src/lua_maplib.c
#	src/p_setup.c
2018-08-25 16:23:01 -04:00
mazmazz
578e386e40 Add MUSICPOSITION level header and mapmusposition variable to instantly jump to position
* Cutscene support too!
2018-08-25 15:59:20 -04:00
mazmazz
4f388428bc Add MUSIC_FORCERESET flag 2018-08-25 13:18:14 -04:00
mazmazz
838d47acd3 Add S_MusicName back as a convenience function
* Move MUSICRATE to doomdef.h
2018-08-25 08:08:25 -04:00
mazmazz
d39b7011c5 Volume fixes
# Conflicts:
#	src/sdl/mixer_sound.c
2018-08-24 18:01:57 -04:00
mazmazz
a688de5dc2 Volume fixes 2018-08-24 17:56:14 -04:00
mazmazz
bf61dbb6e2 Checkpoint: Revised fading routines for new load/play pattern
* Perform fade-out/fade-in using callbacks
* Move queued music from interface to s_sound
2018-08-24 13:11:38 -04:00
mazmazz
a2d626384a Merge branch 'music-cleanup' into musicplus-core
Pending rewrite of fade music changing

# Conflicts:
#	src/android/i_sound.c
#	src/djgppdos/i_sound.c
#	src/i_sound.h
#	src/s_sound.c
#	src/s_sound.h
#	src/sdl/mixer_sound.c
#	src/sdl/sdl_sound.c
#	src/win32/win_snd.c
2018-08-23 21:07:39 -04:00
mazmazz
4b82de9e54 Refactor I_MusicType MusicPlaying and MusicPaused -> I_SongType ... 2018-08-23 20:14:46 -04:00
mazmazz
a7d51bf810 Minor refactoring and reordering
* I_GetMusicType() -> I_MusicType()
* Wrap MIDI volume hack in #ifdef _WIN32
2018-08-23 17:05:37 -04:00
mazmazz
f6ec93198f Play the opposite type music (Digital/MIDI) when toggling between them in menu
* S_MusicInfo method to retrieve name, flags, and looping
2018-08-23 16:46:40 -04:00
mazmazz
4aa100aa57 Toggle Digi/MIDI music in menu accurately; add S_MusicType 2018-08-23 13:09:20 -04:00
mazmazz
07738fb0bc nodigimusic nomusic nosound -> digital_disabled midi_disabled sound_disabled 2018-08-23 12:42:57 -04:00
mazmazz
f5f0b5e76c Refactoring, music statues
* S_Init -> S_InitSfxChannels because it did mostly SFX anyway
* S_MusicPlaying, S_MusicPaused, S_MusicName, S_MusicExists new status methods
* I_MusicPlaying, I_MusicPaused
2018-08-23 12:30:47 -04:00
mazmazz
701cc5a7dd Consolidate I_SetDigMusicVolume and I_SetMIDIMusicVolume into one method
* In s_sound, they are merged to one method as well, but there are still two separate digvolume and seqvolume variables
* Simplified Dig/MidiMusicDisabled in s_sound
* Method reordering
2018-08-23 11:54:36 -04:00
mazmazz
55f3803e4b Added I_GetMusicType and removed midimode variable
* Revised S_PlayMusic arguments
* Now music plays again!
2018-08-23 10:18:38 -04:00
mazmazz
e89eccf78e Loose ends from previous work
* Pause/ResumeSong remove handle argument
* LoadSong declare char *data argument
* Variable weirdness
2018-08-23 09:36:51 -04:00
mazmazz
7efab8b314 Revert "Nix'd midimusicvolume", don't know what I want to do with this yet
This reverts commit b5c3095820.

# Conflicts:
#	src/i_sound.h
#	src/s_sound.c
#	src/s_sound.h
#	src/sdl/mixer_sound.c
2018-08-23 09:06:13 -04:00
mazmazz
e42defa299 Playback routines: Load, Play, Pause, Stop, Unload
* Re-purpose I_LoadSong for digital music loading
* I_StartDigSong logic split between I_LoadSong and I_PlaySong
* Pause, Stop, and Unload routines are combined from Digi and MIDI
* music_lumpnum, music_data, music_handle from s_sound.c are gone
2018-08-23 09:02:14 -04:00
mazmazz
0bc9576eb0 Revert "CHANGED MIND: Nix'd S_MIDIMusic, I_PlaySong, and I_RegisterSong"
This reverts commit 8b46bce155.
2018-08-23 07:50:02 -04:00
mazmazz
8b46bce155 CHANGED MIND: Nix'd S_MIDIMusic, I_PlaySong, and I_RegisterSong
* music_lumpnum, music_data, music_handle are gone
* Relevant interfaces I_PlaySong are transferred to I_StartDigSong
2018-08-23 07:49:09 -04:00
mazmazz
b5c3095820 Nix'd midimusicvolume 2018-08-23 07:39:32 -04:00
Monster Iestyn
87e37e21df Merge branch 'public_next'
# Conflicts:
#	src/sdl12/i_cdmus.c
#	src/win32ce/win_cd.c
2018-08-21 15:40:54 +01:00
mazmazz
6fac87cab2 S_MusicPlaying safety 2018-08-21 08:56:05 -04:00
mazmazz
5db6df59b5 S_ChangeMusicWithFade fixes
* MusicSlot compatibility name fix
2018-08-21 08:55:53 -04:00
mazmazz
2289a3bd79 I_FadeSongFromLevel -> I_FadeSongFromVolume refactor
* S_MusicName->GetMusicName refactor
* S_ChangeMusicWithFade->ChangeMusicAdvanced refactor
2018-08-21 08:53:51 -04:00
mazmazz
a1b1391e24 Interface name refactor: Music -> Song
* Music refers to the music system, song refers to the entity being played.
* s_sound doesn't follow this, everything is music
2018-08-21 06:22:35 -04:00
mazmazz
17e2c3f5be Debug messages 2018-08-20 08:47:41 -04:00
mazmazz
18daf255ee Rename I_QueueDigSongPostFade to I_QueueDigSong 2018-08-20 01:16:52 -04:00
mazmazz
9539c597dd Midimode safeties for song queueing/fading 2018-08-20 01:14:29 -04:00
mazmazz
6b028049e0 Music lump existence minor fixes 2018-08-20 01:14:01 -04:00
mazmazz
e51f9ecf90 * Allow S_ChangeMusic to queue the same track for fading
* StopDigSong upon running queue so that GME works for queueing
2018-08-19 23:20:40 -04:00
mazmazz
2cf49f9361 I_FadeOutStopMusic, I_FadeInStartDigSong, S_ChangeMusicWithFade implementation
* First attempt, a little messy but works fine
2018-08-19 22:05:42 -04:00
mazmazz
b844a908a1 Make S_FadeMusicFromLevel accept mandatory source_volume
* Make S_FadeMusic a legitimate function to grab current internal volume
2018-08-19 17:02:13 -04:00
mazmazz
918976bdcc S_FadeMusic[FromLevel] and S_StopFadingMusic implementation 2018-08-19 16:19:48 -04:00
mazmazz
d5dfde240d I_SetInternalMusicVolume implementation 2018-08-19 09:38:57 -04:00
mazmazz
5487fd5be0 Fix S_SetMusicLoopPoint wrong method; trigger only on is_looping 2018-08-18 20:54:56 -04:00
mazmazz
fdd1af62a8 I_GetMusicLoopPoint and I_SetMusicLoopPoint implementation
* Stub pause for MIDI
* Fix MP3 tag wide char search
* Reset songpaused bool where appropriate
2018-08-18 20:19:44 -04:00
mazmazz
d7720a8556 Remove I_MIDIPlaying 2018-08-18 17:45:57 -04:00
mazmazz
bd1eece7bc S_MusicType implementation; MOD support for Get/SetMusicPosition and MusicLength
* Misc MOD fixes
2018-08-18 17:17:53 -04:00
mazmazz
c6035f5956 I_GetMusicLength implementation 2018-08-18 14:18:29 -04:00
mazmazz
d93ca34859 Hide MusicPlus lua behind an #ifdef HAVE_LUA_MUSICPLUS
# Conflicts:
#	src/lua_hook.h
#	src/lua_hooklib.c
#	src/p_user.c
2018-08-15 03:37:11 -04:00
mazmazz
a9776f7b25 Undoing malloc for S_MusicName, pass music_name instead.
I don't think there's a reason for copying to a new var.
2018-08-15 02:11:01 -04:00
mazmazz
47423a69ed Refactor to SetMusicPosition, GetMusicPosition
# Conflicts:
#	src/lua_baselib.c
#	src/nds/i_sound.c
#	src/sdl12/mixer_sound.c
#	src/sdl12/sdl_sound.c
#	src/win32ce/win_snd.c
2018-08-15 02:10:46 -04:00
mazmazz
0ea40321ca S_MusicName copy music_name to new buffer (is this ok?) 2018-08-15 02:07:51 -04:00
mazmazz
34ea90600a Support mflags and looping in MusicChange hook
# Conflicts:
#	src/lua_hook.h
2018-08-15 02:07:33 -04:00
mazmazz
d14eedd700 Implemented MusicChange lua hook
# Conflicts:
#	src/lua_hook.h
#	src/lua_hooklib.c
2018-08-15 02:06:43 -04:00
mazmazz
662c366830 S_MusicName, S_MusicExists, S_PauseMusic lua, S_ResumeMusic lua
# Conflicts:
#	src/lua_baselib.c
2018-08-15 02:01:34 -04:00
mazmazz
2483c11cc4 Implement I_MusicPaused in SDL2, SDL1.2, and FMOD; console and lua commands
# Conflicts:
#	src/sdl12/mixer_sound.c
2018-08-15 01:55:03 -04:00
mazmazz
d47d18998b Add S_MidiPlaying and S_MusicPlaying via I_MIDIPlaying and I_MusicPlaying
# Conflicts:
#	src/sdl12/mixer_sound.c
2018-08-15 01:43:51 -04:00
mazmazz
8981ef2cdc Change get/set music position to UINT32 parameter, milliseconds
# Conflicts:
#	src/d_netcmd.c
#	src/lua_baselib.c
#	src/nds/i_sound.c
#	src/sdl12/mixer_sound.c
#	src/sdl12/sdl_sound.c
#	src/win32ce/win_snd.c
2018-08-15 01:40:20 -04:00
mazmazz
a4f7b17389 Initial attempt for get/set song position
* Declared I_SetSongPosition, I_GetSongPosition
* Implemented S_PositionMusic and S_GetPositionMusic
* Exposed in console TUNES and lua
* Implemented set position in SDL, SDL12, WIN32
* Implemented get position in WIN32

# Conflicts:
#	src/nds/i_sound.c
#	src/sdl12/mixer_sound.c
#	src/sdl12/sdl_sound.c
#	src/win32ce/win_snd.c
2018-08-15 01:38:06 -04:00
Steel Titanium
2139d4771f Default sound volume is too loud 2018-04-11 14:40:05 -04:00
toasterbabe
8372bde91b Merge branch 'master' of http://git.magicalgirl.moe/STJr/SRB2Internal.git into more_about_menus 2017-10-18 21:02:50 +01:00
Monster Iestyn
302d0425e0 Incinerated WinCE 2017-09-29 23:25:34 +01:00
Monster Iestyn
23d28e6b8c Gutted the GP2X 2017-09-29 22:27:08 +01:00
Monster Iestyn
7481ffef2a Wiped out Wii (and Wii Linux) 2017-09-29 21:03:28 +01:00
Monster Iestyn
41ae71db4a postponed PSP 2017-09-29 20:34:16 +01:00
Monster Iestyn
f4e535a64d Burned Dreamcast port at the stake 2017-09-29 18:19:34 +01:00
toasterbabe
f0ce22edb6 Fix issue #72 (where closed captioning jingles didn't account for pausing). 2017-09-27 15:37:52 +01:00
toasterbabe
cd512d014a <Alam_Squeeze> s_sound.c: In function `S_StartCaption':
<Alam_Squeeze> s_sound.c:409: warning: 'same' might be used uninitialized in this functio
2017-05-09 14:42:23 +01:00
toasterbabe
0cc838bca7 <Alam_Squeeze> make: *** [../objs/Mingw/Debug/m_menu.o] Error 1
<Alam_Squeeze> s_sound.c: In function `S_StartCaption':
<Alam_Squeeze> s_sound.c:416: warning: comparison of unsigned expression >= 0 is always true
<Alam_Squeeze> Makefile:770: recipe for target '../objs/Mingw/Debug/s_sound.o' failed
<Alam_Squeeze> make: *** [../objs/Mingw/Debug/s_sound.o] Error 1
2017-05-09 14:17:34 +01:00
toasterbabe
2f435dd85a Make closedcaptioning's onchange give an indicator of success. 2017-04-29 18:51:21 +01:00
toasterbabe
b1d5bc3190 Reset captions where appropriate (including in S_StopSounds(), as it should have been doing all along). 2017-04-29 17:53:24 +01:00
toasterbabe
0af9de2ba6 Bugfix: When you stop hearing the music, allow the caption to expire sooner rather than later. 2017-04-29 16:40:31 +01:00
toasterbabe
73f1550242 There are now captions for specific types of music! (Currently signified with an M, but I'll change that in a bit...) A whole lotta things needed to be modified for this, though.
* Serious refactor of - and internal exposure of - what has become S_StartCaption().
* Renaming of a few existing captions.
* The prevention of access to - or writing over - sfx_None's stuff in SOC or Lua.
* The new Lua wrapper function S_StartMusicCaption(string, tics, optional player), which essentially allows custom music captions to be created. (This is best used for stuff like final lap music in SRB2 Kart or bonus time in a thokker-like game, not a comprehensive Now Playing expy. That'd be a different kettle of fish.)

Also, updated all the lock-on stuff to use P_IsLocalPlayer instead of rolling my own.
2017-04-29 16:27:52 +01:00
toasterbabe
94add11fab Updated captions to:
* be more efficient
* fade away early if they stop playing
* make their current max stick-around time longer
* make the fade time/etc easier to modify
2017-04-29 12:58:40 +01:00
toasterbabe
deba4dcf0d Made updating the captions a part of S_UpdateSound(), not SCR_ClosedCaptions() (which really should have been render-only all along). 2017-04-28 22:46:21 +01:00
toasterbabe
314870bdc2 Support captions for player 2 in 2-player. (You can't tell which screen the sounds are coming from without visual cues normally, so there isn't two seperate caption lists.) 2017-04-17 22:21:16 +01:00
toasterbabe
08e7a7cb4d Clean up captions code to allow for different numbers defined at compile time. 2017-04-17 18:15:42 +01:00
toasterbabe
3551509ed8 * Remaster the sound stacking methodology such that the same sound effect updates its previous position rather than heading to the bottom.
* Put brackets around the sound names on the reccomendation of a friend who works with disability in gaming.
* Update a bunch of sound names to better match what they actually do in SRB2.
2017-04-17 14:38:56 +01:00
toasterbabe
db282caefe * Fix a bug with sounds overlapping.
* Make sounds with identical names (as opposed to just identical sfx's) stack together.
* Corrected a few names.
2017-04-17 02:03:44 +01:00
toasterbabe
3e29ee3f01 Closed captioning!
* Provides a helpful description for the hearing impaired, whether permanent, temporary or situational.
* Consvar "closedcaptioning", with on/off values available.
* Only works if sounds are on. This is frustrating. I will see what I can do to allow it to work with sounds off in future, but for now it's dependent in order to properly accept or decline sounds.
* Thanks to MI for making that wiki page a lot more comprehensive a few days ago.

* Weapon ring is now a seperate sfx_wepfir instead of doubling up on sfx_thok.

* Also, made V_StringWidth work with V_NOSCALESTART.
2017-04-17 01:09:47 +01:00
toasterbabe
2ba3afaeda Implemented unique attract shield sound (patch.dta). 2016-12-26 13:02:26 +00:00
toasterbabe
a5a6ceff71 More thorough Mario soundification for new shield sounds. 2016-10-23 22:21:42 +01:00
Inuyasha
f07585191b copyright dates/statements updated and such
(no actual SLOC changes)
2016-05-17 17:42:11 -07:00
Inuyasha
e91cfa7110 Fixed frustrating MIDI stuff
Until we use something besides Native MIDI to play
back MIDI music, MIDI volume changing is disabled
since it causes way too much of a damn headache.
(It's not even our fault, it's fucking MS.)
2016-04-06 08:16:13 -07:00
Inuyasha
7349cbdbc0 Backwards compatibility.
A test WAD for all possible use cases I can think of
can be found here:
https://dl.dropboxusercontent.com/u/3518218/21/secret/bc_test.wad
2016-03-03 02:54:07 -08:00
Inuyasha
8c17dac589 The concept of "music slots" doesn't exist anymore.
Use whatever names you want for your music. So long as you prefix the lumps with O_ or D_, it doesn't matter anymore.
DISCLAIMER: Linedef type 413 (change music) and Lua scripting is not tested.

(cherry picked from commit 025ca413a2)

# Conflicts:
#	src/p_user.c
2016-02-09 02:48:33 -08:00
Alam Ed Arias
404b5f666c SRB2 2.1.12 release 2014-11-11 19:55:07 -05:00
Alam Ed Arias
f03e591f64 change SDL into HAVE_SDL 2014-07-25 19:10:24 -04:00
Alam Ed Arias
2fed5d1270 SRB2 2.1.3 release 2014-03-18 13:56:54 -04:00
Alam Ed Arias
b93cb1b65a SRB2 2.1 release 2014-03-15 13:11:35 -04:00