text: 
  #ifndef __GAME_SLOTS_H__
  #define __GAME_SLOTS_H__
  
  	#define SLOT_HEIGHT			100
  	#define SLOTS_IN_REEL		10
  	#define MINIMUM_REEL_RATE	(SLOT_HEIGHT/2)
  	#define REEL_LENGTH			(SLOTS_IN_REEL*SLOT_HEIGHT)
  
  	#define MASK_CHERRY		0x00000001
  	#define MASK_ORANGE		0x00000002
  	#define MASK_LEMON		0x00000004
  	#define MASK_APPLE		0x00000008
  	#define MASK_GRAPE		0x00000010
  	#define MASK_MELON		0x00000020
  	#define MASK_BAR		0x00000100
  	#define MASK_BARBAR		0x00000200
  	#define MASK_BARBARBAR	0x00000400
  
  	#define MASK_ANYBAR		0x00000700
  	#define MASK_ANY		0xffffffff
  
  	typedef enum {
  		FRUIT_CHERRY=0,
  		FRUIT_ORANGE,
  		FRUIT_LEMON,
  		FRUIT_APPLE,
  		FRUIT_GRAPE,
  		FRUIT_MELON,
  		FRUIT_BAR,
  		FRUIT_BARBAR,
  		FRUIT_BARBARBAR,
  		NUM_FRUITS
  	}fruit_t;
  
  	typedef struct victory_s {
  		int			f1, f2, f3;
  		int			payoff;
  	}victory_t;
  
  
  class hhSlots : public hhConsole {
  public:
  	CLASS_PROTOTYPE( hhSlots );
  
  	void			Spawn( void );
  	void			Save( idSaveGame *savefile ) const;
  	void			Restore( idRestoreGame *savefile );
  
  	void			Spin();
  	void			IncBet();
  	void			DecBet();
  	void			CheckVictory();
  
  	void			Reset();
  	void			UpdateView();
  	bool			HandleSingleGuiCommand(idEntity *entityGui, idLexer *src);	
  
  protected:
  	virtual void	Think( void );
  	void			Event_Spin();
  
  private:
  	int				Bet;
  	int				PlayerBet;
  	int				PlayerCredits;
  	int				result;
  	int				creditsWon;
  	int				victoryAmount;
  
  	idStr			fruitTextures[NUM_FRUITS];
  
  	fruit_t			reel1[SLOTS_IN_REEL];
  	fruit_t			reel2[SLOTS_IN_REEL];
  	fruit_t			reel3[SLOTS_IN_REEL];
  	float			reelPos1, reelPos2, reelPos3;
  	float			reelRate1, reelRate2, reelRate3;
  	bool			bSpinning;
  
  	bool			bCanSpin;
  	bool			bCanIncBet;
  	bool			bCanDecBet;
  };
  
  
  #endif /* __GAME_SLOTS_H__ */
  