summaryrefslogtreecommitdiff
path: root/noncore/games/sfcave-sdl/font.cpp
Side-by-side diff
Diffstat (limited to 'noncore/games/sfcave-sdl/font.cpp') (more/less context) (show whitespace changes)
-rw-r--r--noncore/games/sfcave-sdl/font.cpp16
1 files changed, 14 insertions, 2 deletions
diff --git a/noncore/games/sfcave-sdl/font.cpp b/noncore/games/sfcave-sdl/font.cpp
index 2976d48..1988252 100644
--- a/noncore/games/sfcave-sdl/font.cpp
+++ b/noncore/games/sfcave-sdl/font.cpp
@@ -1,40 +1,52 @@
#include "font.h"
#include "constants.h"
BFont *FontHandler :: menuSelFont;
BFont *FontHandler :: menuUnSelFont;
BFont *FontHandler :: whiteFont;
BFont *FontHandler :: colouredFont;
BFont *FontHandler :: helpFont;
-void FontHandler :: init()
+bool FontHandler :: init()
{
// Load font images
// Convert to fonts
menuSelFont = new BFont( IMAGES_PATH "sel_menu_font.bmp" );
menuUnSelFont = new BFont( IMAGES_PATH "unsel_menu_font.bmp" );
whiteFont = new BFont( IMAGES_PATH "score_font.bmp" );
helpFont = new BFont( IMAGES_PATH "help_font.bmp" );
colouredFont = 0;
+
+ // Check if we are installed correctly (we need fonts to function)
+ if ( menuSelFont == 0 || menuUnSelFont == 0 || whiteFont == 0 || helpFont == 0 )
+ {
+ printf( "One or more fonts are not installed correctly\n" );
+ return false;
+ }
+
+ return true;
}
void FontHandler :: cleanUp()
{
+ if ( menuSelFont )
delete menuSelFont;
+ if ( menuUnSelFont )
delete menuUnSelFont;
+ if ( whiteFont )
delete whiteFont;
+ if ( helpFont )
delete helpFont;
-
if ( colouredFont )
delete colouredFont;
}
int FontHandler :: TextWidth( int font, const char *text )
{
return getFont( font )->TextWidth( text );
}
int FontHandler :: FontHeight( int font )
{
return getFont( font )->FontHeight();