diff --git a/extensions/clientprefs/extension.cpp b/extensions/clientprefs/extension.cpp index a797ecdb..62605a23 100644 --- a/extensions/clientprefs/extension.cpp +++ b/extensions/clientprefs/extension.cpp @@ -202,6 +202,19 @@ void ClientPrefs::SDK_OnUnload() cookieMutex->DestroyThis(); } +void ClientPrefs::OnCoreMapStart(edict_t *pEdictList, int edictCount, int clientMax) +{ + if (Database == NULL && !databaseLoading) + { + g_pSM->LogMessage(myself, "Attempting to reconnect to database..."); + + databaseLoading = true; + + TQueryOp *op = new TQueryOp(Query_Connect, 0); + dbi->AddToThreadQueue(op, PrioQueue_High); + } +} + void ClientPrefs::DatabaseConnect() { char error[256]; diff --git a/extensions/clientprefs/extension.h b/extensions/clientprefs/extension.h index 22df6128..7421007e 100644 --- a/extensions/clientprefs/extension.h +++ b/extensions/clientprefs/extension.h @@ -87,6 +87,8 @@ public: const char *GetExtensionVerString(); const char *GetExtensionDateString(); + virtual void OnCoreMapStart(edict_t *pEdictList, int edictCount, int clientMax); + void DatabaseConnect(); bool AddQueryToQueue(TQueryOp *query);