Categories
Uncategorized

Week 1

We are into the first week and I have a lot of work to brief about which also includes the work done before the official start of gsoc.

For ibass, I started off by adding it to the detection table. Unlike og bass, ibass doesn’t have a separate file for the dinner table entries. Hence, adding it to the skyVersions[] array seemed a bit incorrect. So, I created a separate PlainGameDescriptor for ibass.

After the detection, the next milestone was to make the game start. But the problem was, the UI icons used in ibass are 32-bit images but our sky engine was 8-bit. So, what I did to solve this mismatch was turning the engine into a 32-bit one, keeping the game screen separately at 8-bit and clapped them together before the output.

I have skipped the intro for now because it has a separate video for the intro(and for the outro too). I have saved it for later.

The next natural step was to overlay the icons. To load the bitmaps, I ported the loadAnim() function from the ibass sources and wrote an icon renderer that we then call from our screen compositor. And finally, we have the icons rendered on our screen-

Next step was to trigger the respective actions for those icons. Upon a click, it incorporates something called “_actionFlash”. When we click, the “_actionFlashTime” starts decrementing if _actionFlash is set. So, it gives a flickering effect to the icon until _actionFlashTime becomes zero. It happens like this. As you can see, when _actionFlashTime is even, the icon is cleared and vice versa. In the game, it looks like this-

Thanks for reading 🙂

Categories
Uncategorized

Porting iBASS engine to ScummVM

Hello everyone, I am Priyanshu Kumar and I will be porting the iBASS engine to ScummVM this summer as part of the Google Summer of Code. In this post, I will be covering a little background of this task and what exactly needs to be done.

By “porting”, we usually get an idea that it must be about an engine that needs to be ported and integrated to ScummVM in order to get the games based on that particular engine running through ScummVM. iBASS is not any different but still a lot different.

Sky engine is one of the oldest engines to be supported by ScummVM and the most popular game it powers is Beneath a Steel Sky. This engine was created by Revolution Software in 1994 and ported to ScummVM in 2003. Later, Revolution Software created a remastered version of the game in 2009 with enhanced UI controls for iOS which they built on top of ScummVM’s sky engine.

So, the goal of this project is to port(you may call it “backport”) the changes done for the remastered version and integrate them with ScummVM’s Sky engine to make the remastered version(iBASS) playable on ScummVM. The efforts have already been started and in the next post, I will be briefing about the progress.

Thanks for reading.