Light2D shadow mask construction fix

When using the default setting (layer 1 set only) nothing is stored in the tscn file for a Light2D, hence it relies on the value in the constructor.

The problem is the constructed value is 1 in Light2D, and -1 in RasterizerCanvas::Light. -1 results in all bits being set so all occluders are shown, rather than just those in layer 1.

This PR changes Rasterizer::Canvas constructor to set to 1. An alternative is to have -1 as the value for layer 1 throughout.
This commit is contained in:
lawnjelly 2020-05-30 09:05:33 +01:00
parent f108037cbf
commit bf54fa5a62
1 changed files with 1 additions and 1 deletions

View File

@ -665,7 +665,7 @@ public:
item_mask = 1; item_mask = 1;
scale = 1.0; scale = 1.0;
energy = 1.0; energy = 1.0;
item_shadow_mask = -1; item_shadow_mask = 1;
mode = VS::CANVAS_LIGHT_MODE_ADD; mode = VS::CANVAS_LIGHT_MODE_ADD;
texture_cache = NULL; texture_cache = NULL;
next_ptr = NULL; next_ptr = NULL;