Commit Graph

391 Commits

Author SHA1 Message Date
mazmazz 0519d8c52d Update CMake paths for Windows DLLs 2018-12-20 16:46:40 -05:00
mazmazz 9d212b340b Update code versions to 2.1.22 2018-12-20 02:35:27 -05:00
wolfy852 2a0e6937a0 Extend joystick hotplugging to players 3 and 4 2018-12-19 18:08:38 -06:00
wolfy852 fc3578c592 Revert GameController stuff 2018-12-19 13:11:30 -06:00
Alam Ed Arias 6fd66bdb49 Clear float equal warnings 2018-12-14 20:34:06 -05:00
wolfy852 f876a59ad2 I_NumGameControllers, print GameController mapping, and store joystick GUID in JoyInfo 2018-12-14 12:49:07 -06:00
wolfy852 ca2475ac3e Print GameController info when detected, use proper 360 controller defaults for triggers 2018-12-14 11:50:53 -06:00
mazmazz c49a5ed8d2 Better I_InitJoystick log message 2018-12-14 06:14:21 -05:00
mazmazz 70d6845d6c Fix menu where cv_usejoystick.value > I_JoyNum and selecting an unused controller and the "used!" prompt pops up erroneously 2018-12-14 05:57:10 -05:00
mazmazz e548f6f139 Don't override an already-active controller
* Menu improvements to tell the user that they can't set a controller if it's already active
2018-12-14 05:02:41 -05:00
mazmazz 3b6de810e1 Lots of changes to better support hotplugging and unstable device indexes
* Don't save cv_usejoystick/2 because hotplugging changes can be made invalid by next run
* Properly set cv_usejoystick/2 for menu toggling
* Force-disable a player's joystick if setting another player's joystick to the same device
* Properly set cv_usejoystick/2 value of BOTH target player AND other players when hotplugging and unplugging
2018-12-14 03:58:07 -05:00
mazmazz 6b9fe87b60 Properly handle unstable device indexes for hotplug 2018-12-14 01:45:18 -05:00
mazmazz 44d6a1d236 Attempt to handle unstable device IDs 2018-12-14 00:22:25 -05:00
mazmazz 216e710b87 Improve hotplug edge case with changing device indexes; return proper joy_open output on error 2018-12-13 23:52:04 -05:00
mazmazz 14cde2d227 Change joystick log messages to DBG_GAMELOGIC 2018-12-13 23:26:07 -05:00
mazmazz e81f05c496 Handle unstable device index when hotplugging controller 2018-12-13 23:09:05 -05:00
mazmazz bcd747c1cd Adjust SDL_JOYDEVICEREMOVED handler by checking the player's joy device explicitly 2018-12-13 22:26:13 -05:00
wolfy852 2927812ec4 Restore a change lost in the merge madness, do some SDL_GameController prep 2018-12-10 09:00:15 -06:00
mazmazz 47ee3525af Indentation 2018-12-08 14:10:56 -05:00
mazmazz 01f1933f69 Force directsound to fix wrong-pitch sound effects 2018-12-08 14:05:58 -05:00
wolfy852 5fe81afeaa Merge remote-tracking branch 'remotes/SRB2/vanilla-hotplug' into unfuck-gamepads
# Conflicts:
#	src/d_clisrv.c
#	src/d_netcmd.c
#	src/d_netcmd.h
#	src/dehacked.c
#	src/doomdef.h
#	src/g_game.c
#	src/hu_stuff.c
#	src/lua_baselib.c
#	src/m_menu.c
#	src/sdl/i_system.c
#	src/sdl/sdlmain.h
2018-12-06 13:07:39 -06:00
mazmazz 60afce5771 Disable XINPUT before initing the joy subsystem 2018-12-06 14:03:46 -05:00
mazmazz 6694b7d679 Controller hotplugging by always keeping joy subsystem on (thanks WOLFS)
(with log messages)
2018-12-06 10:54:58 -05:00
TehRealSalt 7ab098636b Edited even more things to say "SRB2Kart" 2018-12-05 20:40:58 -05:00
TehRealSalt df191639bd Merge remote-tracking branch 'srb2public/master' into merge-next 2018-12-05 19:21:13 -05:00
Monster Iestyn e353e2ef70 Merge branch 'next' into 21-version 2018-12-04 17:19:36 +00:00
Monster Iestyn f2b0db5a1c Merge branch 'master' into next 2018-12-04 17:18:19 +00:00
Digiku 631f6ed406 Merge branch 'joystick-juggling' into 'master'
Joystick juggling

