Counter Strike : Global Offensive Source Code
You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
|
|
//========= Copyright � 1996-2005, Valve Corporation, All rights reserved. ============//
//
// Purpose:
//
//=============================================================================//
#ifndef DOWNLOADLISTGENERATOR_H
#define DOWNLOADLISTGENERATOR_H
#ifdef _WIN32
#pragma once
#endif
#include "filesystem.h"
#include "utlvector.h"
#include "utlsymbol.h"
#include "networkstringtable.h"
#define DOWNLOADABLE_FILE_TABLENAME "downloadables"
#define MAX_DOWNLOADABLE_FILES 8192
enum ConsistencyType { CONSISTENCY_NONE, CONSISTENCY_EXACT, CONSISTENCY_SIMPLE_MATERIAL, // uses ExactFileUserData
CONSISTENCY_BOUNDS, };
struct ExactFileUserData { unsigned char consistencyType; unsigned long crc; };
struct ModelBoundsUserData { unsigned char consistencyType; Vector mins; Vector maxs; };
//-----------------------------------------------------------------------------
// Purpose: Handles collating lists of resources on level load
// Used to generate reslists for in-game downloads
//-----------------------------------------------------------------------------
class CDownloadListGenerator { public: CDownloadListGenerator();
void SetStringTable( INetworkStringTable *pStringTable );
// call to mark level load/end
void OnLevelLoadStart(const char *levelName); void OnLevelLoadEnd();
// call to mark resources as being precached
void OnResourcePrecached(const char *relativePathFileName); void OnModelPrecached(const char *relativePathFileName); void OnSoundPrecached(const char *relativePathFileName);
void ForceExactFile( const char *relativePathFileName, ConsistencyType consistency ); void ForceModelBounds( const char *relativePathFileName, const Vector &mins, const Vector &maxs );
private: char m_gameDir[256]; char m_mapName[MAX_PATH]; FileHandle_t m_hReslistFile; CUtlSymbolTable m_AlreadyWrittenFileNames; INetworkStringTable *m_pStringTable; };
// singleton accessor
CDownloadListGenerator &DownloadListGenerator();
#endif // DOWNLOADLISTGENERATOR_H
|