mirror of
https://github.com/TES3MP/openmw-tes3mp.git
synced 2025-03-28 23:36:42 +00:00
fixed ogre resource functions
This commit is contained in:
parent
43481ad117
commit
9d6f656822
1 changed files with 19 additions and 36 deletions
|
@ -11,54 +11,37 @@
|
||||||
namespace MWRender
|
namespace MWRender
|
||||||
{
|
{
|
||||||
|
|
||||||
int OgreResource_Read(void *opaque, uint8_t *buf, int buf_size)
|
int OgreResource_Read(void *user_data, uint8_t *buf, int buf_size)
|
||||||
{
|
{
|
||||||
Ogre::DataStreamPtr stream = static_cast<VideoState*>(opaque)->stream;
|
Ogre::DataStreamPtr stream = static_cast<VideoState*>(user_data)->stream;
|
||||||
|
return stream->read(buf, buf_size);
|
||||||
int num_read = stream->size() - stream->tell();
|
|
||||||
|
|
||||||
if (num_read > buf_size)
|
|
||||||
num_read = buf_size;
|
|
||||||
|
|
||||||
stream->read(buf, num_read);
|
|
||||||
return num_read;
|
|
||||||
}
|
}
|
||||||
|
|
||||||
int OgreResource_Write(void *opaque, uint8_t *buf, int buf_size)
|
int OgreResource_Write(void *user_data, uint8_t *buf, int buf_size)
|
||||||
{
|
{
|
||||||
Ogre::DataStreamPtr stream = static_cast<VideoState*>(opaque)->stream;
|
Ogre::DataStreamPtr stream = static_cast<VideoState*>(user_data)->stream;
|
||||||
|
return stream->write(buf, buf_size);
|
||||||
int num_write = stream->size() - stream->tell();
|
|
||||||
|
|
||||||
if (num_write > buf_size)
|
|
||||||
num_write = buf_size;
|
|
||||||
|
|
||||||
stream->write (buf, num_write);
|
|
||||||
return num_write;
|
|
||||||
}
|
}
|
||||||
|
|
||||||
int64_t OgreResource_Seek(void *opaque, int64_t offset, int whence)
|
int64_t OgreResource_Seek(void *user_data, int64_t offset, int whence)
|
||||||
{
|
{
|
||||||
Ogre::DataStreamPtr stream = static_cast<VideoState*>(opaque)->stream;
|
Ogre::DataStreamPtr stream = static_cast<VideoState*>(user_data)->stream;
|
||||||
|
|
||||||
switch (whence)
|
whence &= ~AVSEEK_FORCE;
|
||||||
{
|
if(whence == AVSEEK_SIZE)
|
||||||
case SEEK_SET:
|
return stream->size();
|
||||||
stream->seek(offset);
|
if(whence == SEEK_SET)
|
||||||
case SEEK_CUR:
|
stream->seek(offset);
|
||||||
stream->seek(stream->tell() + offset);
|
else if(whence == SEEK_CUR)
|
||||||
case SEEK_END:
|
stream->seek(stream->tell()+offset);
|
||||||
stream->seek(stream->size() + offset);
|
else if(whence == SEEK_END)
|
||||||
case AVSEEK_SIZE:
|
stream->seek(stream->size()+offset);
|
||||||
return stream->size();
|
else
|
||||||
default:
|
return -1;
|
||||||
return -1;
|
|
||||||
}
|
|
||||||
|
|
||||||
return stream->tell();
|
return stream->tell();
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
void packet_queue_init(PacketQueue *q)
|
void packet_queue_init(PacketQueue *q)
|
||||||
{ memset(q, 0, sizeof(PacketQueue)); }
|
{ memset(q, 0, sizeof(PacketQueue)); }
|
||||||
|
|
||||||
|
|
Loading…
Reference in a new issue