Commit graph

603 commits

Author SHA1 Message Date
mazmazz
b48b5a29a4 Move cv_modfilter from mixer_sound.c to s_sound.c for other targets 2018-09-18 13:01:34 -04:00
mazmazz
38afb85b47 Merge branch 'public-musicplus-core' into public-musicplus-libopenmpt 2018-09-18 12:59:53 -04:00
mazmazz
1a935eabd5 Mixer I_StopSong: StopFadingSong and var_cleanup call fix 2018-09-18 12:55:19 -04:00
mazmazz
f079c9170f Merge branch 'musicplus-core' into musicplus-sdlmixerx 2018-09-18 12:51:55 -04:00
mazmazz
67566f9a2f Mixer I_StopSong: StopFadingSong and var_cleanup call fix 2018-09-18 12:51:42 -04:00
mazmazz
cf7d913f3b Merge branch 'music-sdlmixerx' into musicplus-sdlmixerx 2018-09-18 12:46:46 -04:00
mazmazz
4cba996a89 Define cv_midiplayer/soundfontpath/timiditypath in s_sound.c when NOMIXER=1 2018-09-18 12:41:49 -04:00
mazmazz
4d89beb105 musicplus-libopenmpt 2.2 -> 2.1 backport 2018-09-18 12:31:47 -04:00
mazmazz
c5ea6b5efe MusicPlus Core (positioning and fading) 2.2 -> 2.1 backport 2018-09-18 10:22:17 -04:00
mazmazz
e9b3cba300 Improve MIDI console parameters
* Allow multiple SF2 for midisoundfont
* Correctly branch when toggling midiplayer or midisoundfont
2018-09-16 16:02:26 -04:00
mazmazz
45a7d36524 Improve MIDI console parameters
* Allow multiple SF2 for midisoundfont
* Correctly branch when toggling midiplayer or midisoundfont
2018-09-16 11:51:39 -04:00
mazmazz
001dbcceea Merge branch 'musicplus-core' into musicplus-sdlmixerx 2018-09-15 01:17:33 -04:00
mazmazz
45dbadbbc2 Mixer: Add missing tag declarations in I_LoadSong 2018-09-15 01:14:24 -04:00
mazmazz
9eb39fb025 Merge branch 'music-cleanup' into musicplus-core 2018-09-15 00:46:02 -04:00
mazmazz
e695cf91fe Merge branch 'music-cleanup' into music-sdlmixerx 2018-09-15 00:36:16 -04:00
mazmazz
40a8c9c1ee Mixer: HAVE_LIBGME ifdef in I_LoadSong 2018-09-15 00:35:24 -04:00
mazmazz
30b8408c10 Mixer: HAVE_LIBGME ifdef in I_LoadSong 2018-09-15 00:34:55 -04:00
mazmazz
3c755a85df Merge branch 'music-cleanup' into music-sdlmixerx 2018-09-15 00:28:38 -04:00
mazmazz
20bde0d21c Fix Windows buildbot for MP3_MAD/MODPLUG define (the header we use is 2.0.2)
(cherry picked from commit 9a5eb02459)
2018-09-14 17:48:12 -04:00
mazmazz
9a5eb02459 Fix Windows buildbot for MP3_MAD/MODPLUG define (the header we use is 2.0.2) 2018-09-14 17:47:04 -04:00
mazmazz
17ec5d8022 Mixer: Better MODPLUG/MP3_MAD defines
(cherry picked from commit 5b724e18b5)
2018-09-14 17:27:31 -04:00
mazmazz
5b724e18b5 Mixer: Better MODPLUG/MP3_MAD defines 2018-09-14 17:27:00 -04:00
mazmazz
0563d77812 Fix compile errors on buildbots
* Check SDL Mixer 2.0.3 for MUS_MODPLUG_UNUSED, MUS_MP3_MAD_UNUSED
* Mixed D+C in I_LoadSong

(cherry picked from commit fdbe3e80f6)
2018-09-14 17:09:21 -04:00
mazmazz
fdbe3e80f6 Fix compile errors on buildbots
* Check SDL Mixer 2.0.3 for MUS_MODPLUG_UNUSED, MUS_MP3_MAD_UNUSED
* Mixed D+C in I_LoadSong
2018-09-14 17:07:13 -04:00
mazmazz
3a343cf8f1 Don't call I_StartupSound in SFX toggle
* Mixer: make I_StartupSound return early if already set up
* Restartaudio: Add StopSFX call

