Commit Graph

12311 Commits

Author SHA1 Message Date
Christoph Oelckers 7d8d69d01b - fixed: The clipper for the main scene may not be initialized before the camera textures have been drawn.
It looks like the memory management at use here is not capable of maintaining multiple instances simultaneously and the camera textures create another scene drawer so the initialization of the main scene drawer has to be delayed until after the camera textures are done.
2017-03-17 19:28:47 +01:00
alexey.lysiuk 3f7160183d Fixed compilation with GCC/Clang
src/p_blockmap.h:76:7: error: extra qualification ‘FBlockmap::’ on member ‘VerifyBlockMap’
2017-03-17 17:42:28 +02:00
Christoph Oelckers d506b2e6a1 - fixed code generation bug with bad class names in DECORATE.
- print attenuation info with 'listlights' CCMD.
2017-03-17 16:00:04 +01:00
Christoph Oelckers 33d36157c8 - moved the blockmap into a substructure of FLevelLocals.
This part can certainly improved a lot but the most important thing, grouping all those global variables into one place, is done.
2017-03-17 14:24:21 +01:00
Christoph Oelckers f864a09faa - moved more varialbles into FLevelLocals. 2017-03-17 12:49:43 +01:00
Christoph Oelckers ea1d6634f7 - moved the Zones array into FLevelLocals.
- replaced TStaticArray with regular TArrays.

They had incomplete implementations preventing proper cleanup of the level loading code. It makes more sense to add the missing methods to the regular TArray and use that.
This also makes some changes to how the game nodes are used to avoid creating a copy: If the head node's pointer is stored in a separate variable, no code needs to check which of the two arrays gets used.
2017-03-17 12:11:37 +01:00
alexey.lysiuk c1b774e809 Fixed compilation with GCC/Clang
src/p_glnodes.cpp:670:3: error: cannot jump from this goto statement to its label
src/p_glnodes.cpp:682:4: error: cannot jump from this goto statement to its label
2017-03-17 12:34:05 +02:00
Christoph Oelckers 309d086a15 - GCC complained about this part. 2017-03-17 10:16:04 +01:00
Christoph Oelckers 39b329e3f7 - this was accidentally left in. 2017-03-17 10:12:47 +01:00
Magnus Norddahl fc0f2292ab - add non-sse version of the sprite drawers
- fix some typos
2017-03-17 08:44:33 +01:00
Magnus Norddahl 1435832b09 - added non-sse span drawers 2017-03-17 07:36:02 +01:00
Magnus Norddahl 5644b2c0fd Create non-sse version of the wall drawers 2017-03-17 06:58:36 +01:00
Magnus Norddahl a6e47b571f - change _mm_load_ss to _mm_set_ss just in case compilers are really dumb 2017-03-17 06:19:26 +01:00
Christoph Oelckers fea4079b7c - moved nodes into FLevelLocals. 2017-03-17 01:42:37 +01:00
Christoph Oelckers f818d25542 - last commit deleted a small piece of code. 2017-03-17 00:31:15 +01:00
Christoph Oelckers f201dab534 - moved the subsectors into FLevelLocals. 2017-03-17 00:22:52 +01:00
Christoph Oelckers 59b684bdbc - moved the segs array into FLevelLocals. 2017-03-16 21:34:04 +01:00
Christoph Oelckers 2b2c986bd0 - cleanup of GL renderer interface and improper header use in software renderer. 2017-03-16 21:34:03 +01:00
Christoph Oelckers 245a9ef80c - fixed MenuItemBase.OnMenuCreated was not declared virtual. 2017-03-16 21:34:03 +01:00
Magnus Norddahl 1f109a5deb - fix wrong particle Y offset 2017-03-16 19:15:42 +01:00
Rachael Alexanderson 55b95e68db - Restored a file that apparently worked fine back at a certain commit (0176c29). 2017-03-16 13:55:10 -04:00
Magnus Norddahl dbea29e02c - added missing memory barrier 2017-03-16 17:58:41 +01:00
Magnus Norddahl f1b03b48e9 - add thread safety to GetSpecialLights 2017-03-16 17:53:12 +01:00
Christoph Oelckers b529b1e3a7 - removed several unneeded GL headers from the software renderer's sources.
- consolidated the code to calculate a sprite's display angle for all 3 renderers.

As it turned out, they all differed in their feature support because they had always been updated independently by different people.
2017-03-16 13:49:34 +01:00
Christoph Oelckers 005e6871f9 - increased the snd_channels default and minimum.
The values were still 8 and 32 respectively which applied to hardware from last decade, but for modern mods these are simply too low. New values are 64 as minimum and 128 as default.

