#include "CrossLang.hpp" #include #include #include #include #include #include #include int main(int argc,char** argv) { Tesses::Framework::TF_Init(); std::string p = argv[0]; auto emptyThumb =Tesses::Framework::Platform::Environment::GetRealExecutablePath(p).GetParent().GetParent() / "share" / "icons" / "crosslang.png"; if(argc < 3) { std::cout << "USAGE: " << argv[0] << " CRVMFILE NEWPNG" << std::endl; return 1; } std::string crvm = argv[1]; std::string png = argv[2]; if(Tesses::Framework::Filesystem::LocalFS->FileExists(crvm)) { Tesses::CrossLang::TFile file; auto f = Tesses::Framework::Filesystem::LocalFS->OpenFile(crvm, "rb"); file.Load(nullptr,f); if(file.icon >= 0 && file.icon < file.resources.size()) { auto f2 = Tesses::Framework::Filesystem::LocalFS->OpenFile(png, "wb"); if(f2 != nullptr) { auto& icon = file.resources[file.icon]; f2->WriteBlock(icon.data(),icon.size()); } return 0; } } if(Tesses::Framework::Filesystem::LocalFS->FileExists(emptyThumb)) { auto src = Tesses::Framework::Filesystem::LocalFS->OpenFile(emptyThumb,"rb"); auto dest = Tesses::Framework::Filesystem::LocalFS->OpenFile(png,"wb"); if(src != nullptr && dest != nullptr) { src->CopyTo(dest); } } return 0; }