+#include <msp/datafile/builtinsource.h>
#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):
- ui_font(0),
- ui_text_technique(0)
+namespace Msp {
+namespace DemoScene {
+
+void init_data(DataFile::BuiltinSource &);
+
+Resources::Resources()
{
- set_default_texture_anisotropy(8);
- set_srgb_conversion(true);
+ init();
+}
+
+Resources::Resources(const string &pack_name)
+{
+ init();
+ init_sources(pack_name);
+}
+void Resources::init_sources(const string &pack_name)
+{
FS::Path data_dir = "data";
if(FS::exists(data_dir))
{
}
}
+void Resources::init()
+{
+ ui_font = 0;
+ ui_text_technique = 0;
+
+ set_default_texture_anisotropy(8);
+ set_srgb_conversion(true);
+
+ add_source(get_builtin_source());
+}
+
+const DataFile::CollectionSource &Resources::get_builtin_source()
+{
+ static DataFile::BuiltinSource builtin_src;
+ bool init_done = false;
+
+ if(!init_done)
+ {
+ init_data(builtin_src);
+ init_done = true;
+ }
+
+ return builtin_src;
+}
+
+Resources &Resources::get_builtins()
+{
+ static Resources builtins;
+ return builtins;
+}
+
const GL::Font &Resources::get_ui_font() const
{
if(!ui_font)
ui_font = &get<GL::Font>(font);
ui_text_technique = &get<GL::Technique>(tech);
}
+
+} // namespace DemoScene
+} // namespace Msp