2 using System.Collections;
6 public class PkgCore : Package
8 private ArrayList libraries;
9 private ArrayList plugins;
10 private ArrayList folders;
16 public override string GetBaseFolder()
21 public override void GetCompressBases(ref string path, ref string folder)
27 public override string GetPackageName()
29 return "sourcemod-core";
33 * Must return the list of folders to create.
35 public override string [] GetFolders()
39 return (string [])folders.ToArray(typeof(string));
42 folders = new ArrayList();
44 folders.Add("addons/sourcemod/bin");
45 folders.Add("addons/sourcemod/plugins/disabled");
46 folders.Add("addons/sourcemod/gamedata");
47 folders.Add("addons/sourcemod/configs/geoip");
48 folders.Add("addons/sourcemod/translations");
49 folders.Add("addons/sourcemod/logs");
50 folders.Add("addons/sourcemod/extensions");
51 folders.Add("addons/sourcemod/data");
52 folders.Add("addons/sourcemod/scripting/include");
53 folders.Add("addons/sourcemod/scripting/admin-flatfile");
54 folders.Add("addons/sourcemod/scripting/testsuite");
55 folders.Add("cfg/sourcemod");
56 folders.Add("addons/sourcemod/configs/sql-init-scripts");
57 folders.Add("addons/sourcemod/configs/sql-init-scripts/mysql");
58 folders.Add("addons/sourcemod/configs/sql-init-scripts/sqlite");
59 folders.Add("addons/sourcemod/extensions/games");
60 folders.Add("addons/sourcemod/scripting/basecommands");
61 folders.Add("addons/sourcemod/scripting/basecomm");
62 folders.Add("addons/sourcemod/scripting/basefunvotes");
63 folders.Add("addons/sourcemod/scripting/basevotes");
64 folders.Add("addons/sourcemod/scripting/basebans");
65 folders.Add("addons/sourcemod/scripting/basefuncommands");
66 folders.Add("addons/sourcemod/extensions/auto.1.ep1");
67 folders.Add("addons/sourcemod/extensions/auto.2.ep1");
68 folders.Add("addons/sourcemod/extensions/auto.2.ep2");
69 folders.Add("addons/sourcemod/scripting/playercommands");
71 return (string [])folders.ToArray(typeof(string));
75 * Called when file to file copies must be performed
77 public override void OnCopyFiles(ABuilder builder)
79 builder.CopyFile(this, "sourcepawn/batchtool/compile.exe", "addons/sourcemod/scripting/compile.exe");
83 * Called when dir to dir copies must be performed
85 public override void OnCopyFolders(ABuilder builder)
87 builder.CopyFolder(this, "configs", "addons/sourcemod/configs", null);
88 builder.CopyFolder(this, "configs/geoip", "addons/sourcemod/configs/geoip", null);
89 builder.CopyFolder(this, "configs/cfg", "cfg/sourcemod", null);
90 builder.CopyFolder(this,
91 "configs/sql-init-scripts",
92 "addons/sourcemod/configs/sql-init-scripts",
94 builder.CopyFolder(this,
95 "configs/sql-init-scripts/mysql",
96 "addons/sourcemod/configs/sql-init-scripts/mysql",
98 builder.CopyFolder(this,
99 "configs/sql-init-scripts/sqlite",
100 "addons/sourcemod/configs/sql-init-scripts/sqlite",
103 string [] plugin_omits = new string[1];
104 plugin_omits[0] = "spcomp.exe";
106 string [] include_omits = new string[1];
107 include_omits[0] = "version.tpl";
109 builder.CopyFolder(this, "gamedata", "addons/sourcemod/gamedata", null);
110 builder.CopyFolder(this, "plugins", "addons/sourcemod/scripting", plugin_omits);
111 builder.CopyFolder(this, "plugins/include", "addons/sourcemod/scripting/include", include_omits);
112 builder.CopyFolder(this, "translations", "addons/sourcemod/translations", null);
113 builder.CopyFolder(this, "public/licenses", "addons/sourcemod", null);
114 builder.CopyFolder(this, "plugins/admin-flatfile", "addons/sourcemod/scripting/admin-flatfile", null);
115 builder.CopyFolder(this, "plugins/testsuite", "addons/sourcemod/scripting/testsuite", null);
116 builder.CopyFolder(this, "plugins/basecommands", "addons/sourcemod/scripting/basecommands", null);
117 builder.CopyFolder(this, "plugins/basecomm", "addons/sourcemod/scripting/basecomm", null);
118 builder.CopyFolder(this, "plugins/basefunvotes", "addons/sourcemod/scripting/basefunvotes", null);
119 builder.CopyFolder(this, "plugins/basevotes", "addons/sourcemod/scripting/basevotes", null);
120 builder.CopyFolder(this, "plugins/basebans", "addons/sourcemod/scripting/basebans", null);
121 builder.CopyFolder(this, "plugins/basefuncommands", "addons/sourcemod/scripting/basefuncommands", null);
122 builder.CopyFolder(this, "plugins/playercommands", "addons/sourcemod/scripting/playercommands", null);
126 * Called to build libraries
128 public override Library [] GetLibraries()
130 if (libraries != null)
132 return (Library [])libraries.ToArray(typeof(Library));
135 libraries = new ArrayList();
137 Library lib = new Library();
138 lib.package_path = "addons/sourcemod/bin";
139 lib.source_path = "loader";
140 lib.binary_name = "sourcemod_mm";
141 lib.vcproj_name = "loader";
142 lib.build_mode = BuildMode.BuildMode_Simple;
143 lib.has_platform_ext = true;
147 lib.package_path = "addons/sourcemod/bin";
148 lib.source_path = "core";
149 lib.binary_name = "sourcemod.1.ep1";
150 lib.vcproj_name = "sourcemod_mm";
151 lib.build_mode = BuildMode.BuildMode_OldMetamod;
155 lib.package_path = "addons/sourcemod/bin";
156 lib.source_path = "core";
157 lib.binary_name = "sourcemod.2.ep1";
158 lib.vcproj_name = "sourcemod_mm";
159 lib.build_mode = BuildMode.BuildMode_Episode1;
163 lib.package_path = "addons/sourcemod/bin";
164 lib.source_path = "core";
165 lib.binary_name = "sourcemod.2.ep2";
166 lib.vcproj_name = "sourcemod_mm";
167 lib.build_mode = BuildMode.BuildMode_Episode2;
171 lib.package_path = "addons/sourcemod/bin";
172 lib.source_path = "sourcepawn/jit/x86";
173 lib.binary_name = "sourcepawn.jit.x86";
174 lib.vcproj_name = "jit-x86";
178 lib.package_path = "addons/sourcemod/scripting";
179 lib.source_path = "sourcepawn/compiler";
180 lib.binary_name = "spcomp";
181 lib.is_executable = true;
185 lib.package_path = "addons/sourcemod/extensions";
186 lib.source_path = "extensions/geoip";
187 lib.binary_name = "geoip.ext";
188 lib.vcproj_name = "geoip";
192 lib.package_path = "addons/sourcemod/extensions";
193 lib.source_path = "extensions/bintools";
194 lib.binary_name = "bintools.ext";
195 lib.vcproj_name = "bintools";
199 lib.package_path = "addons/sourcemod/extensions";
200 lib.source_path = "extensions/mysql";
201 lib.binary_name = "dbi.mysql.ext";
202 lib.vcproj_name = "sm_mysql";
206 lib.package_path = "addons/sourcemod/extensions/auto.1.ep1";
207 lib.source_path = "extensions/sdktools";
208 lib.binary_name = "sdktools.ext";
209 lib.vcproj_name = "sdktools";
210 lib.build_mode = BuildMode.BuildMode_OldMetamod;
214 lib.package_path = "addons/sourcemod/extensions/auto.2.ep1";
215 lib.source_path = "extensions/sdktools";
216 lib.binary_name = "sdktools.ext";
217 lib.vcproj_name = "sdktools";
218 lib.build_mode = BuildMode.BuildMode_Episode1;
222 lib.package_path = "addons/sourcemod/extensions/auto.2.ep2";
223 lib.source_path = "extensions/sdktools";
224 lib.binary_name = "sdktools.ext";
225 lib.vcproj_name = "sdktools";
226 lib.build_mode = BuildMode.BuildMode_Episode2;
230 lib.package_path = "addons/sourcemod/extensions";
231 lib.source_path = "extensions/sqlite";
232 lib.binary_name = "dbi.sqlite.ext";
233 lib.vcproj_name = "sm_sqlite";
237 lib.package_path = "addons/sourcemod/extensions/auto.1.ep1";
238 lib.source_path = "extensions/cstrike";
239 lib.binary_name = "game.cstrike.ext";
240 lib.vcproj_name = "cstrike";
241 lib.build_mode = BuildMode.BuildMode_OldMetamod;
245 lib.package_path = "addons/sourcemod/extensions/auto.2.ep1";
246 lib.source_path = "extensions/cstrike";
247 lib.binary_name = "game.cstrike.ext";
248 lib.vcproj_name = "cstrike";
249 lib.build_mode = BuildMode.BuildMode_Episode1;
253 lib.package_path = "addons/sourcemod/extensions";
254 lib.source_path = "extensions/topmenus";
255 lib.binary_name = "topmenus.ext";
256 lib.vcproj_name = "topmenus";
259 return (Library [])libraries.ToArray(typeof(Library));
263 * Called to build plugins
265 public override Plugin [] GetPlugins()
269 return (Plugin [])plugins.ToArray(typeof(Plugin));
272 plugins = new ArrayList();
274 plugins.Add(new Plugin("admin-flatfile", "admin-flatfile"));
275 plugins.Add(new Plugin("adminhelp"));
276 plugins.Add(new Plugin("antiflood"));
277 plugins.Add(new Plugin("basecommands"));
278 plugins.Add(new Plugin("reservedslots"));
279 plugins.Add(new Plugin("basetriggers"));
280 plugins.Add(new Plugin("nextmap"));
281 plugins.Add(new Plugin("basechat"));
282 plugins.Add(new Plugin("basefuncommands"));
283 plugins.Add(new Plugin("basevotes"));
284 plugins.Add(new Plugin("basefunvotes"));
285 plugins.Add(new Plugin("admin-sql-prefetch", true));
286 plugins.Add(new Plugin("admin-sql-threaded", true));
287 plugins.Add(new Plugin("sql-admin-manager", true));
288 plugins.Add(new Plugin("basebans"));
289 plugins.Add(new Plugin("mapchooser", true));
290 plugins.Add(new Plugin("basecomm"));
291 plugins.Add(new Plugin("randomcycle", true));
292 plugins.Add(new Plugin("rockthevote", true));
293 plugins.Add(new Plugin("adminmenu"));
294 plugins.Add(new Plugin("playercommands"));
296 return (Plugin [])plugins.ToArray(typeof(Plugin));