mirror of
https://github.com/nillerusr/source-engine.git
synced 2026-08-29 21:49:20 +00:00
1
This commit is contained in:
@@ -0,0 +1,62 @@
|
||||
//========= Copyright Valve Corporation, All rights reserved. ============//
|
||||
//
|
||||
// Purpose:
|
||||
//
|
||||
// $NoKeywords: $
|
||||
//=============================================================================
|
||||
|
||||
#ifndef MODLIST_H
|
||||
#define MODLIST_H
|
||||
#ifdef _WIN32
|
||||
#pragma once
|
||||
#endif
|
||||
|
||||
//-----------------------------------------------------------------------------
|
||||
// Purpose: Handles parsing of half-life directory for mod info
|
||||
//-----------------------------------------------------------------------------
|
||||
class CModList
|
||||
{
|
||||
public:
|
||||
CModList();
|
||||
|
||||
int GetIndex( const CGameID &iAppID ) const;
|
||||
void AddVGUIListener( vgui::VPANEL panel );
|
||||
|
||||
// returns number of mods
|
||||
int ModCount();
|
||||
|
||||
// returns the full name of the mod, index valid in range [0, ModCount)
|
||||
const char *GetModName( int index );
|
||||
|
||||
// returns mod directory string
|
||||
const char *GetModDir( int index );
|
||||
|
||||
const CGameID &GetAppID( int index ) const;
|
||||
|
||||
// returns the mod name for the associated gamedir
|
||||
const char *GetModNameForModDir( const CGameID &iAppID );
|
||||
|
||||
private:
|
||||
struct mod_t
|
||||
{
|
||||
char description[64];
|
||||
char gamedir[64];
|
||||
CGameID m_GameID;
|
||||
int m_InternalAppId;
|
||||
bool operator==( const mod_t& rhs ) const { return rhs.m_GameID == m_GameID; }
|
||||
};
|
||||
|
||||
static int ModNameCompare( const mod_t *pLeft, const mod_t *pRight );
|
||||
void ParseInstalledMods();
|
||||
void ParseSteamMods();
|
||||
int LoadAppConfiguration( uint32 nAppID );
|
||||
|
||||
CUtlVector<mod_t> m_ModList;
|
||||
CUtlVector<vgui::VPANEL> m_VGUIListeners;
|
||||
};
|
||||
|
||||
// singleton accessor
|
||||
extern CModList &ModList();
|
||||
|
||||
|
||||
#endif // MODLIST_H
|
||||
Reference in New Issue
Block a user