Commit Graph

1735 Commits

Author SHA1 Message Date
Monster Iestyn 9fb301ecb5 don't bother with inlining the function, on second thoughts 2018-10-27 16:47:56 +01:00
Monster Iestyn bb3d850bbf static the buffer, forgot to do this earlier 2018-10-27 16:27:00 +01:00
Monster Iestyn e4e76f83c3 Use temporary buffer with a max size of 255 bytes instead of having Microsoft's FormatMessageA alloc one for us. Also, provide a fallback message in case no message was available for some reason 2018-10-27 16:09:14 +01:00
Monster Iestyn 3b39a25ade Save the result of errno (aka WSAGetLastError() for WinSock) as soon as possible, to prevent anything in SOCK_GetNodeAddress resetting the value to 0 while trying to print the message for the error itself! 2018-10-27 15:49:04 +01:00
Monster Iestyn ab38e6cebb Creating a quick get_WSAErrorStr function to act as a wrapper for FormatMessageA so we can string-ify Winsock errors properly
Untested!
2018-10-27 15:36:15 +01:00
Monster Iestyn 87afae9cf5 Fix unarchiving of mapheader_t userdata Lua variables 2018-10-21 15:15:54 +01:00
mazmazz cc0d1db9d8 Merge remote-tracking branch 'steeltitanium/music-clean' into test-public-music-cleanup 2018-10-19 23:56:56 -04:00
mazmazz a288b95458 Merge remote-tracking branch 'public-gitlab/master' into public-music-cleanup 2018-10-19 22:04:26 -04:00
Monster Iestyn 423403eab5 Merge branch 'sound-handle-fix' into 'master'
Handle fix for SDL Mixer

See merge request STJr/SRB2!301
2018-10-14 15:46:25 -04:00
Monster Iestyn b720cb10dc Merge branch 'pris_accurate-gif-delay' into 'master'
More accurate GIF delay

See merge request STJr/SRB2!276
2018-10-14 15:44:33 -04:00
Sryder 3886888b30 Fix missing commas and missed interface 2018-10-14 10:14:07 +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
Steel Titanium 450b536147 Remove the condition in restartaudio command.
No longer needed as S_RegisterSoundStuff will return early if in
dedicated mode.
2018-10-11 20:11:37 -04:00
Steel Titanium b3faed190b Move commands and console variable into s_sound.c 2018-10-11 16:29:43 -04:00
Monster Iestyn 9c464742b7 Remove "playerdeadview" variable; it's not been used for its stated purpose for who knows how long now
Besides rankings popping up when you die just sounds weird anyway, maybe I'm just used to SRB2 not doing it I guess
2018-10-11 20:00:45 +01:00
Monster Iestyn ef78c942f7 Remove unused ObjectPlace_OnChange prototype (from when Objectplace was a consvar, which it is not anymore) 2018-10-11 20:00:34 +01:00
Monster Iestyn 49c5a6f7e4 Remove unused "runcount" variable from p_local.h 2018-10-11 20:00:23 +01:00
Monster Iestyn 91b2f5e570 "t" is not needed to take out fencepost cases from viewangletox 2018-10-11 20:00:05 +01:00
Monster Iestyn 07dd527e7e Removed unused function prototypes in d_main.h
Also corrected what appears to be a typo in some comments above?
2018-10-11 19:59:47 +01:00
Monster Iestyn 61a29bed85 Remove unused sscount variable
(it's only set to 0 in software, and only ++'d in OpenGL, what kind of sense does that make?)
2018-10-11 19:59:26 +01:00
Monster Iestyn a4419abfdc debugfile is only used by DEBUGFILE code, no need to declare/define it for anything else 2018-10-11 19:59:09 +01:00
Monster Iestyn 38ec0cc50a These convar externs aren't moving files, I'm just shifting them up to live with their relatives 2018-10-11 19:39:28 +01:00
Monster Iestyn 0ad0f8afc4 Move analog consvars to g_game.h 2018-10-11 19:39:11 +01:00
Monster Iestyn 933508db89 Moved screenshot/movie consvar externs to m_misc.h 2018-10-11 19:38:11 +01:00
Monster Iestyn e2a4c59e21 cv_controlperkey probably belongs in g_input.h too 2018-10-11 19:37:48 +01:00
Monster Iestyn 4b7af892e1 Moved most of d_netcmd.h's 2P mouse consvar externs to the files with their 1P counterparts 2018-10-11 19:37:24 +01:00
Monster Iestyn 72ab305bf4 Change when and specifically what colormap[] is applied to in R_Draw2sMultiPatchTranslucentColumn_8 2018-10-11 17:05:23 +01:00
Monster Iestyn b9b0a8110c Add R_Draw2sMultiPatchTranslucentColumn_8, for columns of multi-patch textures used as midtextures on two-sided linedefs with both transparency AND translucency
...that was a mouthful
2018-10-11 17:05:13 +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
toaster 1324e0bfcd * Fix a memory leak regarding implementation of SOC_ (improperly copypasted code from LUA_LoadLump!!)
* Optimise the repeated strlen usage into a single call, which is stored for later.
2018-10-08 18:50:17 +01:00
Monster Iestyn 12e0222929 Merge branch 'drwhoandthesleepingweather' into 'master'
Dr. Who And The Sleeping Weather

