{"id":89,"date":"2024-07-21T18:00:10","date_gmt":"2024-07-21T18:00:10","guid":{"rendered":"https:\/\/blogs.scummvm.org\/markhor\/?p=89"},"modified":"2024-07-21T18:00:10","modified_gmt":"2024-07-21T18:00:10","slug":"freescape-engine-week-8","status":"publish","type":"post","link":"https:\/\/blogs.scummvm.org\/markhor\/2024\/07\/21\/freescape-engine-week-8\/","title":{"rendered":"Freescape Engine &#8211; Week 8"},"content":{"rendered":"<h1>Freescape Engine<\/h1>\n<p>This engine is currently my biggest challenge, I still have some doubts of if my keymap support is implemented to its highest degree. The issue I faced is that there were too many files to be aware of while making small changes. Before that I&#8217;ll explain how the keymap was being generated per game, The initkeymap was initialized as a virtual function and it was being overridden for each game engine . For example if I wanted to map a key I had to first identify in which engine the actions were being used and in which they were not while keeping in mind the different keys mapped to each engine per game, I usually got lost in my thought process while navigating and had to rethink. Also I changed the structure of how the keymaps were being initialized. Firstly, the common actions were initialized in the parent class of each per game keymap then the actions that were not common between the games and had different keys were being mapped in their own initkeymap overridden\u00a0 function.<\/p>\n<p>Here is the <a href=\"https:\/\/github.com\/scummvm\/scummvm\/pull\/5944\" target=\"_blank\" rel=\"noopener\">PR<\/a>.<\/p>\n<h2>Additional Notes<\/h2>\n<p>As of now there were few notes as I opened it for review and there were two thing I overlooked:<br \/>\n<img loading=\"lazy\" decoding=\"async\" class=\"alignnone size-full wp-image-90\" src=\"https:\/\/blogs.scummvm.org\/markhor\/wp-content\/uploads\/sites\/73\/2024\/07\/Screenshot-2024-07-21-225348.png\" alt=\"\" width=\"865\" height=\"316\" srcset=\"https:\/\/blogs.scummvm.org\/markhor\/wp-content\/uploads\/sites\/73\/2024\/07\/Screenshot-2024-07-21-225348.png 865w, https:\/\/blogs.scummvm.org\/markhor\/wp-content\/uploads\/sites\/73\/2024\/07\/Screenshot-2024-07-21-225348-300x110.png 300w, https:\/\/blogs.scummvm.org\/markhor\/wp-content\/uploads\/sites\/73\/2024\/07\/Screenshot-2024-07-21-225348-768x281.png 768w, https:\/\/blogs.scummvm.org\/markhor\/wp-content\/uploads\/sites\/73\/2024\/07\/Screenshot-2024-07-21-225348-720x263.png 720w\" sizes=\"auto, (max-width: 865px) 100vw, 865px\" \/><\/p>\n<p>It seems that different keys are mapped into different platforms, somehow I was not able to Identify that and also there is an issue with the demo mode, I haven&#8217;t fully understood what the statement means yet, but that&#8217;s a problem for tomorrow&#8217;s me.<\/p>\n","protected":false},"excerpt":{"rendered":"<p>Freescape Engine This engine is currently my biggest challenge, I still have some doubts of if my keymap support is implemented to its highest degree. The issue I faced is that there were too many files to be aware of while making small changes. Before that I&#8217;ll explain how the keymap was being generated per [&hellip;]<\/p>\n","protected":false},"author":21,"featured_media":0,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[3],"tags":[],"class_list":["post-89","post","type-post","status-publish","format-standard","hentry","category-keymap"],"_links":{"self":[{"href":"https:\/\/blogs.scummvm.org\/markhor\/wp-json\/wp\/v2\/posts\/89","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/blogs.scummvm.org\/markhor\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/blogs.scummvm.org\/markhor\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/blogs.scummvm.org\/markhor\/wp-json\/wp\/v2\/users\/21"}],"replies":[{"embeddable":true,"href":"https:\/\/blogs.scummvm.org\/markhor\/wp-json\/wp\/v2\/comments?post=89"}],"version-history":[{"count":1,"href":"https:\/\/blogs.scummvm.org\/markhor\/wp-json\/wp\/v2\/posts\/89\/revisions"}],"predecessor-version":[{"id":91,"href":"https:\/\/blogs.scummvm.org\/markhor\/wp-json\/wp\/v2\/posts\/89\/revisions\/91"}],"wp:attachment":[{"href":"https:\/\/blogs.scummvm.org\/markhor\/wp-json\/wp\/v2\/media?parent=89"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/blogs.scummvm.org\/markhor\/wp-json\/wp\/v2\/categories?post=89"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/blogs.scummvm.org\/markhor\/wp-json\/wp\/v2\/tags?post=89"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}