====== Wolfpack Development Guide ====== The software is mainly written in C++ and Python. * Old sources can be found at http://sourceforge.net/projects/wpdev/. * Latest SVN sources can be found at https://www.hoogi.de/websvn/ * Sources at github: https://github.com/thooge/Wolfpack ===== Detailed documentation ===== * [[UO Protocol|UO Client/Server Protocol]] * [[File Formats]] ===== Tools ===== * Virtualization: Virtualbox * UO Packet logger * Wireshark ===== Debugging Strategies ===== ==== Positive Thinking ==== Sometimes the problem you face may seem impossible to solve, but hardly it really is. Often the key is perseverance, even aparently simple problems can take a lot of effort to solve. In the end, you will wonder why you worried so much. :) ==== Use a Debugger ==== It may sounds obvius, but it's amazing how often people don't use a debugger, either because it's not installed or because of it's overhead to learn how to use. Knowing how to proper use a debugger really worst the effort, and it's really essential for anything but the most trivial programs. ==== Just printf() it! ==== Sometimes, tracing the execution with a logging function may be more convenient than using a debugger. (such as when you want to print a brunch of variables) Some strategic placed prinfs() may give you a better view of what's going on while the program is running. ==== If nothing else works: Generic Mutation ==== A common (not to say irrational) technique is to just make arbitrary changes to the code until something different happens. You may have this voice in your head telling why a change will make a difference. Sometimes, just commenting lines out can get over an impasse. This is specially usefull to gain a better understanding of what exactly the code does. Obviously, this is the last resort.