How does this answer the question you may ask, don’t worry, I got you covered! □ I am, but a very enthusiastic computer guy (the one people love to call tech nerd, but no, I’m not), so from a young age, I have been tinkering with technology, learning new things on the way and experimenting with systems, languages, and technology! Now that’s enough for my introduction. It was April 1st, the organizations were announced, and I was running late in finding my match. “This is going to sound crazy, but… from the moment I first set eyes on you I haven’t been able to stop thinking about you.” – Leigh Fallon How did I find this organization? What was it that told me this is where I want to contribute?Īn interesting quote from an article i stumbled upon!Ģ0. So here I am expressing my journey and experience before 4th May 2023 (GSoC proposal out), have fun reading! The Start (Needle in Haystack) This is my first blog post after getting my GSoC proposal selected for this wonderful organization, ScummVm! It was definitely not a massive improvement, but a improvement, nonetheless. The very first suggestion I got was to work with the minimal – resolution that the game supported, which in this case was 1280×720. Originally the game is supposed to run at 60 fps, however I was only getting a glorious ~6 fps with ScummVM’s drawing functions. One important aspect that I haven’t talked about is – Performance. (A more techincal description: A templated function did not take into account that floats/doubles could be passed to it.) Reverting those, fixed the issue and now it worked as intended. I spent days debugging this, and ofcourse, the problem was the new rewritten functions I had created :). However, if I pressed the left mouse button even once, the screen would simply scroll way past the point it was supposed to. Next, I ported the text drawing functions and soon I was able to go in-game. Getting game to render and running into issues This is the game loading screen just before the main menu. It is during this stage, that I also got the first visuals on screen by porting the Image class to use ScummVM’s equivalent of SDL drawing functions. It should be noted that I had to stub/comment out some functions as they errored out. With commit #07a97c7f all files were compilable. So, instead of getting the whole codebase to compile at once, I instead made every component compilable one by one. One thing that I took advantage of was that the src code of CRAB was well-separated into different components. I got introduced to `FORBIDDEN_SYMBOL_ALLOW_ALL` which allowed linking with C++ STL( future engine porters take note :p). Initially, I took the wrong approach, I focused on removing STL usage before anything even compiled and rewrote some functions. Sev later made me realize that this was probably not the best approach and that I should first focus on getting all files to compile, and then remove STL usage. To accomplish this, I first created a new skeleton engine and then imported all the files. The very first thing, intuitively, was to import the engine sources into ScummVM and get them to compile. Importing the Engine Source code into ScummVM On this page, I hope to document to the best of my efforts what work I have already accomplished as of writing this page. Sev promoted me to actually start the work on porting the CRAB engine after I had completed some tasks which he had assigned me. Make sure to check in later for a continuation for my journey! The website design will mostly the somewhat similar to Adminer. The database schema, and the API spec is mostly already defined.
0 Comments
Leave a Reply. |