(cherry picked from commit b330dc2394)
2018-09-14 16:43:48 -04:00
mazmazz
b330dc2394 Don't call I_StartupSound in SFX toggle
* Mixer: make I_StartupSound return early if already set up
* Restartaudio: Add StopSFX call
2018-09-14 16:39:10 -04:00
mazmazz
4a5bcf43a2 Rip out SDL Mixer code from sdl_sound.c because superfluous
* Mixer code has been in mixer_sound.c; this file is not invoked unless compiling with NOMIXER=1
* Remove everything under #ifdef HAVE_MIXER because this is never triggered
* Comment out #ifdef HAVE_LIBGME because we don't support playing music anyway (but theoretically, it could have worked separately from Mixer)
* Stub new music calls

(cherry picked from commit 76be77b93a)
2018-09-14 14:53:56 -04:00
mazmazz
76be77b93a Rip out SDL Mixer code from sdl_sound.c because superfluous
* Mixer code has been in mixer_sound.c; this file is not invoked unless compiling with NOMIXER=1
* Remove everything under #ifdef HAVE_MIXER because this is never triggered
* Comment out #ifdef HAVE_LIBGME because we don't support playing music anyway (but theoretically, it could have worked separately from Mixer)
* Stub new music calls
2018-09-14 14:52:24 -04:00
mazmazz
517756606c I_InitMusic SDL2: Don't unload GME indiscriminately
(cherry picked from commit cb4e075137)
2018-09-14 13:57:24 -04:00
mazmazz
a5948c3629 Separate StopMusic and UnloadMusic
(cherry picked from commit e72610a3dc)
2018-09-14 13:57:20 -04:00
mazmazz
cb4e075137 I_InitMusic SDL2: Don't unload GME indiscriminately 2018-09-14 13:36:01 -04:00
mazmazz
e72610a3dc Separate StopMusic and UnloadMusic 2018-09-14 12:47:33 -04:00
mazmazz
4b1bc53db1 Compile fixes 2018-09-14 10:58:41 -04:00
mazmazz
8541963c61 I_SongPlaying detect GME properly
(cherry picked from commit e88d147761)
2018-09-14 10:49:44 -04:00
mazmazz
d94f7e3cb0 Stub I_UnloadSong because we already unload in I_StopMusic
* Stop-gap for now. Ideally the logic would be in the respective places.

# Conflicts:
#	src/sdl/mixer_sound.c

