{"id":59,"date":"2016-08-03T15:45:00","date_gmt":"2016-08-03T13:45:00","guid":{"rendered":"https:\/\/blogs.scummvm.org\/blorente\/?p=59"},"modified":"2022-04-15T13:13:18","modified_gmt":"2022-04-15T11:13:18","slug":"features-over-features","status":"publish","type":"post","link":"https:\/\/blogs.scummvm.org\/blorente\/2016\/08\/03\/features-over-features\/","title":{"rendered":"Features over features"},"content":{"rendered":"\n<p>It has been too long, and I apologize for that, but like a Protoss player taking a base, many things got ready at once in a short short time (I just bought Starcraft II). So, without further ado, here are the occurrences and features of this past week.<\/p>\n\n\n\n<p>Please ignore the graphical noise in the following screenshots, since it\u2019s due to an issue with my display, not the rendering.<\/p>\n\n\n\n<!--more-->\n\n\n\n<h2 class=\"wp-block-heading\">The MacGUI PR got merged<\/h2>\n\n\n\n<p>The very first thing I did on GSoC was to take the GUI system from WAGE and extract it to graphics, so that I (and hopefully some other devs) could use it for our engines. Over the course of the development I added some things to it, the most important being the support for custom bitmap-based 9patch borders (using _sev\u2019s code).<\/p>\n\n\n\n<p>Just today, the PR issued to merge this extraction to graphics has been merged, so hopefully somebody will find it useful. I know I certainly did.<\/p>\n\n\n\n<h2 class=\"wp-block-heading\">The save\/load system<\/h2>\n\n\n\n<p>I had the saving and loading functionality implemented already (luckily in MacVenture it\u2019s pretty straightforward), but it was a pile of hacks that only worked in one savefile and just for Shadowgate. After some work, and much inspiration from WAGE and Drascula, I added support for ScummVM\u2019s saving dialogs and metadata, which is included at the end of the file so as to try and make the savefiles compatible. However, I have no way to test this, since I do not own a Macintosh.<\/p>\n\n\n\n<p>You can see the results of the new save system here:<\/p>\n\n\n\n<div class=\"wp-block-image\"><figure class=\"aligncenter\"><a href=\"https:\/\/blogs.scummvm.org\/blorente\/wp-content\/uploads\/sites\/15\/2020\/07\/1.gif\"><img loading=\"lazy\" decoding=\"async\" width=\"512\" height=\"368\" src=\"https:\/\/blogs.scummvm.org\/blorente\/wp-content\/uploads\/sites\/15\/2020\/07\/1.gif\" alt=\"\" class=\"wp-image-61\"\/><\/a><\/figure><\/div>\n\n\n\n<h2 class=\"wp-block-heading\">A glitch in the matrix\u2026<\/h2>\n\n\n\n<p>I added detection for D\u00e8j\u00e1 Vu and D\u00e8j\u00e1 Vu II, which would be fairly straightforward were not for the fact that all the D\u00e8j\u00e1 Vu game files had special characters in their names (D?j? Game, I\u2019m looking at you), so I just couldn\u2019t open them. I have a couple of proper solutions in mind, and I have to look at how Dr\u00e1scula deals with Spanish tildes, but for now it rests as a dirty hack that takes the problem characters (\u00e8 and \u00e1) and just transforms them to ascii.<\/p>\n\n\n\n<p>Here is a screenshot of D\u00e8j\u00e1 Vu\u2026<\/p>\n\n\n\n<div class=\"wp-block-image\"><figure class=\"aligncenter\"><a href=\"https:\/\/blogs.scummvm.org\/blorente\/wp-content\/uploads\/sites\/15\/2020\/07\/2.png\"><img loading=\"lazy\" decoding=\"async\" width=\"513\" height=\"370\" src=\"https:\/\/blogs.scummvm.org\/blorente\/wp-content\/uploads\/sites\/15\/2020\/07\/2.png\" alt=\"\" class=\"wp-image-62\" srcset=\"https:\/\/blogs.scummvm.org\/blorente\/wp-content\/uploads\/sites\/15\/2020\/07\/2.png 513w, https:\/\/blogs.scummvm.org\/blorente\/wp-content\/uploads\/sites\/15\/2020\/07\/2-300x216.png 300w\" sizes=\"auto, (max-width: 513px) 100vw, 513px\" \/><\/a><\/figure><\/div>\n\n\n\n<p>And here is a screenshot of D\u00e8j\u00e1 Vu II: Lost in Las Vegas. Note the recurring theme of the coat.<\/p>\n\n\n\n<h2 class=\"wp-block-heading\"><a href=\"https:\/\/blogs.scummvm.org\/blorente\/wp-content\/uploads\/sites\/15\/2020\/07\/3.png\"><img loading=\"lazy\" decoding=\"async\" class=\"aligncenter size-full wp-image-63\" src=\"https:\/\/blogs.scummvm.org\/blorente\/wp-content\/uploads\/sites\/15\/2020\/07\/3.png\" alt=\"\" width=\"512\" height=\"366\" srcset=\"https:\/\/blogs.scummvm.org\/blorente\/wp-content\/uploads\/sites\/15\/2020\/07\/3.png 512w, https:\/\/blogs.scummvm.org\/blorente\/wp-content\/uploads\/sites\/15\/2020\/07\/3-300x214.png 300w\" sizes=\"auto, (max-width: 512px) 100vw, 512px\" \/><\/a><\/h2>\n\n\n\n<h2 class=\"wp-block-heading\">Sound!<\/h2>\n\n\n\n<figure class=\"wp-block-video aligncenter\"><video controls preload=\"auto\" src=\"https:\/\/blogs.scummvm.org\/blorente\/wp-content\/uploads\/sites\/15\/2020\/07\/sound.avi\" playsinline><\/video><\/figure>\n\n\n\n<p>That is one unfortunate thumbnail, but it is actually the first sound I could find in D\u00e8j\u00e1 Vu. I implemented the sound system, which has about half a dozen formats, so that now we have sound. I haven\u2019t tested all the formats, only the ones checked <a rel=\"noreferrer noopener\" href=\"https:\/\/web.archive.org\/web\/20200426204825\/https:\/\/t.umblr.com\/redirect?z=https%3A%2F%2Ftrello.com%2Fc%2FpKert0in%2F56-implement-sound-system&amp;t=MGVkNDk5NWYwZjM4ODQwN2IxOGYzOTIyZWEwYTcxMjViMmI4NmYwOCw2WEkxZWFzVg%3D%3D&amp;b=t%3A1B-6m0r5fRzyZAKM79LNMg&amp;p=https%3A%2F%2Fblorente.tumblr.com%2Fpost%2F148402532627%2Ffeatures-over-features&amp;m=1\" target=\"_blank\">here<\/a>.<\/p>\n\n\n\n<h2 class=\"wp-block-heading\">Packed borders<\/h2>\n\n\n\n<p>Lastly, I implemented the system to read the border files from a file called macventure.zip. Eventually, I\u2019d like to have this file bundled with ScummVM, like Dr\u00e1scula or Wintermute, but for now just downloading it from <a href=\"https:\/\/web.archive.org\/web\/20200426204825\/https:\/\/t.umblr.com\/redirect?z=https%3A%2F%2Ftrello.com%2Fc%2FchM1UNoB%2F70-get-the-borders&amp;t=NzcxZmNiZTc0YTNhMDlmNjZiNTIyMTcyMDhmNGVlMzljNzliZWI4Yyw2WEkxZWFzVg%3D%3D&amp;b=t%3A1B-6m0r5fRzyZAKM79LNMg&amp;p=https%3A%2F%2Fblorente.tumblr.com%2Fpost%2F148402532627%2Ffeatures-over-features&amp;m=1\" target=\"_blank\" rel=\"noreferrer noopener\">here<\/a> and placing it in a folder findable from ScummVM (the game folder or the extra path) should suffice.<\/p>\n\n\n\n<p>In addition, if you have the games and would like to play, I wrote a short guide <a href=\"https:\/\/web.archive.org\/web\/20200426204825\/https:\/\/t.umblr.com\/redirect?z=https%3A%2F%2Fgithub.com%2Fblorente%2FMacVenture-Extract-Guide&amp;t=YjRiYWFmMTNkYjYzYTk4OTg1YjViNDU0N2E0YWJiZTJlZjc3N2U1MCw2WEkxZWFzVg%3D%3D&amp;b=t%3A1B-6m0r5fRzyZAKM79LNMg&amp;p=https%3A%2F%2Fblorente.tumblr.com%2Fpost%2F148402532627%2Ffeatures-over-features&amp;m=1\" target=\"_blank\" rel=\"noreferrer noopener\">here<\/a>.<\/p>\n\n\n\n<p>As always, I try to keep my <a href=\"https:\/\/web.archive.org\/web\/20200426204825\/https:\/\/t.umblr.com\/redirect?z=https%3A%2F%2Ftrello.com%2Fb%2FUOfhgSHj%2Fgsoc16&amp;t=YzYxZTAwOWNmNTIyNjU0Nzk0Y2EzOWU4ZDcyMzhjZTNkNzQxMWM0ZSw2WEkxZWFzVg%3D%3D&amp;b=t%3A1B-6m0r5fRzyZAKM79LNMg&amp;p=https%3A%2F%2Fblorente.tumblr.com%2Fpost%2F148402532627%2Ffeatures-over-features&amp;m=1\" target=\"_blank\" rel=\"noreferrer noopener\">Trello<\/a> updated, and I actually sometimes stream development too, on <a href=\"https:\/\/web.archive.org\/web\/20200426204825\/https:\/\/t.umblr.com\/redirect?z=https%3A%2F%2Fwww.twitch.tv%2Fkerithspawn&amp;t=OTAwYzE5MzA3NTZhNDJjYTFhYjdjZWUxZjY4OTg5NjdiN2IyN2EyZiw2WEkxZWFzVg%3D%3D&amp;b=t%3A1B-6m0r5fRzyZAKM79LNMg&amp;p=https%3A%2F%2Fblorente.tumblr.com%2Fpost%2F148402532627%2Ffeatures-over-features&amp;m=1\" target=\"_blank\" rel=\"noreferrer noopener\">Twitch<\/a>.<\/p>\n\n\n\n<p>So long, and happy gaming \ud83d\ude42<\/p>\n","protected":false},"excerpt":{"rendered":"<p>It has been too long, and I apologize for that, but like a Protoss player taking a base, many things got ready at once in a short short time (I just bought Starcraft II). So, without further ado, here are the occurrences and features of this past week. Please ignore the graphical noise in the [&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-59","post","type-post","status-publish","format-standard","hentry","category-uncategorized"],"_links":{"self":[{"href":"https:\/\/blogs.scummvm.org\/blorente\/wp-json\/wp\/v2\/posts\/59","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=59"}],"version-history":[{"count":6,"href":"https:\/\/blogs.scummvm.org\/blorente\/wp-json\/wp\/v2\/posts\/59\/revisions"}],"predecessor-version":[{"id":82,"href":"https:\/\/blogs.scummvm.org\/blorente\/wp-json\/wp\/v2\/posts\/59\/revisions\/82"}],"wp:attachment":[{"href":"https:\/\/blogs.scummvm.org\/blorente\/wp-json\/wp\/v2\/media?parent=59"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/blogs.scummvm.org\/blorente\/wp-json\/wp\/v2\/categories?post=59"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/blogs.scummvm.org\/blorente\/wp-json\/wp\/v2\/tags?post=59"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}