[Scummvm-git-logs] scummvm master -> e84cdbd704efb253081d30f9979f850d98077351

djsrv dservilla at gmail.com
Tue Aug 10 18:32:48 UTC 2021


This automated email contains information about 2 new commits which have been
pushed to the 'scummvm' repo located at https://github.com/scummvm/scummvm .

Summary:
1ef5ef6d0b DIRECTOR: LINGO: Stub missing FileIO methods
e84cdbd704 DIRECTOR: LINGO: Implement FileIO(mReadFile)


Commit: 1ef5ef6d0b0267dced0eac46e16f834711cd68f9
    https://github.com/scummvm/scummvm/commit/1ef5ef6d0b0267dced0eac46e16f834711cd68f9
Author: djsrv (dservilla at gmail.com)
Date: 2021-08-10T14:32:50-04:00

Commit Message:
DIRECTOR: LINGO: Stub missing FileIO methods

Changed paths:
    engines/director/lingo/xlibs/fileio.cpp
    engines/director/lingo/xlibs/fileio.h


diff --git a/engines/director/lingo/xlibs/fileio.cpp b/engines/director/lingo/xlibs/fileio.cpp
index 7823f2f12f..982c8d6c28 100644
--- a/engines/director/lingo/xlibs/fileio.cpp
+++ b/engines/director/lingo/xlibs/fileio.cpp
@@ -40,15 +40,20 @@ const char *FileIO::fileNames[] = {
 
 static MethodProto xlibMethods[] = {
 	{ "delete",					FileIO::m_delete,			 0, 0,	200 },	// D2
+	{ "error",					FileIO::m_error,			 1, 1,	200 },	// D2
 	{ "fileName",				FileIO::m_fileName,			 0, 0,	200 },	// D2
+	{ "getFinderInfo",			FileIO::m_getFinderInfo,	 0, 0,	200 },	// D2
 	{ "getLength",				FileIO::m_getLength,		 0, 0,	200 },	// D2
 	{ "getPosition",			FileIO::m_getPosition,		 0, 0,	200 },	// D2
 	{ "new",					FileIO::m_new,				 2, 2,	200 },	// D2
 	{ "readChar",				FileIO::m_readChar,			 0, 0,	200 },	// D2
+	{ "readFile",				FileIO::m_readFile,			 0, 0,	200 },	// D2
 	{ "readLine",				FileIO::m_readLine,			 0, 0,	200 },	// D2
 	{ "readToken",				FileIO::m_readToken,		 2, 2,	200 },	// D2
 	{ "readWord",				FileIO::m_readWord,			 0, 0,	200 },	// D2
+	{ "setFinderInfo",			FileIO::m_setFinderInfo,	 2, 2,	200 },	// D2
 	{ "setPosition",			FileIO::m_setPosition,		 1, 1,	200 },	// D2
+	{ "status",					FileIO::m_status,			 0, 0,	200 },	// D2
 	{ "writeChar",				FileIO::m_writeChar,		 1, 1,	200 },	// D2
 	{ "writeString",			FileIO::m_writeString,		 1, 1,	200 },	// D2
 	{ 0, 0, 0, 0, 0 }
@@ -287,6 +292,12 @@ void FileIO::m_readToken(int nargs) {
 	g_lingo->push(Datum(tok));
 }
 
+void FileIO::m_readFile(int nargs) {
+	g_lingo->printSTUBWithArglist("FileIO::m_readFile", nargs);
+	g_lingo->dropStack(nargs);
+	g_lingo->push(Datum());
+}
+
 // Write
 
 void FileIO::m_writeChar(int nargs) {
@@ -315,7 +326,19 @@ void FileIO::m_writeString(int nargs) {
 	g_lingo->push(Datum(kErrorNone));
 }
 
-// Other
+// Getters/Setters
+
+void FileIO::m_getFinderInfo(int nargs) {
+	g_lingo->printSTUBWithArglist("FileIO::m_getFinderInfo", nargs);
+	g_lingo->dropStack(nargs);
+	g_lingo->push(Datum());
+}
+
+void FileIO::m_setFinderInfo(int nargs) {
+	g_lingo->printSTUBWithArglist("FileIO::m_setFinderInfo", nargs);
+	g_lingo->dropStack(nargs);
+	g_lingo->push(Datum());
+}
 
 void FileIO::m_getPosition(int nargs) {
 	FileObject *me = static_cast<FileObject *>(g_lingo->_currentMe.u.obj);
@@ -381,6 +404,20 @@ void FileIO::m_fileName(int nargs) {
 	}
 }
 
+void FileIO::m_error(int nargs) {
+	g_lingo->printSTUBWithArglist("FileIO::m_error", nargs);
+	g_lingo->dropStack(nargs);
+	g_lingo->push(Datum());
+}
+
+void FileIO::m_status(int nargs) {
+	g_lingo->printSTUBWithArglist("FileIO::m_status", nargs);
+	g_lingo->dropStack(nargs);
+	g_lingo->push(Datum());
+}
+
+// Other
+
 void FileIO::m_delete(int nargs) {
 	FileObject *me = static_cast<FileObject *>(g_lingo->_currentMe.u.obj);
 
diff --git a/engines/director/lingo/xlibs/fileio.h b/engines/director/lingo/xlibs/fileio.h
index 109579c733..887cc2fec3 100644
--- a/engines/director/lingo/xlibs/fileio.h
+++ b/engines/director/lingo/xlibs/fileio.h
@@ -78,15 +78,20 @@ namespace FileIO {
 	void saveFileError();
 	void m_delete(int nargs);
 	void m_dispose(int nargs);
+	void m_error(int nargs);
 	void m_fileName(int nargs);
+	void m_getFinderInfo(int nargs);
 	void m_getLength(int nargs);
 	void m_getPosition(int nargs);
 	void m_new(int nargs);
 	void m_readChar(int nargs);
+	void m_readFile(int nargs);
 	void m_readLine(int nargs);
 	void m_readToken(int nargs);
 	void m_readWord(int nargs);
+	void m_setFinderInfo(int nargs);
 	void m_setPosition(int nargs);
+	void m_status(int nargs);
 	void m_writeChar(int nargs);
 	void m_writeString(int nards);
 


Commit: e84cdbd704efb253081d30f9979f850d98077351
    https://github.com/scummvm/scummvm/commit/e84cdbd704efb253081d30f9979f850d98077351
Author: djsrv (dservilla at gmail.com)
Date: 2021-08-10T14:32:50-04:00

Commit Message:
DIRECTOR: LINGO: Implement FileIO(mReadFile)

Changed paths:
    engines/director/lingo/xlibs/fileio.cpp


diff --git a/engines/director/lingo/xlibs/fileio.cpp b/engines/director/lingo/xlibs/fileio.cpp
index 982c8d6c28..e17f4e95fd 100644
--- a/engines/director/lingo/xlibs/fileio.cpp
+++ b/engines/director/lingo/xlibs/fileio.cpp
@@ -293,9 +293,21 @@ void FileIO::m_readToken(int nargs) {
 }
 
 void FileIO::m_readFile(int nargs) {
-	g_lingo->printSTUBWithArglist("FileIO::m_readFile", nargs);
-	g_lingo->dropStack(nargs);
-	g_lingo->push(Datum());
+	FileObject *me = static_cast<FileObject *>(g_lingo->_currentMe.u.obj);
+
+	if (!me->_inStream || me->_inStream->eos() || me->_inStream->err()) {
+		g_lingo->push(Datum(""));
+		return;
+	}
+
+	Common::String res;
+	char ch = me->_inStream->readByte();
+	while (!me->_inStream->eos() && !me->_inStream->err()) {
+		res += ch;
+		ch = me->_inStream->readByte();
+	}
+
+	g_lingo->push(res);
 }
 
 // Write




More information about the Scummvm-git-logs mailing list