Custom workshops are already in the next version, so I doubt it's much of a problem for them. Ideally, every workshop could be a separate image file containing all of the workshop in all its stages, and two raw entries like this:
[TILE_PAGE:WORKSHOP_MASON]
[FILE:art/workshops/mason.png]
[TILE_DIM:16:16]
[PAGE_DIM:6:6]
[BUILDING_GRAPHICS:WORKSHOP_MASON]
[TILEMAP:3:3] when loading, this much tiles are read along and down for each state
[COMPLETE:WORKSHOP_MASON:0:0:ADD_COLOR] normal sprite
[INPROGRESS1:WORKSHOP_MASON:3:0:ADD_COLOR] early progress sprite
[INPROGRESS2:WORKSHOP_MASON:0:3:ADD_COLOR] late progress sprite
[ACTIVE:WORKSHOP_MASON:3:3:ADD_COLOR] active state sprite
This is presuming that the loading code is set up to automatically split up whole images into tiles. So that you can arrange your workshop however you want without fancy raws setups. Fancy raws setups could be more efficient - so that you could, if you wanted, just set one tile to change when the workshop is active, and avoid wasting RAM - but rather unwieldy.
<dorfvoice> Yes, thats wat im talking about, thats grrrrreeeeaaat!</dorfvoice>
seriously, having a 256 graphic cap sucks, let text be text, let tiles be tiles...
its so annoying when you cant tell what certain symbol means...
also, my girlfriend finds amazing the fact that I play DF because "it looks like computer board with a lot of LEDs blinking, and you keep staring it and using the keyboard, it doenst even appears that you are playing a game."
I agree 100%, since I can play DF in front of everyone in my job, and everyone thinks I am doing some extreme leet hollywood manual computer hacking of sorts.