Commit graph

1793 commits

Author SHA1 Message Date
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
Monster Iestyn 02c098574c ah, turns out the TIC n debugfile print is a remnant of when Doom Legacy printed the consistancy return value... which we'll do here now too, in that case 2017-06-10 17:09:08 +01:00
Monster Iestyn bae55a3af4 Don't display "x set to y" messages twice in the debugfile for consvars with CV_SHOWMODIFONETIME/CV_SHOWMODIF
(can't think offhand when those flags are actually used, but oh well)
2017-06-10 16:36:52 +01:00
Monster Iestyn b9828f78e8 Fix stupid lack of newline with this message 2017-06-09 23:22:27 +01:00
Monster Iestyn 12266e0f85 Set ack and ackreturn to 0 for local packets always
This won't really have any in-game effect, this is just so the debugfile doesn't display the ack values of the PREVIOUS sent/got packet
2017-06-09 23:15:41 +01:00
Monster Iestyn 1119ffab0f Merge branch 'master' into next 2017-06-09 22:34:20 +01:00
Monster Iestyn 997eb58c93 Fix invalid sfx numbers supplied to linedef type 414 crashing the game
Had to make P_MobjReadyToTrigger non-inline for this fix though, because the compiler was being stupid
2017-06-07 18:24:06 +01:00
Monster Iestyn c3c85bb4d2 Do not draw segs that belong to polyobjects, if you're drawing subsectors adjacent to them
Polyobject segs should ONLY be drawn if the polyobject itself is in the polylist of a subsector being rendered. That way you won't sometimes see polyobject walls through level boundaries, if you happen to be close enough to their pre-spawn locations outside the level (or in them, if you decided to go on a noclip journey).
2017-06-03 17:47:46 +01:00
Monster Iestyn 3658b22a7f wallVerts[].y is actually the map z coord, so use wallVerts[].z instead (which is actually the map y coord)
Don't worry I'm not going mad, this is actually how it's supposed to be
2017-06-03 14:46:03 +01:00
Monster Iestyn 2e42c9621c Eck, potted another node/player confusion for clients reciving PT_PING 2017-06-01 20:46:44 +01:00
Monster Iestyn fe15305df0 Merge the two NEWPING parts of NetUpdate into one block 2017-06-01 20:43:24 +01:00
Monster Iestyn 3d86e7135d Fix confusion between nodes and players in ping updating code and PT_PING packet sending code 2017-06-01 19:01:57 +01:00
Alam Ed Arias 6847a89bc2 OpenGL: check for 1.3+ or 2.0+, not just 1.3/2.X to 4.X 2017-05-29 23:04:03 -04:00
Alam Ed Arias 6be7693ecb OpenGL: Load the GLU and OpenGL 1.3 multitexturing functions during runtime 2017-05-29 22:52:51 -04:00
Monster Iestyn f96844b262 Fix screenshots taken in OpenGL with 1366x768 being messed up
This is based on GZDoom's own fix for the same issue, had to add support for glPixelStorei first though
2017-05-29 21:28:36 +01:00
Yukita Mayako 9f3fda37b0 Merge branch 'next' into hotfix_thinkers.iterate 2017-05-28 15:07:20 -05:00
Alam Ed Arias 2223283208 Merge branch 'next' 2017-05-28 11:37:16 -04:00
Monster Iestyn 0536e1d862 Merge branch 'update-to-v2.1.19' into 'master'
Update to v2.1.19

It should says what on the tin.

See merge request !190
2017-05-27 20:24:45 -04:00
Yukita Mayako e192c5be4d Merge branch 'next' into hotfix_thinkers.iterate 2017-05-27 15:45:13 -05:00
Monster Iestyn 806b101984 Merge branch 'master' into next 2017-05-27 20:10:48 +01:00
Monster Iestyn 7294e15ec6 Merge branch 'ignore-askinfoviams' into 'master'
Ignore askinfoviams

Turns out PT_ASKINFOVIAMS is an obsolete packet type anyway, the MS doesn't send it at all. So let's just ignore it in the netcode then. (the online page just acts like a client and sends PT_ASKINFO, and is not part of the MS itself)

See merge request !191
2017-05-27 15:09:14 -04:00
Yukita Mayako c44a935b04 Rewrote thinkers.iterate to handle invalid pointers elegantly. 2017-05-27 14:03:27 -05:00
Monster Iestyn d20efa5a74 Entirely ignore PT_ASKINFOVIAMS packets, since it turns out it's not even sent by the MS anyway 2017-05-27 19:06:46 +01:00
Alam Ed Arias 877e9510f7 Update version number to v2.1.19 2017-05-26 21:38:49 -04:00
Alam Ed Arias 86a76a9766 Makefile: disable GETTEXT by default 2017-05-26 18:10:53 -04:00
Alam Ed Arias 0e0769d11a Merge branch 'master' into disable_gettext 2017-05-26 18:06:57 -04:00
Monster Iestyn 11d57fba1b Merge branch 'master' into next 2017-05-26 23:02:06 +01:00
Monster Iestyn 3928b75b7a Merge branch 'netcode-hotfix' into 'master'
Netcode hotfix

Various netcode fixes are included in this branch. Most important of all of course is a fix for the Net_CloseConnection invalid node -32769 detected message thing, or rather what actually caused that to occur.

It's a merge to master since everything here should be compatible with 2.1.18: the only main changes are related to recieving packets (whether you're the host of a netgame or a client), which AFAIK shouldn't cause desyncs if you played with these fixes on a 2.1.18-hosted netgame (or hosted a netgame with the fixes and 2.1.18-using players join you).

