loadfromfile bonesystem zip

This commit is contained in:
NurgazievichR committed 2025-03-18 16:49:46 +06:00
1 parent 2797b9fd3a
commit f37c0ee9e6
5 files changed
+41 -24

No files matched your search

+16 -4
View File
@@ -21,11 +21,23 @@ namespace ZL
}
void BoneSystem::LoadFromFile(const std::string& fileName)
void BoneSystem::LoadFromFile(const std::string& fileName, const std::string& ZIPFileName)
{
std::ifstream f(fileName);
std::ifstream filestream;
std::istringstream zipStream;
if (!ZIPFileName.empty())
{
std::vector<char> fileData = readFileFromZIP(fileName, ZIPFileName);
std::string fileContents(fileData.begin(), fileData.end());
zipStream.str(fileContents);
}
else
{
filestream.open(fileName);
}
std::istream& f = (!ZIPFileName.empty()) ? static_cast<std::istream&>(zipStream) : static_cast<std::istream&>(filestream);
//Skip first 5 lines
std::string tempLine;
+3 -3
View File
@@ -12,8 +12,8 @@ namespace ZL
Vector3f boneStartWorld;
float boneLength;
Matrix4f boneMatrixWorld;
// boneVector = boneLength * (0, 1, 0) â îñÿõ áëåíäåðà
// Then multiply by boneMatrixWorld è âû ïîëó÷èòå êîíå÷íóþ òî÷êó
// boneVector = boneLength * (0, 1, 0) � ���� ��������
// Then multiply by boneMatrixWorld � �� �������� �������� �����
int parent;
std::vector<int> children;
@@ -49,7 +49,7 @@ namespace ZL
std::vector<Animation> animations;
void LoadFromFile(const std::string& fileName);
void LoadFromFile(const std::string& fileName, const std::string& ZIPFileName = "");
void Interpolate(int frame);
};
+19 -4
View File
@@ -8,14 +8,29 @@ namespace ZL
{
VertexDataStruct LoadFromTextFile(const std::string& fileName)
VertexDataStruct LoadFromTextFile(const std::string& fileName, const std::string& ZIPFileName)
{
VertexDataStruct result;
std::ifstream f(fileName);
std::ifstream filestream;
std::istringstream zipStream;
if (!ZIPFileName.empty())
{
std::vector<char> fileData = readFileFromZIP(fileName, ZIPFileName);
std::string fileContents(fileData.begin(), fileData.end());
zipStream.str(fileContents);
}
else
{
filestream.open(fileName);
}
// Создаем ссылку f на нужный поток – после этого код ниже остается без изменений
std::istream& f = (!ZIPFileName.empty()) ? static_cast<std::istream&>(zipStream) : static_cast<std::istream&>(filestream);
//Skip first 5 lines
std::string tempLine;
std::string tempLine;
std::getline(f, tempLine);
+1 -1
View File
@@ -7,7 +7,7 @@
namespace ZL
{
VertexDataStruct LoadFromTextFile(const std::string& fileName);
VertexDataStruct LoadFromTextFile(const std::string& fileName, const std::string& ZIPFileName = "");
+2 -12
View File
@@ -75,12 +75,7 @@ namespace ZL
TextureDataStruct texData;
std::vector<char> fileArr;
if (!ZIPFileName.empty()) {
fileArr = readFileFromZIP(fullFileName, ZIPFileName);
}
else {
fileArr = readFile(fullFileName);
}
fileArr = !ZIPFileName.empty() ? readFileFromZIP(fullFileName, ZIPFileName) : readFile(fullFileName);
size_t fileSize = fileArr.size();
@@ -129,12 +124,7 @@ namespace ZL
TextureDataStruct texData;
std::vector<char> fileArr;
if (!ZIPFileName.empty()) {
fileArr = readFileFromZIP(fullFileName, ZIPFileName);
}
else {
fileArr = readFile(fullFileName);
}
fileArr = !ZIPFileName.empty() ? readFileFromZIP(fullFileName, ZIPFileName) : readFile(fullFileName);
size_t fileSize = fileArr.size();