Example #1
0
int
AssetManagerGlue::readAssetChar(Asset& asset)
{
	uint8_t b;
	ssize_t res = asset.read(&b, 1);
	return res == 1 ? b : -1;
}
Example #2
0
int
AssetManagerGlue::readAsset(Asset& asset, NativeArray<uint8_t>& array, size_t off, size_t len)
{
	if (len == 0)
		return 0;

	return asset.read(array.ptr(off, len), len);
}
Example #3
0
Texture::Texture(Asset file, GLenum textureTarget, GLfloat filter)
{
  std::map<std::string, TextureData *>::const_iterator it = m_textureCache.find(file.getIOStream()->getFileName().c_str());

  if(it != m_textureCache.end()) {
    m_textureData = it->second;
    m_textureData->incrementReference();
  } else {
    int x, y, bytesPerPixel;
    unsigned char* data = stbi_load_from_memory(reinterpret_cast<const unsigned char *>(file.read()), file.getIOStream()->fileSize(), &x, &y, &bytesPerPixel, 4);

    if(data == NULL) {
      log_err("Unable to load texture: %s", file.getIOStream()->getFileName().c_str());
    } else {
      m_textureData = m_textureCache[file.getIOStream()->getFileName().c_str()] = new TextureData(x, y, data, textureTarget, filter);
      stbi_image_free(data);
      m_textureData->incrementReference();
    }
  }
}
Example #4
0
 std::string getMachineName()
 {
     Asset *a = (Asset *)Info::Factory(Info::Asset);
     a->read();
     return a->machineName();
 }