| 118 | } |
| 119 | |
| 120 | bool SDKExtension::OnExtensionLoad(IExtension *me, IShareSys *sys, char *error, size_t maxlength, bool late) |
| 121 | { |
| 122 | g_pShareSys = sharesys = sys; |
| 123 | myself = me; |
| 124 | |
| 125 | #if defined SMEXT_CONF_METAMOD |
| 126 | m_WeAreUnloaded = true; |
| 127 | |
| 128 | if (!m_SourceMMLoaded) |
| 129 | { |
| 130 | if (error) |
| 131 | { |
| 132 | ke::SafeStrcpy(error, maxlength, "Metamod attach failed"); |
| 133 | } |
| 134 | return false; |
| 135 | } |
| 136 | #endif |
| 137 | SM_GET_IFACE(SOURCEMOD, g_pSM); |
| 138 | smutils = g_pSM; |
| 139 | #if defined SMEXT_ENABLE_HANDLESYS |
| 140 | SM_GET_IFACE(HANDLESYSTEM, g_pHandleSys); |
| 141 | handlesys = g_pHandleSys; |
| 142 | #endif |
| 143 | #if defined SMEXT_ENABLE_FORWARDSYS |
| 144 | SM_GET_IFACE(FORWARDMANAGER, g_pForwards); |
| 145 | forwards = g_pForwards; |
| 146 | #endif |
| 147 | #if defined SMEXT_ENABLE_PLAYERHELPERS |
| 148 | SM_GET_IFACE(PLAYERMANAGER, playerhelpers); |
| 149 | #endif |
| 150 | #if defined SMEXT_ENABLE_DBMANAGER |
| 151 | SM_GET_IFACE(DBI, dbi); |
| 152 | #endif |
| 153 | #if defined SMEXT_ENABLE_GAMECONF |
| 154 | SM_GET_IFACE(GAMECONFIG, gameconfs); |
| 155 | #endif |
| 156 | #if defined SMEXT_ENABLE_MEMUTILS |
| 157 | SM_GET_IFACE(MEMORYUTILS, memutils); |
| 158 | #endif |
| 159 | #if defined SMEXT_ENABLE_GAMEHELPERS |
| 160 | SM_GET_IFACE(GAMEHELPERS, gamehelpers); |
| 161 | #endif |
| 162 | #if defined SMEXT_ENABLE_TIMERSYS |
| 163 | SM_GET_IFACE(TIMERSYS, timersys); |
| 164 | #endif |
| 165 | #if defined SMEXT_ENABLE_ADTFACTORY |
| 166 | SM_GET_IFACE(ADTFACTORY, adtfactory); |
| 167 | #endif |
| 168 | #if defined SMEXT_ENABLE_THREADER |
| 169 | SM_GET_IFACE(THREADER, threader); |
| 170 | #endif |
| 171 | #if defined SMEXT_ENABLE_LIBSYS |
| 172 | SM_GET_IFACE(LIBRARYSYS, libsys); |
| 173 | #endif |
| 174 | #if defined SMEXT_ENABLE_PLUGINSYS |
| 175 | SM_GET_IFACE(PLUGINSYSTEM, plsys); |
| 176 | #endif |
| 177 | #if defined SMEXT_ENABLE_MENUS |