Fix: GP modifiers not updating when properties changed
Added back an explicit call to BKE_gpencil_batch_cache_dirty() in the rna update callback for GPencil modifier properties.
However, instead of polluting the general rna_Modifier_update(), this time we do this in a special wrapper/update callback for dedicated GP modifier usage.
I'm unsure why the depsgraph isn't properly updating this case - there's probably a missing relation between modifier properties and GP ubereval (which calls the tagging), but where?!
* Remove redundant checks * Use M_PI_2 instead of hardcoding a magic number * Fix license text year info * Properly handle new palette creation in Tint modifier
ModifierTypeInfo - Add 3 dedicated callbacks to support GP modifier evaluation and operations
* deformStrokes - Handles the "stroke" modifiers currently evaluated in BKE_gpencil_stroke_modifiers() - e.g. Thickness, Noise
* generateStrokes - Handles the "geometry" modifiers currently evaluated in BKE_gpencil_geometry_modifiers() - e.g. Array
* bakeModifierGP - Dedicated callback for hosting the code currently wrongly-placed in applyModifier. This gets called when pressing the "Apply" button on a GP modifier.
Fix: Version patching code was creating extra GP datablocks and throwing them away
After modifying the BKE_object_add() function to create a new GP datablock by default, this change in behaviour would cause problems for the version patching code fixing the old scene->gpd.