+#include <msp/fs/dir.h>
#include <msp/fs/stat.h>
#include "resources.h"
using namespace std;
using namespace Msp;
-Resources::Resources(const string &pack_name)
+Resources::Resources(const string &pack_name):
+ ui_font(0),
+ ui_text_technique(0)
{
set_default_texture_anisotropy(8);
set_srgb_conversion(true);
- if(FS::exists("data"))
+ FS::Path data_dir = "data";
+ if(FS::exists(data_dir))
{
- dir_source.add_directory("data");
+ dir_source.add_directory(data_dir);
add_source(dir_source);
+ for(const auto &c: FS::list_filtered(data_dir, "\\.mdc$"))
+ load(*this, (data_dir/c).str());
}
else
{
add_source(pack_source);
}
}
+
+const GL::Font &Resources::get_ui_font() const
+{
+ if(!ui_font)
+ throw runtime_error("no ui font");
+ return *ui_font;
+}
+
+const GL::Technique &Resources::get_ui_text_technique() const
+{
+ if(!ui_text_technique)
+ throw runtime_error("no ui text technique");
+ return *ui_text_technique;
+}
+
+void Resources::set_ui_text_resources(const string &font, const string &tech)
+{
+ ui_font = &get<GL::Font>(font);
+ ui_text_technique = &get<GL::Technique>(tech);
+}