2017-02-04 12:42:12 -05:00
|
|
|
#include "STDInclude.hpp"
|
|
|
|
|
|
|
|
namespace Components
|
|
|
|
{
|
|
|
|
std::vector<Changelog::changelogLine> Changelog::Line;
|
|
|
|
|
|
|
|
void Changelog::LoadChangelog(UIScript::Token)
|
|
|
|
{
|
2017-02-04 13:07:02 -05:00
|
|
|
if (!Changelog::Line.empty())
|
|
|
|
return;
|
|
|
|
|
2017-02-04 12:42:12 -05:00
|
|
|
std::vector<std::string> changelog;
|
|
|
|
Changelog::Line.clear();
|
|
|
|
|
|
|
|
{
|
|
|
|
std::string uncleaned = Utils::Cache::GetFile("/iw4/changelog.txt");
|
|
|
|
|
2017-02-04 13:07:02 -05:00
|
|
|
if (uncleaned.empty())
|
|
|
|
{
|
2017-02-04 14:26:46 -05:00
|
|
|
uncleaned = "^1Unable to get changelog.";
|
2017-02-04 13:07:02 -05:00
|
|
|
}
|
|
|
|
|
2017-02-04 12:42:12 -05:00
|
|
|
changelog = Utils::String::Explode(uncleaned, '\n');
|
|
|
|
}
|
|
|
|
|
|
|
|
for (auto line : changelog)
|
|
|
|
{
|
|
|
|
Changelog::changelogLine info;
|
|
|
|
|
|
|
|
Utils::String::Replace(line, "\r", "");
|
2017-02-04 14:26:46 -05:00
|
|
|
info.line = line;
|
2017-02-04 12:42:12 -05:00
|
|
|
|
|
|
|
Changelog::Line.push_back(info);
|
|
|
|
}
|
|
|
|
}
|
|
|
|
|
|
|
|
unsigned int Changelog::GetChangelogCount()
|
|
|
|
{
|
|
|
|
return Changelog::Line.size();
|
|
|
|
}
|
|
|
|
|
|
|
|
// Omit column here
|
|
|
|
const char* Changelog::GetChangelogText(unsigned int item, int /*column*/)
|
|
|
|
{
|
|
|
|
if (item < Changelog::Line.size())
|
|
|
|
{
|
|
|
|
std::string info = Changelog::Line[item].line;
|
|
|
|
|
|
|
|
return Utils::String::VA("%s", info.data());
|
|
|
|
}
|
|
|
|
|
|
|
|
return "";
|
|
|
|
}
|
|
|
|
|
|
|
|
void Changelog::SelectChangelog(unsigned int index) { index; }
|
|
|
|
|
|
|
|
Changelog::Changelog()
|
|
|
|
{
|
|
|
|
// UIScripts
|
|
|
|
UIScript::Add("loadChangelog", Changelog::LoadChangelog);
|
|
|
|
|
|
|
|
// Changelog
|
|
|
|
UIFeeder::Add(39.0f, Changelog::GetChangelogCount, Changelog::GetChangelogText, Changelog::SelectChangelog);
|
|
|
|
}
|
|
|
|
}
|