See merge request !185
2017-05-26 18:00:43 -04:00
Monster Iestyn 0bb4e76e73 Merge branch 'too_many_wads_in_netgames' into 'next'
A bunch of bugfixes about too many wads in netgames

Fixes:
* Having bunch of music WADs added and then breaching the file limit(s) through joining a server with important files added. http://mb.srb2.org/showthread.php?t=42662
* Having a bunch of music WADs added, joining a server, and then breaching the file limit(s) when the server adds a file. https://mb.srb2.org/showthread.php?t=34664
* Informing the adminplayer whenever they try to send a request addfile net command but the file limit(s) are reached.

Done into next because I might as well be 100% safe, even though this could probably work on master as well.

See merge request !187
2017-05-26 17:58:53 -04:00
Monster Iestyn 1699d8a05f Merge branch 'missiles_n_slopes' into 'next'
Missiles 'n slopes

Fixed that thing where missiles like sliding up slopes for some reason.

This isn't a 1:1 fix compared to non-slopes - missiles still like stepping up over the borders of sloped sectors and will continue going as long as they never touch that ground again, whereas they can never step up on flat ones - but this fixes the most egregrious issue.

See merge request !181
2017-05-26 12:25:31 -04:00
toasterbabe db2f8a50ba Make sure that the number of files you're trying to add is properly considered! 2017-05-26 16:16:10 +01:00
Monster Iestyn 4d1af86431 Cleanup part 2, make ye old 2.1.18 warning a debugfile only message, and make the node == -1 have its own debugfile only message too
Also get rid of a stray newline
2017-05-26 15:30:26 +01:00
Monster Iestyn ab5835cd3b Remove cruft from my initial days of fumbling with this branch
textcmd[0] for PT_NODETIMEOUT can't hold anything < 0 anyway, and you'd probably have to really try to get >= MAXNETNODES
2017-05-26 15:26:00 +01:00
Monster Iestyn e09270276e Display node's IP when printing the "sending file to node n" message, if noticedownload is turned on 2017-05-26 14:38:59 +01:00
Monster Iestyn 569af9f4c1 I am dumb, SV_AbortSendFiles already does what SV_RemoveFileSendList was made to do 2017-05-26 14:19:18 +01:00
Monster Iestyn 7979f84e25 whoops 2017-05-26 13:58:34 +01:00
Monster Iestyn aecc97ded3 PT_REQUESTFILE checking:
* if you sent it to a client rather than the server, game over, your connection is closed
* if files that don't exist or are too large are requested are listed, game over, your connection is closed (they should have been checked on YOUR side beforehand, silly)
* if the server has downloading disabled anyway, ...yeah, you get the idea

Don't worry, I made sure Got_RequestFilePak cleaned up the full file request list for the node in case of failure
2017-05-26 13:39:54 +01:00
Monster Iestyn 437780d503 Add missing break for MT_EGGCAPSULE's switch case in P_SpawnMobj (sorry!) 2017-05-25 18:40:48 +01:00
Monster Iestyn a23e9bc32b Fix size_t printing 2017-05-25 18:10:20 +01:00
Monster Iestyn 58236af6f7 Tweak to D_MapChange: if you failed to start a server, DON'T send a map change command 2017-05-25 16:55:59 +01:00
toasterbabe 47e171250f * Prevent joining a server if you have too many files loaded to add the remainder.
* Made the check in Got_RequestAddfilecmd more comprehensive, since I might as well. Just something to tweak a little later in internal.
2017-05-25 16:06:39 +01:00
toasterbabe 5c302d7ffc Partial implementation of fix for Got_RequestAddfilecmd (the other half - the limitation on the size of the filesneeded section of the serverinfo packet - will be applied in internal.) 2017-05-25 15:34:21 +01:00
toasterbabe 2aa1215716 Fix a thing where the host adds a WAD and you have too many WADs loaded to add it. 2017-05-25 15:22:32 +01:00
Monster Iestyn c92aaa74a4 I think PT_CLIENT2MIS was meant to do this too, probably 2017-05-23 18:46:34 +01:00
Monster Iestyn 7147e0fcaf Improve previous PT_TEXTCMD/PT_TEXTCMD2 check, add another one to ignore zero size textcmds! 2017-05-23 17:35:32 +01:00
Monster Iestyn 0b0b738a6f Don't allow non-servers to receive PT_RESYNCHGET 2017-05-23 16:34:56 +01:00
Monster Iestyn ff1cc07a1d Implemented toaster's suggestion to make a macro here 2017-05-23 16:29:09 +01:00
Monster Iestyn 9e3bdc5ee2 Prevent bad PT_TEXTCMD/PT_TEXTCMD2 textcmd[0] sizes? 2017-05-23 16:13:42 +01:00
Monster Iestyn fdfd6e1c0b Whoops don't do that for PT_REQUESTFILE 2017-05-22 22:20:08 +01:00
Monster Iestyn c70839334e Added a bunch of missing checks to prevent non-server players from sending other non-server players stuff 2017-05-22 22:17:51 +01:00
Monster Iestyn 3784d765e4 Remove extra whitespace I added 2017-05-22 20:47:38 +01:00
Monster Iestyn 28444c12dd Some more things I overlooked in this fix 2017-05-22 16:54:39 +01:00
Monster Iestyn 247ed56e17 Don't allow nonsense PT_ASKINFOVIAMS packets, nor any at all if offline 2017-05-22 16:44:50 +01:00
Monster Iestyn 6062223eb5 Merge branch 'master' into next 2017-05-22 13:23:46 +01:00
Monster Iestyn 5aeb4b5919 Revert "Loop through rebound packets until you found a good one or ran out of them"
On second thought, this was probably unnecessary anyway.

