Commit graph

2326 commits

Author SHA1 Message Date
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
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
de6cb124cb Merge branch 'readme-update' into 'master'
Update readme

See merge request STJr/SRB2!313
2018-11-10 08:39:02 -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
Steel Titanium
038dfb4aff Merge branch 'master' of https://git.magicalgirl.moe/STJr/SRB2 into readme-update 2018-11-09 18:24:42 -05: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
Steel Titanium
e937d1bacb Update readme 2018-11-09 16:01:29 -05: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
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
TCLScrufflet
1602904011
Merge branch 'master' into remote_view_fixes 2018-11-07 17:57:49 -02:00
MPC
1cc8619c9e Minor remote viewpoint bugfixes. 2018-11-05 20:40:51 -02:00
Monster Iestyn
86ad6de35b Merge branch 'file-loading-hotfix' into 'master'
File loading hotfix

See merge request STJr/SRB2!310
2018-11-02 19:03:59 -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
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
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
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