#include "df/building_flags.h" #include "df/building_drawbuffer.h" #include "df/building_nest_boxst.h" using namespace df::enums; struct nestbox_color_hook : df::building_nest_boxst { typedef df::building_nest_boxst interpose_base; DEFINE_VMETHOD_INTERPOSE(void, drawBuilding, (df::building_drawbuffer* db, int16_t unk)) { INTERPOSE_NEXT(drawBuilding)(db, unk); if (flags.bits.exists) { MaterialInfo mat(mat_type, mat_index); db->fore[0][0] = mat.material->build_color[0]; db->back[0][0] = mat.material->build_color[1]; db->bright[0][0] = mat.material->build_color[2]; } } }; IMPLEMENT_VMETHOD_INTERPOSE(nestbox_color_hook, drawBuilding);