See merge request STJr/SRB2!288
2018-10-08 09:36:18 -04:00
Monster Iestyn 1049f3451a Merge branch 'sp-savegame-continue-crash-fix' into 'master'
SP savegame continues icon crash

See merge request STJr/SRB2!290
2018-10-08 09:20:45 -04: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 027e6e8e3c Change win_snd.c also 2018-10-07 15:00:48 -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
toaster b1e02467bf Weather is already run client-side. What if we ran it render-side, for major performance gains? This commit will answer all your questions - and more! 2018-10-07 15:00:58 +01: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
Monster Iestyn 1ec601af6b Draw a star for continues if invalid skin numbers are somehow supplied 2018-10-05 22:42:36 +01:00
Steel Titanium b812a6a4ab Really fix DD compiling this time. 2018-10-04 22:56:11 -04:00
Steel Titanium fc5d969642 Fix DD compiling 2018-10-04 22:44:26 -04: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 34e403afcb S_ChangeMusic: More specific load/play fail messages 2018-09-18 09:38:41 -04:00
Monster Iestyn 1b7b1f3f79 Fix order of operations messups by adding brackets 2018-09-16 20:25:07 +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 0999b0f8a8 srb2dd music cleanup fixes 2018-09-14 13:24:15 -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 691de18fbb Menu sound toggle fixes (and add starpost sfx to menu) 2018-09-14 11:24:28 -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 a7ae059949b320723727aea4468a370bc63c3910)
2018-09-14 10:49:44 -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
mazmazz d535c14fc6 Refactoring and reordering other targets
(cherry picked from commit cf065e106f68fb8af3b0568eba188c8235b1656e)
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 a7d51bf81030c228937a8e759f8f43b85817fce6)
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 f6ec93198f0dcfa1d053cca88172c3e3c7ba310c)
2018-09-14 10:38:32 -04:00
mazmazz 7e7899ae83 Toggle Digi/MIDI music in menu accurately; add S_MusicType
(cherry picked from commit 4aa100aa575cc7fc14a743085222c806ba2c714a)
2018-09-14 10:37:08 -04:00
mazmazz 17cf310b84 nodigimusic nomusic nosound refactor other targets
(cherry picked from commit 86f151db654beb14e8d6893cdff2adaa965e8e4b)
2018-09-14 10:35:56 -04:00
mazmazz a414ccf24a nodigimusic nomusic nosound -> digital_disabled midi_disabled sound_disabled
(cherry picked from commit 07738fb0bcf640a4349337373f451fe68e024b2a)
2018-09-14 10:35:51 -04:00
mazmazz 44557d9c9d I_MusicPlaying, I_MusicPaused other targets
(cherry picked from commit d5ec38815968e267aceb59a48a6cb6d3292c0b69)
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 f5f0b5e76c2fd405c8cc895dde653c5ed2652622)
2018-09-14 10:28:29 -04:00
mazmazz e58a8f4fe1 Consolidate I_SetDigMusicVolume and I_SetMIDIMusicVolume other targets
(cherry picked from commit 9fb9386f84b3739fe765a78bcb9683eb7e98bc36)
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 701cc5a7dd1dfead87a42ec7558c9fa6a1deb193)
2018-09-14 10:23:37 -04:00
mazmazz 46b53e8bae Added I_GetMusicType and removed midimode variable: other targets
(cherry picked from commit 14b393ab16736bb44dab6fd4a90b7bdd8ff782e0)
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 55f3803e4b9f8104c90cc6c769d54121e5bac0b8)
2018-09-14 09:42:29 -04:00
mazmazz b59aa27104 Loose ends other targets
(cherry picked from commit 9a5fc5f66a31baf713c6f32f7a696b933da6907b)
2018-09-14 09:41:08 -04:00
PrisimaTheFox 4ada0b0a9e Update m_anigif.c
Remember gif_frames starts at 0
2018-09-10 17:12:10 +01:00
PrisimaTheFox d26ba2ee54 Update m_anigif.c
More accurate GIF delay.
2018-09-10 17:12:04 +01:00
Monster Iestyn 40ff436829 Remove commented out stuff, now I've confirmed everything works fine without them 2018-09-10 15:49:21 +01:00
Monster Iestyn c0bf79ad8e R_CreateColormap2 and R_MakeColormaps have been made obsolete, it's just R_CreateColormap now, like it used to be!
With that, I moved R_CreateColormap2's exclusive software colormap malloc code to R_CreateColormap, and merged the two software-only blocks of code into one. I also disabled any unneeded variables and fixed a preprocessor-related goofup
2018-09-09 22:48:09 +01:00
Monster Iestyn 322da62b3c Fix HOM removal not working properly for non-green resolutions 2018-08-31 17:14:44 +01:00
toaster 710550bb9d Missed one! 2018-08-26 12:38:53 +01:00
Monster Iestyn d5ab3e75a5 Merge branch 'v_video_killed_the_r_radio_star' into 'master'
v_video Killed The r_radio Star