This reverts commit 1078a642df.
2017-05-20 21:29:05 +01:00
Monster Iestyn 284e539c66 Don't bail out in Y_StartIntermission in dedicated mode, this causes the game not to add on score bonuses for players from the server's view of things! 2017-05-19 16:31:23 +01:00
Monster Iestyn 1078a642df Loop through rebound packets until you found a good one or ran out of them 2017-05-19 11:52:50 +01:00
Monster Iestyn 5a1fc6098e Attempts to prevent stupid stuff from happening 2017-05-19 11:25:28 +01:00
Monster Iestyn 1781ccf4ca Merge branch 'master' into next 2017-05-17 16:16:50 +01:00
Monster Iestyn 17a06dd6c4 I_GetConsoleEvents: Split KEY_EVENT code into a function of its own, like with I_GetEvent's event types
One benefit of this is that event_t data need only be created if KEY_EVENT is found, since the other event types never do anything anyway
2017-05-15 18:39:59 +01:00
Monster Iestyn 87085f2475 SDLSetMode: merge wasfullscreen/windowed mode code into one block 2017-05-15 16:35:32 +01:00
Monster Iestyn a340f2c8ed Impl_CreateWindow: re-use "flags" for SDL_RENDERER_* flags, remove unnecessary curly braces 2017-05-15 16:19:28 +01:00
Monster Iestyn 4979ab6b8e Not really important or anything, but checking render_soft == rendermode rather than rendermode == render_soft always bugged me. And it's not consistent with the rest of the source code (or at least most of it) anyway. 2017-05-15 15:43:31 +01:00
Monster Iestyn d1bbd1261e VID_SetMode: SDLSetMode should use vid.width/vid.height, not windowedModes[modeNum].
If modenum was < 0 or >= MAXWINMODES, that would make windowedModes[modeNum] be out of bounds and possibly crash the game.
2017-05-15 15:36:51 +01:00
Monster Iestyn 093800cb06 I_FinishUpdate: OglSdlFinishUpdate should never run for render_soft, even if screens[0] somehow is NULL 2017-05-15 15:24:40 +01:00
Monster Iestyn f8482421e5 Don't need to use WADFILENUM/LUMPNUM in this function, since W_CheckNumForNamePwad returns just the lump number, not a combined WAD + lump number frankenstein's monster
This is just in case someone actually tries to dump in C_START/C_END and "add" colormaps using them, not that they would ever be used currently anyway.
2017-05-15 14:38:55 +01:00
Monster Iestyn 222807c6f6 Fix R_InitExtraColormaps reporting 6 or more colormaps every time you loaded the game, even though we haven't used C_START/C_END in more than a decade now
Note to self: W_ functions are awfully confusing with returning with LUMPERROR or INT16_MAX. Should sort out what's going on there if necessary
2017-05-15 14:29:31 +01:00
toasterbabe bdcd9125d2 Fixed that thing where missiles like sliding up slopes for some reason.
This isn't a 1:1 fix for non-slopes - they still like stepping up over the borders of sloped sectors - but this fixes the most egregrious issue.
2017-05-14 14:47:09 +01:00
Monster Iestyn b8ffeeb59f Update version number to v2.1.18
Don't worry, I remembered to update MODVERSION as well this time :)
2017-05-12 16:06:27 +01:00
Monster Iestyn 55fd0aba91 Merge branch 'master' into next 2017-05-11 20:47:12 +01:00
Monster Iestyn 96c63bf95b Whoops forgot this bit too 2017-05-09 20:17:46 +01:00
Monster Iestyn 8582406dd2 prevent invalid nodes from crashing Net_CloseConnection, print a warning and return instead 2017-05-09 15:13:19 -04:00
Monster Iestyn 41130465b4 Use NF instead of normal P_SetMobjState to prevent endless looping 2017-05-07 22:21:17 +01:00
Monster Iestyn 18fa73ba05 Merge branch 'admin-ban-fix' into 'next'
Admin ban fix

Okay, THIS time admin bans should work properly. Turns out the relevant code for banning did not properly consider the case of admins doing the banning, at least until now.

Unlike my last attempt at fixing admin bans (!165), this one would require both host and admin to have the fix exe assuming everyone else would be using 2.1.17, so I'm merging to next instead of master.

See merge request !167
2017-04-30 21:05:07 -04:00
Monster Iestyn 0dabef730d Merge branch 'allowteamchange-fix' into 'next'
Allowteamchange fix

Fixes "allowteamchange no" to actually work properly and NOT desync you from the game in most cases. You can now switch TO spectator freely (as intended it turns out), and switching FROM spectator is prohibited. The "Enter Game" menu option in Match/Tag now displays one of those blue window notices just like with "Change Teams" in CTF/Team Match if you cannot change teams right now. Everything else works as you'd expect.

