Added public files
Roughly added all public files. Probably missed some, though.
diff --git a/obj/tools/MGtool/tool.h b/obj/tools/MGtool/tool.h
new file mode 100644
index 0000000..1eff23d
--- /dev/null
+++ b/obj/tools/MGtool/tool.h
@@ -0,0 +1,246 @@
+#ifndef __TOOL_H__
+#define __TOOL_H__
+
+/*
+ * MGtool-1.3
+ * File: tool.h
+ * Maintainer: Kirk@MorgenGrauen
+ */
+
+/*------------------------------------------*/
+/* the original Xtool is copyrighted by Hyp */
+/*------------------------------------------*/
+
+#ifndef MASTER
+#define MASTER __MASTER_OBJECT__
+#endif
+
+#define VOID "/room/void"
+
+#define NULL (0)
+#define FALSE (0)
+#define TRUE (1)
+#define ERROR (-1)
+#define PREV previous_object()
+#define TP efun::this_player()
+#define RTP efun::this_interactive()
+#define TOOL_NAME "MGtool"
+#define TOOL_VERSION "1.3.3"
+#define TOOL_TITLE TOOL_NAME+" v"+TOOL_VERSION
+#define TOOL_INTERNAL "1.3.3-10.07.97"
+
+#define TOOL_PATH "/obj/tools/MGtool"
+
+#define TOOL_MANPAGE TOOL_PATH+"/tool.doc"
+#define TOOL_NEWS TOOL_PATH+"/tool.news"
+#define TOOL_LOG "/log/xtool"
+#define XPROF_MACRO TOOL_PATH+"/prof.h"
+#define LAG_O_DAEMON "/p/daemon/lag-o-daemon"
+
+#define TOOL_LEVEL (40)
+
+#define MORE_LINES (20)
+#define MAX_HISTORY (25)
+#define MAX_RECURSION (6)
+#define TRACE_LEVEL (1|2|4|8)
+#define AUTOLOAD_ARGS ({TOOL_INTERNAL, modi, morelines})
+#define EXEC_LINES (10)
+#define EXEC_TIME (1)
+
+#define IA(x) interactive(x)
+#define ENV(x) environment(x)
+#define LOWER(x) lower_case(x)
+#define NAME(x) ((string)x->query_name())
+#define CNAME(x) CAP((string)NAME(x))
+
+#define RNAME(x) getuid(x)
+#define CRNAME(x) CAP(RNAME(x))
+
+#define LEVEL(x) query_wiz_level(x)
+
+#define FORALL(x, y) for(x=first_inventory(y);x;x=next_inventory(x))
+#define DESTRUCT(x) Destruct(x)
+#define ALEFT(x,y,z) sprintf("%-*'"+z+"'s", y, (""+(x))[0..y-1])
+#define ARIGHT(x,y,z) sprintf("%*'"+z+"'s" , y, (""+(x))[0..y-1])
+#define W(x) Write(x)
+#define WLN(x) W(x+"\n")
+#define WDLN(x) W(x+".\n")
+
+#define MODE_ON(x) (modi|=x)
+#define MODE_OFF(x) (modi&=~x)
+#define MODE(x) (modi&x)
+#define MODE_HEART (1)
+#define MODE_FIRST (2)
+#define MODE_PROTECT (4)
+#define MODE_INVCHECK (8)
+#define MODE_ENVCHECK (16)
+#define MODE_NDCHECK (32)
+#define MODE_VARCHECK (64)
+#define MODE_ECHO (128)
+#define MODE_SHORT (256)
+#define MODE_SNOOPCHK (512)
+#define MODE_INVISCHK (1024)
+#define MODE_SCANCHK (2048)
+
+#define ERR_FILE "/players/"+RNAME(cloner)+"/.err"
+#define LPC_FILE "/players/"+RNAME(cloner)+"/.tool.lpc"
+#define TMP_FILE "/players/"+RNAME(cloner)+"/.tool.tmp"
+#define SAVE_FILE "/players/"+RNAME(cloner)+"/.toolrc"
+#define XPROF_FILE "/players/"+RNAME(cloner)+"/prof.c"
+#define PIPE_FILE "/players/"+RNAME(cloner)+"/.tool.pipe"
+#define PRIVATE_HEADER "/players/"+RNAME(cloner)+"/.xtool.h"
+#define PIPE_DELETE(x) if(pipe_out&&pipe_ovr&&file_size(x)>=0) rm(x)
+
+#define PIPE_IN 1
+#define PIPE_OUT 2
+#define PIPE_MAX 10000
+
+#define XGREP_REVERT 1
+#define XGREP_ICASE 2
+
+#define SECURE1() if(!security()) return;
+#define SECURE2(x) if(!security()) return x;
+#define USAGE1(x,y) notify_fail("Usage: "+(y)+"\n");\
+ if((x)=="?") return FALSE;
+#define USAGE2(x,y) notify_fail("Usage: "+(y)+"\n");\
+ if((!(x))||((x)=="?")) return FALSE;
+#define USAGE3(x) return WLN("Usage: "+(x))
+
+static int CatFile();
+static int Command(string str);
+int CommandScan(string arg);
+int DoAlias(string verb, string arg);
+int DoHistory(string line);
+static int MoveObj(object obj1, object obj2, int silent);
+static int XGrepFile(string pat, string file, int revert);
+int Xcall(string str);
+int Xcallouts(string str);
+int Xcat(string str);
+int Xcindent(string str);
+int Xclean(string str);
+int Xclone(string str);
+int Xuclone(string str);
+int Xcmds(string str);
+int Xdate(string str);
+int Xdbg(string str);
+int Xdclean(string str);
+int Xddes(string str);
+int Xdes(string str);
+int Xdlook(string str);
+int Xdo(string str);
+int Xdupdate(string str);
+int Xecho(string str);
+int Xeval(string str);
+int Xforall(string str);
+int Xgoto(string str);
+int Xgrep(string str);
+int Xhbeats(string str);
+int Xhead(string str);
+int Xhelp(string str);
+int Xids(string str);
+int Xinfo(string str);
+int Xinherit(string str);
+int Xinventory(string str);
+int Xlag(string str);
+int Xlight(string str);
+int Xload(string str);
+int Xlook(string str);
+int Xlpc(string str);
+int Xman(string str);
+int Xmore(string str);
+int Xmove(string str);
+int Xmsg(string str);
+int Xmtp(string str);
+int Xproc(string str);
+int Xprops(string str);
+int Xprof(string str);
+int Xquit(string str);
+int Xscan(string str);
+int Xset(string str);
+int Xsh(string str);
+int Xsort(string str);
+int Xstop(string str);
+int Xtool(string str);
+int Xtrace(string str);
+int Xtrans(string str);
+int Xupdate(string str);
+int Xwc(string str);
+int Xwho(string opt);
+static string crname(object who);
+int id(string str);
+int move(mixed dest);
+static int security();
+int write_newinvobj(object who);
+int write_newenvobj(object who);
+int write_netdead(object who);
+int write_alive(object who);
+int write_snoopee(object who);
+int write_nosnoop(object who);
+int write_invisobj(object who);
+int write_invislvg(object who);
+int write_invisply(object who);
+int write_visibobj(object who);
+int write_visiblvg(object who);
+int write_visibply(object who);
+static object *SubNodes(object obj);
+static varargs object FindObj(string str, object env, int silent);
+static object VarToObj(string str);
+static varargs object XFindObj(string str, int silent);
+static string ObjFile(object obj);
+static string PlayerAge(object obj);
+static string PlayerDomain(object obj, int flag);
+static string PlayerIP(object obj, int flag);
+static string PlayerIdle(object obj);
+static string PlayerMail(object obj, int flag);
+static string PlayerRace(object obj, int flag);
+static string PlayerSnoop(object obj, int flag);
+static string PlayerStats(object obj, int flag);
+static string PlayerWho(object obj);
+static string VarToFile(string str);
+static string VarToPureFile(string str);
+static string XFile(string file);
+static string XFindFile(string file);
+static varargs void DeepPrintShort(object env, int indent, string pre, string file);
+static void Destruct(object obj);
+static void DumpProperties(object obj, int flag);
+static void Inheritance(object obj, string func, string pre);
+void InvisCheck();
+static void MoreFile(string str);
+void NetDeadCheck(int show);
+static void PrintObj(object obj, string file);
+static varargs void PrintShort(string pre, object obj, string file);
+void SnoopCheck();
+static void VarCheck(int show);
+static int Write(string str);
+static void XExecFile(int line);
+static void XMoreFile(string file, int flag);
+static void XMsgSay(string str);
+static void XMsgShout(string str);
+static void XMsgTell(string str);
+static void XmtpScript(string dir, string file, string opt);
+void actions();
+void init();
+void update_tool(mixed *args, object obj);
+string _query_long();
+string _query_short();
+
+static int CallFunc(string verb, string str);
+static string GetFunc(string verb, int test);
+
+static string PrepareLine(string str);
+static string QuoteLine(string str);
+static string UnquoteLine(string str);
+int QuoteOk(string str);
+static string *ExplodeCmds(string str);
+
+string read_buffer(string filename, int start, int number);
+string load_buffer(int line);
+int read_line(int offset);
+
+/*
+ * debug stuff
+ */
+void TK(string str);
+int Xtk(string str);
+
+#endif /* __TOOL_H__ */