]> git.tdb.fi Git - libs/demoscene.git/blob - source/resources.cpp
Define UI text font and technique in Resources instead of hardcoding
[libs/demoscene.git] / source / resources.cpp
1 #include <msp/fs/stat.h>
2 #include "resources.h"
3
4 using namespace std;
5 using namespace Msp;
6
7 Resources::Resources(const string &pack_name):
8         ui_font(0),
9         ui_text_technique(0)
10 {
11         set_default_texture_anisotropy(8);
12         set_srgb_conversion(true);
13
14         if(FS::exists("data"))
15         {
16                 dir_source.add_directory("data");
17                 add_source(dir_source);
18         }
19         else
20         {
21                 pack_source.add_pack_file(pack_name);
22                 add_source(pack_source);
23         }
24 }
25
26 const GL::Font &Resources::get_ui_font() const
27 {
28         if(!ui_font)
29                 throw runtime_error("no ui font");
30         return *ui_font;
31 }
32
33 const GL::Technique &Resources::get_ui_text_technique() const
34 {
35         if(!ui_text_technique)
36                 throw runtime_error("no ui text technique");
37         return *ui_text_technique;
38 }
39
40 void Resources::set_ui_text_resources(const string &font, const string &tech)
41 {
42         ui_font = &get<GL::Font>(font);
43         ui_text_technique = &get<GL::Technique>(tech);
44 }