- added script access to a sector's colormap and specialcolors fields. (Writing only through dedicated functions because these fields are render state which may need to trigger some form of refresh if the renderer changes.)
2017-03-16 10:38:56 +01:00
alexey.lysiuk 889a2ae6aa Fixed compilation with GCC/Clang 2017-03-16 11:13:02 +02:00
Christoph Oelckers 3aa7687d91 - made 'nocoloredspritelighting' a global option and also implemented it in the software renderer. 2017-03-16 00:56:03 +01:00
Christoph Oelckers 91da8aecdb - fixed fog init for SW Truecolor. 2017-03-15 23:38:12 +01:00
Christoph Oelckers 76d3ae5ba2 made the sector's color_* properties work in the software renderer.
With no 3D floors this appears to be ok, but there are so many places where colormaps are being set in the software renderer that I cannot guarantee that I got all of them correct. This will need some testing.
2017-03-15 23:24:53 +01:00
Christoph Oelckers 921bc763fb - separated the software-renderer-specific parts of colormap processing from the common parts.
- moved testcolor and test fades into SWRenderer files.

These CCMDs work by hacking the default colormap and were never implemented for hardware rendering because they require many checks throughout the code.
2017-03-15 22:04:59 +01:00
Christoph Oelckers cd015f9340 - make the colormap comparison against NormalLight inline because this is by far the most frequent case and any cycle being saved here counts. 2017-03-15 22:04:59 +01:00
Christoph Oelckers 9a24771a7d - refactored FDynamicColormap out of sector_t.
This has increasingly become an obstacle with the hardware renderer, so now the values are being stored as plain data in the sector, with the software renderer getting the actual color tables when needed. While this is a bit slower than storing the pregenerated colormap, in realistic situations the added time is mostly negligible in the microseconds range.
2017-03-15 22:04:59 +01:00
Rachael Alexanderson a2fc2fb707 - Add new drawer: AddClampShadedSprite
- fixed: AddShaded did not have a drawer associated with it in the software renderer - used new drawer for this purpose.
2017-03-15 14:40:22 -04:00
Christoph Oelckers d0c77d7264 - added a GetRenderStyle function to Actor, so that the internal render style can be retrieved in a format suitable for scripting. 2017-03-15 10:36:41 +01:00
Magnus Norddahl fea2361815 - fix broken voxel palette colors when using the game palette 2017-03-15 04:33:01 +01:00
Magnus Norddahl 225ce82a5a - turned r_scene_multithreaded back off as zdcmp2 revealed some problems 2017-03-15 04:01:28 +01:00
Magnus Norddahl 366d1637ce - enable r_scene_multithreaded 2017-03-15 03:01:43 +01:00
Magnus Norddahl 80f9c81e36 - move PrepareTexture out of the inner drawer loops 2017-03-15 02:59:33 +01:00
Christoph Oelckers 64bdc8c495 - fixed some incomplete checks for static arrays.
- made AActor::OkaytoSwitchTarget scripted virtual.
2017-03-15 01:39:59 +01:00
Christoph Oelckers d283beb063 - implemented static constant arrays in class scope. 2017-03-14 23:55:30 +01:00
Magnus Norddahl 93908bc2ef - fix crash if a worker thread is the first thread to queue drawer commands 2017-03-14 23:47:41 +01:00
Magnus Norddahl 3838ec3edc - allow drawer queues to run immediately to improve r_scene_multithreaded performance
- removed unused pass ranges in DrawerThread
2017-03-14 23:03:14 +01:00
Christoph Oelckers 6926875b21 - allow parsing of static constant arrays in class scope.
This is only the parsing part, the arrays are not yet getting evaluated.
This required quite a hacky workaround because the gramma couldn't be made to accept the rule. The scanner will check if a 'static' token is immediately followed by a 'const' token and will combine both to a new 'staticconst' token that does not create conflicts with other rules.
2017-03-14 20:22:37 +01:00
Christoph Oelckers 539af96b8e - fixed variable size mismatch and some warnings for 32 bit builds. 2017-03-14 18:48:51 +01:00
Christoph Oelckers d86bd470e5 - moved two MAPINFO settings that are not exclusively used by the OpenGL renderer to the common code. 2017-03-14 18:31:11 +01:00
alexey.lysiuk e1cd034698 Fixed compilation with GCC/Clang 2017-03-14 18:24:34 +02:00
Christoph Oelckers 3c6e9f361c - fixed typo in fog boundary check. 2017-03-14 16:13:00 +01:00
alexey.lysiuk 6b8ea7ead3 Fixed comparison of class names for functions and fields
https://mantis.zdoom.org/view.php?id=426
2017-03-14 15:50:05 +01:00
Christoph Oelckers 44a087554f - moved the OpenGL fog properties to FLevelLocals to simplify their handling.
- added access to the glow properties for ZSCript and ACS.
2017-03-14 13:54:24 +01:00
Christoph Oelckers 72ecaba50a - fixed: When vr_quadbuffering is on and context creation fails, first retry without it before falling back on the compatibility handler. 2017-03-14 13:50:33 +01:00