1616#include " TileTypes.h"
1717
1818#include " modules/Buildings.h"
19+ #include " modules/Constructions.h"
1920#include " modules/Filesystem.h"
2021#include " modules/Gui.h"
2122#include " modules/Maps.h"
3334#include " df/building_trapst.h"
3435#include " df/building_water_wheelst.h"
3536#include " df/building_workshopst.h"
37+ #include " df/construction.h"
3638#include " df/engraving.h"
3739#include " df/entity_position.h"
3840#include " df/tile_bitmask.h"
@@ -610,6 +612,7 @@ static const char * get_construction_str(df::building *b) {
610612 case construction_type::TrackRampNEW: return " trackrampNEW" ;
611613 case construction_type::TrackRampSEW: return " trackrampSEW" ;
612614 case construction_type::TrackRampNSEW: return " trackrampNSEW" ;
615+ case construction_type::ReinforcedWall: return " CW" ;
613616 case construction_type::NONE:
614617 default :
615618 return " ~" ;
@@ -632,6 +635,13 @@ static const char * get_constructed_track_str(df::tiletype *tt,
632635 return cache (str);
633636}
634637
638+ static const char * get_constructed_wall_str (df::coord pos) {
639+ df::construction *c = Constructions::findAtTile (pos);
640+ if (!c || !(c->flags .bits .reinforced ))
641+ return " Cw" ;
642+ return " CW" ;
643+ }
644+
635645static const char * get_constructed_floor_str (df::tiletype *tt) {
636646 if (tileSpecial (*tt) != df::tiletype_special::TRACK)
637647 return " Cf" ;
@@ -653,7 +663,7 @@ static const char * get_tile_construct(color_ostream &out, const df::coord &pos,
653663 return NULL ;
654664
655665 switch (tileShape (*tt)) {
656- case tiletype_shape::WALL: return " Cw " ;
666+ case tiletype_shape::WALL: return get_constructed_wall_str (pos) ;
657667 case tiletype_shape::FLOOR: return get_constructed_floor_str (tt);
658668 case tiletype_shape::RAMP: return get_constructed_ramp_str (tt);
659669 case tiletype_shape::FORTIFICATION: return " CF" ;
@@ -732,7 +742,17 @@ static const char * get_bridge_str(df::building *b) {
732742static const char * get_siege_str (df::building *b) {
733743 df::building_siegeenginest *se =
734744 virtual_cast<df::building_siegeenginest>(b);
735- return !se || se->type == df::siegeengine_type::Catapult ? " ic" : " ib" ;
745+ if (!se)
746+ return " ic" ;
747+
748+ switch (se->type ) {
749+ case df::siegeengine_type::Catapult: return " ic" ;
750+ case df::siegeengine_type::Ballista: return " ib" ;
751+ case df::siegeengine_type::BoltThrower: return " it" ;
752+ default :
753+ return " ic" ;
754+ }
755+
736756}
737757
738758static const char * get_workshop_str (df::building *b) {
0 commit comments