mirror of
https://github.com/alliedmodders/metamod-source.git
synced 2024-11-29 11:24:19 +01:00
4dc43f3d08
Added commands: clear, load, pause, unload, unpause Rewrote headers --HG-- extra : convert_revision : svn%3Ac2935e3e-5518-0410-8daf-afa5dab7d4e3/trunk%4010
49 lines
1.0 KiB
C
49 lines
1.0 KiB
C
/* ======== SourceMM ========
|
|
* Copyright (C) 2004-2005 Metamod:Source Development Team
|
|
* No warranties of any kind
|
|
*
|
|
* License: zlib/libpng
|
|
*
|
|
* Author(s): David "BAILOPAN" Anderson
|
|
* ============================
|
|
*/
|
|
|
|
#ifndef _INCLUDE_UTIL_H
|
|
#define _INCLUDE_UTIL_H
|
|
|
|
/**
|
|
* @brief Utility functons
|
|
* @file util.h
|
|
*/
|
|
|
|
const char *UTIL_GetExtension(const char *file);
|
|
|
|
#define META_INTERFACE_MACRO(type, final) \
|
|
PluginIter i; \
|
|
void *mret=NULL, *d; \
|
|
META_RES mres, high=MRES_IGNORED; \
|
|
g_SmmAPI.SetLastMetaReturn(MRES_IGNORED); \
|
|
for (i=g_PluginMngr._begin(); i!=g_PluginMngr._end(); i++) \
|
|
{ \
|
|
if ( (*i) && (*i)->fac_list.##type ) \
|
|
{ \
|
|
d = ((*i)->fac_list.##type)(name, ret); \
|
|
mres = g_SmmAPI.GetLastMetaReturn(); \
|
|
if (mres > high) \
|
|
high = mres; \
|
|
if (mres >= MRES_OVERRIDE) \
|
|
mret = d; \
|
|
} \
|
|
} \
|
|
if (high == MRES_OVERRIDE) \
|
|
{ \
|
|
(final)(name, ret); \
|
|
return mret; \
|
|
} else if (high == MRES_SUPERCEDE) { \
|
|
return mret; \
|
|
} else { \
|
|
return (final)(name, ret); \
|
|
}
|
|
|
|
#endif //_INCLUDE_UTIL_H
|