void PHandler_PluginInfo_f()
{
    if(Cmd_Argc() < 2){
        Com_Printf("Usage: %s <plugin name>\n",Cmd_Argv(0));
        return;
    }
    int id = PHandler_GetID(Cmd_Argv(1),strlen(Cmd_Argv(1)));
    int i;
    int vMajor, vMinor;
    pluginInfo_t info;
    if(id<0){
        Com_Printf("Plugin \"%s\" is not loaded!\n",Cmd_Argv(1));
        return;
    }
    (*pluginFunctions.plugins[id].OnInfoRequest)(&info);
    Com_Printf("\n");
    Com_Printf("\n^2Plugin name:^7\n%s\n\n",pluginFunctions.plugins[id].name);
    vMajor = info.pluginVersion.major;
    vMinor = info.pluginVersion.minor;
    if(vMinor > 100){
        while(vMinor>=1000){
            vMinor /= 10;
        }
    }
    Com_Printf("\n^2Plugin version:^7\n%d.%d\n\n",vMajor,vMinor);
    Com_Printf("\n^2Full plugin name:^7\n%s\n\n",info.fullName);
    Com_Printf("\n^2Short plugin description:^7\n%s\n\n",info.shortDescription);
    Com_Printf("\n^2Full plugin description:^7\n%s\n\n",info.longDescription);
    Com_Printf("\n^2Plugin commands:^7\n\n");
    for(i=0;i<pluginFunctions.plugins[id].cmds;++i){
        Com_Printf(" -%s\n",pluginFunctions.plugins[id].cmd[i].name);
    }
    Com_Printf("\n^2Total of %d commands.^7\n\n",pluginFunctions.plugins[id].cmds);
}
Example #2
0
void PHandler_UnloadByName(char *name) // Unload a plugin, safe for use
{
    int id = PHandler_GetID(name);
    if(id<0)
        Com_Printf("Cannot unload plugin: plugin %s is not loaded!\n",name);
    else{
        Com_Printf("Unloading plugin %s, plugin id: %d.\n",name,id);
        PHandler_Unload(id);

    }
}