| 757 | } |
| 758 | |
| 759 | static const char * get_workshop_str(df::building *b) { |
| 760 | df::building_workshopst *ws = virtual_cast<df::building_workshopst>(b); |
| 761 | if (!ws) |
| 762 | return "~"; |
| 763 | |
| 764 | switch (ws->type) { |
| 765 | case workshop_type::Leatherworks: return "we"; |
| 766 | case workshop_type::Quern: return "wq"; |
| 767 | case workshop_type::Millstone: return "wM"; |
| 768 | case workshop_type::Loom: return "wo"; |
| 769 | case workshop_type::Clothiers: return "wk"; |
| 770 | case workshop_type::Bowyers: return "wb"; |
| 771 | case workshop_type::Carpenters: return "wc"; |
| 772 | case workshop_type::MetalsmithsForge: return "wf"; |
| 773 | case workshop_type::MagmaForge: return "wv"; |
| 774 | case workshop_type::Jewelers: return "wj"; |
| 775 | case workshop_type::Masons: return "wm"; |
| 776 | case workshop_type::Butchers: return "wu"; |
| 777 | case workshop_type::Tanners: return "wn"; |
| 778 | case workshop_type::Craftsdwarfs: return "wr"; |
| 779 | case workshop_type::Siege: return "ws"; |
| 780 | case workshop_type::Mechanics: return "wt"; |
| 781 | case workshop_type::Still: return "wl"; |
| 782 | case workshop_type::Farmers: return "ww"; |
| 783 | case workshop_type::Kitchen: return "wz"; |
| 784 | case workshop_type::Fishery: return "wh"; |
| 785 | case workshop_type::Ashery: return "wy"; |
| 786 | case workshop_type::Dyers: return "wd"; |
| 787 | case workshop_type::Kennels: return "k"; |
| 788 | case workshop_type::Custom: |
| 789 | { |
| 790 | int32_t custom = b->getCustomType(); |
| 791 | if (custom == 0) return "wS"; |
| 792 | if (custom == 1) return "wp"; |
| 793 | } |
| 794 | // fallthrough |
| 795 | case workshop_type::Tool: |
| 796 | default: |
| 797 | return "~"; |
| 798 | } |
| 799 | } |
| 800 | |
| 801 | static const char * get_furnace_str(df::building *b) { |
| 802 | df::building_furnacest *furnace = virtual_cast<df::building_furnacest>(b); |