{"id":86,"date":"2026-07-27T19:58:15","date_gmt":"2026-07-27T19:58:15","guid":{"rendered":"https:\/\/blogs.scummvm.org\/andy\/?p=86"},"modified":"2026-07-27T19:58:15","modified_gmt":"2026-07-27T19:58:15","slug":"week-9","status":"publish","type":"post","link":"https:\/\/blogs.scummvm.org\/andy\/2026\/07\/27\/week-9\/","title":{"rendered":"WEEK 9"},"content":{"rendered":"<p data-path-to-node=\"4\">After last week&#8217;s big push to get <i data-path-to-node=\"4\" data-index-in-node=\"34\">Chamber of the Sci-Mutant Priestess<\/i> over the finish line, this week was all about MacVenture \u2014 turning last week&#8217;s &#8220;the games boot!&#8221; moment into something people can actually install and play.<\/p>\n<h2 data-path-to-node=\"5\">Getting the games out of Steam<\/h2>\n<p data-path-to-node=\"6\">The biggest chunk of work went into the tooling. Last week I explained the awkward situation with the Steam releases: the actual game data isn&#8217;t sitting there as loose files, it&#8217;s a Mac HFS disk image buried inside a Chromium wrapper executable. Extracting that by hand once, for debugging, is one thing \u2014 but nobody buying the games on Steam should have to do that.<\/p>\n<p data-path-to-node=\"7\">So I taught ScummVM&#8217;s dumper-companion how to do it. Point it at the Steam <code data-path-to-node=\"7\" data-index-in-node=\"75\">.exe<\/code>, and it now digs the HFS disk image out of the PE resource, punycodes the filenames so they survive on a non-Mac filesystem, and hands you a clean set of game data. What used to be a fragile manual ritual is now a single command.<\/p>\n<h2 data-path-to-node=\"8\">The Apple IIGS rabbit hole<\/h2>\n<p data-path-to-node=\"9\">While I was in there, I noticed the Steam executables actually carry two disk images \u2014 the Mac one everybody expects, and an Apple IIGS version tucked away in a separate resource. The IIGS releases have their own look and feel, so it felt wrong to leave them on the table.<\/p>\n<p data-path-to-node=\"10\">Two problems stood in the way. First, the dumper only knew about the Mac disk, so I extended it to pull the IIGS <code data-path-to-node=\"10\" data-index-in-node=\"113\">.2mg<\/code> image as well. Second \u2014 and this was the more surprising one \u2014 ScummVM&#8217;s detection for the IIGS games was quietly dead. The detection entries existed, but there was no data-fork fallback, so the files these games actually ship with never matched anything. I fixed the detection so it hashes the right fork, and suddenly the IIGS versions light up in the launcher like they always should have.<\/p>\n<h2 data-path-to-node=\"11\">A detour back to Chamber<\/h2>\n<p data-path-to-node=\"12\">One small but satisfying fix landed on the Chamber side too. A user reported (bug #17004) that if you had both the CGA and EGA data in the same folder, the engine would stubbornly force CGA regardless of what you picked. It turned out to be a detection-hint issue, and now the engine honors the variant you actually chose.<\/p>\n<h2 data-path-to-node=\"13\">Testing begins<\/h2>\n<p data-path-to-node=\"14\">With the tooling in place, I&#8217;ve started the part I&#8217;ve been looking forward to: real playthroughs. <i data-path-to-node=\"14\" data-index-in-node=\"98\">D\u00e9j\u00e0 Vu<\/i> is first up \u2014 the noir detective one, the natural place to start \u2014 and so far it&#8217;s going really well. The window manager behaves, items drag and drop where they should, the text scrolls cleanly. No showstoppers yet, which is exactly what you want to see from the first of four games.<\/p>\n<h2 data-path-to-node=\"15\">Next week<\/h2>\n<p data-path-to-node=\"16\">The plan is to keep grinding through the playthroughs \u2014 finish <i data-path-to-node=\"16\" data-index-in-node=\"63\">D\u00e9j\u00e0 Vu<\/i>, then move on to <i data-path-to-node=\"16\" data-index-in-node=\"88\">D\u00e9j\u00e0 Vu II<\/i>, <i data-path-to-node=\"16\" data-index-in-node=\"100\">Uninvited<\/i>, and <i data-path-to-node=\"16\" data-index-in-node=\"115\">Shadowgate<\/i> \u2014 noting anything that misbehaves along the way. If they hold up like <i data-path-to-node=\"16\" data-index-in-node=\"196\">D\u00e9j\u00e0 Vu<\/i> has, the goal is to get MacVenture&#8217;s Steam and IIGS releases marked as testing so players can start reporting back.<\/p>\n<p data-path-to-node=\"17\">As always, thanks to my mentors for the steady guidance \u2014 onward to the testing grind!<\/p>\n","protected":false},"excerpt":{"rendered":"<p>After last week&#8217;s big push to get Chamber of the Sci-Mutant Priestess over the finish line, this week was all about MacVenture \u2014 turning last week&#8217;s &#8220;the games boot!&#8221; moment into something people can actually install and play. Getting the games out of Steam The biggest chunk of work went into the tooling. Last week [&hellip;]<\/p>\n","protected":false},"author":31,"featured_media":0,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[2],"tags":[],"class_list":["post-86","post","type-post","status-publish","format-standard","hentry","category-gsoc-2026"],"_links":{"self":[{"href":"https:\/\/blogs.scummvm.org\/andy\/wp-json\/wp\/v2\/posts\/86","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/blogs.scummvm.org\/andy\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/blogs.scummvm.org\/andy\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/blogs.scummvm.org\/andy\/wp-json\/wp\/v2\/users\/31"}],"replies":[{"embeddable":true,"href":"https:\/\/blogs.scummvm.org\/andy\/wp-json\/wp\/v2\/comments?post=86"}],"version-history":[{"count":1,"href":"https:\/\/blogs.scummvm.org\/andy\/wp-json\/wp\/v2\/posts\/86\/revisions"}],"predecessor-version":[{"id":87,"href":"https:\/\/blogs.scummvm.org\/andy\/wp-json\/wp\/v2\/posts\/86\/revisions\/87"}],"wp:attachment":[{"href":"https:\/\/blogs.scummvm.org\/andy\/wp-json\/wp\/v2\/media?parent=86"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/blogs.scummvm.org\/andy\/wp-json\/wp\/v2\/categories?post=86"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/blogs.scummvm.org\/andy\/wp-json\/wp\/v2\/tags?post=86"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}