Commit graph

654 commits

Author SHA1 Message Date
Monster Iestyn
51df32dd3d Merge branch 'gcc-compiling-cleanup' into 'master'
Compiling cleanup and fixes

See merge request STJr/SRB2!311
2018-11-10 13:56:17 -05:00
Monster Iestyn
268bde3fdf Merge branch 'public_next'
# Conflicts:
#	src/d_netcmd.c
#	src/d_netcmd.h
#	src/dehacked.c
#	src/g_game.h
#	src/hardware/hw_draw.c
#	src/hardware/hw_main.c
#	src/lua_baselib.c
#	src/lua_hook.h
#	src/lua_hooklib.c
#	src/lua_hudlib.c
#	src/lua_libs.h
#	src/lua_maplib.c
#	src/lua_script.c
#	src/m_misc.h
#	src/p_mobj.c
#	src/s_sound.c
#	src/sdl12/mixer_sound.c
#	src/w_wad.c
2018-11-10 15:41:57 +00:00
Monster Iestyn
0bdbdd1b1e Remove FUNCMATH from functions with a void return value or args, or examine variables other than their args (which could be modified) 2018-11-08 16:26:55 +00:00
Steel Titanium
5a0cfc10f4 Update copyright info on some files 2018-11-01 14:47:19 -04:00
Steel Titanium
0f9611df76 Merge remote-tracking branch 'upstream/master' into cmake-use-internal-libs 2018-10-30 21:06:06 -04:00
Monster Iestyn
b5c4b476a6 Merge branch 'public_next'
# Conflicts:
#	src/d_main.c
#	src/m_menu.c
#	src/s_sound.c
#	src/sdl/sdl_sound.c
2018-10-20 15:31:48 +01:00
mazmazz
a288b95458 Merge remote-tracking branch 'public-gitlab/master' into public-music-cleanup 2018-10-19 22:04:26 -04:00
Monster Iestyn
d4e11762fa Merge branch 'public_next'
# Conflicts:
#	src/nds/i_sound.c
#	src/r_data.c
#	src/sdl12/mixer_sound.c
#	src/sdl12/sdl_sound.c
#	src/win32ce/win_snd.c
2018-10-19 22:46:19 +01:00
Sryder
6184f91dd3 Add an int to I_PlaySound to tell an interface which channel number SRB2 is using.
I've voided this out on other sound interfaces than SDL Mixer ones because I'm both not sure whether they need it, and not sure how to make them work with it if they do.
2018-10-13 23:01:11 +01:00
Monster Iestyn
291ebf302c Merge branch 'public_next'
# Conflicts:
#	src/Makefile
#	src/lua_script.c
#	src/p_user.c
#	src/sdl/i_system.c
#	src/v_video.c
#	src/w_wad.c
2018-10-10 14:51:34 +01:00
Sryder
497314fdc4 Tiny fix so that joystick2 being closed can let the JoystickSubSystem close before game close.
No memory leak here, just a very tiny thing I noticed.
2018-10-09 19:43:18 +01:00
Monster Iestyn
1115f41f8e Merge branch 'zlib-split' into 'master'
Makefile: Split zlib and libpng

