diff --git a/.gitignore b/.gitignore
index 22fc997..f2c3d13 100644
--- a/.gitignore
+++ b/.gitignore
@@ -15,6 +15,7 @@
 *Lephisto3D*
 *ModelViewer*
 bin/*
+*.sav
 *Makefile
 *Makefile.in
 *.stash
diff --git a/src/Makefile.am b/src/Makefile.am
index a663bec..6b9094c 100644
--- a/src/Makefile.am
+++ b/src/Makefile.am
@@ -10,7 +10,7 @@ include_HEADERS = body.h frame.h generic_system_view.h glfreetype.h gui_button.h
 		planet.h player.h dynamic_body.h sector.h sector_view.h ship_cpanel.h ship.h space.h star.h star_system.h system_info_view.h \
 		system_view.h vector3.h view.h world_view.h date.h space_station.h space_station_view.h model_body.h gui_iselectable.h \
 		ship_type.h object.h info_view.h model_coll_mesh_data.h object_viewer_view.h fixed.h custom_starsystems.h gameconsts.h \
-		aabb.h
+		aabb.h serializer.h
 
 libgui_a_SOURCES = gui_button.cpp gui.cpp gui_fixed.cpp gui_screen.cpp gui_label.cpp gui_toggle_button.cpp gui_radio_button.cpp \
 									 gui_radio_group.cpp gui_image_button.cpp gui_image.cpp gui_image_radio_button.cpp gui_multi_state_image_button.cpp gui_widget.cpp \
@@ -20,7 +20,7 @@ Lephisto3D_SOURCES	= main.cpp glfreetype.cpp body.cpp space.cpp ship.cpp player.
 											star.cpp frame.cpp ship_cpanel.cpp sector_view.cpp mtrand.cpp world_view.cpp system_view.cpp \
 											star_system.cpp sector.cpp system_info_view.cpp generic_system_view.cpp date.cpp space_station.cpp \
 											space_station_view.cpp model_body.cpp ship_type.cpp info_view.cpp model_coll_mesh_data.cpp \
-											object_viewer_view.cpp custom_starsystems.cpp
+											object_viewer_view.cpp custom_starsystems.cpp serializer.cpp
 Lephisto3D_LDADD = sbre/libsbre.a libgui.a
 
 ModelViewer_SOURCES = sbre_viewer.cpp glfreetype.cpp
diff --git a/src/body.cpp b/src/body.cpp
index cd3f3ef..4b9b3ce 100644
--- a/src/body.cpp
+++ b/src/body.cpp
@@ -15,6 +15,10 @@ Body::~Body(void) {
   assert(m_dead);
 }
 
+void Body::Serialize(void) { }
+
+Body* Body::Unserialize(void) { }
+
 /* f == NULL, then absolute position within system. */
 vector3d Body::GetPositionRelTo(const Frame* relTo) {
   matrix4x4d m;
diff --git a/src/body.h b/src/body.h
index 48dce3c..186c43a 100644
--- a/src/body.h
+++ b/src/body.h
@@ -10,9 +10,11 @@ class ObjMesh;
 
 class Body: public Object {
 public:
+  OBJDEF(Body, Object, BODY);
   Body(void);
   virtual ~Body(void);
-  virtual Object::Type GetType(void) { return Object::BODY; }
+  void Serialize(void);
+  static Body* Unserialize(void);
   virtual void SetPosition(vector3d p) = 0;
   virtual vector3d GetPosition(void) const = 0; /* Within frame. */
   virtual void SetVelocity(vector3d v) { assert(0); }
diff --git a/src/dynamic_body.h b/src/dynamic_body.h
index 019cd42..d37f9e3 100644
--- a/src/dynamic_body.h
+++ b/src/dynamic_body.h
@@ -8,6 +8,7 @@ class ObjMesh;
 
 class DynamicBody : public ModelBody {
 public:
+  OBJDEF(DynamicBody, ModelBody, DYNAMICBODY);
   DynamicBody(void);
   virtual ~DynamicBody(void);
   virtual void SetRotMatrix(const matrix4x4d& r);
diff --git a/src/frame.cpp b/src/frame.cpp
index 6a5d23f..1596588 100644
--- a/src/frame.cpp
+++ b/src/frame.cpp
@@ -1,5 +1,6 @@
 #include "frame.h"
 #include "space.h"
+#include "serializer.h"
 
 Frame::Frame(void) {
   Init(NULL, "", 0);
@@ -13,6 +14,39 @@ Frame::Frame(Frame* parent, const char* label, unsigned int flags) {
   Init(parent, label, flags);
 }
 
+void Frame::Serialize(Frame* f) {
+  using namespace Serializer::Write;
+  wr_int(f->m_flags);
+  wr_double(f->m_radius);
+  wr_string(f->m_label);
+  for(int i = 0; i < 16; i++) wr_double(f->m_orient[i]);
+  wr_vector3d(f->m_angVel);
+  wr_vector3d(f->m_pos);
+
+  wr_int(f->m_children.size());
+  for(std::list<Frame*>::iterator i = f->m_children.begin();
+      i != f->m_children.end(); ++i) {
+    Serialize(*i);
+  }
+}
+
+Frame* Frame::Unserialize(Frame* parent) {
+  using namespace Serializer::Read;
+  Frame* f = new Frame();
+  f->m_parent = parent;
+  f->m_flags  = rd_int();
+  f->m_radius = rd_double();
+  f->m_label  = rd_string();
+  for(int i = 0; i < 16; i++) f->m_orient[i] = rd_double();
+  f->m_angVel = rd_vector3d();
+  printf("Frame rad %f, called %s\n", f->m_radius, f->m_label.c_str());
+  for(int i = rd_int(); i > 0; --i) {
+    f->m_children.push_back(Unserialize(f));
+  }
+
+  return f;
+}
+
 void Frame::RemoveChild(Frame* f) {
   m_children.remove(f);
 }
diff --git a/src/frame.h b/src/frame.h
index 069f2f2..6b28f4b 100644
--- a/src/frame.h
+++ b/src/frame.h
@@ -14,6 +14,9 @@ public:
   Frame(Frame* parent, const char* label, unsigned int flags);
   ~Frame(void);
 
+  static void Serialize(Frame*);
+  static Frame* Unserialize(Frame* parent);
+
   const char* GetLabel(void) const              { return m_label.c_str(); }
   void SetLabel(const char* label)              { m_label = label; }
   void SetPosition(const vector3d &pos)         { m_pos = pos; }
diff --git a/src/l3d.h b/src/l3d.h
index c0b87ff..ba7197a 100644
--- a/src/l3d.h
+++ b/src/l3d.h
@@ -43,6 +43,8 @@ public:
   static void   Start(void);
   static void   MainLoop(void);
   static void   Quit(void);
+  static void   Serialize(void);
+  static void   Unserialize(void);
   static float  GetFrameTime(void)            { return frameTime; }
   static double GetGameTime(void)             { return gameTime; }
   static void   SetTimeAccel(float s);
diff --git a/src/main.cpp b/src/main.cpp
index e0c7af3..52fcf32 100644
--- a/src/main.cpp
+++ b/src/main.cpp
@@ -1,3 +1,4 @@
+#include <signal.h>
 #include "libs.h"
 #include "l3d.h"
 #include "gui.h"
@@ -17,6 +18,7 @@
 #include "space_station.h"
 #include "space_station_view.h"
 #include "info_view.h"
+#include "serializer.h"
 
 float             L3D::timeAccel = 1.0f;
 int               L3D::scrWidth;
@@ -185,6 +187,7 @@ void L3D::HandleEvents(void) {
 #endif
       if(event.key.keysym.sym == SDLK_F11) SDL_WM_ToggleFullScreen(L3D::scrSurface);
       if(event.key.keysym.sym == SDLK_F10) L3D::SetView(L3D::objectViewerView);
+      if(event.key.keysym.sym == SDLK_F9)  Serializer::Write::Game("quicksave.sav");
       L3D::keyState[event.key.keysym.sym] = 1;
       L3D::onKeyPress.emit(&event.key.keysym);
       break;
@@ -269,17 +272,20 @@ void L3D::Start(void) {
 
   const float w = Gui::Screen::GetWidth() / 2;
   const float h = Gui::Screen::GetHeight() / 2;
-  const int OPTS = 3;
+  const int OPTS = 4;
   Gui::ToggleButton* opts[OPTS];
   opts[0] = new Gui::ToggleButton(); opts[0]->SetShortcut(SDLK_1, KMOD_NONE);
   opts[1] = new Gui::ToggleButton(); opts[1]->SetShortcut(SDLK_2, KMOD_NONE);
   opts[2] = new Gui::ToggleButton(); opts[2]->SetShortcut(SDLK_3, KMOD_NONE);
+  opts[3] = new Gui::ToggleButton(); opts[3]->SetShortcut(SDLK_4, KMOD_NONE);
   splash->Add(opts[0], w, h+64);
   splash->Add(new Gui::Label("New game starting on Earth"), w+32, h+64);
   splash->Add(opts[1], w, h+32);
   splash->Add(new Gui::Label("New game starting on debug point"), w+32, h+32);
   splash->Add(opts[2], w, h);
-  splash->Add(new Gui::Label("Quit"), w+32, h);
+  splash->Add(new Gui::Label("Load quicksave"), w+32, h);
+  splash->Add(opts[3], w, h-32);
+  splash->Add(new Gui::Label("Quit"), w+32, h-32);
 
   splash->ShowAll();
 
@@ -319,7 +325,7 @@ void L3D::Start(void) {
     /* TODO: There isn't a sensible way to find stations for a planet. */
     SpaceStation* station = 0;
     for(Space::bodiesIter_t i = Space::bodies.begin(); i!=Space::bodies.end(); i++) {
-      if((*i)->GetType() == Object::SPACESTATION) { station = (SpaceStation*)*i; break; }
+      if((*i)->IsType(Object::SPACESTATION)) { station = (SpaceStation*)*i; break; }
     }
     assert(station);
     player->SetFrame(station->GetFrame());
@@ -333,6 +339,9 @@ void L3D::Start(void) {
     player->SetFrame(pframe);
     player->SetPosition(vector3d(0,0,EARTH_RADIUS));
     MainLoop();
+  } else if(choice == 3) {
+    /* Load quicksave. */
+    Serializer::Read::Game("quicksave.sav");
   }
 }
 
@@ -440,6 +449,22 @@ void L3D::HyperspaceTo(StarSystem* dest) {
   dest->GetPos(&L3D::playerLocSecX, &L3D::playerLocSecY, &L3D::playerLocSysIdx);
 }
 
+void L3D::Serialize(void) {
+  using namespace Serializer::Write;
+  StarSystem::Serialize(selectedSystem);
+  wr_double(gameTime);
+  StarSystem::Serialize(currentSystem);
+  Space::Serialize();
+}
+
+void L3D::Unserialize(void) {
+  using namespace Serializer::Read;
+  selectedSystem = StarSystem::Unserialize();
+  gameTime = rd_double();
+  currentSystem = StarSystem::Unserialize();
+  Space::Unserialize();
+}
+
 IniConfig::IniConfig(const char* filename) {
   FILE* f = fopen(filename, "r");
   if(!f) {
@@ -466,9 +491,18 @@ IniConfig::IniConfig(const char* filename) {
   fclose(f);
 }
 
+void sigsegv_handler(int signum) {
+  if(signum == SIGSEGV) {
+    printf("Segfault! All is lost! Abondon ship\n");
+    SDL_Quit();
+    abort();
+  }
+}
+
 int main(int argc, char** argv) {
   printf("Lephisto3D's super high tech demo!\n");
   
+  signal(SIGSEGV, sigsegv_handler);
   IniConfig cfg("config.ini");
 
   L3D::Init(cfg);
diff --git a/src/model_body.h b/src/model_body.h
index 226f6c3..b017d5b 100644
--- a/src/model_body.h
+++ b/src/model_body.h
@@ -10,6 +10,7 @@ class CollMeshSet;
 
 class ModelBody: public Body {
 public:
+  OBJDEF(ModelBody, Body, MODELBODY);
   ModelBody(void);
   virtual ~ModelBody(void);
   void SetPosition(vector3d p);
@@ -33,7 +34,7 @@ public:
   
   class Geom : public Object {
   public:
-    virtual Type GetType(void) { return Object::GEOM; }
+    OBJDEF(Geom, Object, GEOM);
     Body* parent;
     int flags;
   };
diff --git a/src/object.h b/src/object.h
index a6e4403..01af994 100644
--- a/src/object.h
+++ b/src/object.h
@@ -2,7 +2,15 @@
 
 class Object {
 public:
-  enum Type { NONE, BODY, SHIP, SPACESTATION, LASER, GEOM, PLANET };
-  virtual Type GetType(void) = 0;
+  enum Type { OBJECT, BODY, MODELBODY, DYNAMICBODY, SHIP, PLAYER, SPACESTATION, LASER, GEOM, PLANET, STAR };
+  virtual Type GetType(void) { return OBJECT; }
+  virtual bool IsType(Type c) { return GetType() == c; }
 };
 
+#define OBJDEF(__thisClass, __parentClass, __TYPE) \
+  virtual Object::Type GetType(void) { return Object::__TYPE; } \
+  virtual bool IsType(Type c) { \
+    if(__thisClass::GetType() == (c)) return true; \
+    else return __parentClass::IsType(c); \
+  }
+
diff --git a/src/planet.h b/src/planet.h
index 0fd8deb..323097a 100644
--- a/src/planet.h
+++ b/src/planet.h
@@ -5,6 +5,7 @@
 class Frame;
 class Planet : public Body {
 public:
+  OBJDEF(Planet, Body, PLANET);
   Planet(StarSystem::SBody*);
   virtual ~Planet(void);
   virtual void SetPosition(vector3d p);
@@ -15,7 +16,6 @@ public:
   virtual void SetFrame(Frame* f);
   virtual bool OnCollision(Body* b, Uint32 flags) { return true; }
   virtual double GetMass(void) const { return m_mass; }
-  virtual Object::Type GetType(void) { return Object::PLANET; }
 private:
   void DrawRockyPlanet(void);
   void DrawGasGiant(void);
diff --git a/src/player.h b/src/player.h
index 52ebfc5..979c8da 100644
--- a/src/player.h
+++ b/src/player.h
@@ -4,6 +4,7 @@
 
 class Player : public Ship {
 public:
+  OBJDEF(Player, Ship, PLAYER);
   Player(ShipType::Type shipType);
   virtual ~Player(void);
   void PollControls(void);
diff --git a/src/serializer.cpp b/src/serializer.cpp
new file mode 100644
index 0000000..fb77585
--- /dev/null
+++ b/src/serializer.cpp
@@ -0,0 +1,278 @@
+#include "serializer.h"
+#include "l3d.h"
+#include "frame.h"
+#include "space.h"
+
+namespace Serializer {
+
+static std::vector<Frame*> g_frames;
+
+Frame* LookupFrame(int index) {
+  return g_frames[index];
+}
+
+int LoopupFrame(Frame* f) {
+  for(unsigned int i = 0; i < g_frames.size(); i++) {
+    if(g_frames[i] == f) return i;
+  }
+  assert(0);
+}
+
+static void AddFrame(Frame* f) {
+  g_frames.push_back(f);
+  for(std::list<Frame*>::iterator i = f->m_children.begin();
+      i != f->m_children.end(); ++i) {
+    AddFrame(*i);
+  }
+}
+
+void IndexFrames(void) {
+  g_frames.clear();
+  AddFrame(Space::rootFrame);
+  printf("%d frames indexed\n", g_frames.size());
+}
+
+namespace Write {
+  static int checksum;
+  static FILE* sfptr;
+
+  bool Game(const char* filename) {
+    struct Object* o;
+    sfptr = fopen(filename, "wb");
+
+    if(sfptr == NULL) {
+      return false;
+    }
+
+    checksum = 0;
+
+    wr_byte('L');
+    wr_byte('E');
+    wr_byte('P');
+    wr_byte('H');
+    wr_byte('I');
+    wr_byte('S');
+    wr_byte('T');
+    wr_byte('O');
+  
+    /* Save file version. */
+    wr_int(SAVEFILE_VERSION);
+    fclose(sfptr);
+    fprintf(stderr, "Game saved to '%s'\n", filename);
+
+    return true;
+  }
+
+  void wr_byte(unsigned char x) {
+    putc(x, sfptr);
+    checksum += x;
+  }
+
+  void wr_short(short x) {
+    wr_byte((unsigned char)(x & 0xff));
+    wr_byte((unsigned char)((x>>8) & 0xff));
+  }
+
+  void wr_int(int x) {
+    wr_byte((unsigned char)(x & 0xff));
+    wr_byte((unsigned char)((x>>8) & 0xff));
+    wr_byte((unsigned char)((x>>16) & 0xff));
+    wr_byte((unsigned char)((x>>24) & 0xff));
+  }
+
+  /* Not portable. */
+  void wr_float(float f) {
+    unsigned int i;
+    unsigned char* p = (unsigned char*)&f;
+
+    for(i = 0; i < sizeof(float); i++, p++) {
+      wr_byte(*p);
+    }
+  }
+
+  void wr_double(double f) {
+    unsigned int i;
+    unsigned char* p = (unsigned char*)&f;
+
+    for(i = 0; i < sizeof(double); i++, p++) {
+      wr_byte(*p);
+    }
+  }
+
+  /* First byte is string length, including null terminator. */
+  void wr_string(const char* s) {
+    /* We shouldn't fail on null strings. */
+    if(s == NULL) {
+      wr_int(0);
+      return;
+    }
+
+    wr_int(strlen(s)+1);
+
+    while(*s) {
+      wr_byte(*s);
+      s++;
+    }
+    wr_byte(*s);
+  }
+
+  void wr_string(std::string& s) {
+    wr_string(s.c_str());
+  }
+
+  void wr_vector3d(vector3d& vec) {
+    wr_double(vec.x);
+    wr_double(vec.y);
+    wr_double(vec.z);
+  }
+}
+
+namespace Read {
+  static int loadsum;
+  static FILE* lfptr;
+  /* Version of savefile we are loading. */
+  static int version;
+
+  bool Game(const char* filename) {
+    loadsum = 0;
+
+    lfptr = fopen(filename, "rb");
+
+    if(lfptr == NULL) return false;
+
+    if(rd_byte() != 'L') return false;
+    if(rd_byte() != 'E') return false;
+    if(rd_byte() != 'P') return false;
+    if(rd_byte() != 'H') return false;
+    if(rd_byte() != 'I') return false;
+    if(rd_byte() != 'S') return false;
+    if(rd_byte() != 'T') return false;
+    if(rd_byte() != 'O') return false;
+
+    /* Savefile version. */
+    version = rd_int();
+
+    L3D::Unserialize();
+
+    /* Check the checksum. */
+    int i = loadsum;
+    if(i != rd_int()) {
+      fprintf(stderr, "Checksum error loading savefile.\n");
+      return false;
+    }
+
+    fclose(lfptr);
+    fprintf(stderr, "Loaded '%s'\n", filename);
+
+    return true;
+  }
+
+  bool is_olderthan(int ver) {
+    return ver < version;
+  }
+
+  unsigned char rd_byte(void) {
+    int x = getc(lfptr) & 0xff;
+    loadsum += x;
+    return x;
+  }
+
+  short rd_short(void) {
+    int t1, t2;
+    t2 = rd_byte();
+    t1 = rd_byte();
+    return ((t1 << 8) | t2);
+  }
+
+  int rd_int(void) {
+    int t1, t2, t3, t4;
+    t4 = rd_byte();
+    t3 = rd_byte();
+    t2 = rd_byte();
+    t1 = rd_byte();
+    return ((t1 << 24) | (t2 << 16) | (t3 << 8) | t4);
+  }
+
+  float rd_float(void) {
+    unsigned int i ;
+    float f;
+    unsigned char* p = (unsigned char*)&f;
+
+    for(i = 0; i < sizeof(float); i++) {
+      p[i] = rd_byte();
+    }
+    return f;
+  }
+
+  double rd_double(void) {
+    unsigned int i;
+    double f;
+    unsigned char* p = (unsigned char*)& f;
+
+    for(i = 0; i < sizeof(double); i++) {
+      p[i] = rd_byte();
+    }
+    return f;
+  }
+
+  std::string rd_string(void) {
+    char* s = rd_cstring();
+    std::string str(s);
+    free(s);
+    return str;
+  }
+
+  /* Memory leaks included free. */
+  char* rd_cstring(void) {
+    char* buf;
+    int i;
+    unsigned char size;
+
+    /* Size is in first byte. */
+    size = rd_int();
+
+    /* A saved null string. */
+    if(size == 0) {
+      return NULL;
+    }
+
+    buf = (char*) malloc(sizeof(char)*size);
+
+    for(i = 0; i < size; i++) {
+      buf[i] = rd_byte();
+    }
+
+    return buf;
+  }
+
+  void rd_cstring2(char* buf, int len) {
+    int i;
+    int size;
+
+    /* Size is in first byte. */
+    size = rd_int();
+
+    /* A saved null string. */
+    if(size == 0) {
+      buf[0] = '\0';
+      return;
+    }
+
+    assert(size < len);
+
+    for(i = 0; i < size; i++) {
+      buf[i] = rd_byte();
+    }
+  }
+
+  vector3d rd_vector3d(void) {
+    vector3d v;
+    v.x = rd_double();
+    v.y = rd_double();
+    v.z = rd_double();
+    return v;
+  }
+}
+
+}
+
diff --git a/src/serializer.h b/src/serializer.h
new file mode 100644
index 0000000..b2f7efc
--- /dev/null
+++ b/src/serializer.h
@@ -0,0 +1,39 @@
+#pragma once
+#include <vector>
+#include "libs.h"
+
+#define SAVEFILE_VERSION 1
+
+class Frame;
+
+namespace Serializer {
+  void IndexFrames(void);
+  Frame* LookupFrame(Frame* f);
+
+  namespace Write {
+    bool Game(const char* filename);
+    void wr_byte(unsigned char x);
+    void wr_short(short x);
+    void wr_int(int x);
+    void wr_float(float f);
+    void wr_double(double f);
+    void wr_cstring(const char* s);
+    void wr_string(std::string& s);
+    void wr_vector3d(vector3d& vec);
+  }
+
+  namespace Read {
+    bool Game(const char* filename);
+    bool is_olderthan(int version);
+    unsigned char rd_byte(void);
+    short rd_short(void);
+    int rd_int(void);
+    float rd_float(void);
+    double rd_double(void);
+    std::string rd_string(void);
+    char* rd_cstring(void);
+    void rd_cstring2(char* buf, int len);
+    vector3d rd_vector3d(void);
+  }
+}
+
diff --git a/src/ship.cpp b/src/ship.cpp
index e7b129e..484bf15 100644
--- a/src/ship.cpp
+++ b/src/ship.cpp
@@ -57,7 +57,7 @@ void Ship::UpdateMass(void) {
 }
 
 bool Ship::OnCollision(Body* b, Uint32 flags) {
-  if(b->GetType() == Object::PLANET) {
+  if(b->IsType(Object::PLANET)) {
     /* Geoms still enabled when landed. */
     if(m_flightState != FLYING) return false;
     else m_testLanded = true;
diff --git a/src/ship.h b/src/ship.h
index 606c9e0..8f11a8c 100644
--- a/src/ship.h
+++ b/src/ship.h
@@ -16,8 +16,8 @@ struct shipstats_t {
 
 class Ship : public DynamicBody {
 public:
+  OBJDEF(Ship, DynamicBody, SHIP);
   Ship(ShipType::Type shipType);
-  virtual Object::Type GetType(void) { return Object::SHIP; }
   virtual void SetDockedWith(SpaceStation*, int port);
   SpaceStation* GetDockedWith(void) { return m_dockedWith; }
   void SetNavTarget(Body* const target);
@@ -46,7 +46,7 @@ public:
 
   class LaserObj : public Object {
   public:
-    virtual Object::Type GetType(void) { return Object::LASER; }
+    OBJDEF(LaserObj, Object, LASER);
     Ship* owner;
   };
 
diff --git a/src/space.cpp b/src/space.cpp
index 58acbd7..ebafa6d 100644
--- a/src/space.cpp
+++ b/src/space.cpp
@@ -11,6 +11,7 @@
 #include "star_system.h"
 #include "space_station.h"
 #include "sbre/sbre.h"
+#include "serializer.h"
 
 dWorldID Space::world;
 std::list<Body*> Space::bodies;
@@ -26,6 +27,26 @@ void Space::Init(void) {
   //dWorldSetGravity(world, 0, -9.81, 0);
 }
 
+void Space::Serialize(void) {
+  using namespace Serializer::Write;
+  Serializer::IndexFrames();
+  printf("%d bodies to write\n", bodies.size());
+  wr_int(bodies.size());
+  for(bodiesIter_t i = bodies.begin(); i != bodies.end(); ++i) {
+    (*i)->Serialize();
+  }
+}
+
+void Space::Unserialize(void) {
+  using namespace Serializer::Read;
+  Serializer::IndexFrames();
+  int num_bodies = rd_int();
+  printf("%d bodies to read\n", num_bodies);
+  for(int i = 0; i < num_bodies; i++) {
+    bodies.push_back(Body::Unserialize());
+  }
+}
+
 void Space::Clear(void) {
   for(std::list<Body*>::iterator i = bodies.begin(); i != bodies.end(); ++i) {
     (*i)->SetFrame(NULL);
@@ -242,15 +263,14 @@ void Space::UpdateFramesOfReference(void) {
 
 static bool _OnCollision(dGeomID g1, dGeomID g2, Object* o1, Object* o2,
                          int numContacts, dContact contacts[]) {
-  if((o1->GetType() == Object::LASER) || (o2->GetType() == Object::LASER)) {
-    if(o1->GetType() == Object::LASER) {
+  if((o1->IsType(Object::LASER)) || (o2->IsType(Object::LASER))) {
+    if(o1->IsType(Object::LASER)) {
       std::swap<Object*>(o1, o2);
       std::swap<dGeomID>(g1, g2);
     }
     Ship::LaserObj* lobj = static_cast<Ship::LaserObj*>(o2);
     if(o1 == lobj->owner) return false;
-
-    if(o1->GetType() == Object::SHIP) {
+    if(o1->IsType(Object::SHIP)) {
       DynamicBody* rb = (DynamicBody*)o1;
       dVector3 start, dir;
       dGeomRayGet(g2, start, dir);
@@ -267,11 +287,11 @@ static bool _OnCollision(dGeomID g1, dGeomID g2, Object* o1, Object* o2,
     Body* pb1, *pb2;
     int flags = 0;
     /* Geom bodies point to their parents. */
-    if(o1->GetType() == Object::GEOM) {
+    if(o1->IsType(Object::GEOM)) {
       pb1 = static_cast<ModelBody::Geom*>(o1)->parent;
       flags |= static_cast<ModelBody::Geom*>(o1)->flags;
     } else pb1 = static_cast<Body*>(o1);
-    if(o2->GetType() == Object::GEOM) {
+    if(o2->IsType(Object::GEOM)) {
       pb2 = static_cast<ModelBody::Geom*>(o2)->parent;
       flags |= static_cast<ModelBody::Geom*>(o2)->flags;
     } else pb2 = static_cast<Body*>(o2);
diff --git a/src/space.h b/src/space.h
index 907ddbd..3dc0a12 100644
--- a/src/space.h
+++ b/src/space.h
@@ -12,6 +12,8 @@ public:
   static void Init(void);
   static void Clear(void);
   static void BuildSystem(void);
+  static void Serialize(void);
+  static void Unserialize(void);
   static void GenBody(StarSystem::SBody* b, Frame* f);
   static void TimeStep(float step);
   static void AddBody(Body*);
@@ -29,7 +31,6 @@ private:
   static void CollideFrame(Frame* f);
   static void PruneCorpses(void);
   static void ApplyGravity(void);
-  //static std::list<Frame*> rootFrames;
   static std::list<Body*> corpses;
 };
 
diff --git a/src/space_station.cpp b/src/space_station.cpp
index 925edfe..32f4cb7 100644
--- a/src/space_station.cpp
+++ b/src/space_station.cpp
@@ -172,7 +172,7 @@ bool SpaceStation::OnCollision(Body* b, Uint32 flags) {
   if(flags & 0x10) {
     dockingport_t* dport = &port[flags & 0xf];
     /* Hitting docking area of a station. */
-    if(b->GetType() == Object::SHIP) {
+    if(b->IsType(Object::SHIP)) {
       Ship* s = static_cast<Ship*>(b);
       const dReal* vel = dBodyGetLinearVel(s->m_body);
       double speed = vector3d(vel[0], vel[1], vel[2]).Length();
diff --git a/src/space_station.h b/src/space_station.h
index 89bb921..2bae074 100644
--- a/src/space_station.h
+++ b/src/space_station.h
@@ -9,11 +9,11 @@ class Ship;
 
 class SpaceStation : public ModelBody {
 public:
+  OBJDEF(SpaceStation, ModelBody, SPACESTATION);
   enum TYPE { JJHOOP, GROUND_FLAVOURED, TYPE_MAX };
   SpaceStation(TYPE);
   virtual ~SpaceStation(void);
   virtual bool OnCollision(Body* b, Uint32 flags);
-  virtual Object::Type GetType(void) { return Object::SPACESTATION; }
   virtual void Render(const Frame* camFrame);
   void OrientLaunchingShip(Ship* ship, int port) const;
   void OrientDockedShip(Ship* ship, int port) const;
diff --git a/src/star.h b/src/star.h
index e21358e..a4149fb 100644
--- a/src/star.h
+++ b/src/star.h
@@ -6,6 +6,7 @@ class Frame;
 
 class Star: public Body {
 public:
+  OBJDEF(Star, Body, STAR);
   Star(StarSystem::SBody* sbody);
   virtual ~Star(void) { };
   virtual void SetPosition(vector3d p);
diff --git a/src/star_system.cpp b/src/star_system.cpp
index e67e4db..7be2c40 100644
--- a/src/star_system.cpp
+++ b/src/star_system.cpp
@@ -1,6 +1,7 @@
 #include "star_system.h"
 #include "sector.h"
 #include "custom_starsystems.h"
+#include "serializer.h"
 
 #define CELSIUS 273.15
 #define DEBUG_DUMP
@@ -879,3 +880,27 @@ StarSystem::SBody::~SBody(void) {
   }
 }
 
+void StarSystem::Serialize(StarSystem* s) {
+  using namespace Serializer::Write;
+  if(s) {
+    wr_byte(1);
+    wr_int(s->m_secx);
+    wr_int(s->m_secy);
+    wr_int(s->m_sysIdx);
+  } else {
+    wr_byte(0);
+  }
+}
+
+StarSystem* StarSystem::Unserialize(void) {
+  using namespace Serializer::Read;
+  if(rd_byte()) {
+    int sec_x = rd_int();
+    int sec_y = rd_int();
+    int sys_idx = rd_int();
+    return new StarSystem(sec_x, sec_y, sys_idx);
+  } else {
+    return 0;
+  }
+}
+
diff --git a/src/star_system.h b/src/star_system.h
index 7f7ad50..51d4a20 100644
--- a/src/star_system.h
+++ b/src/star_system.h
@@ -21,6 +21,8 @@ public:
   StarSystem(void) { rootBody = 0; }
   StarSystem(int sector_x, int sector_y, int system_idx);
   ~StarSystem(void);
+  static void Serialize(StarSystem*);
+  static StarSystem* Unserialize(void);
   bool IsSystem(int sector_x, int sector_y, int system_idx);
   void GetPos(int* sec_x, int* sec_y, int* sys_idx) {
     *sec_x = m_secx; *sec_y = m_secy, *sys_idx = m_sysIdx;
diff --git a/src/tags b/src/tags
new file mode 100644
index 0000000..4d88a1a
--- /dev/null
+++ b/src/tags
@@ -0,0 +1,732 @@
+!_TAG_FILE_SORTED	2	/0=unsorted, 1=sorted, 2=foldcase/
+AccreteDisc	/home/allanis/src/lephisto/src/star_system.cpp	/^static std::vector<int>* AccreteDisc(int size, int bandSize, int density, MTRand& rand) {$/;"	f	language:C++	file:
+AddBody	/home/allanis/src/lephisto/src/space.cpp	/^void Space::AddBody(Body* b) {$/;"	f	language:C++	class:Space
+AddBody	/home/allanis/src/lephisto/src/space.h	/^  static void AddBody(Body*);$/;"	p	language:C++	class:Space
+AddCommsOption	/home/allanis/src/lephisto/src/world_view.cpp	/^Gui::Button* WorldView::AddCommsOption(std::string msg, int ypos) {$/;"	f	language:C++	class:WorldView
+AddFrame	/home/allanis/src/lephisto/src/serializer.cpp	/^static void AddFrame(Frame* f) {$/;"	f	language:C++	namespace:Serializer
+AddGeom	/home/allanis/src/lephisto/src/frame.h	/^  void AddGeom(dGeomID g)                       { dSpaceAdd(m_dSpaceID, g); }$/;"	f	language:C++	class:Frame
+ApplyEnteringTransform	/home/allanis/src/lephisto/src/frame.cpp	/^void Frame::ApplyEnteringTransform(matrix4x4d& m) const {$/;"	f	language:C++	class:Frame
+ApplyEnteringTransform	/home/allanis/src/lephisto/src/frame.h	/^  void ApplyEnteringTransform(matrix4x4d& m) const;$/;"	p	language:C++	class:Frame
+ApplyExternalViewRotation	/home/allanis/src/lephisto/src/player.h	/^  void ApplyExternalViewRotation(matrix4x4d &m);$/;"	p	language:C++	class:Player
+ApplyGravity	/home/allanis/src/lephisto/src/space.cpp	/^void Space::ApplyGravity(void) {$/;"	f	language:C++	class:Space
+ApplyGravity	/home/allanis/src/lephisto/src/space.h	/^  static void ApplyGravity(void);$/;"	p	language:C++	class:Space
+ApplyLeavingTransform	/home/allanis/src/lephisto/src/frame.cpp	/^void Frame::ApplyLeavingTransform(matrix4x4d& m) const {$/;"	f	language:C++	class:Frame
+ApplyLeavingTransform	/home/allanis/src/lephisto/src/frame.h	/^  void ApplyLeavingTransform(matrix4x4d& m) const;$/;"	p	language:C++	class:Frame
+ATMOS_LOSS_MASS_CUTOFF	/home/allanis/src/lephisto/src/star_system.cpp	691;"	d	language:C++	file:
+ATMOS_TEMP_CUTOFF	/home/allanis/src/lephisto/src/star_system.cpp	692;"	d	language:C++	file:
+AU	/home/allanis/src/lephisto/src/star_system.h	13;"	d	language:C++
+averageTemp	/home/allanis/src/lephisto/src/star_system.h	/^    int averageTemp;$/;"	m	language:C++	class:StarSystem::SBody
+b	/home/allanis/src/lephisto/src/space.cpp	/^  Body* b;$/;"	m	language:C++	struct:body_zsort_t	file:
+BG_STAR_MAX	/home/allanis/src/lephisto/src/world_view.cpp	11;"	d	language:C++	file:
+Blastoff	/home/allanis/src/lephisto/src/ship.cpp	/^void Ship::Blastoff(void) {$/;"	f	language:C++	class:Ship
+Blastoff	/home/allanis/src/lephisto/src/ship.h	/^  void Blastoff(void);$/;"	p	language:C++	class:Ship
+bodies	/home/allanis/src/lephisto/src/space.cpp	/^std::list<Body*> Space::bodies;$/;"	m	language:C++	class:Space	file:
+bodies	/home/allanis/src/lephisto/src/space.h	/^  static std::list<Body*> bodies;$/;"	m	language:C++	class:Space
+bodiesIter_t	/home/allanis/src/lephisto/src/space.h	/^  typedef std::list<Body*>::iterator bodiesIter_t;$/;"	t	language:C++	class:Space
+Body	/home/allanis/src/lephisto/src/body.cpp	/^Body::Body(void) {$/;"	f	language:C++	class:Body
+Body	/home/allanis/src/lephisto/src/body.h	/^  Body(void);$/;"	p	language:C++	class:Body
+Body	/home/allanis/src/lephisto/src/body.h	/^class Body: public Object {$/;"	c	language:C++
+BODY	/home/allanis/src/lephisto/src/object.h	/^  enum Type { OBJECT, BODY, MODELBODY, DYNAMICBODY, SHIP, PLAYER, SPACESTATION, LASER, GEOM, PLANET, STAR };$/;"	e	language:C++	enum:Object::Type
+BodyStats	/home/allanis/src/lephisto/src/star_system.h	/^  struct BodyStats {$/;"	s	language:C++	class:StarSystem
+BodySuperType	/home/allanis/src/lephisto/src/star_system.h	/^  enum BodySuperType {$/;"	g	language:C++	class:StarSystem
+BodyType	/home/allanis/src/lephisto/src/star_system.h	/^  enum BodyType {$/;"	g	language:C++	class:StarSystem
+bodyTypeInfo	/home/allanis/src/lephisto/src/star_system.cpp	/^} bodyTypeInfo[StarSystem::TYPE_MAX] = {$/;"	v	language:C++	typeref:struct:SBodySubTypeInfo	file:
+body_zsort_compare	/home/allanis/src/lephisto/src/space.cpp	/^struct body_zsort_compare : public std::binary_function<body_zsort_t, body_zsort_t, bool> {$/;"	s	language:C++	file:
+body_zsort_t	/home/allanis/src/lephisto/src/space.cpp	/^struct body_zsort_t {$/;"	s	language:C++	file:
+boltzman_const	/home/allanis/src/lephisto/src/star_system.cpp	/^static const double boltzman_const = 5.6704e-8;$/;"	v	language:C++	file:
+BuildSystem	/home/allanis/src/lephisto/src/space.cpp	/^void Space::BuildSystem(void) {$/;"	f	language:C++	class:Space
+BuildSystem	/home/allanis/src/lephisto/src/space.h	/^  static void BuildSystem(void);$/;"	p	language:C++	class:Space
+calcEnergyPerUnitAreaAtDist	/home/allanis/src/lephisto/src/star_system.cpp	/^static double calcEnergyPerUnitAreaAtDist(double star_radius, double star_temp,$/;"	f	language:C++	file:
+calcEnergyPerUnitAreaAtDist	/home/allanis/src/lephisto/src/star_system.cpp	/^static fixed calcEnergyPerUnitAreaAtDist(fixed star_radius, int star_temp, fixed object_dist) {$/;"	f	language:C++	file:
+CalcRotDamping	/home/allanis/src/lephisto/src/ship.cpp	/^vector3d Ship::CalcRotDamping(void) {$/;"	f	language:C++	class:Ship
+CalcRotDamping	/home/allanis/src/lephisto/src/ship.h	/^  vector3d CalcRotDamping();$/;"	p	language:C++	class:Ship
+CalcStats	/home/allanis/src/lephisto/src/ship.cpp	/^void Ship::CalcStats(shipstats_t* stats) {$/;"	f	language:C++	class:Ship
+CalcStats	/home/allanis/src/lephisto/src/ship.h	/^  void CalcStats(shipstats_t* stats);$/;"	p	language:C++	class:Ship
+CalcSurfaceTemp	/home/allanis/src/lephisto/src/star_system.cpp	/^static double CalcSurfaceTemp(double star_radius, double star_temp,$/;"	f	language:C++	file:
+CalcSurfaceTemp	/home/allanis/src/lephisto/src/star_system.cpp	/^static int CalcSurfaceTemp(StarSystem::SBody* primary, fixed distToPrimary, fixed albedo, fixed greenhouse) {$/;"	f	language:C++	file:
+calc_orbital_period	/home/allanis/src/lephisto/src/star_system.cpp	/^double calc_orbital_period(double semiMajorAxis, double centralMass) {$/;"	f	language:C++
+CamType	/home/allanis/src/lephisto/src/l3d.h	/^  enum CamType { CAM_FRONT, CAM_REAR, CAM_EXTERNAL };$/;"	g	language:C++	class:L3D
+camType	/home/allanis/src/lephisto/src/l3d.h	/^  static enum CamType camType;$/;"	m	language:C++	class:L3D	typeref:enum:L3D::CamType
+camType	/home/allanis/src/lephisto/src/main.cpp	/^enum L3D::CamType  L3D::camType;$/;"	m	language:C++	class:L3D	typeref:enum:L3D::	file:
+CAM_EXTERNAL	/home/allanis/src/lephisto/src/l3d.h	/^  enum CamType { CAM_FRONT, CAM_REAR, CAM_EXTERNAL };$/;"	e	language:C++	enum:L3D::CamType
+CAM_FRONT	/home/allanis/src/lephisto/src/l3d.h	/^  enum CamType { CAM_FRONT, CAM_REAR, CAM_EXTERNAL };$/;"	e	language:C++	enum:L3D::CamType
+CAM_REAR	/home/allanis/src/lephisto/src/l3d.h	/^  enum CamType { CAM_FRONT, CAM_REAR, CAM_EXTERNAL };$/;"	e	language:C++	enum:L3D::CamType
+CartesianPosAtTime	/home/allanis/src/lephisto/src/star_system.cpp	/^vector3d StarSystem::Orbit::CartesianPosAtTime(double t) {$/;"	f	language:C++	class:StarSystem::Orbit
+CartesianPosAtTime	/home/allanis/src/lephisto/src/star_system.h	/^    vector3d CartesianPosAtTime(double t);$/;"	p	language:C++	struct:StarSystem::Orbit
+CELSIUS	/home/allanis/src/lephisto/src/star_system.cpp	6;"	d	language:C++	file:
+center	/home/allanis/src/lephisto/src/space_station.h	/^    vector3d center;$/;"	m	language:C++	struct:SpaceStation::dockingport_t
+checksum	/home/allanis/src/lephisto/src/serializer.cpp	/^  static int checksum;$/;"	m	language:C++	namespace:Serializer::Write	file:
+children	/home/allanis/src/lephisto/src/star_system.h	/^    std::vector<SBody*> children;$/;"	m	language:C++	class:StarSystem::SBody
+Clear	/home/allanis/src/lephisto/src/space.cpp	/^void Space::Clear(void) {$/;"	f	language:C++	class:Space
+Clear	/home/allanis/src/lephisto/src/space.h	/^  static void Clear(void);$/;"	p	language:C++	class:Space
+ClearThrusterState	/home/allanis/src/lephisto/src/ship.cpp	/^void Ship::ClearThrusterState(void) {$/;"	f	language:C++	class:Ship
+ClearThrusterState	/home/allanis/src/lephisto/src/ship.h	/^  void ClearThrusterState(void);$/;"	p	language:C++	class:Ship
+CollideFrame	/home/allanis/src/lephisto/src/space.cpp	/^void Space::CollideFrame(Frame* f) {$/;"	f	language:C++	class:Space
+CollideFrame	/home/allanis/src/lephisto/src/space.h	/^  static void CollideFrame(Frame* f);$/;"	p	language:C++	class:Space
+corpses	/home/allanis/src/lephisto/src/space.cpp	/^std::list<Body*> Space::corpses;$/;"	m	language:C++	class:Space	file:
+corpses	/home/allanis/src/lephisto/src/space.h	/^  static std::list<Body*> corpses;$/;"	m	language:C++	class:Space
+cpan	/home/allanis/src/lephisto/src/l3d.h	/^  static ShipCpanel*        cpan;$/;"	m	language:C++	class:L3D
+cpan	/home/allanis/src/lephisto/src/main.cpp	/^ShipCpanel*       L3D::cpan;$/;"	m	language:C++	class:L3D	file:
+crudDList	/home/allanis/src/lephisto/src/planet.h	/^  GLuint crudDList;$/;"	m	language:C++	class:Planet
+currentSystem	/home/allanis/src/lephisto/src/l3d.h	/^  static StarSystem*        currentSystem;$/;"	m	language:C++	class:L3D
+currentSystem	/home/allanis/src/lephisto/src/main.cpp	/^StarSystem*       L3D::currentSystem;$/;"	m	language:C++	class:L3D	file:
+currentView	/home/allanis/src/lephisto/src/l3d.h	/^  static View* currentView;$/;"	m	language:C++	class:L3D
+currentView	/home/allanis/src/lephisto/src/main.cpp	/^View*             L3D::currentView;$/;"	m	language:C++	class:L3D	file:
+CustomGetChildOf	/home/allanis/src/lephisto/src/star_system.cpp	/^void StarSystem::CustomGetChildOf(SBody* parent, const CustomSBody* customDef, const int primaryIdx) {$/;"	f	language:C++	class:StarSystem
+CustomGetChildOf	/home/allanis/src/lephisto/src/star_system.h	/^  void CustomGetChildOf(SBody* parent, const CustomSBody* customDef, const int parentIdx);$/;"	p	language:C++	class:StarSystem
+DEBUG_DUMP	/home/allanis/src/lephisto/src/star_system.cpp	7;"	d	language:C++	file:
+description	/home/allanis/src/lephisto/src/star_system.cpp	/^  const char *description;$/;"	m	language:C++	struct:SBodySubTypeInfo	file:
+Disable	/home/allanis/src/lephisto/src/dynamic_body.h	/^  virtual void Disable(void);$/;"	p	language:C++	class:DynamicBody
+Disable	/home/allanis/src/lephisto/src/model_body.h	/^  virtual void Disable(void);$/;"	p	language:C++	class:ModelBody
+dist	/home/allanis/src/lephisto/src/space.cpp	/^  double dist;$/;"	m	language:C++	struct:body_zsort_t	file:
+dockingport_t	/home/allanis/src/lephisto/src/space_station.h	/^  struct dockingport_t {$/;"	s	language:C++	class:SpaceStation
+dockMethod	/home/allanis/src/lephisto/src/space_station.cpp	/^  enum { ORBITAL, SURFACE } dockMethod;$/;"	m	language:C++	struct:SpaceStationType	typeref:enum:SpaceStationType::__anon1	file:
+Draw3D	/home/allanis/src/lephisto/src/world_view.cpp	/^void WorldView::Draw3D(void) {$/;"	f	language:C++	class:WorldView
+DrawAtmosphere	/home/allanis/src/lephisto/src/planet.h	/^  void DrawAtmosphere(double rad, vector3d& pos);$/;"	p	language:C++	class:Planet
+DrawBgStars	/home/allanis/src/lephisto/src/world_view.cpp	/^void WorldView::DrawBgStars(void) {$/;"	f	language:C++	class:WorldView
+DrawGasGiant	/home/allanis/src/lephisto/src/planet.h	/^  void DrawGasGiant(void);$/;"	p	language:C++	class:Planet
+DrawHUD	/home/allanis/src/lephisto/src/player.h	/^  void DrawHUD(const Frame* cam_frame);$/;"	p	language:C++	class:Player
+DrawRockyPlanet	/home/allanis/src/lephisto/src/planet.h	/^  void DrawRockyPlanet(void);$/;"	p	language:C++	class:Planet
+DrawTargetSquare	/home/allanis/src/lephisto/src/player.h	/^  void DrawTargetSquare(const Body* const target);$/;"	p	language:C++	class:Player
+DrawTargetSquares	/home/allanis/src/lephisto/src/player.h	/^  void DrawTargetSquares();$/;"	p	language:C++	class:Player
+draw_intro	/home/allanis/src/lephisto/src/main.cpp	/^static void draw_intro(float _time) {$/;"	f	language:C++	file:
+DynamicBody	/home/allanis/src/lephisto/src/dynamic_body.h	/^  DynamicBody(void);$/;"	p	language:C++	class:DynamicBody
+DynamicBody	/home/allanis/src/lephisto/src/dynamic_body.h	/^class DynamicBody : public ModelBody {$/;"	c	language:C++
+DYNAMICBODY	/home/allanis/src/lephisto/src/object.h	/^  enum Type { OBJECT, BODY, MODELBODY, DYNAMICBODY, SHIP, PLAYER, SPACESTATION, LASER, GEOM, PLANET, STAR };$/;"	e	language:C++	enum:Object::Type
+EARTH_MASS	/home/allanis/src/lephisto/src/star_system.h	7;"	d	language:C++
+EARTH_RADIUS	/home/allanis/src/lephisto/src/star_system.h	6;"	d	language:C++
+eccentricity	/home/allanis/src/lephisto/src/star_system.h	/^    double eccentricity;$/;"	m	language:C++	struct:StarSystem::Orbit
+EliminateBadChildren	/home/allanis/src/lephisto/src/star_system.cpp	/^void StarSystem::SBody::EliminateBadChildren(void) {$/;"	f	language:C++	class:StarSystem::SBody
+EliminateBadChildren	/home/allanis/src/lephisto/src/star_system.h	/^    void EliminateBadChildren(void); \/* :D *\/$/;"	p	language:C++	class:StarSystem::SBody
+Enable	/home/allanis/src/lephisto/src/dynamic_body.h	/^  virtual void Enable(void);$/;"	p	language:C++	class:DynamicBody
+Enable	/home/allanis/src/lephisto/src/model_body.h	/^  virtual void Enable(void);$/;"	p	language:C++	class:ModelBody
+flags	/home/allanis/src/lephisto/src/model_body.h	/^    int flags;$/;"	m	language:C++	class:ModelBody::Geom
+FLAG_CAN_MOVE_FRAME	/home/allanis/src/lephisto/src/body.h	/^  enum { FLAG_CAN_MOVE_FRAME = 1 };$/;"	e	language:C++	enum:Body::__anon1
+FlightState	/home/allanis/src/lephisto/src/ship.h	/^  enum FlightState { FLYING, LANDED };$/;"	g	language:C++	class:Ship
+Float	/home/allanis/src/lephisto/src/l3d.h	/^  float Float(const char* key) {$/;"	f	language:C++	class:IniConfig
+FLYING	/home/allanis/src/lephisto/src/ship.h	/^  enum FlightState { FLYING, LANDED };$/;"	e	language:C++	enum:Ship::FlightState
+Frame	/home/allanis/src/lephisto/src/frame.cpp	/^Frame::Frame(Frame* parent, const char* label) {$/;"	f	language:C++	class:Frame
+Frame	/home/allanis/src/lephisto/src/frame.cpp	/^Frame::Frame(Frame* parent, const char* label, unsigned int flags) {$/;"	f	language:C++	class:Frame
+Frame	/home/allanis/src/lephisto/src/frame.cpp	/^Frame::Frame(void) {$/;"	f	language:C++	class:Frame
+Frame	/home/allanis/src/lephisto/src/frame.h	/^  Frame(Frame* parent, const char* label);$/;"	p	language:C++	class:Frame
+Frame	/home/allanis/src/lephisto/src/frame.h	/^  Frame(Frame* parent, const char* label, unsigned int flags);$/;"	p	language:C++	class:Frame
+Frame	/home/allanis/src/lephisto/src/frame.h	/^  Frame(void);$/;"	p	language:C++	class:Frame
+Frame	/home/allanis/src/lephisto/src/frame.h	/^class Frame {$/;"	c	language:C++
+frameTime	/home/allanis/src/lephisto/src/l3d.h	/^  static float        frameTime;$/;"	m	language:C++	class:L3D
+frameTime	/home/allanis/src/lephisto/src/main.cpp	/^float             L3D::frameTime;$/;"	m	language:C++	class:L3D	file:
+FREEZE_TEMP_CUTOFF	/home/allanis/src/lephisto/src/star_system.cpp	693;"	d	language:C++	file:
+free_capacity	/home/allanis/src/lephisto/src/ship.h	/^  int free_capacity;$/;"	m	language:C++	struct:shipstats_t
+G	/home/allanis/src/lephisto/src/star_system.h	14;"	d	language:C++
+Game	/home/allanis/src/lephisto/src/serializer.cpp	/^  bool Game(const char* filename) {$/;"	f	language:C++	namespace:Serializer::Read
+Game	/home/allanis/src/lephisto/src/serializer.cpp	/^  bool Game(const char* filename) {$/;"	f	language:C++	namespace:Serializer::Write
+Game	/home/allanis/src/lephisto/src/serializer.h	/^    bool Game(const char* filename);$/;"	p	language:C++	namespace:Serializer::Read
+Game	/home/allanis/src/lephisto/src/serializer.h	/^    bool Game(const char* filename);$/;"	p	language:C++	namespace:Serializer::Write
+gameTime	/home/allanis/src/lephisto/src/l3d.h	/^  static double       gameTime;$/;"	m	language:C++	class:L3D
+gameTime	/home/allanis/src/lephisto/src/main.cpp	/^double            L3D::gameTime;$/;"	m	language:C++	class:L3D	file:
+GenBody	/home/allanis/src/lephisto/src/space.cpp	/^void Space::GenBody(StarSystem::SBody* sbody, Frame* f) {$/;"	f	language:C++	class:Space
+GenBody	/home/allanis/src/lephisto/src/space.h	/^  static void GenBody(StarSystem::SBody* b, Frame* f);$/;"	p	language:C++	class:Space
+GenerateFromCustom	/home/allanis/src/lephisto/src/star_system.cpp	/^void StarSystem::GenerateFromCustom(const CustomSBody* customDef) {$/;"	f	language:C++	class:StarSystem
+GenerateFromCustom	/home/allanis/src/lephisto/src/star_system.h	/^  void GenerateFromCustom(const CustomSBody*);$/;"	p	language:C++	class:StarSystem
+Geom	/home/allanis/src/lephisto/src/model_body.h	/^  class Geom : public Object {$/;"	c	language:C++	class:ModelBody
+GEOM	/home/allanis/src/lephisto/src/object.h	/^  enum Type { OBJECT, BODY, MODELBODY, DYNAMICBODY, SHIP, PLAYER, SPACESTATION, LASER, GEOM, PLANET, STAR };$/;"	e	language:C++	enum:Object::Type
+geom	/home/allanis/src/lephisto/src/planet.h	/^  dGeomID geom;$/;"	m	language:C++	class:Planet
+geomColl	/home/allanis/src/lephisto/src/model_body.h	/^  std::vector<Geom> geomColl;$/;"	m	language:C++	class:ModelBody
+geoms	/home/allanis/src/lephisto/src/model_body.h	/^  std::vector<dGeomID> geoms;$/;"	m	language:C++	class:ModelBody
+GeomsSetBody	/home/allanis/src/lephisto/src/model_body.h	/^  void GeomsSetBody(dBodyID body);$/;"	p	language:C++	class:ModelBody
+GetAabb	/home/allanis/src/lephisto/src/model_body.h	/^  void GetAabb(Aabb& aabb);$/;"	p	language:C++	class:ModelBody
+GetAngularMomentum	/home/allanis/src/lephisto/src/dynamic_body.h	/^  vector3d GetAngularMomentum(void);$/;"	p	language:C++	class:DynamicBody
+GetAngVelocity	/home/allanis/src/lephisto/src/dynamic_body.h	/^  vector3d GetAngVelocity(void);$/;"	p	language:C++	class:DynamicBody
+GetAngVelocity	/home/allanis/src/lephisto/src/frame.h	/^  vector3d GetAngVelocity(void) const           { return m_angVel; }$/;"	f	language:C++	class:Frame
+GetAstroDescription	/home/allanis/src/lephisto/src/star_system.cpp	/^const char* StarSystem::SBody::GetAstroDescription(void) {$/;"	f	language:C++	class:StarSystem::SBody
+GetAstroDescription	/home/allanis/src/lephisto/src/star_system.h	/^    const char* GetAstroDescription(void);$/;"	p	language:C++	class:StarSystem::SBody
+GetCamType	/home/allanis/src/lephisto/src/l3d.h	/^  static enum CamType GetCamType(void)  { return camType; }$/;"	f	language:C++	class:L3D
+GetCombatTarget	/home/allanis/src/lephisto/src/ship.h	/^  Body* GetCombatTarget(void) const { return m_combatTarget; }$/;"	f	language:C++	class:Ship
+GetDockedWith	/home/allanis/src/lephisto/src/ship.h	/^  SpaceStation* GetDockedWith(void) { return m_dockedWith; }$/;"	f	language:C++	class:Ship
+GetDockingClearance	/home/allanis/src/lephisto/src/space_station.cpp	/^bool SpaceStation::GetDockingClearance(Ship* s) {$/;"	f	language:C++	class:SpaceStation
+GetDockingClearance	/home/allanis/src/lephisto/src/space_station.h	/^  bool GetDockingClearance(Ship* s);$/;"	p	language:C++	class:SpaceStation
+GetDockingSurface	/home/allanis/src/lephisto/src/space_station.cpp	/^void SpaceStation::GetDockingSurface(CollMeshSet* mset, int midx) {$/;"	f	language:C++	class:SpaceStation
+GetDockingSurface	/home/allanis/src/lephisto/src/space_station.h	/^  void GetDockingSurface(CollMeshSet* mset, int midx);$/;"	p	language:C++	class:SpaceStation
+GetDockingTimer	/home/allanis/src/lephisto/src/ship.h	/^  float GetDockingTimer(void) { return m_dockingTimer; }$/;"	f	language:C++	class:Ship
+GetExternalViewTranslation	/home/allanis/src/lephisto/src/player.h	/^  vector3d GetExternalViewTranslation(void);$/;"	p	language:C++	class:Player
+GetFlags	/home/allanis/src/lephisto/src/body.h	/^  unsigned int GetFlags(void) { return m_flags; }$/;"	f	language:C++	class:Body
+GetFlightState	/home/allanis/src/lephisto/src/ship.h	/^  FlightState GetFlightState(void) const { return m_flightState; }$/;"	f	language:C++	class:Ship
+GetFrame	/home/allanis/src/lephisto/src/body.h	/^  Frame* GetFrame(void) { return m_frame; }$/;"	f	language:C++	class:Body
+GetFrameTime	/home/allanis/src/lephisto/src/l3d.h	/^  static float  GetFrameTime(void)            { return frameTime; }$/;"	f	language:C++	class:L3D
+GetFrameTransform	/home/allanis/src/lephisto/src/frame.cpp	/^void Frame::GetFrameTransform(const Frame* fFrom, const Frame* fTo, matrix4x4d& m) {$/;"	f	language:C++	class:Frame
+GetFrameTransform	/home/allanis/src/lephisto/src/frame.h	/^  static void GetFrameTransform(const Frame* fFrom, const Frame* fTo, matrix4x4d& m);$/;"	p	language:C++	class:Frame
+GetGameTime	/home/allanis/src/lephisto/src/l3d.h	/^  static double GetGameTime(void)             { return gameTime; }$/;"	f	language:C++	class:L3D
+GetIcon	/home/allanis/src/lephisto/src/star_system.cpp	/^const char* StarSystem::SBody::GetIcon(void) {$/;"	f	language:C++	class:StarSystem::SBody
+GetIcon	/home/allanis/src/lephisto/src/star_system.h	/^    const char* GetIcon(void);$/;"	p	language:C++	class:StarSystem::SBody
+GetLabel	/home/allanis/src/lephisto/src/body.h	/^  std::string& GetLabel(void) { return m_label; }$/;"	f	language:C++	class:Body
+GetLabel	/home/allanis/src/lephisto/src/frame.h	/^  const char* GetLabel(void) const              { return m_label.c_str(); }$/;"	f	language:C++	class:Frame
+GetMapView	/home/allanis/src/lephisto/src/l3d.h	/^  static enum MapView GetMapView(void)  { return mapView; }$/;"	f	language:C++	class:L3D
+GetMass	/home/allanis/src/lephisto/src/body.h	/^  virtual double GetMass(void)   const { assert(0); return 0; }$/;"	f	language:C++	class:Body
+GetMass	/home/allanis/src/lephisto/src/dynamic_body.h	/^  virtual double GetMass(void) const { return m_mass.mass; }$/;"	f	language:C++	class:DynamicBody
+GetMass	/home/allanis/src/lephisto/src/planet.h	/^  virtual double GetMass(void) const { return m_mass; }$/;"	f	language:C++	class:Planet
+GetMass	/home/allanis/src/lephisto/src/star.h	/^  virtual double GetMass(void) const { return mass; }$/;"	f	language:C++	class:Star
+GetMass	/home/allanis/src/lephisto/src/star_system.h	/^    double GetMass(void) const {$/;"	f	language:C++	class:StarSystem::SBody
+GetMaxChildOrbitalDistance	/home/allanis/src/lephisto/src/star_system.cpp	/^double StarSystem::SBody::GetMaxChildOrbitalDistance(void) const {$/;"	f	language:C++	class:StarSystem::SBody
+GetMaxChildOrbitalDistance	/home/allanis/src/lephisto/src/star_system.h	/^    double GetMaxChildOrbitalDistance(void) const;$/;"	p	language:C++	class:StarSystem::SBody
+GetMouseMotion	/home/allanis/src/lephisto/src/l3d.h	/^  static void   GetMouseMotion(int motion[2]) {$/;"	f	language:C++	class:L3D
+GetNavTarget	/home/allanis/src/lephisto/src/ship.h	/^  Body* GetNavTarget(void) const { return m_navTarget; }$/;"	f	language:C++	class:Ship
+GetNumStars	/home/allanis/src/lephisto/src/star_system.h	/^  int GetNumStars(void) const { return m_numStars; }$/;"	f	language:C++	class:StarSystem
+GetOrientation	/home/allanis/src/lephisto/src/frame.h	/^  const matrix4x4d& GetOrientation(void) const  { return m_orient; }$/;"	f	language:C++	class:Frame
+GetPos	/home/allanis/src/lephisto/src/star_system.h	/^  void GetPos(int* sec_x, int* sec_y, int* sys_idx) {$/;"	f	language:C++	class:StarSystem
+GetPosition	/home/allanis/src/lephisto/src/body.h	/^  virtual vector3d GetPosition(void) const = 0; \/* Within frame. *\/$/;"	p	language:C++	class:Body
+GetPosition	/home/allanis/src/lephisto/src/frame.h	/^  vector3d GetPosition(void) const              { return m_pos; }$/;"	f	language:C++	class:Frame
+GetPosition	/home/allanis/src/lephisto/src/model_body.h	/^  vector3d GetPosition(void) const;$/;"	p	language:C++	class:ModelBody
+GetPosition	/home/allanis/src/lephisto/src/planet.h	/^  virtual vector3d GetPosition(void) const;$/;"	p	language:C++	class:Planet
+GetPosition	/home/allanis/src/lephisto/src/star.h	/^  virtual vector3d GetPosition(void) const;$/;"	p	language:C++	class:Star
+GetPositionRelTo	/home/allanis/src/lephisto/src/body.cpp	/^vector3d Body::GetPositionRelTo(const Frame* relTo) {$/;"	f	language:C++	class:Body
+GetPositionRelTo	/home/allanis/src/lephisto/src/body.h	/^  vector3d GetPositionRelTo(const Frame*);$/;"	p	language:C++	class:Body
+GetProjectedPos	/home/allanis/src/lephisto/src/body.cpp	/^const vector3d& Body::GetProjectedPos(void) const {$/;"	f	language:C++	class:Body
+GetProjectedPos	/home/allanis/src/lephisto/src/body.h	/^  const vector3d& GetProjectedPos() const;$/;"	p	language:C++	class:Body
+GetRadius	/home/allanis/src/lephisto/src/body.h	/^  virtual double GetRadius(void) const = 0 ;$/;"	p	language:C++	class:Body
+GetRadius	/home/allanis/src/lephisto/src/model_body.h	/^  virtual double GetRadius(void) const;$/;"	p	language:C++	class:ModelBody
+GetRadius	/home/allanis/src/lephisto/src/planet.h	/^  virtual double GetRadius(void) const { return sbody.GetRadius(); }$/;"	f	language:C++	class:Planet
+GetRadius	/home/allanis/src/lephisto/src/star.h	/^  virtual double GetRadius(void) const { return radius; }$/;"	f	language:C++	class:Star
+GetRadius	/home/allanis/src/lephisto/src/star_system.h	/^    double GetRadius(void) const {$/;"	f	language:C++	class:StarSystem::SBody
+GetRootFrame	/home/allanis/src/lephisto/src/space.h	/^  static Frame* GetRootFrame(void) { return rootFrame; }$/;"	f	language:C++	class:Space
+GetRotationPeriod	/home/allanis/src/lephisto/src/star_system.h	/^    double GetRotationPeriod(void) const {$/;"	f	language:C++	class:StarSystem::SBody
+GetRotMatrix	/home/allanis/src/lephisto/src/body.h	/^  virtual void GetRotMatrix(matrix4x4d& m) const {};$/;"	f	language:C++	class:Body
+GetRotMatrix	/home/allanis/src/lephisto/src/dynamic_body.h	/^  virtual void GetRotMatrix(matrix4x4d& m);$/;"	p	language:C++	class:DynamicBody
+GetRotMatrix	/home/allanis/src/lephisto/src/model_body.h	/^  void GetRotMatrix(matrix4x4d& m) const;$/;"	p	language:C++	class:ModelBody
+GetScrAspect	/home/allanis/src/lephisto/src/l3d.h	/^  static int    GetScrAspect(void)            { return scrAspect; }$/;"	f	language:C++	class:L3D
+GetScrHeight	/home/allanis/src/lephisto/src/l3d.h	/^  static int    GetScrHeight(void)            { return scrHeight; }$/;"	f	language:C++	class:L3D
+GetScrWidth	/home/allanis/src/lephisto/src/l3d.h	/^  static int    GetScrWidth(void)             { return scrWidth; }$/;"	f	language:C++	class:L3D
+GetSelectedSystem	/home/allanis/src/lephisto/src/l3d.h	/^  static StarSystem* GetSelectedSystem(void);$/;"	p	language:C++	class:L3D
+GetSelectedSystem	/home/allanis/src/lephisto/src/main.cpp	/^StarSystem* L3D::GetSelectedSystem(void) {$/;"	f	language:C++	class:L3D
+GetShipType	/home/allanis/src/lephisto/src/ship.cpp	/^const ShipType& Ship::GetShipType(void) {$/;"	f	language:C++	class:Ship
+GetShipType	/home/allanis/src/lephisto/src/ship.h	/^  const ShipType& GetShipType(void);$/;"	p	language:C++	class:Ship
+GetSpaceID	/home/allanis/src/lephisto/src/frame.h	/^  dSpaceID GetSpaceID(void) const               { return m_dSpaceID; }$/;"	f	language:C++	class:Frame
+GetSuperType	/home/allanis/src/lephisto/src/star_system.cpp	/^StarSystem::BodySuperType StarSystem::SBody::GetSuperType(void) const {$/;"	f	language:C++	class:StarSystem::SBody
+GetSuperType	/home/allanis/src/lephisto/src/star_system.h	/^    BodySuperType GetSuperType() const;$/;"	p	language:C++	class:StarSystem::SBody
+GetTimeAccel	/home/allanis/src/lephisto/src/l3d.h	/^  static float  GetTimeAccel(void)            { return timeAccel; }$/;"	f	language:C++	class:L3D
+GetTimeStep	/home/allanis/src/lephisto/src/l3d.h	/^  static float  GetTimeStep(void)             { return timeAccel*(1.0\/62.5); }$/;"	f	language:C++	class:L3D
+GetType	/home/allanis/src/lephisto/src/object.h	/^  virtual Type GetType(void) { return OBJECT; }$/;"	f	language:C++	class:Object
+GetVelocity	/home/allanis/src/lephisto/src/body.h	/^  virtual vector3d GetVelocity(void) { assert(0); return vector3d(0.0); }$/;"	f	language:C++	class:Body
+GetVelocity	/home/allanis/src/lephisto/src/dynamic_body.h	/^  virtual vector3d GetVelocity(void);$/;"	p	language:C++	class:DynamicBody
+GetVelocity	/home/allanis/src/lephisto/src/frame.h	/^  vector3d GetVelocity(void) const              { return m_vel; }$/;"	f	language:C++	class:Frame
+GetView	/home/allanis/src/lephisto/src/l3d.h	/^  static View* GetView(void)            { return currentView; }$/;"	f	language:C++	class:L3D
+GetWheelState	/home/allanis/src/lephisto/src/ship.h	/^  float GetWheelState(void) const { return m_wheelState; }$/;"	f	language:C++	class:Ship
+gluQuadric	/home/allanis/src/lephisto/src/l3d.h	/^  static GLUquadric*        gluQuadric;$/;"	m	language:C++	class:L3D
+gluQuadric	/home/allanis/src/lephisto/src/main.cpp	/^GLUquadric*       L3D::gluQuadric;$/;"	m	language:C++	class:L3D	file:
+GROUND_FLAVOURED	/home/allanis/src/lephisto/src/space_station.h	/^  enum TYPE { JJHOOP, GROUND_FLAVOURED, TYPE_MAX };$/;"	e	language:C++	enum:SpaceStation::TYPE
+g_frames	/home/allanis/src/lephisto/src/serializer.cpp	/^static std::vector<Frame*> g_frames;$/;"	m	language:C++	namespace:Serializer	file:
+HandleEvents	/home/allanis/src/lephisto/src/l3d.h	/^  static void HandleEvents(void);$/;"	p	language:C++	class:L3D
+HandleEvents	/home/allanis/src/lephisto/src/main.cpp	/^void L3D::HandleEvents(void) {$/;"	f	language:C++	class:L3D
+horiz	/home/allanis/src/lephisto/src/space_station.h	/^    vector3d horiz;$/;"	m	language:C++	struct:SpaceStation::dockingport_t
+humanActivity	/home/allanis/src/lephisto/src/star_system.h	/^    fixed humanActivity;  \/* 0 - 1 *\/$/;"	m	language:C++	class:StarSystem::SBody
+HyperspaceTo	/home/allanis/src/lephisto/src/l3d.h	/^  static void HyperspaceTo(StarSystem* destination);$/;"	p	language:C++	class:L3D
+HyperspaceTo	/home/allanis/src/lephisto/src/main.cpp	/^void L3D::HyperspaceTo(StarSystem* dest) {$/;"	f	language:C++	class:L3D
+hyperspace_range	/home/allanis/src/lephisto/src/ship.h	/^  float hyperspace_range;$/;"	m	language:C++	struct:shipstats_t
+icon	/home/allanis/src/lephisto/src/star_system.cpp	/^  const char *icon;$/;"	m	language:C++	struct:SBodySubTypeInfo	file:
+IndexFrames	/home/allanis/src/lephisto/src/serializer.cpp	/^void IndexFrames(void) {$/;"	f	language:C++	namespace:Serializer
+IndexFrames	/home/allanis/src/lephisto/src/serializer.h	/^  void IndexFrames(void);$/;"	p	language:C++	namespace:Serializer
+infoView	/home/allanis/src/lephisto/src/l3d.h	/^  static InfoView*          infoView;$/;"	m	language:C++	class:L3D
+infoView	/home/allanis/src/lephisto/src/main.cpp	/^InfoView*         L3D::infoView;$/;"	m	language:C++	class:L3D	file:
+IniConfig	/home/allanis/src/lephisto/src/l3d.h	/^  IniConfig(const char* filename);$/;"	p	language:C++	class:IniConfig
+IniConfig	/home/allanis/src/lephisto/src/l3d.h	/^class IniConfig: private std::map<std::string, std::string> {$/;"	c	language:C++
+IniConfig	/home/allanis/src/lephisto/src/main.cpp	/^IniConfig::IniConfig(const char* filename) {$/;"	f	language:C++	class:IniConfig
+Init	/home/allanis/src/lephisto/src/frame.cpp	/^void Frame::Init(Frame* parent, const char* label, unsigned int flags) {$/;"	f	language:C++	class:Frame
+Init	/home/allanis/src/lephisto/src/frame.h	/^  void Init(Frame* parent, const char* label, unsigned int flags);$/;"	p	language:C++	class:Frame
+Init	/home/allanis/src/lephisto/src/l3d.h	/^  static void   Init(IniConfig& config);$/;"	p	language:C++	class:L3D
+Init	/home/allanis/src/lephisto/src/main.cpp	/^void L3D::Init(IniConfig& config) {$/;"	f	language:C++	class:L3D
+Init	/home/allanis/src/lephisto/src/space.cpp	/^void Space::Init(void) {$/;"	f	language:C++	class:Space
+Init	/home/allanis/src/lephisto/src/space.h	/^  static void Init(void);$/;"	p	language:C++	class:Space
+InitOpenGL	/home/allanis/src/lephisto/src/l3d.h	/^  static void InitOpenGL(void);$/;"	p	language:C++	class:L3D
+InitOpenGL	/home/allanis/src/lephisto/src/main.cpp	/^void L3D::InitOpenGL() {$/;"	f	language:C++	class:L3D
+Int	/home/allanis/src/lephisto/src/l3d.h	/^  int Int(const char* key) {$/;"	f	language:C++	class:IniConfig
+IsFiringLasers	/home/allanis/src/lephisto/src/ship.cpp	/^bool Ship::IsFiringLasers(void) {$/;"	f	language:C++	class:Ship
+IsFiringLasers	/home/allanis/src/lephisto/src/ship.h	/^  bool IsFiringLasers(void);$/;"	p	language:C++	class:Ship
+IsGroundStation	/home/allanis/src/lephisto/src/space_station.cpp	/^bool SpaceStation::IsGroundStation(void) const {$/;"	f	language:C++	class:SpaceStation
+IsGroundStation	/home/allanis/src/lephisto/src/space_station.h	/^  bool IsGroundStation(void) const;$/;"	p	language:C++	class:SpaceStation
+IsLocalPosInFrame	/home/allanis/src/lephisto/src/frame.h	/^  bool IsLocalPosInFrame(const vector3d& pos) {$/;"	f	language:C++	class:Frame
+IsOnscreen	/home/allanis/src/lephisto/src/body.h	/^  bool IsOnscreen() const { return m_onscreen; }$/;"	f	language:C++	class:Body
+isqrt	/home/allanis/src/lephisto/src/star_system.cpp	/^static inline Sint64 isqrt(Sint64 a) {$/;"	f	language:C++	file:
+IsSystem	/home/allanis/src/lephisto/src/star_system.cpp	/^bool StarSystem::IsSystem(int sector_x, int sector_y, int system_idx) {$/;"	f	language:C++	class:StarSystem
+IsSystem	/home/allanis/src/lephisto/src/star_system.h	/^  bool IsSystem(int sector_x, int sector_y, int system_idx);$/;"	p	language:C++	class:StarSystem
+IsType	/home/allanis/src/lephisto/src/object.h	/^  virtual bool IsType(Type c) { return GetType() == c; }$/;"	f	language:C++	class:Object
+is_olderthan	/home/allanis/src/lephisto/src/serializer.cpp	/^  bool is_olderthan(int ver) {$/;"	f	language:C++	namespace:Serializer::Read
+is_olderthan	/home/allanis/src/lephisto/src/serializer.h	/^    bool is_olderthan(int version);$/;"	p	language:C++	namespace:Serializer::Read
+JJHOOP	/home/allanis/src/lephisto/src/space_station.h	/^  enum TYPE { JJHOOP, GROUND_FLAVOURED, TYPE_MAX };$/;"	e	language:C++	enum:SpaceStation::TYPE
+JUPITER_MASS	/home/allanis/src/lephisto/src/star_system.h	8;"	d	language:C++
+KeplerPosAtTime	/home/allanis/src/lephisto/src/star_system.cpp	/^void StarSystem::Orbit::KeplerPosAtTime(double t, double* dist, double* ang) {$/;"	f	language:C++	class:StarSystem::Orbit
+KeplerPosAtTime	/home/allanis/src/lephisto/src/star_system.h	/^    void KeplerPosAtTime(double t, double* dist, double* ang);$/;"	p	language:C++	struct:StarSystem::Orbit
+keyState	/home/allanis/src/lephisto/src/l3d.h	/^  static char         keyState[SDLK_LAST];$/;"	m	language:C++	class:L3D
+KeyState	/home/allanis/src/lephisto/src/l3d.h	/^  static int    KeyState(SDLKey k)            { return keyState[k]; }$/;"	f	language:C++	class:L3D
+keyState	/home/allanis/src/lephisto/src/main.cpp	/^char              L3D::keyState[SDLK_LAST];$/;"	m	language:C++	class:L3D	file:
+KillBody	/home/allanis/src/lephisto/src/space.cpp	/^void Space::KillBody(Body* const b) {$/;"	f	language:C++	class:Space
+KillBody	/home/allanis/src/lephisto/src/space.h	/^  static void KillBody(Body*);$/;"	p	language:C++	class:Space
+L3D	/home/allanis/src/lephisto/src/l3d.h	/^class L3D {$/;"	c	language:C++
+LANDED	/home/allanis/src/lephisto/src/ship.h	/^  enum FlightState { FLYING, LANDED };$/;"	e	language:C++	enum:Ship::FlightState
+LASER	/home/allanis/src/lephisto/src/object.h	/^  enum Type { OBJECT, BODY, MODELBODY, DYNAMICBODY, SHIP, PLAYER, SPACESTATION, LASER, GEOM, PLANET, STAR };$/;"	e	language:C++	enum:Object::Type
+LaserObj	/home/allanis/src/lephisto/src/ship.h	/^  class LaserObj : public Object {$/;"	c	language:C++	class:Ship
+lfptr	/home/allanis/src/lephisto/src/serializer.cpp	/^  static FILE* lfptr;$/;"	m	language:C++	namespace:Serializer::Read	file:
+loadsum	/home/allanis/src/lephisto/src/serializer.cpp	/^  static int loadsum;$/;"	m	language:C++	namespace:Serializer::Read	file:
+LookupFrame	/home/allanis/src/lephisto/src/serializer.cpp	/^Frame* LookupFrame(int index) {$/;"	f	language:C++	namespace:Serializer
+LookupFrame	/home/allanis/src/lephisto/src/serializer.h	/^  Frame* LookupFrame(Frame* f);$/;"	p	language:C++	namespace:Serializer
+LoopupFrame	/home/allanis/src/lephisto/src/serializer.cpp	/^int LoopupFrame(Frame* f) {$/;"	f	language:C++	namespace:Serializer
+main	/home/allanis/src/lephisto/src/main.cpp	/^int main(int argc, char** argv) {$/;"	f	language:C++
+MainLoop	/home/allanis/src/lephisto/src/l3d.h	/^  static void   MainLoop(void);$/;"	p	language:C++	class:L3D
+MainLoop	/home/allanis/src/lephisto/src/main.cpp	/^void L3D::MainLoop(void) {$/;"	f	language:C++	class:L3D
+MakeBinaryPair	/home/allanis/src/lephisto/src/star_system.cpp	/^void StarSystem::MakeBinaryPair(SBody* a, SBody* b, fixed minDist, MTRand& rand) {$/;"	f	language:C++	class:StarSystem
+MakeBinaryPair	/home/allanis/src/lephisto/src/star_system.h	/^  void MakeBinaryPair(SBody* a, SBody* b, fixed minDist, MTRand& rand);$/;"	p	language:C++	class:StarSystem
+MakeFrameFor	/home/allanis/src/lephisto/src/space.cpp	/^static Frame* MakeFrameFor(StarSystem::SBody* sbody, Body* b, Frame* f) {$/;"	f	language:C++	file:
+MakePlanetsAround	/home/allanis/src/lephisto/src/star_system.cpp	/^void StarSystem::MakePlanetsAround(SBody* primary) {$/;"	f	language:C++	class:StarSystem
+MakePlanetsAround	/home/allanis/src/lephisto/src/star_system.h	/^  void MakePlanetsAround(SBody* primary);$/;"	p	language:C++	class:StarSystem
+MakeRandomStar	/home/allanis/src/lephisto/src/star_system.cpp	/^void StarSystem::MakeRandomStar(SBody* sbody, MTRand& rand) {$/;"	f	language:C++	class:StarSystem
+MakeRandomStar	/home/allanis/src/lephisto/src/star_system.h	/^  void MakeRandomStar(SBody* sbody, MTRand& rand);$/;"	p	language:C++	class:StarSystem
+MakeRandomStarLighterThan	/home/allanis/src/lephisto/src/star_system.cpp	/^void StarSystem::MakeRandomStarLighterThan(SBody* sbody, fixed maxMass, MTRand& rand) {$/;"	f	language:C++	class:StarSystem
+MakeRandomStarLighterThan	/home/allanis/src/lephisto/src/star_system.h	/^  void MakeRandomStarLighterThan(SBody* sbody, fixed maxMass, MTRand& rand);$/;"	p	language:C++	class:StarSystem
+MakeStarOfType	/home/allanis/src/lephisto/src/star_system.cpp	/^void StarSystem::MakeStarOfType(SBody* sbody, BodyType type, MTRand& rand) {$/;"	f	language:C++	class:StarSystem
+MakeStarOfType	/home/allanis/src/lephisto/src/star_system.h	/^  void MakeStarOfType(SBody* sbody, BodyType type, MTRand& rand);$/;"	p	language:C++	class:StarSystem
+MapView	/home/allanis/src/lephisto/src/l3d.h	/^  enum MapView { MAP_NOMAP, MAP_SECTOR, MAP_SYSTEM };$/;"	g	language:C++	class:L3D
+mapView	/home/allanis/src/lephisto/src/l3d.h	/^  static enum MapView mapView;$/;"	m	language:C++	class:L3D	typeref:enum:L3D::MapView
+mapView	/home/allanis/src/lephisto/src/main.cpp	/^enum L3D::MapView  L3D::mapView;$/;"	m	language:C++	class:L3D	typeref:enum:L3D::	file:
+MAP_NOMAP	/home/allanis/src/lephisto/src/l3d.h	/^  enum MapView { MAP_NOMAP, MAP_SECTOR, MAP_SYSTEM };$/;"	e	language:C++	enum:L3D::MapView
+MAP_SECTOR	/home/allanis/src/lephisto/src/l3d.h	/^  enum MapView { MAP_NOMAP, MAP_SECTOR, MAP_SYSTEM };$/;"	e	language:C++	enum:L3D::MapView
+MAP_SYSTEM	/home/allanis/src/lephisto/src/l3d.h	/^  enum MapView { MAP_NOMAP, MAP_SECTOR, MAP_SYSTEM };$/;"	e	language:C++	enum:L3D::MapView
+MarkDead	/home/allanis/src/lephisto/src/body.h	/^  void MarkDead(void) { m_dead = true; }$/;"	f	language:C++	class:Body
+mass	/home/allanis/src/lephisto/src/star.h	/^  double mass;$/;"	m	language:C++	class:Star
+mass	/home/allanis/src/lephisto/src/star_system.cpp	/^  int         mass[2]; \/* Min, max % sol for stars, unused for planets. *\/$/;"	m	language:C++	struct:SBodySubTypeInfo	file:
+mass	/home/allanis/src/lephisto/src/star_system.h	/^    fixed mass; \/* Earth masses if planet, solar masses if star. *\/$/;"	m	language:C++	class:StarSystem::SBody
+max_capacity	/home/allanis/src/lephisto/src/ship.h	/^  int max_capacity;$/;"	m	language:C++	struct:shipstats_t
+MAX_DOCKING_PORTS	/home/allanis/src/lephisto/src/space_station.h	5;"	d	language:C++
+MIN_BROWN_DWARF	/home/allanis/src/lephisto/src/star_system.h	10;"	d	language:C++
+ModelBody	/home/allanis/src/lephisto/src/model_body.h	/^  ModelBody(void);$/;"	p	language:C++	class:ModelBody
+ModelBody	/home/allanis/src/lephisto/src/model_body.h	/^class ModelBody: public Body {$/;"	c	language:C++
+MODELBODY	/home/allanis/src/lephisto/src/object.h	/^  enum Type { OBJECT, BODY, MODELBODY, DYNAMICBODY, SHIP, PLAYER, SPACESTATION, LASER, GEOM, PLANET, STAR };$/;"	e	language:C++	enum:Object::Type
+mouseButton	/home/allanis/src/lephisto/src/l3d.h	/^  static char         mouseButton[5];$/;"	m	language:C++	class:L3D
+mouseButton	/home/allanis/src/lephisto/src/main.cpp	/^char              L3D::mouseButton[5];$/;"	m	language:C++	class:L3D	file:
+MouseButtonState	/home/allanis/src/lephisto/src/l3d.h	/^  static int    MouseButtonState(int button)  { return mouseButton[button]; }$/;"	f	language:C++	class:L3D
+mouseMotion	/home/allanis/src/lephisto/src/l3d.h	/^  static int          mouseMotion[2];$/;"	m	language:C++	class:L3D
+mouseMotion	/home/allanis/src/lephisto/src/main.cpp	/^int               L3D::mouseMotion[2];$/;"	m	language:C++	class:L3D	file:
+MoveOrbitingObjectFrames	/home/allanis/src/lephisto/src/space.cpp	/^void Space::MoveOrbitingObjectFrames(Frame* f) {$/;"	f	language:C++	class:Space
+MoveOrbitingObjectFrames	/home/allanis/src/lephisto/src/space.h	/^  static void MoveOrbitingObjectFrames(Frame* f);$/;"	p	language:C++	class:Space
+m_angThrusters	/home/allanis/src/lephisto/src/ship.h	/^  float m_angThrusters[3];$/;"	m	language:C++	class:Ship
+m_angVel	/home/allanis/src/lephisto/src/frame.h	/^  vector3d m_angVel; \/* This however *is* directly applied (for rotating frames). *\/$/;"	m	language:C++	class:Frame
+m_astroBody	/home/allanis/src/lephisto/src/frame.h	/^  Body* m_astroBody; \/* If frame contains a star or planet or something.. *\/$/;"	m	language:C++	class:Frame
+m_body	/home/allanis/src/lephisto/src/dynamic_body.h	/^  dBodyID m_body;$/;"	m	language:C++	class:DynamicBody
+m_children	/home/allanis/src/lephisto/src/frame.h	/^  std::list<Frame*> m_children;$/;"	m	language:C++	class:Frame
+m_collMeshSet	/home/allanis/src/lephisto/src/model_body.h	/^  CollMeshSet* m_collMeshSet;$/;"	m	language:C++	class:ModelBody
+m_combatTarget	/home/allanis/src/lephisto/src/ship.h	/^  Body* m_combatTarget;$/;"	m	language:C++	class:Ship
+m_dead	/home/allanis/src/lephisto/src/body.h	/^  bool m_dead;$/;"	m	language:C++	class:Body
+m_dockedWith	/home/allanis/src/lephisto/src/ship.h	/^  SpaceStation* m_dockedWith;$/;"	m	language:C++	class:Ship
+m_dockedWithPort	/home/allanis/src/lephisto/src/ship.h	/^  int m_dockedWithPort;$/;"	m	language:C++	class:Ship
+m_dockingTimer	/home/allanis/src/lephisto/src/ship.h	/^  float m_dockingTimer;$/;"	m	language:C++	class:Ship
+m_dSpaceID	/home/allanis/src/lephisto/src/frame.h	/^  dSpaceID m_dSpaceID;$/;"	m	language:C++	class:Frame
+m_equipment	/home/allanis/src/lephisto/src/ship.h	/^  EquipSet m_equipment;$/;"	m	language:C++	class:Ship
+m_external_view_dist	/home/allanis/src/lephisto/src/player.h	/^  float m_external_view_dist;$/;"	m	language:C++	class:Player
+m_external_view_rotx	/home/allanis/src/lephisto/src/player.h	/^  float m_external_view_rotx, m_external_view_roty;$/;"	m	language:C++	class:Player
+m_external_view_roty	/home/allanis/src/lephisto/src/player.h	/^  float m_external_view_rotx, m_external_view_roty;$/;"	m	language:C++	class:Player
+m_flags	/home/allanis/src/lephisto/src/body.h	/^  unsigned int m_flags;$/;"	m	language:C++	class:Body
+m_flags	/home/allanis/src/lephisto/src/frame.h	/^  int m_flags;$/;"	m	language:C++	class:Frame
+m_flightState	/home/allanis/src/lephisto/src/ship.h	/^  FlightState m_flightState;$/;"	m	language:C++	class:Ship
+m_frame	/home/allanis/src/lephisto/src/body.h	/^  Frame* m_frame;$/;"	m	language:C++	class:Body
+m_gunState	/home/allanis/src/lephisto/src/ship.h	/^  Uint32 m_gunState[ShipType::GUNMOUNT_MAX];$/;"	m	language:C++	class:Ship
+m_humanInfested	/home/allanis/src/lephisto/src/star_system.h	/^  fixed m_humanInfested; \/* 0 to 1 *\/$/;"	m	language:C++	class:StarSystem
+m_label	/home/allanis/src/lephisto/src/body.h	/^  std::string m_label;$/;"	m	language:C++	class:Body
+m_label	/home/allanis/src/lephisto/src/frame.h	/^  std::string m_label;$/;"	m	language:C++	class:Frame
+m_laserCollisionObj	/home/allanis/src/lephisto/src/ship.h	/^  LaserObj m_laserCollisionObj;$/;"	m	language:C++	class:Ship
+m_launchLockTimeout	/home/allanis/src/lephisto/src/ship.h	/^  float m_launchLockTimeout;$/;"	m	language:C++	class:Ship
+m_mass	/home/allanis/src/lephisto/src/dynamic_body.h	/^  dMass   m_mass;$/;"	m	language:C++	class:DynamicBody
+m_mass	/home/allanis/src/lephisto/src/planet.h	/^  double m_mass;$/;"	m	language:C++	class:Planet
+m_mesh	/home/allanis/src/lephisto/src/dynamic_body.h	/^  ObjMesh* m_mesh;$/;"	m	language:C++	class:DynamicBody
+m_mouseCMov	/home/allanis/src/lephisto/src/player.h	/^  float m_mouseCMov[2];$/;"	m	language:C++	class:Player
+m_navTarget	/home/allanis/src/lephisto/src/ship.h	/^  Body* m_navTarget;$/;"	m	language:C++	class:Ship
+m_numPorts	/home/allanis/src/lephisto/src/space_station.h	/^  int m_numPorts;$/;"	m	language:C++	class:SpaceStation
+m_numStars	/home/allanis/src/lephisto/src/star_system.h	/^  int m_numStars;$/;"	m	language:C++	class:StarSystem
+m_onscreen	/home/allanis/src/lephisto/src/body.h	/^  bool m_onscreen;$/;"	m	language:C++	class:Body
+m_orient	/home/allanis/src/lephisto/src/frame.h	/^  matrix4x4d m_orient;$/;"	m	language:C++	class:Frame
+m_parent	/home/allanis/src/lephisto/src/frame.h	/^  Frame* m_parent;$/;"	m	language:C++	class:Frame
+m_pos	/home/allanis/src/lephisto/src/frame.h	/^  vector3d m_pos;$/;"	m	language:C++	class:Frame
+m_projectedPos	/home/allanis/src/lephisto/src/body.h	/^  vector3d m_projectedPos;$/;"	m	language:C++	class:Body
+m_radius	/home/allanis/src/lephisto/src/frame.h	/^  double m_radius;$/;"	m	language:C++	class:Frame
+m_sbody	/home/allanis/src/lephisto/src/frame.h	/^  StarSystem::SBody* m_sbody; \/* Points to SBodies in L3D::current_system. *\/$/;"	m	language:C++	class:Frame
+m_secx	/home/allanis/src/lephisto/src/star_system.h	/^  int m_secx, m_secy, m_sysIdx;$/;"	m	language:C++	class:StarSystem
+m_secy	/home/allanis/src/lephisto/src/star_system.h	/^  int m_secx, m_secy, m_sysIdx;$/;"	m	language:C++	class:StarSystem
+m_shipType	/home/allanis/src/lephisto/src/ship.h	/^  enum ShipType::Type m_shipType;$/;"	m	language:C++	class:Ship	typeref:enum:Ship::Type
+m_sysIdx	/home/allanis/src/lephisto/src/star_system.h	/^  int m_secx, m_secy, m_sysIdx;$/;"	m	language:C++	class:StarSystem
+m_tempLaserGeom	/home/allanis/src/lephisto/src/ship.h	/^  dGeomID m_tempLaserGeom[ShipType::GUNMOUNT_MAX];$/;"	m	language:C++	class:Ship
+m_testLanded	/home/allanis/src/lephisto/src/ship.h	/^  bool m_testLanded;$/;"	m	language:C++	class:Ship
+m_thrusters	/home/allanis/src/lephisto/src/ship.h	/^  float m_thrusters[ShipType::THRUSTER_MAX];$/;"	m	language:C++	class:Ship
+m_triMeshLastMatrixIndex	/home/allanis/src/lephisto/src/model_body.h	/^  int m_triMeshLastMatrixIndex;$/;"	m	language:C++	class:ModelBody
+m_triMeshTrans	/home/allanis/src/lephisto/src/model_body.h	/^  dReal m_triMeshTrans[32];$/;"	m	language:C++	class:ModelBody
+m_type	/home/allanis/src/lephisto/src/space_station.h	/^  TYPE m_type;$/;"	m	language:C++	class:SpaceStation
+m_vel	/home/allanis/src/lephisto/src/frame.h	/^  vector3d m_vel;$/;"	m	language:C++	class:Frame
+m_wheelState	/home/allanis/src/lephisto/src/ship.h	/^  float m_wheelState;$/;"	m	language:C++	class:Ship
+m_wheelTransition	/home/allanis/src/lephisto/src/ship.h	/^  float m_wheelTransition;$/;"	m	language:C++	class:Ship
+name	/home/allanis/src/lephisto/src/star_system.h	/^    std::string name;$/;"	m	language:C++	class:StarSystem::SBody
+nearCallback	/home/allanis/src/lephisto/src/space.cpp	/^static void nearCallback(void* data, dGeomID oO, dGeomID o1) {$/;"	f	language:C++	file:
+normal	/home/allanis/src/lephisto/src/space_station.h	/^    vector3d normal;$/;"	m	language:C++	struct:SpaceStation::dockingport_t
+NotifyDeath	/home/allanis/src/lephisto/src/body.h	/^  virtual void NotifyDeath(const Body* const dyingBody) {}$/;"	f	language:C++	class:Body
+NotifyDeath	/home/allanis/src/lephisto/src/ship.cpp	/^void Ship::NotifyDeath(const Body* const dyingBody) {$/;"	f	language:C++	class:Ship
+NotifyDeath	/home/allanis/src/lephisto/src/ship.h	/^  virtual void NotifyDeath(const Body* const dyingBody);$/;"	p	language:C++	class:Ship
+OBJDEF	/home/allanis/src/lephisto/src/body.h	/^  OBJDEF(Body, Object, BODY);$/;"	p	language:C++	class:Body
+OBJDEF	/home/allanis/src/lephisto/src/dynamic_body.h	/^  OBJDEF(DynamicBody, ModelBody, DYNAMICBODY);$/;"	p	language:C++	class:DynamicBody
+OBJDEF	/home/allanis/src/lephisto/src/model_body.h	/^    OBJDEF(Geom, Object, GEOM);$/;"	p	language:C++	class:ModelBody::Geom
+OBJDEF	/home/allanis/src/lephisto/src/model_body.h	/^  OBJDEF(ModelBody, Body, MODELBODY);$/;"	p	language:C++	class:ModelBody
+OBJDEF	/home/allanis/src/lephisto/src/object.h	10;"	d	language:C++
+OBJDEF	/home/allanis/src/lephisto/src/planet.h	/^  OBJDEF(Planet, Body, PLANET);$/;"	p	language:C++	class:Planet
+OBJDEF	/home/allanis/src/lephisto/src/player.h	/^  OBJDEF(Player, Ship, PLAYER);$/;"	p	language:C++	class:Player
+OBJDEF	/home/allanis/src/lephisto/src/ship.h	/^    OBJDEF(LaserObj, Object, LASER);$/;"	p	language:C++	class:Ship::LaserObj
+OBJDEF	/home/allanis/src/lephisto/src/ship.h	/^  OBJDEF(Ship, DynamicBody, SHIP);$/;"	p	language:C++	class:Ship
+OBJDEF	/home/allanis/src/lephisto/src/space_station.h	/^  OBJDEF(SpaceStation, ModelBody, SPACESTATION);$/;"	p	language:C++	class:SpaceStation
+OBJDEF	/home/allanis/src/lephisto/src/star.h	/^  OBJDEF(Star, Body, STAR);$/;"	p	language:C++	class:Star
+OBJECT	/home/allanis/src/lephisto/src/object.h	/^  enum Type { OBJECT, BODY, MODELBODY, DYNAMICBODY, SHIP, PLAYER, SPACESTATION, LASER, GEOM, PLANET, STAR };$/;"	e	language:C++	enum:Object::Type
+Object	/home/allanis/src/lephisto/src/object.h	/^class Object {$/;"	c	language:C++
+objectViewerView	/home/allanis/src/lephisto/src/l3d.h	/^  static ObjectViewerView*  objectViewerView;$/;"	m	language:C++	class:L3D
+objectViewerView	/home/allanis/src/lephisto/src/main.cpp	/^ObjectViewerView* L3D::objectViewerView;$/;"	m	language:C++	class:L3D	file:
+OnChangeLabelsState	/home/allanis/src/lephisto/src/world_view.cpp	/^void WorldView::OnChangeLabelsState(Gui::MultiStateImageButton* b) {$/;"	f	language:C++	class:WorldView
+OnChangeWheelsState	/home/allanis/src/lephisto/src/world_view.cpp	/^void WorldView::OnChangeWheelsState(Gui::MultiStateImageButton* b) {$/;"	f	language:C++	class:WorldView
+OnClickBlastoff	/home/allanis/src/lephisto/src/world_view.cpp	/^void WorldView::OnClickBlastoff(void) {$/;"	f	language:C++	class:WorldView
+OnClickHyperspace	/home/allanis/src/lephisto/src/world_view.cpp	/^void WorldView::OnClickHyperspace(void) {$/;"	f	language:C++	class:WorldView
+OnCollision	/home/allanis/src/lephisto/src/body.h	/^  virtual bool OnCollision(Body* b, Uint32 flags) { return false; }$/;"	f	language:C++	class:Body
+OnCollision	/home/allanis/src/lephisto/src/dynamic_body.h	/^  virtual bool OnCollision(Body* b, Uint32 flags) { return true; }$/;"	f	language:C++	class:DynamicBody
+OnCollision	/home/allanis/src/lephisto/src/planet.h	/^  virtual bool OnCollision(Body* b, Uint32 flags) { return true; }$/;"	f	language:C++	class:Planet
+OnCollision	/home/allanis/src/lephisto/src/ship.cpp	/^bool Ship::OnCollision(Body* b, Uint32 flags) {$/;"	f	language:C++	class:Ship
+OnCollision	/home/allanis/src/lephisto/src/ship.h	/^  virtual bool OnCollision(Body* b, Uint32 flags);$/;"	p	language:C++	class:Ship
+OnCollision	/home/allanis/src/lephisto/src/space_station.cpp	/^bool SpaceStation::OnCollision(Body* b, Uint32 flags) {$/;"	f	language:C++	class:SpaceStation
+OnCollision	/home/allanis/src/lephisto/src/space_station.h	/^  virtual bool OnCollision(Body* b, Uint32 flags);$/;"	p	language:C++	class:SpaceStation
+onKeyPress	/home/allanis/src/lephisto/src/l3d.h	/^  static sigc::signal<void, SDL_keysym*> onKeyPress;$/;"	m	language:C++	class:L3D
+onKeyPress	/home/allanis/src/lephisto/src/main.cpp	/^sigc::signal<void, SDL_keysym*> L3D::onKeyPress;$/;"	m	language:C++	class:L3D	file:
+onKeyRelease	/home/allanis/src/lephisto/src/l3d.h	/^  static sigc::signal<void, SDL_keysym*> onKeyRelease;$/;"	m	language:C++	class:L3D
+onKeyRelease	/home/allanis/src/lephisto/src/main.cpp	/^sigc::signal<void, SDL_keysym*> L3D::onKeyRelease;$/;"	m	language:C++	class:L3D	file:
+onMouseButtonDown	/home/allanis/src/lephisto/src/l3d.h	/^  static sigc::signal<void, int, int, int> onMouseButtonDown;$/;"	m	language:C++	class:L3D
+onMouseButtonDown	/home/allanis/src/lephisto/src/main.cpp	/^sigc::signal<void, int, int, int> L3D::onMouseButtonDown;$/;"	m	language:C++	class:L3D	file:
+onMouseButtonUp	/home/allanis/src/lephisto/src/l3d.h	/^  static sigc::signal<void, int, int, int> onMouseButtonUp;$/;"	m	language:C++	class:L3D
+onMouseButtonUp	/home/allanis/src/lephisto/src/main.cpp	/^sigc::signal<void, int, int, int> L3D::onMouseButtonUp;$/;"	m	language:C++	class:L3D	file:
+OnMouseDown	/home/allanis/src/lephisto/src/world_view.cpp	/^bool WorldView::OnMouseDown(Gui::MouseButtonEvent* e) {$/;"	f	language:C++	class:WorldView
+operator ()	/home/allanis/src/lephisto/src/space.cpp	/^  bool operator()(body_zsort_t a, body_zsort_t b) { return a.dist > b.dist; }$/;"	f	language:C++	struct:body_zsort_compare
+orbit	/home/allanis/src/lephisto/src/star_system.h	/^    Orbit orbit;$/;"	m	language:C++	class:StarSystem::SBody
+Orbit	/home/allanis/src/lephisto/src/star_system.h	/^  struct Orbit {$/;"	s	language:C++	class:StarSystem
+ORBITAL	/home/allanis/src/lephisto/src/space_station.cpp	/^  enum { ORBITAL, SURFACE } dockMethod;$/;"	e	language:C++	enum:SpaceStationType::__anon1	file:
+orbMax	/home/allanis/src/lephisto/src/star_system.h	/^    fixed orbMin, orbMax; \/* Periapsism, Apoapsis in AUs. *\/$/;"	m	language:C++	class:StarSystem::SBody
+orbMin	/home/allanis/src/lephisto/src/star_system.h	/^    fixed orbMin, orbMax; \/* Periapsism, Apoapsis in AUs. *\/$/;"	m	language:C++	class:StarSystem::SBody
+OrientDockedShip	/home/allanis/src/lephisto/src/space_station.cpp	/^void SpaceStation::OrientDockedShip(Ship* ship, int port) const {$/;"	f	language:C++	class:SpaceStation
+OrientDockedShip	/home/allanis/src/lephisto/src/space_station.h	/^  void OrientDockedShip(Ship* ship, int port) const;$/;"	p	language:C++	class:SpaceStation
+OrientLaunchingShip	/home/allanis/src/lephisto/src/space_station.cpp	/^void SpaceStation::OrientLaunchingShip(Ship* ship, int port) const {$/;"	f	language:C++	class:SpaceStation
+OrientLaunchingShip	/home/allanis/src/lephisto/src/space_station.h	/^  void OrientLaunchingShip(Ship* ship, int port) const;$/;"	p	language:C++	class:SpaceStation
+OrientOnSurface	/home/allanis/src/lephisto/src/body.cpp	/^void Body::OrientOnSurface(double radius, double latitude, double longitude) {$/;"	f	language:C++	class:Body
+OrientOnSurface	/home/allanis/src/lephisto/src/body.h	/^  void OrientOnSurface(double radius, double latitude, double longitude);$/;"	p	language:C++	class:Body
+owner	/home/allanis/src/lephisto/src/ship.h	/^    Ship* owner;$/;"	m	language:C++	class:Ship::LaserObj
+params	/home/allanis/src/lephisto/src/ship.cpp	/^static ObjParams params = {$/;"	v	language:C++	file:
+params	/home/allanis/src/lephisto/src/space_station.cpp	/^static ObjParams params = {$/;"	v	language:C++	file:
+parent	/home/allanis/src/lephisto/src/model_body.h	/^    Body* parent;$/;"	m	language:C++	class:ModelBody::Geom
+parent	/home/allanis/src/lephisto/src/star_system.h	/^    SBody* parent;$/;"	m	language:C++	class:StarSystem::SBody
+period	/home/allanis/src/lephisto/src/star_system.h	/^    double period; \/* Seconds. *\/$/;"	m	language:C++	struct:StarSystem::Orbit
+PickBody	/home/allanis/src/lephisto/src/world_view.cpp	/^Body* WorldView::PickBody(const float screenX, const float screenY) const {$/;"	f	language:C++	class:WorldView
+PickPlanetType	/home/allanis/src/lephisto/src/star_system.cpp	/^void StarSystem::SBody::PickPlanetType(StarSystem* system, SBody* star, const fixed distToPrimary, MTRand& rand, bool genMoons) {$/;"	f	language:C++	class:StarSystem::SBody
+PickPlanetType	/home/allanis/src/lephisto/src/star_system.h	/^    void PickPlanetType(SBody*, fixed distToPrimary, MTRand& drand, bool genMoons);$/;"	p	language:C++	class:StarSystem::SBody
+PickPlanetType	/home/allanis/src/lephisto/src/star_system.h	/^    void PickPlanetType(StarSystem*, SBody*, fixed distToPrimary, MTRand& drand, bool genMoons);$/;"	p	language:C++	class:StarSystem::SBody
+PICK_OBJECT_RECT_SIZE	/home/allanis/src/lephisto/src/world_view.cpp	/^const float WorldView::PICK_OBJECT_RECT_SIZE = 20.0f;$/;"	m	language:C++	class:WorldView	file:
+PLANET	/home/allanis/src/lephisto/src/object.h	/^  enum Type { OBJECT, BODY, MODELBODY, DYNAMICBODY, SHIP, PLAYER, SPACESTATION, LASER, GEOM, PLANET, STAR };$/;"	e	language:C++	enum:Object::Type
+Planet	/home/allanis/src/lephisto/src/planet.h	/^  Planet(StarSystem::SBody*);$/;"	p	language:C++	class:Planet
+Planet	/home/allanis/src/lephisto/src/planet.h	/^class Planet : public Body {$/;"	c	language:C++
+player	/home/allanis/src/lephisto/src/l3d.h	/^  static Player*            player;$/;"	m	language:C++	class:L3D
+player	/home/allanis/src/lephisto/src/main.cpp	/^Player*           L3D::player;$/;"	m	language:C++	class:L3D	file:
+PLAYER	/home/allanis/src/lephisto/src/object.h	/^  enum Type { OBJECT, BODY, MODELBODY, DYNAMICBODY, SHIP, PLAYER, SPACESTATION, LASER, GEOM, PLANET, STAR };$/;"	e	language:C++	enum:Object::Type
+Player	/home/allanis/src/lephisto/src/player.h	/^  Player(ShipType::Type shipType);$/;"	p	language:C++	class:Player
+Player	/home/allanis/src/lephisto/src/player.h	/^class Player : public Ship {$/;"	c	language:C++
+playerLocSecX	/home/allanis/src/lephisto/src/l3d.h	/^  static int                playerLocSecX;$/;"	m	language:C++	class:L3D
+playerLocSecX	/home/allanis/src/lephisto/src/main.cpp	/^int               L3D::playerLocSecX;$/;"	m	language:C++	class:L3D	file:
+playerLocSecY	/home/allanis/src/lephisto/src/l3d.h	/^  static int                playerLocSecY;$/;"	m	language:C++	class:L3D
+playerLocSecY	/home/allanis/src/lephisto/src/main.cpp	/^int               L3D::playerLocSecY;$/;"	m	language:C++	class:L3D	file:
+playerLocSysIdx	/home/allanis/src/lephisto/src/l3d.h	/^  static int                playerLocSysIdx;$/;"	m	language:C++	class:L3D
+playerLocSysIdx	/home/allanis/src/lephisto/src/main.cpp	/^int               L3D::playerLocSysIdx;$/;"	m	language:C++	class:L3D	file:
+PlayerRequestDockingClearance	/home/allanis/src/lephisto/src/world_view.cpp	/^static void PlayerRequestDockingClearance(SpaceStation* s) {$/;"	f	language:C++	file:
+PollControls	/home/allanis/src/lephisto/src/player.h	/^  void PollControls(void);$/;"	p	language:C++	class:Player
+polledControlsThisTurn	/home/allanis/src/lephisto/src/player.h	/^  bool polledControlsThisTurn;$/;"	m	language:C++	class:Player
+port	/home/allanis/src/lephisto/src/space_station.h	/^  } port[MAX_DOCKING_PORTS];$/;"	m	language:C++	class:SpaceStation	typeref:struct:SpaceStation::dockingport_t
+pos	/home/allanis/src/lephisto/src/planet.h	/^  vector3d pos;$/;"	m	language:C++	class:Planet
+pos	/home/allanis/src/lephisto/src/star.h	/^  vector3d pos;$/;"	m	language:C++	class:Star
+PruneCorpses	/home/allanis/src/lephisto/src/space.cpp	/^void Space::PruneCorpses(void) {$/;"	f	language:C++	class:Space
+PruneCorpses	/home/allanis/src/lephisto/src/space.h	/^  static void PruneCorpses(void);$/;"	p	language:C++	class:Space
+Quit	/home/allanis/src/lephisto/src/l3d.h	/^  static void   Quit(void);$/;"	p	language:C++	class:L3D
+Quit	/home/allanis/src/lephisto/src/main.cpp	/^void L3D::Quit(void) {$/;"	f	language:C++	class:L3D
+radius	/home/allanis/src/lephisto/src/star.h	/^  double radius;$/;"	m	language:C++	class:Star
+radius	/home/allanis/src/lephisto/src/star_system.cpp	/^  int         radius;  \/* % Sol radii for stars, % earth radii for planets. *\/$/;"	m	language:C++	struct:SBodySubTypeInfo	file:
+radius	/home/allanis/src/lephisto/src/star_system.h	/^    fixed radius;$/;"	m	language:C++	class:StarSystem::SBody
+rand	/home/allanis/src/lephisto/src/star_system.h	/^  MTRand rand;$/;"	m	language:C++	class:StarSystem
+rd_byte	/home/allanis/src/lephisto/src/serializer.cpp	/^  unsigned char rd_byte(void) {$/;"	f	language:C++	namespace:Serializer::Read
+rd_byte	/home/allanis/src/lephisto/src/serializer.h	/^    unsigned char rd_byte(void);$/;"	p	language:C++	namespace:Serializer::Read
+rd_cstring	/home/allanis/src/lephisto/src/serializer.cpp	/^  char* rd_cstring(void) {$/;"	f	language:C++	namespace:Serializer::Read
+rd_cstring	/home/allanis/src/lephisto/src/serializer.h	/^    char* rd_cstring(void);$/;"	p	language:C++	namespace:Serializer::Read
+rd_cstring2	/home/allanis/src/lephisto/src/serializer.cpp	/^  void rd_cstring2(char* buf, int len) {$/;"	f	language:C++	namespace:Serializer::Read
+rd_cstring2	/home/allanis/src/lephisto/src/serializer.h	/^    void rd_cstring2(char* buf, int len);$/;"	p	language:C++	namespace:Serializer::Read
+rd_double	/home/allanis/src/lephisto/src/serializer.cpp	/^  double rd_double(void) {$/;"	f	language:C++	namespace:Serializer::Read
+rd_double	/home/allanis/src/lephisto/src/serializer.h	/^    double rd_double(void);$/;"	p	language:C++	namespace:Serializer::Read
+rd_float	/home/allanis/src/lephisto/src/serializer.cpp	/^  float rd_float(void) {$/;"	f	language:C++	namespace:Serializer::Read
+rd_float	/home/allanis/src/lephisto/src/serializer.h	/^    float rd_float(void);$/;"	p	language:C++	namespace:Serializer::Read
+rd_int	/home/allanis/src/lephisto/src/serializer.cpp	/^  int rd_int(void) {$/;"	f	language:C++	namespace:Serializer::Read
+rd_int	/home/allanis/src/lephisto/src/serializer.h	/^    int rd_int(void);$/;"	p	language:C++	namespace:Serializer::Read
+rd_short	/home/allanis/src/lephisto/src/serializer.cpp	/^  short rd_short(void) {$/;"	f	language:C++	namespace:Serializer::Read
+rd_short	/home/allanis/src/lephisto/src/serializer.h	/^    short rd_short(void);$/;"	p	language:C++	namespace:Serializer::Read
+rd_string	/home/allanis/src/lephisto/src/serializer.cpp	/^  std::string rd_string(void) {$/;"	f	language:C++	namespace:Serializer::Read
+rd_string	/home/allanis/src/lephisto/src/serializer.h	/^    std::string rd_string(void);$/;"	p	language:C++	namespace:Serializer::Read
+rd_vector3d	/home/allanis/src/lephisto/src/serializer.cpp	/^  vector3d rd_vector3d(void) {$/;"	f	language:C++	namespace:Serializer::Read
+rd_vector3d	/home/allanis/src/lephisto/src/serializer.h	/^    vector3d rd_vector3d(void);$/;"	p	language:C++	namespace:Serializer::Read
+Read	/home/allanis/src/lephisto/src/serializer.cpp	/^namespace Read {$/;"	n	language:C++	namespace:Serializer	file:
+Read	/home/allanis/src/lephisto/src/serializer.h	/^  namespace Read {$/;"	n	language:C++	namespace:Serializer
+RemoveChild	/home/allanis/src/lephisto/src/frame.cpp	/^void Frame::RemoveChild(Frame* f) {$/;"	f	language:C++	class:Frame
+RemoveChild	/home/allanis/src/lephisto/src/frame.h	/^  void RemoveChild(Frame* f);$/;"	p	language:C++	class:Frame
+RemoveGeom	/home/allanis/src/lephisto/src/frame.h	/^  void RemoveGeom(dGeomID g)                    { dSpaceRemove(m_dSpaceID, g); }$/;"	f	language:C++	class:Frame
+Render	/home/allanis/src/lephisto/src/body.h	/^  virtual void Render(const Frame* camFrame) = 0;$/;"	p	language:C++	class:Body
+Render	/home/allanis/src/lephisto/src/planet.h	/^  virtual void Render(const Frame* camFrame);$/;"	p	language:C++	class:Planet
+Render	/home/allanis/src/lephisto/src/player.h	/^  virtual void Render(const Frame* camFrame);$/;"	p	language:C++	class:Player
+Render	/home/allanis/src/lephisto/src/ship.cpp	/^void Ship::Render(const Frame* camFrame) {$/;"	f	language:C++	class:Ship
+Render	/home/allanis/src/lephisto/src/ship.h	/^  virtual void Render(const Frame* camFrame);$/;"	p	language:C++	class:Ship
+Render	/home/allanis/src/lephisto/src/space.cpp	/^void Space::Render(const Frame* cam_frame) {$/;"	f	language:C++	class:Space
+Render	/home/allanis/src/lephisto/src/space.h	/^  static void Render(const Frame* cam_frame);$/;"	p	language:C++	class:Space
+Render	/home/allanis/src/lephisto/src/space_station.cpp	/^void SpaceStation::Render(const Frame* camFrame) {$/;"	f	language:C++	class:SpaceStation
+Render	/home/allanis/src/lephisto/src/space_station.h	/^  virtual void Render(const Frame* camFrame);$/;"	p	language:C++	class:SpaceStation
+Render	/home/allanis/src/lephisto/src/star.h	/^  virtual void Render(const Frame* camFrame);$/;"	p	language:C++	class:Star
+RenderLaserfire	/home/allanis/src/lephisto/src/ship.cpp	/^void Ship::RenderLaserfire(void) {$/;"	f	language:C++	class:Ship
+RenderLaserfire	/home/allanis/src/lephisto/src/ship.h	/^  void RenderLaserfire(void);$/;"	p	language:C++	class:Ship
+RenderSbreModel	/home/allanis/src/lephisto/src/model_body.h	/^  void RenderSbreModel(const Frame* camFrame, int model, ObjParams* params);$/;"	p	language:C++	class:ModelBody
+render_coll_mesh	/home/allanis/src/lephisto/src/ship.cpp	/^static void render_coll_mesh(const CollMesh* m) {$/;"	f	language:C++	file:
+rng	/home/allanis/src/lephisto/src/l3d.h	/^  static MTRand rng;$/;"	m	language:C++	class:L3D
+rng	/home/allanis/src/lephisto/src/main.cpp	/^MTRand            L3D::rng;$/;"	m	language:C++	class:L3D	file:
+rootBody	/home/allanis/src/lephisto/src/star_system.h	/^  SBody* rootBody;$/;"	m	language:C++	class:StarSystem
+rootFrame	/home/allanis/src/lephisto/src/space.cpp	/^Frame* Space::rootFrame;$/;"	m	language:C++	class:Space	file:
+rootFrame	/home/allanis/src/lephisto/src/space.h	/^  static Frame* rootFrame;$/;"	m	language:C++	class:Space
+RotateInTimestep	/home/allanis/src/lephisto/src/frame.cpp	/^void Frame::RotateInTimestep(double step) {$/;"	f	language:C++	class:Frame
+RotateInTimestep	/home/allanis/src/lephisto/src/frame.h	/^  void RotateInTimestep(double step);$/;"	p	language:C++	class:Frame
+rotationPeriod	/home/allanis/src/lephisto/src/star_system.h	/^    fixed rotationPeriod; \/* In days. *\/$/;"	m	language:C++	class:StarSystem::SBody
+rotMatrix	/home/allanis/src/lephisto/src/star_system.h	/^    matrix4x4d rotMatrix;$/;"	m	language:C++	struct:StarSystem::Orbit
+SAVEFILE_VERSION	/home/allanis/src/lephisto/src/serializer.h	5;"	d	language:C++
+sbody	/home/allanis/src/lephisto/src/planet.h	/^  StarSystem::SBody sbody;$/;"	m	language:C++	class:Planet
+SBody	/home/allanis/src/lephisto/src/star_system.h	/^  class SBody {$/;"	c	language:C++	class:StarSystem
+SBodySubTypeInfo	/home/allanis/src/lephisto/src/star_system.cpp	/^static const struct SBodySubTypeInfo {$/;"	s	language:C++	file:
+sbreModel	/home/allanis/src/lephisto/src/space_station.cpp	/^  Uint32 sbreModel;$/;"	m	language:C++	struct:SpaceStationType	file:
+scrAspect	/home/allanis/src/lephisto/src/l3d.h	/^  static float        scrAspect;$/;"	m	language:C++	class:L3D
+scrAspect	/home/allanis/src/lephisto/src/main.cpp	/^float             L3D::scrAspect;$/;"	m	language:C++	class:L3D	file:
+scrHeight	/home/allanis/src/lephisto/src/l3d.h	/^  static int          scrWidth, scrHeight;$/;"	m	language:C++	class:L3D
+scrHeight	/home/allanis/src/lephisto/src/main.cpp	/^int               L3D::scrHeight;$/;"	m	language:C++	class:L3D	file:
+scrSurface	/home/allanis/src/lephisto/src/l3d.h	/^  static SDL_Surface* scrSurface;$/;"	m	language:C++	class:L3D
+scrSurface	/home/allanis/src/lephisto/src/main.cpp	/^SDL_Surface*      L3D::scrSurface;$/;"	m	language:C++	class:L3D	file:
+scrWidth	/home/allanis/src/lephisto/src/l3d.h	/^  static int          scrWidth, scrHeight;$/;"	m	language:C++	class:L3D
+scrWidth	/home/allanis/src/lephisto/src/main.cpp	/^int               L3D::scrWidth;$/;"	m	language:C++	class:L3D	file:
+sectorView	/home/allanis/src/lephisto/src/l3d.h	/^  static SectorView*        sectorView;$/;"	m	language:C++	class:L3D
+sectorView	/home/allanis/src/lephisto/src/main.cpp	/^SectorView*       L3D::sectorView;$/;"	m	language:C++	class:L3D	file:
+seed	/home/allanis/src/lephisto/src/star_system.h	/^    int seed; \/* planet.cpp can use to generate terrain. *\/$/;"	m	language:C++	class:StarSystem::SBody
+selectedSystem	/home/allanis/src/lephisto/src/l3d.h	/^  static StarSystem*  selectedSystem;$/;"	m	language:C++	class:L3D
+selectedSystem	/home/allanis/src/lephisto/src/main.cpp	/^StarSystem*       L3D::selectedSystem;$/;"	m	language:C++	class:L3D	file:
+semiMajorAxis	/home/allanis/src/lephisto/src/star_system.h	/^    double semiMajorAxis;$/;"	m	language:C++	struct:StarSystem::Orbit
+Serialize	/home/allanis/src/lephisto/src/body.cpp	/^void Body::Serialize(void) { }$/;"	f	language:C++	class:Body
+Serialize	/home/allanis/src/lephisto/src/body.h	/^  void Serialize(void);$/;"	p	language:C++	class:Body
+Serialize	/home/allanis/src/lephisto/src/frame.cpp	/^void Frame::Serialize(Frame* f) {$/;"	f	language:C++	class:Frame
+Serialize	/home/allanis/src/lephisto/src/frame.h	/^  static void Serialize(Frame*);$/;"	p	language:C++	class:Frame
+Serialize	/home/allanis/src/lephisto/src/l3d.h	/^  static void   Serialize(void);$/;"	p	language:C++	class:L3D
+Serialize	/home/allanis/src/lephisto/src/main.cpp	/^void L3D::Serialize(void) {$/;"	f	language:C++	class:L3D
+Serialize	/home/allanis/src/lephisto/src/space.cpp	/^void Space::Serialize(void) {$/;"	f	language:C++	class:Space
+Serialize	/home/allanis/src/lephisto/src/space.h	/^  static void Serialize(void);$/;"	p	language:C++	class:Space
+Serialize	/home/allanis/src/lephisto/src/star_system.cpp	/^void StarSystem::Serialize(StarSystem* s) {$/;"	f	language:C++	class:StarSystem
+Serialize	/home/allanis/src/lephisto/src/star_system.h	/^  static void Serialize(StarSystem*);$/;"	p	language:C++	class:StarSystem
+Serializer	/home/allanis/src/lephisto/src/serializer.cpp	/^namespace Serializer {$/;"	n	language:C++	file:
+Serializer	/home/allanis/src/lephisto/src/serializer.h	/^namespace Serializer {$/;"	n	language:C++
+SetAngThrusterState	/home/allanis/src/lephisto/src/ship.h	/^  void SetAngThrusterState(int axis, float level) { m_angThrusters[axis] = CLAMP(level, -1, 1); }$/;"	f	language:C++	class:Ship
+SetAngVelocity	/home/allanis/src/lephisto/src/dynamic_body.h	/^  void SetAngVelocity(vector3d v);$/;"	p	language:C++	class:DynamicBody
+SetAngVelocity	/home/allanis/src/lephisto/src/frame.h	/^  void SetAngVelocity(const vector3d& angvel)   { m_angVel = angvel; }$/;"	f	language:C++	class:Frame
+SetCamType	/home/allanis/src/lephisto/src/l3d.h	/^  static void SetCamType(enum CamType);$/;"	p	language:C++	class:L3D
+SetCamType	/home/allanis/src/lephisto/src/main.cpp	/^void L3D::SetCamType(enum CamType c) {$/;"	f	language:C++	class:L3D
+SetCombatTarget	/home/allanis/src/lephisto/src/ship.cpp	/^void Ship::SetCombatTarget(Body* const target) {$/;"	f	language:C++	class:Ship
+SetCombatTarget	/home/allanis/src/lephisto/src/ship.h	/^  void SetCombatTarget(Body* const target);$/;"	p	language:C++	class:Ship
+SetDockedWith	/home/allanis/src/lephisto/src/player.h	/^  virtual void SetDockedWith(SpaceStation*, int port);$/;"	p	language:C++	class:Player
+SetDockedWith	/home/allanis/src/lephisto/src/ship.cpp	/^void Ship::SetDockedWith(SpaceStation* s, int port) {$/;"	f	language:C++	class:Ship
+SetDockedWith	/home/allanis/src/lephisto/src/ship.h	/^  virtual void SetDockedWith(SpaceStation*, int port);$/;"	p	language:C++	class:Ship
+SetDockingTimer	/home/allanis/src/lephisto/src/ship.h	/^  void SetDockingTimer(float t) { m_dockingTimer = t; }$/;"	f	language:C++	class:Ship
+SetFrame	/home/allanis/src/lephisto/src/body.h	/^  virtual void SetFrame(Frame* f) { m_frame = f; }$/;"	f	language:C++	class:Body
+SetFrame	/home/allanis/src/lephisto/src/model_body.h	/^  virtual void SetFrame(Frame* f);$/;"	p	language:C++	class:ModelBody
+SetFrame	/home/allanis/src/lephisto/src/planet.h	/^  virtual void SetFrame(Frame* f);$/;"	p	language:C++	class:Planet
+SetGunState	/home/allanis/src/lephisto/src/ship.cpp	/^void Ship::SetGunState(int idx, int state) {$/;"	f	language:C++	class:Ship
+SetGunState	/home/allanis/src/lephisto/src/ship.h	/^  void SetGunState(int idx, int state);$/;"	p	language:C++	class:Ship
+SetLabel	/home/allanis/src/lephisto/src/body.h	/^  void SetLabel(const char* label) { m_label = label; }$/;"	f	language:C++	class:Body
+SetLabel	/home/allanis/src/lephisto/src/frame.h	/^  void SetLabel(const char* label)              { m_label = label; }$/;"	f	language:C++	class:Frame
+SetMapView	/home/allanis/src/lephisto/src/l3d.h	/^  static void SetMapView(enum MapView);$/;"	p	language:C++	class:L3D
+SetMapView	/home/allanis/src/lephisto/src/main.cpp	/^void L3D::SetMapView(enum MapView v) {$/;"	f	language:C++	class:L3D
+SetMassDistributionFromCollMesh	/home/allanis/src/lephisto/src/dynamic_body.h	/^  void SetMassDistributionFromCollMesh(const CollMesh* m);$/;"	p	language:C++	class:DynamicBody
+SetMesh	/home/allanis/src/lephisto/src/dynamic_body.h	/^  void SetMesh(ObjMesh* m);$/;"	p	language:C++	class:DynamicBody
+SetModel	/home/allanis/src/lephisto/src/model_body.h	/^  void SetModel(int sbreModel);$/;"	p	language:C++	class:ModelBody
+SetNavTarget	/home/allanis/src/lephisto/src/ship.cpp	/^void Ship::SetNavTarget(Body* const target) {$/;"	f	language:C++	class:Ship
+SetNavTarget	/home/allanis/src/lephisto/src/ship.h	/^  void SetNavTarget(Body* const target);$/;"	p	language:C++	class:Ship
+SetOnscreen	/home/allanis/src/lephisto/src/body.h	/^  void SetOnscreen(const bool onscreen) { m_onscreen = onscreen; }$/;"	f	language:C++	class:Body
+SetOrientation	/home/allanis/src/lephisto/src/frame.h	/^  void SetOrientation(const matrix4x4d& m)      { m_orient = m; }$/;"	f	language:C++	class:Frame
+SetPosition	/home/allanis/src/lephisto/src/body.h	/^  virtual void SetPosition(vector3d p) = 0;$/;"	p	language:C++	class:Body
+SetPosition	/home/allanis/src/lephisto/src/frame.h	/^  void SetPosition(const vector3d &pos)         { m_pos = pos; }$/;"	f	language:C++	class:Frame
+SetPosition	/home/allanis/src/lephisto/src/model_body.h	/^  void SetPosition(vector3d p);$/;"	p	language:C++	class:ModelBody
+SetPosition	/home/allanis/src/lephisto/src/planet.h	/^  virtual void SetPosition(vector3d p);$/;"	p	language:C++	class:Planet
+SetPosition	/home/allanis/src/lephisto/src/star.h	/^  virtual void SetPosition(vector3d p);$/;"	p	language:C++	class:Star
+SetProjectedPos	/home/allanis/src/lephisto/src/body.h	/^  void SetProjectedPos(const vector3d& projectedPos) { m_projectedPos = projectedPos; }$/;"	f	language:C++	class:Body
+SetRadius	/home/allanis/src/lephisto/src/frame.h	/^  void SetRadius(double radius)                 { m_radius = radius; }$/;"	f	language:C++	class:Frame
+SetRadius	/home/allanis/src/lephisto/src/planet.h	/^  void SetRadius(double radius);$/;"	p	language:C++	class:Planet
+SetRotMatrix	/home/allanis/src/lephisto/src/body.h	/^  virtual void SetRotMatrix(const matrix4x4d& r) {};$/;"	f	language:C++	class:Body
+SetRotMatrix	/home/allanis/src/lephisto/src/dynamic_body.h	/^  virtual void SetRotMatrix(const matrix4x4d& r);$/;"	p	language:C++	class:DynamicBody
+SetRotMatrix	/home/allanis/src/lephisto/src/model_body.h	/^  virtual void SetRotMatrix(const matrix4x4d& r);$/;"	p	language:C++	class:ModelBody
+SetThrusterState	/home/allanis/src/lephisto/src/ship.cpp	/^void Ship::SetThrusterState(enum ShipType::Thruster t, float level) {$/;"	f	language:C++	class:Ship
+SetThrusterState	/home/allanis/src/lephisto/src/ship.h	/^  void SetThrusterState(enum ShipType::Thruster t, float level);$/;"	p	language:C++	class:Ship
+SetTimeAccel	/home/allanis/src/lephisto/src/l3d.h	/^  static void   SetTimeAccel(float s);$/;"	p	language:C++	class:L3D
+SetTimeAccel	/home/allanis/src/lephisto/src/main.cpp	/^void L3D::SetTimeAccel(float s) {$/;"	f	language:C++	class:L3D
+SetVelocity	/home/allanis/src/lephisto/src/body.h	/^  virtual void SetVelocity(vector3d v) { assert(0); }$/;"	f	language:C++	class:Body
+SetVelocity	/home/allanis/src/lephisto/src/dynamic_body.h	/^  virtual void SetVelocity(vector3d v);$/;"	p	language:C++	class:DynamicBody
+SetVelocity	/home/allanis/src/lephisto/src/frame.h	/^  void SetVelocity(const vector3d& vel)         { m_vel = vel; }$/;"	f	language:C++	class:Frame
+SetView	/home/allanis/src/lephisto/src/l3d.h	/^  static void SetView(View* v);$/;"	p	language:C++	class:L3D
+SetView	/home/allanis/src/lephisto/src/main.cpp	/^void L3D::SetView(View* v) {$/;"	f	language:C++	class:L3D
+SetWheelState	/home/allanis/src/lephisto/src/ship.cpp	/^bool Ship::SetWheelState(bool down) {$/;"	f	language:C++	class:Ship
+SetWheelState	/home/allanis/src/lephisto/src/ship.h	/^  bool SetWheelState(bool down); \/* Returns success of state change, NOT state itself. *\/$/;"	p	language:C++	class:Ship
+sfptr	/home/allanis/src/lephisto/src/serializer.cpp	/^  static FILE* sfptr;$/;"	m	language:C++	namespace:Serializer::Write	file:
+SHIP	/home/allanis/src/lephisto/src/object.h	/^  enum Type { OBJECT, BODY, MODELBODY, DYNAMICBODY, SHIP, PLAYER, SPACESTATION, LASER, GEOM, PLANET, STAR };$/;"	e	language:C++	enum:Object::Type
+Ship	/home/allanis/src/lephisto/src/ship.cpp	/^Ship::Ship(ShipType::Type shipType) : DynamicBody() {$/;"	f	language:C++	class:Ship
+Ship	/home/allanis/src/lephisto/src/ship.h	/^  Ship(ShipType::Type shipType);$/;"	p	language:C++	class:Ship
+Ship	/home/allanis/src/lephisto/src/ship.h	/^class Ship : public DynamicBody {$/;"	c	language:C++
+shipstats_t	/home/allanis/src/lephisto/src/ship.h	/^struct shipstats_t {$/;"	s	language:C++
+showDebugInfo	/home/allanis/src/lephisto/src/l3d.h	/^  static bool               showDebugInfo;$/;"	m	language:C++	class:L3D
+showDebugInfo	/home/allanis/src/lephisto/src/main.cpp	/^bool              L3D::showDebugInfo;$/;"	m	language:C++	class:L3D	file:
+sigsegv_handler	/home/allanis/src/lephisto/src/main.cpp	/^void sigsegv_handler(int signum) {$/;"	f	language:C++
+SOL_MASS	/home/allanis/src/lephisto/src/star_system.h	12;"	d	language:C++
+SOL_RADIUS	/home/allanis/src/lephisto/src/star_system.h	11;"	d	language:C++
+Space	/home/allanis/src/lephisto/src/space.h	/^class Space {$/;"	c	language:C++
+SPACESTATION	/home/allanis/src/lephisto/src/object.h	/^  enum Type { OBJECT, BODY, MODELBODY, DYNAMICBODY, SHIP, PLAYER, SPACESTATION, LASER, GEOM, PLANET, STAR };$/;"	e	language:C++	enum:Object::Type
+SpaceStation	/home/allanis/src/lephisto/src/space_station.cpp	/^SpaceStation::SpaceStation(TYPE type) : ModelBody() {$/;"	f	language:C++	class:SpaceStation
+SpaceStation	/home/allanis/src/lephisto/src/space_station.h	/^  SpaceStation(TYPE);$/;"	p	language:C++	class:SpaceStation
+SpaceStation	/home/allanis/src/lephisto/src/space_station.h	/^class SpaceStation : public ModelBody {$/;"	c	language:C++
+SpaceStationType	/home/allanis/src/lephisto/src/space_station.cpp	/^struct SpaceStationType {$/;"	s	language:C++	file:
+spaceStationView	/home/allanis/src/lephisto/src/l3d.h	/^  static SpaceStationView*  spaceStationView;$/;"	m	language:C++	class:L3D
+spaceStationView	/home/allanis/src/lephisto/src/main.cpp	/^SpaceStationView* L3D::spaceStationView;$/;"	m	language:C++	class:L3D	file:
+STAR	/home/allanis/src/lephisto/src/object.h	/^  enum Type { OBJECT, BODY, MODELBODY, DYNAMICBODY, SHIP, PLAYER, SPACESTATION, LASER, GEOM, PLANET, STAR };$/;"	e	language:C++	enum:Object::Type
+Star	/home/allanis/src/lephisto/src/star.h	/^  Star(StarSystem::SBody* sbody);$/;"	p	language:C++	class:Star
+Star	/home/allanis/src/lephisto/src/star.h	/^class Star: public Body {$/;"	c	language:C++
+starColors	/home/allanis/src/lephisto/src/star_system.cpp	/^float StarSystem::starColors[][3] = {$/;"	m	language:C++	class:StarSystem	file:
+starColors	/home/allanis/src/lephisto/src/star_system.h	/^  static float starColors[][3];$/;"	m	language:C++	class:StarSystem
+starRealColors	/home/allanis/src/lephisto/src/star_system.cpp	/^float StarSystem::starRealColors[][3] = {$/;"	m	language:C++	class:StarSystem	file:
+starRealColors	/home/allanis/src/lephisto/src/star_system.h	/^  static float starRealColors[][3];$/;"	m	language:C++	class:StarSystem
+StarSystem	/home/allanis/src/lephisto/src/star_system.cpp	/^StarSystem::StarSystem(int sector_x, int sector_y, int system_idx) {$/;"	f	language:C++	class:StarSystem
+StarSystem	/home/allanis/src/lephisto/src/star_system.h	/^  StarSystem(int sector_x, int sector_y, int system_idx);$/;"	p	language:C++	class:StarSystem
+StarSystem	/home/allanis/src/lephisto/src/star_system.h	/^  StarSystem(void) { rootBody = 0; }$/;"	f	language:C++	class:StarSystem
+StarSystem	/home/allanis/src/lephisto/src/star_system.h	/^class StarSystem {$/;"	c	language:C++
+Start	/home/allanis/src/lephisto/src/l3d.h	/^  static void   Start(void);$/;"	p	language:C++	class:L3D
+Start	/home/allanis/src/lephisto/src/main.cpp	/^void L3D::Start(void) {$/;"	f	language:C++	class:L3D
+stationTypes	/home/allanis/src/lephisto/src/space_station.cpp	/^struct SpaceStationType stationTypes[SpaceStation::TYPE_MAX] = {$/;"	v	language:C++	typeref:struct:SpaceStationType
+String	/home/allanis/src/lephisto/src/l3d.h	/^  std::string String(const char* key) {$/;"	f	language:C++	class:IniConfig
+supertype	/home/allanis/src/lephisto/src/star_system.cpp	/^  StarSystem::BodySuperType supertype;$/;"	m	language:C++	struct:SBodySubTypeInfo	file:
+supertype	/home/allanis/src/lephisto/src/star_system.h	/^    BodySuperType supertype;$/;"	m	language:C++	class:StarSystem::SBody
+SUPERTYPE_GAS_GIANT	/home/allanis/src/lephisto/src/star_system.h	/^    SUPERTYPE_NONE, SUPERTYPE_STAR, SUPERTYPE_ROCKY_PLANET, SUPERTYPE_GAS_GIANT, SUPERTYPE_STARPORT$/;"	e	language:C++	enum:StarSystem::BodySuperType
+SUPERTYPE_NONE	/home/allanis/src/lephisto/src/star_system.h	/^    SUPERTYPE_NONE, SUPERTYPE_STAR, SUPERTYPE_ROCKY_PLANET, SUPERTYPE_GAS_GIANT, SUPERTYPE_STARPORT$/;"	e	language:C++	enum:StarSystem::BodySuperType
+SUPERTYPE_ROCKY_PLANET	/home/allanis/src/lephisto/src/star_system.h	/^    SUPERTYPE_NONE, SUPERTYPE_STAR, SUPERTYPE_ROCKY_PLANET, SUPERTYPE_GAS_GIANT, SUPERTYPE_STARPORT$/;"	e	language:C++	enum:StarSystem::BodySuperType
+SUPERTYPE_STAR	/home/allanis/src/lephisto/src/star_system.h	/^    SUPERTYPE_NONE, SUPERTYPE_STAR, SUPERTYPE_ROCKY_PLANET, SUPERTYPE_GAS_GIANT, SUPERTYPE_STARPORT$/;"	e	language:C++	enum:StarSystem::BodySuperType
+SUPERTYPE_STARPORT	/home/allanis/src/lephisto/src/star_system.h	/^    SUPERTYPE_NONE, SUPERTYPE_STAR, SUPERTYPE_ROCKY_PLANET, SUPERTYPE_GAS_GIANT, SUPERTYPE_STARPORT$/;"	e	language:C++	enum:StarSystem::BodySuperType
+SURFACE	/home/allanis/src/lephisto/src/space_station.cpp	/^  enum { ORBITAL, SURFACE } dockMethod;$/;"	e	language:C++	enum:SpaceStationType::__anon1	file:
+systemInfoView	/home/allanis/src/lephisto/src/l3d.h	/^  static SystemInfoView*    systemInfoView;$/;"	m	language:C++	class:L3D
+systemInfoView	/home/allanis/src/lephisto/src/main.cpp	/^SystemInfoView*   L3D::systemInfoView;$/;"	m	language:C++	class:L3D	file:
+systemView	/home/allanis/src/lephisto/src/l3d.h	/^  static SystemView* systemView;$/;"	m	language:C++	class:L3D
+systemView	/home/allanis/src/lephisto/src/main.cpp	/^SystemView*       L3D::systemView;$/;"	m	language:C++	class:L3D	file:
+tempMax	/home/allanis/src/lephisto/src/star_system.cpp	/^  int tempMin, tempMax;$/;"	m	language:C++	struct:SBodySubTypeInfo	file:
+tempMin	/home/allanis/src/lephisto/src/star_system.cpp	/^  int tempMin, tempMax;$/;"	m	language:C++	struct:SBodySubTypeInfo	file:
+TEMP_VIEWING	/home/allanis/src/lephisto/src/frame.h	/^  enum { TEMP_VIEWING=1 };$/;"	e	language:C++	enum:Frame::__anon1
+TestLanded	/home/allanis/src/lephisto/src/ship.cpp	/^void Ship::TestLanded(void) {$/;"	f	language:C++	class:Ship
+TestLanded	/home/allanis/src/lephisto/src/ship.h	/^  void TestLanded(void);$/;"	p	language:C++	class:Ship
+timeAccel	/home/allanis/src/lephisto/src/l3d.h	/^  static float        timeAccel;$/;"	m	language:C++	class:L3D
+timeAccel	/home/allanis/src/lephisto/src/main.cpp	/^float             L3D::timeAccel = 1.0f;$/;"	m	language:C++	class:L3D	file:
+TimeStep	/home/allanis/src/lephisto/src/space.cpp	/^void Space::TimeStep(float step) {$/;"	f	language:C++	class:Space
+TimeStep	/home/allanis/src/lephisto/src/space.h	/^  static void TimeStep(float step);$/;"	p	language:C++	class:Space
+TimeStepUpdate	/home/allanis/src/lephisto/src/body.h	/^  virtual void TimeStepUpdate(const float timeStep) {}$/;"	f	language:C++	class:Body
+TimeStepUpdate	/home/allanis/src/lephisto/src/player.h	/^  void TimeStepUpdate(const float timeStep);$/;"	p	language:C++	class:Player
+TimeStepUpdate	/home/allanis/src/lephisto/src/ship.cpp	/^void Ship::TimeStepUpdate(const float timeStep) {$/;"	f	language:C++	class:Ship
+TimeStepUpdate	/home/allanis/src/lephisto/src/ship.h	/^  virtual void TimeStepUpdate(const float timeStep);$/;"	p	language:C++	class:Ship
+tmp	/home/allanis/src/lephisto/src/star_system.h	/^    int tmp;$/;"	m	language:C++	class:StarSystem::SBody
+total_mass	/home/allanis/src/lephisto/src/ship.h	/^  int total_mass; \/* Cargo, equipment + hull. *\/$/;"	m	language:C++	struct:shipstats_t
+TransformToModelCoords	/home/allanis/src/lephisto/src/model_body.h	/^  void TransformToModelCoords(const Frame* camFrame);$/;"	p	language:C++	class:ModelBody
+TriMeshUpdateLastPos	/home/allanis/src/lephisto/src/model_body.h	/^  void TriMeshUpdateLastPos(void);$/;"	p	language:C++	class:ModelBody
+Type	/home/allanis/src/lephisto/src/object.h	/^  enum Type { OBJECT, BODY, MODELBODY, DYNAMICBODY, SHIP, PLAYER, SPACESTATION, LASER, GEOM, PLANET, STAR };$/;"	g	language:C++	class:Object
+TYPE	/home/allanis/src/lephisto/src/space_station.h	/^  enum TYPE { JJHOOP, GROUND_FLAVOURED, TYPE_MAX };$/;"	g	language:C++	class:SpaceStation
+type	/home/allanis/src/lephisto/src/star.h	/^  StarSystem::BodyType type;$/;"	m	language:C++	class:Star
+type	/home/allanis/src/lephisto/src/star_system.h	/^    BodyType type;$/;"	m	language:C++	class:StarSystem::SBody
+TYPE_BROWN_DWARF	/home/allanis/src/lephisto/src/star_system.h	/^    TYPE_BROWN_DWARF,$/;"	e	language:C++	enum:StarSystem::BodyType
+TYPE_GRAVPOINT	/home/allanis/src/lephisto/src/star_system.h	/^    TYPE_GRAVPOINT,$/;"	e	language:C++	enum:StarSystem::BodyType
+TYPE_MAX	/home/allanis/src/lephisto/src/space_station.h	/^  enum TYPE { JJHOOP, GROUND_FLAVOURED, TYPE_MAX };$/;"	e	language:C++	enum:SpaceStation::TYPE
+TYPE_MAX	/home/allanis/src/lephisto/src/star_system.h	/^    TYPE_MAX,$/;"	e	language:C++	enum:StarSystem::BodyType
+TYPE_PLANET_CO2	/home/allanis/src/lephisto/src/star_system.h	/^    TYPE_PLANET_CO2,$/;"	e	language:C++	enum:StarSystem::BodyType
+TYPE_PLANET_CO2_THICK_ATMOS	/home/allanis/src/lephisto/src/star_system.h	/^    TYPE_PLANET_CO2_THICK_ATMOS,$/;"	e	language:C++	enum:StarSystem::BodyType
+TYPE_PLANET_DWARF	/home/allanis/src/lephisto/src/star_system.h	/^    TYPE_PLANET_DWARF,$/;"	e	language:C++	enum:StarSystem::BodyType
+TYPE_PLANET_HIGHLY_VOLCANIC	/home/allanis/src/lephisto/src/star_system.h	/^    TYPE_PLANET_HIGHLY_VOLCANIC,$/;"	e	language:C++	enum:StarSystem::BodyType
+TYPE_PLANET_INDIGENOUS_LIFE	/home/allanis/src/lephisto/src/star_system.h	/^    TYPE_PLANET_INDIGENOUS_LIFE,$/;"	e	language:C++	enum:StarSystem::BodyType
+TYPE_PLANET_LARGE_GAS_GIANT	/home/allanis/src/lephisto/src/star_system.h	/^    TYPE_PLANET_LARGE_GAS_GIANT,$/;"	e	language:C++	enum:StarSystem::BodyType
+TYPE_PLANET_MEDIUM_GAS_GIANT	/home/allanis/src/lephisto/src/star_system.h	/^    TYPE_PLANET_MEDIUM_GAS_GIANT,$/;"	e	language:C++	enum:StarSystem::BodyType
+TYPE_PLANET_METHANE	/home/allanis/src/lephisto/src/star_system.h	/^    TYPE_PLANET_METHANE,$/;"	e	language:C++	enum:StarSystem::BodyType
+TYPE_PLANET_METHANE_THICK_ATMOS	/home/allanis/src/lephisto/src/star_system.h	/^    TYPE_PLANET_METHANE_THICK_ATMOS,$/;"	e	language:C++	enum:StarSystem::BodyType
+TYPE_PLANET_SMALL	/home/allanis/src/lephisto/src/star_system.h	/^    TYPE_PLANET_SMALL,$/;"	e	language:C++	enum:StarSystem::BodyType
+TYPE_PLANET_SMALL_GAS_GIANT	/home/allanis/src/lephisto/src/star_system.h	/^    TYPE_PLANET_SMALL_GAS_GIANT,$/;"	e	language:C++	enum:StarSystem::BodyType
+TYPE_PLANET_VERY_LARGE_GAS_GIANT	/home/allanis/src/lephisto/src/star_system.h	/^    TYPE_PLANET_VERY_LARGE_GAS_GIANT,$/;"	e	language:C++	enum:StarSystem::BodyType
+TYPE_PLANET_WATER	/home/allanis/src/lephisto/src/star_system.h	/^    TYPE_PLANET_WATER,$/;"	e	language:C++	enum:StarSystem::BodyType
+TYPE_PLANET_WATER_THICK_ATMOS	/home/allanis/src/lephisto/src/star_system.h	/^    TYPE_PLANET_WATER_THICK_ATMOS,$/;"	e	language:C++	enum:StarSystem::BodyType
+TYPE_STARPORT_ORBITAL	/home/allanis/src/lephisto/src/star_system.h	/^    TYPE_STARPORT_ORBITAL,$/;"	e	language:C++	enum:StarSystem::BodyType
+TYPE_STARPORT_SURFACE	/home/allanis/src/lephisto/src/star_system.h	/^    TYPE_STARPORT_SURFACE,$/;"	e	language:C++	enum:StarSystem::BodyType
+TYPE_STAR_A	/home/allanis/src/lephisto/src/star_system.h	/^    TYPE_STAR_A,$/;"	e	language:C++	enum:StarSystem::BodyType
+TYPE_STAR_B	/home/allanis/src/lephisto/src/star_system.h	/^    TYPE_STAR_B,$/;"	e	language:C++	enum:StarSystem::BodyType
+TYPE_STAR_F	/home/allanis/src/lephisto/src/star_system.h	/^    TYPE_STAR_F,$/;"	e	language:C++	enum:StarSystem::BodyType
+TYPE_STAR_G	/home/allanis/src/lephisto/src/star_system.h	/^    TYPE_STAR_G,$/;"	e	language:C++	enum:StarSystem::BodyType
+TYPE_STAR_K	/home/allanis/src/lephisto/src/star_system.h	/^    TYPE_STAR_K,$/;"	e	language:C++	enum:StarSystem::BodyType
+TYPE_STAR_M	/home/allanis/src/lephisto/src/star_system.h	/^    TYPE_STAR_M,$/;"	e	language:C++	enum:StarSystem::BodyType
+TYPE_STAR_MAX	/home/allanis/src/lephisto/src/star_system.h	/^    TYPE_STAR_MAX = TYPE_WHITE_DWARF$/;"	e	language:C++	enum:StarSystem::BodyType
+TYPE_STAR_MIN	/home/allanis/src/lephisto/src/star_system.h	/^    TYPE_STAR_MIN = TYPE_STAR_M,$/;"	e	language:C++	enum:StarSystem::BodyType
+TYPE_STAR_O	/home/allanis/src/lephisto/src/star_system.h	/^    TYPE_STAR_O,$/;"	e	language:C++	enum:StarSystem::BodyType
+TYPE_WHITE_DWARF	/home/allanis/src/lephisto/src/star_system.h	/^    TYPE_WHITE_DWARF,$/;"	e	language:C++	enum:StarSystem::BodyType
+Unserialize	/home/allanis/src/lephisto/src/body.cpp	/^Body* Body::Unserialize(void) { }$/;"	f	language:C++	class:Body
+Unserialize	/home/allanis/src/lephisto/src/body.h	/^  static Body* Unserialize(void);$/;"	p	language:C++	class:Body
+Unserialize	/home/allanis/src/lephisto/src/frame.cpp	/^Frame* Frame::Unserialize(Frame* parent) {$/;"	f	language:C++	class:Frame
+Unserialize	/home/allanis/src/lephisto/src/frame.h	/^  static Frame* Unserialize(Frame* parent);$/;"	p	language:C++	class:Frame
+Unserialize	/home/allanis/src/lephisto/src/l3d.h	/^  static void   Unserialize(void);$/;"	p	language:C++	class:L3D
+Unserialize	/home/allanis/src/lephisto/src/main.cpp	/^void L3D::Unserialize(void) {$/;"	f	language:C++	class:L3D
+Unserialize	/home/allanis/src/lephisto/src/space.cpp	/^void Space::Unserialize(void) {$/;"	f	language:C++	class:Space
+Unserialize	/home/allanis/src/lephisto/src/space.h	/^  static void Unserialize(void);$/;"	p	language:C++	class:Space
+Unserialize	/home/allanis/src/lephisto/src/star_system.cpp	/^StarSystem* StarSystem::Unserialize(void) {$/;"	f	language:C++	class:StarSystem
+Unserialize	/home/allanis/src/lephisto/src/star_system.h	/^  static StarSystem* Unserialize(void);$/;"	p	language:C++	class:StarSystem
+Update	/home/allanis/src/lephisto/src/world_view.cpp	/^void WorldView::Update(void) {$/;"	f	language:C++	class:WorldView
+UpdateCommsOptions	/home/allanis/src/lephisto/src/world_view.cpp	/^void WorldView::UpdateCommsOptions(void) {$/;"	f	language:C++	class:WorldView
+UpdateFramesOfReference	/home/allanis/src/lephisto/src/space.cpp	/^void Space::UpdateFramesOfReference(void) {$/;"	f	language:C++	class:Space
+UpdateFramesOfReference	/home/allanis/src/lephisto/src/space.h	/^  static void UpdateFramesOfReference(void);$/;"	p	language:C++	class:Space
+UpdateMass	/home/allanis/src/lephisto/src/ship.cpp	/^void Ship::UpdateMass(void) {$/;"	f	language:C++	class:Ship
+UpdateMass	/home/allanis/src/lephisto/src/ship.h	/^  void UpdateMass(void);$/;"	p	language:C++	class:Ship
+used_capacity	/home/allanis/src/lephisto/src/ship.h	/^  int used_capacity;$/;"	m	language:C++	struct:shipstats_t
+version	/home/allanis/src/lephisto/src/serializer.cpp	/^  static int version;$/;"	m	language:C++	namespace:Serializer::Read	file:
+world	/home/allanis/src/lephisto/src/space.cpp	/^dWorldID Space::world;$/;"	m	language:C++	class:Space	file:
+world	/home/allanis/src/lephisto/src/space.h	/^  static dWorldID world;$/;"	m	language:C++	class:Space
+worldView	/home/allanis/src/lephisto/src/l3d.h	/^  static WorldView*         worldView;$/;"	m	language:C++	class:L3D
+worldView	/home/allanis/src/lephisto/src/main.cpp	/^WorldView*        L3D::worldView;$/;"	m	language:C++	class:L3D	file:
+WorldView	/home/allanis/src/lephisto/src/world_view.cpp	/^WorldView::WorldView(void): View() {$/;"	f	language:C++	class:WorldView
+Write	/home/allanis/src/lephisto/src/serializer.cpp	/^namespace Write {$/;"	n	language:C++	namespace:Serializer	file:
+Write	/home/allanis/src/lephisto/src/serializer.h	/^  namespace Write {$/;"	n	language:C++	namespace:Serializer
+wr_byte	/home/allanis/src/lephisto/src/serializer.cpp	/^  void wr_byte(unsigned char x) {$/;"	f	language:C++	namespace:Serializer::Write
+wr_byte	/home/allanis/src/lephisto/src/serializer.h	/^    void wr_byte(unsigned char x);$/;"	p	language:C++	namespace:Serializer::Write
+wr_cstring	/home/allanis/src/lephisto/src/serializer.h	/^    void wr_cstring(const char* s);$/;"	p	language:C++	namespace:Serializer::Write
+wr_double	/home/allanis/src/lephisto/src/serializer.cpp	/^  void wr_double(double f) {$/;"	f	language:C++	namespace:Serializer::Write
+wr_double	/home/allanis/src/lephisto/src/serializer.h	/^    void wr_double(double f);$/;"	p	language:C++	namespace:Serializer::Write
+wr_float	/home/allanis/src/lephisto/src/serializer.cpp	/^  void wr_float(float f) {$/;"	f	language:C++	namespace:Serializer::Write
+wr_float	/home/allanis/src/lephisto/src/serializer.h	/^    void wr_float(float f);$/;"	p	language:C++	namespace:Serializer::Write
+wr_int	/home/allanis/src/lephisto/src/serializer.cpp	/^  void wr_int(int x) {$/;"	f	language:C++	namespace:Serializer::Write
+wr_int	/home/allanis/src/lephisto/src/serializer.h	/^    void wr_int(int x);$/;"	p	language:C++	namespace:Serializer::Write
+wr_short	/home/allanis/src/lephisto/src/serializer.cpp	/^  void wr_short(short x) {$/;"	f	language:C++	namespace:Serializer::Write
+wr_short	/home/allanis/src/lephisto/src/serializer.h	/^    void wr_short(short x);$/;"	p	language:C++	namespace:Serializer::Write
+wr_string	/home/allanis/src/lephisto/src/serializer.cpp	/^  void wr_string(const char* s) {$/;"	f	language:C++	namespace:Serializer::Write
+wr_string	/home/allanis/src/lephisto/src/serializer.cpp	/^  void wr_string(std::string& s) {$/;"	f	language:C++	namespace:Serializer::Write
+wr_string	/home/allanis/src/lephisto/src/serializer.h	/^    void wr_string(std::string& s);$/;"	p	language:C++	namespace:Serializer::Write
+wr_vector3d	/home/allanis/src/lephisto/src/serializer.cpp	/^  void wr_vector3d(vector3d& vec) {$/;"	f	language:C++	namespace:Serializer::Write
+wr_vector3d	/home/allanis/src/lephisto/src/serializer.h	/^    void wr_vector3d(vector3d& vec);$/;"	p	language:C++	namespace:Serializer::Write
+_contactgroup	/home/allanis/src/lephisto/src/space.cpp	/^static dJointGroupID _contactgroup;$/;"	v	language:C++	file:
+_OnCollision	/home/allanis/src/lephisto/src/space.cpp	/^static bool _OnCollision(dGeomID g1, dGeomID g2, Object* o1, Object* o2,$/;"	f	language:C++	file:
+~Body	/home/allanis/src/lephisto/src/body.cpp	/^Body::~Body(void) {$/;"	f	language:C++	class:Body
+~Body	/home/allanis/src/lephisto/src/body.h	/^  virtual ~Body(void);$/;"	p	language:C++	class:Body
+~DynamicBody	/home/allanis/src/lephisto/src/dynamic_body.h	/^  virtual ~DynamicBody(void);$/;"	p	language:C++	class:DynamicBody
+~Frame	/home/allanis/src/lephisto/src/frame.cpp	/^Frame::~Frame(void) {$/;"	f	language:C++	class:Frame
+~Frame	/home/allanis/src/lephisto/src/frame.h	/^  ~Frame(void);$/;"	p	language:C++	class:Frame
+~ModelBody	/home/allanis/src/lephisto/src/model_body.h	/^  virtual ~ModelBody(void);$/;"	p	language:C++	class:ModelBody
+~Planet	/home/allanis/src/lephisto/src/planet.h	/^  virtual ~Planet(void);$/;"	p	language:C++	class:Planet
+~Player	/home/allanis/src/lephisto/src/player.h	/^  virtual ~Player(void);$/;"	p	language:C++	class:Player
+~SBody	/home/allanis/src/lephisto/src/star_system.cpp	/^StarSystem::SBody::~SBody(void) {$/;"	f	language:C++	class:StarSystem::SBody
+~SBody	/home/allanis/src/lephisto/src/star_system.h	/^    ~SBody(void);$/;"	p	language:C++	class:StarSystem::SBody
+~SpaceStation	/home/allanis/src/lephisto/src/space_station.cpp	/^SpaceStation::~SpaceStation(void) {$/;"	f	language:C++	class:SpaceStation
+~SpaceStation	/home/allanis/src/lephisto/src/space_station.h	/^  virtual ~SpaceStation(void);$/;"	p	language:C++	class:SpaceStation
+~Star	/home/allanis/src/lephisto/src/star.h	/^  virtual ~Star(void) { };$/;"	f	language:C++	class:Star
+~StarSystem	/home/allanis/src/lephisto/src/star_system.cpp	/^StarSystem::~StarSystem(void) {$/;"	f	language:C++	class:StarSystem
+~StarSystem	/home/allanis/src/lephisto/src/star_system.h	/^  ~StarSystem(void);$/;"	p	language:C++	class:StarSystem
diff --git a/src/world_view.cpp b/src/world_view.cpp
index 1a341c9..7d12a49 100644
--- a/src/world_view.cpp
+++ b/src/world_view.cpp
@@ -213,7 +213,7 @@ void WorldView::UpdateCommsOptions(void) {
   commsOptions->GetSize(size);
   int ypos = size[1]-16;
   if(navtarget) {
-    if(navtarget->GetType() == Object::SPACESTATION) {
+    if(navtarget->IsType(Object::SPACESTATION)) {
       commsOptions->Add(new Gui::Label(navtarget->GetLabel()), 16, ypos);
       ypos -= 32;
       Gui::Button* b = AddCommsOption("Request docking clearance", ypos);