SmsDrawable

 public:
      enum SmsDisplayMode {Inv, Wpn, SelJet};
      SmsDrawable (SMSClass* self);
      ~SmsDrawable(void);
      virtual void DisplayInit (ImageBuffer*);
      virtual void Display (VirtualDisplay*);
   virtual void DisplayExit(void);
      VirtualDisplay* GetDisplay (void);
      void ToggleInventory ();
      void SetDisplayMode (SmsDisplayMode newDisplayMode);
  SmsDisplayMode DisplayMode(void) {return displayMode;}
      void StepDisplayMode (void);
      void PushButton (int whichButton, int whichMFD);
      int frameCount;
      int hardPointSelected;
      int IsDisplayed (void) {return isDisplayed;};
      void SetGroundSpotPos (float x, float y, float z);
      void UpdateGroundSpot(void);

   private:
      int hadCamera, needCamera;
      int isDisplayed;
      SMSClass* Sms;
      VuEntity* groundSpot;
      SmsDisplayMode displayMode;
      SmsDisplayMode lastMode;
      void GunDisplay (void);
      void MissileDisplay (void);
      void MaverickDisplay (void);
      void AAMDisplay (void);
      void HarmDisplay (void);
      void GBUDisplay (void);
      void CameraDisplay (void);
      void BombDisplay (void);
      void InventoryDisplay(int);
      void DogfightDisplay(void);
      void SelectiveJettison(void);
      void ShowMissiles (int buttonNum);
      void MissileOverrideDisplay (void);

   friend SMSClass;