[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