Hello! GSoC has officially ended, and I'm in the final stage - submitting my work for the entire summer to Google!
When I first received the acceptance letter in May, I was very much baffled. It was exciting and a bit scary at the same time, because I have never ever worked on a project of this scale. Well, first time for everything I guess :)
So, what have I been doing this past week? Last week I left off saying my U32 PR was showing some activity, and this week, @criezy helped out a lot by reviewing my U32 PR, and providing much feedback. He also helped out pretty much entirely towards the MacOS/iOS platforms, because it was quite not an area (Objective-C) I was comfortable in. It was really a huge help. Apart from that, I mostly spent the entire week looking at the PR to see what could be changed, fixing my mistakes, and making the PR ready for merge. It has improved quite a lot!
Criezy pushed an update for iOS, which led me to believe that there might be many more missing areas that weren't ported over to use U32Strings, so I had to check and implement for the same. Criezy and I left a comment regarding this at the same time!
First up was Android, which needed change in clipboards and OSD messages. OSD messages are simple messages displayed on the GUI. ScummVM supports many (many) platforms, as you might know already. Recently, a MorphOS Platform support PR was merged, which was quite nice! Anyways, some platforms themselves could be building stuff from GUI, and I haven't changed that or actually checked for those. So, I searched through the backends/platforms subdirectory to see where translations were used, as well as searching for Individual widget names. Doing so pointed out a lot of places where the arguments were expecting a U32String but were getting something else. After fixing those, and thoroughly reviewing, fixing more things, the U32 PR is in much nicer shape than before :)
Over to my Plugins task, Eugene pointed out that my solution towards the module separation of makefiles was not quite correct. Well, I mean, it was correct - but it was not proper in the long term. I explained it last week, but the gist of it was that each engine would get a subfolder named detection and would have a module called "engines/engineName/detection". This would hold all detection objects, which would head on to the executable. And engines.mk would always enable an engine's detection module, whereas the engine itself would be dependent on parameters passed. Eugene's feedback was that it was duplication of work, and the objects to be added were to remain in the same module file.
I didn't think of how I could structure it more nicely, because everything was already neat and tidy. So, I also asked for some ideas on how would I solve the new suggested way, and he gave an idea that I could just run through modules list two times, and keep the information I need while resetting the other. Because this one approach would be better in the long run, I was trying to implement this next. I also had good progress with the create_project files, but that would probably need to redone due to the origin (makefiles) changing behavior.
I was working on these today and successfully changed it to as Eugene suggested. I am awaiting feedback though, and minor improvements will follow. After this, updating "create_project" files will follow. Once those are done, the Plugins task will also be in a very nice shape hopefully!
Submissions for our end report for GSoC will last till 31st August. I plan to submit mine after completing the create_project stuff and submit it maximum by 27th August.
On a more personal note, it's been pretty hectic recently. There's been a lot of to-do on my plate - not just GSoC stuff but also personal things, but I'm managing to keep up with everything, and am getting lots of things done! It'll probably be a while before I can relax & chill for a bit. My university released a schedule of my exams, which will start from 1 September, right when GSoC submission ends, which is really nice. These are my finals, which means I will be getting ready & preparing for new opportunities! I can only hope that these turn out to be as amazing as GSoC & ScummVM :P
Regarding GSoC, Most of my official tasks are either completed or near completion! I won't have as much time as I did during this summer, but I do want to keep contributing to ScummVM. It was my first time contributing to OSS. I hope the users find some use of my work done during this summer :D
It was an awesome summer. Thank you, everyone, for joining along my journey!
Thanks for reading!