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/adminmenu");
55 folders.Add("addons/sourcemod/scripting/testsuite");
56 folders.Add("cfg/sourcemod");
57 folders.Add("addons/sourcemod/configs/sql-init-scripts");
58 folders.Add("addons/sourcemod/configs/sql-init-scripts/mysql");
59 folders.Add("addons/sourcemod/configs/sql-init-scripts/sqlite");
60 folders.Add("addons/sourcemod/configs/dynamicmenu");
61 //folders.Add("addons/sourcemod/extensions/games");
62 folders.Add("addons/sourcemod/scripting/basecommands");
63 folders.Add("addons/sourcemod/scripting/basecomm");
64 folders.Add("addons/sourcemod/scripting/funvotes");
65 folders.Add("addons/sourcemod/scripting/basevotes");
66 folders.Add("addons/sourcemod/scripting/basebans");
67 folders.Add("addons/sourcemod/scripting/funcommands");
68 folders.Add("addons/sourcemod/extensions/auto.1.ep1");
69 //folders.Add("addons/sourcemod/extensions/auto.2.ep1");
70 folders.Add("addons/sourcemod/extensions/auto.2.ep2");
71 folders.Add("addons/sourcemod/scripting/playercommands");
72 folders.Add("addons/metamod");
74 return (string [])folders.ToArray(typeof(string));
78 * Called when file to file copies must be performed
80 public override void OnCopyFiles(ABuilder builder)
82 builder.CopyFile(this, "sourcepawn/batchtool/compile.exe", "addons/sourcemod/scripting/compile.exe");
86 * Called when dir to dir copies must be performed
88 public override void OnCopyFolders(ABuilder builder)
90 builder.CopyFolder(this, "configs", "addons/sourcemod/configs", null);
91 builder.CopyFolder(this, "configs/geoip", "addons/sourcemod/configs/geoip", null);
92 builder.CopyFolder(this, "configs/cfg", "cfg/sourcemod", null);
93 builder.CopyFolder(this, "configs/metamod", "addons/metamod", null);
94 builder.CopyFolder(this, "configs/dynamicmenu", "addons/sourcemod/configs/dynamicmenu", null);
95 builder.CopyFolder(this,
96 "configs/sql-init-scripts",
97 "addons/sourcemod/configs/sql-init-scripts",
99 builder.CopyFolder(this,
100 "configs/sql-init-scripts/mysql",
101 "addons/sourcemod/configs/sql-init-scripts/mysql",
103 builder.CopyFolder(this,
104 "configs/sql-init-scripts/sqlite",
105 "addons/sourcemod/configs/sql-init-scripts/sqlite",
108 string [] plugin_omits = new string[1];
109 plugin_omits[0] = "spcomp.exe";
111 string [] include_omits = new string[1];
112 include_omits[0] = "version.tpl";
114 builder.CopyFolder(this, "gamedata", "addons/sourcemod/gamedata", null);
115 builder.CopyFolder(this, "plugins", "addons/sourcemod/scripting", plugin_omits);
116 builder.CopyFolder(this, "plugins/include", "addons/sourcemod/scripting/include", include_omits);
117 builder.CopyFolder(this, "translations", "addons/sourcemod/translations", null);
118 builder.CopyFolder(this, "public/licenses", "addons/sourcemod", null);
119 builder.CopyFolder(this, "plugins/admin-flatfile", "addons/sourcemod/scripting/admin-flatfile", null);
120 builder.CopyFolder(this, "plugins/adminmenu", "addons/sourcemod/scripting/adminmenu", null);
121 builder.CopyFolder(this, "plugins/testsuite", "addons/sourcemod/scripting/testsuite", null);
122 builder.CopyFolder(this, "plugins/basecommands", "addons/sourcemod/scripting/basecommands", null);
123 builder.CopyFolder(this, "plugins/basecomm", "addons/sourcemod/scripting/basecomm", null);
124 builder.CopyFolder(this, "plugins/funvotes", "addons/sourcemod/scripting/funvotes", null);
125 builder.CopyFolder(this, "plugins/basevotes", "addons/sourcemod/scripting/basevotes", null);
126 builder.CopyFolder(this, "plugins/basebans", "addons/sourcemod/scripting/basebans", null);
127 builder.CopyFolder(this, "plugins/funcommands", "addons/sourcemod/scripting/funcommands", null);
128 builder.CopyFolder(this, "plugins/playercommands", "addons/sourcemod/scripting/playercommands", null);
132 * Called to build libraries
134 public override Library [] GetLibraries()
136 if (libraries != null)
138 return (Library [])libraries.ToArray(typeof(Library));
141 libraries = new ArrayList();
143 Library lib = new Library();
144 lib.package_path = "addons/sourcemod/bin";
145 lib.source_path = "loader";
146 lib.binary_name = "sourcemod_mm";
147 lib.vcproj_name = "loader";
148 lib.build_mode = BuildMode.BuildMode_Simple;
149 lib.has_platform_ext = true;
153 lib.package_path = "addons/sourcemod/bin";
154 lib.source_path = "core";
155 lib.binary_name = "sourcemod.1.ep1";
156 lib.vcproj_name = "sourcemod_mm";
157 lib.build_mode = BuildMode.BuildMode_OldMetamod;
161 lib.package_path = "addons/sourcemod/bin";
162 lib.source_path = "core";
163 lib.binary_name = "sourcemod.2.ep1";
164 lib.vcproj_name = "sourcemod_mm";
165 lib.build_mode = BuildMode.BuildMode_Episode1;
169 lib.package_path = "addons/sourcemod/bin";
170 lib.source_path = "core";
171 lib.binary_name = "sourcemod.2.ep2";
172 lib.vcproj_name = "sourcemod_mm";
173 lib.build_mode = BuildMode.BuildMode_Episode2;
177 lib.package_path = "addons/sourcemod/bin";
178 lib.source_path = "sourcepawn/jit/x86";
179 lib.binary_name = "sourcepawn.jit.x86";
180 lib.vcproj_name = "jit-x86";
184 lib.package_path = "addons/sourcemod/scripting";
185 lib.source_path = "sourcepawn/compiler";
186 lib.binary_name = "spcomp";
187 lib.is_executable = true;
191 lib.package_path = "addons/sourcemod/extensions";
192 lib.source_path = "extensions/geoip";
193 lib.binary_name = "geoip.ext";
194 lib.vcproj_name = "geoip";
198 lib.package_path = "addons/sourcemod/extensions";
199 lib.source_path = "extensions/bintools";
200 lib.binary_name = "bintools.ext";
201 lib.vcproj_name = "bintools";
205 lib.package_path = "addons/sourcemod/extensions";
206 lib.source_path = "extensions/mysql";
207 lib.binary_name = "dbi.mysql.ext";
208 lib.vcproj_name = "sm_mysql";
212 lib.package_path = "addons/sourcemod/extensions/auto.1.ep1";
213 lib.source_path = "extensions/sdktools";
214 lib.binary_name = "sdktools.ext";
215 lib.vcproj_name = "sdktools";
216 lib.build_mode = BuildMode.BuildMode_OldMetamod;
220 lib.package_path = "addons/sourcemod/extensions/auto.2.ep1";
221 lib.source_path = "extensions/sdktools";
222 lib.binary_name = "sdktools.ext";
223 lib.vcproj_name = "sdktools";
224 lib.build_mode = BuildMode.BuildMode_Episode1;
228 lib.package_path = "addons/sourcemod/extensions/auto.2.ep2";
229 lib.source_path = "extensions/sdktools";
230 lib.binary_name = "sdktools.ext";
231 lib.vcproj_name = "sdktools";
232 lib.build_mode = BuildMode.BuildMode_Episode2;
236 lib.package_path = "addons/sourcemod/extensions";
237 lib.source_path = "extensions/sqlite";
238 lib.binary_name = "dbi.sqlite.ext";
239 lib.vcproj_name = "sm_sqlite";
243 lib.package_path = "addons/sourcemod/extensions/auto.1.ep1";
244 lib.source_path = "extensions/cstrike";
245 lib.binary_name = "game.cstrike.ext";
246 lib.vcproj_name = "cstrike";
247 lib.build_mode = BuildMode.BuildMode_OldMetamod;
251 lib.package_path = "addons/sourcemod/extensions/auto.2.ep1";
252 lib.source_path = "extensions/cstrike";
253 lib.binary_name = "game.cstrike.ext";
254 lib.vcproj_name = "cstrike";
255 lib.build_mode = BuildMode.BuildMode_Episode1;
259 lib.package_path = "addons/sourcemod/extensions";
260 lib.source_path = "extensions/topmenus";
261 lib.binary_name = "topmenus.ext";
262 lib.vcproj_name = "topmenus";
266 lib.package_path = "addons/sourcemod/extensions/auto.2.ep2";
267 lib.source_path = "extensions/tf2";
268 lib.binary_name = "game.tf2.ext";
269 lib.vcproj_name = "tf2";
270 lib.build_mode = BuildMode.BuildMode_Episode2;
274 lib.package_path = "addons/sourcemod/extensions";
275 lib.source_path = "extensions/regex";
276 lib.binary_name = "regex.ext";
277 lib.vcproj_name = "regex";
281 lib.package_path = "addons/sourcemod/extensions";
282 lib.source_path = "extensions/clientprefs";
283 lib.binary_name = "clientprefs.ext";
284 lib.vcproj_name = "clientprefs";
287 return (Library [])libraries.ToArray(typeof(Library));
291 * Called to build plugins
293 public override Plugin [] GetPlugins()
297 return (Plugin [])plugins.ToArray(typeof(Plugin));
300 plugins = new ArrayList();
302 plugins.Add(new Plugin("admin-flatfile", "admin-flatfile"));
303 plugins.Add(new Plugin("adminhelp"));
304 plugins.Add(new Plugin("antiflood"));
305 plugins.Add(new Plugin("basecommands"));
306 plugins.Add(new Plugin("reservedslots"));
307 plugins.Add(new Plugin("basetriggers"));
308 plugins.Add(new Plugin("nextmap"));
309 plugins.Add(new Plugin("basechat"));
310 plugins.Add(new Plugin("funcommands"));
311 plugins.Add(new Plugin("basevotes"));
312 plugins.Add(new Plugin("funvotes"));
313 plugins.Add(new Plugin("admin-sql-prefetch", true));
314 plugins.Add(new Plugin("admin-sql-threaded", true));
315 plugins.Add(new Plugin("sql-admin-manager", true));
316 plugins.Add(new Plugin("basebans"));
317 plugins.Add(new Plugin("mapchooser", true));
318 plugins.Add(new Plugin("basecomm"));
319 plugins.Add(new Plugin("randomcycle", true));
320 plugins.Add(new Plugin("rockthevote", true));
321 plugins.Add(new Plugin("adminmenu"));
322 plugins.Add(new Plugin("playercommands"));
323 plugins.Add(new Plugin("clientprefs"));
325 return (Plugin [])plugins.ToArray(typeof(Plugin));