diff --git a/src/d_dehacked.cpp b/src/d_dehacked.cpp index ddabdb7721..d92aef424c 100644 --- a/src/d_dehacked.cpp +++ b/src/d_dehacked.cpp @@ -2492,11 +2492,11 @@ bool D_LoadDehLump(int lumpnum) bool D_LoadDehFile(const char *patchfile) { - FileReader fr; + FileRdr fr; - if (fr.Open(patchfile)) + if (fr.OpenFile(patchfile)) { - PatchSize = fr.GetLength(); + PatchSize = (int)fr.GetLength(); PatchName = copystring(patchfile); PatchFile = new char[PatchSize + 1]; diff --git a/src/g_game.cpp b/src/g_game.cpp index 2ca349631e..836805677f 100644 --- a/src/g_game.cpp +++ b/src/g_game.cpp @@ -2801,8 +2801,8 @@ void G_DoPlayDemo (void) { FixPathSeperator (defdemoname); DefaultExtension (defdemoname, ".lmp"); - FileReader fr; - if (!fr.Open(defdemoname)) + FileRdr fr; + if (!fr.OpenFile(defdemoname)) { I_Error("Unable to open demo '%s'", defdemoname.GetChars()); } diff --git a/src/m_misc.cpp b/src/m_misc.cpp index 481f956b51..4f13802ce0 100644 --- a/src/m_misc.cpp +++ b/src/m_misc.cpp @@ -121,15 +121,15 @@ void M_FindResponseFile (void) if (added_stuff < limit) { // READ THE RESPONSE FILE INTO MEMORY - FileReader fr; - if (!fr.Open(Args->GetArg(i) + 1)) + FileRdr fr; + if (!fr.OpenFile(Args->GetArg(i) + 1)) { // [RH] Make this a warning, not an error. Printf ("No such response file (%s)!\n", Args->GetArg(i) + 1); } else { Printf ("Found response file %s!\n", Args->GetArg(i) + 1); - size = fr.GetLength(); + size = (int)fr.GetLength(); file = new char[size+1]; fr.Read (file, size); file[size] = 0; diff --git a/src/sc_man.cpp b/src/sc_man.cpp index b78b7a305e..2056ca60b0 100644 --- a/src/sc_man.cpp +++ b/src/sc_man.cpp @@ -248,8 +248,8 @@ bool FScanner::OpenFile (const char *name) { Close (); - FileReader fr; - if (!fr.Open(name)) return false; + FileRdr fr; + if (!fr.OpenFile(name)) return false; auto filesize = fr.GetLength(); auto filebuf = new uint8_t[filesize]; if (fr.Read(filebuf, filesize) != filesize) diff --git a/src/sound/i_soundfont.cpp b/src/sound/i_soundfont.cpp index 38b1f70b77..e807261107 100644 --- a/src/sound/i_soundfont.cpp +++ b/src/sound/i_soundfont.cpp @@ -291,8 +291,8 @@ void FSoundFontManager::ProcessOneFile(const FString &fn) if (!sfi.mName.CompareNoCase(fb)) return; } - FileReader fr; - if (fr.Open(fn)) + FileRdr fr; + if (fr.OpenFile(fn)) { // Try to identify. We only accept .sf2 and .zip by content. All other archives are intentionally ignored. char head[16] = { 0}; @@ -433,8 +433,8 @@ FSoundFontReader *FSoundFontManager::OpenSoundFont(const char *name, int allowed // Next check if the file is a .sf file if (allowed & SF_SF2) { - FileReader fr; - if (fr.Open(name)) + FileRdr fr; + if (fr.OpenFile(name)) { char head[16] = { 0}; fr.Read(head, 16); @@ -447,8 +447,8 @@ FSoundFontReader *FSoundFontManager::OpenSoundFont(const char *name, int allowed } if (allowed & SF_GUS) { - FileReader fr; - if (fr.Open(name)) + FileRdr fr; + if (fr.OpenFile(name)) { char head[16] = { 0 }; fr.Read(head, 2); diff --git a/src/sound/mpg123_decoder.cpp b/src/sound/mpg123_decoder.cpp index db3489aa06..0a2f9fa2e8 100644 --- a/src/sound/mpg123_decoder.cpp +++ b/src/sound/mpg123_decoder.cpp @@ -145,7 +145,8 @@ bool MPG123Decoder::open(FileRdr &reader) MPG123 = 0; } - return false; + reader = std::move(Reader); // need to give it back. + return false; } void MPG123Decoder::getInfo(int *samplerate, ChannelConfig *chans, SampleType *type) diff --git a/src/sound/sndfile_decoder.cpp b/src/sound/sndfile_decoder.cpp index 07c7c81c31..ef24748aa5 100644 --- a/src/sound/sndfile_decoder.cpp +++ b/src/sound/sndfile_decoder.cpp @@ -127,7 +127,8 @@ bool SndFileDecoder::open(FileRdr &reader) sf_close(SndFile); SndFile = 0; } - return false; + reader = std::move(Reader); // need to give it back. + return false; } void SndFileDecoder::getInfo(int *samplerate, ChannelConfig *chans, SampleType *type) diff --git a/src/sound/timiditypp/instrum.cpp b/src/sound/timiditypp/instrum.cpp index 86053e5186..ddd0d8fab2 100644 --- a/src/sound/timiditypp/instrum.cpp +++ b/src/sound/timiditypp/instrum.cpp @@ -75,6 +75,8 @@ Instruments::~Instruments() free_tone_bank(); free_instrument_map(); + + if (sfreader != nullptr) delete sfreader; } void Instruments::free_instrument(Instrument *ip) diff --git a/src/textures/buildtexture.cpp b/src/textures/buildtexture.cpp index d23e5e6f2f..78d606a7ef 100644 --- a/src/textures/buildtexture.cpp +++ b/src/textures/buildtexture.cpp @@ -306,14 +306,14 @@ int FTextureManager::CountBuildTiles () FString artpath = rffpath; artpath += artfile; - FileReader fr; + FileRdr fr; - if (!fr.Open(artpath)) + if (!fr.OpenFile(artpath)) { break; } - long len = fr.GetLength(); + auto len = fr.GetLength(); uint8_t *art = new uint8_t[len]; if (fr.Read (art, len) != len || (numtiles = CountTiles(art)) == 0) {