#include #include #include #include "../Sunrise/src/middleware/bap/activity_message/sense_update.h" namespace sense=sunrise::middleware::bap::activity_message::sense_update; sense::TargetStatus group(const void*,std::uint32_t key,sense::GroupTarget& out)noexcept{ if(key!=0xA3B76C64)return sense::TargetStatus::targetUnavailable; out.objectTag=0x80B3C21C;return sense::TargetStatus::resolved; } sense::TargetStatus slot(const void*,const sense::GroupTarget&,std::uint8_t type,std::uint16_t index,sense::SlotTarget& out)noexcept{ if(type!=20||index!=121)return sense::TargetStatus::targetUnavailable; out.senseSchema=0x80809562;return sense::TargetStatus::resolved; } int main(){ // Native A774B0/80809562: mandatory raw health and shield, signed Auth revision. constexpr std::array fixtures{ "000000000000000000000000000000003476ed8c800000175a3b76c642b00f33f8000000000000080000003000000040", "000000000000000000000000000000003476ed8c800000175a3b76c642b00f3000000000000000080000003000000040", "000000000000000000000000000000003476ed8c800000175a3b76c642b00f3bf8000000000000080000003000000040", }; const sense::Resolver resolver{nullptr,&group,&slot}; for(unsigned i=0;i bytes{};auto n=fixtures[i].size()/2; auto hex=[](char c){return c<='9'?c-'0':c-'a'+10;}; for(std::size_t j=0;j