mirror of
https://github.com/ZDoom/Raze.git
synced 2024-11-15 08:51:24 +00:00
- refactored most of the remaining calls to kopen4load
This commit is contained in:
parent
1269a1715f
commit
8c7590e161
11 changed files with 64 additions and 96 deletions
|
@ -170,22 +170,20 @@ int RFS::Open(const char *fileName)
|
|||
{
|
||||
strcpy(_fileName, fileName);
|
||||
|
||||
buildvfs_fd hFile = kopen4loadfrommod(fileName, 0);
|
||||
if (hFile == buildvfs_fd_invalid) {
|
||||
auto hFile = kopenFileReader(fileName, 0);
|
||||
if (!hFile.isOpen()) {
|
||||
initprintf("BARF: Error opening file %s", _fileName);
|
||||
return 1;
|
||||
}
|
||||
|
||||
int fileSize = kfilelength(hFile);
|
||||
int fileSize = hFile.GetLength();
|
||||
_ptr = (char*)Resource::Alloc(fileSize);
|
||||
if (_ptr == NULL) {
|
||||
initprintf("BARF: Not enough memory to read %s", _fileName);
|
||||
kclose(hFile);
|
||||
return 1;
|
||||
}
|
||||
|
||||
kread(hFile, _ptr, fileSize);
|
||||
kclose(hFile);
|
||||
hFile.Read(_ptr, fileSize);
|
||||
|
||||
_curLine = 0;
|
||||
_pUnknown2 = _ptr;
|
||||
|
|
|
@ -151,7 +151,7 @@ void credReset(void)
|
|||
DoUnFade(1);
|
||||
}
|
||||
|
||||
int credKOpen4Load(char *&pzFile)
|
||||
FileReader credKOpen4Load(char *&pzFile)
|
||||
{
|
||||
int nLen = strlen(pzFile);
|
||||
for (int i = 0; i < nLen; i++)
|
||||
|
@ -159,14 +159,14 @@ int credKOpen4Load(char *&pzFile)
|
|||
if (pzFile[i] == '\\')
|
||||
pzFile[i] = '/';
|
||||
}
|
||||
int nHandle = kopen4loadfrommod(pzFile, 0);
|
||||
if (nHandle == -1)
|
||||
auto nHandle = kopenFileReader(pzFile, 0);
|
||||
if (!nHandle.isOpen())
|
||||
{
|
||||
// Hack
|
||||
if (nLen >= 3 && isalpha(pzFile[0]) && pzFile[1] == ':' && pzFile[2] == '/')
|
||||
{
|
||||
pzFile += 3;
|
||||
nHandle = kopen4loadfrommod(pzFile, 0);
|
||||
nHandle = kopenFileReader(pzFile, 0);
|
||||
}
|
||||
}
|
||||
return nHandle;
|
||||
|
@ -197,14 +197,13 @@ void credPlaySmk(const char *_pzSMK, const char *_pzWAV, int nWav)
|
|||
char *pzWAV = Xstrdup(_pzWAV);
|
||||
char *pzSMK_ = pzSMK;
|
||||
char *pzWAV_ = pzWAV;
|
||||
int nHandleSMK = credKOpen4Load(pzSMK);
|
||||
if (nHandleSMK == -1)
|
||||
auto nHandleSMK = credKOpen4Load(pzSMK);
|
||||
if (!nHandleSMK.isOpen())
|
||||
{
|
||||
Bfree(pzSMK_);
|
||||
Bfree(pzWAV_);
|
||||
return;
|
||||
}
|
||||
kclose(nHandleSMK);
|
||||
SmackerHandle hSMK = Smacker_Open(pzSMK);
|
||||
if (!hSMK.isValid)
|
||||
{
|
||||
|
@ -242,10 +241,9 @@ void credPlaySmk(const char *_pzSMK, const char *_pzWAV, int nWav)
|
|||
sndStartWavID(nWav, FXVolume);
|
||||
else
|
||||
{
|
||||
int nHandleWAV = credKOpen4Load(pzWAV);
|
||||
if (nHandleWAV != -1)
|
||||
auto nHandleWAV = credKOpen4Load(pzWAV);
|
||||
if (nHandleWAV.isOpen())
|
||||
{
|
||||
kclose(nHandleWAV);
|
||||
sndStartWavDisk(pzWAV, FXVolume);
|
||||
}
|
||||
}
|
||||
|
|
|
@ -26,6 +26,6 @@ BEGIN_BLD_NS
|
|||
|
||||
void credLogosDos(void);
|
||||
void credReset(void);
|
||||
void credPlaySmk(const char *pzSMK, const char *pzWAV, int nWAV);
|
||||
FileReader credPlaySmk(const char *pzSMK, const char *pzWAV, int nWAV);
|
||||
|
||||
END_BLD_NS
|
||||
|
|
|
@ -219,19 +219,19 @@ bool CDemo::SetupPlayback(const char *pzFile)
|
|||
at1 = 0;
|
||||
if (pzFile)
|
||||
{
|
||||
hPFile = kopen4loadfrommod(pzFile, 0);
|
||||
if (hPFile == -1)
|
||||
hPFile = fopenFileReader(pzFile, 0);
|
||||
if (!hPFile.isOpen())
|
||||
return false;
|
||||
}
|
||||
else
|
||||
{
|
||||
if (!pCurrentDemo)
|
||||
return false;
|
||||
hPFile = kopen4loadfrommod(pCurrentDemo->zName, 0);
|
||||
if (hPFile == -1)
|
||||
hPFile = fopenFileReader(pCurrentDemo->zName, 0);
|
||||
if (hPFile.isOpen())
|
||||
return false;
|
||||
}
|
||||
kread(hPFile, &atf, sizeof(DEMOHEADER));
|
||||
hPFile.Read(&atf, sizeof(DEMOHEADER));
|
||||
#if B_BIG_ENDIAN == 1
|
||||
atf.signature = B_LITTLE32(atf.signature);
|
||||
atf.nVersion = B_LITTLE16(atf.nVersion);
|
||||
|
@ -253,14 +253,14 @@ bool CDemo::SetupPlayback(const char *pzFile)
|
|||
GAMEOPTIONSLEGACY gameOptions;
|
||||
if (BloodVersion != atf.nVersion)
|
||||
return 0;
|
||||
kread(hPFile, &gameOptions, sizeof(GAMEOPTIONSLEGACY));
|
||||
hPFile.Read(&gameOptions, sizeof(GAMEOPTIONSLEGACY));
|
||||
ReadGameOptionsLegacy(m_gameOptions, gameOptions);
|
||||
}
|
||||
else
|
||||
{
|
||||
if (BYTEVERSION != atf.nVersion)
|
||||
return 0;
|
||||
kread(hPFile, &m_gameOptions, sizeof(GAMEOPTIONS));
|
||||
hPFile.Read(&m_gameOptions, sizeof(GAMEOPTIONS));
|
||||
}
|
||||
#if B_BIG_ENDIAN == 1
|
||||
m_gameOptions.nEpisode = B_LITTLE32(m_gameOptions.nEpisode);
|
||||
|
@ -401,7 +401,7 @@ _DEMOPLAYBACK:
|
|||
else
|
||||
{
|
||||
int const nOffset = sizeof(DEMOHEADER)+(m_bLegacy ? sizeof(GAMEOPTIONSLEGACY) : sizeof(GAMEOPTIONS));
|
||||
klseek(hPFile, nOffset, SEEK_SET);
|
||||
hPFile.Seek(nOffset, FileReader::SeekSet);
|
||||
v4 = 0;
|
||||
}
|
||||
}
|
||||
|
@ -444,11 +444,10 @@ void CDemo::LoadDemoInfo(void)
|
|||
auto pIterator = pList;
|
||||
while (pIterator != NULL)
|
||||
{
|
||||
int hFile = kopen4loadfrommod(pIterator->name, 0);
|
||||
if (hFile == -1)
|
||||
auto hFile = fopenFileReader(pIterator->name, 0);
|
||||
if (!hFile.isOpen())
|
||||
ThrowError("Error loading demo file header.");
|
||||
kread(hFile, &atf, sizeof(atf));
|
||||
kclose(hFile);
|
||||
hFile.Read(&atf, sizeof(atf));
|
||||
#if B_BIG_ENDIAN == 1
|
||||
atf.signature = B_LITTLE32(atf.signature);
|
||||
atf.nVersion = B_LITTLE16(atf.nVersion);
|
||||
|
@ -531,7 +530,7 @@ void CDemo::ReadInput(int nCount)
|
|||
if (m_bLegacy)
|
||||
{
|
||||
char pBuffer[nInputSizeLegacy*kInputBufferSize];
|
||||
kread(hPFile, pBuffer, nInputSizeLegacy*nCount);
|
||||
hPFile.Read(pBuffer, nInputSizeLegacy*nCount);
|
||||
BitReader bitReader(pBuffer, sizeof(pBuffer));
|
||||
memset(at1aa, 0, nCount * sizeof(GINPUT));
|
||||
for (int i = 0; i < nCount; i++)
|
||||
|
@ -583,7 +582,7 @@ void CDemo::ReadInput(int nCount)
|
|||
else
|
||||
{
|
||||
char pBuffer[nInputSize*kInputBufferSize];
|
||||
kread(hPFile, pBuffer, nInputSize*nCount);
|
||||
hPFile.Read(pBuffer, nInputSize*nCount);
|
||||
BitReader bitReader(pBuffer, sizeof(pBuffer));
|
||||
memset(at1aa, 0, nCount * sizeof(GINPUT));
|
||||
for (int i = 0; i < nCount; i++)
|
||||
|
|
|
@ -97,7 +97,7 @@ public:
|
|||
bool m_bLegacy;
|
||||
char at2;
|
||||
int at3;
|
||||
int hPFile;
|
||||
FileReader hPFile;
|
||||
FILE *hRFile;
|
||||
int atb;
|
||||
DEMOHEADER atf;
|
||||
|
|
|
@ -130,14 +130,12 @@ void IniFile::Load()
|
|||
|
||||
curNode = &head;
|
||||
|
||||
int fp = kopen4loadfrommod(fileName, 0);
|
||||
if (fp >= 0)
|
||||
auto fp = kopenFileReader(fileName, 0);
|
||||
if (fp.isOpen())
|
||||
{
|
||||
int nSize = kfilelength(fp);
|
||||
void *pBuffer = Xcalloc(1, nSize + 1);
|
||||
kread(fp, pBuffer, nSize);
|
||||
LoadRes(pBuffer);
|
||||
Bfree(pBuffer);
|
||||
int nSize = fp.GetLength();
|
||||
auto pBuffer = fp.Read();
|
||||
LoadRes(pBuffer.Data());
|
||||
}
|
||||
else
|
||||
curNode->next = &head;
|
||||
|
|
|
@ -69,10 +69,8 @@ IniFile *BloodINI;
|
|||
|
||||
void levelInitINI(const char *pzIni)
|
||||
{
|
||||
int fp = kopen4loadfrommod(pzIni, 0);
|
||||
if (fp < 0)
|
||||
if (!testkopen(pzIni, 0))
|
||||
ThrowError("Initialization: %s does not exist", pzIni);
|
||||
kclose(fp);
|
||||
BloodINI = new IniFile(pzIni);
|
||||
Bstrncpy(BloodIniFile, pzIni, BMAX_PATH);
|
||||
Bstrncpy(BloodIniPre, pzIni, BMAX_PATH);
|
||||
|
|
|
@ -59,7 +59,7 @@ void *dword_27AA44 = NULL;
|
|||
|
||||
LoadSave LoadSave::head(123);
|
||||
FILE *LoadSave::hSFile = NULL;
|
||||
int LoadSave::hLFile = -1;
|
||||
FileReader LoadSave::hLFile;
|
||||
|
||||
short word_27AA54 = 0;
|
||||
|
||||
|
@ -82,8 +82,8 @@ void LoadSave::Load(void)
|
|||
void LoadSave::Read(void *pData, int nSize)
|
||||
{
|
||||
dword_27AA38 += nSize;
|
||||
dassert(hLFile != -1);
|
||||
if (kread(hLFile, pData, nSize) != nSize)
|
||||
dassert(hLFile.isOpen());
|
||||
if (hLFile.Read(pData, nSize) != nSize)
|
||||
ThrowError("Error reading save file.");
|
||||
}
|
||||
|
||||
|
@ -112,8 +112,8 @@ void LoadSave::LoadGame(char *pzFile)
|
|||
memset(sprite, 0, sizeof(spritetype)*kMaxSprites);
|
||||
automapping = 1;
|
||||
}
|
||||
hLFile = kopen4load(pzFile, 0);
|
||||
if (hLFile == -1)
|
||||
hLFile = fopenFileReader(pzFile, 0);
|
||||
if (!hLFile.isOpen())
|
||||
ThrowError("Error loading save file.");
|
||||
LoadSave *rover = head.next;
|
||||
while (rover != &head)
|
||||
|
@ -121,8 +121,7 @@ void LoadSave::LoadGame(char *pzFile)
|
|||
rover->Load();
|
||||
rover = rover->next;
|
||||
}
|
||||
kclose(hLFile);
|
||||
hLFile = -1;
|
||||
hLFile.Close();
|
||||
if (!gGameStarted)
|
||||
scrLoadPLUs();
|
||||
InitSectorFX();
|
||||
|
@ -429,33 +428,29 @@ void LoadSavedInfo(void)
|
|||
int nCount = 0;
|
||||
for (auto pIterator = pList; pIterator != NULL && nCount < 10; pIterator = pIterator->next, nCount++)
|
||||
{
|
||||
int hFile = kopen4loadfrommod(pIterator->name, 0);
|
||||
if (hFile == -1)
|
||||
auto hFile = kopenFileReader(pIterator->name, 0);
|
||||
if (!hFile.isOpen())
|
||||
ThrowError("Error loading save file header.");
|
||||
int vc;
|
||||
short v4;
|
||||
vc = 0;
|
||||
v4 = word_27AA54;
|
||||
if ((uint32_t)kread(hFile, &vc, sizeof(vc)) != sizeof(vc))
|
||||
if ((uint32_t)hFile.Read(&vc, sizeof(vc)) != sizeof(vc))
|
||||
{
|
||||
kclose(hFile);
|
||||
continue;
|
||||
}
|
||||
if (vc != 0x5653424e/*'VSBN'*/)
|
||||
{
|
||||
kclose(hFile);
|
||||
continue;
|
||||
}
|
||||
kread(hFile, &v4, sizeof(v4));
|
||||
hFile.Read(&v4, sizeof(v4));
|
||||
if (v4 != BYTEVERSION)
|
||||
{
|
||||
kclose(hFile);
|
||||
continue;
|
||||
}
|
||||
if ((uint32_t)kread(hFile, &gSaveGameOptions[nCount], sizeof(gSaveGameOptions[0])) != sizeof(gSaveGameOptions[0]))
|
||||
if ((uint32_t)hFile.Read(&gSaveGameOptions[nCount], sizeof(gSaveGameOptions[0])) != sizeof(gSaveGameOptions[0]))
|
||||
ThrowError("Error reading save file.");
|
||||
strcpy(strRestoreGameStrings[gSaveGameOptions[nCount].nSaveGameSlot], gSaveGameOptions[nCount].szUserGameName);
|
||||
kclose(hFile);
|
||||
}
|
||||
klistfree(pList);
|
||||
}
|
||||
|
|
|
@ -30,7 +30,7 @@ class LoadSave {
|
|||
public:
|
||||
static LoadSave head;
|
||||
static FILE *hSFile;
|
||||
static int hLFile;
|
||||
static FileReader hLFile;
|
||||
LoadSave *prev;
|
||||
LoadSave *next;
|
||||
LoadSave() {
|
||||
|
|
|
@ -2601,29 +2601,26 @@ static int32_t defsparser(scriptfile *script)
|
|||
break;
|
||||
}
|
||||
|
||||
buildvfs_kfd const fil = kopen4load(fn, 0);
|
||||
if (EDUKE32_PREDICT_FALSE(fil == buildvfs_kfd_invalid))
|
||||
FileReader fil = kopenFileReader(fn, 0);
|
||||
if (!fil.isOpen())
|
||||
{
|
||||
initprintf("Error: basepalette: Failed opening \"%s\" on line %s:%d\n", fn,
|
||||
script->filename, scriptfile_getlinum(script,cmdtokptr));
|
||||
break;
|
||||
}
|
||||
|
||||
if (klseek_and_test(fil, offset, BSEEK_SET))
|
||||
if (fil.Seek(offset, FileReader::SeekSet) < 0)
|
||||
{
|
||||
initprintf("Error: basepalette: Seek failed on line %s:%d\n",
|
||||
script->filename, scriptfile_getlinum(script,cmdtokptr));
|
||||
kclose(fil);
|
||||
break;
|
||||
}
|
||||
|
||||
uint8_t * const palbuf = (uint8_t *)Xmalloc(768);
|
||||
if (kread_and_test(fil,palbuf,768))
|
||||
auto palbuf = fil.Read();
|
||||
if (palbuf.Size() < 768)
|
||||
{
|
||||
initprintf("Error: basepalette: Read failed on line %s:%d\n",
|
||||
script->filename, scriptfile_getlinum(script,cmdtokptr));
|
||||
Xfree(palbuf);
|
||||
kclose(fil);
|
||||
break;
|
||||
}
|
||||
|
||||
|
@ -2633,11 +2630,8 @@ static int32_t defsparser(scriptfile *script)
|
|||
palbuf[k] <<= shiftleft;
|
||||
}
|
||||
|
||||
paletteSetColorTable(id, palbuf);
|
||||
paletteSetColorTable(id, palbuf.Data());
|
||||
didLoadPal = 1;
|
||||
|
||||
Xfree(palbuf);
|
||||
kclose(fil);
|
||||
break;
|
||||
}
|
||||
case T_COPY:
|
||||
|
@ -2781,38 +2775,34 @@ static int32_t defsparser(scriptfile *script)
|
|||
break;
|
||||
}
|
||||
|
||||
buildvfs_kfd const fil = kopen4load(fn, 0);
|
||||
if (EDUKE32_PREDICT_FALSE(fil == buildvfs_kfd_invalid))
|
||||
FileReader fil = kopenFileReader(fn, 0);
|
||||
if (!fil.isOpen())
|
||||
{
|
||||
initprintf("Error: palookup: Failed opening \"%s\" on line %s:%d\n", fn,
|
||||
script->filename, scriptfile_getlinum(script,cmdtokptr));
|
||||
break;
|
||||
}
|
||||
|
||||
if (klseek_and_test(fil, offset, BSEEK_SET))
|
||||
if (fil.Seek(offset, FileReader::SeekSet) < 0)
|
||||
{
|
||||
initprintf("Error: palookup: Seek failed on line %s:%d\n",
|
||||
script->filename, scriptfile_getlinum(script,cmdtokptr));
|
||||
kclose(fil);
|
||||
break;
|
||||
}
|
||||
|
||||
char * const palookupbuf = (char *)Xmalloc(length);
|
||||
int32_t bytesread = kread(fil, palookupbuf, length);
|
||||
if (bytesread < 256)
|
||||
auto palookupbuf = fil.Read();
|
||||
if (palookupbuf.Size() < 256)
|
||||
{
|
||||
initprintf("Error: palookup: Read failed on line %s:%d\n",
|
||||
script->filename, scriptfile_getlinum(script,cmdtokptr));
|
||||
Xfree(palookupbuf);
|
||||
kclose(fil);
|
||||
break;
|
||||
}
|
||||
|
||||
if (bytesread == 256*32)
|
||||
if (palookupbuf >= 256*32)
|
||||
{
|
||||
didLoadShade = 1;
|
||||
numshades = 32;
|
||||
paletteSetLookupTable(id, (uint8_t *)palookupbuf);
|
||||
paletteSetLookupTable(id, palookupbuf.Data());
|
||||
}
|
||||
else
|
||||
{
|
||||
|
@ -2825,9 +2815,6 @@ static int32_t defsparser(scriptfile *script)
|
|||
|
||||
paletteMakeLookupTable(id, palookupbuf, 0,0,0, g_noFloorPal[id]);
|
||||
}
|
||||
|
||||
Xfree(palookupbuf);
|
||||
kclose(fil);
|
||||
break;
|
||||
}
|
||||
case T_COPY:
|
||||
|
@ -3081,37 +3068,31 @@ static int32_t defsparser(scriptfile *script)
|
|||
break;
|
||||
}
|
||||
|
||||
buildvfs_kfd const fil = kopen4load(fn, 0);
|
||||
if (EDUKE32_PREDICT_FALSE(fil == buildvfs_kfd_invalid))
|
||||
FileReader fil = kopenFileReader(fn, 0);
|
||||
if (!fil.isOpen())
|
||||
{
|
||||
initprintf("Error: blendtable: Failed opening \"%s\" on line %s:%d\n", fn,
|
||||
script->filename, scriptfile_getlinum(script,cmdtokptr));
|
||||
break;
|
||||
}
|
||||
|
||||
if (klseek_and_test(fil, offset, BSEEK_SET))
|
||||
if (fil.Seek(offset, FileReader::SeekSet) < 0)
|
||||
{
|
||||
initprintf("Error: blendtable: Seek failed on line %s:%d\n",
|
||||
script->filename, scriptfile_getlinum(script,cmdtokptr));
|
||||
kclose(fil);
|
||||
break;
|
||||
}
|
||||
|
||||
char * const blendbuf = (char *)Xmalloc(256*256);
|
||||
if (kread_and_test(fil,blendbuf,256*256))
|
||||
auto blendbuf = fil.Read();
|
||||
if (blendbuf.Size() < 256*256)
|
||||
{
|
||||
initprintf("Error: blendtable: Read failed on line %s:%d\n",
|
||||
script->filename, scriptfile_getlinum(script,cmdtokptr));
|
||||
Xfree(blendbuf);
|
||||
kclose(fil);
|
||||
break;
|
||||
}
|
||||
|
||||
paletteSetBlendTable(id, blendbuf);
|
||||
didLoadTransluc = 1;
|
||||
|
||||
Xfree(blendbuf);
|
||||
kclose(fil);
|
||||
break;
|
||||
}
|
||||
case T_COPY:
|
||||
|
|
|
@ -547,6 +547,7 @@ void paletteSetBlendTable(int32_t blend, const char *tab)
|
|||
blendtable[blend] = (char *) Xmalloc(256*256);
|
||||
|
||||
Bmemcpy(blendtable[blend], tab, 256*256);
|
||||
// Todo: Calculate an alpha factor from the loaded data so that the hardware renderer uses the proper amount of tranlucency.
|
||||
}
|
||||
void paletteFreeBlendTable(int32_t const blend)
|
||||
{
|
||||
|
|
Loading…
Reference in a new issue