How about something liek this, Dave:
Code: ags
One could even dynamically create the Sprite by drawing on the original sprite with the "magic magenta" colour a rectangle based on the size of sprites in the talking view. I guess a problem is if the talk view sprites are not rectangular themselves.
If its not just a background graphic obscuring the portraits, but also buttons, text boxes, etc, you could do the same trick with them or just turn off their visibility. If you could give a screenshot of the problem, it might help to gauge how easy a solution might be.
function NewSay(this Character *, String what) {
int tmp=guiIntheWay.BackgroundGraphic;
guiIntheWay.BackgroundGraphic=SAME_SPRITE_BUT_WITH_TRANSPARENT_HOLE_IN_IT;
this.Say(what);
guiIntheWay.BackgroundGraphic=tmp;
}
One could even dynamically create the Sprite by drawing on the original sprite with the "magic magenta" colour a rectangle based on the size of sprites in the talking view. I guess a problem is if the talk view sprites are not rectangular themselves.
If its not just a background graphic obscuring the portraits, but also buttons, text boxes, etc, you could do the same trick with them or just turn off their visibility. If you could give a screenshot of the problem, it might help to gauge how easy a solution might be.