- adapted to backend changes.

This commit is contained in:
Christoph Oelckers 2023-08-19 18:08:27 +02:00
parent cf19d75242
commit 3c695a5abd
29 changed files with 127 additions and 102 deletions

View file

@ -1078,6 +1078,7 @@ set (PCH_SOURCES
common/textures/formats/stbtexture.cpp
common/textures/formats/anmtexture.cpp
common/textures/formats/startscreentexture.cpp
common/textures/formats/qoitexture.cpp
common/textures/hires/hqresize.cpp
common/models/models_md3.cpp
common/models/models_md2.cpp

View file

@ -176,7 +176,7 @@ static TArray<FString> CheckGameInfo(TArray<FString>& pwads)
resfile = FResourceFile::OpenResourceFile(filename, fr, true);
}
else
resfile = FResourceFile::OpenDirectory(filename, true);
resfile = FResourceFile::OpenDirectory(filename);
FName gameinfo = "GAMEINFO.TXT";
if (resfile != NULL)
@ -189,7 +189,7 @@ static TArray<FString> CheckGameInfo(TArray<FString>& pwads)
if (FName(lmp->getName(), true) == gameinfo)
{
// Found one!
auto bases = ParseGameInfo(pwads, resfile->FileName, (const char*)lmp->Lock(), lmp->LumpSize);
auto bases = ParseGameInfo(pwads, resfile->FileName.c_str(), (const char*)lmp->Lock(), lmp->LumpSize);
delete resfile;
return bases;
}
@ -279,7 +279,6 @@ static void DeleteStuff(FileSystem &fileSystem, const TArray<FString>& deletelum
//
//
//==========================================================================
const char* iwad_folders[13] = { "textures/", "hires/", "sounds/", "music/", "maps/" };
const char* iwad_reserved_duke[12] = { ".map", "rmapinfo", ".con", "menudef", "gldefs", "zscript", "maps/", nullptr };
const char* iwad_reserved_blood[12] = { ".map", "rmapinfo", ".ini", "menudef", "gldefs", "zscript", "maps/", nullptr };
const char* iwad_reserved_sw[12] = { ".map", "rmapinfo", "swcustom.txt", "menudef", "gldefs", "zscript", "maps/", nullptr };
@ -292,6 +291,36 @@ const char** iwad_reserved()
(g_gameType & GAMEFLAG_BLOOD) ? iwad_reserved_blood : iwad_reserved_duke;
}
static int FileSystemPrintf(FSMessageLevel level, const char* fmt, ...)
{
va_list arg;
va_start(arg, fmt);
FString text;
text.VFormat(fmt, arg);
switch (level)
{
case FSMessageLevel::Error:
return Printf(TEXTCOLOR_RED "%s", text.GetChars());
break;
case FSMessageLevel::Warning:
Printf(TEXTCOLOR_YELLOW "%s", text.GetChars());
break;
case FSMessageLevel::Attention:
Printf(TEXTCOLOR_BLUE "%s", text.GetChars());
break;
case FSMessageLevel::Message:
Printf("%s", text.GetChars());
break;
case FSMessageLevel::DebugWarn:
DPrintf(DMSG_WARNING, "%s", text.GetChars());
break;
case FSMessageLevel::DebugNotify:
DPrintf(DMSG_NOTIFY, "%s", text.GetChars());
break;
}
return (int)text.Len();
}
void InitFileSystem(TArray<GrpEntry>& groups)
{
TArray<int> dependencies;
@ -392,24 +421,23 @@ void InitFileSystem(TArray<GrpEntry>& groups)
}
todelete.Append(userConfig.toBeDeleted);
LumpFilterInfo lfi;
for (auto p : iwad_folders) lfi.reservedFolders.Push(p);
for (auto p = iwad_reserved(); *p; p++) lfi.requiredPrefixes.Push(*p);
lfi.reservedFolders = { "textures/", "hires/", "sounds/", "music/", "maps/" };
for (auto p = iwad_reserved(); *p; p++) lfi.requiredPrefixes.push_back(*p);
if (isBlood())
{
lfi.embeddings.Push("blood.rff");
lfi.embeddings.Push("sounds.rff");
lfi.embeddings = { "blood.rff", "sounds.rff" };
}
lfi.dotFilter = LumpFilter;
if (isDukeEngine()) lfi.gameTypeFilter.Push("DukeEngine");
if (isDukeLike()) lfi.gameTypeFilter.Push("DukeLike");
if (isDukeEngine()) lfi.gameTypeFilter.push_back("DukeEngine");
if (isDukeLike()) lfi.gameTypeFilter.push_back("DukeLike");
lfi.postprocessFunc = [&]()
{
DeleteStuff(fileSystem, todelete, groups.Size());
};
fileSystem.InitMultipleFiles(Files, false, &lfi);
fileSystem.InitMultipleFiles(Files, &lfi);
if (Args->CheckParm("-dumpfs"))
{
FILE* f = fopen("filesystem.dir", "wb");

View file

@ -320,7 +320,7 @@ CCMD(md4sum)
{
auto data = fr.Read();
uint8_t digest[16];
md4once(data.Data(), data.Size(), digest);
md4once(data.data(), data.size(), digest);
for (int j = 0; j < 16; ++j)
{
Printf("%02x", digest[j]);

View file

@ -50,6 +50,7 @@
#include "tiletexture.h"
#include "games/blood/src/mapstructs.h"
#include "buildtiles.h"
#include "m_swap.h"
extern BitArray clipsectormap;
@ -546,7 +547,7 @@ void loadMap(const char* filename, int flags, DVector3* pos, int16_t* ang, secto
fr.Seek(0, FileReader::SeekSet);
auto buffer = fr.Read();
uint8_t md4[16];
md4once(buffer.Data(), buffer.Size(), md4);
md4once(buffer.data(), (unsigned)buffer.size(), md4);
PostProcessLevel(md4, filename, sprites);
loadMapHack(filename, md4, sprites);
setWallSectors();
@ -697,7 +698,7 @@ TArray<walltype> loadMapWalls(const char* filename)
if (isBlood())
{
auto data = fr.Read();
P_LoadBloodMapWalls(data.Data(), data.Size(), lwalls);
P_LoadBloodMapWalls(data.data(), data.size(), lwalls);
return lwalls;
}

View file

@ -45,6 +45,7 @@
#include "v_video.h"
#include "findfile.h"
#include "v_draw.h"
#include "fs_findfile.h"
#include "savegamehelp.h"
//=============================================================================
@ -59,22 +60,14 @@ void FSavegameManager::ReadSaveStrings()
{
if (SaveGames.Size() == 0)
{
void *filefirst;
findstate_t c_file;
FString filter;
LastSaved = LastAccessed = -1;
quickSaveSlot = nullptr;
filter = G_BuildSaveName("*");
filefirst = I_FindFirst(filter.GetChars(), &c_file);
if (filefirst != ((void *)(-1)))
FileList list;
if (ScanDirectory(list, G_GetSavegamesFolder().GetChars(), "*." SAVEGAME_EXT, true))
{
do
for (auto& entry : list)
{
// I_FindName only returns the file's name and not its full path
FString filepath = G_BuildSaveName(I_FindName(&c_file));
FResourceFile *savegame = FResourceFile::OpenResourceFile(filepath, true, true);
FResourceFile *savegame = FResourceFile::OpenResourceFile(entry.FilePath.c_str(), true);
if (savegame != nullptr)
{
FResourceLump *info = savegame->FindLump("info.json");
@ -92,15 +85,14 @@ void FSavegameManager::ReadSaveStrings()
if (check != 0)
{
FSaveGameNode *node = new FSaveGameNode;
node->Filename = filepath;
node->Filename = entry.FilePath.c_str();
node->bOldVersion = check == -1;
node->bMissingWads = check == -2;
node->SaveTitle = title;
InsertSaveNode(node);
}
}
} while (I_FindNext (filefirst, &c_file) == 0);
I_FindClose (filefirst);
}
}
}
}

View file

@ -124,8 +124,8 @@ void paletteLoadFromDisk(void)
// Read base shade table (lookuptables 0).
unsigned length = numshades * 256;
auto buffer = fil.Read(length);
if (buffer.Size() != length) return;
lookups.setTable(0, buffer.Data());
if (buffer.size() != length) return;
lookups.setTable(0, buffer.data());
paletteloaded |= PALETTE_SHADE | PALETTE_TRANSLUC;
}

View file

@ -15,6 +15,7 @@
#include "filesystem.h"
#include "zstring.h"
#include "palentry.h"
#include "basics.h"
enum

View file

@ -4,6 +4,7 @@
class FSerializer;
struct IntRect;
class FGameTexture;
void render_drawrooms(DCoreActor* playersprite, const DVector3& position, sectortype* sectnum, const DRotator& angles, double interpfrac, float fov = -1);
void render_camtex(DCoreActor* playersprite, const DVector3& position, sectortype* sect, const DRotator& angles, FGameTexture* camtex, IntRect& rect, double interpfrac);

View file

@ -77,7 +77,7 @@ void BunchDrawer::Init(HWDrawInfo *_di, Clipper* c, const DVector2& view, angle_
DVector2 vv;
vv.X = w.pos.X - view.X;
vv.Y = w.pos.Y + view.Y; // beware of different coordinate systems!
w.clipangle = RAD2BAM(atan2(vv.Y, vv.X));
w.clipangle = vv.Angle().BAMs();
}
memset(sectionstartang.Data(), -1, sectionstartang.Size() * sizeof(sectionstartang[0]));
memset(sectionendang.Data(), -1, sectionendang.Size() * sizeof(sectionendang[0]));

View file

@ -539,7 +539,7 @@ bool HWMirrorPortal::Setup(HWDrawInfo *di, FRenderState &rstate, Clipper *clippe
double newx = x * 2 + dx * i / j - view.X;
double newy = y * 2 + dy * i / j - view.Y;
auto myan = RAD2BAM(atan2(dy, dx));
auto myan = VecToAngle(dx, dy).BAMs();
auto newan = myan + myan - vp.RotAngle;
vp.RotAngle = newan;
@ -563,8 +563,8 @@ bool HWMirrorPortal::Setup(HWDrawInfo *di, FRenderState &rstate, Clipper *clippe
ClearClipper(di, clipper);
auto startan = RAD2BAM(atan2(line->pos.Y - newy, line->pos.X - newx));
auto endan = RAD2BAM(atan2(line->point2Wall()->pos.Y - newy, line->point2Wall()->pos.X - newx));
auto startan = VecToAngle(line->pos.X - newx, line->pos.Y - newy).BAMs();
auto endan = VecToAngle(line->point2Wall()->pos.X - newx, line->point2Wall()->pos.Y - newy).BAMs();
clipper->RestrictVisibleRange(endan, startan); // we check the line from the backside so angles are reversed.
return true;
}
@ -636,8 +636,8 @@ bool HWLineToLinePortal::Setup(HWDrawInfo *di, FRenderState &rstate, Clipper *cl
ClearClipper(di, clipper);
auto startan = RAD2BAM(atan2(origin->pos.Y + oldvp.Y, origin->pos.X - oldvp.X));
auto endan = RAD2BAM(atan2(origin->point2Wall()->pos.Y + oldvp.Y, origin->point2Wall()->pos.X - oldvp.X));
auto startan = VecToAngle(origin->pos.X - oldvp.X, origin->pos.Y + oldvp.Y).BAMs();
auto endan = VecToAngle(origin->point2Wall()->pos.X - oldvp.X, origin->point2Wall()->pos.Y + oldvp.Y).BAMs();
clipper->RestrictVisibleRange(startan, endan);
return true;
}
@ -689,8 +689,8 @@ bool HWLineToSpritePortal::Setup(HWDrawInfo* di, FRenderState& rstate, Clipper*
ClearClipper(di, clipper);
auto startan = RAD2BAM(atan2(origin->pos.Y - origy, origin->pos.X - origx));
auto endan = RAD2BAM(atan2(origin->point2Wall()->pos.Y - origy, origin->point2Wall()->pos.X - origx));
auto startan = VecToAngle(origin->pos.X - origx, origin->pos.Y - origy).BAMs();
auto endan = VecToAngle(origin->point2Wall()->pos.X - origx, origin->point2Wall()->pos.Y - origy).BAMs();
clipper->RestrictVisibleRange(startan, endan);
return true;
}

View file

@ -85,7 +85,8 @@ bool RTS_IsInitialized()
auto fr = fileSystem.OpenFileReader(RTSName);
RTSName = ""; // don't try ever again.
if (!fr.isOpen()) return false;
RTSFile = fr.Read();
RTSFile.Resize(fr.GetLength());
fr.Read(RTSFile.Data(), fr.GetLength());
if (RTSFile.Size() >= 28) // minimum size for one entry
{
WadInfo *wi = (WadInfo*)RTSFile.Data();

View file

@ -67,11 +67,11 @@
#include <zlib.h>
#include "buildtiles.h"
#include "fs_findfile.h"
void WriteSavePic(FileWriter* file, int width, int height);
bool WriteZip(const char* filename, TArray<FString>& filenames, TArray<FCompressedBuffer>& content);
extern FString savename;
extern FString BackupSaveGame;
int SaveVersion;
@ -114,7 +114,7 @@ static void SerializeSession(FSerializer& arc)
bool ReadSavegame(const char* name)
{
auto savereader = FResourceFile::OpenResourceFile(name, true, true);
auto savereader = FResourceFile::OpenResourceFile(name, true);
if (savereader != nullptr)
{
@ -234,8 +234,10 @@ bool WriteSavegame(const char* filename, const char *name)
savegame_filenames.Push("info.json");
savegame_content.Push(savegamesession.GetCompressedOutput());
savegame_filenames.Push("session.json");
for (unsigned i = 0; i < savegame_content.Size(); i++)
savegame_content[i].filename = savegame_filenames[i].GetChars();
if (WriteZip(filename, savegame_filenames, savegame_content))
if (WriteZip(filename, savegame_content.Data(), savegame_content.Size()))
{
// Check whether the file is ok by trying to open it.
FResourceFile* test = FResourceFile::OpenResourceFile(filename, true);
@ -318,7 +320,7 @@ int G_ValidateSavegame(FileReader &fr, FString *savetitle, bool formenu)
{
auto data = fr.Read();
FSerializer arc;
if (!arc.OpenReader((const char*)data.Data(), data.Size()))
if (!arc.OpenReader((const char*)data.data(), data.size()))
{
return -2;
}

View file

@ -47,6 +47,7 @@
#include "filesystem.h"
#include "findfile.h"
#include "engineerrors.h"
#include "fs_findfile.h"
static const char* res_exts[] = { ".grp", ".zip", ".pk3", ".pk4", ".7z", ".pk7", ".rff"};
@ -189,24 +190,14 @@ void CollectSubdirectories(TArray<FString> &searchpath, const char *dirmatch)
FString AbsPath = M_GetNormalizedPath(dirpath);
if (DirExists(AbsPath))
{
findstate_t findstate;
void* handle;
if ((handle = I_FindFirst(AbsPath + "/*", &findstate)) != (void*)-1)
FileList list;
if (ScanDirectory(list, AbsPath, "*", true))
{
do
for (auto& entry : list)
{
if (I_FindAttr(&findstate) & FA_DIREC)
{
auto p = I_FindName(&findstate);
if (strcmp(p, ".") && strcmp(p, ".."))
{
FStringf fullpath("%s/%s", AbsPath.GetChars(), p);
searchpath.Push(fullpath);
if (entry.isDirectory) searchpath.Push(entry.FilePath.c_str());
}
}
} while (I_FindNext(handle, &findstate) == 0);
I_FindClose(handle);
}
}
}
@ -313,23 +304,21 @@ TArray<FileEntry> CollectAllFilesInSearchPath()
{
if (DirExists(path))
{
findstate_t findstate;
void* handle;
if ((handle = I_FindFirst(path + "/*.*", &findstate)) != (void*)-1)
FileList list;
if (ScanDirectory(list, path, "*", true))
{
do
for (auto& entry : list)
{
if (!(I_FindAttr(&findstate) & FA_DIREC))
if (!entry.isDirectory)
{
auto p = I_FindName(&findstate);
filelist.Reserve(1);
auto& flentry = filelist.Last();
flentry.FileName.Format("%s/%s", path.GetChars(), p);
flentry.FileName = entry.FilePath.c_str();
GetFileInfo(flentry.FileName, &flentry.FileLength, &flentry.FileTime);
flentry.Index = index++; // to preserve order when working on the list.
}
}
} while (I_FindNext(handle, &findstate) == 0);
I_FindClose(handle);
}
}
}
@ -429,7 +418,7 @@ static TArray<GrpInfo> ParseGrpInfo(const char *fn, FileReader &fr, TMap<FString
FScanner sc;
auto mem = fr.Read();
sc.OpenMem(fn, (const char *)mem.Data(), mem.Size());
sc.OpenMem(fn, (const char *)mem.data(), (int)mem.size());
while (sc.GetToken())
{
@ -636,7 +625,7 @@ TArray<GrpInfo> ParseAllGrpInfos(TArray<FileEntry>& filelist)
// This opens the base resource only for reading the grpinfo from it which we need before setting up the game state.
std::unique_ptr<FResourceFile> engine_res;
const char* baseres = BaseFileSearch(ENGINERES_FILE, nullptr, true, GameConfig);
engine_res.reset(FResourceFile::OpenResourceFile(baseres, true, true));
engine_res.reset(FResourceFile::OpenResourceFile(baseres, true));
if (engine_res)
{
auto basegrp = engine_res->FindLump("engine/grpinfo.txt");
@ -790,7 +779,7 @@ TArray<GrpEntry> GrpScan()
{
if (strcmp(ext, fn.GetChars() + fn.Len() - 4) == 0)
{
auto resf = FResourceFile::OpenResourceFile(fe->FileName, true, true);
auto resf = FResourceFile::OpenResourceFile(fe->FileName, true);
if (resf)
{
for (auto grp : contentGroupList)

View file

@ -5,6 +5,7 @@
#include "tiletexture.h"
#include "s_soundinternal.h"
class FGameTexture;
// extended texture info for which there is no room in the texture manager.
enum AnimFlags

View file

@ -40,6 +40,7 @@
#include "texturemanager.h"
#include "filesystem.h"
#include "printf.h"
#include "m_swap.h"
class FTileTexture : public FImageSource
@ -439,7 +440,8 @@ static void AddArtFile(const FString& filename)
FileReader fr = fileSystem.OpenFileReader(filename);
if (fr.isOpen())
{
auto artdata = fr.Read();
TArray<uint8_t> artdata(fr.GetLength());
fr.Read(artdata.Data(), artdata.Size());
if (artdata.Size() > 16)
{
if (memcmp(artdata.Data(), "BUILDART", 8) == 0)

View file

@ -553,8 +553,8 @@ void GameInterface::loadPalette(void)
for (int i = 0; i < 5; i++)
{
auto pal = fileSystem.LoadFile(PAL[i]);
if (pal.Size() < 768) I_FatalError("%s: file too small", PAL[i]);
paletteSetColorTable(i, pal.Data(), false, false);
if (pal.size() < 768) I_FatalError("%s: file too small", PAL[i]);
paletteSetColorTable(i, pal.data(), false, false);
}
numshades = 64;
@ -567,12 +567,12 @@ void GameInterface::loadPalette(void)
else continue;
}
auto data = fileSystem.GetFileData(lump);
if (data.Size() != 64 * 256)
if (data.size() != 64 * 256)
{
if (i < 15) I_FatalError("%s: Incorrect PLU size", PLU[i]);
else continue;
}
lookups.setTable(i, data.Data());
lookups.setTable(i, data.data());
}
lookups.setFadeColor(1, 255, 255, 255);

View file

@ -34,6 +34,7 @@ Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA.
#include "hw_sections.h"
#include "sectorgeometry.h"
#include "psky.h"
#include "m_swap.h"
#include "blood.h"
@ -612,11 +613,11 @@ void dbLoadMap(const char* pPath, DVector3& pos, short* pAngle, sectortype** cur
fr.Seek(0, FileReader::SeekSet);
auto buffer = fr.Read();
uint8_t md4[16];
md4once(buffer.Data(), buffer.Size(), md4);
md4once(buffer.data(), (unsigned)buffer.size(), md4);
PostProcessLevel(md4, mapname, sprites);
loadMapHack(mapname, md4, sprites);
if (CalcCRC32(buffer.Data(), buffer.Size() - 4) != nCRC)
if (CalcCRC32(buffer.data(), (unsigned)buffer.size() - 4) != nCRC)
{
I_Error("%s: Map File does not match CRC", mapname.GetChars());
}

View file

@ -106,7 +106,8 @@ void FireInit(void)
auto fr = fileSystem.OpenFileReader("rfire.clu");
if (!fr.isOpen())
I_Error("RFIRE.CLU not found");
gCLU = fr.Read();
gCLU.Resize((unsigned)fr.GetLength());
fr.Read(gCLU.Data(), fr.GetLength());
for (int i = 0; i < 100; i++)
DoFireFrame();
}

View file

@ -172,7 +172,7 @@ void IniFile::Load()
if (fp.isOpen())
{
auto pBuffer = fp.ReadPadded(1);
LoadRes(pBuffer.Data());
LoadRes(pBuffer.data());
}
else
curNode->next = &head;

View file

@ -25,6 +25,12 @@ Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA.
BEGIN_BLD_NS
enum
{
BMAX_PATH = 260
};
struct FNODE
{
FNODE *next;

View file

@ -33,7 +33,7 @@ class BloodSoundEngine : public RazeSoundEngine
{
// client specific parts of the sound engine go in this class.
void CalcPosVel(int type, const void* source, const float pt[3], int channum, int chanflags, FSoundID chanSound, FVector3* pos, FVector3* vel, FSoundChan* channel) override;
TArray<uint8_t> ReadSound(int lumpnum) override;
std::vector<uint8_t> ReadSound(int lumpnum) override;
public:
BloodSoundEngine()
@ -63,7 +63,7 @@ public:
//
//==========================================================================
TArray<uint8_t> BloodSoundEngine::ReadSound(int lumpnum)
std::vector<uint8_t> BloodSoundEngine::ReadSound(int lumpnum)
{
auto wlump = fileSystem.OpenFileReader(lumpnum);
return wlump.Read();

View file

@ -1089,7 +1089,7 @@ int ConCompiler::parsecommand()
temp_ifelse_check = checking_ifelse;
checking_ifelse = 0;
auto origtptr = textptr;
textptr = (char*)data.Data();
textptr = (char*)data.data();
do
done = parsecommand();
@ -3107,7 +3107,7 @@ void ConCompiler::compilecon(const char *filenam)
}
Printf("Compiling: '%s'.\n", filenam);
auto data = fileSystem.GetFileData(currentsourcefile, 1);
textptr = (char*)data.Data();
textptr = (char*)data.data();
line_number = 1;
errorcount = warningcount = 0;

View file

@ -85,7 +85,7 @@ class DukeSoundEngine : public RazeSoundEngine
{
// client specific parts of the sound engine go in this class.
void CalcPosVel(int type, const void* source, const float pt[3], int channum, int chanflags, FSoundID chanSound, FVector3* pos, FVector3* vel, FSoundChan* chan) override;
TArray<uint8_t> ReadSound(int lumpnum) override;
std::vector<uint8_t> ReadSound(int lumpnum) override;
public:
DukeSoundEngine()
@ -145,7 +145,7 @@ static FSoundID GetReplacementSound(FSoundID soundNum)
//
//==========================================================================
TArray<uint8_t> DukeSoundEngine::ReadSound(int lumpnum)
std::vector<uint8_t> DukeSoundEngine::ReadSound(int lumpnum)
{
auto wlump = fileSystem.OpenFileReader(lumpnum);
return wlump.Read();

View file

@ -194,8 +194,6 @@ public:
};
extern char g_modDir[BMAX_PATH];
void G_LoadGroupsInDir(const char* dirname);
void G_DoAutoload(const char* dirname);
void DrawRel(FGameTexture* tile, double x, double y, int shade = 0);

View file

@ -140,7 +140,7 @@ public:
case kFrameSound:
{
auto buffer = fp.Read(nSize);
assert(buffer.Size() == kSampleSize);
assert(buffer.size() == kSampleSize);
auto wbuffer = audio.samples + audio.nWrite * kSampleSize;
for (int i = 0; i < 2205; i++)
{

View file

@ -137,7 +137,7 @@ class EXSoundEngine : public RazeSoundEngine
{
// client specific parts of the sound engine go in this class.
void CalcPosVel(int type, const void* source, const float pt[3], int channum, int chanflags, FSoundID chanSound, FVector3* pos, FVector3* vel, FSoundChan* chan) override;
TArray<uint8_t> ReadSound(int lumpnum) override;
std::vector<uint8_t> ReadSound(int lumpnum) override;
public:
EXSoundEngine()
@ -165,7 +165,7 @@ public:
//
//==========================================================================
TArray<uint8_t> EXSoundEngine::ReadSound(int lumpnum)
std::vector<uint8_t> EXSoundEngine::ReadSound(int lumpnum)
{
auto wlump = fileSystem.OpenFileReader(lumpnum);
return wlump.Read();
@ -191,7 +191,7 @@ int LoadSound(const char* name)
{
auto check = fileSystem.GetFileData(lump);
bool loops = false;
if (check.Size() > 26 && check[26] == 6 && !memcmp("Creative Voice File", check.Data(), 19))
if (check.size() > 26 && check[26] == 6 && !memcmp("Creative Voice File", check.data(), 19))
{
// This game uses the actual loop point information in the sound data as its only means to check if a sound is looped.
loops = true;

View file

@ -234,12 +234,12 @@ void GameInterface::loadPalette(void)
paletteLoadFromDisk();
auto pal = fileSystem.LoadFile("3drealms.pal", 0);
if (pal.Size() >= 768)
if (pal.size() >= 768)
{
for (auto& c : pal)
c <<= 2;
paletteSetColorTable(DREALMSPAL, pal.Data(), true, true);
paletteSetColorTable(DREALMSPAL, pal.data(), true, true);
}

View file

@ -67,21 +67,21 @@ static bool tokenready; // only true if UnGetToken was ju
==============
*/
TArray<uint8_t> LoadScriptFile(const char *filename)
std::vector<uint8_t> LoadScriptFile(const char *filename)
{
FileReader fp;
if (!(fp = fileSystem.OpenFileReader(filename)).isOpen())
{
// If there's no script file, forget it.
return TArray<uint8_t>();
return std::vector<uint8_t>();
}
auto scriptbuffer = fp.Read();
if (scriptbuffer.Size() != 0)
if (scriptbuffer.size() != 0)
{
scriptbuffer.Push(0);
scriptbuffer.push_back(0);
scriptline = 1;
endofscript = false;
tokenready = false;
@ -194,12 +194,12 @@ void LoadKVXFromScript(TilesetBuildInfo& info, const char* filename)
// Load the file
auto buffer = LoadScriptFile(filename);
if (!buffer.Size())
if (!buffer.size())
{
return;
}
script_p = (char*)buffer.Data();
scriptend_p = (char*)&buffer.Last();
script_p = (char*)buffer.data();
scriptend_p = (char*)&buffer.back();
do
{

View file

@ -363,7 +363,7 @@ class SWSoundEngine : public RazeSoundEngine
{
// client specific parts of the sound engine go in this class.
void CalcPosVel(int type, const void* source, const float pt[3], int channum, int chanflags, FSoundID chanSound, FVector3* pos, FVector3* vel, FSoundChan* chan) override;
TArray<uint8_t> ReadSound(int lumpnum) override;
std::vector<uint8_t> ReadSound(int lumpnum) override;
public:
SWSoundEngine()
@ -412,7 +412,7 @@ public:
//
//==========================================================================
TArray<uint8_t> SWSoundEngine::ReadSound(int lumpnum)
std::vector<uint8_t> SWSoundEngine::ReadSound(int lumpnum)
{
auto wlump = fileSystem.OpenFileReader(lumpnum);
return wlump.Read();