See merge request STJr/SRB2!270
2018-08-25 16:43:25 -04:00
Monster Iestyn ed5bed4d2c Merge branch 'zalloc_potter_and_the_death-free_hallows' into 'master'
Zalloc Potter and the Death-Free Hallows

See merge request STJr/SRB2!269
2018-08-25 16:43:14 -04:00
toaster 85474e33dd Introduce a temporary measure to enable the old stuff, minus one of the most obviously terrible bugbears of yesteryear. Let it be known that any downstream poirt will almost certainly toggle this ASAP. 2018-08-25 21:17:34 +01:00
toaster 80ac2366ba Clean up a bunch of v_video.c functions that previously exhibited unfortunate side effects when run in non-green resolutions.
* V_DrawFixedPatch and ilk:
	* Change the offset of V_FLIP so it's not one screen-pixel off where its non-flipped sprite would have started being drawn from.
	* Write to x and y as well as desttop so that anti-screen-overflow checks later in the function behave properly with non-green resolutions.

* V_DrawFill:
	* Reduce number of operations performed upon `c`.

* V_DrawString and ilk:
	* Offset the left and right boundary checks in non-green resolutions such that you can actually draw stuff to the left of basevid screen x coordinate 0.
2018-08-25 19:52:17 +01:00
toaster 91eb248e46 Fix up them there ghosts!
* Stop orphaning their memory. They ARE PU_LEVEL, so they'll disappear eventually, but, like... it's not good memory management practice to just *orphan* them when you're literally never going to do anything with them ever again. Y'know?
* Make ghosts spawn properly on slopes.
2018-08-25 17:11:49 +01:00
toaster 973b3c3f5e Continuing my recent streak of making random lighting/colormap-related fixes to long-standing bugs:
* Fix that thing where ALL transparent FOF planes were continuously fullbright unless encased in a fog which disables sprite fullbrightness, which was long-hated by many people in the community!
	* For backwards compatibility, setting flag 1 in that fog field (which is probably the most common "in-the-wild" usage of this feature) will continue to make objects un-fullbright.
	* For situations where you desperately want the behaviour to be enabled, you can apply fog flag 2.
* Change the fadestart and fadeend range in which colormaps are generated.
	* The problem HERE was that the darkest light level reached by generated colormaps was actually slightly brighter than the darkest level reached by normal colormaps.
	* The typo I fixed does have SOME basis in fact - standard colormap lumps are 34 (33 in 0-indexing) long rather than 32 (31), but whoever wrote this didn't realise that the code for generating them didn't do it DooM style, just bright-to-dark with no extras on the end...
2018-08-25 16:46:45 +01:00