summaryrefslogtreecommitdiff
path: root/Source/Plugins/Plugin_VideoOGL/Src/DataReader.cpp
diff options
context:
space:
mode:
authorhrydgard <hrydgard@gmail.com>2008-08-31 13:36:52 +0000
committerhrydgard <hrydgard@gmail.com>2008-08-31 13:36:52 +0000
commit09406d76c44d3a8efb1932b8d7f1345ae0e4c604 (patch)
tree3149bf6c83f7d010ce291b7df832660c6dd00db2 /Source/Plugins/Plugin_VideoOGL/Src/DataReader.cpp
parentd9e129ae99bb11edfc59053c97c1d798e1ab4dad (diff)
Fix/workaround at least one class of buffer underruns in the GL plugin. Fix some bad deletes (instead of delete []). etc.
git-svn-id: https://dolphin-emu.googlecode.com/svn/trunk@404 8ced0084-cf51-0410-be5f-012b33b47a6e
Diffstat (limited to 'Source/Plugins/Plugin_VideoOGL/Src/DataReader.cpp')
-rw-r--r--Source/Plugins/Plugin_VideoOGL/Src/DataReader.cpp20
1 files changed, 16 insertions, 4 deletions
diff --git a/Source/Plugins/Plugin_VideoOGL/Src/DataReader.cpp b/Source/Plugins/Plugin_VideoOGL/Src/DataReader.cpp
index 43697ff5b4..d1a4b9788e 100644
--- a/Source/Plugins/Plugin_VideoOGL/Src/DataReader.cpp
+++ b/Source/Plugins/Plugin_VideoOGL/Src/DataReader.cpp
@@ -26,6 +26,7 @@ IDataReader* g_pDataReader = NULL;
extern u8 FAKE_ReadFifo8();
extern u16 FAKE_ReadFifo16();
extern u32 FAKE_ReadFifo32();
+extern int FAKE_GetPosition();
extern void FAKE_SkipFifo(u32 skip);
CDataReader_Fifo::CDataReader_Fifo(void)
@@ -53,6 +54,12 @@ void CDataReader_Fifo::Skip(u32 skip)
return FAKE_SkipFifo(skip);
}
+int CDataReader_Fifo::GetPosition()
+{
+ return FAKE_GetPosition();
+}
+
+
// =================================================================================================
// CDataReader_Memory
// =================================================================================================
@@ -64,26 +71,31 @@ CDataReader_Memory::CDataReader_Memory(u32 _uAddress) :
m_szName = "CDataReader_Memory";
}
-u32 CDataReader_Memory::GetReadAddress(void)
+u32 CDataReader_Memory::GetReadAddress()
+{
+ return m_uReadAddress;
+}
+
+int CDataReader_Memory::GetPosition()
{
return m_uReadAddress;
}
-u8 CDataReader_Memory::Read8(void)
+u8 CDataReader_Memory::Read8()
{
u8 tmp = Memory_Read_U8(m_uReadAddress);//m_pMemory[m_uReadAddress];
m_uReadAddress++;
return tmp;
}
-u16 CDataReader_Memory::Read16(void)
+u16 CDataReader_Memory::Read16()
{
u16 tmp = Memory_Read_U16(m_uReadAddress);//_byteswap_ushort(*(u16*)&m_pMemory[m_uReadAddress]);
m_uReadAddress += 2;
return tmp;
}
-u32 CDataReader_Memory::Read32(void)
+u32 CDataReader_Memory::Read32()
{
u32 tmp = Memory_Read_U32(m_uReadAddress);//_byteswap_ulong(*(u32*)&m_pMemory[m_uReadAddress]);
m_uReadAddress += 4;