Commit graph

2071 commits

Author SHA1 Message Date
Monster Iestyn
63ba59341b Fix monitors (and other objects) on a floating, bobbing FOF being stuck slightly above said FOF after it has finished bobbing 2018-11-12 16:23:59 +00:00
MPC
eb4a72440a Render the skies correctly on splitscreen in OpenGL mode 2018-11-10 16:19:41 -03:00
Monster Iestyn
fced19d291 Merge branch 'master' into next 2018-11-10 19:05:33 +00:00
Monster Iestyn
c7e58b7cd5 Merge branch 'opengl-new-clipping-backport' into 'master'
OpenGL new clipping backport

See merge request STJr/SRB2!315
2018-11-10 13:57:16 -05:00
Monster Iestyn
46b58cba55 Merge branch 'alias-recursion-hotfix' into 'next'
Alias recursion hotfix

See merge request STJr/SRB2!314
2018-11-10 13:56:43 -05:00
Monster Iestyn
51df32dd3d Merge branch 'gcc-compiling-cleanup' into 'master'
Compiling cleanup and fixes

See merge request STJr/SRB2!311
2018-11-10 13:56:17 -05:00
MPC
ff642df1f2 Render the startup screen on OpenGL mode 2018-11-10 15:56:13 -03:00
Monster Iestyn
323c89dbaf fix using abs() on unsigned 2018-11-10 17:40:09 +00:00
Monster Iestyn
dd83652b71 Whoops, this broke my non-NEWCLIP test build 2018-11-10 16:10:25 +00:00
Monster Iestyn
8ba0f2a177 clipping code didn't seem so bad this time (at least compared to without), let's enable it now? 2018-11-10 16:09:52 +00:00
Monster Iestyn
c4569e61a8 Made some efforts to improve efficiency of new code, hard to tell if I've made it better or worse though honestly
R_IsEmptyLine is now a thing too btw
2018-11-10 16:09:21 +00:00
Monster Iestyn
1e98e3b4f2 More progress, NEWCLIP added to doomdef.h, sadly it actually all lags the game so I've disabled it for now
Other notes:
* on second thought I'll keep the hw_clip functions' gld prefixes rather than HWR, not like it matters either way
* despite the extra lag it does fix the issues with translucent walls and such when displayed at different vertical angles, such as with the GFZ1 waterfall
2018-11-10 16:08:56 +00:00
Monster Iestyn
a733a29f4c Starting work on porting hw_clip.c/h code, Makefiles and CMake can compile them at least
Other notes:
* Renamed all new functions to have HWR_ prefix instead of gld_, for consistency
* HWR_FrustrumSetup and HWR_SphereInFrustum are disabled and require HAVE_SPHEREFRUSTRUM. This is because 1) SRB2CB did not need the code, so presumably neither will we, and 2) there are some OpenGL API functions used there that due to our way of using OpenGL we don't use outside of r_opengl.c, which makes dealing with HWR_FrustrumSetup complicated in theory
* The new clipping functions are not added to OpenGL's "main" rendering code itself just yet, they're just available to use now once hw_clip.h is included
2018-11-10 16:08:26 +00:00
Monster Iestyn
31301660cd Merge branch 'master' into next 2018-11-10 14:27:27 +00:00
Monster Iestyn
925a56ad98 Merge branch 'opengl-improvements-backport' into 'master'
Opengl improvements backport

See merge request STJr/SRB2!304
2018-11-10 09:25:18 -05:00
Monster Iestyn
e01c7ae743 Merge branch 'copyright-info-update' into 'master'
Update copyright info

See merge request STJr/SRB2!309
2018-11-10 08:33:09 -05:00
Monster Iestyn
2da335a1c4 Place limit on the amount of alias recursion allowed, to prevent cycles or otherwise excessive recursion 2018-11-10 13:08:26 +00:00
Monster Iestyn
4b8232d777 Merge branch 'master' into next 2018-11-09 23:18:14 +00:00
Alam Arias
1c22c6a1f9
Merge pull request #320 from monster-psychic-cat/remote_view_fixes
Minor remote viewpoint bugfixes.
2018-11-09 16:09:20 -05:00
Monster Iestyn
b3befae143 Merge branch 'public-op-nightsbumper-fix' into 'next'
Objectplace: Fix NiGHTS bumper angle being reset when WRITETHINGS

See merge request STJr/SRB2!299
2018-11-09 12:11:11 -05:00
Monster Iestyn
17223aa520 Merge branch 'master' into next 2018-11-09 16:09:49 +00:00
Monster Iestyn
f974bb96ac Merge branch 'music-clean' into 'master'
Some code cleanup.

See merge request STJr/SRB2!298
2018-11-09 10:58:57 -05:00
Monster Iestyn
98fd9f8e42 WHY DID I FORGET THIS 2018-11-08 21:22:45 +00:00
Monster Iestyn
82c738ea4b Remove hasslope, per colette's warning about it potentially causing desyncs 2018-11-08 21:13:58 +00:00
Monster Iestyn
d8f3a20e65 Merge branch 'Playerquit_hook' into 'next'
"PlayerQuit" Lua Hook