(cherry picked from commit eae5d3333f)
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
2fbe206ecb A word
(cherry picked from commit fb6f8c8a07)
2018-09-14 10:49:44 -04:00
mazmazz
b0c47e2fb1 GME fix: play song in I_PlaySong, not I_LoadSong
(cherry picked from commit 5f21bf230d)
2018-09-14 10:45:39 -04:00
mazmazz
4d61f00b86 Refactor I_MusicType MusicPlaying and MusicPaused other targets
(cherry picked from commit 9e6eebeb8d)
2018-09-14 10:45:39 -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
d535c14fc6 Refactoring and reordering other targets
(cherry picked from commit cf065e106f)
2018-09-14 10:43:46 -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
17cf310b84 nodigimusic nomusic nosound refactor other targets
(cherry picked from commit 86f151db65)
2018-09-14 10:35:56 -04:00
mazmazz
44557d9c9d I_MusicPlaying, I_MusicPaused other targets
(cherry picked from commit d5ec388159)
2018-09-14 10:28:35 -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
e58a8f4fe1 Consolidate I_SetDigMusicVolume and I_SetMIDIMusicVolume other targets
(cherry picked from commit 9fb9386f84)
2018-09-14 10:23:47 -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
46b53e8bae Added I_GetMusicType and removed midimode variable: other targets
(cherry picked from commit 14b393ab16)
2018-09-14 09:55:45 -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
b59aa27104 Loose ends other targets
(cherry picked from commit 9a5fc5f66a)
2018-09-14 09:41:08 -04:00
mazmazz
db41034ad9 Block song position changes on GME because unstable 2018-09-13 13:27:42 -04:00
mazmazz
4494630cdd Merge branch 'musicplus-core' into musicplus-sdlmixerx 2018-09-11 11:26:12 -04:00
mazmazz
5f87f4a47a Don't decrement fade timer if song is paused 2018-09-11 11:20:46 -04:00
mazmazz
5ea8dc3dfa Change to percentage calc from interval decrement for volume fade 2018-09-11 11:17:30 -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
c8a9edca8d Revert "Fix MIDI music not reloading sometimes on settings change"
This reverts commit aa48278fd4.
2018-09-01 11:35:54 -04:00
mazmazz
aa48278fd4 Fix MIDI music not reloading sometimes on settings change 2018-09-01 11:34:03 -04:00
mazmazz
f0244c8b71 Fix MIDI music not reloading sometimes on settings change 2018-09-01 11:33:39 -04:00
mazmazz
9180f9b7ef Add Mixer X retrieve song length and position natively, if available 2018-08-31 13:52:01 -04:00
mazmazz
8098d120cc Merge branch 'music-sdlmixerx' into musicplus-sdlmixerx 2018-08-31 12:19:03 -04:00
mazmazz
58ef056d48 Fix MIDI not reloading when erroring on a player 2018-08-31 12:18:54 -04:00
mazmazz
9c35b3dfc5 Merge branch 'musicplus-core' into musicplus-sdlmixerx 2018-08-28 10:27:49 -04:00
mazmazz
75e6ad72ed Fix MIDI looping/non-looping 2018-08-28 10:16:06 -04:00
mazmazz
9244a13721 Merge branch 'music-sdlmixerx' into musicplus-sdlmixerx 2018-08-27 08:40:36 -04:00
mazmazz
359a71c059 Move cvars to D_RegisterClientCommands for config recall 2018-08-27 08:40:24 -04:00
mazmazz
36d650c530 Remove MP3 warning for win32 Mixer X 2018-08-27 06:16:55 -04:00
mazmazz
b760fbe89b Corrected unterminated #endif in sdl_sound 2018-08-27 06:15:01 -04:00
mazmazz
b701316505 Merge branch 'music-sdlmixerx' into musicplus-sdlmixerx 2018-08-27 05:59:55 -04:00
mazmazz
07ae007980 Remove unused methods (for now?) 2018-08-27 05:53:43 -04:00
mazmazz
9f6e913d43 Load Fluidsynth soundfont upon cvar change 2018-08-27 05:52:01 -04:00
mazmazz
878dc1af92 Lazy midi reload support on menu 2018-08-27 00:43:25 -04:00
mazmazz
28545822ba Checkpoint: Add FluidSynth and Timidity support 2018-08-26 23:03:38 -04:00
mazmazz
65e5794ee3 HAVE_MIXERX and NOMIXERX compile flags (win32 only) 2018-08-26 15:12:00 -04:00
mazmazz
768ce1a46f Make SDL Mixer X win32-exclusive 2018-08-26 14:20:41 -04:00
mazmazz
35fdcee071 Merge branch 'music-cleanup' into music-sdlmixerx 2018-08-26 14:04:54 -04:00
mazmazz
4f075bfb5d Update functions for other targets 2018-08-24 18:20:53 -04:00
mazmazz
e88d147761 I_SongPlaying detect GME properly 2018-08-24 18:03:50 -04:00
mazmazz
eae5d3333f Stub I_UnloadSong because we already unload in I_StopMusic
* Stop-gap for now. Ideally the logic would be in the respective places.

# Conflicts:
#	src/sdl/mixer_sound.c
2018-08-24 18:02:46 -04:00
mazmazz
d39b7011c5 Volume fixes
# Conflicts:
#	src/sdl/mixer_sound.c
2018-08-24 18:01:57 -04:00
mazmazz
9d0d101d03 I_SongPlaying detect GME properly 2018-08-24 18:00:39 -04:00
mazmazz
4d91b44c63 Detect GME more simply 2018-08-24 17:58:56 -04:00
mazmazz
bd01c75a4e Stub I_UnloadSong because we already unload in I_StopMusic
* Stop-gap for now. Ideally the logic would be in the respective places.
2018-08-24 17:56:22 -04:00
mazmazz
a688de5dc2 Volume fixes 2018-08-24 17:56:14 -04:00
mazmazz
fb6f8c8a07 A word 2018-08-24 13:41:26 -04:00
mazmazz
df455fc638 Merge branch 'music-cleanup' of https://git.magicalgirl.moe/STJr/SRB2Internal.git into music-cleanup 2018-08-24 13:36:07 -04:00
mazmazz
5f21bf230d GME fix: play song in I_PlaySong, not I_LoadSong 2018-08-24 13:35:41 -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
9e6eebeb8d Refactor I_MusicType MusicPlaying and MusicPaused other targets 2018-08-23 20:23:16 -04:00
mazmazz
4b82de9e54 Refactor I_MusicType MusicPlaying and MusicPaused -> I_SongType ... 2018-08-23 20:14:46 -04:00
mazmazz
cf065e106f Refactoring and reordering other targets 2018-08-23 17:54:40 -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
86f151db65 nodigimusic nomusic nosound refactor other targets 2018-08-23 12:43:38 -04:00
mazmazz
d5ec388159 I_MusicPlaying, I_MusicPaused other targets 2018-08-23 12:31:01 -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
9fb9386f84 Consolidate I_SetDigMusicVolume and I_SetMIDIMusicVolume other targets 2018-08-23 11:54:58 -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
14b393ab16 Added I_GetMusicType and removed midimode variable: other targets 2018-08-23 10:19:04 -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
9a5fc5f66a Loose ends other targets 2018-08-23 09:37:02 -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
3ec1a122e0 Revert "Nix'd midimusicvolume other targets"
This reverts commit 58fbb4636f.