The de-sync issue was originally reported here https://mb.srb2.org/showthread.php?p=789965#85

See merge request !168
2017-04-30 21:04:07 -04:00
Monster Iestyn 058ad4df88 Merge branch 'master' into next 2017-04-26 16:15:40 +01:00
Monster Iestyn c16ae57f91 Merge branch 'addfile-directories-fix' into 'next'
Addfile directories fix

This is a fix for this bug: https://mb.srb2.org/showthread.php?t=42279

See merge request !166
2017-04-24 20:46:38 -04:00
Monster Iestyn e03577d957 Merge branch 'falling-rocks-fix' into 'next'
Falling rocks fix

This fixes the rock spawners' rocks not being removed if they rolled down to the ground from a slope rather than bouncing (see https://mb.srb2.org/showthread.php?t=41963)

See merge request !162
2017-04-24 20:41:32 -04:00
Monster Iestyn 7f7c7c58ab Use less-than, not less-than-or-equals, since deststop is off-screen 2017-04-24 17:41:50 +01:00
Inuyasha 5e4f960f3a fixed drawfill to be more consistent w/ other functions
doesn't draw off of the sides, and doesn't ignore snapping or widths for reasons that don't make sense
(for instance: the green bar in MI's test script showed *above* the blue one in non-green resolutions in 2.1.17)
2017-04-12 15:34:13 -07:00
Monster Iestyn 81c3d6820e Merge branch 'commandline_skinselect' into 'next'
Command-line skin selecting fix

Fixed http://mb.srb2.org/showthread.php?t=42312.

Also, fixed being able to change your skin colour during credits/cutscenes in singleplayer.

See merge request !158
2017-04-04 16:49:55 -04:00
Alam Ed Arias 4fa188cf01 build: fix 64-bit builds 2017-04-01 17:22:24 -04:00
Monster Iestyn bf29b5c6d1 Print warning message in console if line->next is NULL 2017-04-01 20:16:48 +01:00
Alam Ed Arias 8f25dc62cc Merge branch 'master' into next 2017-03-30 08:11:26 -04:00
Alam Ed Arias 4c992845e7 Merge branch 'next' into allowteamchange-fix 2017-03-29 17:03:03 -04:00
Alam Ed Arias 70677817bb Merge branch 'next' into admin-ban-fix 2017-03-29 17:01:47 -04:00
Alam Ed Arias 114d295f89 Merge branch 'next' into addfile-directories-fix 2017-03-29 17:00:42 -04:00
Alam Ed Arias 0ffc0f1974 Merge branch 'next' into falling-rocks-fix 2017-03-29 16:59:30 -04:00
Alam Ed Arias 74db3b51ac Merge branch 'next' into commandline_skinselect 2017-03-29 16:58:19 -04:00
Alam Ed Arias 108b0c2732 Merge branch 'master' into disable_gettext 2017-03-29 16:56:44 -04:00
Alam Ed Arias 5feccaad2a Merge branch 'next' into touching_fixes 2017-03-29 16:55:06 -04:00
Monster Iestyn 48777e60ed check i not add, silly 2017-03-29 21:27:44 +01:00
Alam Ed Arias 8f4f8c6e77 Merge branch 'master' into next 2017-03-24 00:14:14 -04:00
Alam Ed Arias 59d91e0793 build: r_bsp.c:213:23: warning: inlining failed in call to 'R_DoorClosed': call is unlikely and code size would grow [-Winline] 2017-03-23 23:13:31 -04:00
Alam Arias 7d25ab361a Merge branch 'next' into allowteamchange-fix 2017-03-12 21:50:31 -04:00
Alam Ed Arias cb98c2d972 Merge branch 'master' into next 2017-03-12 21:34:19 -04:00
Alam Ed Arias 4e8972cd24 build: no warning or error about logical-ip or tautological-compare 2017-03-12 21:16:37 -04:00
Alam Ed Arias 9cac1e9e62 build: fixup WFALGS/WFLAGS mistake 2017-03-12 21:09:06 -04:00
Alam Ed Arias 81fe46213d build: do not overwrite the -Wno-error switchs 2017-03-12 20:51:45 -04:00
Alam Ed Arias 42ecca817d build: disable tautological-compare and logical-op 2017-03-12 20:43:35 -04:00
Alam Ed Arias b01d5da60f build: fixup GCC54 endif 2017-03-12 20:23:30 -04:00
Alam Ed Arias e0b2a4a779 build: add suport for GCC 6.3 2017-03-12 17:45:18 -04:00
Alam Ed Arias 2823c7bffb build: fixup warnings from GCC 6.2.1 2017-03-12 17:23:56 -04:00
Monster Iestyn 0f014fe20a Merge branch 'master' into next 2017-03-04 17:16:33 +00:00
Monster Iestyn b0f4bbb44b Played TD's Stormy Streets enough to know precipitation sprites didn't get an overflow test of their own
(various large invisible blocks used in the level cause rain to make splashes high above the main level, high enough to make ghostly rain splash sprite artifacts appear sometimes in nearby areas)
2017-03-02 19:37:21 +00:00
Monster Iestyn c43b41815f Make "Enter Game" option use the big blue window notice if you cannot switch teams, instead of falling back on changeteam's own console notice 2017-03-02 14:28:52 +00:00
Monster Iestyn b837d5b23d Fix teamchange/teamchange2 to block changing FROM spectator rather than changing TO spectator
This way they're consistent with Got_Teamchange, which is the cause of the "illegal team change" desyncs
2017-03-02 14:25:46 +00:00
Monster Iestyn 6efb15c6e8 Fix Ban_Add usage for NONET 2017-02-20 21:36:05 +00:00
Monster Iestyn 7424df8180 Make sure I_Ban and Ban_Add are only used by the server
Also make sure the server actually uses Ban_Add if an admin banned someone
2017-02-20 19:58:29 +00:00
Monster Iestyn 84727f4205 Created W_OpenWadFile for opening WAD files with the path correction code.
This is used by Command_Addfile in the MD5 calculation code, so that it can search subfolders properly and allow addfile in netgames to treat them the same way as in SP
2017-02-16 21:55:17 +00:00
Monster Iestyn 8a421a05d9 admin bans with custom ban messages should now be recognised by the server properly 2017-02-10 20:31:58 +00:00
Monster Iestyn f9b41898a9 Don't allow skipping stats in record attack/nights attack 2017-02-05 22:04:29 +00:00
Monster Iestyn dc249c6cd5 D_ModifierKeyResponder now checks for ev_console as a "key down" event
console window uses ev_keyup too so don't worry about turning off
2017-02-04 23:26:37 +00:00
Monster Iestyn 9a2b7b2091 Better plan, use ?: for deciding between floorz/ceiling checks based on gravity 2017-02-03 20:13:16 +00:00
Monster Iestyn 659a62db88 Make sure rocks spawned by the rock spawners despawn when they're on the floor and not moving 2017-02-03 18:47:20 +00:00
Monster Iestyn 72bd3e28ed Fix sprtopscreen from getting integer overflows once and for all in R_DrawRepeatMaskedColumn
Fixes TD's terminal from freezing the game this time, oh boy
2017-01-31 22:10:31 +00:00
Monster Iestyn 3212ee0b0f Fix endless loop of R_DrawRepeatMaskedColumn if both sprtopscreen and sprbotscreen are CLAMPMAX (INT32_MAX)
This fixes the grid floors in TD's Lava Mountain freezing the game if they go off the bottom of the screen far enough (they have ACWRFL1A as the wall texture, which is a single patch texture with holes)
2017-01-30 21:08:13 +00:00
toasterbabe d2d88a919b * Allowing for changing skins on command line startup again.
* Fixing an inconsistency with being able to change skin colours when you shouldn't be able to, much like the previous skin change issue that was fixed.
2017-01-26 12:47:47 +00:00
Alam Ed Arias a29ced725d Merge branch 'master' into next 2017-01-16 16:41:38 -05:00
Alam Ed Arias 628d1c4dab DD: Mingw 3.4.5 build fix 2017-01-16 16:40:16 -05:00
toasterbabe 19cd010091 Fixed a stupid bug involving jumping at spikes on FOFs in reverse gravity caused by my own incompetence/assumptions. 2017-01-16 17:52:06 +00:00
Inuyasha 3169b538be Hey! If you change this, add 1 to the MODVERSION below!
Otherwise we can't force updates!
2017-01-15 16:34:30 -08:00
Monster Iestyn ba3f001a09 I dun goofed, THIS is why FuriousFox disappears like that 2017-01-15 22:24:38 +00:00
Monster Iestyn 4ac709141a Added LJSonic to credits, altered how my own name + nick is shown in credits 2017-01-15 19:23:25 +00:00
Monster Iestyn e59fb38802 Update version number 2017-01-15 18:49:33 +00:00
Monster Iestyn 691d368434 if this is what caused resynching to randomly turn some people spectators then welp 2017-01-15 18:36:38 +00:00
Monster Iestyn c0fb3fce73 Merge branch 'master' into next 2017-01-14 19:23:31 +00:00
Louis-Antoine 4a4f0ea7ee Merge branch 'netcode-shit' of https://github.com/LJSonik/SRB2 into netcode-shit 2017-01-14 19:26:31 +01:00
Louis-Antoine 8298ed3559 DEBUGMODE -> _DEBUG =) 2017-01-14 19:24:22 +01:00
Alam Arias 6611b01635 Merge branch 'master' into netcode-shit 2017-01-13 20:48:42 -05:00
Louis-Antoine b8b720088e Oh? a cookie on the ground
*takes the cookie*
2017-01-13 23:10:00 +01:00
Louis-Antoine 490778cdab Why does DD exist 2017-01-13 22:34:16 +01:00
Louis-Antoine da06b9417a Merge branch 'netcode-shit' of https://github.com/LJSonik/SRB2 into netcode-shit 2017-01-13 22:02:06 +01:00
Louis-Antoine 7cca60a027 Merge branch 'master' into netcode-shit 2017-01-13 21:48:24 +01:00
Louis-Antoine 005485cf9c Fixed a warning 2017-01-13 21:30:30 +01:00
Louis-Antoine e9cb6d0331 -Added a timeout for game state downloading to prevent definitive join freezes in some cases. The timeout has a minimum value of "jointimeout" and gets higher as the game state grows in size
-If the server tries to kick a joiner who is downloading the game state, they will get a timeout instead, because a regular kick would only happen once the game state has been downloaded
-Added a timeout for player ticcmd packets, again to prevent freezes to happen in some cases
-File/game state downloading is now faster, the speed is controlled by the "downloadspeed" cvar, in packets per tic
-The reason is now properly shown when the server refuses connection
-Changed the default values of "nettimeout" to 10 seconds (previously 15) and "maxsend" to 4 MB (previously 1)
-Added a "noticedownload" cvar that displays a message in the server console when someone is downloading a file
2017-01-13 20:53:52 +01:00
Alam Ed Arias e7a1c81355 Merge branch 'cmake_nasm' into 'master'
CMake: Fix nasm Linux builds

