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");
70 return (string [])folders.ToArray(typeof(string));
74 * Called when file to file copies must be performed
76 public override void OnCopyFiles(ABuilder builder)
78 builder.CopyFile(this, "sourcepawn/batchtool/compile.exe", "addons/sourcemod/scripting/compile.exe");
82 * Called when dir to dir copies must be performed
84 public override void OnCopyFolders(ABuilder builder)
86 builder.CopyFolder(this, "configs", "addons/sourcemod/configs", null);
87 builder.CopyFolder(this, "configs/geoip", "addons/sourcemod/configs/geoip", null);
88 builder.CopyFolder(this, "configs/cfg", "cfg/sourcemod", null);
89 builder.CopyFolder(this,
90 "configs/sql-init-scripts",
91 "addons/sourcemod/configs/sql-init-scripts",
93 builder.CopyFolder(this,
94 "configs/sql-init-scripts/mysql",
95 "addons/sourcemod/configs/sql-init-scripts/mysql",
97 builder.CopyFolder(this,
98 "configs/sql-init-scripts/sqlite",
99 "addons/sourcemod/configs/sql-init-scripts/sqlite",
102 string [] plugin_omits = new string[1];
103 plugin_omits[0] = "spcomp.exe";
105 string [] include_omits = new string[1];
106 include_omits[0] = "version.tpl";
108 builder.CopyFolder(this, "gamedata", "addons/sourcemod/gamedata", null);
109 builder.CopyFolder(this, "plugins", "addons/sourcemod/scripting", plugin_omits);
110 builder.CopyFolder(this, "plugins/include", "addons/sourcemod/scripting/include", include_omits);
111 builder.CopyFolder(this, "translations", "addons/sourcemod/translations", null);
112 builder.CopyFolder(this, "public/licenses", "addons/sourcemod", null);
113 builder.CopyFolder(this, "plugins/admin-flatfile", "addons/sourcemod/scripting/admin-flatfile", null);
114 builder.CopyFolder(this, "plugins/testsuite", "addons/sourcemod/scripting/testsuite", null);
115 builder.CopyFolder(this, "plugins/basecommands", "addons/sourcemod/scripting/basecommands", null);
116 builder.CopyFolder(this, "plugins/basecomm", "addons/sourcemod/scripting/basecomm", null);
117 builder.CopyFolder(this, "plugins/basefunvotes", "addons/sourcemod/scripting/basefunvotes", null);
118 builder.CopyFolder(this, "plugins/basevotes", "addons/sourcemod/scripting/basevotes", null);
119 builder.CopyFolder(this, "plugins/basebans", "addons/sourcemod/scripting/basebans", null);
120 builder.CopyFolder(this, "plugins/basefuncommands", "addons/sourcemod/scripting/basefuncommands", null);
121 builder.CopyFolder(this, "plugins/playercommands", "addons/sourcemod/scripting/playercommands", null);
125 * Called to build libraries
127 public override Library [] GetLibraries()
129 if (libraries != null)
131 return (Library [])libraries.ToArray(typeof(Library));
134 libraries = new ArrayList();
136 Library lib = new Library();
137 lib.package_path = "addons/sourcemod/bin";
138 lib.source_path = "loader";
139 lib.binary_name = "sourcemod_mm";
140 lib.vcproj_name = "loader";
141 lib.build_mode = BuildMode.BuildMode_Simple;
142 lib.has_platform_ext = true;
146 lib.package_path = "addons/sourcemod/bin";
147 lib.source_path = "core";
148 lib.binary_name = "sourcemod.1.ep1";
149 lib.vcproj_name = "sourcemod_mm";
150 lib.build_mode = BuildMode.BuildMode_OldMetamod;
154 lib.package_path = "addons/sourcemod/bin";
155 lib.source_path = "core";
156 lib.binary_name = "sourcemod.2.ep1";
157 lib.vcproj_name = "sourcemod_mm";
158 lib.build_mode = BuildMode.BuildMode_Episode1;
162 lib.package_path = "addons/sourcemod/bin";
163 lib.source_path = "core";
164 lib.binary_name = "sourcemod.2.ep2";
165 lib.vcproj_name = "sourcemod_mm";
166 lib.build_mode = BuildMode.BuildMode_Episode2;
170 lib.package_path = "addons/sourcemod/bin";
171 lib.source_path = "sourcepawn/jit/x86";
172 lib.binary_name = "sourcepawn.jit.x86";
173 lib.vcproj_name = "jit-x86";
177 lib.package_path = "addons/sourcemod/scripting";
178 lib.source_path = "sourcepawn/compiler";
179 lib.binary_name = "spcomp";
180 lib.is_executable = true;
184 lib.package_path = "addons/sourcemod/extensions";
185 lib.source_path = "extensions/geoip";
186 lib.binary_name = "geoip.ext";
187 lib.vcproj_name = "geoip";
191 lib.package_path = "addons/sourcemod/extensions";
192 lib.source_path = "extensions/bintools";
193 lib.binary_name = "bintools.ext";
194 lib.vcproj_name = "bintools";
198 lib.package_path = "addons/sourcemod/extensions";
199 lib.source_path = "extensions/mysql";
200 lib.binary_name = "dbi.mysql.ext";
201 lib.vcproj_name = "sm_mysql";
205 lib.package_path = "addons/sourcemod/extensions/auto.1.ep1";
206 lib.source_path = "extensions/sdktools";
207 lib.binary_name = "sdktools.ext";
208 lib.vcproj_name = "sdktools";
209 lib.build_mode = BuildMode.BuildMode_OldMetamod;
213 lib.package_path = "addons/sourcemod/extensions/auto.2.ep1";
214 lib.source_path = "extensions/sdktools";
215 lib.binary_name = "sdktools.ext";
216 lib.vcproj_name = "sdktools";
217 lib.build_mode = BuildMode.BuildMode_Episode1;
221 lib.package_path = "addons/sourcemod/extensions/auto.2.ep2";
222 lib.source_path = "extensions/sdktools";
223 lib.binary_name = "sdktools.ext";
224 lib.vcproj_name = "sdktools";
225 lib.build_mode = BuildMode.BuildMode_Episode2;
229 lib.package_path = "addons/sourcemod/extensions";
230 lib.source_path = "extensions/sqlite";
231 lib.binary_name = "dbi.sqlite.ext";
232 lib.vcproj_name = "sm_sqlite";
236 lib.package_path = "addons/sourcemod/extensions/auto.1.ep1";
237 lib.source_path = "extensions/cstrike";
238 lib.binary_name = "game.cstrike.ext";
239 lib.vcproj_name = "cstrike";
240 lib.build_mode = BuildMode.BuildMode_OldMetamod;
244 lib.package_path = "addons/sourcemod/extensions/auto.2.ep1";
245 lib.source_path = "extensions/cstrike";
246 lib.binary_name = "game.cstrike.ext";
247 lib.vcproj_name = "cstrike";
248 lib.build_mode = BuildMode.BuildMode_Episode1;
252 lib.package_path = "addons/sourcemod/extensions";
253 lib.source_path = "extensions/topmenus";
254 lib.binary_name = "topmenus.ext";
255 lib.vcproj_name = "topmenus";
258 return (Library [])libraries.ToArray(typeof(Library));
262 * Called to build plugins
264 public override Plugin [] GetPlugins()
268 return (Plugin [])plugins.ToArray(typeof(Plugin));
271 plugins = new ArrayList();
273 plugins.Add(new Plugin("admin-flatfile", "admin-flatfile"));
274 plugins.Add(new Plugin("adminhelp"));
275 plugins.Add(new Plugin("antiflood"));
276 plugins.Add(new Plugin("basecommands"));
277 plugins.Add(new Plugin("reservedslots"));
278 plugins.Add(new Plugin("basetriggers"));
279 plugins.Add(new Plugin("nextmap"));
280 plugins.Add(new Plugin("basechat"));
281 plugins.Add(new Plugin("basefuncommands"));
282 plugins.Add(new Plugin("basevotes"));
283 plugins.Add(new Plugin("basefunvotes"));
284 plugins.Add(new Plugin("admin-sql-prefetch", true));
285 plugins.Add(new Plugin("admin-sql-threaded", true));
286 plugins.Add(new Plugin("sql-admin-manager", true));
287 plugins.Add(new Plugin("basebans"));
288 plugins.Add(new Plugin("mapchooser", true));
289 plugins.Add(new Plugin("basecomm"));
290 plugins.Add(new Plugin("randomcycle", true));
291 plugins.Add(new Plugin("rockthevote", true));
292 plugins.Add(new Plugin("adminmenu"));
293 plugins.Add(new Plugin("playercommands"));
295 return (Plugin [])plugins.ToArray(typeof(Plugin));