{"id":20,"date":"2016-06-10T22:22:00","date_gmt":"2016-06-10T20:22:00","guid":{"rendered":"https:\/\/blogs.scummvm.org\/blorente\/?p=20"},"modified":"2022-04-15T13:08:45","modified_gmt":"2022-04-15T11:08:45","slug":"the-engine-work-begins","status":"publish","type":"post","link":"https:\/\/blogs.scummvm.org\/blorente\/2016\/06\/10\/the-engine-work-begins\/","title":{"rendered":"The engine work begins"},"content":{"rendered":"\n<p>Ever since classes ended and I started my exam period (until June 25th), I have been dividing my time between working on the project and studying for exams. It\u2019s been really exhausting, but totally worth it!<\/p>\n\n\n\n<p>Here is a recap of what I\u2019ve done:<\/p>\n\n\n\n<!--more-->\n\n\n\n<p><b>Add Black\/White CLUT8 support to 9patch<\/b><\/p>\n\n\n\n<p>Through someqhat of a hack, I have managed to add balck and white support to 9patch, so as to blit into arbitrary MacGui surfaces. So far, I&#8217;ts worked great, but I will consider expanding it if\/when I need more colors.<\/p>\n\n\n\n<p><b>Refactor MacWindow<\/b><\/p>\n\n\n\n<p>Now, it hides the 9patch from the client, and a simple call to <code>loadBorder()<\/code> suffices to load the appropriate border. However, I still kept the old manual WAGE borders as a fallback, if no border is specified.<\/p>\n\n\n\n<p><b>Begin work on the engine<\/b><\/p>\n\n\n\n<p>Yes! Finally I got to a point wwhere I felt that I could start hacking away at the engine. Following the information on <a href=\"https:\/\/web.archive.org\/web\/20200426204825\/https:\/\/t.umblr.com\/redirect?z=http%3A%2F%2Fseancode.com%2Fwebventure%2Fformats.html&amp;t=YzJkNzE1NmI1OTgzNzI5OWY3YWZkMmMxYjdlNDczYzc0YmVjM2I2YixGUFhBM3BjZQ%3D%3D&amp;b=t%3A1B-6m0r5fRzyZAKM79LNMg&amp;p=https%3A%2F%2Fblorente.tumblr.com%2Fpost%2F145726159752%2Fthe-engine-work-begins&amp;m=1\" target=\"_blank\" rel=\"noopener\">this page<\/a> and reading the code of other engines (namely WAGE and Drascula), I have managed to get an engine running that:<\/p>\n\n\n\n<ul class=\"wp-block-list\"><li>Can detect Shadowgate (the Zojoi Rerelease).<\/li><li>Can load the menus (although we decided to go with static ones for now).<\/li><li>Can load the window information (bounds, windowtype, id\u2026).<\/li><li>Can load the controls information (enter, exit, hit, go\u2026), although it can\u2019t render it yet, I\u2019m looking on the text drawing code.<\/li><\/ul>\n\n\n\n<div class=\"wp-block-image\"><figure class=\"aligncenter\"><a href=\"https:\/\/blogs.scummvm.org\/blorente\/wp-content\/uploads\/sites\/15\/2022\/04\/tumblr_inline_o8ku4ftlPp1u70uzl_1280.gif\"><img loading=\"lazy\" decoding=\"async\" width=\"540\" height=\"171\" src=\"https:\/\/blogs.scummvm.org\/blorente\/wp-content\/uploads\/sites\/15\/2022\/04\/tumblr_inline_o8ku4ftlPp1u70uzl_1280.gif\" alt=\"\" class=\"wp-image-21\"\/><\/a><\/figure><\/div>\n\n\n\n<p>It\u2019s been intense, but the more I hack on MacVenture, the more I enjoy it, and the faster I go!<\/p>\n\n\n\n<p>As a last note, I would like to remind of a few things:<\/p>\n\n\n\n<ul class=\"wp-block-list\"><li>My schedule is publicly available <a href=\"https:\/\/web.archive.org\/web\/20200426204825\/https:\/\/t.umblr.com\/redirect?z=https%3A%2F%2Ftrello.com%2Fb%2FUOfhgSHj%2Fgsoc16&amp;t=NWM3ZTMyOTRjZmFjZWY2ZTI3ODZlMDM1MGJmZmEzNDk3MGZhNWUzZCxGUFhBM3BjZQ%3D%3D&amp;b=t%3A1B-6m0r5fRzyZAKM79LNMg&amp;p=https%3A%2F%2Fblorente.tumblr.com%2Fpost%2F145726159752%2Fthe-engine-work-begins&amp;m=1\" target=\"_blank\" rel=\"noopener\">at Trello<\/a>. In the <b>Done<\/b> section you can see the tasks I consider complete. I try to keep it up to date \ud83d\ude42<\/li><li>I have opened a new branch <a href=\"https:\/\/web.archive.org\/web\/20200426204825\/https:\/\/t.umblr.com\/redirect?z=https%3A%2F%2Fgithub.com%2Fblorente%2Fscummvm%2Ftree%2Fmacventure&amp;t=YTg5ZWJkMGFlNTNjMmUwNzJjM2ExNmRiMzEzNDU1MGYwNjNkYWM0MixGUFhBM3BjZQ%3D%3D&amp;b=t%3A1B-6m0r5fRzyZAKM79LNMg&amp;p=https%3A%2F%2Fblorente.tumblr.com%2Fpost%2F145726159752%2Fthe-engine-work-begins&amp;m=1\" target=\"_blank\" rel=\"noopener\">in my repo<\/a> to hold all things related to the engine.<\/li><\/ul>\n","protected":false},"excerpt":{"rendered":"<p>Ever since classes ended and I started my exam period (until June 25th), I have been dividing my time between working on the project and studying for exams. It\u2019s been really exhausting, but totally worth it! Here is a recap of what I\u2019ve done:<\/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-20","post","type-post","status-publish","format-standard","hentry","category-uncategorized"],"_links":{"self":[{"href":"https:\/\/blogs.scummvm.org\/blorente\/wp-json\/wp\/v2\/posts\/20","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/blogs.scummvm.org\/blorente\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/blogs.scummvm.org\/blorente\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/blogs.scummvm.org\/blorente\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/blogs.scummvm.org\/blorente\/wp-json\/wp\/v2\/comments?post=20"}],"version-history":[{"count":4,"href":"https:\/\/blogs.scummvm.org\/blorente\/wp-json\/wp\/v2\/posts\/20\/revisions"}],"predecessor-version":[{"id":78,"href":"https:\/\/blogs.scummvm.org\/blorente\/wp-json\/wp\/v2\/posts\/20\/revisions\/78"}],"wp:attachment":[{"href":"https:\/\/blogs.scummvm.org\/blorente\/wp-json\/wp\/v2\/media?parent=20"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/blogs.scummvm.org\/blorente\/wp-json\/wp\/v2\/categories?post=20"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/blogs.scummvm.org\/blorente\/wp-json\/wp\/v2\/tags?post=20"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}