bool GLShader::ValidateCompile(GLuint shader) { GLint compiled; glGetShaderiv(shader, GL_COMPILE_STATUS, &compiled); if (!compiled) { GLsizei length; glGetShaderiv(shader, GL_INFO_LOG_LENGTH, &length); /*output shader log info*/ GLchar* log = new GLchar[length + 1]; glGetShaderInfoLog(shader, length, &length, log); #ifdef UNICODE std::string log_text(log); UConverter converter; UString log_string = converter.from_bytes(log_text); DebugPrintF(log_string.c_str()); std::cout << log << std::endl; #else DebugPrintF(VTEXT("Shader Log: %s\n"), log); #endif delete[] log; return false; } return true; }
SDL_GW_Params GameConfig::ParseWindow(const XMLDOC& doc) { using namespace tinyxml2; SDL_GW_Params params; const XMLElement* gameElement = doc.FirstChildElement("game"); const XMLElement* windowElement = gameElement->FirstChildElement("window"); #ifdef UNICODE /*this could change in future*/ UConverter convert; params.title = convert.from_bytes(windowElement->Attribute("title")); #else params.title = windowElement->Attribute("title"); #endif params.x = windowElement->IntAttribute("x"); params.y = windowElement->IntAttribute("y"); params.width = windowElement->IntAttribute("width"); params.height = windowElement->IntAttribute("height"); /* const XMLElement* rendererElement = gameElement->FirstChildElement("renderer"); const char* renderer = rendererElement->Attribute("type"); if (!strcmp(renderer, "DirectX")) params.renderer = SDL_GW_Renderer::OPENGL; else params.renderer = SDL_GW_Renderer::DIRECTX;*/ return params; }
UString UStringFromCharArray(const char* data) { #ifdef VIX_SYS_WINDOWS UConverter cv; return cv.from_bytes(data); #else return UString(data); #endif }