Commit Graph

11390 Commits

Author SHA1 Message Date
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
Rachael Alexanderson ebb8da563a Merge https://github.com/coelckers/gzdoom 2017-02-04 02:56:18 -05:00
Magnus Norddahl 45f623faf4 Move frame memory allocator into RenderThread 2017-02-04 02:50:52 +01:00
Magnus Norddahl 627a388d57 Move renderer singletons into a RenderThread class 2017-02-04 00:25:37 +01:00
Christoph Oelckers d5962b290c - turned all menu items into actual objects.
This is needed for script export.
2017-02-03 21:35:42 +01:00
Magnus Norddahl 4fadc4e9a3 Fix typo 2017-02-03 21:25:51 +01:00
Magnus Norddahl da346427d3 Change draw segment list to use TArray 2017-02-03 21:11:55 +01:00
alexey.lysiuk c6e42d6fa0 Added handling of modifier keys for mouse events in Cocoa backend 2017-02-03 22:01:34 +02:00
alexey.lysiuk f04b0d129d Removed useless assignment in Cocoa backend 2017-02-03 21:56:14 +02:00
Christoph Oelckers 82eae78f7e - fixed a small memory leak in the texture manager. 2017-02-03 13:11:55 +01:00
Christoph Oelckers 075cce98c4 - fixed: PlayerPawn.GetEffectTicsForItem read the duration from the wrong actor. 2017-02-03 10:41:38 +01:00
Christoph Oelckers a5f417b1e5 - removed all uses of BYTE as function return value or functio parameter from the dynamic light code.
These were truncating the actual light values.
2017-02-03 10:13:41 +01:00
Magnus Norddahl 812cc61b16 Fix some typos 2017-02-03 09:08:00 +01:00
Magnus Norddahl 892350ac2e Add functions to CameraLight 2017-02-03 09:00:46 +01:00
Magnus Norddahl a0a40281b3 Simplify skyplane light selection 2017-02-03 08:19:59 +01:00
Magnus Norddahl 191438b238 Move Drawers function to viewport 2017-02-03 08:06:47 +01:00
Christoph Oelckers 1515ab8f4a - removed the long broken and obsolete PlayMovie code. 2017-02-02 23:21:21 +01:00
Magnus Norddahl c219969b68 Fix blinking wall light regression 2017-02-02 18:46:21 +01:00
Magnus Norddahl 7b4d9675c9 Fix compile errors 2017-02-02 15:24:21 +01:00
Magnus Norddahl e90b73539e Move viewport drawing to its own folder 2017-02-02 15:10:06 +01:00
Magnus Norddahl d8c6f9acfd Limit access to sprite drawer variables 2017-02-02 13:51:41 +01:00
Magnus Norddahl f3d968cf41 Move wall drawer args into functions 2017-02-02 11:16:18 +01:00
Rachael Alexanderson 226e5238fc Merge https://github.com/coelckers/gzdoom 2017-02-01 21:57:37 -05:00
Magnus Norddahl 69b7312099 Add some transform helpers on RenderViewport 2017-02-01 23:23:10 +01:00
Magnus Norddahl d91e6ccece Remove dc_destorg and ylookup 2017-02-01 22:24:34 +01:00
Magnus Norddahl ca93d7456a Change redundant bRenderingToCanvas into a helper function 2017-02-01 21:59:48 +01:00
Magnus Norddahl bb0a223b80 Remove unused dc_destheight 2017-02-01 21:55:55 +01:00
Magnus Norddahl 7b578bbb53 Remove redundant dc_pitch 2017-02-01 21:52:29 +01:00
Magnus Norddahl 93166fa150 Remove r_swtruecolor variable as it is redundant 2017-02-01 21:42:08 +01:00
Christoph Oelckers becc00a8be - added a check to P_VerifyBlockmap to discard all blockmap with blocks whose first entry is not 0.
Seems someone has written a node builder which violates this long-standing assumption (https://www.doomworld.com/vb/source-ports/92468-introducing-zokumbsp/)
However, rather than second-guessing the format's correctness it's more advisable to just discard such blockmaps to avoid some less obvious issues that may creep up.
2017-02-01 21:40:47 +01:00
Christoph Oelckers d663f31e77 - removed the annoying assert in the dynamic light code.
I don't think that any of the remaining situations are a genuine problem, so let's just set the radius to the larger value.
2017-02-01 19:24:05 +01:00
Christoph Oelckers a59a9e7420 - missed one. 2017-02-01 19:17:56 +01:00
Christoph Oelckers 6bfbff2a69 - renamed RF_INTERPOLATE to RF_INTERPOLATEANGLES to avoid confusion about its meaning. 2017-02-01 19:11:14 +01:00
Major Cooke d55f1d3f6f - Adopted Nash's code for handling models with INTERPOLATE. 2017-02-01 19:09:18 +01:00
Major Cooke 39fcea9176 Added INTERPOLATE actor flag, allowing the previously reverted interpolation code to be toggleable. 2017-02-01 19:09:18 +01:00
Christoph Oelckers 04988a331b - fixed warning. 2017-02-01 19:07:41 +01:00
Magnus Norddahl e78e76a593 Move r_viewport variables into a class 2017-02-01 16:02:21 +01:00
Christoph Oelckers b77a0eb7cf - let D_PageDrawer always clear the background.
The math in DCanvas::FillBorder does not always work out so better clean the entire screen before drawing a fullscreen image to ensure that the menu blend is always drawn over something valid.
2017-02-01 11:44:13 +01:00
Christoph Oelckers bc29f61bfd - set the default for menu mouse input to 'touchscreen-like' because there's too much hardware out there which doesn't play nice with mouse input events. 2017-02-01 11:25:28 +01:00
Christoph Oelckers 6d28aa3541 - do not use strtol for parsing critical values that can get large.
This function will truncate everything that is larger than LONG_MAX or smaller than LONG_MIN to fit into a long variable, but longs are 32 bit on Windows and 64 bit elsewhere, so to ensure consistency and the ability to parse larger values better use strtoll which does not truncate 32 bit values.
2017-02-01 11:19:55 +01:00