Roguelike
 All Classes Namespaces Functions Variables Typedefs Friends Pages
Public Member Functions | Private Attributes | List of all members
FontMenu Class Reference

#include <menu.h>

Inheritance diagram for FontMenu:
Menu

Public Member Functions

 FontMenu (int _padding, Tile _border, Game *_game)
 
Menumake_selection ()
 
string get_font ()
 
- Public Member Functions inherited from Menu
bool out_of_bounds (int row)
 
 Menu (int _padding, Tile _border)
 
void move_selection (int direction)
 
void add_item (string new_item)
 
bool should_exit ()
 
int get_selection ()
 
void toggle_exit ()
 
Screen get_screen ()
 
int get_id ()
 
int num_extra_lines ()
 
vector< string > get_extra_lines ()
 

Private Attributes

string font
 

Additional Inherited Members

- Public Attributes inherited from Menu
Gamegame
 
Screen next_screen
 
int selection
 
string title
 
Tile border
 
vector< string > options
 
bool exit
 
int id
 
int padding
 
vector< string > extra_lines
 

Detailed Description

The menu allowing players to change the font. I suppose this is as good of a place as any on how to document how to add a custom font. The "font" is actually a 128x204px .bmp image which is filled with 8x12 rectangles. These are the actual tiles which are used for the game. Simply place a new .bmp in the data/font, and you can change the font in game in this menu (escape->font menu->your_font_name.bmp). Maybe some day I'll put out a list of characters we use in the game. In order to change the default font, edit the settings.conf and change the font=default to the name of the font file you added (without the .bmp and no spaces). It should be noted that the characters we use in game are the same as the font we use to draw strings, so only change the roman alphabet characters if you want to be really, really confused.

Todo:
Separate the font and the character set.

Member Function Documentation

string FontMenu::get_font ( )

Public accessor for the font.

Menu * FontMenu::make_selection ( )
virtual

The function that handles when a selection is made in the menu. This is the most important function. There are four possibilities:

  1. The selection just transitions to a new menu. The menu returned will be the new menu.
  2. The selection just performs a function and then returns to the same menu. In this case, "this" will be returned and nothing else will happen.
  3. The selection causes an exit of the menu screen. When this happens, "this" will be returned and should_exit will be toggled. On the next pass, the game_state will then transition to the next_screen.
  4. The function returns NULL, in which case the game is exited. There's no reason that 2 & 3 can't be combined.

Implements Menu.

Member Data Documentation

string FontMenu::font
private

The font which is currently selected.


The documentation for this class was generated from the following files: