Fixed initialization.  Changed back to simple structs in GlobalData, since everyone will reference them with pointers anyway
Added include guards
Updated to work with new globals