Christoph Oelckers
439e4f9f94
Merge remote-tracking branch 'remotes/origin/3.0_work'
2017-03-13 00:02:16 +01:00
Christoph Oelckers
d72623b9b5
- eliminated global in_area variable.
...
Removing this made me realize that calling the renderers' FakeFlat functions from the automap is inherently unsafe with the recent refactorings because there is absolutely no guarantee that the data may actually still be defined when the automap is being drawn.
So the best approach here is to give the automap its own FakeFlat function that runs independently of render data and assumptions of data preservation. This one can also be a lot simpler because it only needs the floor, not the ceiling info.
2017-03-12 23:13:07 +01:00
Magnus Norddahl
a663f71a9f
- Added thread safety to texture loading in the software renderer
2017-03-12 22:53:20 +01:00
Magnus Norddahl
00f6ed45a2
Make LightVisibility thread local
2017-03-12 20:40:00 +01:00
Christoph Oelckers
ef3421eee5
- moved dynamic lights out of the GL code into the common game code.
...
Since the true color software renderer also handles them there is no point keeping them on the GL side.
This also optimized how they are stored, because we no longer need to be aware of a base engine which doesn't have them.
2017-03-12 19:57:06 +01:00
Magnus Norddahl
6788b19e89
- stop using PORTSF_INSKYBOX flag in software renderer as it is not thread safe
2017-03-12 19:43:40 +01:00
Magnus Norddahl
3113db798d
Debug build compile fix
2017-03-12 19:10:52 +01:00
Magnus Norddahl
5fdbbc4f9e
Remove usage of r_viewpoint and r_viewwindow globals from software renderer and poly renderer
2017-03-12 18:54:39 +01:00
Christoph Oelckers
90c42519b7
- fixed changed variable inside an assert that apparently got overlooked because it got only compiled as release.
2017-03-12 01:59:41 +01:00
Christoph Oelckers
9b33d1dd18
Merge branch 'scene_multithreaded' of https://github.com/raa-eruanna/qzdoom into 3.0_work
...
# Conflicts:
# src/gl/scene/gl_clipper.cpp
# src/gl/scene/gl_portal.cpp
# src/gl/scene/gl_scene.cpp
# src/swrenderer/scene/r_scene.cpp
2017-03-12 00:38:55 +01:00
Christoph Oelckers
0aa0db637c
- started adding a SceneDrawer class to the OpenGL renderer.
...
This will eventually hold all the global variables for the rendering.
2017-03-12 00:19:20 +01:00
Magnus Norddahl
0c9014b984
- move r_utility globals into r_viewpoint and r_viewwindow
...
- change r_utility functions to only work on FRenderViewpoint and FViewWindow
2017-03-11 23:28:07 +01:00
Christoph Oelckers
921abc404d
- fixed GCC warnings and errors
...
(Is there anyway to tone down GCC's warning level? It outputs too many false positives for potentially uninitialized variables in which the genuine errors get drowned.)
2017-03-11 19:02:35 +01:00
Magnus Norddahl
77a388e908
Fix default palette for voxel BGRA slab data and support translated 8-bit slab data in true color mode
2017-03-11 18:31:53 +01:00
Rachael Alexanderson
81291e6892
- fixed: Clang on Linux compile
2017-03-11 11:01:30 -05:00
Magnus Norddahl
d75e09f545
Fix span dynamic light rendering glitch
2017-03-10 12:25:18 -05:00
Magnus Norddahl
b6ea5944d3
Fix crash when vid_hw2d is off
2017-03-10 12:24:09 -05:00
Rachael Alexanderson
9d5f8ba250
- fixed: P_AlignFlat's y-offset data was ignored when calculating plane offsets for the final render
2017-03-10 12:04:43 +01:00
Rachael Alexanderson
bb1d29d491
- Fixing r_voxel's license.
2017-03-10 12:04:43 +01:00
Christoph Oelckers
bd7476fb8d
- untangled r_defs.h from actor.h
...
Both files can now be included independently without causing problems.
This also required moving some inline functions into separate files and splitting off the GC definitions from dobject.h to ensure that r_defs does not need to pull in any part of the object hierarchy.
2017-03-10 02:22:42 +01:00
Christoph Oelckers
4de0f8b1fa
- compile both poly and sw renderer as one unit, because due to the includes this gets really slow otherwise. Lumping these together saves 50 seconds per build on my system with a 3.4 GHz Core i7 and an SSD for storage, so on other systems it may be even more.
2017-03-10 00:43:36 +01:00
Christoph Oelckers
9b87a167d7
- replaced a large batch of DWORDs.
...
Most of those which still rely on ZDoom's own definition should be gone, unfortunately the code in files that include Windows headers is a gigantic mess with DWORDs being longs there intead of ints, so this needs to be done with care. DWORD should only remain where the Windows type is actually wanted.
2017-03-09 20:19:55 +01:00
Christoph Oelckers
d2beacfc5f
- except for DWORD, all homegrown integer types are gone - a handful were left where they represent genuine Windows types.
2017-03-09 19:54:41 +01:00
Christoph Oelckers
c008ddaf66
- replaced homegrown SWORD, SBYTE and uint32_t types.
2017-03-09 19:31:45 +01:00
Rachael Alexanderson
4d70b01da5
- followed through with GZDoom's SQWORD removals.
2017-03-08 21:35:20 -05:00
Magnus Norddahl
279fa7e886
Non-SSE version of the sky drawers
2017-03-08 23:35:13 +01:00
Magnus Norddahl
65f8d65858
Minor code clean up
2017-03-06 23:27:02 +01:00
Rachael Alexanderson
cb8b2de287
- somehow, this missed a few.
2017-03-06 16:58:48 -05:00
Rachael Alexanderson
28abc96aef
- fully implemented "nolightfade" to turn off diminishing lights in the software renderer.
...
- unfortunately, LIGHT2SHADE had to be transformed into a namespaced function.
2017-03-06 16:14:54 -05:00
Rachael Alexanderson
5c3b9d81ad
Merge remote-tracking branch 'origin/no-diminishing-light'
2017-03-06 13:47:33 -05:00
Rachael Alexanderson
effe8a1e80
Revert "- started adding ARM support. incomplete. won't compile. don't try."
...
This reverts commit be8abba344
.
2017-03-05 13:07:25 -05:00
Magnus Norddahl
eb7955694b
Disable diminishing light in software renderer
2017-03-05 16:57:58 +01:00
Rachael Alexanderson
be8abba344
- started adding ARM support. incomplete. won't compile. don't try.
2017-03-04 16:50:42 -05:00
Rachael Alexanderson
869de7554f
- fixed: Opening automap without 2D acceleration and rgb666 blending crashed due to bad color calculations. (Attempted to pass rgb888 values into rgb666 array)
2017-02-27 12:15:17 -05:00
Rachael Alexanderson
bd61e9f3f4
- Disabled dynlights during invulnerability/lightamp (or any FixedColormap or FixedLightLevel)
2017-02-27 08:20:26 -05:00
Rachael Alexanderson
e7a1a59053
- Disabled alpha-masking textures for now, since they do not yet work. (needs texman fix)
2017-02-25 16:36:57 -05:00
Rachael Alexanderson
9b40aa9605
- Fixed two typos as identified by dpJudas.
2017-02-25 15:32:50 -05:00
Magnus Norddahl
735157aea4
Bump minimum architecture to SSE 2 on the x86 platform (a Pentium 4 from 2001!)
2017-02-25 01:22:54 +01:00
Magnus Norddahl
e697746e7d
Remove the php drawers and their generated output
2017-02-24 16:59:45 +01:00
Magnus Norddahl
51b872b30b
Created template version of sprite drawers
2017-02-24 16:52:13 +01:00
Magnus Norddahl
d3812e32f8
Created templated version of wall drawers
2017-02-24 15:31:47 +01:00
Magnus Norddahl
2a7bdaad79
Switched to a template version of the span32 drawers
2017-02-24 13:56:20 +01:00
Magnus Norddahl
616e800635
Don't copy the SpriteDrawerArgs members now that drawer args are grouped by drawer family
2017-02-24 04:32:40 +01:00
Magnus Norddahl
218708571e
Don't copy the SkyDrawerArgs members now that drawer args are grouped by drawer family
2017-02-24 04:03:27 +01:00
Magnus Norddahl
f76a039a76
Don't copy the WallDrawerArgs members now that drawer args are grouped by drawer family
2017-02-24 02:37:13 +01:00
Magnus Norddahl
8bd0df1ace
Simplify CalcTiltedLighting in hope that this function is what made GCC break
2017-02-23 23:53:38 +01:00
Magnus Norddahl
b4b391c51e
Fix palette light artifacts caused by dynamic lights in some rare cases
2017-02-23 23:13:21 +01:00
Magnus Norddahl
4d161fbd42
Add dynamic light to sprites in palette mode
2017-02-23 21:50:16 +01:00
Magnus Norddahl
832790f5ba
Fix sprite light bug
2017-02-23 21:08:08 +01:00
Rachael Alexanderson
10e268ebc0
- Change "clipmidtex" compatflag to be accessible in compatibility.txt only.
2017-02-23 06:32:53 -05:00
Magnus Norddahl
3c3917f1f3
Change dynlight sprite math to not overflow when used with dynamic colormaps
2017-02-23 10:55:44 +01:00
Magnus Norddahl
0702e4523d
Fix that sprite light wasn't calculated using the center of the sprite
2017-02-23 09:27:00 +01:00
Magnus Norddahl
56045c1293
Remove r_drawers.h and move softpoly drawer related stuff out of the swrenderer
2017-02-23 09:02:13 +01:00
Magnus Norddahl
ad507ca246
Removed drawergen tool and all LLVM dependencies (don't let the door hit you on your way out, llvm!)
2017-02-23 08:28:18 +01:00
Magnus Norddahl
c5683bbde5
Clamp dynlights to 0-1 range on sprites
2017-02-23 07:49:02 +01:00
Magnus Norddahl
92e6f070b4
Fix sprite dynlight distance check
2017-02-23 07:05:21 +01:00
Magnus Norddahl
ef41e8e54e
Add dynamic light to sprites
2017-02-23 06:01:01 +01:00
Magnus Norddahl
c6235fb674
Added light to span drawers
2017-02-23 04:26:37 +01:00
Magnus Norddahl
e9efb64a0b
Fix light offset
2017-02-23 03:50:24 +01:00
Magnus Norddahl
01a8df7eb3
Add dynlights to wall drawer
2017-02-22 08:05:23 +01:00
Magnus Norddahl
e73031b3c9
Added sky drawers
2017-02-21 01:25:08 +01:00
Magnus Norddahl
5fa5b062d6
Added php script for the span drawers
2017-02-20 22:49:52 +01:00
Magnus Norddahl
fe854fb71f
Fix php drawer blend modes
2017-02-20 07:09:30 +01:00
Magnus Norddahl
ee3bcb6f78
Fix sampling
2017-02-19 03:51:49 +01:00
Magnus Norddahl
dfcfd0462f
Hook up sprite php drawers (but disable them for now as they don't fully work yet)
2017-02-19 01:23:16 +01:00
Magnus Norddahl
2bedfca071
Add php script for sprite drawers
2017-02-19 00:49:46 +01:00
Magnus Norddahl
8f06b5f9a1
Updated wall drawers to process two lines at a time
2017-02-18 09:17:47 +01:00
Magnus Norddahl
097dda38a9
Hook up all php generated wall drawers and enable them per default
2017-02-18 05:34:26 +01:00
Magnus Norddahl
89a2e434d4
Fix typo where __m128 should have been __m128i
2017-02-17 23:03:48 +01:00
Magnus Norddahl
4240a15f3a
Hook up php generated wall drawer
2017-02-17 22:58:55 +01:00
Magnus Norddahl
e42f914efa
Added php script generating the 32 bit wall drawers
2017-02-17 05:34:33 +01:00
Magnus Norddahl
01cbb14f14
Change wall project to use the fixed version from GZDoom as it was most likely more tested
2017-02-15 13:26:43 +01:00
Magnus Norddahl
fc97ef0913
Fix palette fog boundary rendering error
2017-02-15 13:01:00 +01:00
Magnus Norddahl
eac98ac226
Calculate sprite dynamic light contribution and pass it along to the sprite drawer
2017-02-14 06:37:06 +01:00
Magnus Norddahl
5ef8ecce2a
Fix wall scroller direction
2017-02-14 02:52:41 +01:00
Magnus Norddahl
9159e3b1f0
Move software canvas drawing to its own file in the software renderer
2017-02-13 17:32:52 +01:00
Magnus Norddahl
10b36934c2
Fix vid_hw2d 0 translation bug
2017-02-13 16:13:24 +01:00
Magnus Norddahl
69787fac72
Fix translation issue
2017-02-13 15:08:11 +01:00
raa-eruanna
a2edca6032
- fix at least one of the GCC errors
2017-02-13 07:01:44 -05:00
Magnus Norddahl
22be201fc7
Split line drawing into more functions
2017-02-13 00:00:25 +01:00
Magnus Norddahl
83332562f1
Fix skyhack
2017-02-12 07:37:18 +01:00
Magnus Norddahl
bb749c032a
Create SetTopTexture, SetMiddleTexture and SetBottomTexture
2017-02-12 07:24:35 +01:00
Magnus Norddahl
b5c5bd9a1c
Create ClipSegmentTopBottom function
2017-02-12 06:44:03 +01:00
Magnus Norddahl
8d25a6d8d4
rw_offset is not a member variable
2017-02-12 06:23:57 +01:00
Magnus Norddahl
0dadf38bbe
Create WallPartTexture class
2017-02-12 06:17:38 +01:00
Magnus Norddahl
9123c71bb6
Fix clang warning
2017-02-12 03:25:17 +01:00
Magnus Norddahl
5a85fabfa6
Add true color support to voxel renderer
2017-02-12 01:27:26 +01:00
Magnus Norddahl
0cea344dce
Fix voxel clipping bug
2017-02-11 23:23:34 +01:00
Magnus Norddahl
8c5360e547
Enable Ken Silverman's voxel drawing code now that he has given us permission to license it as GPL
2017-02-11 22:10:52 +01:00
Magnus Norddahl
3e28d53308
Move rw_havelow and rw_havehigh to local function variables
2017-02-11 20:27:11 +01:00
Magnus Norddahl
9e2702d885
Move more encrypted code into IsInvisibleLine, IsDoorClosed and IsSolid
2017-02-11 20:01:23 +01:00
Magnus Norddahl
1983dd2483
Move code closer to where it is used
2017-02-11 19:13:26 +01:00
Magnus Norddahl
1141e05fdf
Decipher some line setup code into ShouldMarkFloor, ShouldMarkCeiling and ShouldMarkPortal
2017-02-11 18:52:49 +01:00
Magnus Norddahl
c17317de24
Rename variables and group them a little more how they are used
2017-02-11 18:00:02 +01:00
Magnus Norddahl
3c0d769499
Fix portals draw segment indexing bug
2017-02-09 22:58:28 +01:00
Magnus Norddahl
c16aa3d361
Fix crouch player sprite
2017-02-09 12:18:40 +01:00
Magnus Norddahl
371dd98102
Show player in mirrors and portals
2017-02-09 05:57:37 +01:00
Magnus Norddahl
388c511e11
Fix portal sprite clipping bugs
2017-02-09 05:42:15 +01:00
Magnus Norddahl
2d25002e2a
Fix InterestingSegments not being properly resized in PopPortal
2017-02-08 02:59:25 +01:00
Magnus Norddahl
4f73a722af
Merge remote-tracking branch 'gzdoom/master' into qzdoom
...
# Conflicts:
# src/r_draw.cpp
2017-02-08 00:34:19 +01:00