This week I had my work reviewed by my mentors, and I mostly worked on resolving these.
This involved forward-declaration of several classes in the header files, which only refer to those classes as pointers. This will help reduce the compilation time since the compiler will not have to process additional headers.
Also, I have now introduced a new configure feature called USE_DLC
along with USE_SCUMMVMDLC
. This USE_DLC
can be activated by --enable-dlc
configure flag. However, if developers want to specifically use the ScummVM cloud (hosted on ScummVM’s server), they need to provide --enable-scummvmdlc
with configure. The USE_DLC
is a general flag, which can be used with any dlc-supported backend if needed. For example, for android play store release, developers will use --enable-dlc
, and for android apk distribution on ScummVM website, they can omit it. Both --enable-dlc
and --enable-scummvmdlc
is disabled by default.
To determine if the DLC feature is supported in the current architecture (backend), we check if kFeatureDLC is set. We set it in the backend of supported platforms.
Another thing I worked on was error handling during the extraction process. I had to handle errors like archive is broken/incomplete and storage is full. For this, I have to make changes to the existing dumpArchive()
function, which extracts the archive in the provided path. I had to make the return type of this function Common::Error
and return the error. Once dumpArchive()
‘s change is merged, I added the checks in ScummVM Cloud’s code so if there is any error, we show the error to the user, and also we set the downloading DLC’s state to kDownloadingError
and not add the DLC to the scummvm configuration file.
I have also removed the incomplete Play Store code from my PR. So, it will add support for the ScummVM cloud only. I have started working on adding the Play Store support on a separate branch. The Android building (using Docker) on Mac with silicon chip was very slow. So, I had to shift to my old laptop running Ubuntu. There has been a bit of progress in adding Play Store, but I think it’s doable in a few days.
Now we are very close to completion of Google Summer of Code program. I plan to make a PR for the Playstore support and add documentation and HOW-TOs to the wiki next week.