Commit Graph

273 Commits

Author SHA1 Message Date
Monster Iestyn efe02e2a42 allow triangle/frame limits too 2016-11-03 22:53:49 +00:00
Monster Iestyn 561a0fe768 Attempt loading of an MD2 only once; if we failed then don't bother again
This keeps my new error messages from flooding the console and log.txt
2016-11-03 21:06:23 +00:00
Monster Iestyn 2ec972af54 check numVertices, bail out and print error message if there are too many
I added similar checks for the other num* but it seems some MD2s break the other limits without knowing anyway ...so I've commented these checks out for now, unless we have further discussion regarding them later on
2016-11-03 20:40:17 +00:00
toasterbabe ab6fd676b5 YUP, I just fixed OGL Precipitation with this branch too. What the fuck? Squashing ancient bugs, woo. 2016-10-29 11:54:51 -04:00
Monster Iestyn 2870e19f7f Take out fixedheight-based hacks for checking if floor or ceiling! Use an "isceiling" boolean for that instead
This apparently fixes most of the issues with ceiling slopes in Boinciel's SUGOI map
2016-07-27 19:56:21 +01:00
Alam Ed Arias 2c8008e11e NULL checks 2016-06-13 10:07:10 -04:00
Alam Ed Arias 1e507d3d1e added printf checks to hardware's I_Error 2016-06-12 16:08:48 -04:00
Alam Ed Arias 1e3631425f r_opengl: move DrawMD2i code to DrawMD2Ex 2016-06-12 16:08:48 -04:00
Monster Iestyn 4c422f6605 OpenGL: closed door/window detection code now accounts for slopes, just like in software 2016-06-04 18:31:21 +01:00
Monster Iestyn c863e311fe OpenGL: Fix upper texture Effect 1 only skewing 2016-06-01 19:22:54 +01:00
Monster Iestyn bf85cc25bd OpenGL: Fix lower unpegged texture offset, fix lower unpegged + effect 1 so the texture actually skews 2016-06-01 18:51:38 +01:00
Monster Iestyn 0081397920 OpenGL: Fix MD2s on player 2's screen breaking when reverse gravity is involved 2016-05-27 14:53:36 +01:00
Alam Ed Arias 20dcf138e2 hardware: let not break MSVC support 2016-05-27 01:28:21 -04:00
Alam Ed Arias 008be7c90d hardware: start the surf as clean 2016-05-27 01:19:16 -04:00
Alam Ed Arias 57091261d9 MSVC: fixed up MSVC project 2016-05-21 23:53:04 -04:00
Alam Ed Arias e2a5783521 Merge branch 'master' into next 2016-05-19 01:39:45 -04:00
Alam Ed Arias ab9f2ea831 MSVC: fixup Debug build linked 2016-05-18 21:11:30 -04:00
Alam Ed Arias 7058baed44 Merge branch 'master' into next 2016-05-18 20:07:27 -04:00
Alam Ed Arias 5aa48cf7ca fixed up old VS 2010 project to work with VS 2015, tested with FMOD/DirectX 2016-05-18 01:35:35 -04:00
Monster Iestyn f0bea2cebf Merge branch 'next' into gl-slopes 2016-05-02 22:51:51 +01:00
Alam Ed Arias 26f78de3b4 Merge branch 'master' into next 2016-04-30 11:45:11 -04:00
Sean Ryder 0eb41b4450 Flip fade mask Y coordinates
For some reason every texture and flat loaded into GL is vertically flipped
2016-04-30 13:40:00 +01:00
Sean Ryder d2d73f085d Change internal formats of screen fade texture to RGB
Don't think either of them need RGBA
2016-04-29 20:56:46 +01:00
Sean Ryder 55a1de899c The fade masks textures should use an alpha format
So they don't get effected by the texture format set by the screen depth
GL_RGB5_A1 from 16-bit was removing all alpha from the texture
2016-04-29 18:58:20 +01:00
Inuyasha b288d8a399 Merge branch 'bp_random2' into 'next'
xorshift* PRNG

This needs testing to ensure I didn't mess anything up switching function names around.

Our PRNG sucks. This is probably obvious. I wish I had known better at the time I implemented it, but oh well.

