- got rid of FileSystem::GetFileData.
Using FMemFile is better in all these places.
This commit is contained in:
parent
21d6eb99eb
commit
5398045f7d
14 changed files with 50 additions and 84 deletions
|
|
@ -136,7 +136,7 @@ void FScanner::Open (const char *name)
|
|||
//
|
||||
// FScanner :: OpenFile
|
||||
//
|
||||
// Loads a script from a file. Uses new/delete for memory allocation.
|
||||
// Loads a script from a file.
|
||||
//
|
||||
//==========================================================================
|
||||
|
||||
|
|
|
|||
|
|
@ -60,10 +60,10 @@ void FStringTable::LoadStrings (const char *language)
|
|||
lastlump = 0;
|
||||
while ((lump = fileSystem.FindLump ("LANGUAGE", &lastlump)) != -1)
|
||||
{
|
||||
auto lumpdata = fileSystem.GetFileData(lump);
|
||||
auto lumpdata = fileSystem.ReadFile(lump);
|
||||
|
||||
if (!ParseLanguageCSV(lump, lumpdata))
|
||||
LoadLanguage (lump, lumpdata);
|
||||
if (!ParseLanguageCSV(lump, lumpdata.GetString(), lumpdata.GetSize()))
|
||||
LoadLanguage (lump, lumpdata.GetString(), lumpdata.GetSize());
|
||||
}
|
||||
UpdateLanguage(language);
|
||||
allMacros.Clear();
|
||||
|
|
@ -77,9 +77,9 @@ void FStringTable::LoadStrings (const char *language)
|
|||
//==========================================================================
|
||||
|
||||
|
||||
TArray<TArray<FString>> FStringTable::parseCSV(const TArray<uint8_t> &buffer)
|
||||
TArray<TArray<FString>> FStringTable::parseCSV(const char* buffer, size_t size)
|
||||
{
|
||||
const size_t bufLength = buffer.Size();
|
||||
const size_t bufLength = size;
|
||||
TArray<TArray<FString>> data;
|
||||
TArray<FString> row;
|
||||
TArray<char> cell;
|
||||
|
|
@ -158,8 +158,8 @@ TArray<TArray<FString>> FStringTable::parseCSV(const TArray<uint8_t> &buffer)
|
|||
|
||||
bool FStringTable::readMacros(int lumpnum)
|
||||
{
|
||||
auto lumpdata = fileSystem.GetFileData(lumpnum);
|
||||
auto data = parseCSV(lumpdata);
|
||||
auto lumpdata = fileSystem.ReadFile(lumpnum);
|
||||
auto data = parseCSV(lumpdata.GetString(), lumpdata.GetSize());
|
||||
|
||||
for (unsigned i = 1; i < data.Size(); i++)
|
||||
{
|
||||
|
|
@ -186,11 +186,11 @@ bool FStringTable::readMacros(int lumpnum)
|
|||
//
|
||||
//==========================================================================
|
||||
|
||||
bool FStringTable::ParseLanguageCSV(int lumpnum, const TArray<uint8_t> &buffer)
|
||||
bool FStringTable::ParseLanguageCSV(int lumpnum, const char* buffer, size_t size)
|
||||
{
|
||||
if (buffer.Size() < 11) return false;
|
||||
if (strnicmp((const char*)buffer.Data(), "default,", 8) && strnicmp((const char*)buffer.Data(), "identifier,", 11 )) return false;
|
||||
auto data = parseCSV(buffer);
|
||||
if (size < 11) return false;
|
||||
if (strnicmp(buffer, "default,", 8) && strnicmp(buffer, "identifier,", 11 )) return false;
|
||||
auto data = parseCSV(buffer, size);
|
||||
|
||||
int labelcol = -1;
|
||||
int filtercol = -1;
|
||||
|
|
@ -282,14 +282,14 @@ bool FStringTable::ParseLanguageCSV(int lumpnum, const TArray<uint8_t> &buffer)
|
|||
//
|
||||
//==========================================================================
|
||||
|
||||
void FStringTable::LoadLanguage (int lumpnum, const TArray<uint8_t> &buffer)
|
||||
void FStringTable::LoadLanguage (int lumpnum, const char* buffer, size_t size)
|
||||
{
|
||||
bool errordone = false;
|
||||
TArray<uint32_t> activeMaps;
|
||||
FScanner sc;
|
||||
bool hasDefaultEntry = false;
|
||||
|
||||
sc.OpenMem("LANGUAGE", buffer);
|
||||
sc.OpenMem("LANGUAGE", buffer, (int)size);
|
||||
sc.SetCMode (true);
|
||||
while (sc.GetString ())
|
||||
{
|
||||
|
|
|
|||
|
|
@ -44,6 +44,7 @@
|
|||
|
||||
|
||||
#include <stdlib.h>
|
||||
#include <vector>
|
||||
#include "basics.h"
|
||||
#include "zstring.h"
|
||||
#include "tarray.h"
|
||||
|
|
@ -111,11 +112,10 @@ private:
|
|||
LangMap allStrings;
|
||||
TArray<std::pair<uint32_t, StringMap*>> currentLanguageSet;
|
||||
|
||||
void LoadLanguage (int lumpnum, const TArray<uint8_t> &buffer);
|
||||
TArray<TArray<FString>> parseCSV(const TArray<uint8_t> &buffer);
|
||||
bool ParseLanguageCSV(int lumpnum, const TArray<uint8_t> &buffer);
|
||||
void LoadLanguage (int lumpnum, const char* buffer, size_t size);
|
||||
TArray<TArray<FString>> parseCSV(const char* buffer, size_t size);
|
||||
bool ParseLanguageCSV(int lumpnum, const char* buffer, size_t size);
|
||||
|
||||
bool LoadLanguageFromSpreadsheet(int lumpnum, const TArray<uint8_t> &buffer);
|
||||
bool readMacros(int lumpnum);
|
||||
void DeleteString(int langid, FName label);
|
||||
void DeleteForLabel(int lumpnum, FName label);
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue