From 0e05b948fdaf5fe297c74f701b1fc17d1b3e49cb Mon Sep 17 00:00:00 2001 From: David Anderson Date: Sat, 15 Nov 2008 21:10:13 -0600 Subject: [PATCH] Added error field to provider loading. --- loader/loader_bridge.h | 2 +- loader/serverplugin.cpp | 7 +++++-- 2 files changed, 6 insertions(+), 3 deletions(-) diff --git a/loader/loader_bridge.h b/loader/loader_bridge.h index 4d2fb5b..9368afd 100644 --- a/loader/loader_bridge.h +++ b/loader/loader_bridge.h @@ -15,7 +15,7 @@ struct vsp_bridge_info class IVspBridge { public: - virtual bool Load(const vsp_bridge_info *info) = 0; + virtual bool Load(const vsp_bridge_info *info, char *buffer, size_t maxlength) = 0; virtual void Unload() = 0; virtual const char *GetDescription() = 0; }; diff --git a/loader/serverplugin.cpp b/loader/serverplugin.cpp index d49309b..fdbc6fc 100644 --- a/loader/serverplugin.cpp +++ b/loader/serverplugin.cpp @@ -1,4 +1,5 @@ #include +#include #include #include #include "loader.h" @@ -133,7 +134,7 @@ public: if (get_bridge == NULL) { mm_UnloadMetamodLibrary(); - mm_LogFatal("Detected engine %d but could not find GetVspBridge callback."); + mm_LogFatal("Detected engine %d but could not find GetVspBridge callback.", backend); return false; } @@ -146,9 +147,11 @@ public: info.vsp_callbacks = (IServerPluginCallbacks*)this; info.vsp_version = vsp_version; - if (!bridge->Load(&info)) + strcpy(error, "Unknown error"); + if (!bridge->Load(&info, error, sizeof(error))) { mm_UnloadMetamodLibrary(); + mm_LogFatal("Unknown error loading Metamod for engine %d: %s", backend, error); return false; }