See merge request STJr/SRB2!127
2018-11-08 15:53:35 -05:00
Monster Iestyn
a9cfd6a781 Merge branch 'lua-slopes' into 'next'
Lua support for slopes

See merge request STJr/SRB2!307
2018-11-08 15:52:44 -05:00
Monster Iestyn
91113cb79c Merge branch 'master' into next 2018-11-08 20:50:58 +00:00
Monster Iestyn
7cc5caf69c Merge branch 'winsock-error-handling-fixes' into 'master'
Winsock error handling fixes

See merge request STJr/SRB2!303
2018-11-08 15:49:35 -05:00
Monster Iestyn
f50f10ef30 d_main.c: remove the _MAX_PATH define, the file hasn't used it since v2.0 2018-11-08 20:09:00 +00:00
Monster Iestyn
fa80d61799 byteptr.h: include endian.h to help define WRITE/READ macros correctly according to endianness 2018-11-08 17:16:54 +00:00
Monster Iestyn
fd20bbb54e More doomtype.h cleaning up:
* Move the misc types in the file to bottom, so that ATTRPACK at least is usable for RGBA_t
* Include endian.h, so that UINT2RGBA can be defined correctly for big endian builds
* Add more comments to make clear the main sections of the file
2018-11-08 17:05:35 +00:00
Monster Iestyn
5c61c40551 Clean up doomtype.h a bit, add indenting and comments to make some preprocessor code more readable 2018-11-08 16:31:20 +00:00
Monster Iestyn
0bdbdd1b1e Remove FUNCMATH from functions with a void return value or args, or examine variables other than their args (which could be modified) 2018-11-08 16:26:55 +00:00
Monster Iestyn
c47f0045d6 ST_Ticker also should not have FUNCMATH, as it also has side effects 2018-11-07 21:45:27 +00:00
Monster Iestyn
b3e8a1ed88 HU_Start should not have FUNCMATH, it has side effects 2018-11-07 21:37:42 +00:00
Monster Iestyn
4a4e07e138 D_PostEvent_end is only used by Allegro (used by the DOS port) to help timers work, so check for PC_DOS in preprocessor code. Also remove FUNCMATH from said function. 2018-11-07 21:21:36 +00:00
Monster Iestyn
f66979ba1a P_NullPrecipThinker no longer should have FUNCMATH (though I'm not sure if it should have had it in the first place anyway) 2018-11-07 21:00:38 +00:00
GoldenTails
a3bc7ddfa0 Add Lua Ultimate Mode global variable so people can use it. 2018-11-06 18:09:45 -06:00
MPC
1cc8619c9e Minor remote viewpoint bugfixes. 2018-11-05 20:40:51 -02:00
Monster Iestyn
02b14959cc Merge branch 'master' into next 2018-11-03 12:29:04 +00:00
Monster Iestyn
924c3164b0 Merge branch 'soc-sanitising-the-sequel' into 'next'
SOC sanitising the sequel!

See merge request STJr/SRB2!308
2018-11-03 08:18:16 -04:00
Monster Iestyn
0f37411e2b Make sure handles of files opened by W_LoadWadFile are closed if we abort loading the files for whatever reason.
ESPECIALLY if the file is already loaded in SRB2, that's just silly.
2018-11-02 20:48:12 +00:00
Monster Iestyn
7b268d15b1 Merge branch 'lua-hudlib-addition' into 'next'
Lua: hud.enabled and v.getLocalTransFlag()

See merge request STJr/SRB2!306
2018-11-02 14:29:02 -04:00
Monster Iestyn
f37a573834 Merge branch 'master' into next 2018-11-02 11:02:35 +00:00
Monster Iestyn
ba5f5be3bb Merge branch 'patch-offsets-fix' into 'master'
Patch offsets fix

See merge request STJr/SRB2!305
2018-11-02 07:00:37 -04:00
Steel Titanium
5a0cfc10f4 Update copyright info on some files 2018-11-01 14:47:19 -04:00
Monster Iestyn
4dd5abf534 Merge branch 'master' into next 2018-10-31 23:10:57 +00:00
Monster Iestyn
c450a1aee2 Merge branch 'mi-minor-refactoring-backport' into 'master'
MI minor refactoring

See merge request STJr/SRB2!294
2018-10-31 16:49:30 -04:00
Monster Iestyn
61c1b12960 Merge branch 'multipatchtex-translucent-cyanpixel-fix-backport' into 'master'
Multi-patch texture support for transparency AND translucency

See merge request STJr/SRB2!293
2018-10-31 16:48:38 -04:00
Monster Iestyn
e9ea1b47d5 Fix the game crashing if you put params with no "=" for some reason in some of the SOC blocks, just stop going through the lines if that happens 2018-10-31 19:26:29 +00:00
Steel Titanium
0f9611df76 Merge remote-tracking branch 'upstream/master' into cmake-use-internal-libs 2018-10-30 21:06:06 -04:00
Steel Titanium
2f62a03f6c Fix up 64-bit gme 2018-10-30 20:50:36 -04:00
Latapostrophe
6841458546 got rid of the settop as well 2018-10-30 22:51:05 +01:00
Latapostrophe
799d8d2749 remove gL check 2018-10-30 22:29:28 +01:00
Latapostrophe
a0495142df Small hud library additions 2018-10-30 19:40:59 +01:00
Monster Iestyn
22e8dd1f9d now that V_FLIP's effects are always supported in V_DrawFixedPatch, there's no need for the "flip" variable anymore 2018-10-30 14:22:21 +00:00
Monster Iestyn
2fa0896fd0 Fix an error I made in HWR_DrawFixedPatch 2018-10-30 13:44:01 +00:00
LJSonik
b52158eb48
Merge branch 'master' into analog-flipcam-synch-fix 2018-10-29 19:52:08 +01:00
Monster Iestyn
b022ff02a5 add missing SHORTs in HWR_DrawPatch and HWR_DrawCroppedPatch as well 2018-10-29 13:34:54 +00:00
Monster Iestyn
f8fd8f8ec5 HWR_DrawFixedPatch: Add V_OFFSET support for V_FLIP in hardware code as well, also add missing SHORTs for gpatch fields 2018-10-29 13:29:16 +00:00
Monster Iestyn
df9c3ef3cd Make V_OFFSET no thing without V_NOSCALESTART, to remove any potential glitches with using it on its own 2018-10-29 12:36:09 +00:00
Monster Iestyn
834a5e6b35 V_DrawFixedPatch: Tinker with the left/top offsets code so that V_OFFSET can support V_FLIP 2018-10-29 12:06:22 +00:00
Louis-Antoine
3d0daf2202 Fix desynch when toggling analog mode or flipcam
Special thanks to Lat' for asking weird questions
2018-10-29 00:49:23 +01:00
Monster Iestyn
32077897b6 Removed all remaining traces of VID_X11 code in hw_drv.h and hw_data.h, the macro is no longer used by Linux etc versions of SRB2.
Unlike the rest of the commits in this branch (as of writing), I didn't make this commit between 1 and 2 years ago, I made it right now ;)
2018-10-27 19:58:51 +01:00
Monster Iestyn
aebcf3520b Remove pointless drawtextured variable and redundant fake planes checks (R_FakeFlat would already have made gr_frontsector/backsector something else if they were) 2018-10-27 19:32:55 +01:00
Monster Iestyn
3d88ee9d55 Added missing checks in HWR_AddLine from the software version, move v** vars to the top since R_PointToAngle calls use the same values anyway 2018-10-27 19:31:24 +01:00
Monster Iestyn
09eecd36b4 Hack to make sure even (extra)subsectors without planepolys have segs adjusted
this fixes a crash in (old) GFZ2 at the ramp as a result of creating pv1/pv2. This probably means before pv1/pv2 there could have been some silly typecasting from vertex_t to polyvertex_t to get fixed vertex coords and such...
2018-10-27 19:29:45 +01:00
Monster Iestyn
90cfa5ef16 Make new pv1/pv2 seg pointers, so AdjustSeg doesn't modify the v1/v2 pointers directly anymore
Yes I know they're void * in r_defs.h's seg_t definition, it's quicker than trying to figure out if including hardware/hw_glob.h is a good idea or not
2018-10-27 19:29:31 +01:00
Monster Iestyn
1cf2ce63c0 More optimising and otherwise fixing bizarre formatting in hw_trick.c 2018-10-27 18:58:05 +01:00
Monster Iestyn
2107aab666 Moved my added slope checks in hw_trick.c to isCeilingFloating/isFloorFloating
I also optimised those two functions while I was there (why keep a "floating" variable when setting it to false guarantees the functions return false?)
2018-10-27 18:57:28 +01:00
Monster Iestyn
787d5b598d gr_correcttricks fix: don't check if top/bottom textures are missing for sloped sectors, just ignore and cancel the hack
This fixes GFZ2's mysterious flying flats at the ramp to the big room
2018-10-27 18:56:38 +01:00
Monster Iestyn
67a2922558 Ensure file is closed whenever MD2 reading errors happen 2018-10-27 18:53:38 +01:00
Monster Iestyn
b150e842fc Add MD2_INDENT and MD2_VERSION so we can cleanly check that it's a valid MD2 from magic number/version 2018-10-27 18:53:18 +01:00
Monster Iestyn
29d8e34d03 Call V_DoPostProcessor only in software mode (it cancels itself in OGL anyway) 2018-10-27 18:52:34 +01:00
Monster Iestyn
9fb301ecb5 don't bother with inlining the function, on second thoughts 2018-10-27 16:47:56 +01:00
Monster Iestyn
bb3d850bbf static the buffer, forgot to do this earlier 2018-10-27 16:27:00 +01:00
Monster Iestyn
e4e76f83c3 Use temporary buffer with a max size of 255 bytes instead of having Microsoft's FormatMessageA alloc one for us. Also, provide a fallback message in case no message was available for some reason 2018-10-27 16:09:14 +01:00
Monster Iestyn
3b39a25ade Save the result of errno (aka WSAGetLastError() for WinSock) as soon as possible, to prevent anything in SOCK_GetNodeAddress resetting the value to 0 while trying to print the message for the error itself! 2018-10-27 15:49:04 +01:00
Monster Iestyn
ab38e6cebb Creating a quick get_WSAErrorStr function to act as a wrapper for FormatMessageA so we can string-ify Winsock errors properly
Untested!
2018-10-27 15:36:15 +01:00
Monster Iestyn
e95b54e64f missed this ESLOPE-needed area from a few commits ago apparently :V 2018-10-21 20:35:14 +01:00
Monster Iestyn
772004d3fd Fix editing slope xydirection with Lua 2018-10-21 18:25:13 +01:00
Monster Iestyn
3ec8743c1b Fix up the ability to edit slope zdelta and zangle with Lua (zangle is untested as of writing) 2018-10-21 17:32:53 +01:00
Monster Iestyn
e15ed742c1 add ESLOPE ifdef checks around all the Lua slope support code that was there before I was involved 2018-10-21 16:27:54 +01:00
Monster Iestyn
bd0c187e68 Merge branch 'next' into lua-slopes 2018-10-21 16:03:48 +01:00
Monster Iestyn
10f9403619 Merge branch 'master' into next 2018-10-21 15:39:30 +01:00
Monster Iestyn
87afae9cf5 Fix unarchiving of mapheader_t userdata Lua variables 2018-10-21 15:15:54 +01:00
Monster Iestyn
efff869e6e Add mobj.standingslope to Lua 2018-10-21 15:12:51 +01:00
Monster Iestyn
2ec4f2024f Added support for pslope_t userdata variables in Lua archive/unarchive code 2018-10-21 15:00:07 +01:00
Monster Iestyn
9296aaa28c zangle should be shifted down by ANGLETOFINESHIFT if we're to use FINETANGENT on it 2018-10-20 23:36:06 +01:00
Monster Iestyn
4edeeb6953 Add P_GetZAt to Lua 2018-10-20 21:08:59 +01:00
Monster Iestyn
61fa7026a1 add vector2 and vector3 userdata types to simplify getting a slope's o/d/normal 2018-10-20 19:00:37 +01:00
Monster Iestyn
7d4e27937d Merge branch 'next' into lua-slopes
# Conflicts:
#	src/lua_maplib.c
2018-10-20 18:31:06 +01:00
Monster Iestyn
d57c54f93b Merge branch 'master' into next 2018-10-20 14:13:13 +01:00
mazmazz
cc0d1db9d8 Merge remote-tracking branch 'steeltitanium/music-clean' into test-public-music-cleanup 2018-10-19 23:56:56 -04:00
mazmazz
a288b95458 Merge remote-tracking branch 'public-gitlab/master' into public-music-cleanup 2018-10-19 22:04:26 -04:00
Monster Iestyn
29b242a5bd Merge branch 'endgame-code-refactor-backport' into 'next'
Endgame code refactor

See merge request STJr/SRB2!297
2018-10-19 17:31:19 -04:00
Monster Iestyn
fe2af34ee5 Merge branch 'master' into next 2018-10-14 20:49:35 +01:00
Monster Iestyn
423403eab5 Merge branch 'sound-handle-fix' into 'master'
Handle fix for SDL Mixer

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

See merge request STJr/SRB2!276
2018-10-14 15:44:33 -04:00
Sryder
3886888b30 Fix missing commas and missed interface 2018-10-14 10:14:07 +01:00
Sryder
6184f91dd3 Add an int to I_PlaySound to tell an interface which channel number SRB2 is using.
I've voided this out on other sound interfaces than SDL Mixer ones because I'm both not sure whether they need it, and not sure how to make them work with it if they do.
2018-10-13 23:01:11 +01:00
Monster Iestyn
80cbad61c0 Do lightlist height stepping *after* the heights are used by the FOF rendering code, not before (yes, I caught that they remove a heightstep beforehand for FOFs, but that wasn't done for midtextures it seems?)
Additionally add some macros for repeated slope end assignments and overflow tests
2018-10-13 18:57:40 +01:00
Monster Iestyn
bedfed2f00 Move shared code here instead of duplicating it for both dc_numlights and non-dc_numlights rendering code
Also added a few comments, and include the out of range check in the "shared code" above
2018-10-13 15:37:11 +01:00
Steel Titanium
450b536147 Remove the condition in restartaudio command.
No longer needed as S_RegisterSoundStuff will return early if in
dedicated mode.
2018-10-11 20:11:37 -04:00
Steel Titanium
b3faed190b Move commands and console variable into s_sound.c 2018-10-11 16:29:43 -04:00
Monster Iestyn
feceaf6d30 Removed all code in Y_FollowIntermission that's already handled in G_AfterIntermission
Only real difference here is that CEcho messages will always be cleared when going to credits/evaluation, but that's hardly a loss tbh.
2018-10-11 21:25:15 +01:00
Monster Iestyn
2bb7df5f49 G_ExitLevel tweak: Use HU_ClearCEcho() instead of HU_DoCEcho(""), the latter causes an empty line to appear in log.txt 2018-10-11 21:25:04 +01:00
Monster Iestyn
31f3f8b8e7 Moved Y_EndGame from y_inter.c/h to g_game.c/h, renamed it to G_EndGame 2018-10-11 21:24:53 +01:00
Monster Iestyn
c1d5c711a9 Be gone ye old texture hack 2018-10-11 21:08:25 +01:00
Monster Iestyn
9c464742b7 Remove "playerdeadview" variable; it's not been used for its stated purpose for who knows how long now
Besides rankings popping up when you die just sounds weird anyway, maybe I'm just used to SRB2 not doing it I guess
2018-10-11 20:00:45 +01:00
Monster Iestyn
ef78c942f7 Remove unused ObjectPlace_OnChange prototype (from when Objectplace was a consvar, which it is not anymore) 2018-10-11 20:00:34 +01:00
Monster Iestyn
49c5a6f7e4 Remove unused "runcount" variable from p_local.h 2018-10-11 20:00:23 +01:00
Monster Iestyn
91b2f5e570 "t" is not needed to take out fencepost cases from viewangletox 2018-10-11 20:00:05 +01:00
Monster Iestyn
07dd527e7e Removed unused function prototypes in d_main.h
Also corrected what appears to be a typo in some comments above?
2018-10-11 19:59:47 +01:00
Monster Iestyn
61a29bed85 Remove unused sscount variable
(it's only set to 0 in software, and only ++'d in OpenGL, what kind of sense does that make?)
2018-10-11 19:59:26 +01:00
Monster Iestyn
a4419abfdc debugfile is only used by DEBUGFILE code, no need to declare/define it for anything else 2018-10-11 19:59:09 +01:00
Monster Iestyn
38ec0cc50a These convar externs aren't moving files, I'm just shifting them up to live with their relatives 2018-10-11 19:39:28 +01:00
Monster Iestyn
0ad0f8afc4 Move analog consvars to g_game.h 2018-10-11 19:39:11 +01:00
Monster Iestyn
933508db89 Moved screenshot/movie consvar externs to m_misc.h 2018-10-11 19:38:11 +01:00
Monster Iestyn
e2a4c59e21 cv_controlperkey probably belongs in g_input.h too 2018-10-11 19:37:48 +01:00
Monster Iestyn
4b7af892e1 Moved most of d_netcmd.h's 2P mouse consvar externs to the files with their 1P counterparts 2018-10-11 19:37:24 +01:00
Monster Iestyn
72ab305bf4 Change when and specifically what colormap[] is applied to in R_Draw2sMultiPatchTranslucentColumn_8 2018-10-11 17:05:23 +01:00
Monster Iestyn
b9b0a8110c Add R_Draw2sMultiPatchTranslucentColumn_8, for columns of multi-patch textures used as midtextures on two-sided linedefs with both transparency AND translucency
...that was a mouthful
2018-10-11 17:05:13 +01:00
Monster Iestyn
8196c59557 Merge branch 'master' into next 2018-10-09 22:55:55 +01:00
Monster Iestyn
c469fc242f Merge branch 'movechasecamera-crashfix' into 'next'
Fix for Chicmunk's weird camera related crash

See merge request STJr/SRB2!284
2018-10-09 15:20:06 -04:00
Sryder
497314fdc4 Tiny fix so that joystick2 being closed can let the JoystickSubSystem close before game close.
No memory leak here, just a very tiny thing I noticed.
2018-10-09 19:43:18 +01:00
toaster
1324e0bfcd * Fix a memory leak regarding implementation of SOC_ (improperly copypasted code from LUA_LoadLump!!)
* Optimise the repeated strlen usage into a single call, which is stored for later.
2018-10-08 18:50:17 +01:00
Monster Iestyn
12e0222929 Merge branch 'drwhoandthesleepingweather' into 'master'
Dr. Who And The Sleeping Weather

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

See merge request STJr/SRB2!290
2018-10-08 09:20:45 -04:00
Monster Iestyn
1115f41f8e Merge branch 'zlib-split' into 'master'
Makefile: Split zlib and libpng

See merge request STJr/SRB2!285
2018-10-08 07:20:27 -04:00
Steel Titanium
027e6e8e3c Change win_snd.c also 2018-10-07 15:00:48 -04:00
Steel Titanium
232a7ae7b7 Change order of the ifdef 2018-10-07 14:52:25 -04:00
Steel Titanium
def090c9f0 Move the ifdef 2018-10-07 14:45:03 -04:00
Sryder
62d7049437 I'm fairly sure GCC64 should enable GCC63.
No wonder I never got mixed declaration and code warnings.
2018-10-07 15:44:44 +01:00
toaster
b1e02467bf Weather is already run client-side. What if we ran it render-side, for major performance gains? This commit will answer all your questions - and more! 2018-10-07 15:00:58 +01:00
Sryder
fb6c329870 Fix the crashing bug hopefully
A value of 1 in freesrc for Mix_LoadWAV_RW and Mix_LoadMus_RW calls SDL_RWclose on the RWops anyway.
For Mix_LoadWAV_RW the RWops is freed right after the data is loaded (because it makes a copy of the data in memory)
For Mix_LoadMUS_RW the RWops is freed when Mix_FreeMusic is called (because the data is not a copy)
So setting 1 on freesrc doesn't actually free the RWops immediately on Mix_LoadMus_RW *unless* it failed to load any music.
2018-10-07 10:37:45 +01:00
Sryder
02597e0bf9 Fix compiler warnings. 2018-10-07 09:26:18 +01:00
Sryder
d072dd2725 I think that should be NULL, not 0 actually. 2018-10-07 00:22:23 +01:00
Sryder
7b417b573c Mix_QuickLoad_RAW sets a flag in the Mix_Chunk so that Mix_FreeChunk doesn't actually Free the sound.
Checks for the flag when freeing, and if it's 0, we free the data manually after Mix_FreeChunk.
I went back to Z_Malloc and Z_Free for this because they still work after this.
2018-10-07 00:15:42 +01:00
Sryder
725a65c1f7 Call SDL_RWclose after an SDL_RWFromMem call to close the RWops. 2018-10-07 00:15:11 +01:00
Monster Iestyn
1ec601af6b Draw a star for continues if invalid skin numbers are somehow supplied 2018-10-05 22:42:36 +01:00
Steel Titanium
b812a6a4ab Really fix DD compiling this time. 2018-10-04 22:56:11 -04:00
Steel Titanium
fc5d969642 Fix DD compiling 2018-10-04 22:44:26 -04:00
Steel Titanium
49cb1ffe9f Restore deleted endif 2018-10-04 22:38:59 -04:00
Steel Titanium
79f5f4885c Split zlib and libpng 2018-10-04 19:47:19 -04:00
Alam Ed Arias
348f4dc2cd Merge branch 'master' into next 2018-10-02 09:14:59 -04:00
Monster Iestyn
800b3bb240 Move player + player mobj existence checks to top of P_MoveChaseCamera. This is the only place it makes sense to even check them tbh.
While I'm at it, let's also use the "mo" variable instead of player->mo throughout the function (to be consistent)
2018-09-30 22:18:48 +01:00
Monster Iestyn
872e2f82c1 Redo OpenGL skewing support, so that it now itself supports the lower unpegged effect for FOFs in OpenGL! 2018-09-28 17:02:02 +01:00
Steel Titanium
f88708bb75 Fix the weird indentation 2018-09-21 12:05:52 -04:00
Steel Titanium
68ec811909 Rearrange the code.
Thanks again MonsterIestyn!
2018-09-21 11:26:08 -04:00
Steel
af58ba9ae3 Remove this that somehow slipped in. 2018-09-21 07:21:49 -04:00
Steel
be74b4e58b Fix up errors with buildbots 2018-09-21 07:16:54 -04:00
Steel Titanium
378495cb2b Add some stuff 2018-09-20 18:33:50 -04:00
Steel Titanium
a53f036149 Use MemAvailable instead 2018-09-20 18:30:46 -04:00
mazmazz
34e403afcb S_ChangeMusic: More specific load/play fail messages 2018-09-18 09:38:41 -04:00
mazmazz
20c4702986 Line exec trigger netsync: Save var2s in addition to vars 2018-09-17 14:13:31 -04:00
Monster Iestyn
1b7b1f3f79 Fix order of operations messups by adding brackets 2018-09-16 20:25:07 +01:00
mazmazz
40a8c9c1ee Mixer: HAVE_LIBGME ifdef in I_LoadSong 2018-09-15 00:35:24 -04:00
mazmazz
9a5eb02459 Fix Windows buildbot for MP3_MAD/MODPLUG define (the header we use is 2.0.2) 2018-09-14 17:47:04 -04:00
mazmazz
17ec5d8022 Mixer: Better MODPLUG/MP3_MAD defines
(cherry picked from commit 5b724e18b5)
2018-09-14 17:27:31 -04:00
mazmazz
fdbe3e80f6 Fix compile errors on buildbots
* Check SDL Mixer 2.0.3 for MUS_MODPLUG_UNUSED, MUS_MP3_MAD_UNUSED
* Mixed D+C in I_LoadSong
2018-09-14 17:07:13 -04:00
mazmazz
b330dc2394 Don't call I_StartupSound in SFX toggle
* Mixer: make I_StartupSound return early if already set up
* Restartaudio: Add StopSFX call
2018-09-14 16:39:10 -04:00
Monster Iestyn
546fa383c1 Make sure that T_MarioBlockChecker is synced in netgames, so that the textures of Mario Blocks can change when there are no more items 2018-09-14 21:01:07 +01:00
mazmazz
76be77b93a Rip out SDL Mixer code from sdl_sound.c because superfluous
* Mixer code has been in mixer_sound.c; this file is not invoked unless compiling with NOMIXER=1
* Remove everything under #ifdef HAVE_MIXER because this is never triggered
* Comment out #ifdef HAVE_LIBGME because we don't support playing music anyway (but theoretically, it could have worked separately from Mixer)
* Stub new music calls
2018-09-14 14:52:24 -04:00
mazmazz
cb4e075137 I_InitMusic SDL2: Don't unload GME indiscriminately 2018-09-14 13:36:01 -04:00
mazmazz
0999b0f8a8 srb2dd music cleanup fixes 2018-09-14 13:24:15 -04:00
mazmazz
e72610a3dc Separate StopMusic and UnloadMusic 2018-09-14 12:47:33 -04:00
mazmazz
8e05de17f0 Bring back music_data handle, for srb2dd 2018-09-14 12:29:58 -04:00
mazmazz
691de18fbb Menu sound toggle fixes (and add starpost sfx to menu) 2018-09-14 11:24:28 -04:00
mazmazz
4b1bc53db1 Compile fixes 2018-09-14 10:58:41 -04:00
mazmazz
fac7d19637 Case-insensitive music_name comparison
(cherry picked from commit a7ae059949)
2018-09-14 10:49:44 -04:00
mazmazz
8541963c61 I_SongPlaying detect GME properly
(cherry picked from commit e88d147761)
2018-09-14 10:49:44 -04:00
mazmazz
d94f7e3cb0 Stub I_UnloadSong because we already unload in I_StopMusic
* Stop-gap for now. Ideally the logic would be in the respective places.

# Conflicts:
#	src/sdl/mixer_sound.c

(cherry picked from commit eae5d3333f)
2018-09-14 10:49:44 -04:00
mazmazz
5f22b7d973 Volume fixes
# Conflicts:
#	src/sdl/mixer_sound.c

(cherry picked from commit d39b7011c5)
2018-09-14 10:49:44 -04:00
mazmazz
2fbe206ecb A word
(cherry picked from commit fb6f8c8a07)
2018-09-14 10:49:44 -04:00
mazmazz
b0c47e2fb1 GME fix: play song in I_PlaySong, not I_LoadSong
(cherry picked from commit 5f21bf230d)
2018-09-14 10:45:39 -04:00
mazmazz
4d61f00b86 Refactor I_MusicType MusicPlaying and MusicPaused other targets
(cherry picked from commit 9e6eebeb8d)
2018-09-14 10:45:39 -04:00
mazmazz
eacf0ba00b Refactor I_MusicType MusicPlaying and MusicPaused -> I_SongType ...
(cherry picked from commit 4b82de9e54)
2018-09-14 10:45:38 -04:00
mazmazz
d535c14fc6 Refactoring and reordering other targets
(cherry picked from commit cf065e106f)
2018-09-14 10:43:46 -04:00
mazmazz
5bac836d4c Minor refactoring and reordering
* I_GetMusicType() -> I_MusicType()
* Wrap MIDI volume hack in #ifdef _WIN32

(cherry picked from commit a7d51bf810)
2018-09-14 10:42:27 -04:00
mazmazz
8c78d86c36 Play the opposite type music (Digital/MIDI) when toggling between them in menu
* S_MusicInfo method to retrieve name, flags, and looping

(cherry picked from commit f6ec93198f)
2018-09-14 10:38:32 -04:00
mazmazz
7e7899ae83 Toggle Digi/MIDI music in menu accurately; add S_MusicType
(cherry picked from commit 4aa100aa57)
2018-09-14 10:37:08 -04:00
mazmazz
17cf310b84 nodigimusic nomusic nosound refactor other targets
(cherry picked from commit 86f151db65)
2018-09-14 10:35:56 -04:00
mazmazz
a414ccf24a nodigimusic nomusic nosound -> digital_disabled midi_disabled sound_disabled
(cherry picked from commit 07738fb0bc)
2018-09-14 10:35:51 -04:00
mazmazz
44557d9c9d I_MusicPlaying, I_MusicPaused other targets
(cherry picked from commit d5ec388159)
2018-09-14 10:28:35 -04:00
mazmazz
011a043dba Refactoring, music statues
* S_Init -> S_InitSfxChannels because it did mostly SFX anyway
* S_MusicPlaying, S_MusicPaused, S_MusicName, S_MusicExists new status methods
* I_MusicPlaying, I_MusicPaused

(cherry picked from commit f5f0b5e76c)
2018-09-14 10:28:29 -04:00
mazmazz
e58a8f4fe1 Consolidate I_SetDigMusicVolume and I_SetMIDIMusicVolume other targets
(cherry picked from commit 9fb9386f84)
2018-09-14 10:23:47 -04:00
mazmazz
a7ed7b2c90 Consolidate I_SetDigMusicVolume and I_SetMIDIMusicVolume into one method
* In s_sound, they are merged to one method as well, but there are still two separate digvolume and seqvolume variables
* Simplified Dig/MidiMusicDisabled in s_sound
* Method reordering

(cherry picked from commit 701cc5a7dd)
2018-09-14 10:23:37 -04:00
mazmazz
46b53e8bae Added I_GetMusicType and removed midimode variable: other targets
(cherry picked from commit 14b393ab16)
2018-09-14 09:55:45 -04:00
mazmazz
06b7367941 Added I_GetMusicType and removed midimode variable
* Revised S_PlayMusic arguments
* Now music plays again!

(cherry picked from commit 55f3803e4b)
2018-09-14 09:42:29 -04:00
mazmazz
b59aa27104 Loose ends other targets
(cherry picked from commit 9a5fc5f66a)
2018-09-14 09:41:08 -04:00
mazmazz
25361713dc NiGHTS drone loop: Change flyangle comparison to fix detection from vertical angles
Use > 90 && < 270 instead of >= 90 && <= 270. Fixes a bug where if you fly directly up (flyangle 90) or directly down (flyangle 270), that registers as a backwards direction, so you trigger the loop detection by flying BACKWARDS, not FORWARDS. This edge case (only possible via JUMPTOAXIS) should default to FORWARDS looping.

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

See merge request STJr/SRB2!277
2018-09-13 14:47:40 -04:00
Digiku
89a6694d67 Don't trigger thwomp on spectators 2018-09-13 11:32:40 -04:00
mazmazz
c32c72c401 Thwomp fix: Don't trigger (look for players) when ~FF_EXISTS 2018-09-13 11:32:38 -04:00
Monster Iestyn
3218ab17e0 Merge branch 'master' into next 2018-09-11 16:34:16 +01:00
PrisimaTheFox
4ada0b0a9e Update m_anigif.c
Remember gif_frames starts at 0
2018-09-10 17:12:10 +01:00
PrisimaTheFox
d26ba2ee54 Update m_anigif.c
More accurate GIF delay.
2018-09-10 17:12:04 +01:00
Monster Iestyn
40ff436829 Remove commented out stuff, now I've confirmed everything works fine without them 2018-09-10 15:49:21 +01:00
Monster Iestyn
c0bf79ad8e R_CreateColormap2 and R_MakeColormaps have been made obsolete, it's just R_CreateColormap now, like it used to be!
With that, I moved R_CreateColormap2's exclusive software colormap malloc code to R_CreateColormap, and merged the two software-only blocks of code into one. I also disabled any unneeded variables and fixed a preprocessor-related goofup
2018-09-09 22:48:09 +01:00
Monster Iestyn
316c08bbbb Merge branch 'netcode-nitpicking' into 'next'
Netcode nitpicking

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

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

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

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

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

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

See merge request STJr/SRB2!267
2018-08-21 10:31:25 -04:00
Monster Iestyn
dcf843e485 Merge branch 'defaultsoundvol' into 'master'
Change default sound volume

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

See merge request STJr/SRB2!263
2018-08-16 16:57:41 -04:00
Monster Iestyn
364339e1ce Merge branch 'sdl_mixer_fixes' into 'master'
SDL Mixer fixes

Closes #31

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

See merge request STJr/SRB2!248
2018-07-31 14:35:32 -04:00
Monster Iestyn
16999b7080 Merge branch 'gme-pause' into 'master'
Fix pausing on gme

See merge request STJr/SRB2!251
2018-07-31 14:33:56 -04:00
Steel Titanium
c02ee9a502 Re-did this fix. 2018-07-28 01:58:25 -04:00
Alam Ed Arias
79e4c3760a Merge branch 'master' into next 2018-07-20 17:35:53 -04:00
Alam Ed Arias
1ee7eda0ad Fixup PROFILEMODE 2018-07-20 17:35:18 -04:00
Monster Iestyn
6b1fa399dc Use plain malloc instead of Z_Malloc to allocate sound buffers in mixer_sound.c's I_GetSfx.
This should prevent I_FreeSfx making a mess of things later, hopefully.
2018-07-14 18:15:59 +01:00
Monster Iestyn
90ebce0557 Merge branch 'master' into fof-slope-skew-backport 2018-07-11 21:38:09 +01:00
Monster Iestyn
a06ef26149 Merge branch 'master' into next 2018-07-11 21:37:23 +01:00
Monster Iestyn
8e19611033 Merge branch 'opengl-fof-lowerunpegged' into 'master'
OpenGL: FOF walls + Lower unpegged

See merge request STJr/SRB2!258
2018-07-11 16:36:26 -04:00