Commit graph

2130 commits

Author SHA1 Message Date
Monster Iestyn
7d4e27937d Merge branch 'next' into lua-slopes
# Conflicts:
#	src/lua_maplib.c
2018-10-20 18:31:06 +01:00
Monster Iestyn
d57c54f93b Merge branch 'master' into next 2018-10-20 14:13:13 +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
29b242a5bd Merge branch 'endgame-code-refactor-backport' into 'next'
Endgame code refactor

See merge request STJr/SRB2!297
2018-10-19 17:31:19 -04:00
Monster Iestyn
fe2af34ee5 Merge branch 'master' into next 2018-10-14 20:49:35 +01: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
Monster Iestyn
80cbad61c0 Do lightlist height stepping *after* the heights are used by the FOF rendering code, not before (yes, I caught that they remove a heightstep beforehand for FOFs, but that wasn't done for midtextures it seems?)
Additionally add some macros for repeated slope end assignments and overflow tests
2018-10-13 18:57:40 +01:00
Monster Iestyn
bedfed2f00 Move shared code here instead of duplicating it for both dc_numlights and non-dc_numlights rendering code
Also added a few comments, and include the out of range check in the "shared code" above
2018-10-13 15:37: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
feceaf6d30 Removed all code in Y_FollowIntermission that's already handled in G_AfterIntermission
Only real difference here is that CEcho messages will always be cleared when going to credits/evaluation, but that's hardly a loss tbh.
2018-10-11 21:25:15 +01:00
Monster Iestyn
2bb7df5f49 G_ExitLevel tweak: Use HU_ClearCEcho() instead of HU_DoCEcho(""), the latter causes an empty line to appear in log.txt 2018-10-11 21:25:04 +01:00
Monster Iestyn
31f3f8b8e7 Moved Y_EndGame from y_inter.c/h to g_game.c/h, renamed it to G_EndGame 2018-10-11 21:24:53 +01:00
Monster Iestyn
c1d5c711a9 Be gone ye old texture hack 2018-10-11 21:08:25 +01: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
Monster Iestyn
8196c59557 Merge branch 'master' into next 2018-10-09 22:55:55 +01:00
Monster Iestyn
c469fc242f Merge branch 'movechasecamera-crashfix' into 'next'
Fix for Chicmunk's weird camera related crash

See merge request STJr/SRB2!284
2018-10-09 15:20:06 -04: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
Sryder
62d7049437 I'm fairly sure GCC64 should enable GCC63.
No wonder I never got mixed declaration and code warnings.
2018-10-07 15:44:44 +01: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
Alam Ed Arias
348f4dc2cd Merge branch 'master' into next 2018-10-02 09:14:59 -04:00
Monster Iestyn
800b3bb240 Move player + player mobj existence checks to top of P_MoveChaseCamera. This is the only place it makes sense to even check them tbh.
While I'm at it, let's also use the "mo" variable instead of player->mo throughout the function (to be consistent)
2018-09-30 22:18:48 +01:00
Monster Iestyn
872e2f82c1 Redo OpenGL skewing support, so that it now itself supports the lower unpegged effect for FOFs in OpenGL! 2018-09-28 17:02:02 +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
mazmazz
34e403afcb S_ChangeMusic: More specific load/play fail messages 2018-09-18 09:38:41 -04:00
mazmazz
20c4702986 Line exec trigger netsync: Save var2s in addition to vars 2018-09-17 14:13:31 -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
Monster Iestyn
546fa383c1 Make sure that T_MarioBlockChecker is synced in netgames, so that the textures of Mario Blocks can change when there are no more items 2018-09-14 21:01:07 +01: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
mazmazz
25361713dc NiGHTS drone loop: Change flyangle comparison to fix detection from vertical angles
Use > 90 && < 270 instead of >= 90 && <= 270. Fixes a bug where if you fly directly up (flyangle 90) or directly down (flyangle 270), that registers as a backwards direction, so you trigger the loop detection by flying BACKWARDS, not FORWARDS. This edge case (only possible via JUMPTOAXIS) should default to FORWARDS looping.

(cherry picked from commit ce215195f89bf52e5c2e2ddd7d5444685edf835d)
2018-09-14 08:58:19 -04:00
mazmazz
ba7d97733d Fix NiGHTS drone loop detection by using pl->flyangle
(cherry picked from commit 67e438128435aca992e2d45aa1f35603c5501984)
2018-09-14 08:57:37 -04:00
mazmazz
3359b221d6 Merge remote-tracking branch 'public-gitlab/master' into public-op-nightsbumper-fix 2018-09-14 08:55:30 -04:00
mazmazz
b666fa3131 P_SpawnMapThing: Ignore MTF_ flags if MT_NIGHTSBUMPER
(cherry picked from commit d85f108997bfeca3e0b1731c1aad70617456400b)
2018-09-14 08:52:10 -04:00
mazmazz
f8834b0201 MT_NIGHTSBUMPER Spawn: Don't reset mthing->options
(cherry picked from commit dc9fd6f02ed4b681ed4982d119672f07cc91e585)
2018-09-14 08:52:10 -04:00
Monster Iestyn
6fbc014ea3 Merge branch 'thwomp-fixes' into 'next'
Thwomp fixes: Don't trigger on spectator; don't trigger on ~FF_EXISTS

See merge request STJr/SRB2!277
2018-09-13 14:47:40 -04:00
Digiku
89a6694d67 Don't trigger thwomp on spectators 2018-09-13 11:32:40 -04:00
mazmazz
c32c72c401 Thwomp fix: Don't trigger (look for players) when ~FF_EXISTS 2018-09-13 11:32:38 -04:00
Monster Iestyn
3218ab17e0 Merge branch 'master' into next 2018-09-11 16:34:16 +01: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
316c08bbbb Merge branch 'netcode-nitpicking' into 'next'
Netcode nitpicking

See merge request STJr/SRB2!274
2018-09-07 15:59:49 -04:00
Monster Iestyn
38ac999d77 Merge branch 'addfile-verify-fix' into 'next'
Addfile command verify fix.

See merge request STJr/SRB2!272
2018-09-03 17:17:46 -04:00
Monster Iestyn
ea06e8a62b SOCK_Send: Split the actual sending data parts into a new function, SOCK_SendToAddr, to make everything look a bit neater in general 2018-09-03 20:53:40 +01:00
Monster Iestyn
7b083f07cd UDP_Socket: I doubt client addresses are meant to be included in the total for broadcast addresses 2018-09-03 15:56:02 +01:00
Monster Iestyn
846bddfdcf SOCK_Send: Fix what appears to be a mistaken use of i instead of j 2018-09-03 15:52:22 +01:00
Monster Iestyn
24aafa6dac UDP_Socket: Add missing limit checks for s, for client and broadcast addresses 2018-09-03 15:43:36 +01:00
Monster Iestyn
6ae78da47e Merge branch 'master' into next 2018-09-02 13:00:56 +01:00
Steel Titanium
54fec7fa5c Merge branch 'master' into addfile-verify-fix 2018-09-01 19:33:59 -04:00
Monster Iestyn
322da62b3c Fix HOM removal not working properly for non-green resolutions 2018-08-31 17:14:44 +01:00
Steel Titanium
0f5d685d1f Only do this if the admin player isn't the server host also. 2018-08-30 18:32:26 -04:00
Monster Iestyn
61836e1565 Merge branch 'master' into next 2018-08-26 21:10:41 +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
Monster Iestyn
2daaf637d9 Merge branch 'master' into next 2018-08-21 15:36:36 +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
Monster Iestyn
dcf843e485 Merge branch 'defaultsoundvol' into 'master'
Change default sound volume

See merge request STJr/SRB2!238
2018-08-20 09:41:04 -04:00
Monster Iestyn
febefd41ba Fix glitches with flats visible when looking up/down in 1st person 2018-08-18 23:31:20 +01:00
Monster Iestyn
b63290211a Merge branch 'master' into next 2018-08-16 22:04:00 +01:00
Monster Iestyn
a4cfa9e82a Merge branch 'lua-sector-names-fix' into 'next'
Lua sector names fix

See merge request STJr/SRB2!263
2018-08-16 16:57:41 -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
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
7ee9c5b0f4 Merge branch 'master' into next 2018-08-10 19:31:15 +01:00
toaster
145c050e14 ...and R_DrawTranslucentSplat_8, even though it isn't used! 2018-08-09 17:08:20 +01:00
toaster
5daeaf529f Apply the double-colormap ordering fix to R_DrawTiltedTranslucentSpan_8 as well. 2018-08-09 16:56:43 +01:00
Monster Iestyn
10a2ba8d39 Merge branch 'master' into next 2018-08-07 20:54:19 +01:00
toaster
ecc9ebe8c1 Change the order of operations when applying transparency and colormap such that colormap isn't applied to the screen pixel twice (or, in the case of R_DrawTranslatedTranslucentColumn_8, thrice).
Please note I haven't touched the ASM equivalent, given as it's not actually used.
2018-08-07 19:12:10 +01:00
Monster Iestyn
c703bc2fd7 Trim off any extra null bytes off the end of sector floorpic/ceiling when you access them in Lua 2018-08-06 22:37:44 +01:00
Monster Iestyn
02d2b61866 Merge branch 'master' into next 2018-08-06 15:15:35 +01:00
Monster Iestyn
2738f3a537 Rewrite archiving/unarchiving of Lua strings for netgames.
This now means:
* Lua strings longer than 1024 chars can now be read properly without awful crashes
* Lua strings with embedded zeros can be written/read without truncating anything (hopefully)
2018-08-05 22:02:20 +01:00
Monster Iestyn
8d622ff6f8 Quick fix for LJ's password fix: don't check if password is set until we've confirmed that the receiving player is the server! 2018-08-05 20:17:30 +01:00
Monster Iestyn
74646052b0 Merge branch 'master' into next 2018-07-31 19:36:30 +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
Monster Iestyn
16999b7080 Merge branch 'gme-pause' into 'master'
Fix pausing on gme

See merge request STJr/SRB2!251
2018-07-31 14:33:56 -04:00
Steel Titanium
c02ee9a502 Re-did this fix. 2018-07-28 01:58:25 -04:00
Alam Ed Arias
79e4c3760a Merge branch 'master' into next 2018-07-20 17:35:53 -04:00
Alam Ed Arias
1ee7eda0ad Fixup PROFILEMODE 2018-07-20 17:35:18 -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
Monster Iestyn
90ebce0557 Merge branch 'master' into fof-slope-skew-backport 2018-07-11 21:38:09 +01:00
Monster Iestyn
a06ef26149 Merge branch 'master' into next 2018-07-11 21:37:23 +01:00
Monster Iestyn
8e19611033 Merge branch 'opengl-fof-lowerunpegged' into 'master'
OpenGL: FOF walls + Lower unpegged

See merge request STJr/SRB2!258
2018-07-11 16:36:26 -04:00
Monster Iestyn
09ae0aae53 Merge branch 'master' into next 2018-07-11 21:18:39 +01:00
Monster Iestyn
c127ea3ceb Merge branch 'opengl-projectsprite-fix' into 'master'
OpenGL HWR_ProjectSprite fix

See merge request STJr/SRB2!255
2018-07-11 16:15:42 -04:00
colette
0a931a1364 Update f_finale.c 2018-07-07 20:20:46 -04:00
Alam Ed Arias
17570c1ad6 Merge branch 'master' into next 2018-07-07 16:42:50 -04:00
Alam Arias
a79b9a9127
Update m_misc.c 2018-07-07 20:41:11 +00:00
Alam Arias
7da6aca450
Update m_misc.c 2018-07-07 20:33:19 +00:00
Monster Iestyn
f1bba60373 Merge branch 'md2-fopen-error' into 'master'
More helpful error messages

See merge request STJr/SRB2!243
2018-07-06 14:38:59 -04:00
Monster Iestyn
130de10f97 Merge branch 'md2-smoother-interpolation' into 'master'
Smoother MD2 interpolation

See merge request STJr/SRB2!224
2018-07-06 14:38:37 -04:00
GoldenTails
761a221840 Merge remote-tracking branch 'STJrSRB2/master' into patch-1 2018-07-05 16:44:34 -05:00
Monster Iestyn
e5236c3137 Merge branch 'master' into next 2018-07-05 21:09:39 +01:00
Monster Iestyn
8c56e39c18 Merge branch 'lua-exploit-fix' into 'master'
Lua exploit fix

See merge request STJr/SRB2!259
2018-07-05 16:08:08 -04:00
LJSonik
3b39b3b7c8
Merge branch 'master' into password-security-fix 2018-07-05 20:58:00 +02:00
LJSonik
bd6373bc86
Merge branch 'master' into minor-net-command-fixes 2018-07-05 20:00:38 +02:00
LJSonik
8e3c3a6f65
Merge branch 'master' into password-security-fix 2018-07-05 19:46:36 +02:00
Steel Titanium
39ebdb86b8 Merge remote-tracking branch 'upstream/master' into responsefile-fix 2018-07-05 01:24:51 -04:00
Steel Titanium
c8d0eb04f4 Merge remote-tracking branch 'upstream/master' into md2-smoother-interpolation 2018-07-05 01:23:56 -04:00
Steel Titanium
44144e379e Merge remote-tracking branch 'upstream/master' into defaultsoundvol 2018-07-05 01:22:39 -04:00
Steel Titanium
c61035571b Merge remote-tracking branch 'upstream/master' into md2-fopen-error 2018-07-05 01:21:09 -04: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
Monster Iestyn
82d953bbc2 Fixed the Lua crash exploit. 2018-07-04 20:15:36 +01:00
Monster Iestyn
25cd61c094 Merge branch 'master' into next 2018-06-27 15:06:12 +01:00
Monster Iestyn
d8a86a8d74 Fix OpenGL completely missing the ability to alter FOF wall pegging by lower unpegged flag. Stupid OpenGL.
Sorry in advance Lat'!
2018-06-26 21:41:05 +01:00
Monster Iestyn
ac21a529c7 Merge branch 'master' into fof-slope-skew-backport 2018-06-26 20:11:08 +01:00
Monster Iestyn
415c095274 fix the multiplayer menu not allowing the full max length for player names unlike the "name" console command 2018-06-26 17:46:04 +01:00
Steel Titanium
5c8c35e773 Deallocate when I_Quit() is called instead. 2018-06-23 15:09:11 -04:00
Steel Titanium
7f11010b42 Remove free() call from the function 2018-06-23 14:39:26 -04:00
Monster Iestyn
aed30519d4 Fix HWR_ProjectSprite to check properly whether the displayed player's mobj or its subsector exists, to avoid a crash when checking for fake planes. (also use viewplayer since its available to use, silly hardware code)
Also tweaked a weird splitscreen check in HWR_DrawSpriteShadow; still investigating whether stplyr is ever not player 2 when it's player 2's view, but this looks better for now
2018-06-23 18:47:32 +01:00
Steel Titanium
e95f3eb206 Update copyright 2018-06-17 00:09:35 -04:00
Steel Titanium
5af778ba7f Fix M_FindResponseFile returning garbage data 2018-06-16 23:44:28 -04:00
Louis-Antoine
c389c0b3dc xd 2018-06-04 22:30:27 +02:00
Louis-Antoine
91081a3e53 Disable admin password by default 2018-06-04 22:14:01 +02:00
Steel Titanium
77362c45cc Fix pausing on gme 2018-06-03 18:15:20 -04:00
Monster Iestyn
bf042ed86c Merge branch 'master' into next 2018-06-03 20:17:51 +01:00
Monster Iestyn
650e0eafce Merge branch 'fixedmul-c-fix' into 'master'
Correct C FixedMul() off-by-one errors

See merge request STJr/SRB2!245
2018-06-03 15:14:06 -04:00
Monster Iestyn
602d5e0aa0 Merge branch 'f12-fix' into 'master'
F12 fix

See merge request STJr/SRB2!250
2018-06-03 15:11:20 -04:00
Monster Iestyn
37b8be2103 Merge branch 'demototalplaytime' into 'next'
Don't increment totalplaytime if a demo is playing.

See merge request STJr/SRB2!241
2018-06-03 15:10:42 -04:00
Monster Iestyn
ef174f7b43 Merge branch 'opengl-mappalette-fix' into 'master'
OpenGL: Map Specific Palette Fix

See merge request STJr/SRB2!247
2018-06-03 15:09:23 -04:00
Monster Iestyn
8e5dbb22f0 Merge branch 'opengl-bigmap-fix' into 'master'
OpenGL: Very large map rendering issue fixed

See merge request STJr/SRB2!249
2018-06-03 15:08:10 -04:00
Monster Iestyn
f4152e2e5d Merge branch 'addfile-typo' into 'master'
Fix console typo

See merge request STJr/SRB2!246
2018-06-03 15:06:13 -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
Sryder
f4181f7eb6 Very large map rendering issue fixed
Move old fix for too large maps having rendering issues from R_CheckBBox to OpenGL's HWR_CheckBBox
From what I know, this effects at least Aerial Garden and Seraphic Skylands
2018-05-26 13:13:37 +01:00
Steel Titanium
0b6d6c3363 GME low volume fix 2018-05-24 16:24:09 -04:00
Monster Iestyn
f061ffa00e Stop Each Time trigger linedefs and object-carrying scrollers from doing anything with FOFs without FF_EXISTS 2018-05-21 20:02:30 +01:00
Tasos Sahanidis
001e4e11ca
Correct C FixedMul() off-by-one errors
The FixedMul() C implementation would produce off by one results,
causing constant desyncs on 64 bit builds and builds without an
ASM implementation of the function.

This is fixed by shifting instead of dividing, possibly avoiding
rounding errors.
2018-05-20 22:55:21 +03:00
Oleksii Vilchanskyi
6866dac171
m_fixed: asm: cc is not a register
gcc accepts

  __asm__ ( "" : : : "%cc");

but not clang:

    error: unknown register name '%cc' in asm
        :"%cc", "%edx"         // edx and condition codes clobbered

'cc' is not a register, thus '%cc' is rightfully not accepted.

Repro: build the project on x86_64 with:
    cmake -H. -Bbuild -DCMAKE_C_COMPILER=clang -DCMAKE_SIZEOF_VOID_P=4 -DCMAKE_C_FLAGS="-m32"
2018-05-18 00:23:22 +02:00
Sryder
092e709235 OpenGL Map Specific palettes working
This makes OpenGL stop using a specific function that doesn't really do anything for it anymore. It looks like it was used for a hack that would change the colour of polygons for the flashpal equivalent in DOOM.
I made it so ST_DoPaletteStuff doesn't set the flashpal in OpenGL as it already does its own hacky overlay and doing that would cause all the textures to be flushed more mid-level, it could be enabled for more correct flashpals, but they still wouldn't effect fog or lighting.
This means the palette will be set when going to the title screen, and twice when starting a map, (causing the OpenGL cached textures to also be flushed at those times)
2018-05-17 22:17:20 +01:00
Steel Titanium
0bef99f566 Fix console typo 2018-05-17 13:57:19 -04:00
Sryder
badbb4324e Fix FF_FULLBRIGHT not working in sectors with multiple light levels in OpenGL 2018-05-16 21:04:57 +01:00
LJSonik
87ba5a2233
Merge branch 'master' into minor-net-command-fixes 2018-05-15 21:31:47 +02:00
Steel Titanium
b4d479ad9a Include errno if not already included. 2018-05-13 16:04:34 -04:00
Steel Titanium
7f084868b9 More helpful error message 2018-05-13 15:35:38 -04:00
GoldenTails
7783ddd134
Update hw_md2.c 2018-05-13 14:34:08 -05:00
GoldenTails
5f0a45124c
Update hw_md2.c 2018-05-13 14:32:33 -05:00
GoldenTails
e66e0bb20e
Fixed MD2 models not loading correctly on Linux 2018-05-13 14:19:36 -05:00
Monster Iestyn
4f75ae3a68 Fix both Bouncy FOF and Space Countdown sector specials working on FOFs without the FF_EXISTS flag
Also move the Bouncy FOF sector special check above the FOF heights checking in P_CheckBouncySectors, because it means not having to waste time calculating FOF heights only for it not to be bouncy anyway :P
2018-05-11 20:35:46 +01:00
Alam Ed Arias
6be0f90fbe Merge branch 'master' into next 2018-05-08 21:26:26 -04:00
Steel Titanium
a1d696b38e Fix small typo 2018-05-08 18:38:28 -04:00
Steel Titanium
9ff491dd78 Add indentation 2018-05-08 18:36:47 -04:00
Steel Titanium
29e80c5300 Don't increment totalplaytime if a demo is playing. 2018-05-08 18:16:01 -04:00
Monster Iestyn
8e5ac64d7c Merge branch 'dedicated-nosoundinit' into 'master'
Don't init the sound system on dedicated servers

See merge request STJr/SRB2!225
2018-04-21 17:40:45 -04:00
Monster Iestyn
452aef4981 Merge branch 'connect-empty-address-fix' into 'master'
Fixed "invalid pointer" error when passing "" to Command_connect().

See merge request STJr/SRB2!234
2018-04-21 17:32:50 -04:00
Monster Iestyn
83a84d5a81 Merge branch 'connect-server-fix' into 'master'
Removed contradictory `-connect` check

See merge request STJr/SRB2!236
2018-04-21 16:25:28 -04:00
Monster Iestyn
eb0f9681d7 Merge branch 'findfile-rewrite' into 'master'
Rewrite of d_netfil.c's findfile

See merge request STJr/SRB2!240
2018-04-21 16:22:21 -04:00
Monster Iestyn
48a85512a0 Merge branch 'dedicated-debug-hotfix' into 'master'
Dedicated debug hotfix

See merge request STJr/SRB2!239
2018-04-21 16:13:38 -04:00
Monster Iestyn
6c7acdbd9e Merge branch 'movie-spec-stage-fade-fix' into 'master'
Movie mode: special stage intro fade recording fix

See merge request STJr/SRB2!229
2018-04-21 16:12:46 -04:00
Monster Iestyn
9cdf87404e Rewrote findfile to store whether any of the three paths searched had a bad MD5 rather than just simply being not there.
This means that, if the three paths are not the same, you should be able to tell if at least one of them has a file that just had a bad MD5. Most relevant for Linux peeps I expect.

Note: Untested as of writing
2018-04-15 22:00:31 +01:00
Monster Iestyn
3fb12cf337 Don't use CV_StealthSetValue on cv_itemfinder if running the game in dedicated mode 2018-04-15 19:59:57 +01:00
Steel Titanium
2139d4771f Default sound volume is too loud 2018-04-11 14:40:05 -04:00
Steel Titanium
d446f3420e Merge remote-tracking branch 'upstream/master' into dedicated-nosoundinit 2018-04-03 16:16:20 -04:00
Steel Titanium
759ea8cb42 Indentation fixup 2018-04-03 16:11:07 -04:00
Alam Ed Arias
cf6a30a8ef Merge branch 'master' into next 2018-04-03 15:48:06 -04:00
Sryder
6f2de824fb Uncomment HWR_CorrectSWTricks but set gr_correcttricks to be off by default
I wasn't aware of the cvar, this should do for now since I don't believe any maps use these software tricks, probably an old leftover from DOOM.
2018-03-30 23:12:44 +01:00
Sryder
0aaae501d3 Warnings must die 2018-03-30 18:53:23 +01:00
Sryder
f3aa02e26d Start with lightnum on sector lightlevel 2018-03-30 18:13:52 +01:00
Sryder
66f220d6ad Merge branch 'master' into openglquickfixes 2018-03-30 18:09:41 +01:00
Sryder
65c893da86 static tempsec for R_FakeFlat
I don't fully understand this, but it's what software does and it fixes the issue of the lighting in DSZ3. Also don't need the extra call to R_Prep3DFloors.
2018-03-29 23:28:54 +01:00
jameds
876d0fa58b Removed contradictory -connect check 2018-03-23 18:09:07 -07:00
Sryder
f62cb3a30a I've commented out the call to HWR_CorrectSWTricks.
I don't think it does anything for us anymore, and might even break things with slopes.
Someone let me know if I'm wrong and am breaking things horribly here.
2018-03-23 22:27:29 +00:00
jameds
a431197921 Fixed "invalid pointer" error when passing "" to Command_connect(). 2018-03-22 21:21:26 -07:00
Sryder
fab4b7f5ea Stop squashing the screen vertically in non-green resolutions 2018-03-22 01:10:53 +00:00
Sryder
839ee0ab85 OpenGL Sprite Splitting 2018-03-22 00:52:14 +00:00
Sryder
0885d27171 Transform sprites in world space rather than screen space
Transformation based on screen space would make sense if we didn't want anything in the world to effect the sprites.
This should allow sprite splitting and sorting of sprites with level geometry easier.
stransform is no longer needed.
2018-03-21 19:45:37 +00:00
Sryder
4e95066f5a Some fixes and updates for HWR_SplitWall
Solid walls *can* be cut
Fix issues with water and fog FOFs not cutting each other out correctly
Fix Fog colourmap and lighting setting that is done here.
Remove HWR_SplitFog

There is currently a bug with FF_DOUBLESHADOW (that also exists in software) but has a larger impact here. When 2 FF_DOUBLESHADOW lights are directly stacked on each other the bottom one has its height set incorrectly. This causes all the Fog in the timed gravity flipping section of ERZ2 to be drawn and it looks really bad.
2018-03-20 14:20:08 +00: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
31d1ef8db0 Draw the final screen texture in the centre with black bars
Only applies when the monitor aspect ratio is different to the game's aspect ratio.
2018-03-17 19:22:14 +00:00
Sryder
527df5c248 Fix OpenGL Title Screen Sky
My IDE doesn't seem to like Vada's name.
2018-03-17 15:11:32 +00:00
Sryder
6de0cc6bcc Remove the OpenGL only code from V_DrawPatchFill
That's all of the HUD drawing functions that are currently used updated in GL.
2018-03-17 14:47:06 +00:00
Sryder
a9214ebd37 Match HWR_DrawCroppedPatch to V_DrawCroppedPatch 2018-03-17 13:58:44 +00:00
Sryder
801f7547d3 Add the full-screen drawfill functionality to HWR_DrawFixedPatch 2018-03-17 13:26:43 +00:00
Sryder
7830c031f7 Make HWR_DrawFill match V_DrawFill 2018-03-16 19:46:45 +00:00
Sryder
7764a1bb5d Match HWR_DrawFixedPatch to V_DrawFixedPatch 2018-03-16 18:08:24 +00:00
Sryder
1b3e1f78af Translucent floors shouldn't write into the depth buffer 2018-03-15 23:59:01 +00:00
Sryder
5a4ea9fab3 Better fog block colouring
They still aren't perfect, but now they are at least not quite so obviously just translucent polygons over the level. A mixture between partially modulating the background colours and adding the fog colour. Notably white fog blocks look like they're brightening what's behind them.
Additive was also setting noalphatest before, can probably decide that depending on what it needs anyway. I don't think it's currently used anyway.
2018-03-15 23:58:37 +00:00
Alam Ed Arias
5a04145e43 Merge branch 'master' into next 2018-03-14 14:29:42 -04:00
Alam Ed Arias
1619b392f6 Merge remote-tracking branch 'public/master' 2018-03-14 14:26:07 -04:00
toasterbabe
fee8714109 i suck at the alphabet! 2018-03-14 16:55:33 +00:00
toasterbabe
a5ab9f01bb oh yeah this guy's name needs changing too 2018-03-14 16:49:10 +00:00
toasterbabe
68cb919205 down with cis 2018-03-14 16:47:19 +00:00
LJSonik
0ff5b851cd
Merge branch 'master' into minor-net-command-fixes 2018-03-09 17:15:37 +01:00
Louis-Antoine
aefe06e2ef Fix Lua panic when archiving a table element with an userdata key 2018-03-09 16:40:34 +01:00
Sryder
e4ed3a793b Small hacky fix for MD2s and sprites until sorting for walls, floors, and sprites is done
Sorts all translucent sprites and MD2s so they're drawn after all the opaque ones. Fixes most of the observable issues between translucent MD2s and opaque sprites/MD2s.
2018-03-09 09:58:10 +00:00
Sryder
121fcd8369 Fix screenshot functionality in fullscreen in SDL2 2018-03-08 22:28:38 +00:00
Monster Iestyn
145616b152 Merge branch 'master' into next 2018-03-08 19:35:51 +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
Sryder
67ee1637c9 Decrease far clipping plane
The Far clipping plane did not need to be nearly as high as it was, the new value is 32768, which I suspect is about how far software can render before it completely falls apart.
It is desirable to increase the near clipping plane to between 6-10, but it can introduce more issues with close geometry not being drawn when the player or camera is scaled or viewheight is set to MIN in first person view. It would also stop sprites from being drawn ever so slightly too early, but this isn't too much of an issue and isn't too noticeable with those values. Might look into scaling near clipping plane in accordance to camera scale in the future.
The reason for wanting to increase the near clipping plane is because the small value can cause very noticeable Z-fighting where there shouldn't be on older GPU's, usually Intel ones, that don't support 24-bits for the depth buffer.
2018-03-07 00:39:33 +00:00
Monster Iestyn
aba4adfabc shrunk buffer from 32 to 28 so that all of "Downloading "extremely...longname.wad"" can fit on screen at once. 2018-03-06 20:52:55 +00:00
Monster Iestyn
a66824d63f replace the 3 strncpys with a snprintf 2018-03-06 20:20:27 +00:00
Sryder
538d0de949 Merge branch 'master' of git@git.magicalgirl.moe:STJr/SRB2.git into openglquickfixes 2018-03-06 16:11:05 +00:00
Monster Iestyn
e3151f26dc rewrite download file screen code:
* fix screen to properly truncate the filename to just the real name only
* if the real name itself is too long, use ellipsis and paste in parts of the start and end of the actual name

note: I haven't actually tested if this works or compiles yet, I haven't the time right now
2018-03-05 22:24:03 +00:00
Monster Iestyn
1fe79a0d71 Fix movies not recording the "extension" to special stage intro fades 2018-03-05 19:08:53 +00:00
Monster Iestyn
ad1801e7f1 Merge branch 'master' into next 2018-03-04 19:10:01 +00:00
Monster Iestyn
16e60aada9 Merge branch 'linux-limbo' into 'master'
Linux limbo

See merge request STJr/SRB2!228
2018-03-04 14:08:21 -05:00
Monster Iestyn
4fdb82c942 Merge branch 'soc-sanitizing' into 'next'
SOC sanitizing

See merge request STJr/SRB2!227
2018-03-04 14:07:30 -05: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
Monster Iestyn
6e21059713 Eat unprintable keys too, since there's no reason to feed them to G_Responder anyway when the console is open 2018-02-23 20:08:02 +00:00
Monster Iestyn
ad8c51ab8f removing stupid dumb useless code fish 2018-02-21 22:45:51 +00:00
Monster Iestyn
fb3e78c020 Make CON_Responder eat Ctrl+key combos that have no effect, instead of passing the key on to G_Responder 2018-02-20 17:06:03 +00:00
Steel Titanium
36d1259ceb Removed some redundant checks 2018-02-17 00:37:17 -05:00
Steel Titanium
d921f26e54 Don't init the sound system on dedicated servers 2018-02-17 00:01:42 -05:00
LJSonik
d1e3275c78
Merge branch 'master' into minor-net-command-fixes 2018-02-14 21:07:10 +01:00
Louis-Antoine
bd2334dd93 Fix SV_StopServer not calling D_Clearticcmd correctly 2018-02-14 21:00:55 +01:00
Alam Ed Arias
99552c2ba2 Merge branch 'master' into next 2018-02-14 10:29:24 -05:00
Louis-Antoine
c7320f9f82 Don't allocate memory for net commands already executed, as it would cause them to be never freed 2018-02-14 15:09:52 +01:00
Louis-Antoine
490f5beb89 Do not prevent all net commands for the current tic from being executed because of an unkown net command ID 2018-02-13 17:53:18 +01:00
Monster Iestyn
c42c70cb34 Merge branch 'playdemo-custom-home-fix' into 'next'
Fix for "playdemo" not working with custom home paths

See merge request STJr/SRB2!221
2018-02-08 15:29:39 -05:00
Steel Titanium
0cc4b8d6db Smoother MD2 interpolation 2018-02-06 14:50:08 -05:00
toasterbabe
5adfdf9516 cv_playername already has a valid default value of "Sonic". We do NOT need to expose things like this. 2018-01-30 22:48:53 +00:00
toasterbabe
8090ea4ed0 Stop leaking names. 2018-01-30 21:25:28 +00:00
Monster Iestyn
0f99fdadd1 Merge branch 'next' into lua-archive-crash-hotfixes 2018-01-20 21:33:03 +00:00
Monster Iestyn
fa3998e942 Some fixes to prevent bad table key types causing Lua panic errors for joining players in netgames:
* ArchiveTables: print an error if invalid key, to alert script author potentially
* UnArchiveTables: if the key is found to be nil after reading key and value, print an error and don't set them in the table
2018-01-20 21:18:16 +00:00
Monster Iestyn
0ef7aff5c0 Prevent SV_SpawnPlayer from being able to freeze the game if gametic is 0. Additionally add a sanity check to prevent the loop going on more than necessary anyway
This commit fixes -playdemo and -timedemo params for command line, allowing them to actually work again
2018-01-16 15:21:49 +00:00
Monster Iestyn
f1b8e122a2 Fix missing semicolon 2018-01-12 20:05:09 +00:00
Monster Iestyn
602701d6dd G_DoPlayDemo: prepend srb2home to the demo name (if an external file) so that demos in custom home paths can be loaded 2018-01-11 16:55:42 +00:00
Monster Iestyn
40cb22a130 probably best if we did this instead actually 2018-01-08 14:29:47 +00:00
Monster Iestyn
3bc7073918 If NOT skewing FOF walls, make sure dc_texturemid reverts to using unsloped FOF topheight/bottomheight rather than actual left side top/bottom heights 2018-01-08 14:29:39 +00:00
Monster Iestyn
a7dc20e7d2 Upper Unpegged on an FOF's control linedef now enables skewing of walls with respect to slopes
Skewing direction is decided per in-level wall by the Lower Unpegged flag on in-level linedefs themselves, since they already decide the stuff for FOF wall pegging as it is. That is unless Transfer Line is involved which moves everything to the control sector linedefs instead...
2018-01-08 14:29:30 +00:00
Alam Ed Arias
82f2f2f2f9 SDL: disable check for noreturn 2018-01-04 14:29:29 -05:00
Alam Ed Arias
1ab5273400 Merge branch 'master' into next 2017-12-27 19:34:28 -05:00
Alam Ed Arias
f647989433 MSVC: set SubSystem on DLLs to Windows 2017-12-27 19:32:38 -05: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
Monster Iestyn
5400beb2e3 Merge branch 'master' into next 2017-12-27 21:51:11 +00:00
Monster Iestyn
afcdb5cd1e Merge branch 'restartaudio' into 'master'
Add command to restart the audio system

Closes #27

See merge request STJr/SRB2!214
2017-12-27 16:47:50 -05:00
Steel Titanium
875446295b Remove redundant !dedicated check 2017-12-27 16:36:57 -05:00
Alam Ed Arias
f9388eab1b Merge branch 'master' into next 2017-12-27 15:50:31 -05:00
Monster Iestyn
fa507ee939 Merge branch 'respawnspecials-mobjtype-hotfix' into 'next'
P_RespawnSpecials mobj type hotfix

See merge request STJr/SRB2!217
2017-12-27 15:47:44 -05:00
Monster Iestyn
a87eec89ff Merge branch 'airbob-fix-backport' into 'next'
Airbob fix backport

See merge request STJr/SRB2!219
2017-12-27 15:46:39 -05:00
Steel Titanium
3856165623 Indentation cleanup 2017-12-27 13:18:20 -05:00
Alam Ed Arias
f397b5fc3f Makefile: disable win_dbg for DirectDraw 2017-12-26 20:42:37 -05:00
Alam Ed Arias
a29203acd8 Disable win_dbg 2017-12-26 20:24:08 -05:00
Alam Ed Arias
e2b604fdfd TCP: remove BADSOCKET 2017-12-26 19:56:50 -05:00
Monster Iestyn
6886a29e99 Merge branch 'master' into next 2017-12-24 20:06:33 +00:00
toasterbabe
a1620b709e Fix airbob sectors fucking up when below 0 z-height. 2017-12-20 21:13:24 +00:00
toasterone
ff745531b0
Merge branch 'master' into addfile-netgame-fixes 2017-12-20 20:58:45 +00:00
Monster Iestyn
d576453b56 Command_Addfile: add "too many files" and already-loaded checks and respective error messages
No more shall the server be kicked from their own servers for re-adding a wad by accident!
2017-12-18 21:17:37 +00:00
LJSonik
36ce6579b7
Merge branch 'master' into download-freeze-fix 2017-12-18 21:39:16 +01:00
Louis-Antoine
47481804da Merge branch 'download-freeze-fix' of https://github.com/LJSonik/SRB2 into download-freeze-fix 2017-12-18 21:38:10 +01:00
Louis-Antoine
c8e9e779e7 Add a short comment to explain the newplayernum hack 2017-12-18 21:35:02 +01:00
Alam Ed Arias
57a7a3bed8 Merge branch 'master' into next 2017-12-17 22:22:57 -05:00
LJSonik
084a534f6a
Merge branch 'master' into download-freeze-fix 2017-12-17 22:48:13 +01:00
LJSonik
9c7ff6e0c3
Merge branch 'master' into resynch-fixes 2017-12-17 22:47:23 +01:00
Monster Iestyn
c7cd64583d Added a bunch of I_Asserts to lua_hooklib.c relating to mobj types just in case 2017-12-17 20:59:24 +00:00
Monster Iestyn
ec10367856 Bail out of P_RespawnSpecials if no mobjinfo entry has a doomednum that matches, and print a warning to the console.
This prevents a mobj of NUMMOBJTYPES from being created and potentially crashing the game. Really, this happens only if you start messing with the mapthings of respawning items like rings/weapons/etc in the first place via Lua.
2017-12-17 20:57:45 +00:00
Alam Ed Arias
baf227175b Merge branch 'master' into next 2017-12-16 18:16:15 -05:00
Alam Arias
703c5322d4
Merge pull request #212 from SteelTitanium/window_center_fix
Fix for window being offcenter
2017-12-16 18:15:00 -05:00
Alam Ed Arias
bd86f98822 Merge branch 'master' into next 2017-12-16 16:07:31 -05:00
Louis-Antoine
4ea5d2df01 Merge branch 'net-archive-fix' of https://github.com/LJSonik/SRB2 into net-archive-fix 2017-12-15 22:06:03 +01:00
Louis-Antoine
beb9b0f103 Return for both players and mobjs if they've got an empty table, instead of just mobjs 2017-12-15 22:02:34 +01:00
LJSonik
b994180927
Merge branch 'master' into net-archive-fix 2017-12-15 20:07:44 +01:00
Louis-Antoine
0b836a9841 Fix missing lua_pop in ArchiveExtVars 2017-12-15 16:31:27 +01:00
Monster Iestyn
ac3fef15eb Rob is now in charge of Mod IDs, change MODID comment in doomdef.h to reflect this 2017-12-13 19:07:02 +00:00
Louis-Antoine
4e89c03b0f Node and player isn't the same thing !#^&*%^:'\[[^!#^$4&@(é@*(&$*@#à$%@ 2017-12-12 23:08:18 +01:00
Louis-Antoine
16b8265c6e F stands for Fun. You want more Fun, don't you? 2017-12-12 22:48:08 +01:00
Steel Titanium
e61549d81f Opps, forgot to change this. 2017-11-08 14:50:27 -05:00
Steel Titanium
55c86f3e15 Successful attempt at restarting the music 2017-11-08 14:48:05 -05:00
Monster Iestyn
7cb0138293 Change version number to 2.1.20 2017-11-08 15:06:42 +00:00
Steel
dbbbc1cc06
Merge branch 'master' into window_center_fix 2017-11-08 00:32:23 -05:00
Steel Titanium
c1405137ec Extra tab space to make the compiler happy 2017-11-07 23:48:03 -05:00
Steel Titanium
4f8b91c770 Attempt to restart music 2017-11-07 16:26:45 -05:00
Louis-Antoine
67aba2648c Fix download freezes (well, most of them) 2017-11-03 22:58:47 +01:00
Monster Iestyn
d61105fcce Merge branch 'master' into next 2017-11-01 18:36:48 +00:00
Monster Iestyn
2b1fb67a5f DrawMD2i: change duration and tics to INT32, fix up any related code 2017-10-30 19:12:51 +00:00
Steel Titanium
97445f941a Add command to restart the audio system 2017-10-29 01:09:34 -04:00
Steel Titanium
799a819ee9 Merge remote-tracking branch 'upstream/master' into window_center_fix 2017-10-29 00:00:11 -04:00
Alam Ed Arias
6a639dd717 Merge branch 'master' into md2-interpolation-fix 2017-10-28 18:47:20 -04:00
Alam Ed Arias
d2f922a981 Merge branch 'master' into next 2017-10-28 18:46:10 -04:00
Alam Ed Arias
cf10b55be0 Win32: pragma hell 2017-10-28 18:39:42 -04:00
Alam Ed Arias
3ecc304332 Win32: just ignore format overflows 2017-10-28 18:33:47 -04:00
Alam Ed Arias
0250040a5b Win32: all fails of DD and try more to stop format-overflow errors 2017-10-28 18:24:07 -04:00
Alam Ed Arias
a4072260db Win32: try to fix up CD printf code 2017-10-28 18:13:59 -04:00
Alam Ed Arias
ce40c00b7a Build: do not error on FALLTHURs 2017-10-27 19:49:55 -04:00
Monster Iestyn
0cc8fbdb4e Don't use interpolation code if the frame lasts instantaneously or infinitely
Also removed the + 1 from newtime, since there was never really any need for it. It just offset the interpolation so it went like (1 -> 2] instead of [1 -> 2), so you never saw the base appearance for each frame except at the end of any frames interpolating to it

Changed DrawMD2Ex's duration/tics type to INT32 so -1 comparisons work, probably want to change the signs elsewhere too but this is fine for now
2017-10-24 20:45:55 +01:00
Alam Ed Arias
96c014deeb Merge branch 'master' into next 2017-10-07 12:44:28 -04:00
Alam Ed Arias
1b576bacf3 Build: support GCC 8 2017-09-30 23:07:47 -04:00
Alam Ed Arias
6fbdf37b18 Build: support building with clang 5.0 2017-09-30 08:54:17 -04:00
Monster Iestyn
ea372fae53 Merge branch 'master' into next 2017-09-29 17:15:57 +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
6c18d15b4a Merge branch 'master' into next 2017-09-28 16:55:04 -04:00
Alam Ed Arias
01602fa1f1 Build: fixup warnings in Debug builds 2017-09-28 16:54:26 -04:00
Alam Ed Arias
ec125628ab Merge branch 'master' into next 2017-09-28 10:16:35 -04:00
Alam Ed Arias
7f98c5c804 Build: do not error on fallthrough 2017-09-28 10:02:08 -04:00
Alam Ed Arias
2ccd397d11 Build: kill GCC 7's implicit-fallthrough warning 2017-09-28 09:39:47 -04:00
Alam Ed Arias
55f377ba3d Build: kill GCC 7's format-overflow warnings 2017-09-28 09:13:46 -04:00
Alam Ed Arias
bdba212b2a Makefile: add support for GCC 7.1 and 7.2 2017-09-28 09:13:01 -04:00
Alam Ed Arias
7e23014d5f Makefile: support GCC 6.4 2017-09-28 09:04:36 -04:00
Alam Ed Arias
62264901e5 Merge branch 'master' into next 2017-09-20 17:18:58 -04:00
Monster Iestyn
829328637d Merge branch 'netcode-fixes-the-sequel' into 'next'
Netcode fixes the sequel

See merge request !207
2017-09-20 15:00:09 -04:00
Monster Iestyn
7f875131ee If compiling for GP2X with SDL, make it use SDL 1.2 interface like the others
Doing this way because I have no idea if the GP2X port was SUPPOSED to use SDL or not in the first place
2017-09-18 18:14:05 +01: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
Sryder13
f3a605de6b I need to stop leaving things commented out that are going 2017-09-15 18:03:06 +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
Monster Iestyn
9e6ed121ba Comment out sdl12/SRB2CE/cehelp.h include in m_fixed.h
I think it was originally included for defining the "USEASM" macro, but USEASM isn't used by m_fixed.h/c code anymore
2017-09-14 21:29:38 +01:00
Monster Iestyn
900bab9b13 Fix includes for SDL 1.2-only ports' files 2017-09-14 21:15:38 +01:00
Monster Iestyn
5076861e0f Fixed sdl12/Makefile.cfg and sdl12/(port)/Makefile.cfg and related to refer to sdl12/ subfolders, not sdl/ subfolders 2017-09-14 21:09:35 +01:00
Monster Iestyn
c330907dba Added a SDL12=1 flag to all ports whose interface code still lives in the sdl12 folder (and is unsupported by SDL 2.0 officially anyway)
This basically causes the makefile to use the sdl12 folder instead of the main sdl folder
2017-09-14 21:03:20 +01:00
Steel Titanium
cf41a11770 Fix for window being offcenter 2017-09-11 16:36:30 -04:00
Monster Iestyn
8514251ad5 fix savegamename not prepending srb2home to itself for custom mods using their own gamedata files 2017-09-09 21:19:07 +01:00
Sryder13
db99537a6b Various Transparent Texture Fixes
Draw Textures and Flats that have holes in them like a solid polygon so they use the depth buffer and don't need to be sorted
Disable all linear filtering on textures and flats that have holes in them, the linear filtering introduces translucency into the textures where the edges are. Leaving them with either a black border, or causing pixels behind the slightly translucent areas to not be drawn. Doesn't apply to sprites and the HUD as they are always already sorted properly.
Make the Alpha Testing more strict on non-translucent blend modes. This makes it so any transparency below 0.5 is discarded instead. Would make anything that is blended and has holes in it look slightly better, only the HUD and MD2s where the texture has holes are effected currently.
Set TF_TRANSPARENT on flat texture flags when there are holes in the texture.
Minor fix to make sure MD2s always set the right blend mode
2017-09-09 00:44:13 +01:00
Sryder13
6877930ed9 Go through and draw MD2s and sprites at the same time so they are sorted from each other (mostly) correctly 2017-09-08 00:57:21 +01:00
Monster Iestyn
d565cc6a2c Merge branch 'master' into next 2017-09-04 20:16:06 +01:00
Monster Iestyn
50917d2ee2 P_FloorzAtPos: Check the normal floor's slope as well as FOF slopes, silly. 2017-08-30 19:21:23 +01:00
Monster Iestyn
9c4e2eeeef Merge branch 'next' into netcode-fixes-the-sequel 2017-08-23 19:17:25 +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
Yukita Mayako
720987367a Prevent cvar naming conflicts from pointing Lua to the wrong internal data. 2017-08-08 14:27:02 -05: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
821692fbf7 This was my fault, whoops 2017-07-24 17:53:18 +01:00
Monster Iestyn
6e5cffba5b Create static function P_IsObjectOnRealGround for each time thinker to use in place of P_IsObjectOnGroundIn, for non-FOF floor touch specials
This fixes solid FOFs activating floor touch specials for normal ground if using an "each time" trigger linedef
2017-07-17 20:56:55 +01:00
Monster Iestyn
7d4513f2f1 Don't be stupid with FF_BLOCKPLAYER/FF_BLOCKOTHERS flags please 2017-07-17 20:47:00 +01:00
Monster Iestyn
2350e94a9f Merge branch 'master' into next 2017-07-09 15:08:51 +01:00