ds@1952: using System; ds@1952: using System.Collections; ds@1952: ds@1952: namespace builder ds@1952: { ds@1952: public class PkgCore : Package ds@1952: { ds@1952: private ArrayList libraries; ds@1952: private ArrayList plugins; ds@1952: private ArrayList folders; ds@1952: ds@1952: public PkgCore() ds@1952: { ds@1952: } ds@1952: ds@1952: public override string GetBaseFolder() ds@1952: { ds@1952: return "base"; ds@1952: } ds@1952: ds@1952: public override void GetCompressBases(ref string path, ref string folder) ds@1952: { ds@1952: path = "base"; ds@1952: folder = "addons"; ds@1952: } ds@1952: ds@1952: public override string GetPackageName() ds@1952: { ds@1952: return "sourcemod-core"; ds@1952: } ds@1952: ds@1952: /** ds@1952: * Must return the list of folders to create. ds@1952: */ ds@1952: public override string [] GetFolders() ds@1952: { ds@1952: if (folders != null) ds@1952: { ds@1952: return (string [])folders.ToArray(typeof(string)); ds@1952: } ds@1952: ds@1952: folders = new ArrayList(); ds@1952: ds@1952: folders.Add("addons/sourcemod/bin"); ds@1952: folders.Add("addons/sourcemod/plugins/disabled"); ds@1952: folders.Add("addons/sourcemod/gamedata"); ds@1952: folders.Add("addons/sourcemod/configs/geoip"); ds@1952: folders.Add("addons/sourcemod/translations"); ds@1952: folders.Add("addons/sourcemod/logs"); ds@1952: folders.Add("addons/sourcemod/extensions"); ds@1952: folders.Add("addons/sourcemod/data"); ds@1952: folders.Add("addons/sourcemod/scripting/include"); ds@1952: folders.Add("addons/sourcemod/scripting/admin-flatfile"); ds@1952: folders.Add("addons/sourcemod/scripting/adminmenu"); ds@1952: folders.Add("addons/sourcemod/scripting/testsuite"); ds@1952: folders.Add("cfg/sourcemod"); ds@1952: folders.Add("addons/sourcemod/configs/sql-init-scripts"); ds@1952: folders.Add("addons/sourcemod/configs/sql-init-scripts/mysql"); ds@1952: folders.Add("addons/sourcemod/configs/sql-init-scripts/sqlite"); ds@1952: //folders.Add("addons/sourcemod/extensions/games"); ds@1952: folders.Add("addons/sourcemod/scripting/basecommands"); ds@1952: folders.Add("addons/sourcemod/scripting/basecomm"); ds@1952: folders.Add("addons/sourcemod/scripting/funvotes"); ds@1952: folders.Add("addons/sourcemod/scripting/basevotes"); ds@1952: folders.Add("addons/sourcemod/scripting/basebans"); ds@1952: folders.Add("addons/sourcemod/scripting/funcommands"); ds@1952: folders.Add("addons/sourcemod/extensions/auto.1.ep1"); ds@1952: //folders.Add("addons/sourcemod/extensions/auto.2.ep1"); ds@1952: folders.Add("addons/sourcemod/extensions/auto.2.ep2"); ds@1952: folders.Add("addons/sourcemod/scripting/playercommands"); ds@1952: folders.Add("addons/metamod"); ds@1952: ds@1952: return (string [])folders.ToArray(typeof(string)); ds@1952: } ds@1952: ds@1952: /** ds@1952: * Called when file to file copies must be performed ds@1952: */ ds@1952: public override void OnCopyFiles(ABuilder builder) ds@1952: { ds@1952: builder.CopyFile(this, "sourcepawn/batchtool/compile.exe", "addons/sourcemod/scripting/compile.exe"); ds@1952: } ds@1952: ds@1952: /** ds@1952: * Called when dir to dir copies must be performed ds@1952: */ ds@1952: public override void OnCopyFolders(ABuilder builder) ds@1952: { ds@1952: builder.CopyFolder(this, "configs", "addons/sourcemod/configs", null); ds@1952: builder.CopyFolder(this, "configs/geoip", "addons/sourcemod/configs/geoip", null); ds@1952: builder.CopyFolder(this, "configs/cfg", "cfg/sourcemod", null); ds@1952: builder.CopyFolder(this, "configs/metamod", "addons/metamod", null); ds@1952: builder.CopyFolder(this, ds@1952: "configs/sql-init-scripts", ds@1952: "addons/sourcemod/configs/sql-init-scripts", ds@1952: null); ds@1952: builder.CopyFolder(this, ds@1952: "configs/sql-init-scripts/mysql", ds@1952: "addons/sourcemod/configs/sql-init-scripts/mysql", ds@1952: null); ds@1952: builder.CopyFolder(this, ds@1952: "configs/sql-init-scripts/sqlite", ds@1952: "addons/sourcemod/configs/sql-init-scripts/sqlite", ds@1952: null); ds@1952: ds@1952: string [] plugin_omits = new string[1]; ds@1952: plugin_omits[0] = "spcomp.exe"; ds@1952: ds@1952: string [] include_omits = new string[1]; ds@1952: include_omits[0] = "version.tpl"; ds@1952: ds@1952: builder.CopyFolder(this, "gamedata", "addons/sourcemod/gamedata", null); ds@1952: builder.CopyFolder(this, "plugins", "addons/sourcemod/scripting", plugin_omits); ds@1952: builder.CopyFolder(this, "plugins/include", "addons/sourcemod/scripting/include", include_omits); ds@1952: builder.CopyFolder(this, "translations", "addons/sourcemod/translations", null); ds@1952: builder.CopyFolder(this, "public/licenses", "addons/sourcemod", null); ds@1952: builder.CopyFolder(this, "plugins/admin-flatfile", "addons/sourcemod/scripting/admin-flatfile", null); ds@1952: builder.CopyFolder(this, "plugins/adminmenu", "addons/sourcemod/scripting/adminmenu", null); ds@1952: builder.CopyFolder(this, "plugins/testsuite", "addons/sourcemod/scripting/testsuite", null); ds@1952: builder.CopyFolder(this, "plugins/basecommands", "addons/sourcemod/scripting/basecommands", null); ds@1952: builder.CopyFolder(this, "plugins/basecomm", "addons/sourcemod/scripting/basecomm", null); ds@1952: builder.CopyFolder(this, "plugins/funvotes", "addons/sourcemod/scripting/funvotes", null); ds@1952: builder.CopyFolder(this, "plugins/basevotes", "addons/sourcemod/scripting/basevotes", null); ds@1952: builder.CopyFolder(this, "plugins/basebans", "addons/sourcemod/scripting/basebans", null); ds@1952: builder.CopyFolder(this, "plugins/funcommands", "addons/sourcemod/scripting/funcommands", null); ds@1952: builder.CopyFolder(this, "plugins/playercommands", "addons/sourcemod/scripting/playercommands", null); ds@1952: } ds@1952: ds@1952: /** ds@1952: * Called to build libraries ds@1952: */ ds@1952: public override Library [] GetLibraries() ds@1952: { ds@1952: if (libraries != null) ds@1952: { ds@1952: return (Library [])libraries.ToArray(typeof(Library)); ds@1952: } ds@1952: ds@1952: libraries = new ArrayList(); ds@1952: ds@1952: Library lib = new Library(); ds@1952: lib.package_path = "addons/sourcemod/bin"; ds@1952: lib.source_path = "loader"; ds@1952: lib.binary_name = "sourcemod_mm"; ds@1952: lib.vcproj_name = "loader"; ds@1952: lib.build_mode = BuildMode.BuildMode_Simple; ds@1952: lib.has_platform_ext = true; ds@1952: libraries.Add(lib); ds@1952: ds@1952: lib = new Library(); ds@1952: lib.package_path = "addons/sourcemod/bin"; ds@1952: lib.source_path = "core"; ds@1952: lib.binary_name = "sourcemod.1.ep1"; ds@1952: lib.vcproj_name = "sourcemod_mm"; ds@1952: lib.build_mode = BuildMode.BuildMode_OldMetamod; ds@1952: libraries.Add(lib); ds@1952: ds@1952: lib = new Library(); ds@1952: lib.package_path = "addons/sourcemod/bin"; ds@1952: lib.source_path = "core"; ds@1952: lib.binary_name = "sourcemod.2.ep1"; ds@1952: lib.vcproj_name = "sourcemod_mm"; ds@1952: lib.build_mode = BuildMode.BuildMode_Episode1; ds@1952: libraries.Add(lib); ds@1952: ds@1952: lib = new Library(); ds@1952: lib.package_path = "addons/sourcemod/bin"; ds@1952: lib.source_path = "core"; ds@1952: lib.binary_name = "sourcemod.2.ep2"; ds@1952: lib.vcproj_name = "sourcemod_mm"; ds@1952: lib.build_mode = BuildMode.BuildMode_Episode2; ds@1952: libraries.Add(lib); ds@1952: ds@1952: lib = new Library(); ds@1952: lib.package_path = "addons/sourcemod/bin"; dvander@2197: lib.source_path = "sourcepawn/jit"; ds@1952: lib.binary_name = "sourcepawn.jit.x86"; ds@1952: lib.vcproj_name = "jit-x86"; ds@1952: libraries.Add(lib); ds@1952: ds@1952: lib = new Library(); ds@1952: lib.package_path = "addons/sourcemod/scripting"; ds@1952: lib.source_path = "sourcepawn/compiler"; ds@1952: lib.binary_name = "spcomp"; ds@1952: lib.is_executable = true; ds@1952: libraries.Add(lib); ds@1952: ds@1952: lib = new Library(); ds@1952: lib.package_path = "addons/sourcemod/extensions"; ds@1952: lib.source_path = "extensions/geoip"; ds@1952: lib.binary_name = "geoip.ext"; ds@1952: lib.vcproj_name = "geoip"; ds@1952: libraries.Add(lib); ds@1952: ds@1952: lib = new Library(); ds@1952: lib.package_path = "addons/sourcemod/extensions"; ds@1952: lib.source_path = "extensions/bintools"; ds@1952: lib.binary_name = "bintools.ext"; ds@1952: lib.vcproj_name = "bintools"; ds@1952: libraries.Add(lib); ds@1952: ds@1952: lib = new Library(); ds@1952: lib.package_path = "addons/sourcemod/extensions"; ds@1952: lib.source_path = "extensions/mysql"; ds@1952: lib.binary_name = "dbi.mysql.ext"; ds@1952: lib.vcproj_name = "sm_mysql"; ds@1952: libraries.Add(lib); ds@1952: ds@1952: lib = new Library(); ds@1952: lib.package_path = "addons/sourcemod/extensions/auto.1.ep1"; ds@1952: lib.source_path = "extensions/sdktools"; ds@1952: lib.binary_name = "sdktools.ext"; ds@1952: lib.vcproj_name = "sdktools"; ds@1952: lib.build_mode = BuildMode.BuildMode_OldMetamod; ds@1952: libraries.Add(lib); ds@1952: ds@1952: lib = new Library(); ds@1952: lib.package_path = "addons/sourcemod/extensions/auto.2.ep1"; ds@1952: lib.source_path = "extensions/sdktools"; ds@1952: lib.binary_name = "sdktools.ext"; ds@1952: lib.vcproj_name = "sdktools"; ds@1952: lib.build_mode = BuildMode.BuildMode_Episode1; ds@1952: libraries.Add(lib); ds@1952: ds@1952: lib = new Library(); ds@1952: lib.package_path = "addons/sourcemod/extensions/auto.2.ep2"; ds@1952: lib.source_path = "extensions/sdktools"; ds@1952: lib.binary_name = "sdktools.ext"; ds@1952: lib.vcproj_name = "sdktools"; ds@1952: lib.build_mode = BuildMode.BuildMode_Episode2; ds@1952: libraries.Add(lib); ds@1952: ds@1952: lib = new Library(); ds@1952: lib.package_path = "addons/sourcemod/extensions"; ds@1952: lib.source_path = "extensions/sqlite"; ds@1952: lib.binary_name = "dbi.sqlite.ext"; ds@1952: lib.vcproj_name = "sm_sqlite"; ds@1952: libraries.Add(lib); ds@1952: ds@1952: lib = new Library(); ds@1952: lib.package_path = "addons/sourcemod/extensions/auto.1.ep1"; ds@1952: lib.source_path = "extensions/cstrike"; ds@1952: lib.binary_name = "game.cstrike.ext"; ds@1952: lib.vcproj_name = "cstrike"; ds@1952: lib.build_mode = BuildMode.BuildMode_OldMetamod; ds@1952: libraries.Add(lib); ds@1952: ds@1952: lib = new Library(); ds@1952: lib.package_path = "addons/sourcemod/extensions/auto.2.ep1"; ds@1952: lib.source_path = "extensions/cstrike"; ds@1952: lib.binary_name = "game.cstrike.ext"; ds@1952: lib.vcproj_name = "cstrike"; ds@1952: lib.build_mode = BuildMode.BuildMode_Episode1; ds@1952: libraries.Add(lib); ds@1952: ds@1952: lib = new Library(); ds@1952: lib.package_path = "addons/sourcemod/extensions"; ds@1952: lib.source_path = "extensions/topmenus"; ds@1952: lib.binary_name = "topmenus.ext"; ds@1952: lib.vcproj_name = "topmenus"; ds@1952: libraries.Add(lib); ds@1952: dvander@1968: lib = new Library(); dvander@1968: lib.package_path = "addons/sourcemod/extensions/auto.2.ep2"; dvander@1968: lib.source_path = "extensions/tf2"; dvander@1968: lib.binary_name = "game.tf2.ext"; dvander@1968: lib.vcproj_name = "tf2"; dvander@1968: lib.build_mode = BuildMode.BuildMode_Episode2; dvander@1968: libraries.Add(lib); dvander@1968: dvander@1968: lib = new Library(); dvander@1968: lib.package_path = "addons/sourcemod/extensions"; dvander@1968: lib.source_path = "extensions/regex"; dvander@1968: lib.binary_name = "regex.ext"; dvander@1968: lib.vcproj_name = "regex"; dvander@1968: libraries.Add(lib); dvander@1968: pred@2009: lib = new Library(); pred@2009: lib.package_path = "addons/sourcemod/extensions"; pred@2009: lib.source_path = "extensions/clientprefs"; pred@2009: lib.binary_name = "clientprefs.ext"; pred@2009: lib.vcproj_name = "clientprefs"; pred@2009: libraries.Add(lib); pred@2009: ds@1952: return (Library [])libraries.ToArray(typeof(Library)); ds@1952: } ds@1952: ds@1952: /** ds@1952: * Called to build plugins ds@1952: */ ds@1952: public override Plugin [] GetPlugins() ds@1952: { ds@1952: if (plugins != null) ds@1952: { ds@1952: return (Plugin [])plugins.ToArray(typeof(Plugin)); ds@1952: } ds@1952: ds@1952: plugins = new ArrayList(); ds@1952: ds@1952: plugins.Add(new Plugin("admin-flatfile", "admin-flatfile")); ds@1952: plugins.Add(new Plugin("adminhelp")); ds@1952: plugins.Add(new Plugin("antiflood")); ds@1952: plugins.Add(new Plugin("basecommands")); ds@1952: plugins.Add(new Plugin("reservedslots")); ds@1952: plugins.Add(new Plugin("basetriggers")); ds@1952: plugins.Add(new Plugin("nextmap")); ds@1952: plugins.Add(new Plugin("basechat")); ds@1952: plugins.Add(new Plugin("funcommands")); ds@1952: plugins.Add(new Plugin("basevotes")); ds@1952: plugins.Add(new Plugin("funvotes")); ds@1952: plugins.Add(new Plugin("admin-sql-prefetch", true)); ds@1952: plugins.Add(new Plugin("admin-sql-threaded", true)); ds@1952: plugins.Add(new Plugin("sql-admin-manager", true)); ds@1952: plugins.Add(new Plugin("basebans")); ds@1952: plugins.Add(new Plugin("mapchooser", true)); ds@1952: plugins.Add(new Plugin("basecomm")); ds@1952: plugins.Add(new Plugin("randomcycle", true)); ds@1952: plugins.Add(new Plugin("rockthevote", true)); ds@1952: plugins.Add(new Plugin("adminmenu")); ds@1952: plugins.Add(new Plugin("playercommands")); pred@2050: plugins.Add(new Plugin("clientprefs")); dvander@2149: plugins.Add(new Plugin("nominations", true)); ds@1952: ds@1952: return (Plugin [])plugins.ToArray(typeof(Plugin)); ds@1952: } ds@1952: } ds@1952: } ds@1952: