[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