iw4x-client/src/Components/Modules/FastFiles.hpp

50 lines
1.4 KiB
C++
Raw Normal View History

2015-12-23 21:26:46 -05:00
namespace Components
{
class FastFiles : public Component
{
public:
FastFiles();
2016-08-15 10:40:30 -04:00
~FastFiles();
2016-09-16 05:04:28 -04:00
#if defined(DEBUG) || defined(FORCE_UNIT_TESTS)
2015-12-23 21:26:46 -05:00
const char* GetName() { return "FastFiles"; };
2016-08-15 10:40:30 -04:00
#endif
2015-12-23 21:26:46 -05:00
static void AddZonePath(std::string path);
2015-12-25 20:51:58 -05:00
static std::string Current();
2015-12-23 21:26:46 -05:00
2016-01-27 04:54:29 -05:00
static bool Exists(std::string file);
2016-01-27 18:32:46 -05:00
static void LoadLocalizeZones(Game::XZoneInfo *zoneInfo, unsigned int zoneCount, int sync);
2015-12-23 21:26:46 -05:00
private:
2016-09-24 14:55:52 -04:00
union Key
{
struct
{
unsigned char key[24];
unsigned char iv[16];
};
unsigned char data[1];
};
static Key CurrentKey;
static symmetric_CTR CurrentCTR;
static unsigned char ZoneKey[];
2015-12-23 21:26:46 -05:00
static std::vector<std::string> ZonePaths;
static const char* GetZoneLocation(const char* file);
2016-01-27 18:32:46 -05:00
static void LoadInitialZones(Game::XZoneInfo *zoneInfo, unsigned int zoneCount, int sync);
2016-03-04 11:02:00 -05:00
static void LoadDLCUIZones(Game::XZoneInfo *zoneInfo, unsigned int zoneCount, int sync);
static void LoadGfxZones(Game::XZoneInfo *zoneInfo, unsigned int zoneCount, int sync);
2016-06-27 19:03:37 -04:00
static void ReadVersionStub(unsigned int* version, int size);
2016-09-24 14:55:52 -04:00
static void AuthLoadInitCrypto();
static int AuthLoadInflateCompare(unsigned char* buffer, int length, unsigned char* ivValue);
static void AuthLoadInflateDecryptBase();
static void AuthLoadInflateDecryptBaseFunc(unsigned char* buffer);
static int InflateInitDecrypt(z_streamp strm, const char *version, int stream_size);
2015-12-23 21:26:46 -05:00
};
}