{"id":18,"date":"2022-05-29T12:30:35","date_gmt":"2022-05-29T12:30:35","guid":{"rendered":"https:\/\/blogs.scummvm.org\/stablesteady\/?p=18"},"modified":"2022-05-29T12:30:35","modified_gmt":"2022-05-29T12:30:35","slug":"week-1-getting-started","status":"publish","type":"post","link":"https:\/\/blogs.scummvm.org\/stablesteady\/2022\/05\/29\/week-1-getting-started\/","title":{"rendered":"Week 1 &#8211; Getting started."},"content":{"rendered":"<p>The first week of GSoC was a slow one for me. I had my semester-end exams which kept me occupied for most of the week. So instead of starting with writing code I decided to instead spend time on some other things.<\/p>\n<p>First was going through the\u00a0<a href=\"https:\/\/git-scm.com\/book\/en\/v2\">Pro Git<\/a> book for a better understanding of how git works and it helped me a lot. My previous knowledge of git was limited to a bunch of commands I picked up from here and there which meant I had no idea of what&#8217;s possible to do and what isn&#8217;t. I can now actually understand why things are the way they are and can do better than just copying commands from stackoverflow and hope that it works.<\/p>\n<p>Second was to find some C64 games which are also supported by spatterlight for testing my implementation. Luckily there&#8217;s a set of game on <a href=\"http:\/\/www.ifarchive.org\/indexes\/if-archive\/scott-adams\/games\/c64\/\">ifarchive<\/a> I can use. While I can&#8217;t run spatterlight myself because it&#8217;s only available for macs, I can look into the source code and sure enough those games are also supported by it.<\/p>\n<figure id=\"attachment_19\" aria-describedby=\"caption-attachment-19\" style=\"width: 850px\" class=\"wp-caption aligncenter\"><img loading=\"lazy\" decoding=\"async\" class=\"size-full wp-image-19\" src=\"https:\/\/blogs.scummvm.org\/stablesteady\/wp-content\/uploads\/sites\/52\/2022\/05\/c64-games.png\" alt=\"\" width=\"850\" height=\"288\" srcset=\"https:\/\/blogs.scummvm.org\/stablesteady\/wp-content\/uploads\/sites\/52\/2022\/05\/c64-games.png 850w, https:\/\/blogs.scummvm.org\/stablesteady\/wp-content\/uploads\/sites\/52\/2022\/05\/c64-games-300x102.png 300w, https:\/\/blogs.scummvm.org\/stablesteady\/wp-content\/uploads\/sites\/52\/2022\/05\/c64-games-768x260.png 768w\" sizes=\"auto, (max-width: 850px) 100vw, 850px\" \/><figcaption id=\"caption-attachment-19\" class=\"wp-caption-text\">The file size and checksum matches \ud83d\ude42<\/figcaption><\/figure>\n<p>I started working on adding these games to detection which is when I encountered a minor bug. The Scott engine has a list of supported games along with their filesizes and md5 hash. When adding a new game, the file is matched against this list but a wrong condition caused it to match with the first entry in the list with the same filesize. This wasn&#8217;t a problem till now because every supported game had a different file size but the C64 games happen to be of the same size. I fixed it and sure enough, the games are now detected properly.<\/p>\n<figure id=\"attachment_20\" aria-describedby=\"caption-attachment-20\" style=\"width: 790px\" class=\"wp-caption aligncenter\"><img loading=\"lazy\" decoding=\"async\" class=\"size-full wp-image-20\" src=\"https:\/\/blogs.scummvm.org\/stablesteady\/wp-content\/uploads\/sites\/52\/2022\/05\/detection.png\" alt=\"\" width=\"790\" height=\"152\" srcset=\"https:\/\/blogs.scummvm.org\/stablesteady\/wp-content\/uploads\/sites\/52\/2022\/05\/detection.png 790w, https:\/\/blogs.scummvm.org\/stablesteady\/wp-content\/uploads\/sites\/52\/2022\/05\/detection-300x58.png 300w, https:\/\/blogs.scummvm.org\/stablesteady\/wp-content\/uploads\/sites\/52\/2022\/05\/detection-768x148.png 768w\" sizes=\"auto, (max-width: 790px) 100vw, 790px\" \/><figcaption id=\"caption-attachment-20\" class=\"wp-caption-text\">An easy fix<\/figcaption><\/figure>\n<p>Now that the games are detected and can be loaded, the next thing to work on is loading the game data and that&#8217;s what I am doing right now. It&#8217;s a bit involved and might be the hardest part of this task so I hope I can make some good progress in the coming week.<\/p>\n","protected":false},"excerpt":{"rendered":"<p>The first week of GSoC was a slow one for me. I had my semester-end exams which kept me occupied for most of the week. So instead of starting with writing code I decided to instead spend time on some other things. First was going through the\u00a0Pro Git book for a better understanding of how [&hellip;]<\/p>\n","protected":false},"author":12,"featured_media":0,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[1],"tags":[],"class_list":["post-18","post","type-post","status-publish","format-standard","hentry","category-uncategorized"],"_links":{"self":[{"href":"https:\/\/blogs.scummvm.org\/stablesteady\/wp-json\/wp\/v2\/posts\/18","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/blogs.scummvm.org\/stablesteady\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/blogs.scummvm.org\/stablesteady\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/blogs.scummvm.org\/stablesteady\/wp-json\/wp\/v2\/users\/12"}],"replies":[{"embeddable":true,"href":"https:\/\/blogs.scummvm.org\/stablesteady\/wp-json\/wp\/v2\/comments?post=18"}],"version-history":[{"count":3,"href":"https:\/\/blogs.scummvm.org\/stablesteady\/wp-json\/wp\/v2\/posts\/18\/revisions"}],"predecessor-version":[{"id":23,"href":"https:\/\/blogs.scummvm.org\/stablesteady\/wp-json\/wp\/v2\/posts\/18\/revisions\/23"}],"wp:attachment":[{"href":"https:\/\/blogs.scummvm.org\/stablesteady\/wp-json\/wp\/v2\/media?parent=18"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/blogs.scummvm.org\/stablesteady\/wp-json\/wp\/v2\/categories?post=18"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/blogs.scummvm.org\/stablesteady\/wp-json\/wp\/v2\/tags?post=18"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}