core/sourcemod.h
author David Anderson <dvander@alliedmods.net>
Tue Jan 16 20:36:09 2007 +0000 (2007-01-16)
changeset 300 186b2f7bf277
parent 289 87ad530d141b
child 315 5f48300aa103
permissions -rw-r--r--
fixed up bad includes
dvander@159
     1
#ifndef _INCLUDE_SOURCEMOD_GLOBALHEADER_H_
dvander@159
     2
#define _INCLUDE_SOURCEMOD_GLOBALHEADER_H_
dvander@159
     3
dvander@160
     4
#include "sm_globals.h"
dvander@159
     5
dvander@162
     6
/**
dvander@162
     7
 * @brief Implements SourceMod's global overall management, API, and logic
dvander@162
     8
 */
dvander@162
     9
dvander@160
    10
class SourceModBase
dvander@160
    11
{
dvander@160
    12
public:
dvander@209
    13
	SourceModBase();
dvander@209
    14
public:
dvander@160
    15
	/**
dvander@160
    16
	 * @brief Initializes SourceMod, or returns an error on failure.
dvander@160
    17
	 */
dvander@160
    18
	bool InitializeSourceMod(char *error, size_t err_max, bool late);
dvander@209
    19
dvander@209
    20
	/** 
dvander@209
    21
	 * @brief Starts everything SourceMod needs to run
dvander@209
    22
	 */
dvander@209
    23
	void StartSourceMod(bool late);
dvander@209
    24
faluco@289
    25
	/** 
faluco@289
    26
	* @brief Shuts down all SourceMod components
faluco@289
    27
	*/
faluco@289
    28
	void CloseSourceMod();
faluco@289
    29
dvander@209
    30
	/**
dvander@209
    31
	 * @brief Map change hook
dvander@209
    32
	 */
dvander@209
    33
	bool LevelInit(char const *pMapName, char const *pMapEntities, char const *pOldLevel, char const *pLandmarkName, bool loadGame, bool background);
dvander@209
    34
dvander@209
    35
	/** 
dvander@209
    36
	 * @brief Returns whether or not a mapload is in progress
dvander@209
    37
	 */
dvander@209
    38
	bool IsMapLoading();
dvander@209
    39
dvander@209
    40
	/**
dvander@209
    41
	 * @brief Returns the base SourceMod folder.
dvander@209
    42
	 */
dvander@209
    43
	const char *GetSMBaseDir();
dvander@209
    44
dvander@211
    45
	/**
dvander@255
    46
	 * @brief Returns the base folder for file natives.
dvander@255
    47
	 */
dvander@255
    48
	const char *GetBaseDir();
dvander@255
    49
dvander@255
    50
	/**
dvander@211
    51
	 * @brief Returns whether our load in this map is late.
dvander@211
    52
	 */
dvander@211
    53
	bool IsLateLoadInMap();
dvander@209
    54
private:
dvander@209
    55
	/**
dvander@209
    56
	 * @brief Loading plugins
dvander@209
    57
	 */
dvander@209
    58
	void DoGlobalPluginLoads();
dvander@209
    59
private:
dvander@209
    60
	char m_SMBaseDir[PLATFORM_MAX_PATH+1];
dvander@209
    61
	bool m_IsMapLoading;
dvander@211
    62
	bool m_IsLateLoadInMap;
dvander@211
    63
};
dvander@211
    64
dvander@160
    65
extern SourceModBase g_SourceMod;
dvander@159
    66
dvander@159
    67
#endif //_INCLUDE_SOURCEMOD_GLOBALHEADER_H_