When compiling under Linux with CMake and nasm/yasm enabled, the operation would fail during linking with undefined symbols related to the tmap files.
This commit adds support for passing flags to the assembler and passes ```-DLINUX``` in order to compile.

After this change, binaries are successfully compiled with either nasm or yasm on Linux systems.
Tested on Ubuntu.

See merge request !153
2017-01-12 17:21:05 -05:00
Alam Arias 456f5cf6e8 Merge branch 'next' into patch-1 2017-01-11 15:50:54 -05:00
Tasos Sahanidis 5216da13f0 Don't check if SRB2_ASM_FLAGS is defined and add docstring for the assembler 2017-01-11 21:52:14 +02:00
Monster Iestyn e727fea427 Merge branch 'master' into next 2017-01-11 19:40:51 +00:00
Monster Iestyn b1168b1728 Merge branch 'CMake-inline_ASM' into 'master'
CMake: split inline ASM code from vid_copy.s code

See merge request !151
2017-01-11 11:37:21 -05:00
frozenLake d865877ca2 Merge branch 'next' into patch-1 2017-01-11 10:49:37 -05:00
Tasos Sahanidis 0f52606953 Pass -DLINUX to n/yasm 2017-01-11 03:16:48 +02:00
frozenLake e3b94c04fd Added transmaps to non modifying lump list. 2017-01-08 18:13:46 -06:00
Alam Ed Arias 55925cabe8 win32: fixup printf warnings 2017-01-08 14:06:30 -05:00
Alam Ed Arias fca88d2e98 Mingw: disable GetText support 2017-01-08 13:54:52 -05:00
Monster Iestyn 87dc33a78d Merge branch 'master' into next 2017-01-08 15:59:34 +00:00
Inuyasha cdc9bf3a60 Merge branch 'cb_update' into 'master'
Update Code::Block project

