mirror of
https://github.com/ddnet/ddnet.git
synced 2024-10-20 15:58:18 +00:00
ab3c6c4353
Call `EnvelopeEval` functions directly instead of passing them and their arguments to `CRenderTools::RenderTilemap` and `CRenderTools::RenderTileRectangle`. Only evaluate color envelopes for tiles layers once instead of separately for the opaque and transparent passes. Only evaluate relevant number of envelope channels instead of always evaluating all channels. Avoid unnecessary calculations by only evaluating position envelopes for quads which are not fully transparent. Fully ignore layer color and envelope color for entities layers, as these cannot be specified in the editor and should not be changeable. Remove duplicate and insufficient checks for invalid envelope index before calling `EnvelopeEval`. Instead, set the correct default for all channels before calling `EnvelopeEval` and only change the result on success. Now, white color will consistently be assumed for invalid color envelopes, zero positions and rotations for invalid position envelopes, and full volume for invalid sound envelopes. Validate number of envelope channels to prevent crashes. When loading maps containing envelopes with invalid number of channels (not equal to 1, 3 or 4), the number of channels of these envelopes is reset to 4 and an error message is displayed, so the mapper can examine all channels' data and transfer it to another envelope if necessary. Closes #7985. |
||
---|---|---|
.. | ||
mapitems | ||
auto_map.cpp | ||
auto_map.h | ||
component.cpp | ||
component.h | ||
editor.cpp | ||
editor.h | ||
editor_action.h | ||
editor_actions.cpp | ||
editor_actions.h | ||
editor_history.cpp | ||
editor_history.h | ||
editor_object.cpp | ||
editor_object.h | ||
editor_props.cpp | ||
editor_server_settings.cpp | ||
editor_server_settings.h | ||
editor_trackers.cpp | ||
editor_trackers.h | ||
editor_ui.h | ||
explanations.cpp | ||
layer_selector.cpp | ||
layer_selector.h | ||
map_grid.cpp | ||
map_grid.h | ||
map_view.cpp | ||
map_view.h | ||
mapitems.h | ||
popups.cpp | ||
proof_mode.cpp | ||
proof_mode.h | ||
smooth_value.cpp | ||
smooth_value.h | ||
tileart.cpp |