nn_olv: Added community related API (#873)

- Initialize
- Download communities (self-made / favorites / officials)
- Upload communities (create subcommunity)
- Upload favorite status (Add/Delete favorite to a subcommunity)

Enough for support of Mario Kart 8 tournaments
This commit is contained in:
Rambo6Glaz 2023-06-24 14:51:41 +02:00 committed by GitHub
parent 1beec40445
commit a8d157d310
No known key found for this signature in database
GPG key ID: 4AEE18F83AFDEB23
24 changed files with 3125 additions and 56 deletions

View file

@ -16,6 +16,8 @@ struct ParsedMetaXml
std::array<std::string, 12> m_short_name;
std::array<std::string, 12> m_publisher;
uint32 m_olv_accesskey;
std::string GetShortName(CafeConsoleLanguage languageId) const
{
return m_short_name[(size_t)languageId].empty() ? m_short_name[(size_t)CafeConsoleLanguage::EN] : m_short_name[(size_t)languageId];
@ -51,6 +53,11 @@ struct ParsedMetaXml
return m_company_code;
}
uint32 GetOlvAccesskey() const
{
return m_olv_accesskey;
}
static ParsedMetaXml* Parse(uint8* xmlData, size_t xmlSize)
{
if (xmlSize == 0)
@ -98,6 +105,8 @@ struct ParsedMetaXml
if (index != -1)
parsedMetaXml->m_publisher[index] = child.text().as_string();
}
else if (boost::starts_with(name, L"olv_accesskey"))
parsedMetaXml->m_olv_accesskey = child.text().as_uint(-1);
}
if (parsedMetaXml->m_title_id == 0)
{