1 #include <msp/datafile/builtinsource.h>
2 #include <msp/fs/dir.h>
3 #include <msp/fs/stat.h>
11 void init_data(DataFile::BuiltinSource &);
13 Resources::Resources()
15 add_source(get_builtin_source());
18 Resources::Resources(const string &pack_name):
22 set_default_texture_anisotropy(8);
23 set_srgb_conversion(true);
25 FS::Path data_dir = "data";
26 if(FS::exists(data_dir))
28 dir_source.add_directory(data_dir);
29 add_source(dir_source);
30 for(const auto &c: FS::list_filtered(data_dir, "\\.mdc$"))
31 load(*this, (data_dir/c).str());
35 pack_source.add_pack_file(pack_name);
36 add_source(pack_source);
39 add_source(get_builtin_source());
42 const DataFile::CollectionSource &Resources::get_builtin_source()
44 static DataFile::BuiltinSource builtin_src;
45 bool init_done = false;
49 init_data(builtin_src);
56 Resources &Resources::get_builtins()
58 static Resources builtins;
62 const GL::Font &Resources::get_ui_font() const
65 throw runtime_error("no ui font");
69 const GL::Technique &Resources::get_ui_text_technique() const
71 if(!ui_text_technique)
72 throw runtime_error("no ui text technique");
73 return *ui_text_technique;
76 void Resources::set_ui_text_resources(const string &font, const string &tech)
78 ui_font = &get<GL::Font>(font);
79 ui_text_technique = &get<GL::Technique>(tech);
82 } // namespace DemoScene