134 lines
2.9 KiB
C#
Executable File
134 lines
2.9 KiB
C#
Executable File
using System;
|
|
using System.IO;
|
|
|
|
namespace AMXXRelease
|
|
{
|
|
public class CoreMod : AMod
|
|
{
|
|
public CoreMod()
|
|
{
|
|
AddModules();
|
|
AddPlugins();
|
|
}
|
|
|
|
public override sealed string GetName()
|
|
{
|
|
return "base";
|
|
}
|
|
|
|
public override sealed string GetPluginDir()
|
|
{
|
|
return null;
|
|
}
|
|
|
|
public override sealed string GetBaseName()
|
|
{
|
|
return null;
|
|
}
|
|
|
|
public override sealed bool CopyExtraFiles(string basedir, string source)
|
|
{
|
|
//Create directory structures
|
|
string datadir = basedir + "\\data";
|
|
|
|
if (!Directory.Exists(datadir))
|
|
Directory.CreateDirectory(datadir);
|
|
|
|
File.Copy(source + "\\dlls\\geoip\\GeoIP.dat",
|
|
datadir + "\\GeoIP.dat",
|
|
true);
|
|
|
|
Builder.CopyNormal(source + "\\plugins\\lang", datadir + "\\lang");
|
|
|
|
if (!Directory.Exists(basedir + "\\logs"))
|
|
Directory.CreateDirectory(basedir + "\\logs");
|
|
|
|
if (!Directory.Exists(basedir + "\\doc"))
|
|
Directory.CreateDirectory(basedir + "\\doc");
|
|
|
|
File.Copy(source + "\\doc\\amxmodx-doc.chm",
|
|
basedir + "\\doc\\amxmodx-doc.chm",
|
|
true);
|
|
|
|
Builder.CopyNormal(source + "\\plugins\\include", basedir + "\\scripting\\include");
|
|
|
|
return true;
|
|
}
|
|
|
|
private void AddPlugins()
|
|
{
|
|
AddPlugin("admin");
|
|
|
|
Plugin admin_sql = new Plugin("admin_sql");
|
|
admin_sql.source = "admin";
|
|
admin_sql.options = "USING_SQL=1 -oadmin_sql.amx";
|
|
m_Plugins.Add(admin_sql);
|
|
|
|
AddPlugin("adminchat");
|
|
AddPlugin("admincmd");
|
|
AddPlugin("adminhelp");
|
|
AddPlugin("adminslots");
|
|
AddPlugin("adminvote");
|
|
AddPlugin("antiflood");
|
|
AddPlugin("imessage");
|
|
AddPlugin("mapchooser");
|
|
AddPlugin("mapsmenu");
|
|
AddPlugin("menufront");
|
|
AddPlugin("multilingual");
|
|
AddPlugin("nextmap");
|
|
AddPlugin("pausecfg");
|
|
AddPlugin("plmenu");
|
|
AddPlugin("scrollmsg");
|
|
AddPlugin("statscfg");
|
|
AddPlugin("telemenu");
|
|
AddPlugin("timeleft");
|
|
AddPlugin("cmdmenu");
|
|
}
|
|
|
|
private void AddModules()
|
|
{
|
|
Module core = new Module();
|
|
|
|
core.bindir = "msvc";
|
|
core.sourcedir = "amxmodx";
|
|
core.vcproj = "amxmodx_mm";
|
|
core.build = "JITRelease";
|
|
core.projname = "amxmodx_mm";
|
|
core.outdir = "dlls";
|
|
|
|
Module mysql = new Module();
|
|
|
|
mysql.sourcedir = "mysql";
|
|
mysql.projname = "mysql_amxx";
|
|
mysql.bindir = "mysql_amxx";
|
|
mysql.vcproj = "mysql_amxx";
|
|
|
|
Module engine = new Module();
|
|
engine.sourcedir = "engine";
|
|
engine.projname = "engine_amxx";
|
|
engine.vcproj = "engine";
|
|
|
|
Module fun = new Module();
|
|
fun.sourcedir = "fun";
|
|
fun.projname = "fun_amxx";
|
|
fun.vcproj = "fun";
|
|
|
|
Module geoip = new Module("geoip");
|
|
Module fakemeta = new Module("fakemeta");
|
|
Module sockets = new Module("sockets");
|
|
Module regex = new Module("regex");
|
|
Module nvault = new Module("nvault");
|
|
|
|
m_Modules.Add(core);
|
|
m_Modules.Add(mysql);
|
|
m_Modules.Add(engine);
|
|
m_Modules.Add(fun);
|
|
m_Modules.Add(geoip);
|
|
m_Modules.Add(fakemeta);
|
|
m_Modules.Add(sockets);
|
|
m_Modules.Add(regex);
|
|
m_Modules.Add(nvault);
|
|
}
|
|
}
|
|
}
|