mirror of
				https://github.com/DarkflameUniverse/DarkflameServer.git
				synced 2025-10-31 20:52:01 +00:00 
			
		
		
		
	 e58218cfbc
			
		
	
	e58218cfbc
	
	
	
		
			
			* Remove std::couts littered throughout the base * working End of optimizations for now going faster * Remove extraneous compare function std::less<LWOSCENEID> already does this in a map. * gaming * Update Zone.cpp * dlu is moving to bitbucket again * Update Level.cpp --------- Co-authored-by: Jettford <mrjettbradford@gmail.com>
		
			
				
	
	
		
			44 lines
		
	
	
		
			1.2 KiB
		
	
	
	
		
			C++
		
	
	
	
	
	
			
		
		
	
	
			44 lines
		
	
	
		
			1.2 KiB
		
	
	
	
		
			C++
		
	
	
	
	
	
| #include "PackIndex.h"
 | |
| #include "BinaryIO.h"
 | |
| #include "Game.h"
 | |
| #include "Logger.h"
 | |
| 
 | |
| PackIndex::PackIndex(const std::filesystem::path& filePath) {
 | |
| 	m_FileStream = std::ifstream(filePath / "versions" / "primary.pki", std::ios::in | std::ios::binary);
 | |
| 
 | |
| 	BinaryIO::BinaryRead<uint32_t>(m_FileStream, m_Version);
 | |
| 	BinaryIO::BinaryRead<uint32_t>(m_FileStream, m_PackPathCount);
 | |
| 	
 | |
| 	m_PackPaths.resize(m_PackPathCount);
 | |
| 	for (auto& item : m_PackPaths) {
 | |
| 		BinaryIO::ReadString<uint32_t>(m_FileStream, item, BinaryIO::ReadType::String);
 | |
| 	}
 | |
| 
 | |
| 	BinaryIO::BinaryRead<uint32_t>(m_FileStream, m_PackFileIndexCount);
 | |
| 
 | |
| 	for (int i = 0; i < m_PackFileIndexCount; i++) {
 | |
| 		PackFileIndex packFileIndex;
 | |
| 		BinaryIO::BinaryRead<PackFileIndex>(m_FileStream, packFileIndex);
 | |
| 
 | |
| 		m_PackFileIndices.push_back(packFileIndex);
 | |
| 	}
 | |
| 
 | |
| 	LOG("Loaded pack catalog with %i pack files and %i files", m_PackPaths.size(), m_PackFileIndices.size());
 | |
| 
 | |
| 	for (auto& item : m_PackPaths) {
 | |
| 		std::replace(item.begin(), item.end(), '\\', '/');
 | |
| 
 | |
| 		auto* pack = new Pack(filePath / item);
 | |
| 
 | |
| 		m_Packs.push_back(pack);
 | |
| 	}
 | |
| 
 | |
| 	m_FileStream.close();
 | |
| }
 | |
| 
 | |
| PackIndex::~PackIndex() {
 | |
| 	for (const auto* item : m_Packs) {
 | |
| 		delete item;
 | |
| 	}
 | |
| }
 |