[Scummvm-git-logs] scummvm master -> 822a0650975facb587f43714cba4a54a538bfbba

sev- sev at scummvm.org
Sat Jul 11 10:24:42 UTC 2020


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

Summary:
822a065097 DIRECTOR: LINGO: Implement 'the movieFileFreeSize' and 'the movieFileSize'


Commit: 822a0650975facb587f43714cba4a54a538bfbba
    https://github.com/scummvm/scummvm/commit/822a0650975facb587f43714cba4a54a538bfbba
Author: Eugene Sandulenko (sev at scummvm.org)
Date: 2020-07-11T12:23:53+02:00

Commit Message:
DIRECTOR: LINGO: Implement 'the movieFileFreeSize' and 'the movieFileSize'

Changed paths:
    engines/director/archive.cpp
    engines/director/archive.h
    engines/director/lingo/lingo-the.cpp


diff --git a/engines/director/archive.cpp b/engines/director/archive.cpp
index 0c4c1edd3b..d0313876c0 100644
--- a/engines/director/archive.cpp
+++ b/engines/director/archive.cpp
@@ -70,6 +70,13 @@ void Archive::close() {
 	_stream = 0;
 }
 
+int Archive::getFileSize() {
+	if (!_stream)
+		return 0;
+
+	return _stream->size();
+}
+
 bool Archive::hasResource(uint32 tag, int id) const {
 	if (!_types.contains(tag))
 		return false;
diff --git a/engines/director/archive.h b/engines/director/archive.h
index 3ec8f63472..6f51903dfe 100644
--- a/engines/director/archive.h
+++ b/engines/director/archive.h
@@ -54,6 +54,7 @@ public:
 
 	Common::String getFileName() const { return _fileName; }
 	void setFileName(const Common::String &name) { _fileName = name; }
+	int getFileSize();
 
 	bool isOpen() const { return _stream != 0; }
 
diff --git a/engines/director/lingo/lingo-the.cpp b/engines/director/lingo/lingo-the.cpp
index f7be2d3bb1..49c9491ac3 100644
--- a/engines/director/lingo/lingo-the.cpp
+++ b/engines/director/lingo/lingo-the.cpp
@@ -612,9 +612,12 @@ Datum Lingo::getTheEntity(int entity, Datum &id, int field) {
 		d.u.s = new Common::String(_vm->getCurrentMovie()->getMacName());
 		break;
 	case kTheMovieFileFreeSize:
-		getTheEntitySTUB(kTheMovieFileFreeSize);
+		d.type = INT;
+		d.u.i = 0;	// Let's pretend the movie is compactified
 		break;
 	case kTheMovieFileSize:
+		d.type = INT;
+		d.u.i = _vm->getCurrentMovie()->getArchive()->getFileSize();
 		getTheEntitySTUB(kTheMovieFileSize);
 		break;
 	case kTheMoviePath:




More information about the Scummvm-git-logs mailing list