The additions of overlays and blending modes means that AGS is starting to be capable of some lovely little visual effects that were either not possible or less easy to do previously. However currently the Tint function is a bit limited - perfectly fine for making characters and objects take on a bit of colour, but not that great for more intricate work.
My first thought would be to use DynamicSprite.CopyTransparencyMask but the manual warns that this is quite slow, and so I haven't even attempted to experiment with it. We've all seen that efficient use of AGS script is hardly my specialty.
What I'm proposing would be an effect that recolours all pixels of a sprite to an RGB value while leaving the alpha channel unchanged. Similar to Tint, but instead of an adjustment, a complete recoloring. Here's a simple use case to help showcase how this might be useful:

Here I've taken a character sprite and placed them behind a screen and in the angled light of windows. I want them to be seen through the screen, but I don't want any value variation on the silhouette there, so I make a copy of the ViewFrame with dynamic sprite, crop it down to the dimensions of the screen, put it on a room overlay and then recolour it. For the angled light effect, I take the same ViewFrame onto a dynamic sprite, recolor it, draw some black lines over the top of it using the DynamicSprite's drawing surface, then set this to a room overlay's sprite and set the blend mode to Add. Because additive blending mode doesn't do anything with black, only the orange recoloured parts show up, and we get a nice, dynamic angled lighting effect that reacts to the player's positioning.
If this is too specific or not easily possible, not a problem, but I figure it's worth asking! I do this kind of thing all the time in making pre-rendered VFX and it would be very nice to start to be able to do this at runtime more easily.
My first thought would be to use DynamicSprite.CopyTransparencyMask but the manual warns that this is quite slow, and so I haven't even attempted to experiment with it. We've all seen that efficient use of AGS script is hardly my specialty.
What I'm proposing would be an effect that recolours all pixels of a sprite to an RGB value while leaving the alpha channel unchanged. Similar to Tint, but instead of an adjustment, a complete recoloring. Here's a simple use case to help showcase how this might be useful:

Here I've taken a character sprite and placed them behind a screen and in the angled light of windows. I want them to be seen through the screen, but I don't want any value variation on the silhouette there, so I make a copy of the ViewFrame with dynamic sprite, crop it down to the dimensions of the screen, put it on a room overlay and then recolour it. For the angled light effect, I take the same ViewFrame onto a dynamic sprite, recolor it, draw some black lines over the top of it using the DynamicSprite's drawing surface, then set this to a room overlay's sprite and set the blend mode to Add. Because additive blending mode doesn't do anything with black, only the orange recoloured parts show up, and we get a nice, dynamic angled lighting effect that reacts to the player's positioning.
If this is too specific or not easily possible, not a problem, but I figure it's worth asking! I do this kind of thing all the time in making pre-rendered VFX and it would be very nice to start to be able to do this at runtime more easily.