Commit graph

665 commits

Author SHA1 Message Date
Sryder 1f1d67cd7e Merge branch 'next' of git@git.magicalgirl.moe:STJr/SRB2.git into public_flatsprite
# Conflicts:
#	src/p_user.c
2019-05-06 20:20:57 +01:00
Sryder 8273534967 Add a cvar for sprite billboarding, off by default. 2019-05-06 16:57:32 +01:00
Steel Titanium 6aac014608 Generic model terminology 2019-05-02 22:55:45 -04:00
mazmazz 05b576dde8 Merge remote-tracking branch 'public-gl/md3-vanilla' into md3-vanilla 2019-05-02 17:56:49 -04:00
Jaime Passos 39c422506e Unbind VBO from model during mid-frame
https://git.magicalgirl.moe/STJr/SRB2/merge_requests/397?commit_id=79fed1e954ce77fabb2f09573e2fcd00d6326cef#note_11536
2019-05-02 17:56:06 -04:00
mazmazz 0bbdfa8bef Merge remote-tracking branch 'public-gl/md3-vanilla' into md3-vanilla 2019-05-02 17:50:38 -04:00
Jaime Passos 79fed1e954 Unbind VBO from model during mid-frame 2019-05-02 17:49:10 -04:00
Sryder 4d77ed925e OpenGL sprite billboarding
Should work on both normal and precipitation sprites.
Sprites that are split by lighting should work correctly.
2019-05-01 20:15:00 +01:00
Nev3r a9110c0645 Fixed more mobj thinker iterator oversights and removed all mobj thinker function checks
Mobjs got their own thinker list after all, and disappearing thinkers are automatically purged from their lists and sent to the limbo list.
So it's safe to assume all thinkers inside the mobj list must be mobjs.

Signed-off-by: Nev3r <apophycens@gmail.com>
2019-04-21 16:39:57 +02:00
Nev3r 696ccbd943 Fix mobj list iteration oversights.
Signed-off-by: Nev3r <apophycens@gmail.com>
2019-04-21 12:58:22 +02:00
Nev3r 39ba20be6b Basic multiple thinker list implementation
Set up a main thinker list and a polyobject mover list to test things up. Works so far, networking as well.