The replacement is an xorshift* PRNG variant with period 2^32 - 1 (meaning that the PRNG state will loop after four billion calls ... that's not likely to happen), versus the old PRNG's period of about 2^22 (?). The output is also much more random and less predictable; the old PRNG would fall into a predictable loop of output after about 4000 numbers were generated, which isn't much.

The PRNG here also outputs numbers as fixed point from [0,1) (that's 0 to FRACUNIT-1, in other words) instead of single bytes at a time. This makes it much easier to calculate things for, say, P_RandomRange and P_RandomKey. A new macro, P_RandomChance(p), is now in use that returns true _p_ percent of the time, where _p_ is a fixed_t probability from 0 (0%) to FRACUNIT (100%).

This doesn't affect netgames at all; the code for seed saving and restoring is identical (aside from a check to prevent seed being set to 0, which breaks xorshift PRNGs). Demos break, but A: _duh_ and B: they're already broken by all the changes to physics to accommodate slopes.

P_Random is deprecated in Lua, as the function was renamed to P_RandomByte. Aside from that, nothing special.

See merge request !64
2016-04-24 18:03:13 -04:00
Monster Iestyn d53801c85c Disable the corona-related consvars unless ALAM_LIGHTING macro is enabled 2016-04-21 18:50:30 +01:00
Monster Iestyn c833f3845f Merge branch 'next' into bp_random2 2016-04-20 18:18:28 +01:00
Monster Iestyn 11c24f5ab6 Merge branch 'next' into gl-slopes
# Conflicts:
#	src/hardware/hw_main.c
2016-04-09 22:12:29 +01:00
Inuyasha 0dd92e9396 V_DrawFill in OGL now consistent with software 2016-04-06 18:33:38 -07:00
Alam Ed Arias a935ac21e8 Merge branch 'next' into bp_random2 2016-03-30 20:40:48 -04:00
Alam Ed Arias 51aa7692d8 Merge branch 'master' into next 2016-03-30 20:15:08 -04:00
Alam Ed Arias d90536967d removed/remline ununsed code 2016-03-30 14:05:07 -04:00
Inuyasha ac03ce39c8 *_Random is now *_RandomByte.
P_RandomChance is now a macro for something that should happen a
certain percentage of time.

P_SignedRandom was moved to a macro. Nobody cared.

# Conflicts:
#	src/p_inter.c
2016-03-29 16:27:55 -07:00
Inuyasha 5a38088623 Well, we don't need "experimental" slopes anymore either
Not when we have properly working ones!
2016-03-09 01:09:21 -08:00
Alam Ed Arias 77dc27d070 Merge branch 'next' into backport_state-animations 2016-02-26 02:06:57 -05:00
Alam Ed Arias 0369f39ef4 Merge branch 'master' into gl-slopes 2016-02-22 00:15:26 -05:00
RedEnchilada bcd05b1c63 Also fixed it for MD2s 2016-02-21 23:04:14 -06:00
RedEnchilada ce793dfe28 Fix vissprite-related crashing in OGL 2016-02-21 22:50:29 -06:00
Monster Iestyn f87f1b7b1a Fixed compiler errors as well as a ton of tab spaces (apparently it's a common problem in this file anyway but whatever) 2016-02-21 11:37:59 -06:00
Monster Iestyn 5d1c8d2968 My cherry picking somehow lead to these functions being doubled ...whoops 2016-02-09 19:35:04 +00:00
Alam Ed Arias 6000b5c980 Merge branch 'master' into next 2016-02-09 14:13:50 -05:00
Sean Ryder ddb5652ab6 Tabbing 2016-02-09 18:05:19 +00:00
Sryder13 6b8c438e58 Change a few colours. 2016-02-09 18:05:11 +00:00
Sryder13 31deecc51c Colour Changing MD2s
I don't know how I can move my old branch over so I've just created a new one.
2016-02-09 18:04:59 +00:00
Monster Iestyn 700c9c2e70 Merge branch 'md2_colourchange' into 'master'
Colour Changing MD2s

What it says it is, I haven't touched it in quite a while, but I have checked and it seems to be working.

See merge request !30
2016-02-09 13:03:52 -05:00
Sean Ryder b7ebb8186d Fix MD2 interpolation for FF_ANIMATE states 2016-02-09 16:20:18 +00:00
Inuyasha f17be6641e Merge branch 'master' of http://git.magicalgirl.moe/STJr/SRB2 into pub_next 2016-02-03 18:00:28 -08:00
Monster Iestyn 0455b572dc Removed weird test for water planes in HWR_Subsector
It crashes when you try to test it anyway, lol
2016-02-03 17:58:44 -08:00
Inuyasha e6f0a4be18 Merge branch 'master' of http://git.magicalgirl.moe/STJr/SRB2 into pub_next 2016-01-29 16:01:57 -08:00
Inuyasha f500986692 use RGB for screen texture, not RGBA
the screen texture does not need an alpha channel.
the fact that it had one made OGL copy the topmost pixel of the screen texture's alpha channel.
which, naturally results in the screen becoming partially transparent and letting you see the working texture in the background.
2016-01-29 16:01:05 -08:00
yellowtd b3fbc37c94 Midtextures, lights, and culling fixes for ogl slopes
There's a weird issue with lights that's hard to diagnose but otherwise
this is ready to go I think
2016-01-27 20:10:02 -06:00
yellowtd e6235d4d6b Fix FOF slope rendering in ogl
should work as well as software if not better now
2016-01-27 20:09:52 -06:00
yellowtd 52ae3f2875 GL slope walls and fixed plane culling 2016-01-27 20:09:34 -06:00
yellowtd 24da82f026 Begin work on OGL slope support
unfinished
2016-01-27 20:09:04 -06:00
Sean Ryder 7d914913dd Tabbing 2016-01-20 15:55:32 +00:00
Monster Iestyn 4a8dd8031e dispoffset now works in OpenGL 2016-01-13 22:50:15 -08:00
RedEnchilada b9b1e2b298 Fix MD2s 2016-01-02 21:53:43 -06:00
Sryder13 d050a60f36 Change a few colours. 2015-08-03 02:01:56 +01:00
Sryder13 cc3d3a67e6 Colour Changing MD2s
I don't know how I can move my old branch over so I've just created a new one.
2015-07-26 20:14:47 +01:00
Alam Ed Arias f0054be951 whitespace fixup 2015-06-18 10:05:51 -04:00
MonsterIestyn a797e88bb9 Red's last commit should have been using "pgl", not "gl" for function name prefixes, so the compiler would be happy. Also, more simplicity in my camera code please! Simplified some of the checks for whether a camera should chase or not etc
git-svn-id: https://code.orospakr.ca/svn/srb2/trunk@9046 6de4a73c-47e2-0310-b8c1-93d6ecd3f8cd
2015-03-31 18:00:14 -04:00
RedEnchilada 308a958653 yellow wanted me to push this cus it fixed md2 translucency for her test cases
git-svn-id: https://code.orospakr.ca/svn/srb2/trunk@9045 6de4a73c-47e2-0310-b8c1-93d6ecd3f8cd
2015-03-31 18:00:14 -04:00
RedEnchilada ada9b6a9ea I was helping yellow debug a crash and we found out this thing never actually fixed the crash like it was supposed to so it's fixed now -3-
git-svn-id: https://code.orospakr.ca/svn/srb2/trunk@9044 6de4a73c-47e2-0310-b8c1-93d6ecd3f8cd
2015-03-31 18:00:14 -04:00
MonsterIestyn 6cff0bba70 Base draw distances on viewx/viewy coordinates, NOT the player object's coordinates (this can cause problems with things like skyboxes for instance). Splitscreen's player 2 should not affect what sprites player 1 can see, and vice versa! Especially not for precipitation, that just looks ridiculous.
git-svn-id: https://code.orospakr.ca/svn/srb2/trunk@9041 6de4a73c-47e2-0310-b8c1-93d6ecd3f8cd
2015-03-31 18:00:13 -04:00
MonsterIestyn af4c2fe391 Some minor cleanup for OpenGL sprite/MD2 code 2015-03-31 18:00:04 -04:00
MonsterIestyn 2d8868feca Made HWR_InitMD2 and HWR_AddSpriteMD2/HWR_AddPlayerMD2 slightly less stupid with MD2-related searches in md2.dat: *Don't go barmy and search for a player skin called "THOK" when you already found the sprite called "THOK" beforehand! (or any other sprite prefix for that matter) *Don't make errors appear only for the last sprite/skin when it doesn't make sense to do so!!
Todo: Stop the redundancy that currently goes on with adding MD2s on game start-up (note that HWR_AddSpriteMD2/HWR_AddPlayerMD2 are run for all sprites/skins BEFORE HWR_InitMD2 is called)

git-svn-id: https://code.orospakr.ca/svn/srb2/trunk@8988 6de4a73c-47e2-0310-b8c1-93d6ecd3f8cd
2015-03-01 19:38:00 -05:00
MonsterIestyn 8232dbca10 *Fixed OpenGL's handling of cv_translucency effects (should not remove shadows if off, but perhaps make them use default alpha?), someone was a bit hasty! *De-stupified the MD2 status checks regarding drawing of sprites - if they're already checked before calling HWR_DrawSprite, there's no point doing them WITHIN the function as well *Split off sprite shadow code into HWR_DrawSpriteShadow for convenience
git-svn-id: https://code.orospakr.ca/svn/srb2/trunk@8983 6de4a73c-47e2-0310-b8c1-93d6ecd3f8cd
2015-03-01 19:38:00 -05:00
Alam Ed Arias e28882a56d oh, nPlaneVerts is a size_t?, well, then we need to use sizeu#() 2015-01-10 17:27:24 -05:00
Alam Ed Arias f5cd1d5ebc add check on write failed in old TGA screenshot code 2015-01-10 17:26:29 -05:00
Alam Ed Arias 73b3287b19 SRB2 2.1.14 release 2015-01-01 14:50:31 -05:00
Sryder13 3f1bb6359f Merge remote-tracking branch 'upstream/master' 2014-11-14 22:21:07 +00:00
Sryder13 e90286ae52 Fix the polyobject crash 2014-11-14 22:19:44 +00:00
Ronald Kinard d056e82b3b Parse GL version correctly. 2014-11-13 18:20:32 -06:00
Ronald Kinard d8484a86e0 Virtual resolutions in OpenGL
Also made fades use core functions if they are available.
2014-11-13 18:06:38 -06:00
Alam Ed Arias 404b5f666c SRB2 2.1.12 release 2014-11-11 19:55:07 -05:00
Alam Ed Arias 6d773c54a5 Use OpenGL 1.3 in static builds and on SDL interfaces 2014-11-02 01:11:59 -05:00
JTE 9d1da548aa Fix hardware / r_opengl warnings. 2014-11-02 01:31:38 -04:00
Alam Ed Arias aa612bcf91 whiteline checkup 2014-11-02 01:31:36 -04:00
Sryder13 0c0ede6f18 OpenGL: Polyobject Planes 2014-10-27 20:57:45 +00:00
Sryder13 781dd16fa6 Fix THOK MD2's not rotating with camera
Will also fix any other case that an mobj has a skin and a single frame.
2014-09-10 00:22:39 +01:00
Sryder13 987f9f5c26 Quick sky fix 2
walls not extending down when a thok barrier has top textures and both
ceilings have sky.
2014-09-09 23:57:12 +01:00
Sryder13 cee8fff7b3 Quick sky fix
Avoid Z-Fighting on the depth wall with the regular walls to stop the
possibility of regular walls being made partially invisible.
2014-09-09 01:59:19 +01:00
Sryder13 b2852ec0f4 OpenGL: Sky culling
Gets rid of stuff being drawn where the sky should be being drawn.
2014-09-08 23:29:05 +01:00
Sryder13 bc0b5505a8 OpenGL: Fix sky drawing
sky positioning and scaling more correct compared to software.
2014-09-08 00:55:32 +01:00
Sryder13 ca0f0bf2fd OpenGL Fade masks
I think I've done this all right, someone correct me if I haven't.
2014-09-04 01:35:29 +01:00
Sryder13 da2b6f2c01 Fix certain textures with holes in
see: CEZ1 skybox in linear filtermodes.
2014-09-03 02:10:47 +01:00
Sryder13 d96eaa768c else added
less redundancy.
2014-08-30 14:36:18 +01:00
Sryder13 ae27ace7fe Polyobject translucency quick fix.
I realise what I did before may cause FOF's in the same sector to not be
drawn, if they were before.
2014-08-30 14:20:07 +01:00
Sryder13 278f2e9b66 Polyobject top/bottom texture + translucency
polyobjects do have top/bottom textures, silly.
And translucency.
2014-08-30 14:10:55 +01:00
Alam Ed Arias 7cb77075d1 SRB2 2.1.11 release 2014-08-26 23:56:30 -04:00
Alam Ed Arias c028c83235 SRB2 2.1.9 release 2014-08-03 23:49:33 -04:00
Alam Ed Arias f03e591f64 change SDL into HAVE_SDL 2014-07-25 19:10:24 -04:00
Alam Ed Arias b511294749 Merge remote-tracking branch 'Sryder13/master' 2014-05-27 15:14:55 -04:00
ilag 1af18c7013 Redo all changes I ended up losing trying to undo the mess I made.
Also, fix the issue pointed out by Alam.
2014-05-02 14:24:20 -07:00
Sryder13 46e84465e8 OpenGL: FOF Cutting Fix 2
Fixes Translucent FOF's cutting Solid FOF's.
2014-04-20 10:35:50 +01:00
Sryder13 a230368c3d Merge remote-tracking branch 'upstream/master' 2014-04-20 10:33:47 +01:00
Alam Ed Arias 8a9759a3e4 SRB2 2.1.8 release 2014-04-19 13:41:29 -04:00
Sryder13 bae7b5b2ac OpenGL: FOF cutting fix
Fixes any FOF's with FF_SOLID not cutting each other.
2014-04-19 17:21:30 +01:00
Sryder13 098eb28036 OpenGL Multi-Property FOF's
Multi-Property FOF's have their multiple side properties display in
OpenGL.
2014-04-17 13:02:34 +01:00
Sryder13 5b324924ff Undo MD2 Spin Frame Interpolation
Because apparently people don't like them like that.
2014-04-17 11:57:10 +01:00
Alam Ed Arias 02a3b0776c SRB2 2.1.7 release 2014-04-14 01:14:58 -04:00
Alam Ed Arias cec63aa4c0 restore ISO C90 support in r_opengl 2014-04-08 12:01:26 -04:00
Sryder13 b63e99efd8 OpenGL Screen Flip
Screen flipping in OpenGL is no longer done by inverting the screen
polygons.
2014-04-07 17:08:04 +01:00
Sryder13 7e04e679a9 Player Spin Frame MD2 Interpolation
Player spin frames on MD2's interpolate correctly when moving slowly.
2014-04-07 12:37:15 +01:00
Sryder13 56fbdfdad3 OpenGL Translucent Midtexture Fix
Translucent Midtextures using holes with textures in them now work when
there is no FOF's above their sector.
2014-04-05 22:13:09 +01:00
Sryder13 fc12fc7cd4 OpenGL Screen Fading Fix
Screen Wipes now work as they did in 2.0.x.
2014-03-31 23:47:12 +01:00
Sryder13 d75d7cd09a OpenGL Splitscreen Fix
First screen in split-screen is now not completely black.
2014-03-31 00:07:55 +01:00
Sryder13 9f0aacb059 MD2 Texture load fix
Fixes MD2's using sprites on the first frame when they're loaded.
2014-03-30 17:45:58 +01:00
Sryder13 fc978c79bb OpenGL wall Y offset
Fixed wall textures breaking when Y offset of the wall was too high.
2014-03-28 23:28:00 +00:00
Sryder13 b075d1e3fa Redwall sky gone
More redwall sky shenanigans gone.
2014-03-24 17:29:14 +00:00
Sryder13 9e10e3278b Negative Light
Light no longer goes wrong when lightlevel of a sector is negative.
2014-03-24 17:11:45 +00:00
Sryder13 770c7eeade LightLevelToLum gone
LightLevelToLum unused by everything now, it seemed to be giving wrong
values for lightlevels.
2014-03-24 16:11:25 +00:00
Sryder13 103258e364 OpenGL Flipped Patch Drawing
V_FLIP in OpenGL.
2014-03-23 23:37:44 +00:00
Sryder13 734d6b56f0 OpenGL Flashpal Flashes
Fixed flashes for OpenGL Nukes/Teleports etc.
2014-03-23 00:04:35 +00:00
Sryder13 9386b3900b OpenGL remove HOMs
Removes HOMs from OpenGL.
This also seems to have made skyboxes not draw ontop of everything else
on Intel GPU's.
2014-03-22 17:17:40 +00:00
Sryder13 1f452953b6 Post processor skybox
Post processing no longer done in the skybox.
2014-03-22 14:52:32 +00:00
Alam Ed Arias ed72bd8fa1 SRB2 2.1.4 release 2014-03-21 19:21:06 +00:00
Sryder13 c72fc0f10d Warning gone.
Hopefully.
2014-03-21 18:03:40 +00:00
Sryder13 24681013d1 Opaque translucent midtextures
Fixed translucent midtextures being opaque when there were multiple
lights in a sector.
2014-03-20 20:34:56 +00:00
Sryder13 dd16f58e38 OpenGL Skybox
OpenGL skyboxes.
Slight change to sky vertical offsetting.
2014-03-20 20:13:15 +00:00
Sryder13 2b80874646 MD2's replacing skinned mobj fix
MD2's that replace mobjs that have a skin, but the skin doesn't have an
MD2 now display.
2014-03-19 23:40:02 +00:00
Sryder13 ba0c93d814 MD2 & Patch drawing fixes
MD2's can be translucent again.
MD2's can use sprites instead of another random texture if they have no
texture.
Patches are drawn in the correct place on non aspect correct
resolutions.
Cropped Patches are drawn.
2014-03-19 23:10:37 +00:00
Alam Ed Arias b93cb1b65a SRB2 2.1 release 2014-03-15 13:11:35 -04:00