Commit graph

525 commits

Author SHA1 Message Date
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
Monster Iestyn
8f834d6784 added a quick Z_FreeTag function as a shortcut to Z_FreeTags(tag, tag) where both tags are the same 2018-02-14 23:16:16 +00:00
toasterbabe
7018ce925b Fixed the strengths going in the wrong direction of transparency in GL! 2018-02-12 21:31:03 +00:00
toasterbabe
b69cbd85b9 Merge branch 'master' of https://git.magicalgirl.moe/STJr/SRB2Internal.git into pretty_stuff 2018-02-12 18:59:01 +00:00
toasterbabe
c1b48ea79f * Total overhaul of V_DrawFadeScreen(color, strength!
- controllable strengths between 0-31 for COLORMAP lump like before
   - arbitrary colour indices in the palette via TRANSMAP lumps, with strengths 0-9
   - exposed to Lua as v.fadeScreen(color, strength)!
* Remove last vestiges of V_STATICPATCH.
2018-02-12 17:47:31 +00:00
Monster Iestyn
bf88407d00 Make sure both software and OpenGL ignore patches that are completely out of a multi-patch texture's bounds.
This fixes OpenGL in particular crashing because of such a weird situation.
2018-02-09 17:23:35 +00:00
Monster Iestyn
efe9204f78 Fixed sky-sky thok barriers showing HOM (turns out the floor and ceiling share the same plane, so I've modified the code to account for this)
Additionally, place some optimisations in both software and OpenGL; in particular one has been added for when all of back and front sector (floor and ceiling) is sky: since everything is "open" anyway, we can simply the usual checks involved.
2018-02-07 17:46:01 +00:00
Steel Titanium
0cc4b8d6db Smoother MD2 interpolation 2018-02-06 14:50:08 -05:00
Monster Iestyn
493af49a00 Correct backwards skies for OpenGL too 2018-02-03 21:39:36 +00:00
Monster Iestyn
33a538383f Added proper support for upside-down thok barriers, in both renderers
Thankfully it was really just a copy+paste of the code I already tinkered with for the normal ceiling sky based thok barriers, but tweaked for floors instead
2018-02-03 19:48:18 +00:00
Monster Iestyn
0dc867c05e Cleanup of the code I've tweaked for skies, added SLOPEPARAMS macro to R_StoreWallRange for use in getting seg end z positions 2018-02-03 18:30:49 +00:00
Monster Iestyn
ecf2eed37f Pushing all my work to make OpenGL consistent with my changes to software's sky so far 2018-02-01 22:04:04 +00:00
toasterbabe
dca107f630 * Update V_DrawCroppedPatch and V_DrawFill to support V_PERPLAYER.
* Fix some mistakes in the comments for v_video.h.
2018-01-21 12:56:38 +00:00
toasterbabe
373bb329a2 Merge branch 'master' of https://git.magicalgirl.moe/STJr/SRB2Internal.git into pretty_stuff 2018-01-20 22:18:16 +00:00
toasterbabe
2141754e54 V_PERPLAYER. (Hooh boy.)
* Completely redid how splitscreen works, with eventual support for quads. Squish per-player stuff automatically into the right places! Works in GL, associated flag kills V_SPLITSCREEN.
* Seriously update the lives-drawing function for all gametypes, with strings that replace the lives number whenever it's missing (deprecates SKINNAMEPADDING).
* Improved how the nosshack works, alongside many other refactorings.
2018-01-20 22:14:24 +00:00
Monster Iestyn
61176ee736 Merge branch 'public_next'
# Conflicts:
#	src/doomdef.h
#	src/sdl12/macosx/Srb2mac.xcodeproj/project.pbxproj
#	src/win32/win_vid.c
2018-01-02 17:32:24 +00:00
Alam Ed Arias
f647989433 MSVC: set SubSystem on DLLs to Windows 2017-12-27 19:32:38 -05:00
toaster
7d15afe6fb Merge branch 'md2_interpfix' into 'master'
(re-)fix MD2 interpoleration.

See merge request STJr/SRB2Internal!128
2017-11-02 16:47:24 -04:00
toaster
605e51f6f3 Merge branch 'more_about_menus' into 'master'
More about menus

Closes #72

See merge request STJr/SRB2Internal!122
2017-11-02 16:31:51 -04:00
toasterbabe
b2d43cc56b (re-)fix MD2 interpoleration. 2017-11-02 14:33:56 +00:00
Monster Iestyn
b52c843139 Merge branch 'public_next' 2017-11-01 18:39:25 +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
toasterbabe
df1e5eb9b7 * Optimise the new static code further.
* Update all the other V_DrawCroppedPatch calls to match the new behaviour.
* Fix the OGL version of V_DrawCroppedPatch to match the new behaviour.

(To justify my changes: It's not exposed to Lua, and the function signature was a mess. This way it's easier to mentally map how it would work.)
2017-10-26 16:59:02 +01: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
Monster Iestyn
3e595b8f1b Merge branch 'master' into ports-chopping-block 2017-10-14 20:47:04 +01:00
Alam Ed Arias
66201620dd cleanup a few compiler warnings 2017-10-07 13:21:12 -04:00
Alam Ed Arias
c60caa5169 Merge branch 'public_next' into master 2017-10-07 12:46:16 -04:00
Monster Iestyn
d38873854d Now that MiniGL is gone, the 1.2 Params macros will always be defined
ATI_RAGE_PRO_COMPATIBILITY isn't used, and was disabled in r_minigl.c (the only other file that mentioned it) anyway. So let's get rid of support for it!
2017-09-30 17:09:45 +01:00
Monster Iestyn
20709f55b5 Murdered MiniGL (yes it's not a port, but we don't need it anymore anyway) 2017-09-30 17:00:37 +01:00
Alam Ed Arias
6fbdf37b18 Build: support building with clang 5.0 2017-09-30 08:54:17 -04:00
Monster Iestyn
be13f10626 ended NDS 2017-09-29 22:48:14 +01:00
Monster Iestyn
5a16c39af0 XBOX was eXecuted 2017-09-29 19:27:17 +01:00
Monster Iestyn
330399ea9b Dreamcast is gone, so there is no need for KOS_GL_COMPATIBILITY anymore 2017-09-29 18:28:47 +01:00
Alam Ed Arias
5986720789 Build: fixups 2017-09-28 11:01:52 -04:00
toaster
3cc14e3985 Merge branch 'directionchar' into 'master'
Autobrake & decoupling player sprite angle from camera angle

See merge request !69
2017-09-19 07:56:22 -04:00
toaster
ecfeb7b0af Merge branch 'spr2fixes' into 'master'
Sprite2 MD2s and customisable defaulting

See merge request !115
2017-09-19 07:49:04 -04:00
Sryder13
f3a605de6b I need to stop leaving things commented out that are going 2017-09-15 18:03:06 +01:00
toasterbabe
3c785cbe94 * Add Skid SPR2/state in preperation for directionchar.
* Clean up spr2 md2 code.
* Experimented but then commented out some stuff for homing attack.
2017-09-09 22:12:23 +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
toasterbabe
79dab78fd3 * Support FF_SPR2ENDSTATE in interpoleration.
* Fix skidding interpoleration bug.
2017-08-27 16:35:19 +01:00