See merge request STJr/SRB2!355
2018-12-04 11:51:55 -05:00
Monster Iestyn d1a8e3acdb Merge branch 'tiny-makefile-fix' into 'master'
Tiny Makefile Fix

See merge request STJr/SRB2!289
2018-12-04 08:09:27 -05:00
mazmazz 60feae1014 Update OSX icon 2018-12-03 23:09:54 -05:00
mazmazz 8851f39b84 Use static joyname instead of malloc 2018-12-03 12:35:12 -05:00
mazmazz 19d19543b7 Copy string from SDL_JoystickNameForIndex before the subsystem is shut down 2018-12-03 05:37:07 -05:00
TehRealSalt aa16edec1d Merge remote-tracking branch 'srb2public/next' into merge-next 2018-12-03 00:31:23 -05:00
Monster Iestyn a63ba7084a Disable the axis parts of I_GetJoystickEvents and its player2 counterpart.
(This is what I should have done in the first place)
2018-12-02 17:42:51 +00:00
Monster Iestyn ce4e63a366 Miserable half-attempt to support hats in I_GetEvent, I've disabled it for now since I couldn't really figure out how to pull this off ...yet 2018-12-02 17:12:05 +00:00
Monster Iestyn 33c1ac33f5 Merge branch 'next' into 21-version
# Conflicts:
#	src/d_netcmd.c
2018-12-02 15:45:07 +00:00
Monster Iestyn 11cb163435 Backport the Blockmap library I made two years ago 2018-11-30 17:11:11 +00:00
Sryder bc1f08f89d Fix 2 of the Unsuffixed Float Constant warnings
The other one is related to M_PI for me, which I'm still not sure about where it's getting it from
2018-11-29 22:12:14 +00:00
TehRealSalt 5534017954 Merge remote-tracking branch 'srb2public/next' into merge-next 2018-11-29 08:49:50 -05:00
Monster Iestyn 11cb2e05ba Merge branch 'cmake-use-internal-libs' into 'master'
CMake: Use internal libs.

See merge request STJr/SRB2!325
2018-11-25 09:33:50 -05:00
mazmazz ea7162a76a Update source copyrights to 2018 2018-11-25 07:35:38 -05:00
Monster Iestyn 08af33c51f Add myargmalloc boolean to detect whether we allocated myargv ourselves or not, so we don't free myargv if we didn't 2018-11-23 19:12:48 +00:00
mazmazz 36e020c366 Update version to 2.1.21 2018-11-23 06:58:45 -05:00
Steel Titanium fe43deacec Merge branch 'master' into responsefile-fix 2018-11-22 23:02:20 -05:00
Steel Titanium 6020abab94 Fix the not found errors on DLLs 2018-11-22 22:44:47 -05:00
Steel Titanium ff9c41ca5f Merge branch 'master' into cmake-use-internal-libs 2018-11-21 20:05:08 -05:00
toaster aa607ecf4c Merge branch 'next' of https://git.magicalgirl.moe/STJr/SRB2.git into nextmerge_again
# Conflicts:
#	src/d_clisrv.c
#	src/m_misc.c
2018-11-18 18:26:50 +00:00
Sryder b8477b4067 Squash various warnings
Shadowed declarations
Unsuffixed float constants
There's an unsuffixed float constant I can't fix because the define is outside of SRB2. We could have our own copy of Pi if we really wanted.
2018-11-14 21:53:57 +00:00
Alam Ed Arias f81d01edca Merge branch 'vc-xpm-fix' into 'master'
Remove unnecessary SDLCALL from IMG_xpm.c declarations

