28 lines
973 B
C++

#pragma once
#include "IObjLoader.h"
#include "SearchPath/ISearchPath.h"
#include "Game/T6/T6.h"
class ObjLoaderT6 final : public IObjLoader
{
static const int IPAK_READ_HASH;
static const int GLOBAL_HASH;
static int Com_HashKey(const char* str, int maxLen);
static void LoadIPakForZone(ISearchPath* searchPath, const std::string& ipakName, Zone* zone);
static void LoadImageFromIwiFile(T6::GfxImage* image, FileAPI::IFile* file, Zone* zone);
static void LoadImageFromIwi(T6::GfxImage* image, ISearchPath* searchPath, Zone* zone);
static void LoadImageFromLoadDef(T6::GfxImage* image, Zone* zone);
static void LoadImageData(ISearchPath* searchPath, Zone* zone);
public:
bool SupportsZone(Zone* zone) override;
void LoadReferencedContainersForZone(ISearchPath* searchPath, Zone* zone) override;
void UnloadContainersOfZone(Zone* zone) override;
void LoadObjDataForZone(ISearchPath* searchPath, Zone* zone) override;
};