# Conflicts:
#	src/android/i_sound.c
#	src/dummy/i_sound.c
#	src/win32/win_snd.c
2018-08-23 09:09:12 -04:00
mazmazz
75cbfab8c6 Playback routines other targets 2018-08-23 09:06:31 -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
58fbb4636f Nix'd midimusicvolume other targets 2018-08-23 07:39:45 -04:00
mazmazz
b5c3095820 Nix'd midimusicvolume 2018-08-23 07:39:32 -04:00
mazmazz
7d64c3114c SDL Mixer X compile on Windows x86 2018-08-22 00:17:25 -04:00
mazmazz
3829998889 Initial work on SDL Mixer X 2018-08-21 14:57:53 -04:00
mazmazz
76f9890328 Position fixes with looppoint 2018-08-21 11:58:38 -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
Monster Iestyn
9d3aad9036 Merge branch 'XPMupdate' into 'master'
update XPM icon

See merge request STJr/SRB2!267
2018-08-21 10:31:25 -04:00
mazmazz
f6789a6eb7 I_FadeSongFromLevel -> I_FadeSongFromVolume refactor other targets 2018-08-21 08:54:04 -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
506db1e303 Interface name refactor: Music -> Song other targets 2018-08-21 06:22:42 -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
9539c597dd Midimode safeties for song queueing/fading 2018-08-20 01:14:29 -04:00
mazmazz
9eeed6338f Allow queueing music at end of song, not just fading 2018-08-20 00:12:23 -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
9410676737 I_FadeOutStopMusic, I_FadeInStartDigSong other targets 2018-08-19 22:05:55 -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
87b6fc613b I_FadeMusicFromLevel/I_FadeMusic change for other targets 2018-08-19 17:02:27 -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
3d8c4585d4 Checkpoint 2018-08-19 16:25:12 -04:00
mazmazz
5117bdebfe S_FadeMusic[FromLevel] and S_StopFadingMusic other targets 2018-08-19 16:19:55 -04:00
mazmazz
918976bdcc S_FadeMusic[FromLevel] and S_StopFadingMusic implementation 2018-08-19 16:19:48 -04:00
mazmazz
7d03c19409 I_SetInternalMusicVolume other targets 2018-08-19 09:39:11 -04:00
mazmazz
d5dfde240d I_SetInternalMusicVolume implementation 2018-08-19 09:38:57 -04:00
mazmazz
51228b328c Framework for internal_volume; more fade code 2018-08-19 09:16:52 -04:00
mazmazz
69153194fe Merge branch 'musicplus-core' into musicplus-fade-sdltimer 2018-08-19 08:35:56 -04:00
mazmazz
6ea002b1b5 Enable midi_volume, it actually works 2018-08-19 08:34:03 -04:00
mazmazz
47495e72b5 Fade checkpoint 2018-08-19 08:32:12 -04:00
mazmazz
c4ea18b2bb Add LIBGME ifdefs 2018-08-19 06:43:57 -04:00
mazmazz
a38664e109 Minor cleanup 2018-08-18 23:26:58 -04:00
mazmazz
3bd3e51313 Merge branch 'musicplus-core' into musicplus-fade-sdltimer
# Conflicts:
#	src/sdl/mixer_sound.c
2018-08-18 23:12:58 -04:00
mazmazz
3e7d7cfcae Fixed loop point counter bug 2018-08-18 21:29:18 -04:00
mazmazz
5487fd5be0 Fix S_SetMusicLoopPoint wrong method; trigger only on is_looping 2018-08-18 20:54:56 -04:00
mazmazz
5f564f7798 Consolidate variable cleanup in mixer_sound
* Fix I_SetSongTrack MOD tracking returns the expected result
* Make music_loop hook stop digital song properly if not looping
2018-08-18 20:44:32 -04:00
mazmazz
78b041800e Loop point modulo by length 2018-08-18 20:29:19 -04:00
mazmazz
dc2c530d42 I_GetMusicLoopPoint and I_SetMusicLoopPoint for other targets 2018-08-18 20:19:54 -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
57c8cf25af Remove I_MIDIPlaying from other targets 2018-08-18 17:46:06 -04:00
mazmazz
d7720a8556 Remove I_MIDIPlaying 2018-08-18 17:45:57 -04:00
mazmazz
d88b923959 Other interfaces for I_MusicType 2018-08-18 17:18:13 -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
3c2f7038d0 Added GME for GetMusicLength, SetMusicPosition, GetMusicPosition
* Misc fixes
2018-08-18 16:21:28 -04:00
mazmazz
f4a574aba2 Support wide chars when searching for music tags (MP3) 2018-08-18 15:26:31 -04:00
mazmazz
6b35857ed1 I_GetMusicLength declarations for other interfaces 2018-08-18 14:18:49 -04:00
mazmazz
c6035f5956 I_GetMusicLength implementation 2018-08-18 14:18:29 -04:00
Monster Iestyn
364339e1ce Merge branch 'sdl_mixer_fixes' into 'master'
SDL Mixer fixes

