{"id":9,"date":"2012-05-06T06:58:23","date_gmt":"2012-05-06T06:58:23","guid":{"rendered":"https:\/\/blogs.scummvm.org\/somaen\/?p=9"},"modified":"2022-05-26T06:59:24","modified_gmt":"2022-05-26T06:59:24","slug":"a-beginning","status":"publish","type":"post","link":"https:\/\/blogs.scummvm.org\/somaen\/2012\/05\/06\/a-beginning\/","title":{"rendered":"A beginning"},"content":{"rendered":"<p>Since I started thinking about approaching this task, I&#8217;ve been doing a little work on the\u00a0<a href=\"http:\/\/code.google.com\/p\/wmelite\/\">WME Lite<\/a> code base. I originally forked that repos, and started removing the bits I knew that wouldn&#8217;t work with ScummVM, which mainly meant stubbing all the dependencies away (Boost, BASS, SDL2), and getting to grips with where STL was used (as ScummVM doesn&#8217;t allow me to use those).<\/p>\n<p>I then did a bit of &#8220;reverse-porting&#8221;, copying over pieces of ScummVM to that repos, so that I could start replacing pieces of WME-code that depended on things that aren&#8217;t available in ScummVM, with the proper ScummVM-solutions. This worked up until a certain point, namely getting files to actually load (that would require copying over LARGE amounts of ScummVM-code). At this point I&#8217;d gotten to know the WME-codebase a bit better, and also untangled a bit of the header-dependencies that was there (which was usefull, to avoid having to copy the ENTIRE codebase in one go), to the point that I could start copying the files over to a <a href=\"https:\/\/github.com\/somaen\/scummvm\/tree\/wintermute\" target=\"_blank\" rel=\"noopener\">branch<\/a> in my ScummVM-fork.<\/p>\n<p>This led to a day or so of resolving problems relating to common\/forbidden.h (I hadn&#8217;t purged all the STL\/FILE-related pieces of code, since the main reason for moving on from a fork of WME, to a fork of ScummVM, was to get files loading). Additionally I also had to follow the <a href=\"http:\/\/wiki.scummvm.org\/index.php\/HOWTO-Engines\" target=\"_blank\" rel=\"noopener\">&#8220;HOWTO: Engines&#8221;<\/a> \u00a0guide in the ScummVM-Wiki, to get the connections correct with the rest of ScummVM<\/p>\n<p>But, in the end, I managed to atleast get a repos that compiles, and links in-tree. Right now, it even detects the game data, and should be just a few hours away from being able to get the scripts out of the data files, to start running the main loop of the engine.<\/p>\n<p>This puts me quite a bit into stuff that was planned a bit further down the road in my GSoC-timeline, but sometimes things tend to happen in rather different orders than what one actually plans, there is still work to be done for what was planned as the first week&#8217;s work (Refactoring), but happily, I&#8217;ve gotten some help from Sev with automated renaming of variables, which should save me a day or two of manual labour. (Combined with some application of <a href=\"http:\/\/astyle.sourceforge.net\/\" target=\"_blank\" rel=\"noopener\">astyle<\/a>, this atleast gets me of the start line for making the code base follow the <a href=\"http:\/\/wiki.scummvm.org\/index.php\/Code_Formatting_Conventions\" target=\"_blank\" rel=\"noopener\">ScummVM code-formatting guidelines<\/a>).<\/p>\n<p>In closing:<br \/>\nI might not be getting too much work into the next few weeks, as I have exams coming up, but I do plan to get the game data files at least loading, and hopefully to start looking through the files for any code formatting-breakages in the upcoming time.<\/p>\n<p>Einar Joha<\/p>\n","protected":false},"excerpt":{"rendered":"<p>Since I started thinking about approaching this task, I&#8217;ve been doing a little work on the\u00a0WME Lite code base. I originally forked that repos, and started removing the bits I knew that wouldn&#8217;t work with ScummVM, which mainly meant stubbing all the dependencies away (Boost, BASS, SDL2), and getting to grips with where STL was [&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-9","post","type-post","status-publish","format-standard","hentry","category-uncategorized"],"_links":{"self":[{"href":"https:\/\/blogs.scummvm.org\/somaen\/wp-json\/wp\/v2\/posts\/9","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/blogs.scummvm.org\/somaen\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/blogs.scummvm.org\/somaen\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/blogs.scummvm.org\/somaen\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/blogs.scummvm.org\/somaen\/wp-json\/wp\/v2\/comments?post=9"}],"version-history":[{"count":2,"href":"https:\/\/blogs.scummvm.org\/somaen\/wp-json\/wp\/v2\/posts\/9\/revisions"}],"predecessor-version":[{"id":11,"href":"https:\/\/blogs.scummvm.org\/somaen\/wp-json\/wp\/v2\/posts\/9\/revisions\/11"}],"wp:attachment":[{"href":"https:\/\/blogs.scummvm.org\/somaen\/wp-json\/wp\/v2\/media?parent=9"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/blogs.scummvm.org\/somaen\/wp-json\/wp\/v2\/categories?post=9"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/blogs.scummvm.org\/somaen\/wp-json\/wp\/v2\/tags?post=9"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}