See merge request STJr/SRB2!285
2018-10-08 07:20:27 -04:00
Steel Titanium
232a7ae7b7 Change order of the ifdef 2018-10-07 14:52:25 -04:00
Steel Titanium
def090c9f0 Move the ifdef 2018-10-07 14:45:03 -04:00
Sryder
fb6c329870 Fix the crashing bug hopefully
A value of 1 in freesrc for Mix_LoadWAV_RW and Mix_LoadMus_RW calls SDL_RWclose on the RWops anyway.
For Mix_LoadWAV_RW the RWops is freed right after the data is loaded (because it makes a copy of the data in memory)
For Mix_LoadMUS_RW the RWops is freed when Mix_FreeMusic is called (because the data is not a copy)
So setting 1 on freesrc doesn't actually free the RWops immediately on Mix_LoadMus_RW *unless* it failed to load any music.
2018-10-07 10:37:45 +01:00
Sryder
02597e0bf9 Fix compiler warnings. 2018-10-07 09:26:18 +01:00
Sryder
d072dd2725 I think that should be NULL, not 0 actually. 2018-10-07 00:22:23 +01:00
Sryder
7b417b573c Mix_QuickLoad_RAW sets a flag in the Mix_Chunk so that Mix_FreeChunk doesn't actually Free the sound.
Checks for the flag when freeing, and if it's 0, we free the data manually after Mix_FreeChunk.
I went back to Z_Malloc and Z_Free for this because they still work after this.
2018-10-07 00:15:42 +01:00
Sryder
725a65c1f7 Call SDL_RWclose after an SDL_RWFromMem call to close the RWops. 2018-10-07 00:15:11 +01:00
Steel Titanium
49cb1ffe9f Restore deleted endif 2018-10-04 22:38:59 -04:00
Steel Titanium
79f5f4885c Split zlib and libpng 2018-10-04 19:47:19 -04:00
Steel Titanium
f88708bb75 Fix the weird indentation 2018-09-21 12:05:52 -04:00
Steel Titanium
68ec811909 Rearrange the code.
Thanks again MonsterIestyn!
2018-09-21 11:26:08 -04:00
Steel
af58ba9ae3 Remove this that somehow slipped in. 2018-09-21 07:21:49 -04:00
Steel
be74b4e58b Fix up errors with buildbots 2018-09-21 07:16:54 -04:00
Steel Titanium
378495cb2b Add some stuff 2018-09-20 18:33:50 -04:00
Steel Titanium
a53f036149 Use MemAvailable instead 2018-09-20 18:30:46 -04:00
mazmazz
d8addda298 MP Jingle: Add fade timing hack after ending a non-looping song 2018-09-20 18:30:21 -04:00
mazmazz
551237350e MP Mixer X: Fix double->UINT32 cast (buildbots) 2018-09-20 08:30:31 -04:00
mazmazz
4b4bd638a9 MP libopenmpt: Add doomdef.h header to load_libraries, resolve CONS_Printf (buildbots) 2018-09-20 08:23:29 -04:00
mazmazz
b38f6f6125 MP Libopenmpt: Fix UINT32->double cast (buildbots) 2018-09-20 07:42:35 -04:00
mazmazz
2896b3e3c4 MP Libopenmpt: SDL header in load_libraries 2018-09-20 07:39:53 -04:00
mazmazz
d5b3d74e6f MP Libopenmpt: Separate loading into sdl/load_libraries.c 2018-09-19 23:18:06 -04:00
mazmazz
6f1a5cbfc9 Merge branch 'musicplus-core' into musicplus-sdlmixerx 2018-09-19 20:06:56 -04:00
mazmazz
37addc02e6 MP Core Mixer: Old-style function dec fixes (buildbots) 2018-09-19 19:41:38 -04:00
mazmazz
de47ab63f2 MP Core Mixer fade: Use fixed instead of double calc (fixes buildbots) 2018-09-19 19:40:24 -04:00
mazmazz
7cc0b6cf95 Merge branch 'public-musicplus-core' into public-musicplus-libopenmpt 2018-09-19 19:32:49 -04:00
mazmazz
affbc89602 Merge branch 'public-musicplus-core' into public-musicplus-jingle 2018-09-19 19:24:57 -04:00
mazmazz
96fa8996db MP Core Mixer fade: Use fixed instead of double calc (fixes buildbots) 2018-09-19 19:18:35 -04:00
mazmazz
ade637798b MP Core Mixer: Old-style function dec fixes (buildbots) 2018-09-19 19:06:24 -04:00
mazmazz
af89cf92e2 Merge branch 'public-musicplus-core' into public-musicplus-jingle 2018-09-19 18:55:00 -04:00
mazmazz
86f3fadd5e Merge branch 'public-musicplus-core' into public-musicplus-libopenmpt 2018-09-19 18:54:58 -04:00
mazmazz
3e9b253438 Merge branch 'musicplus-core' into musicplus-sdlmixerx 2018-09-19 18:53:41 -04:00
mazmazz
494c5290cf MP Core Mixer: Unused param fixes (buildbots) 2018-09-19 18:26:59 -04:00
mazmazz
974b1d340a MP Core Mixer: Unused param fixes (buildbots) 2018-09-19 18:26:33 -04:00
mazmazz
26749d275c Merge branch 'public-musicplus-core' into public-musicplus-libopenmpt 2018-09-18 22:24:44 -04:00
mazmazz
00bbb60e69 Mixer: Add back var_cleanup in I_LoadSong
Because musicplus-libopenmpt deleted it, I added a cautionary note to ALWAYS clean up your vars!
2018-09-18 22:24:07 -04:00
mazmazz
f99b6a89ed Mixer: Add back var_cleanup in I_LoadSong
Because musicplus-libopenmpt deleted it, I added a cautionary note to ALWAYS clean up your vars!
2018-09-18 22:15:53 -04:00
mazmazz
c60d61a493 musicplus-jingle 2.2 -> 2.1 backport 2018-09-18 15:10:00 -04:00
mazmazz
68c295c9e1 MusicPlus core: NOMIXER=1 compile fix 2018-09-18 13:23:59 -04:00
mazmazz
b71996106b MusicPlus core: NOMIXER=1 compile fix 2018-09-18 13:23:42 -04:00
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