Closes #31

See merge request STJr/SRB2!260
2018-08-16 16:57:14 -04:00
mazmazz
8452ec5c7c Checkpoint: Basic functions 2018-08-15 12:07:08 -04:00
mazmazz
0254f4f368 Fix merge errors 2018-08-15 02:42:50 -04:00
mazmazz
e0ab8c1ed0 Fix #6 #7 SDL looping and counter bugs when looping=false
# Conflicts:
#	src/sdl12/mixer_sound.c
2018-08-15 02:15:05 -04:00
mazmazz
11c6148d4b SDL: Fix looping bug when looping=false; reset bytes counter when non-looping
# Conflicts:
#	src/sdl12/mixer_sound.c
2018-08-15 02:11:17 -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
79531b9683 Another loop fix to resolve music_bytes not resetting on non-looppoint tracks
# Conflicts:
#	src/sdl12/mixer_sound.c
2018-08-15 02:03:04 -04:00
mazmazz
2e9dba352a SDL mixer: Fix no looping bug when changing song position
# Conflicts:
#	src/sdl12/mixer_sound.c
2018-08-15 02:02:33 -04:00
mazmazz
eb52a14433 Implement I_MIDIPlaying, I_MusicPlaying, I_MusicPaused in other targets
# Conflicts:
#	src/nds/i_sound.c
#	src/sdl12/sdl_sound.c
#	src/win32ce/win_snd.c
2018-08-15 01:59:01 -04:00
mazmazz
d39f804662 Use Mix_PausedMusic instead of our own music_paused flag in SDL2/SDL1.2 I_MusicPaused
# Conflicts:
#	src/sdl12/mixer_sound.c
2018-08-15 01:55:49 -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
e4a6cb87d1 Fix SDL music counter pause issue 2018-08-15 01:54:17 -04:00
mazmazz
297a8d537a Add S_MidiPlaying and S_MusicPlaying via I_MIDIPlaying and I_MusicPlaying
# Conflicts:
#	src/sdl12/mixer_sound.c
2018-08-15 01:53:45 -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
2cf364ab8b Fix SDL music position getting; dummy out position methods for MIDI
# Conflicts:
#	src/sdl/mixer_sound.c
#	src/sdl12/mixer_sound.c
2018-08-15 01:42:15 -04:00
mazmazz
aed388976c SDL fix for I_SetSongPosition
# Conflicts:
#	src/sdl12/mixer_sound.c
2018-08-15 01:40:54 -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
d9c7334dea Fix white being treated as transparent. 2018-08-10 19:02:03 -04:00
Alam Ed Arias
3479310546 SDL: update IMG_xpm.c 2018-08-10 17:09:11 -04:00
Monster Iestyn
be5d0406bd Merge branch 'public_next'
# Conflicts:
#	src/hardware/hw_md2.c
2018-07-31 19:41:54 +01:00
Monster Iestyn
485d990949 Merge branch 'gme-lowvolume-fix' into 'master'
GME low volume fix

