Commit graph

356 commits

Author SHA1 Message Date
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
Magnus Norddahl
b36444ca1c Fix camera shader colormap (invulnerability effect) not getting applied to hardware accelerated player sprites 2017-02-07 20:43:41 +01:00
Magnus Norddahl
58495ea714 Renamed Clip3DFloors to Clip3D to fix gcc compile error 2017-02-06 16:04:27 +01:00
Magnus Norddahl
7e6c91d73c Remove yslope loopup table and StepColumn 2017-02-06 15:15:09 +01:00
Rachael Alexanderson
9c50600286 - fix compile errors 2017-02-05 00:53:36 -05:00
Magnus Norddahl
4172d70d95 Make Frozen Time rendering 4 times faster by grouping draw segments in batches of 100 (old algorithm processed 32000 draw segs per sprite!) 2017-02-05 00:42:42 +01:00
Magnus Norddahl
bf6ab1efc8 Clip sprites by thread slice 2017-02-04 21:55:56 +01:00
Magnus Norddahl
d1cbb76b63 Only render player sprites on main thread 2017-02-04 21:00:05 +01:00
Magnus Norddahl
beae9a3dc7 Stop using validcount for sprites 2017-02-04 20:32:06 +01:00
Magnus Norddahl
cfe4c55973 Remove software renderer internals from F3DFloor 2017-02-04 19:13:56 +01:00
Magnus Norddahl
8ad132b64f Execute scene slices on worker threads 2017-02-04 16:45:36 +01:00
Magnus Norddahl
d9e545a519 Hook up thread slices and eliminate some statics hiding in misc functions 2017-02-04 15:51:54 +01:00
Magnus Norddahl
f50532af8a Reorder scene setup to do the stuff that can't be threaded first 2017-02-04 14:20:58 +01:00
Magnus Norddahl
5bae06a3c6 Make RenderScene the work dispatching class 2017-02-04 14:00:21 +01:00
Magnus Norddahl
5105a5d254 Fix msvc compile error 2017-02-04 13:43:39 +01:00
Magnus Norddahl
6f5e720576 Split drawer command queue from drawer threads 2017-02-04 12:38:05 +01:00