{"id":51,"date":"2020-08-18T16:31:35","date_gmt":"2020-08-18T16:31:35","guid":{"rendered":"https:\/\/blogs.scummvm.org\/npjg\/?p=51"},"modified":"2022-05-23T16:32:53","modified_gmt":"2022-05-23T16:32:53","slug":"a-short-week","status":"publish","type":"post","link":"https:\/\/blogs.scummvm.org\/npjg\/2020\/08\/18\/a-short-week\/","title":{"rendered":"A short week"},"content":{"rendered":"<p>Last week, I finished implementing the direct-copy mode for our Macintosh window manager. Now, with the Director engine, there is no intermediate blitting onto a\u00a0<code>screen<\/code>\u00a0surface that is then copied to the physical screen. This restored transition speed and avoided duplicate work on every frame. Here\u2019s the opening of Spaceship Warlock with the new interface and transitions:<\/p>\n<div>\n<div style=\"width: 384px;\" class=\"wp-video\"><!--[if lt IE 9]><script>document.createElement('video');<\/script><![endif]-->\n<video class=\"wp-video-shortcode\" id=\"video-51-1\" width=\"384\" height=\"288\" preload=\"metadata\" controls=\"controls\"><source type=\"video\/mp4\" src=\"https:\/\/blogs.scummvm.org\/npjg\/wp-content\/uploads\/sites\/30\/2022\/05\/Windowed-warlock-demo-7S03CkwXK08.mp4?_=1\" \/><a href=\"https:\/\/blogs.scummvm.org\/npjg\/wp-content\/uploads\/sites\/30\/2022\/05\/Windowed-warlock-demo-7S03CkwXK08.mp4\">https:\/\/blogs.scummvm.org\/npjg\/wp-content\/uploads\/sites\/30\/2022\/05\/Windowed-warlock-demo-7S03CkwXK08.mp4<\/a><\/video><\/div>\n<\/div>\n<p>For a while I was stuck on implementing border transparency without an intermediate surface, but @sev helpfully reminded me of\u00a0<code>g_system-&gt;lockScreen()<\/code>, which no longer has performance issues on some systems.<\/p>\n<p>I also looked at several long-standing bugs this week. As @djsrv probably noted, in investigating one we discovered that the\u00a0<code>goto<\/code>\u00a0Lingo should not run the\u00a0<code>exitFrame<\/code>\u00a0event. In the opening scene of\u00a0<em>Majestic<\/em>, the two middle bitmap text channels previously held the mouse-over highlighting for \u201cRestore Old Game\u201d and \u201cExit\u201d in the main menu. Clicking \u201cStart New Game\u201d went to the correct place, but not before the main menu\u2019s\u00a0<code>exitFrame<\/code>\u00a0event disabled visibility of those channels again. Now, though, everything looks right:<\/p>\n<figure><img decoding=\"async\" class=\"aligncenter\" src=\"https:\/\/blogs.scummvm.org\/npjg\/wp-content\/uploads\/sites\/30\/2022\/05\/a-short-week-1.png\" \/><\/figure>\n<p>Tomorrow, it will be time to figure out why the cursor implementation I made doesn\u2019t work with Majestic\u2026 and also why the bitmap cursor in Chop Suey still has a strange flashing behaviour.<\/p>\n","protected":false},"excerpt":{"rendered":"<p>Last week, I finished implementing the direct-copy mode for our Macintosh window manager. Now, with the Director engine, there is no intermediate blitting onto a\u00a0screen\u00a0surface that is then copied to the physical screen. This restored transition speed and avoided duplicate work on every frame. Here\u2019s the opening of Spaceship Warlock with the new interface and [&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-51","post","type-post","status-publish","format-standard","hentry","category-uncategorized"],"_links":{"self":[{"href":"https:\/\/blogs.scummvm.org\/npjg\/wp-json\/wp\/v2\/posts\/51","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/blogs.scummvm.org\/npjg\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/blogs.scummvm.org\/npjg\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/blogs.scummvm.org\/npjg\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/blogs.scummvm.org\/npjg\/wp-json\/wp\/v2\/comments?post=51"}],"version-history":[{"count":1,"href":"https:\/\/blogs.scummvm.org\/npjg\/wp-json\/wp\/v2\/posts\/51\/revisions"}],"predecessor-version":[{"id":52,"href":"https:\/\/blogs.scummvm.org\/npjg\/wp-json\/wp\/v2\/posts\/51\/revisions\/52"}],"wp:attachment":[{"href":"https:\/\/blogs.scummvm.org\/npjg\/wp-json\/wp\/v2\/media?parent=51"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/blogs.scummvm.org\/npjg\/wp-json\/wp\/v2\/categories?post=51"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/blogs.scummvm.org\/npjg\/wp-json\/wp\/v2\/tags?post=51"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}