Skip to main content

The (official) end of an amazing journey!

 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!

Comments

Post a Comment

Popular posts from this blog

My first week experience and my first task!

Hello, it's nice to talk to you again!   This is my first week after being accepted into ScummVM and I have a lot to talk about, so let's get started. A little sidenote - Originally, I thought to update my blog once every two weeks and that it would be a good idea, but I just really wanted to update you guys with my exciting first week!  I was reading my fellow GSoC student's introductory blog post when I realized that the introductory blog post is also meant to introduce a person, something I completely forgot in my first post. Yes, that's right, I forgot to introduce myself - in my introductory blog post. You read that right - but I hope that you didn't find it rude, I was just really excited to be a part of ScummVM for this summer, and somehow forgot what I was supposed to write! Let's do it right this time before we move on to my first week's experience! Introduction Hiya! I am Aryan Rawlani, a Computer Science student in Ahmedabad, India

Touching upon all 3 tasks

Hello! So, this week I have done things that ranged across all my tasks. Recently I checked out our sister project, ResidualVM. ResidualVM's codebase is largely similar to ScummVM, but the main difference is the addition of capabilities to run 3D games. They also take regular snapshots from ScummVM to keep up-to-date. So, the work of RTL GUI which was merged in ScummVM was also present there. When I was running the application with the Hebrew language, some popups and drop-down buttons looked quite different from the normal GUI. Upon a little investigation, it looked like paddings were being set wrong for the RTL-widgets set in the theme. This was because back when I was on my RTL task, I temporarily set a padding of "2" as a placeholder to check, and then completely forgot about it as the difference was ever so subtle. I'm glad though, that I found this, and opened a PR to fix it. English, proper paddings Hebrew - Improper paddings Hebrew, mirrored and matching paddi