This is just an idea, basically I always do some things to theme buttons in my games
https://github.com/ericoporto/dont-give-up-the-cat/blob/fc2810d9d580f6e1b51742489fa388fbd96cdbd0/dont-give-up-the-cat/GameMenu.asc#L830-L874
https://github.com/ericoporto/i_rented_a_boat/blob/72740f53a9bce6f0790cc6191724354c5ae5a7b9/I_rented_a_boat/Menu.asc#L635-L675
The problem is I have to hold the dynamic sprites for each button state, and this also means I want to clean the dynamic sprites before saving and regenerating them after load (and save too), to avoid adding unnecessary data in the save games.
I was looking into the generation of texts with multiple colors, and if there was some way to override how buttons or labels were draw, it would be trivial to add support to them in GUIs.
Of course have zero idea how feasible this would be - in AGS terms, I believe the engine GUI stuff is in the common part with the editor so it would require some magic in the engine side to enable some way to override this, I imagine it would use something like the custom dialog stuff.
https://github.com/ericoporto/dont-give-up-the-cat/blob/fc2810d9d580f6e1b51742489fa388fbd96cdbd0/dont-give-up-the-cat/GameMenu.asc#L830-L874
https://github.com/ericoporto/i_rented_a_boat/blob/72740f53a9bce6f0790cc6191724354c5ae5a7b9/I_rented_a_boat/Menu.asc#L635-L675
The problem is I have to hold the dynamic sprites for each button state, and this also means I want to clean the dynamic sprites before saving and regenerating them after load (and save too), to avoid adding unnecessary data in the save games.
I was looking into the generation of texts with multiple colors, and if there was some way to override how buttons or labels were draw, it would be trivial to add support to them in GUIs.
Of course have zero idea how feasible this would be - in AGS terms, I believe the engine GUI stuff is in the common part with the editor so it would require some magic in the engine side to enable some way to override this, I imagine it would use something like the custom dialog stuff.