See merge request STJr/SRB2!248
2018-07-31 14:35:32 -04:00
Steel Titanium
c02ee9a502 Re-did this fix. 2018-07-28 01:58:25 -04:00
Monster Iestyn
6b1fa399dc Use plain malloc instead of Z_Malloc to allocate sound buffers in mixer_sound.c's I_GetSfx.
This should prevent I_FreeSfx making a mess of things later, hopefully.
2018-07-14 18:15:59 +01:00
Steel Titanium
46aa4c3503 Merge remote-tracking branch 'upstream/master' into gme-lowvolume-fix 2018-07-05 01:20:32 -04:00
Steel Titanium
8aee862ff8 Merge remote-tracking branch 'upstream/master' into gme-pause 2018-07-05 01:16:43 -04:00
Steel Titanium
5c8c35e773 Deallocate when I_Quit() is called instead. 2018-06-23 15:09:11 -04:00
Monster Iestyn
14d49b8bf1 Merge branch 'public_next'
# Conflicts:
#	src/d_main.c
#	src/d_netfil.c
#	src/p_setup.c
2018-06-09 19:35:36 +01:00
Steel Titanium
77362c45cc Fix pausing on gme 2018-06-03 18:15:20 -04:00
Steel Titanium
e394f7992d Removed CONS_Printf line. That wasn't meant to be commited. 2018-05-29 22:12:36 -04:00
Steel Titanium
0248fcecd4 Some small change
Really this is just to prevent the music end up being disorted at max
volume
2018-05-29 20:31:28 -04:00
Monster Iestyn
41e9c20c04 Ignore mouse button events if the mouse's focus is not actually on the window at the moment.
This should hopefully kill the F12 getting stuck issue once and for all.
2018-05-28 21:29:46 +01:00
Steel Titanium
0b6d6c3363 GME low volume fix 2018-05-24 16:24:09 -04:00
Monster Iestyn
a3b86a737e Merge branch 'public_next'
# Conflicts:
#	src/f_finale.c
#	src/hardware/hw_draw.c
#	src/hardware/hw_main.c
#	src/hardware/r_opengl/r_opengl.c
#	src/sdl12/hwsym_sdl.c
#	src/sdl12/i_video.c
2018-04-06 18:42:07 +01:00
Steel Titanium
d446f3420e Merge remote-tracking branch 'upstream/master' into dedicated-nosoundinit 2018-04-03 16:16:20 -04:00
Sryder
f3d63b82ce Revert "Fix screenshot functionality in fullscreen in SDL2"
This reverts commit 121fcd8369.

