Categories
Uncategorized

Cleaning up and starting with Playstore support

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.

Leave a Reply

Your email address will not be published. Required fields are marked *