{"id":58,"date":"2017-08-28T09:53:14","date_gmt":"2017-08-28T09:53:14","guid":{"rendered":"https:\/\/blogs.scummvm.org\/yinsimei\/?p=58"},"modified":"2022-05-24T09:53:37","modified_gmt":"2022-05-24T09:53:37","slug":"gsoc-2017-summary","status":"publish","type":"post","link":"https:\/\/blogs.scummvm.org\/yinsimei\/2017\/08\/28\/gsoc-2017-summary\/","title":{"rendered":"GSoC 2017 Summary"},"content":{"rendered":"<h1>GSoC 2017: Sludge Engine<\/h1>\n<h1>Summary<\/h1>\n<h1>Project description<\/h1>\n<p>During GSoC 2017, I worked for the org\u00a0<a href=\"http:\/\/www.scummvm.org\/\">ScummVM<\/a>, which is a program that allows running some classic graphical point-and-click adventure games on multiple platforms (Win, MacOS, Linux, Android, etc.), with game data file provided.<\/p>\n<p>My project has been importing the Sludge engine into ScummVM and adding full support at least for the game\u00a0<a href=\"https:\/\/en.wikipedia.org\/wiki\/Out_of_Order_(video_game)\">Out Of Order<\/a>. At the start, I had\u00a0<a href=\"https:\/\/github.com\/opensludge\/opensludge\">Sludge engine source code<\/a>\u00a0as base to work on, which is an open source project licensed under GNU LGPL version 2.1.<\/p>\n<h1>Goals achieved<\/h1>\n<p>Now I\u2019d like to make a summary of what I\u2019ve achieved:<\/p>\n<h2>1. Sludge engine<\/h2>\n<p>Sludge engine has largely been imported into ScummVM now with capability to run the games below:<\/p>\n<ul>\n<li>Out of Order<\/li>\n<li>Frasse and the Peas of Kejick<\/li>\n<li>The Interview<\/li>\n<li>Life Flashed By<\/li>\n<li>The Game That Takes Place on a Cruise Ship<\/li>\n<li>Cubert Badbone, P.I.<\/li>\n<li>Robin\u2019s Rescue (Tutorial game for sludge engine)<\/li>\n<\/ul>\n<p>I tested the game Out Of Order from the beginning to the end and the first scenes in other games. There doesn\u2019t seem to be serious problems.<\/p>\n<h2>2. Other features<\/h2>\n<ol>\n<li>\n<ol>\n<li>CMD :\n<ul>\n<li>As the entry barrier for GSoC program, I made a\u00a0<a href=\"https:\/\/github.com\/scummvm\/scummvm\/pull\/926\">PR\u00a0<\/a>for the command line to get games detected and added. This feature has been polished and enriched by two other summvm members criezy and tobiatesan later.<\/li>\n<\/ul>\n<\/li>\n<li>GRAPHICS :\n<ul>\n<li>I added Multiply blend mode for Transparent Surface:\u00a0<a href=\"https:\/\/github.com\/scummvm\/scummvm\/pull\/985\">PR<\/a>.<\/li>\n<li>I fixed a minor bug about off-screen clipping handling for Transparent Surface :\u00a0<a href=\"https:\/\/github.com\/scummvm\/scummvm\/pull\/979\">PR<\/a><\/li>\n<\/ul>\n<\/li>\n<li>IMAGE :\n<ul>\n<li>I made a small modification to make it possible to write png from surfaces of 4-byte pixel format :\u00a0<a href=\"https:\/\/github.com\/scummvm\/scummvm\/commit\/791aedf7a5c347fdfad901ae2054a4c81ef72ca5\">commit 1<\/a>\u00a0<a href=\"https:\/\/github.com\/scummvm\/scummvm\/commit\/a503af495988a0a65d770758d697475f5b1ac414\">2<\/a><\/li>\n<\/ul>\n<\/li>\n<\/ol>\n<\/li>\n<\/ol>\n<h1>Future work<\/h1>\n<ol>\n<li>\n<ol>\n<li>\n<ul>\n<li>Unimported Sludge features :\n<ul>\n<li>Play movie<\/li>\n<li>Color transition animation<\/li>\n<\/ul>\n<\/li>\n<li>Continue to track down game bugs<\/li>\n<li>Code objectifying for sludge<\/li>\n<li>I\u2019m still working on adding support for .mod .s3m and .xm tracker sounds\u00a0<a href=\"https:\/\/github.com\/yinsimei\/scummvm\/tree\/sound_decoder\">in my own fork<\/a>.<\/li>\n<\/ul>\n<\/li>\n<\/ol>\n<\/li>\n<\/ol>\n<h1>Code<\/h1>\n<p>The code for sludge engine is in an individual folder in the repo:<\/p>\n<p><a href=\"https:\/\/github.com\/scummvm\/scummvm\/tree\/master\/engines\/sludge\" rel=\"nofollow\">https:\/\/github.com\/scummvm\/scummvm\/tree\/master\/engines\/sludge<\/a><\/p>\n<p>The commits that I made :<\/p>\n<p><a href=\"https:\/\/github.com\/scummvm\/scummvm\/commits?author=yinsimei\" rel=\"nofollow\">https:\/\/github.com\/scummvm\/scummvm\/commits?author=yinsimei<\/a><\/p>\n","protected":false},"excerpt":{"rendered":"<p>GSoC 2017: Sludge Engine Summary Project description During GSoC 2017, I worked for the org\u00a0ScummVM, which is a program that allows running some classic graphical point-and-click adventure games on multiple platforms (Win, MacOS, Linux, Android, etc.), with game data file provided. My project has been importing the Sludge engine into ScummVM and adding full support [&hellip;]<\/p>\n","protected":false},"author":1,"featured_media":0,"comment_status":"closed","ping_status":"closed","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[1],"tags":[],"class_list":["post-58","post","type-post","status-publish","format-standard","hentry","category-uncategorized"],"_links":{"self":[{"href":"https:\/\/blogs.scummvm.org\/yinsimei\/wp-json\/wp\/v2\/posts\/58","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/blogs.scummvm.org\/yinsimei\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/blogs.scummvm.org\/yinsimei\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/blogs.scummvm.org\/yinsimei\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/blogs.scummvm.org\/yinsimei\/wp-json\/wp\/v2\/comments?post=58"}],"version-history":[{"count":1,"href":"https:\/\/blogs.scummvm.org\/yinsimei\/wp-json\/wp\/v2\/posts\/58\/revisions"}],"predecessor-version":[{"id":59,"href":"https:\/\/blogs.scummvm.org\/yinsimei\/wp-json\/wp\/v2\/posts\/58\/revisions\/59"}],"wp:attachment":[{"href":"https:\/\/blogs.scummvm.org\/yinsimei\/wp-json\/wp\/v2\/media?parent=58"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/blogs.scummvm.org\/yinsimei\/wp-json\/wp\/v2\/categories?post=58"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/blogs.scummvm.org\/yinsimei\/wp-json\/wp\/v2\/tags?post=58"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}