Signed-off-by: Nev3r <apophycens@gmail.com>
2019-04-20 22:39:22 +02:00
Monster Iestyn cb986bf1c0 added support for both horizontal and vertical flipping (not sure if complete or not atm, but I've done enough for tonight I think) 2019-02-13 22:40:48 +00:00
Monster Iestyn 7321df8015 some more mucking about with function arguments (preparing for alpha/flip support adding particularly), also fixed a slipup I made when I first made HWR_DrawColumnInCache 2019-02-13 20:56:59 +00:00
Monster Iestyn d2c6b995d3 split HWR_DrawPatchInCache into two functions: one for texture patches and one for everything else 2019-02-13 20:12:10 +00:00
Monster Iestyn 497e79d1de Turns out the consts ARE needed after all, also fix some other errors the compiler reported 2019-02-13 18:20:26 +00:00
Monster Iestyn ff2ebf20fb blockmodulo and bpp do not need to be args of HWR_DrawPatchInCache 2019-02-13 17:27:20 +00:00
Monster Iestyn efa042a995 whoops, removed some variables I shouldn't have, so I've added them back 2019-02-13 16:52:51 +00:00
Monster Iestyn 30a00c812c Split the column caching code of HWR_DrawPatchInCache into a new function, HWR_DrawColumnInCache. This should make modifying the OpenGL caching code look a little less daunting, hopefully.
I also removed some "const"s for now, since I wasn't sure if they were needed or even correct to use or not here... if they're fine I could add them back later though.

(Note: I have not tested if this compiles yet)
2019-02-13 16:39:37 +00:00
Digiku d05caf5963 Update hw_md2.c -- add comment about anglef player->frameangle from Kart 2019-01-08 11:26:39 -05:00
mazmazz 66e6a6f940 Merge remote-tracking branch 'public-gl/master' into md3-vanilla 2019-01-07 04:06:45 -05:00
mazmazz bbcc82e9b4 Fix blinking MD2 models
MD2 models are forced to load float frames, so mesh->indices is never loaded, so glDrawElements can't be used. Use glDrawArrays instead.
2019-01-03 00:57:14 -05:00
mazmazz 075f28b7c8 WIP 20190101 merge
d_netcmd.c
filesrch.c
m_menu.c
p_setup.c
p_spec.c
r_data.c
r_main.c
r_things.c
w_wad.c
w_wad.h
2019-01-02 01:09:15 -05:00
Jimita the Cat 892e650712 dumb 2019-01-02 01:01:57 -03:00
Jimita the Cat e765b9400c Add support for flashpals in screenshots 2019-01-02 00:41:52 -03:00
mazmazz 1a4f1e54f3 Merge branch 'timedemo-revise' into md3-vanilla 2018-12-29 12:09:32 -05:00
Digiku 80e30c6aaa Merge branch 'MSVC-ARM' into 'master'
ARM and ARM64 support with MSVC toolchain

See merge request STJr/SRB2!412
2018-12-28 01:05:40 -05:00
mazmazz 1d9b8d357b Add framecount increment to HWR_RenderPlayerView
Analogue to R_RenderPlayerView; used for timedemo FPS reading
2018-12-27 23:05:06 -05:00
mazmazz 34915f0508 Compile fix -- remove (void)alpha from DoScreenWipe 2018-12-27 22:29:12 -05:00
Arthur 4f1f315563 Eliminate some old GL functions so we don't slide back into bad habits! 2018-12-27 22:10:10 -05:00
Arthur b83790260f Fix screen transitions 2018-12-27 22:09:00 -05:00
mazmazz f7a01c60a4 Buildbot fixes 2018-12-27 01:00:09 -05:00
mazmazz f6e8b26af1 Compile fixes -- specify GLubyte for pglColor4ubv 2018-12-27 00:50:43 -05:00
Arthur 587ffa9ada Removed gr_voodoocompatibility as even low-power mobile devices do not have this limitation
No longer using byte2float in DrawPolygon -- use the surface color data directly
Vertex Buffer Objects for non-interpolated model frames
Removed some old unused paletted texture stuff
2018-12-27 00:35:29 -05:00
Arthur a812acc3d4 Removed unused PF_Md2 flag
More OpenGL performance increase by making assumptions about client state
2018-12-27 00:30:07 -05:00
Arthur 0978732ecd boolean fix for VS
add GL_NORMALIZE
2018-12-27 00:24:21 -05:00
mazmazz 8c3e6642a7 Ignored fread fix 2018-12-27 00:01:51 -05:00
mazmazz 5ec40cf906 More mixed d&c fixes 2018-12-26 23:50:35 -05:00
mazmazz 52f668e9b0 byte -> char 2018-12-26 23:40:29 -05:00
mazmazz 036e44aa21 Mixed D&C fixes 2018-12-26 23:39:34 -05:00
mazmazz b175629748 Fix floating point comparisons 2018-12-26 23:15:28 -05:00
mazmazz 74d6921f47 Merge tag 'SRB2_release_2.1.23' into md3-vanilla-ssn 2018-12-26 22:55:25 -05:00
Arthur b19252651f Removed all glBegin/glEnd references
MD2/MD3 now works, with the exception of WAD textures for some odd reason
2018-12-23 17:00:11 -05:00
Latapostrophe 1b61e15b1b Merge branch 'master' into SRB2-CHAT 2018-12-23 10:26:08 +01:00
Alam Ed Arias 102fd11cb4 More work to cleanup the ARM builds 2018-12-22 19:50:32 -05:00
Alam Arias b6a917cda1 Added ARM/ARM64 to whole vc10 sln
Added ARM/ARM64 to zlib, libpng
Added ARM/ARM64 to srb2dd/srb2sdl
2018-12-21 16:47:10 -05:00
mazmazz 06ff171e19 Adjust vid.width floating point comparson for CHAT 2018-12-21 11:37:22 -05:00
Digiku 58a2cec70f Merge branch 'float_equal' into 'master'
Clear Float equal warnings

See merge request STJr/SRB2!383
2018-12-20 16:58:37 -05:00
mazmazz 6c5bb7f541 Small Mixed D&C fix 2018-12-19 20:56:58 -05:00
AJ Freda 4728ad97eb Fixed a few unnoticable mistakes [vanilla] 2018-12-19 20:52:47 -05:00
Digiku 7982b1695a Merge branch 'ogl-zfighting-fix' into 'master'
OpenGL z-fighting fix [by Azeonus]

Closes #43

See merge request STJr/SRB2!395
2018-12-19 13:05:04 -05:00
mazmazz 59826860ab Ifdef nextFrame handling under USE_MODEL_NEXTFRAME 2018-12-19 10:33:13 -05:00
mazmazz 90bd80d17a Interpolation fix attempt?
* Fix pglNormal3bv pointer because typo
2018-12-19 01:57:54 -05:00
mazmazz c4f5bdc347 Adapt re-enabled DrawMD2 code block for meshes 2018-12-19 00:38:00 -05:00
mazmazz 98d18509e6 Hide/add Kart FTransform mirror and anglez behind ifdef 2018-12-19 00:17:51 -05:00
mazmazz 45f0f725cd More hw_md2 merge errors; re-enable interpolation code block 2018-12-18 23:44:38 -05:00
mazmazz 65543545c6 hw_md2 merge errors 2018-12-18 22:50:00 -05:00
mazmazz 3a45b169eb Ignore fread return value (buildbot error) 2018-12-18 20:48:55 -05:00
mazmazz 6b2f4b5858 Buildbot fixes (changed byte types to char; mixed d&c) 2018-12-18 20:23:08 -05:00
mazmazz 3dbda54d3c GCC compile fixes 2018-12-18 19:17:33 -05:00
Arthur 4276758491 Remove CONS_Printf message that isn't even doing what it says it is! 2018-12-18 17:52:53 -05:00
Arthur 4713200fb5 push test 2018-12-18 17:52:50 -05:00
Arthur 76dabd5e9d Support for 'tinyframes', and lots more optimization 2018-12-18 17:52:47 -05:00
Arthur 3ed0edbcfe Common model format, with MD2/MD3 loading 2018-12-18 17:52:45 -05:00
mazmazz 96cad09db6 Change 0.05 to 0.05f 2018-12-18 16:59:59 -05:00
Azeonus 67cd6dcdd2 dispoffset OGL fix [by Azeonus] 2018-12-18 16:50:03 -05:00
Jimita 1d40676f3a
Merge branch 'master' into automap_fix 2018-12-17 17:46:29 -02:00
Alam Ed Arias 11aef0b3f1 Merge branch 'master' into float_equal 2018-12-16 13:52:45 -05:00
Latapostrophe 25e6d5388c merge conflict 2018-12-16 16:48:15 +01:00
Alam Ed Arias 15d0673685 fix compiling for clang 2018-12-14 21:31:37 -05:00
Alam Ed Arias 78634679f1 fix compiling for MSVC 2018-12-14 20:42:37 -05:00
Alam Ed Arias 6fd66bdb49 Clear float equal warnings 2018-12-14 20:34:06 -05:00
Monster Iestyn e0079ea1a2 remove NearVertice (which was unused anyway), clean up maz's changes 2018-12-14 23:28:07 +00:00
mazmazz abae63a64b SameVertice floating point match; fixes 64-bit OGL holes 2018-12-14 16:47:24 -05:00
Monster Iestyn c1e0041a0b copy doom legacy's replacement for the den == 0.0 calc in fracdivline 2018-12-14 21:22:13 +00:00
Monster Iestyn 623d1574ce minor cleanup 2018-12-14 21:00:53 +00:00
Monster Iestyn b42c306ef3 remove code from SearchDivline that was disabled ...and doesn't seem to exist anymore anyway 2018-12-14 18:14:08 +00:00
Monster Iestyn 52fd3dcbed split loading status code into a separate function 2018-12-14 18:11:30 +00:00
Monster Iestyn 02fc845a72 Make sure nptfront is explicitly > 0, so we don't alloc a poly for negative number points at all 2018-12-14 18:01:18 +00:00
Monster Iestyn 4089b6b8e9 use continue if NULL instead of a big if block if ...not NULL
also, SplitPoly returns if ps < 0, so there's no need to check for ps >= 0 afterwards
2018-12-14 18:00:08 +00:00
Monster Iestyn 3a125dbbd5 compare with actual doubles, not ints 2018-12-14 17:14:03 +00:00
MPC 6b22dc183b Fix the automap 2018-12-12 18:01:52 -03:00
Monster Iestyn 4b0d45afd8 Merge branch 'opengl-noloading' into 'master'
Hide OpenGL loading screen

See merge request STJr/SRB2!349
2018-11-26 15:30:45 -05:00
Monster Iestyn a71ca1d259 Merge branch 'fof-slope-skew-backport' into 'master'
FOF wall slope skewing backport

See merge request STJr/SRB2!341
2018-11-26 08:54:29 -05:00
mazmazz 930835f1a2 Dummy out OpenGL loading screen; fix console toggle so it doesn't actually show 2018-11-25 21:47:56 -05:00
mazmazz ea7162a76a Update source copyrights to 2018 2018-11-25 07:35:38 -05:00
Monster Iestyn 0a0336a674 Merge branch 'master' into fof-slope-skew-backport
# Conflicts:
#	src/r_segs.c
2018-11-23 22:40:28 +00:00
Alam Arias 30b9cef043
Merge pull request #326 from monster-psychic-cat/opengl_splitscreen_sky_fix
Render the skies correctly on splitscreen in OpenGL mode
2018-11-23 14:48:05 -05:00
Digiku bb38aa649f Merge branch 'nov20-build-fixes' into 'master'
Nov20 build fixes

See merge request STJr/SRB2Internal!205
2018-11-21 17:23:20 -05:00
mazmazz 74da082c75 Merge remote-tracking branch 'origin/master' into HEAD 2018-11-20 23:19:36 -05:00
Marco Z c0df7b47c5 Merge branch 'c88bbda028a21a51058488ee0214ce925625f0a0' into nov20-build-fixes
# Conflicts:
#	src/hardware/hw_main.c
2018-11-20 22:42:20 -05:00
Marco Z ddd357d27c VC build fixes 2018-11-20 21:54:20 -05:00
Monster Iestyn 224c0fccdb Merge branch 'public_next'
# Conflicts:
#	src/Makefile.cfg
#	src/d_clisrv.c
#	src/p_setup.c
#	src/r_segs.c
#	src/r_things.c
2018-11-20 14:33:10 +00:00
Monster Iestyn 3e6fcf1b8b Merge branch 'opengl-hud-scale-fix' into 'master'
OpenGL HUD scaling fix

See merge request STJr/SRB2!320
2018-11-14 16:48:13 -05:00
Alam Ed Arias f73ea4f984 Clean up warnings 2018-11-14 10:52:16 -05:00
Monster Iestyn 0d38061db8 Fix V_SNAPTOx code to consider dupx/dupy the same way as Software mode 2018-11-13 18:13:51 +00:00
mazmazz 6c69dd1f78 Merge branch 'master' into text-prompts 2018-11-13 11:12:44 -05:00
mazmazz a362407886 Merge branch 'control-selector' into text-prompts 2018-11-12 21:11:53 -05:00
MPC eb4a72440a Render the skies correctly on splitscreen in OpenGL mode 2018-11-10 16:19:41 -03:00
Monster Iestyn e4f157786c Merge branch 'public_next'
# Conflicts:
#	src/Makefile
#	src/doomtype.h
#	src/hardware/hw_clip.c
#	src/hardware/hw_main.c
#	src/sdl12/sdl_sound.c
2018-11-10 19:18:34 +00: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 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 d456a5362c Whoops, mucked up this part of the conflict resolving 2018-11-10 15:55:09 +00:00
Monster Iestyn 268bde3fdf Merge branch 'public_next'
# Conflicts:
#	src/d_netcmd.c
#	src/d_netcmd.h
#	src/dehacked.c
#	src/g_game.h
#	src/hardware/hw_draw.c
#	src/hardware/hw_main.c
#	src/lua_baselib.c
#	src/lua_hook.h
#	src/lua_hooklib.c
#	src/lua_hudlib.c
#	src/lua_libs.h
#	src/lua_maplib.c
#	src/lua_script.c
#	src/m_misc.h
#	src/p_mobj.c
#	src/s_sound.c
#	src/sdl12/mixer_sound.c
#	src/w_wad.c
2018-11-10 15:41:57 +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
mazmazz 9ee894f777 Make gray/black text prompt backcolor darker in OpenGL 2018-11-09 22:52:13 -05:00
Monster Iestyn 444462732b added HWR_DrawTutorialBack for OpenGL 2018-11-04 22:32:46 -05:00
Monster Iestyn 2fa0896fd0 Fix an error I made in HWR_DrawFixedPatch 2018-10-30 13:44:01 +00: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 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 b5c4b476a6 Merge branch 'public_next'
# Conflicts:
#	src/d_main.c
#	src/m_menu.c
#	src/s_sound.c
#	src/sdl/sdl_sound.c
2018-10-20 15:31:48 +01:00
mazmazz a288b95458 Merge remote-tracking branch 'public-gitlab/master' into public-music-cleanup 2018-10-19 22:04:26 -04: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 d3da4cb527 Merge branch 'fof-slope-skew-backport' 2018-10-10 14:53:01 +01:00
Monster Iestyn 291ebf302c Merge branch 'public_next'
# Conflicts:
#	src/Makefile
#	src/lua_script.c
#	src/p_user.c
#	src/sdl/i_system.c
#	src/v_video.c
#	src/w_wad.c
2018-10-10 14:51:34 +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
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
mazmazz 17cf310b84 nodigimusic nomusic nosound refactor other targets
(cherry picked from commit 86f151db65)
2018-09-14 10:35:56 -04:00
mazmazz 62b6950e33 Use lightlist.extra_colormap double pointers in OpenGL 2018-09-12 16:28:55 -04:00
Monster Iestyn 1af8d3ac02 Merge branch 'master' into hud-n-menu-tidbits
# Conflicts:
#	src/m_menu.c
#	src/screen.c
#	src/st_stuff.c
2018-08-28 20:51:46 +01:00
Monster Iestyn b5ec286667 Merge branch 'master' into hardcoding-time-again 2018-08-02 16:04:54 +01:00
Monster Iestyn be5d0406bd Merge branch 'public_next'
# Conflicts:
#	src/hardware/hw_md2.c
2018-07-31 19:41:54 +01:00
Latapostrophe ad187c26f0 Repositionning chat & bugfixes 2018-07-31 15:57:19 +02:00
Latapostrophe ac7c249fd2 SRB2chat test rework 2018-07-31 11:10:02 +02:00
Monster Iestyn c88bbda028 fix visual studio complaining about negating an unsigned var 2018-07-25 22:19:07 +01:00
Monster Iestyn 8e19611033 Merge branch 'opengl-fof-lowerunpegged' into 'master'
OpenGL: FOF walls + Lower unpegged

See merge request STJr/SRB2!258
2018-07-11 16:36:26 -04:00
Monster Iestyn c127ea3ceb Merge branch 'opengl-projectsprite-fix' into 'master'
OpenGL HWR_ProjectSprite fix

See merge request STJr/SRB2!255
2018-07-11 16:15:42 -04:00
Monster Iestyn f1bba60373 Merge branch 'md2-fopen-error' into 'master'
More helpful error messages

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

See merge request STJr/SRB2!224
2018-07-06 14:38:37 -04:00
GoldenTails 761a221840 Merge remote-tracking branch 'STJrSRB2/master' into patch-1 2018-07-05 16:44:34 -05:00
Steel Titanium c8d0eb04f4 Merge remote-tracking branch 'upstream/master' into md2-smoother-interpolation 2018-07-05 01:23:56 -04:00
Steel Titanium c61035571b Merge remote-tracking branch 'upstream/master' into md2-fopen-error 2018-07-05 01:21:09 -04:00
Monster Iestyn d8a86a8d74 Fix OpenGL completely missing the ability to alter FOF wall pegging by lower unpegged flag. Stupid OpenGL.
Sorry in advance Lat'!
2018-06-26 21:41:05 +01:00
Monster Iestyn aed30519d4 Fix HWR_ProjectSprite to check properly whether the displayed player's mobj or its subsector exists, to avoid a crash when checking for fake planes. (also use viewplayer since its available to use, silly hardware code)
Also tweaked a weird splitscreen check in HWR_DrawSpriteShadow; still investigating whether stplyr is ever not player 2 when it's player 2's view, but this looks better for now
2018-06-23 18:47:32 +01:00
toaster 8f318871eb * Make the OpenGL loading screen work with the fades better.
* Make the closed captions not mess with fades, and improve their movement calculation.
2018-06-14 22:23:20 +01:00
toaster 1bd963db7a Merge branch 'master' of https://git.magicalgirl.moe/STJr/SRB2Internal.git into hardcoding-time-again 2018-06-12 00:57:21 +01:00
Monster Iestyn e39bbab532 Merge branch 'public_flatsprite'
# Conflicts:
#	src/hardware/hw_main.c
#	src/r_things.c
2018-06-11 19:53:16 +01:00
Sryder ea915e5778 Fix papersprites more for real this time
(Seperate AL and AR sprites were broken, I figured out I was a dunce, oh noey)
2018-06-09 22:58:03 +01:00
toaster 94b2ad2836 Merge branch 'master' of https://git.magicalgirl.moe/STJr/SRB2Internal.git into hardcoding-time-again 2018-06-09 21:18:17 +01:00
Monster Iestyn 82b69b7de5 Merge branch 'public_flatsprite'
# Conflicts:
#	src/dehacked.c
#	src/hardware/hw_main.c
#	src/p_enemy.c
#	src/p_inter.c
#	src/p_map.c
#	src/p_mobj.c
#	src/p_mobj.h
#	src/p_pspr.h
#	src/p_user.c
#	src/r_defs.h
#	src/r_things.c
#	src/r_things.h
2018-06-09 21:14:41 +01:00
toaster 1242180667 Merge branch 'master' of https://git.magicalgirl.moe/STJr/SRB2Internal.git into hardcoding-time-again 2018-06-09 19:36:48 +01:00
Monster Iestyn 14d49b8bf1 Merge branch 'public_next'
# Conflicts:
#	src/d_main.c
#	src/d_netfil.c
#	src/p_setup.c
2018-06-09 19:35:36 +01:00
Sryder 0f4e8c1eda Merge branch 'next' into public_flatsprite
I also fix papersprites in regards to flipping on one sprite fits all rotation stuff

# Conflicts:
#	src/hardware/hw_main.c
2018-06-09 18:47:42 +01:00
toaster 3725203bcd Bit of a random one today, but the branch approaches completion...
* Bomb sphere! Paraloopable hazard. Replaces MT_SPECIALSPIKEBALL.
* Blueberry bushes, both normal and Xmas, from patch.dta.
* BSZ tulips, also from patch.dta!
* Frozen Hillside badniks - Penguinator and Pophat.
* Frozen Hillside ice decoration!
* Fixed some big bugs with the DSZ light beams.
* Made multi-mare special stages work, in a troll way - the Chaos Emerald disappears in a puff of smoke, and the Spinbobert laughter sound plays... >:3c
* Reverted the mobjtype number changes from the source SOC/Lua, which we can do later when doing a final pass of the levels.
* State optimisation.
* Serious cruft-removal of the NiGHTS drone thinker.
* Fix the issues where the player wouldn't curl into jump in waterslides or dropping off rope-hangs.
* Tweak NiGHTS player flashing.
* Add text colour support to the titlecard font.
* Use that to make the PRESS SPIN\nMID-JUMP thing when you get all Chaos Emeralds use the titlecard font for readability.
* Fix the GOT ALL EMERALDS page not lasting the correct, extended amount of time.
* Fix that thing where flying mid-spin didn't enact autobrake.
* Modify graymap a little on Sryder's suggestion.
* [COMPLETELY UNRELATED] fix that thing where the addons menu will fail on files/paths with spaces in [/COMPLETELY UNRELATED]
2018-06-05 17:22:28 +01:00
toaster 6e07631cc9 MONSTER COMMIT.
OLD SPECIAL STAGES:
* Spheres in old special stages instead of rings!
* Individual timers in old special stages instead of a global one!
* Old special stages use a variant of the NiGHTS HUD now!
* Special stage damage in old special stages loses 5 seconds of time instead of 10 rings/spheres!
* All damage gained through old special stages is converted to special stage damage! As a consequence, the special spikeball has no need to be special anymore.
* Made emerald gaining function be based on special stage number rather than gained emeralds!
* Consistency with...

NiGHTS SPECIAL STAGES:
* Spheres now flash in bonus time. https://cdn.discordapp.com/attachments/400761370800422922/452590553100713984/srb20032.gif
* Sphere and ring mapthingnums are now less fucked up in 'em. (Rings are 300, same as usual, while Spheres are now 1706 replacing NiGHTS Wings.)

SPECIAL STAGES IN GENERAL:
* useNightsSS is now dead. Each individual special stage is now assessed for NiGHTS-mode behaviour based on maptol & TOL_NIGHTS.
* CRAWLA HONCHO\n CAN NOW BE\n SUPER CRAWLA HONCHO end tally modification now also includes a mini-tutorial on turning super. https://cdn.discordapp.com/attachments/400761370800422922/452844894113759233/srb20036.gif
* SONIC GOT A CHAOS EMERALD? https://cdn.discordapp.com/attachments/400761370800422922/452623869497573386/srb20034.gif

NiGHTS NON-SPECIAL STAGES:
* Colour Chips and Star Chips! Replaces Spheres and Rings of NiGHTS Special Stages.
* Colour Chips turn yellow in bonus time.
* Ideya!
* Its own "drowning" music!
* All of the object types for Dream Hill.
* GIF: https://cdn.discordapp.com/attachments/400761370800422922/452844894113759233/srb20036.gif

RANDOM BS:
* Turn super with the spin button instead of the jump button!
* Followmobj now correctly set with P_SetTarget instead of pointer assignment.
* Emerald hunt uses new sprites!
* Made unlock noise different from emblem gain noise! (It's the CRAWLA HONCHO CAN NOW TURN yadda yadda sound from S3K now.)
2018-06-03 22:41:54 +01:00
Monster Iestyn 8e5dbb22f0 Merge branch 'opengl-bigmap-fix' into 'master'
OpenGL: Very large map rendering issue fixed

See merge request STJr/SRB2!249
2018-06-03 15:08:10 -04:00
Sryder f4181f7eb6 Very large map rendering issue fixed
Move old fix for too large maps having rendering issues from R_CheckBBox to OpenGL's HWR_CheckBBox
From what I know, this effects at least Aerial Garden and Seraphic Skylands
2018-05-26 13:13:37 +01:00
toasterbabe cb86ed7721 * Castlebot Facestabbers.
* Facestabber statues, of both the suspicious and non-suspicious kind.
* New object type for the end of grabbable chains.
* I moved my compilation .bat file to my Releases folder, so it should .gitignore .bat's.
* Random extra stuff.
2018-05-24 01:40:57 +01:00
toasterbabe 847f8b4ef0 * CEZ decorations!
* Moved a bunch of stuff that had no business being in mapthing spawns into mobj spawns.
2018-05-22 11:04:28 +01:00
toasterbabe ee42132ed1 * Bumpers and Balloons in a more final state.
* Blue diagonal springs, because that gap is very, very odd.
* Improved A_SpawnFreshCopy.
* Tweaked P_LookForEnemies for consistency's sake. (Previously, it was impossible to make a spring that could neither be homing-attacked or attraction-shotted.)
2018-05-20 00:04:39 +01:00
Sryder badbb4324e Fix FF_FULLBRIGHT not working in sectors with multiple light levels in OpenGL 2018-05-16 21:04:57 +01:00
toasterbabe 26d13db548 * Crushtacean!
* Behaves a bit differently to the one in DSZres.pk3.
   * Can now punch DSZ mines!
   * Also has mapthingnum 126 instead of 610.
* Some other mapthingnum changes.
   * DSZ2 stalagmite is now 1009, formerly 999.
   * Big DSZ gargoyle is now 1011, formerly 1009.
2018-05-14 01:19:24 +01:00
Steel Titanium b4d479ad9a Include errno if not already included. 2018-05-13 16:04:34 -04:00
Steel Titanium 7f084868b9 More helpful error message 2018-05-13 15:35:38 -04:00
GoldenTails 7783ddd134
Update hw_md2.c 2018-05-13 14:34:08 -05:00
GoldenTails 5f0a45124c
Update hw_md2.c 2018-05-13 14:32:33 -05:00
GoldenTails e66e0bb20e
Fixed MD2 models not loading correctly on Linux 2018-05-13 14:19:36 -05:00
toasterbabe a738ef99e3 * DrT's Spincushion hardcoded.
* Make the MF_PAIN stuff ONLY depend on mass, using the bottom 8 bits for the type and the custom sound in the upper ones.
* A bunch of cleanup of random other stuff, including an unused Deton state and an unused Jetty type's sprite.
2018-05-13 14:09:20 +01:00
toasterbabe d0575f7fb0 * Hive Elementals and Bumblebores, plus associated useful action functions.
* Made Facestabbers take two hits and have associated pain/death animations. No other changes, just wanted to make sure THIS was done.
* Move Bubblebuzz-related stuff to go alongside the secret badniks and etc.
* MF2_INVERTAIMABLE. Inverts whether P_LookForEnemies can get at; replaces a hardcoded thingy.
2018-05-04 21:30:15 +01:00
toasterbabe 5cc1befcad * Haunted Heights! Smashing spikeball, Cacolantern, Spinbobert and Hangster, along with the Spider and Bat flickies and general decoration/ambience stuff.
* MF_PAIN and MF_MISSILE now support setting damagetype via their Mass parameter. The two existing conflicts - the fuse setting for the grenade weapon ring and the Cybrakdemon napalm bomb - had these moved to other free parameters.
* A_ConnectToGround is EXTREMELY useful for palmtrees and stuff.
* Some other, relatively hacky A_ functions.
* (Unrelated) Remove the need for a "Mario block mode" for the token by making it natively compatible.
* Spikes and their time-offsetting via that Lua script sphere made. Also allow for wallspikes to do it via their angle/360.
2018-04-28 15:13:44 +01:00
toasterbabe 1eb84f57c5 * Billiards mines! With support for both above and below water, replacing both the below-and-above-water old mines at once.
* Explosion executors.
* Minor refactor of P_KillMobj.
2018-04-26 20:18:51 +01:00
toaster d315072e3f Merge branch 'texture-fixes' into 'master'
Texture fixes

See merge request STJr/SRB2Internal!135
2018-04-06 17:44:17 -04:00
toasterbabe 4f3c9b5fad Merge branch 'master' of https://git.magicalgirl.moe/STJr/SRB2Internal.git into pretty_stuff
# Conflicts:
#	src/hardware/hw_draw.c
2018-04-06 19:38:19 +01:00
Monster Iestyn a3b86a737e Merge branch 'public_next'
# Conflicts:
#	src/f_finale.c
#	src/hardware/hw_draw.c
#	src/hardware/hw_main.c
#	src/hardware/r_opengl/r_opengl.c
#	src/sdl12/hwsym_sdl.c
#	src/sdl12/i_video.c
2018-04-06 18:42:07 +01:00
Sryder 6f2de824fb Uncomment HWR_CorrectSWTricks but set gr_correcttricks to be off by default
I wasn't aware of the cvar, this should do for now since I don't believe any maps use these software tricks, probably an old leftover from DOOM.
2018-03-30 23:12:44 +01:00
Sryder 0aaae501d3 Warnings must die 2018-03-30 18:53:23 +01:00
Sryder f3aa02e26d Start with lightnum on sector lightlevel 2018-03-30 18:13:52 +01:00
Sryder 65c893da86 static tempsec for R_FakeFlat
I don't fully understand this, but it's what software does and it fixes the issue of the lighting in DSZ3. Also don't need the extra call to R_Prep3DFloors.
2018-03-29 23:28:54 +01:00
toasterbabe 33afd94252 Merge branch 'master' of https://git.magicalgirl.moe/STJr/SRB2Internal.git into pretty_stuff
# Conflicts:
#	src/d_main.c
#	src/st_stuff.c
2018-03-24 17:17:01 +00:00
Sryder fab4b7f5ea Stop squashing the screen vertically in non-green resolutions 2018-03-22 01:10:53 +00:00
Sryder 839ee0ab85 OpenGL Sprite Splitting 2018-03-22 00:52:14 +00:00
Sryder 0885d27171 Transform sprites in world space rather than screen space
Transformation based on screen space would make sense if we didn't want anything in the world to effect the sprites.
This should allow sprite splitting and sorting of sprites with level geometry easier.
stransform is no longer needed.
2018-03-21 19:45:37 +00:00
Sryder 4e95066f5a Some fixes and updates for HWR_SplitWall
Solid walls *can* be cut
Fix issues with water and fog FOFs not cutting each other out correctly
Fix Fog colourmap and lighting setting that is done here.
Remove HWR_SplitFog

There is currently a bug with FF_DOUBLESHADOW (that also exists in software) but has a larger impact here. When 2 FF_DOUBLESHADOW lights are directly stacked on each other the bottom one has its height set incorrectly. This causes all the Fog in the timed gravity flipping section of ERZ2 to be drawn and it looks really bad.
2018-03-20 14:20:08 +00:00
Sryder f3d63b82ce Revert "Fix screenshot functionality in fullscreen in SDL2"
This reverts commit 121fcd8369.

The reason I am reverting this is because the last commit actually fixes the *old* screenshot functionality, as the screen is being drawn back onto the buffer after they're swapped in the "real" size. Meaning the old function actually works perfectly fine now.
2018-03-18 18:33:53 +00:00
Sryder a984d979d1 Fix wipes in low resolutions 2018-03-18 17:12:12 +00:00
Sryder 31d1ef8db0 Draw the final screen texture in the centre with black bars
Only applies when the monitor aspect ratio is different to the game's aspect ratio.
2018-03-17 19:22:14 +00:00
Sryder a9214ebd37 Match HWR_DrawCroppedPatch to V_DrawCroppedPatch 2018-03-17 13:58:44 +00:00
Sryder 801f7547d3 Add the full-screen drawfill functionality to HWR_DrawFixedPatch 2018-03-17 13:26:43 +00:00
Sryder 7830c031f7 Make HWR_DrawFill match V_DrawFill 2018-03-16 19:46:45 +00:00
Sryder 7764a1bb5d Match HWR_DrawFixedPatch to V_DrawFixedPatch 2018-03-16 18:08:24 +00:00
Sryder 1b3e1f78af Translucent floors shouldn't write into the depth buffer 2018-03-15 23:59:01 +00:00
Sryder 5a4ea9fab3 Better fog block colouring
They still aren't perfect, but now they are at least not quite so obviously just translucent polygons over the level. A mixture between partially modulating the background colours and adding the fog colour. Notably white fog blocks look like they're brightening what's behind them.
Additive was also setting noalphatest before, can probably decide that depending on what it needs anyway. I don't think it's currently used anyway.
2018-03-15 23:58:37 +00:00
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
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 b254acaa0d Merge branch 'master' into texture-fixes 2018-03-04 19:20:54 +00:00