mirror of
https://github.com/cemu-project/Cemu.git
synced 2025-12-12 10:37:02 +00:00
Add all the files
This commit is contained in:
parent
e3db07a16a
commit
d60742f52b
1445 changed files with 430238 additions and 0 deletions
68
src/Cafe/TitleList/BaseInfo.cpp
Normal file
68
src/Cafe/TitleList/BaseInfo.cpp
Normal file
|
|
@ -0,0 +1,68 @@
|
|||
#include "BaseInfo.h"
|
||||
|
||||
#include "config/CemuConfig.h"
|
||||
#include "Cafe/Filesystem/fsc.h"
|
||||
#include "Cafe/Filesystem/FST/FST.h"
|
||||
|
||||
sint32 BaseInfo::GetLanguageIndex(std::string_view language)
|
||||
{
|
||||
if (language == "ja")
|
||||
return (sint32)CafeConsoleLanguage::JA;
|
||||
else if (language == "en")
|
||||
return (sint32)CafeConsoleLanguage::EN;
|
||||
else if (language == "fr")
|
||||
return (sint32)CafeConsoleLanguage::FR;
|
||||
else if (language == "de")
|
||||
return (sint32)CafeConsoleLanguage::DE;
|
||||
else if (language == "it")
|
||||
return (sint32)CafeConsoleLanguage::IT;
|
||||
else if (language == "es")
|
||||
return (sint32)CafeConsoleLanguage::ES;
|
||||
else if (language == "zhs")
|
||||
return (sint32)CafeConsoleLanguage::ZH;
|
||||
else if (language == "ko")
|
||||
return (sint32)CafeConsoleLanguage::KO;
|
||||
else if (language == "nl")
|
||||
return (sint32)CafeConsoleLanguage::NL;
|
||||
else if (language == "pt")
|
||||
return (sint32)CafeConsoleLanguage::PT;
|
||||
else if (language == "ru")
|
||||
return (sint32)CafeConsoleLanguage::RU;
|
||||
else if (language == "zht")
|
||||
return (sint32)CafeConsoleLanguage::ZH;
|
||||
return -1;
|
||||
}
|
||||
|
||||
|
||||
std::unique_ptr<uint8[]> BaseInfo::ReadFSCFile(std::string_view filename, uint32& size) const
|
||||
{
|
||||
size = 0;
|
||||
sint32 fscStatus = 0;
|
||||
// load and parse meta.xml
|
||||
FSCVirtualFile* file = fsc_open(const_cast<char*>(std::string(filename).c_str()), FSC_ACCESS_FLAG::OPEN_FILE | FSC_ACCESS_FLAG::READ_PERMISSION, &fscStatus);
|
||||
if (file)
|
||||
{
|
||||
size = fsc_getFileSize(file);
|
||||
auto buffer = std::make_unique<uint8[]>(size);
|
||||
fsc_readFile(file, buffer.get(), size);
|
||||
fsc_close(file);
|
||||
return buffer;
|
||||
}
|
||||
|
||||
return nullptr;
|
||||
}
|
||||
|
||||
std::unique_ptr<uint8[]> BaseInfo::ReadVirtualFile(FSTVolume* volume, std::string_view filename, uint32& size) const
|
||||
{
|
||||
size = 0;
|
||||
FSTFileHandle fileHandle;
|
||||
if (!volume->OpenFile(filename, fileHandle, true))
|
||||
return nullptr;
|
||||
|
||||
size = volume->GetFileSize(fileHandle);
|
||||
auto buffer = std::make_unique<uint8[]>(size);
|
||||
volume->ReadFile(fileHandle, 0, size, buffer.get());
|
||||
|
||||
return buffer;
|
||||
}
|
||||
|
||||
Loading…
Add table
Add a link
Reference in a new issue