mirror of
https://github.com/FWGS/xash3d-fwgs
synced 2024-11-22 09:56:22 +01:00
3rdparty: MultiEmulator: remove unused code
This commit is contained in:
parent
434359ea01
commit
6a1f502d25
128
3rdparty/MultiEmulator/src/DoubleBuffering.cpp
vendored
128
3rdparty/MultiEmulator/src/DoubleBuffering.cpp
vendored
@ -1,128 +0,0 @@
|
||||
//DoubleBuffering.cpp Source File
|
||||
|
||||
#include "DoubleBuffering.h"
|
||||
#include <cassert>
|
||||
#include <exception>
|
||||
#include <string.h>
|
||||
|
||||
using namespace std;
|
||||
|
||||
CDoubleBuffering::CDoubleBuffering(ifstream& in, char* pcBuff, int iSize, int iDataLen) : m_rin(in),
|
||||
m_iDataLen(iDataLen), m_bEOF(false), m_iSize(iSize), m_iSize2(iSize >> 1), m_pcBuff(pcBuff)
|
||||
{
|
||||
//m_iSize should be even
|
||||
if(m_iSize%2 != 0)
|
||||
throw runtime_error("CDoubleBuffering: m_iSize should be Even Number!");
|
||||
//Check file
|
||||
if(!in.is_open() || in.bad())
|
||||
throw runtime_error("CDoubleBuffering: Referenced File not Opened or in Bad State!");
|
||||
//Check construction data
|
||||
if(m_iDataLen<1 || m_iSize2<m_iDataLen)
|
||||
throw runtime_error("CDoubleBuffering: Illegal Construction Data!");
|
||||
in.read(m_pcBuff, m_iSize2);
|
||||
m_iEnd = m_rin.gcount();
|
||||
m_iCurPos = 0;
|
||||
m_iBuf = 0;
|
||||
}
|
||||
|
||||
int CDoubleBuffering::GetData(char* pszDataBuf, int iDataLen)
|
||||
{
|
||||
if(-1 == iDataLen)
|
||||
iDataLen = m_iDataLen;
|
||||
if(iDataLen<1 || m_iSize2<iDataLen)
|
||||
throw runtime_error("CDoubleBuffering::GetData(): Illegal iDataLen!");
|
||||
if(true == m_bEOF)
|
||||
return 0;
|
||||
//Estimate the next position
|
||||
int iCurPos = m_iCurPos + iDataLen;
|
||||
if(0 == m_iBuf) //First Buffer
|
||||
{
|
||||
if(iCurPos >= m_iEnd)
|
||||
{
|
||||
//Read the next buffer
|
||||
if(m_rin.eof())
|
||||
{
|
||||
m_bEOF = true;
|
||||
//Take everything remained
|
||||
int iRead = m_iEnd-m_iCurPos;
|
||||
memcpy(pszDataBuf, m_pcBuff+m_iCurPos, iRead);
|
||||
return iRead;
|
||||
}
|
||||
else
|
||||
{
|
||||
m_rin.read(m_pcBuff+m_iEnd, m_iSize2);
|
||||
m_iEnd += m_rin.gcount();
|
||||
if(iCurPos > m_iEnd) //Still greater, then EOF attained
|
||||
{
|
||||
assert(m_rin.eof());
|
||||
m_bEOF = true;
|
||||
//Take everything remained
|
||||
int iRead = m_iEnd-m_iCurPos;
|
||||
memcpy(pszDataBuf, m_pcBuff+m_iCurPos, iRead);
|
||||
return iRead;
|
||||
}
|
||||
else
|
||||
{
|
||||
memcpy(pszDataBuf, m_pcBuff+m_iCurPos, iDataLen);
|
||||
m_iCurPos = iCurPos;
|
||||
assert(m_iCurPos >= m_iSize2);
|
||||
m_iBuf = 1;
|
||||
return iDataLen;
|
||||
}
|
||||
}
|
||||
}
|
||||
else
|
||||
{
|
||||
memcpy(pszDataBuf, m_pcBuff+m_iCurPos, iDataLen);
|
||||
m_iCurPos = iCurPos;
|
||||
return iDataLen;
|
||||
}
|
||||
}
|
||||
else //1 == m_iBuf, Second Buffer
|
||||
{
|
||||
if(iCurPos >= m_iEnd)
|
||||
{
|
||||
//Read the next buffer
|
||||
if(m_rin.eof())
|
||||
{
|
||||
m_bEOF = true;
|
||||
//Take everything remained
|
||||
int iRead = m_iEnd-m_iCurPos;
|
||||
memcpy(pszDataBuf, m_pcBuff+m_iCurPos, iRead);
|
||||
return iRead;
|
||||
}
|
||||
else
|
||||
{
|
||||
m_rin.read(m_pcBuff, m_iSize2);
|
||||
m_iEnd = m_rin.gcount();
|
||||
iCurPos %= m_iSize;
|
||||
if(iCurPos > m_iEnd) //Still greater, then EOF attained
|
||||
{
|
||||
assert(m_rin.eof());
|
||||
m_bEOF = true;
|
||||
//Take everything remained
|
||||
int iRead = m_iSize-m_iCurPos;
|
||||
memcpy(pszDataBuf, m_pcBuff+m_iCurPos, iRead);
|
||||
memcpy(pszDataBuf+iRead, m_pcBuff, m_iEnd);
|
||||
return iRead + m_iEnd;
|
||||
}
|
||||
else
|
||||
{
|
||||
int iRead = m_iSize-m_iCurPos;
|
||||
memcpy(pszDataBuf, m_pcBuff+m_iCurPos, iRead);
|
||||
memcpy(pszDataBuf+iRead, m_pcBuff, iDataLen-iRead);
|
||||
m_iCurPos = iCurPos;
|
||||
assert(m_iCurPos < m_iSize2);
|
||||
m_iBuf = 0;
|
||||
return iDataLen;
|
||||
}
|
||||
}
|
||||
}
|
||||
else
|
||||
{
|
||||
memcpy(pszDataBuf, m_pcBuff+m_iCurPos, iDataLen);
|
||||
m_iCurPos = iCurPos;
|
||||
return iDataLen;
|
||||
}
|
||||
}
|
||||
}
|
40
3rdparty/MultiEmulator/src/DoubleBuffering.h
vendored
40
3rdparty/MultiEmulator/src/DoubleBuffering.h
vendored
@ -1,40 +0,0 @@
|
||||
//DoubleBuffering.h Header File
|
||||
|
||||
#ifndef __DOUBLEBUFFERING_H__
|
||||
#define __DOUBLEBUFFERING_H__
|
||||
|
||||
//Typical DISCLAIMER:
|
||||
//The code in this project is Copyright (C) 2003 by George Anescu. You have the right to
|
||||
//use and distribute the code in any way you see fit as long as this paragraph is included
|
||||
//with the distribution. No warranties or claims are made as to the validity of the
|
||||
//information and code contained herein, so use it at your own risk.
|
||||
|
||||
#include <fstream>
|
||||
|
||||
using namespace std;
|
||||
|
||||
class CDoubleBuffering
|
||||
{
|
||||
public:
|
||||
//Constructor
|
||||
CDoubleBuffering(ifstream& in, char* pcBuff, int iSize, int iDataLen);
|
||||
//Get Next Data Buffer
|
||||
int GetData(char* pszDataBuf, int iDataLen=-1);
|
||||
|
||||
private:
|
||||
ifstream& m_rin;
|
||||
int m_iSize;
|
||||
int m_iSize2; //m_iSize/2
|
||||
int m_iDataLen;
|
||||
//Current Position
|
||||
int m_iCurPos;
|
||||
//End Position
|
||||
int m_iEnd;
|
||||
//Which Buffer
|
||||
int m_iBuf;
|
||||
char* m_pcBuff;
|
||||
//EOF attained
|
||||
bool m_bEOF;
|
||||
};
|
||||
|
||||
#endif //__DOUBLEBUFFERING_H__
|
38
3rdparty/MultiEmulator/src/MessageDigest.cpp
vendored
38
3rdparty/MultiEmulator/src/MessageDigest.cpp
vendored
@ -1,38 +0,0 @@
|
||||
//MessageDigest.cpp
|
||||
|
||||
#include "MessageDigest.h"
|
||||
#include "DoubleBuffering.h"
|
||||
|
||||
#include <exception>
|
||||
#include <fstream>
|
||||
#include <strstream>
|
||||
|
||||
using namespace std;
|
||||
|
||||
//Digesting a Full File
|
||||
void IMessageDigest::DigestFile(string const& rostrFileIn, char* pcDigest)
|
||||
{
|
||||
//Is the User's responsability to ensure that pcDigest is appropriately allocated
|
||||
//Open Input File
|
||||
ifstream in(rostrFileIn.c_str(), ios::binary);
|
||||
if(!in)
|
||||
{
|
||||
ostrstream ostr;
|
||||
ostr << "FileDigest ERROR: in IMessageDigest::DigestFile(): Cannot open File " << rostrFileIn << "!" << ends;
|
||||
string ostrMsg = ostr.str();
|
||||
ostr.freeze(false);
|
||||
throw runtime_error(ostrMsg);
|
||||
}
|
||||
//Resetting first
|
||||
Reset();
|
||||
//Reading from file
|
||||
char szLargeBuff[BUFF_LEN+1] = {0};
|
||||
char szBuff[DATA_LEN+1] = {0};
|
||||
CDoubleBuffering oDoubleBuffering(in, szLargeBuff, BUFF_LEN, DATA_LEN);
|
||||
int iRead;
|
||||
while((iRead=oDoubleBuffering.GetData(szBuff)) > 0)
|
||||
AddData(szBuff, iRead);
|
||||
in.close();
|
||||
//Final Step
|
||||
FinalDigest(pcDigest);
|
||||
}
|
2
3rdparty/MultiEmulator/src/MessageDigest.h
vendored
2
3rdparty/MultiEmulator/src/MessageDigest.h
vendored
@ -28,8 +28,6 @@ public:
|
||||
virtual void FinalDigest(char* pcDigest) = 0;
|
||||
//Reset current operation in order to prepare for a new one
|
||||
virtual void Reset() = 0;
|
||||
//Digesting a Full File
|
||||
void DigestFile(string const& rostrFileIn, char* pcDigest);
|
||||
|
||||
protected:
|
||||
enum { BLOCKSIZE=64 };
|
||||
|
Loading…
Reference in New Issue
Block a user