void FScanner::OpenString (const char *name, FString buffer) { Close (); ScriptBuffer = buffer; ScriptName = name; LumpNum = -1; PrepareScript (); }
void FScanner::OpenMem (const char *name, const char *buffer, int size) { Close (); ScriptBuffer = FString(buffer, size); ScriptName = name; LumpNum = -1; PrepareScript (); }
void FScanner :: OpenLumpNum (int lump) { Close (); { FMemLump mem = Wads.ReadLump(lump); ScriptBuffer = mem.GetString(); } ScriptName = Wads.GetLumpFullPath(lump); LumpNum = lump; PrepareScript (); }
void FScanner::OpenFile (const char *name) { BYTE *filebuf; int filesize; Close (); filesize = M_ReadFile (name, &filebuf); ScriptBuffer = FString((const char *)filebuf, filesize); delete[] filebuf; ScriptName = name; // This is used for error messages so the full file name is preferable LumpNum = -1; PrepareScript (); }
bool FScanner::OpenFile (const char *name) { Close (); FileReader fr; if (!fr.OpenFile(name)) return false; auto filesize = fr.GetLength(); auto filebuff = fr.Read(); if (filebuff.Size() == 0 && filesize > 0) return false; ScriptBuffer = FString((const char *)filebuff.Data(), filesize); ScriptName = name; // This is used for error messages so the full file name is preferable LumpNum = -1; PrepareScript (); return true; }