See merge request STJr/SRB2!327
2018-11-14 11:00:20 -05:00
Alam Ed Arias f73ea4f984 Clean up warnings 2018-11-14 10:52:16 -05:00
Marco Z 8777d5c6c9 Comment context for declaration changes; remove extern terms 2018-11-14 08:15:38 -05:00
Marco Z 51768e7dd1 Remove unnecessary SDLCALL from xpm declarations 2018-11-14 08:06:07 -05:00
Monster Iestyn f3b59c1731 Fix VC project files to include hw_clip.c/h 2018-11-14 12:11:57 +00:00
Steel Titanium d0b64222f7 Merge branch 'master' into cmake-use-internal-libs 2018-11-13 19:46:43 -05:00
mazmazz 894ee02f3f Fix x64 build issue 2018-11-13 17:12:18 -05:00
Sryder 6af56273bf Merge branch 'next' of git@git.magicalgirl.moe:STJr/SRB2.git into nextmerge
# Conflicts:
#	src/d_main.c
#	src/d_main.h
#	src/d_netcmd.c
#	src/doomtype.h
#	src/hardware/hw_md2.h
#	src/p_user.c
#	src/r_splats.h
#	src/s_sound.c
#	src/s_sound.h
#	src/screen.c
#	src/sdl/i_system.c
2018-11-10 21:14:53 +00:00
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 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
TehRealSalt 499faec555 Merge remote-tracking branch 'srb2public/next'
(Huge change: NO_MIDI is now a define, simply because that makes it easier for me to resolve merge conflicts if I can see the original code and the new code. Also means that people who REALLY miss MIDI can compile & fix it themselves :P)
2018-11-07 16:15:14 -05: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
mazmazz a288b95458 Merge remote-tracking branch 'public-gitlab/master' into public-music-cleanup 2018-10-19 22:04:26 -04:00
toaster a1e1aa81b5 Merge branch 'next' of https://git.magicalgirl.moe/STJr/SRB2.git into nextmerge_plus_rain
# Conflicts:
#	src/d_netcmd.c
#	src/d_netcmd.h
#	src/g_game.c
#	src/p_floor.c
#	src/p_user.c
#	src/r_data.c
#	src/r_data.h
#	src/v_video.c
2018-10-14 21:52:05 +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
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
Sryder 8afdda8249 Disable VSync by default. I wouldn't be surprised if there are issues that arise from it, and I'm fairly sure its always been slightly spotty. 2018-10-04 21:08:47 +01: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
toaster 1a2f84a5ba Smaller XPM with no redundant pixels 2018-09-20 22:36:01 +01:00
toaster cb629303d6 Update a bunch of icons - `SDL_icon.xpm` and other targets' `.ico`s. 2018-09-18 19:37:03 +01:00
mazmazz 40a8c9c1ee Mixer: HAVE_LIBGME ifdef in I_LoadSong 2018-09-15 00:35:24 -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 5b724e18b5268b0492b3f8b8980aadd2dd41e235)
2018-09-14 17:27:31 -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 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 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 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 e88d1477616ca66472ecb50d371e37dc79c77c0f)
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 eae5d3333f5001512c82f22f2b1433a955b3a6c3)
2018-09-14 10:49:44 -04:00
mazmazz 5f22b7d973 Volume fixes
# Conflicts:
#	src/sdl/mixer_sound.c

(cherry picked from commit d39b7011c5b12e5b7abe3e493971e003469a1f3d)
2018-09-14 10:49:44 -04:00
mazmazz 2fbe206ecb A word
(cherry picked from commit fb6f8c8a0752c229f5b7369729437c8fecb54d45)
2018-09-14 10:49:44 -04:00
mazmazz b0c47e2fb1 GME fix: play song in I_PlaySong, not I_LoadSong
(cherry picked from commit 5f21bf230d9716b7cc5b52e4bf3591ebe01e9f3a)
2018-09-14 10:45:39 -04:00
mazmazz 4d61f00b86 Refactor I_MusicType MusicPlaying and MusicPaused other targets
(cherry picked from commit 9e6eebeb8d6b4119d87e9678bb6b0687e3dc5217)
2018-09-14 10:45:39 -04:00
mazmazz eacf0ba00b Refactor I_MusicType MusicPlaying and MusicPaused -> I_SongType ...
(cherry picked from commit 4b82de9e540d6dc0651bbe8db8e5e15cba39f650)
2018-09-14 10:45:38 -04:00