MCPcopy Create free account
hub / github.com/DFHack/dfhack / GetReports

Function GetReports

plugins/remotefortressreader/remotefortressreader.cpp:2938–2972  ·  view source on GitHub ↗

Source from the content-addressed store, hash-verified

2936int lastSentReportID = -1;
2937
2938static command_result GetReports(color_ostream & stream, const EmptyMessage * in, RemoteFortressReader::Status * out)
2939{
2940 //First find the last report we sent, so it doesn't get resent.
2941 int lastSentIndex = -1;
2942 for (int i = world->status.reports.size() - 1; i >= 0; i--)
2943 {
2944 auto local_rep = world->status.reports[i];
2945 if (local_rep->id <= lastSentReportID)
2946 {
2947 lastSentIndex = i;
2948 break;
2949 }
2950 }
2951 for (size_t i = lastSentIndex + 1; i < world->status.reports.size(); i++)
2952 {
2953 auto local_rep = world->status.reports[i];
2954 if (!local_rep)
2955 continue;
2956 auto send_rep = out->add_reports();
2957 send_rep->set_type(local_rep->type);
2958 send_rep->set_text(DF2UTF(local_rep->text));
2959 ConvertDfColor(local_rep->color | (local_rep->bright ? 8 : 0), send_rep->mutable_color());
2960 send_rep->set_duration(local_rep->duration);
2961 send_rep->set_continuation(local_rep->flags.bits.continuation);
2962 send_rep->set_unconscious(local_rep->flags.bits.unconscious);
2963 send_rep->set_announcement(local_rep->flags.bits.announcement);
2964 send_rep->set_repeat_count(local_rep->repeat_count);
2965 ConvertDFCoord(local_rep->pos, send_rep->mutable_pos());
2966 send_rep->set_id(local_rep->id);
2967 send_rep->set_year(local_rep->year);
2968 send_rep->set_time(local_rep->time);
2969 lastSentReportID = local_rep->id;
2970 }
2971 return CR_OK;
2972}
2973
2974static command_result GetLanguage(color_ostream & stream, const EmptyMessage * in, RemoteFortressReader::Language * out)
2975{

Callers

nothing calls this directly

Calls 5

DF2UTFFunction · 0.85
ConvertDfColorFunction · 0.85
ConvertDFCoordFunction · 0.85
set_typeMethod · 0.80
sizeMethod · 0.45

Tested by

no test coverage detected