core/sourcemod.h
author Borja Ferrer <faluco@alliedmods.net>
Fri Jan 05 00:42:22 2007 +0000 (2007-01-05)
changeset 268 d6fed4f05e07
parent 255 236589ed0c92
child 289 87ad530d141b
permissions -rw-r--r--
Fixed CPlayer init, it was called too early.
nothing important on the logger
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
dvander@209
    25
	/**
dvander@209
    26
	 * @brief Map change hook
dvander@209
    27
	 */
dvander@209
    28
	bool LevelInit(char const *pMapName, char const *pMapEntities, char const *pOldLevel, char const *pLandmarkName, bool loadGame, bool background);
dvander@209
    29
dvander@209
    30
	/** 
dvander@209
    31
	 * @brief Returns whether or not a mapload is in progress
dvander@209
    32
	 */
dvander@209
    33
	bool IsMapLoading();
dvander@209
    34
dvander@209
    35
	/**
dvander@209
    36
	 * @brief Returns the base SourceMod folder.
dvander@209
    37
	 */
dvander@209
    38
	const char *GetSMBaseDir();
dvander@209
    39
dvander@211
    40
	/**
dvander@255
    41
	 * @brief Returns the base folder for file natives.
dvander@255
    42
	 */
dvander@255
    43
	const char *GetBaseDir();
dvander@255
    44
dvander@255
    45
	/**
dvander@211
    46
	 * @brief Returns whether our load in this map is late.
dvander@211
    47
	 */
dvander@211
    48
	bool IsLateLoadInMap();
dvander@209
    49
private:
dvander@209
    50
	/**
dvander@209
    51
	 * @brief Loading plugins
dvander@209
    52
	 */
dvander@209
    53
	void DoGlobalPluginLoads();
dvander@209
    54
private:
dvander@209
    55
	char m_SMBaseDir[PLATFORM_MAX_PATH+1];
dvander@209
    56
	bool m_IsMapLoading;
dvander@211
    57
	bool m_IsLateLoadInMap;
dvander@211
    58
};
dvander@211
    59
dvander@160
    60
extern SourceModBase g_SourceMod;
dvander@159
    61
dvander@159
    62
#endif //_INCLUDE_SOURCEMOD_GLOBALHEADER_H_