Ejemplo n.º 1
0
	ReaderItem(StorageItem *Item)
	{
		Len = 0;
		Data = 0;
		Store = Item;
		Store->Object = this;

		GFile *f = Store->GotoObject(__FILE__, __LINE__);
		if (f)
		{
			Len = ((Storage1::StorageItemImpl*)Store)->StoreSize;
			if (Len <= 0)
			{
				Len = ((Storage1::StorageItemImpl*)Store)->StoreAllocatedSize;
			}

			LgiAssert(Len > 0);

			Data = new uchar[Len];
			if (Data)
			{
				f->Read(Data, Len);
			}
			
			DeleteObj(f);
		}
	}
Ejemplo n.º 2
0
/*
====================
GLoad
====================
*/
const GData* GLoad(const CHAR* path)
{
  GFile file;
  file.Open(path);
  U32 pos = file.Seek(0,FS_CUR);
  U32 size = file.Seek(0,FS_END);	
  file.Seek(pos,FS_SET);
  GData* data = GNEW(GData(size+1,0)); CHECK(data);
  CHECK(file.Read(data->Ptr(),data->Size())==size);
  file.Close();
  return data;
}