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/extensions/games");
61 folders.Add("addons/sourcemod/scripting/basecommands");
62 folders.Add("addons/sourcemod/scripting/basecomm");
63 folders.Add("addons/sourcemod/scripting/funvotes");
64 folders.Add("addons/sourcemod/scripting/basevotes");
65 folders.Add("addons/sourcemod/scripting/basebans");
66 folders.Add("addons/sourcemod/scripting/funcommands");
67 folders.Add("addons/sourcemod/extensions/auto.1.ep1");
68 //folders.Add("addons/sourcemod/extensions/auto.2.ep1");
69 folders.Add("addons/sourcemod/extensions/auto.2.ep2");
70 folders.Add("addons/sourcemod/extensions/auto.2.l4d");
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,
95 "configs/sql-init-scripts",
96 "addons/sourcemod/configs/sql-init-scripts",
98 builder.CopyFolder(this,
99 "configs/sql-init-scripts/mysql",
100 "addons/sourcemod/configs/sql-init-scripts/mysql",
102 builder.CopyFolder(this,
103 "configs/sql-init-scripts/sqlite",
104 "addons/sourcemod/configs/sql-init-scripts/sqlite",
107 string [] plugin_omits = new string[1];
108 plugin_omits[0] = "spcomp.exe";
110 string [] include_omits = new string[1];
111 include_omits[0] = "version.tpl";
113 builder.CopyFolder(this, "gamedata", "addons/sourcemod/gamedata", null);
114 builder.CopyFolder(this, "plugins", "addons/sourcemod/scripting", plugin_omits);
115 builder.CopyFolder(this, "plugins/include", "addons/sourcemod/scripting/include", include_omits);
116 builder.CopyFolder(this, "translations", "addons/sourcemod/translations", null);
117 builder.CopyFolder(this, "public/licenses", "addons/sourcemod", null);
118 builder.CopyFolder(this, "plugins/admin-flatfile", "addons/sourcemod/scripting/admin-flatfile", null);
119 builder.CopyFolder(this, "plugins/adminmenu", "addons/sourcemod/scripting/adminmenu", null);
120 builder.CopyFolder(this, "plugins/testsuite", "addons/sourcemod/scripting/testsuite", null);
121 builder.CopyFolder(this, "plugins/basecommands", "addons/sourcemod/scripting/basecommands", null);
122 builder.CopyFolder(this, "plugins/basecomm", "addons/sourcemod/scripting/basecomm", null);
123 builder.CopyFolder(this, "plugins/funvotes", "addons/sourcemod/scripting/funvotes", null);
124 builder.CopyFolder(this, "plugins/basevotes", "addons/sourcemod/scripting/basevotes", null);
125 builder.CopyFolder(this, "plugins/basebans", "addons/sourcemod/scripting/basebans", null);
126 builder.CopyFolder(this, "plugins/funcommands", "addons/sourcemod/scripting/funcommands", null);
127 builder.CopyFolder(this, "plugins/playercommands", "addons/sourcemod/scripting/playercommands", null);
131 * Called to build libraries
133 public override Library [] GetLibraries()
135 if (libraries != null)
137 return (Library [])libraries.ToArray(typeof(Library));
140 libraries = new ArrayList();
142 Library lib = new Library();
143 lib.package_path = "addons/sourcemod/bin";
144 lib.source_path = "loader";
145 lib.binary_name = "sourcemod_mm";
146 lib.vcproj_name = "loader";
147 lib.build_mode = BuildMode.BuildMode_Simple;
148 lib.has_platform_ext = true;
152 lib.package_path = "addons/sourcemod/bin";
153 lib.source_path = "core";
154 lib.binary_name = "sourcemod.1.ep1";
155 lib.vcproj_name = "sourcemod_mm";
156 lib.build_mode = BuildMode.BuildMode_OldMetamod;
160 lib.package_path = "addons/sourcemod/bin";
161 lib.source_path = "core";
162 lib.binary_name = "sourcemod.2.ep1";
163 lib.vcproj_name = "sourcemod_mm";
164 lib.build_mode = BuildMode.BuildMode_Episode1;
168 lib.package_path = "addons/sourcemod/bin";
169 lib.source_path = "core";
170 lib.binary_name = "sourcemod.2.ep2";
171 lib.vcproj_name = "sourcemod_mm";
172 lib.build_mode = BuildMode.BuildMode_Episode2;
176 lib.package_path = "addons/sourcemod/bin";
177 lib.source_path = "core";
178 lib.binary_name = "sourcemod.2.l4d";
179 lib.vcproj_name = "sourcemod_mm";
180 lib.build_mode = BuildMode.BuildMode_Left4Dead;
184 lib.package_path = "addons/sourcemod/bin";
185 lib.source_path = "sourcepawn/jit";
186 lib.binary_name = "sourcepawn.jit.x86";
187 lib.vcproj_name = "jit-x86";
191 lib.package_path = "addons/sourcemod/scripting";
192 lib.source_path = "sourcepawn/compiler";
193 lib.binary_name = "spcomp";
194 lib.is_executable = true;
198 lib.package_path = "addons/sourcemod/extensions";
199 lib.source_path = "extensions/geoip";
200 lib.binary_name = "geoip.ext";
201 lib.vcproj_name = "geoip";
205 lib.package_path = "addons/sourcemod/extensions/auto.1.ep1";
206 lib.source_path = "extensions/bintools";
207 lib.binary_name = "bintools.ext";
208 lib.vcproj_name = "bintools";
209 lib.build_mode = BuildMode.BuildMode_OldMetamod;
213 lib.package_path = "addons/sourcemod/extensions/auto.2.ep1";
214 lib.source_path = "extensions/bintools";
215 lib.binary_name = "bintools.ext";
216 lib.vcproj_name = "bintools";
217 lib.build_mode = BuildMode.BuildMode_Episode1;
221 lib.package_path = "addons/sourcemod/extensions/auto.2.ep2";
222 lib.source_path = "extensions/bintools";
223 lib.binary_name = "bintools.ext";
224 lib.vcproj_name = "bintools";
225 lib.build_mode = BuildMode.BuildMode_Episode2;
229 lib.package_path = "addons/sourcemod/extensions/auto.2.l4d";
230 lib.source_path = "extensions/bintools";
231 lib.binary_name = "bintools.ext";
232 lib.vcproj_name = "bintools";
233 lib.build_mode = BuildMode.BuildMode_Left4Dead;
237 lib.package_path = "addons/sourcemod/extensions";
238 lib.source_path = "extensions/mysql";
239 lib.binary_name = "dbi.mysql.ext";
240 lib.vcproj_name = "sm_mysql";
244 lib.package_path = "addons/sourcemod/extensions/auto.1.ep1";
245 lib.source_path = "extensions/sdktools";
246 lib.binary_name = "sdktools.ext";
247 lib.vcproj_name = "sdktools";
248 lib.build_mode = BuildMode.BuildMode_OldMetamod;
252 lib.package_path = "addons/sourcemod/extensions/auto.2.ep1";
253 lib.source_path = "extensions/sdktools";
254 lib.binary_name = "sdktools.ext";
255 lib.vcproj_name = "sdktools";
256 lib.build_mode = BuildMode.BuildMode_Episode1;
260 lib.package_path = "addons/sourcemod/extensions/auto.2.ep2";
261 lib.source_path = "extensions/sdktools";
262 lib.binary_name = "sdktools.ext";
263 lib.vcproj_name = "sdktools";
264 lib.build_mode = BuildMode.BuildMode_Episode2;
268 lib.package_path = "addons/sourcemod/extensions/auto.2.l4d";
269 lib.source_path = "extensions/sdktools";
270 lib.binary_name = "sdktools.ext";
271 lib.vcproj_name = "sdktools";
272 lib.build_mode = BuildMode.BuildMode_Left4Dead;
276 lib.package_path = "addons/sourcemod/extensions";
277 lib.source_path = "extensions/sqlite";
278 lib.binary_name = "dbi.sqlite.ext";
279 lib.vcproj_name = "sm_sqlite";
283 lib.package_path = "addons/sourcemod/extensions/auto.1.ep1";
284 lib.source_path = "extensions/cstrike";
285 lib.binary_name = "game.cstrike.ext";
286 lib.vcproj_name = "cstrike";
287 lib.build_mode = BuildMode.BuildMode_OldMetamod;
291 lib.package_path = "addons/sourcemod/extensions/auto.2.ep1";
292 lib.source_path = "extensions/cstrike";
293 lib.binary_name = "game.cstrike.ext";
294 lib.vcproj_name = "cstrike";
295 lib.build_mode = BuildMode.BuildMode_Episode1;
299 lib.package_path = "addons/sourcemod/extensions";
300 lib.source_path = "extensions/topmenus";
301 lib.binary_name = "topmenus.ext";
302 lib.vcproj_name = "topmenus";
306 lib.package_path = "addons/sourcemod/extensions/auto.2.ep2";
307 lib.source_path = "extensions/tf2";
308 lib.binary_name = "game.tf2.ext";
309 lib.vcproj_name = "tf2";
310 lib.build_mode = BuildMode.BuildMode_Episode2;
314 lib.package_path = "addons/sourcemod/extensions";
315 lib.source_path = "extensions/regex";
316 lib.binary_name = "regex.ext";
317 lib.vcproj_name = "regex";
321 lib.package_path = "addons/sourcemod/extensions";
322 lib.source_path = "extensions/clientprefs";
323 lib.binary_name = "clientprefs.ext";
324 lib.vcproj_name = "clientprefs";
327 return (Library [])libraries.ToArray(typeof(Library));
331 * Called to build plugins
333 public override Plugin [] GetPlugins()
337 return (Plugin [])plugins.ToArray(typeof(Plugin));
340 plugins = new ArrayList();
342 plugins.Add(new Plugin("admin-flatfile", "admin-flatfile"));
343 plugins.Add(new Plugin("adminhelp"));
344 plugins.Add(new Plugin("antiflood"));
345 plugins.Add(new Plugin("basecommands"));
346 plugins.Add(new Plugin("reservedslots"));
347 plugins.Add(new Plugin("basetriggers"));
348 plugins.Add(new Plugin("nextmap"));
349 plugins.Add(new Plugin("basechat"));
350 plugins.Add(new Plugin("funcommands"));
351 plugins.Add(new Plugin("basevotes"));
352 plugins.Add(new Plugin("funvotes"));
353 plugins.Add(new Plugin("admin-sql-prefetch", true));
354 plugins.Add(new Plugin("admin-sql-threaded", true));
355 plugins.Add(new Plugin("sql-admin-manager", true));
356 plugins.Add(new Plugin("basebans"));
357 plugins.Add(new Plugin("mapchooser", true));
358 plugins.Add(new Plugin("basecomm"));
359 plugins.Add(new Plugin("randomcycle", true));
360 plugins.Add(new Plugin("rockthevote", true));
361 plugins.Add(new Plugin("adminmenu"));
362 plugins.Add(new Plugin("playercommands"));
363 plugins.Add(new Plugin("clientprefs"));
364 plugins.Add(new Plugin("nominations", true));
365 plugins.Add(new Plugin("sounds"));
367 return (Plugin [])plugins.ToArray(typeof(Plugin));