Commit graph

1793 commits

Author SHA1 Message Date
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 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 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
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
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 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 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 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 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 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 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 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 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 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 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 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
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 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
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 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
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 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 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 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
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
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
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
Monster Iestyn 2ac566fa85 Fix whitespace goofup of mine 2017-07-09 15:08:17 +01:00
Monster Iestyn f0ffd691f4 Merge branch 'master' into next 2017-07-07 22:47:34 +01:00
Monster Iestyn fe3f4f4ed1 Merge branch 'pwease_no_kicky' into 'master'
Pwease no kicky

Don't kick Tails! Also, a movement for the WRITESINT8 to prevent modification to buf if the function bails early.

This can go into Master, right? It only matters for the host, and it's explicitly only having a major effect outside of netgames.

See merge request !201
2017-07-07 17:45:59 -04:00
Monster Iestyn 4752109233 Some more tweaks of my own:
*Add CONS_Printf messages for !netgame checks
*Arg count is checked first regardless of netgame status for both kick and ban, < 2 is checked instead of == 1 just in case these weren't called from console for some stupid reason?
*Moved Command_Kick's buffer vars to within the code that actually does kicking stuff
2017-07-07 22:40:00 +01:00
Monster Iestyn e8df99c632 They didn't use V_HUDTRANS before and they probably shouldn't, my fault here 2017-07-05 22:30:18 +01:00
Monster Iestyn 815d10e15d Display minutes in full, so 60:00 for instance displays as 60:00 and not 0:00
The normal HUD display while playing a level doesn't do this, only the tally screen does it for some reason
2017-07-05 19:25:11 +01:00
Monster Iestyn aca7a574f8 Copy+paste st_stuff.c functions and macros to accurately draw SCORE/TIME on the tally screen like they are when actually playing the level 2017-07-05 17:05:39 +01:00
toasterbabe 9a1e1180ff Also account for bans, pff. 2017-07-05 16:29:21 +01:00
toasterbabe 60e21381ab Don't kick Tails!
Also, a movement for the WRITESINT8 to prevent modification to buf if the function bails early.
2017-07-05 16:20:23 +01:00
Monster Iestyn 298c1af045 Merge branch 'lua-archive-value-fix' into 'next'
Lua archive value fix

This fixes some potential problems with archiving mobjinfo_t/state_t data via Lua in netgames (whether as custom mobj/player vars or by NetVars hook). Thanks to LJSonic for pointing this out to me.

See merge request !200
2017-07-02 20:23:29 -04:00
Monster Iestyn c751971d57 Fix integer type slipup in ArchiveValue for saving mobjinfo/state #s that LJSonic spotted
Apart from the fact that UnArchiveValue reads UINT16 for both anyway (which alone causes problems), but UINT8 isn't even enough to store the higher end of the object types list and definitely most of the states welp
2017-07-02 16:50:11 +01:00
toasterbabe 9797ae31a6 Fix the springs jumping!
The issue was that because both them and the player had MF_SOLID, the tmfloorz of the spring was getting set to above the player (or vicea versa with tmceilingz), forcing it upwards with them under certain circumstances.

Now, springs only acknowledge the solidity (for purpose of tmfloorz/tmceilingz) of objects they CAN'T launch.
2017-07-02 16:48:58 +01:00
Alam Ed Arias 1111282908 Merge branch 'master' into next 2017-06-22 19:52:42 -04:00
Monster Iestyn b37d09df5f Merge branch 'opengl-slope-FOF-lighting-fix' into 'master'
OpenGL slope FOF lighting fix

This fixes some issues with sloped FOFs that affect lighting in OpenGL (as in, those that cast a shadow or have a colormap). Particularly, they can do strange things to any wall textures adjacent to them, as we've noticed ourselves in levels for 2.2. =P

See merge request !194
2017-06-22 19:49:42 -04:00
Monster Iestyn 44f33e6732 Merge branch 'touching_fixes' into 'next'
Fixes with respect to sector special touching and slopes

Some important stuff.

* SF_TRIGGERSPECIAL_TOUCH now actually works. Previously, it abandoned the loop early if ANY bounding sector didn't have that sector flag, which it likely didn't - only checking one extra sector's worth of FOFs. Also, the teleport handling there is more robust, and actually bails out if you teleport, instead of just awkwardly continuing through the loop.
* SF_TRIGGERSPECIAL_TOUCH now works for each time thinkers, too.
* Fixed a bug with being able to go under lava because P_CheckSolidLava doesn't take slopes into account.
* Also, P_CanRunOnWater supports slopes now too.
* Quicksand supports slopes and reverse gravity now.
* Space Countdown supports slopes now.

Also, an experiment behind a #define which currently isn't turned on:

* UNDER A #define, "SECTORSPECIALSAFTERTHINK", WHICH IS CURRENTLY TURNED OFF, BUT I WILL WANT TO TURN ON IN INTERNAL: Moved sector touch handling to P_PlayerAfterThinker (from P_PlayerThinker before movement). Allows for being able to trigger moving slope sectors that are going down, most specifically lava (didn't matter in RVZS in 2.1 because you could clip through the sides and go underneath the lava, causing damage - a sloped testwad version of that prevented going underneath.) Also fixes one-frame standing on deathpits before you die. Basically means sector triggers effectively happen one tic earlier, since it's after movement.

See merge request !131
2017-06-22 17:30:57 -04:00
Monster Iestyn 6a0329857d Merge branch 'polyobject-seg-render-fix' into 'master'
Polyobject seg render fix

This fixes both Software and OpenGL renderers so that polyobject segs aren't drawn if the game is drawing the actual subsectors they're from (outside the main level, where the polyobject walls were pre-spawn). They should only appear as part of the polyobject itself in-level.

This means a few glitches with polyobjects are probably fixed: for instance in Software mode, polyobject walls sometimes appear through level boundaries (and make everything above/below vanish, turning into HOM or skybox), if the BSP rendering code happens to find one of the subsectors said segs came from outside the level. I don't think anything similar happens in OpenGL, though I'm sure some unwanted typecasting is happening as a result of attempting to draw the segs. (And it fixes a crash in 2.2 anyway.)

See merge request !195
2017-06-22 17:29:01 -04:00
Monster Iestyn abf92e965c Merge branch 'ping-fix' into 'next'
Ping-related code fix

Somehow, the part of the netcode for calculating the players' pings in a netgame frequently gets the concepts of nodes and players mixed up, which is probably not a good thing. This branch of course fixes those slipups.

I originally based this branch on master to be merged to it (since it only fixed issues on the host's side), but after finding another issue with clients receiving PT_PING from the server, I decided to make this a merge to next instead.

See merge request !193
2017-06-22 17:27:38 -04:00
Monster Iestyn 1efd2aa770 Merge branch 'ld414-invalid-sound-fix' into 'next'
Ld414 invalid sound fix

This fixes Linedef type 414 crashing the game if an invalid sound number was supplied to it (this can happen if you, say, scrambled THZ2's textures *cough*), whether or not the "Repeat Midtexture" flag is checked.

See merge request !196
2017-06-22 17:26:58 -04:00
Monster Iestyn da2f5fe0a2 Fix PlayerSpawn hook not being called if the player is respawned at a starpost 2017-06-20 16:18:51 +01:00
Monster Iestyn ba6d011d7b Scale should be fixed_t not UINT16!
This is probably a leftover from how scaling worked in v2.0 I take it
2017-06-17 17:22:45 +01:00
Monster Iestyn 318d5656b5 Keeping a total of thinkers saved/loaded and print the total in netplay devmode
Not a fix for anything, probably just useful for debugging
2017-06-12 17:55:15 +01:00