The reason I am reverting this is because the last commit actually fixes the *old* screenshot functionality, as the screen is being drawn back onto the buffer after they're swapped in the "real" size. Meaning the old function actually works perfectly fine now.
2018-03-18 18:33:53 +00:00
Sryder
a984d979d1 Fix wipes in low resolutions 2018-03-18 17:12:12 +00:00
Sryder
121fcd8369 Fix screenshot functionality in fullscreen in SDL2 2018-03-08 22:28:38 +00:00
Sryder
77af3a8f95 Optimise the screen texture setup for SDL2, Post-processor, and wipes.
Only use glCopyTexImage2D when first creating the screen texture, use glCopyTexSubImage2D anytime after that as it does not define a new texture each time.
Flushing of the screen textures has been implemented for when the screen size changes (so that the screen textures don't stay at a wrong size) and the game is closed, I believe they would leave a memory leak before.
2018-03-07 22:55:21 +00:00
Monster Iestyn
61923f3b1f Merge branch 'public_next'
# Conflicts:
#	src/sdl/i_system.c
2018-03-04 19:18:13 +00:00
Monster Iestyn
4a0305eec8 more I_GetFreeMem fixes: don't attempt to set *total to 0L if total itself is NULL 2018-02-23 20:40:19 +00:00
Monster Iestyn
1216c9da18 Use __linux__ instead of LINUX/LINUX64
Turns out compiling for Linux 32-bit using the Makefiles never actually defines LINUX! Apart from that, most of the existing Linux-specific code in SRB2's source code (except for tmap.s) actually uses __linux__ instead anyway
2018-02-23 20:21:16 +00:00
Steel Titanium
36d1259ceb Removed some redundant checks 2018-02-17 00:37:17 -05:00
Monster Iestyn
03020036d4 Merge branch 'master' into file-loading-cleanup 2018-01-04 20:17:19 +00:00
Alam Ed Arias
5cce6101cc Merge branch 'public_next' into private 2018-01-04 14:32:27 -05:00
Alam Ed Arias
82f2f2f2f9 SDL: disable check for noreturn 2018-01-04 14:29:29 -05:00
Monster Iestyn
8d07e2f8be Merge branch 'master' into file-loading-cleanup 2018-01-02 18:46:02 +00:00
Alam Ed Arias
75abd428fc MSVC2015: fixup 2018-01-02 13:22:10 -05:00
Monster Iestyn
61176ee736 Merge branch 'public_next'
# Conflicts:
#	src/doomdef.h
#	src/sdl12/macosx/Srb2mac.xcodeproj/project.pbxproj
#	src/win32/win_vid.c
2018-01-02 17:32:24 +00:00
Monster Iestyn
d937f6fc8b Merge branch '2.1.20-preparation' into 'next'
2.1.20 preparation

See merge request STJr/SRB2!215
2017-12-27 16:53:43 -05:00
Alam Ed Arias
a29203acd8 Disable win_dbg 2017-12-26 20:24:08 -05:00
Monster Iestyn
75bc76e9b4 Remove all traces of "srb2.wad" support, since it is no longer needed now that srb2.pk3 is the IWAD (...IPK3?). srb2.wad cannot exactly be a pk3 file after all.
Additionally, rename any remaining "srb2.srb" to "srb2.pk3" in the main source code files. Not sure whether to bother dealing with srb2.srb/srb2.wad mentions in project files for now.
2017-12-07 18:26:12 +00:00
Monster Iestyn
7cb0138293 Change version number to 2.1.20 2017-11-08 15:06:42 +00:00
toaster
49a1266ccc Merge branch 'sal-misc-stuff' into 'master'
Sal misc stuff (state overwriting, gamepad tweaks)

See merge request STJr/SRB2Internal!116
2017-11-02 16:35:12 -04:00
toasterbabe
ead8fd6bf7 Update some strings that say "joystick". 2017-10-30 23:23:52 +00:00
Steel Titanium
799a819ee9 Merge remote-tracking branch 'upstream/master' into window_center_fix 2017-10-29 00:00:11 -04:00
toasterbabe
50d6208913 Merge branch 'master' of http://git.magicalgirl.moe/STJr/SRB2Internal.git into FileManagement 2017-10-21 14:28:44 +01:00
wolfy852
93584f6811 Merge branch 'master' of http://git.magicalgirl.moe/STJr/SRB2Internal into FileManagement 2017-10-07 14:52:40 -05:00
Monster Iestyn
52620ac9b1 Obliterated OS/2 2017-10-07 18:11:14 +01:00
Monster Iestyn
49542cdaa1 Remove XBOXSTATIC and FILESTAMP, since only the XBOX port needed them 2017-09-29 19:46:23 +01:00
Monster Iestyn
de4ea022c0 Merge branch 'public_next' 2017-09-29 17:23:47 +01:00
Monster Iestyn
c90ddbca36 Merge branch 'makefile-ports-tweaks-cleanup-etc' into 'master'
Makefile ports tweaks cleanup etc

See merge request !211
2017-09-28 17:31:33 -04:00
Alam Ed Arias
f1a347e55f Merge branch 'public_next' into master 2017-09-28 11:01:20 -04:00
Alam Ed Arias
2ccd397d11 Build: kill GCC 7's implicit-fallthrough warning 2017-09-28 09:39:47 -04:00
Monster Iestyn
b040113246 Removed the wrong endif by mistake 2017-09-16 20:59:35 +01:00
Monster Iestyn
a33bb70a0c Removed all support for Dreamcast, XBox, PSP, PS3, GP2X, Wii, and WinCE from files in the sdl/ folder. If you wanted these ports, use the SDL 1.2 code in sdl12
Also removed GP2X setup from sdl/MakeNIX.cfg, use sdl12 for that too
2017-09-16 20:26:04 +01:00
Monster Iestyn
dcb23e01c0 SDL_INIT_NOPARACHUTE does nothing in SDL 2.0, so don't use it anymore 2017-09-15 21:22:28 +01:00
Monster Iestyn
5fb551dd75 Removed 1.2.x version checks in these files, SDL 2.0.x should always have these files 2017-09-15 17:15:06 +01:00
Monster Iestyn
d2a76ca269 Removed references to console ports and WinCE in sdl/Makefile.cfg 2017-09-15 17:12:53 +01:00
Steel Titanium
cf41a11770 Fix for window being offcenter 2017-09-11 16:36:30 -04:00
Nevur
f61755dd67 Merge branch 'master' of http://git.magicalgirl.moe/STJr/SRB2Internal.git into FileManagement 2017-09-04 22:32:38 +02:00
Monster Iestyn
d65e23f3ec Merge branch 'public_next' 2017-09-04 20:19:47 +01:00
Monster Iestyn
36977a5eda SDL_SetRelativeMouseMode(SDL_TRUE) already does what HalfWarpMouse does
Also, don't post an ev_mouse event_t if not in relative mouse mode, so the camera doesn't jerk when the mouse enters the window
2017-08-22 22:53:18 +01:00
Monster Iestyn
821a1810f7 Moved lrounding of mouse motion events to the actual point an event is made
Also did some cleanup and moving around, as well as adding comments
2017-08-21 21:38:29 +01:00
Monster Iestyn
10cbe2c82b Turns out the issue was with fullscreen! All I have to do is factor in the resolution/real window size ratio apparently (which was already done before)
Also changed movemousex/y to INT32
2017-08-19 22:54:30 +01:00
Monster Iestyn
758e9c4558 Merge all (relative) mouse motion events into one mouse event
This fixes SDL2_RelMouse's weaker sensitivity for me on Windows (but apparently not for others??)
2017-08-19 21:39:04 +01:00
Nevur
8b64a6eef3 Merge branch 'master' of http://git.magicalgirl.moe/STJr/SRB2Internal.git into FileManagement 2017-08-08 10:41:33 +02:00
Nevur
bb3365a904 We use srb2.pk3 instead. 2017-08-08 10:39:25 +02:00
Monster Iestyn
2d661fef18 Turns out we don't need to use SDL_SetWindowTitle on its own, since SDL_CreateWindow already deals with the window title anyway. So I've disabled everything related to Impl_SetWindowName for now
Also what were you thinking Fury?!? window shouldn't be NULL for SDL_SetWindowTitle, you backwards person you
2017-08-07 16:44:29 -04:00
Alam Ed Arias
35404be1e0 SDL: y input is flipped 2017-08-07 16:37:03 -04:00
Alam Ed Arias
c25b2eb37f Merge remote-tracking branch 'origin/master' into SDL2_RelMouse 2017-08-07 16:33:39 -04:00
Monster Iestyn
c653289121 Turns out we don't need to use SDL_SetWindowTitle on its own, since SDL_CreateWindow already deals with the window title anyway. So I've disabled everything related to Impl_SetWindowName for now
Also what were you thinking Fury?!? window shouldn't be NULL for SDL_SetWindowTitle, you backwards person you
2017-06-25 20:22:01 +01:00
Monster Iestyn
e3f627120f Merge branch 'public_next'
# Conflicts:
#	src/doomdef.h
#	src/p_mobj.c
2017-06-23 17:19:06 +01:00
Monster Iestyn
3f9bebd05e Merge branch 'public_next'
# Conflicts:
#	src/doomdef.h
#	src/lua_thinkerlib.c
2017-05-31 15:18:05 +01:00
Alam Ed Arias
6be7693ecb OpenGL: Load the GLU and OpenGL 1.3 multitexturing functions during runtime 2017-05-29 22:52:51 -04:00
Alam Ed Arias
877e9510f7 Update version number to v2.1.19 2017-05-26 21:38:49 -04:00
Monster Iestyn
21d29c8550 Merge branch 'public_next' 2017-05-17 16:19:01 +01:00
Monster Iestyn
17a06dd6c4 I_GetConsoleEvents: Split KEY_EVENT code into a function of its own, like with I_GetEvent's event types
One benefit of this is that event_t data need only be created if KEY_EVENT is found, since the other event types never do anything anyway
2017-05-15 18:39:59 +01:00
Monster Iestyn
87085f2475 SDLSetMode: merge wasfullscreen/windowed mode code into one block 2017-05-15 16:35:32 +01:00
Monster Iestyn
a340f2c8ed Impl_CreateWindow: re-use "flags" for SDL_RENDERER_* flags, remove unnecessary curly braces 2017-05-15 16:19:28 +01:00
Monster Iestyn
4979ab6b8e Not really important or anything, but checking render_soft == rendermode rather than rendermode == render_soft always bugged me. And it's not consistent with the rest of the source code (or at least most of it) anyway. 2017-05-15 15:43:31 +01:00
Monster Iestyn
d1bbd1261e VID_SetMode: SDLSetMode should use vid.width/vid.height, not windowedModes[modeNum].
If modenum was < 0 or >= MAXWINMODES, that would make windowedModes[modeNum] be out of bounds and possibly crash the game.
2017-05-15 15:36:51 +01:00
Monster Iestyn
093800cb06 I_FinishUpdate: OglSdlFinishUpdate should never run for render_soft, even if screens[0] somehow is NULL 2017-05-15 15:24:40 +01:00
Monster Iestyn
635789c1ec Merge branch 'public_next'
# Conflicts:
#	src/doomdef.h
2017-05-12 23:03:38 +01:00
Monster Iestyn
b8ffeeb59f Update version number to v2.1.18
Don't worry, I remembered to update MODVERSION as well this time :)
2017-05-12 16:06:27 +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
a23da9ae43 * Level Platter system added to Record/NiGHTS Attack modes.
* Made quality-of-life improvement for starting the player off on the "right" map more reliable.
2017-01-28 13:13:03 +00:00
Monster Iestyn
1935a2ffa6 Merge branch 'public_next'
# Conflicts:
#	src/d_clisrv.c
#	src/doomdef.h
#	src/p_map.c
2017-01-19 16:54:47 +00:00
Monster Iestyn
e59fb38802 Update version number 2017-01-15 18:49:33 +00:00