void Texture::LoadTexture(const char* path) { FileReader *FR = new FileReader(path); unsigned char*buffer = (unsigned char*)malloc(sizeof(unsigned char)*4); //move to position 12, next 4 bytes are size // FR->FileSeek(12,0); FR->ReadBytes(4,buffer); int sizex= buffer[0]+buffer[1]*256; int sizey= buffer[2]+buffer[3]*256; free(buffer); buffer = (unsigned char*)malloc(sizeof(unsigned char)*1); FR->FileSeek(16,0); FR->ReadBytes(1,buffer); int bpp = buffer[0]; free(buffer); int datasize = sizex*sizey*bpp/8; m_pixels = (unsigned char*)malloc(sizeof(unsigned char)*datasize); unsigned char *Buffer = (unsigned char*)malloc(sizeof(unsigned char)*datasize); FR->FileSeek(18,0); FR->ReadBytes(datasize,Buffer); for(int i = 0;i<datasize;i+=4) { m_pixels[i+0] = Buffer[i+2]; m_pixels[i+1] = Buffer[i+1]; m_pixels[i+2] = Buffer[i+0]; m_pixels[i+3] = Buffer[i+3]; } delete FR; glPixelStorei(GL_UNPACK_ALIGNMENT, 1); debug::checkGlError("glPixel"); glGenTextures(1,&m_textureID); debug::checkGlError("glGentextures"); glActiveTexture(GL_TEXTURE0); debug::checkGlError("glActivetexture"); // Bind the texture object glBindTexture(GL_TEXTURE_2D, m_textureID); debug::checkGlError("Bindtexture"); // Load the texture glTexImage2D(GL_TEXTURE_2D, 0, GL_RGBA, sizex, sizey, 0, GL_RGBA, GL_UNSIGNED_BYTE, m_pixels); debug::checkGlError("textimage2D"); // Set the filtering mode glTexParameteri(GL_TEXTURE_2D, GL_TEXTURE_MIN_FILTER, GL_NEAREST ); glTexParameteri(GL_TEXTURE_2D, GL_TEXTURE_MAG_FILTER, GL_NEAREST ); debug::checkGlError("textparameteri"); LOGI("asd!4"); }
void ObjLoader::OpenFile(const char* path) { FileReader* FR = new FileReader(path); lenght = FR->FileLength(); buff = (char*) malloc(lenght+1); FR->ReadBytes(lenght, buff); delete FR; }
void SPAuthCheckPrv::ReadCheckFile() { // Read check prevention file mGameSecondsBeforeNextCheck = 1; // default -> check try { FileReader aReader; if(!aReader.Open(gSPAuthCheck_FileName)) return; unsigned short aNumBytes = aReader.ReadShort(); if(aNumBytes==0 || aReader.Available()<aNumBytes) return; char *aBuf = new char[aNumBytes]; std::auto_ptr<char> aDelBuf(aBuf); aReader.ReadBytes(aBuf,aNumBytes); aReader.Close(); ByteBufferPtr aDecrypt = mEncryptKey.Decrypt(aBuf,aNumBytes); if(aDecrypt.get()==NULL) return; WONFile aFile(gSPAuthCheck_FileName); ReadBuffer aReadBuf(aDecrypt->data(),aDecrypt->length()); std::string aSig; aReadBuf.ReadString(aSig); if(aSig!="magic") return; time_t aCreateTime = aFile.GetCreateTime(); time_t aCompareCreateTime = aReadBuf.ReadLong(); if(aCompareCreateTime != aCreateTime) return; mGameSecondsBeforeNextCheck = aReadBuf.ReadLong(); if(mGameSecondsBeforeNextCheck==0) // don't remove file in this case return; aFile.Remove(); } catch(FileReaderException&) { } catch(ReadBufferException&) { } }
GLuint Shader::ReadShaderFile(const char* path, GLenum type) { long lenght; char *buffer; FileReader *FR = new FileReader(path); lenght = FR->FileLength(); buffer = (char*) malloc(lenght+1); FR->ReadBytes(lenght, buffer); delete FR; buffer[lenght] = 0; #ifndef WINDOWS_FRAMEWORK LOGE("%lu", lenght); #endif GLuint shader = LoadShader(type,buffer); return shader; }