X-Git-Url: https://git.sesse.net/?p=movit;a=blobdiff_plain;f=util.cpp;h=9c2ce597499d42a829097ddb5e3700341fde2ca1;hp=eeea198a4a074fa357311356d3157e7d00f15d36;hb=aa3e630eb0c455921c721f9ccd84e872bc9757bc;hpb=34f5f331bd3b643949ccbb0c3488af2823634d59 diff --git a/util.cpp b/util.cpp index eeea198..9c2ce59 100644 --- a/util.cpp +++ b/util.cpp @@ -1,11 +1,17 @@ +#include +#include +#include #include +#include #include -#include +#include -#include -#include "util.h" -#include "opengl.h" #include "init.h" +#include "util.h" + +using namespace std; + +extern string *movit_data_directory; void hsv2rgb(float h, float s, float v, float *r, float *g, float *b) { @@ -63,22 +69,24 @@ void hsv2rgb_normalized(float h, float s, float v, float *r, float *g, float *b) } } -std::string read_file(const std::string &filename) +string read_file(const string &filename) { + const string full_pathname = *movit_data_directory + "/" + filename; + static char buf[131072]; - FILE *fp = fopen(filename.c_str(), "r"); + FILE *fp = fopen(full_pathname.c_str(), "r"); if (fp == NULL) { - perror(filename.c_str()); + perror(full_pathname.c_str()); exit(1); } int len = fread(buf, 1, sizeof(buf), fp); fclose(fp); - return std::string(buf, len); + return string(buf, len); } -GLuint compile_shader(const std::string &shader_src, GLenum type) +GLuint compile_shader(const string &shader_src, GLenum type) { GLuint obj = glCreateShader(type); const GLchar* source[] = { shader_src.data() }; @@ -111,7 +119,7 @@ void print_3x3_matrix(const Eigen::Matrix3d& m) printf("\n"); } -std::string output_glsl_mat3(const std::string &name, const Eigen::Matrix3d &m) +string output_glsl_mat3(const string &name, const Eigen::Matrix3d &m) { char buf[1024]; sprintf(buf,