See merge request !145
2017-01-08 10:32:22 -05:00
Monster Iestyn 22020dda03 Merge branch 'savegame-hotfixes' into 'next'
Savegame hotfixes

Yes, this another netgame related fix! Named this "savegame hotfixes" rather than "ERCZ hotfix" or the like in advance of the fact we probably need a general branch for other $$$.sav fixes?

Anyway, fixes included in by this branch:
* ERCZ's lava falls now act as expected rather than being stuck in place for the map's duration, fixing all other known desynchronisation issues known in the map for the time being (yay)
* Changing sector tags in a map no longer causes joiners to netgames to have their SRB2 application stop responding etc
* Player names should no longer turn red in the console in gametypes outside of CTF/Team Match if a resynch occurs (not $$$.sav related, but it's related to netplay so I lumped it in anyway)

See merge request !150
2017-01-07 18:32:07 -05:00
Monster Iestyn ad30c41179 Fix egg guard shields being endlessly killed by lasers. Simply make sure they have health first before killing them! 2017-01-07 18:02:55 +00:00
Monster Iestyn 45fdfd9f37 Merge branch 'eggscalibur_fixes' into 'next'
One Eggscalibur fix

Use mobj->watertop instead of mobj->spawnpoint->z. CEZ3 is far from fixed in multiplayer, but this is still one less thing to worry about.

See merge request !148
2017-01-07 10:47:02 -05:00
Monster Iestyn cd0ec0881d Merge branch 'plane-fixes' into 'next'
Software plane rendering fixes/cleanup

This is mostly cleanup, with the exception that polyobject planes should now behave somewhat better than they do in 2.1 currently (translucent polyobj planes should now always be actually translucent regardless of where you view them from, for instance). I can't claim I've fixed their rendering once and for all though, there may still be bugs for all I know...

See merge request !136
2017-01-06 21:19:09 -05:00
Monster Iestyn c601a409e1 Merge branch 'texture-fixes' into 'next'
Some texture-related fixes

Bugs fixed in this branch:
* upper/lower/middle textures with non-existent texture ids being capable of crashing the game. For instance, RVZ1 has colormap codes on non-colormap linedefs, which causes them to wind up with invalid texture ids because of how the game tries to interpret lower/upper textures with "#" followed by characters on normal linedefs. Fortunately these "textures" are normally not visible anyway (since they're all in control sectors) unless they are swapped with in-level textures by some crazy Lua script of some sort...
* animated single-patch textures with holes displaying garbage on first viewing (see this thread: https://mb.srb2.org/showthread.php?t=42195)
* the heights of the lighting (shadows or colormapping) from water/translucent/shadowcasting/etc FOFs become messed up when displayed on repeated midtextures.

See merge request !144
2017-01-06 21:15:22 -05:00
Alam Ed Arias 0b572b6eee CMake: split inline AMS code from vid_copy.s code 2017-01-06 15:48:19 -05:00
Monster Iestyn 5e12f3497a Merge branch 'flat-changing-hotfix' into 'next'
Flat changing hotfix

This should fix how Lua scripts that change flats in levels, particularly to flats that don't already exist in the level, cause SRB2 to crash for anyone who joins a netgame afterwards. (I'm not sure if it's a consistent thing or not though)

Probably needs a good test to verify the issue is completely fixed before being merged in. Maybe there are other minor things I didn't account for in this fix? I don't know!

See merge request !141
2017-01-05 19:46:44 -05:00
Monster Iestyn f2a58a74ef Stupid me 2017-01-03 22:48:06 +00:00
Monster Iestyn 4d8ca41e65 Fix player colors mysteriously turning red if a resynch occurs outside of CTF/Team Match. Not technically a $$$.sav fix, but still netplay related of course
At least, I assume this is how it's happening for some, I haven't been able to get the full info since WHERE IS EVERYBODY?
2017-01-03 22:43:46 +00:00
Monster Iestyn b768c4b961 Sync sector tags and tag list variables properly
Dunno who thought it was a good idea to lump tag, nexttag and firsttag together in $$$.sav, but that meant changing sector tags caused SRB2 to stop responding since it lead to the tag lists being broken
2017-01-03 20:48:39 +00:00
Monster Iestyn a0d095e707 Fix sector floordata/ceilingdata/lightingdata pointers not being NULL when they should be
This fixes ERCZ's lava falls not moving after joining a netgame at that stage. Possibly explains other various floor/ceiling related netgame quirks that haven't been noticed until now, maybe even in multiplayer levels.
2017-01-03 18:47:46 +00:00
Monster Iestyn be21588761 Merge branch 'master' into next 2017-01-03 16:06:50 +00:00
Monster Iestyn 5400707aa7 Merge branch 'remove-secplanes' into 'master'
Remove secplanes

This is just removing SSNTails's old port of ZDoom's secplane code and math, from back when he attempted slopes himself. The slopes we've had since 2.1.15 however do not need these, so we can pretty much toss the code for them out now (nothing uses them anyway).

See merge request !149
2017-01-03 11:05:13 -05:00
Logan-A eb8f608fd7 Merge branch 'master' into netcode-shit 2017-01-02 15:18:28 -05:00
Monster Iestyn d5803160dd Remove all traces of SSN's old port of ZDoom's secplanes for slopes, since our slopes do not need them 2017-01-02 19:12:09 +00:00
toasterbabe a4fe3580e2 Forgot to commit this compiling fix. 2017-01-02 19:07:20 +00:00
toasterbabe eb22f347f3 Made Eggscalibur use mobj->watertop instead of mobj->spawnpoint->z because that's not netgame-safe.
CEZ3 STILL has some ridiculous inconsistencies, but this is one less to worry about.
2017-01-02 19:04:33 +00:00
Louis-Antoine 04747ff79e Fixed a memory leak on client side 2017-01-02 20:02:49 +01:00
Monster Iestyn c1392cee25 Merge branch 'master' into next 2017-01-02 18:09:23 +00:00
Monster Iestyn 6d07c6baab Merge branch 'fixedrounding-hotfix' into 'next'
FixedRounding hotfix

Fix the FixedFloor, FixedTrunc, FixedCeil, and FixedRound functions.

See merge request !142
2017-01-02 13:05:30 -05:00
toasterbabe ebd436bf2f Merge branch 'next' of http://git.magicalgirl.moe/STJr/SRB2.git into touching_fixes 2017-01-02 17:58:47 +00:00
Louis-Antoine 478da43660 Cooked another cookie 2017-01-01 23:52:27 +01:00
Louis-Antoine 4373afcdb2 Cooked a cookie 2017-01-01 23:27:06 +01:00
Louis-Antoine b347b818e7 -Fixed broken net commands, thus fixing (or at least greatly improving) chat/commands/joins/leaves and possibly other annoying bugs
-Updated packet name list so the debug file no longer shows garbage packet names
-Replaced byte values with actual net command names in the debug file. Only the first net command in a packet will be shown though
-Added a MOBJCONSISTANCY define that makes the game takes all revelant mobjs to be counted in the synch seed
-Added a PACKETDROP define that adds two console commands "drop" and "droprate" to simulate bad internet by dropping packets
-Added/changed comments here in there in the netcode
-Fixed a minor error that would ignore one of the urgent ack slots
-Added a space between the map name and "zone" for the messages shown in a joiner's console
2017-01-01 23:07:34 +01:00
Monster Iestyn 0e6e52eabe Start mobjnums at 1 instead of 0, so that the first found mobj can be relinked as a target etc to other mobjs properly
This fixes Brak's electric barrier disappearing for joiners to ERZC. There seems to be some issues with the lava falls there too I've found, but the electric barrier actually stays around now at least
2017-01-01 17:03:13 +00:00
Monster Iestyn 6ca806a8c0 Fix FOF lighting being stupid with repeating midtextures. 2016-12-31 20:44:16 +00:00
Louis-Antoine d4f153d3ca Random changes in the netcode lol 2016-12-31 19:26:33 +01:00
Inuyasha 8fb9a3b3d5 Ignore modifier keys in chat
(Fixes LSHIFT typing D repeatedly into chat)
2016-12-26 21:32:35 -08:00
Inuyasha f4b0591174 Merge branch 'master' of http://git.magicalgirl.moe/STJr/SRB2 into pub_next 2016-12-22 17:44:28 -08:00
Alam Ed Arias 97f87827f4 hardware: init undef vars in HWR_SortVisSprites 2016-12-22 19:42:00 -05:00
Alam Ed Arias fca398ae4d Win32 Debugger: no need for Win32 interface code for SDL 2016-12-22 19:40:02 -05:00
Alam Ed Arias 1c16a4e670 m_aatree: add newline 2016-12-22 19:39:37 -05:00
Alam Ed Arias fc9a86f6d2 Mingw: fixup unsigned/signed compare 2016-12-22 19:39:14 -05:00
Alam Arias fe3916a60d Merge pull request #147 from LJSonik/hook-optimisation
Hook optimisation
2016-12-22 18:26:49 -05:00
Monster Iestyn d782638da8 Merge branch 'zlib_pkgconfig' into 'master'
Zlib pkgconfig

Linux build to include libgme by default

See merge request !116
2016-12-18 21:44:19 -05:00
Monster Iestyn 8e56582728 Created R_CheckTextureCache to make sure midtexture/FOF walls cache their textures before choosing colfunc_2s, for software mode 2016-12-17 19:59:54 +00:00
Monster Iestyn a9cfd12e04 Created R_GetTextureNum to make sure top/bottom/midtexture texture ids are always valid in rendering code for both software and OpenGL (and also for the Solid Midtexture effect physics code) 2016-12-16 21:38:53 +00:00
Louis-Antoine db20bfb3c3 Generic mobj hooks are now run before mobjtype-specific mobj hooks, and player/linedef executor hooks now have their own lists 2016-12-15 21:05:54 +01:00
Monster Iestyn aa82042cf8 Merge branch 'credit_switch' into 'next'
No switching skins mid-credits/custom cutscene in SP

Does what it says on the tin.

See merge request !129
2016-12-13 09:33:53 -05:00
Monster Iestyn 1ec97c242a Merge branch 'smooth_ropes' into 'next'
Smoother ropes and zoom tubes

Makes rope hangs and zoom tubes suck less. Specifically, they handle corners (and vertical height changes, ala sloped rope hangs) a LOT nicer. Ported from internal.

See merge request !139
2016-12-12 14:18:36 -05:00
Sryder 93901847d3 Fix the Fixed Rounding functions 2016-12-12 00:06:48 +00:00
Monster Iestyn ab423f99c6 Optimising retrieval of sector_floorpic/ceilingpic
As LJSonic has pointed out, there's no need for a for loop in either case; just use sector->floorpic/ceilingpic as a levelflats index directly

(Besides, if that was to stop any out-of-bounds indexes being used, that's hardly the way to do it anyway)
2016-12-09 21:18:06 +00:00
Monster Iestyn d294c9d15c P_NetUnArchiveWorld now uses P_AddLevelFlatRuntime instead of P_AddLevelFlat.
Also created P_CheckLevelFlat to just return the flat # from a name, since that's all P_NetArchiveWorld really needed from P_AddLevelFlat anyway
2016-12-08 21:45:25 +00:00
Alam Ed Arias 5e74318fb2 Merge branch 'master' into next 2016-12-06 17:29:43 -05:00
toasterbabe 77399b8fb9 * Disabled #define SECTORSPECIALSAFTERTHINK. This did not need to be done in next, since it could have subtle consequences which we'd rather not deal with in the hyperextended patch cycle as-is.
* Removed the adding of SF_TRIGGERSPECIAL_TOUCH for sectors with slopes in them. Too many undesired consequences, I'll handle them another way.
2016-12-06 21:49:59 +00:00
toasterbabe 3c8f5b4629 Merge branch 'next' of http://git.magicalgirl.moe/STJr/SRB2.git into touching_fixes 2016-12-06 21:28:33 +00:00
Monster Iestyn 7c07f39019 Make sure flipped things placed directly on ceiling get MFE_ONGROUND
This fixes ceiling springs apparently flying down with you in various scenarios
2016-12-05 22:07:16 +00:00
toasterbabe 02d78b355b Smoother ropes and zoom tubes ported from internal. 2016-12-01 14:33:44 +00:00
toasterbabe a901f88d24 Merge branch 'next' of http://git.magicalgirl.moe/STJr/SRB2.git into touching_fixes 2016-12-01 14:14:20 +00:00
Monster Iestyn ae3e11369e Revert "(Messiness warning) attempt to start using SDL_SetRelativeMouseMode instead of the old hacks of making the mouse do movement without leaving the window and be hidden"
This reverts commit 347b531881.

(Too experimental, may end up adding new bugs; let's just keep it to clean up for now)
2016-11-30 17:21:28 +00:00
Monster Iestyn 347b531881 (Messiness warning) attempt to start using SDL_SetRelativeMouseMode instead of the old hacks of making the mouse do movement without leaving the window and be hidden
Seems to work so far though
2016-11-25 21:13:39 +00:00
Monster Iestyn 8bbbeff2a9 Make Impl_SDL_Scancode_To_Keycode look a bit neater
This way it's easier by eye to see from the list which SDL scancode maps to which SRB2 key code
2016-11-23 17:08:37 +00:00
Monster Iestyn 5cf4767aed Clearing away lots of disabled code (some of it would no longer work on SDL2 anyway) 2016-11-23 16:51:37 +00:00