{"id":56,"date":"2009-08-10T18:52:34","date_gmt":"2009-08-10T18:52:34","guid":{"rendered":"https:\/\/blogs.scummvm.org\/nolange\/?p=56"},"modified":"2022-05-22T18:54:02","modified_gmt":"2022-05-22T18:54:02","slug":"resume","status":"publish","type":"post","link":"https:\/\/blogs.scummvm.org\/nolange\/2009\/08\/10\/resume\/","title":{"rendered":"R\u00e9sum\u00e9"},"content":{"rendered":"<p>GSoC is nearing its end, \u00a0today is the &#8220;suggested pencils down&#8221; date, means there shouldnt be much more happening that some cleanups and bugfixes. Im already doing exactly this for a couple of days so I guess its time to round up what got done (and what didn&#8217;t)<\/p>\n<h3>TFMX<\/h3>\n<p>The modplayer is fully implemented and accurate in regards to the player in the MI-Executeable. Actually it has some more effects and parameters implemented and can play alot of TFMX\/Pro Modules, albeit with some issues (TFMX was often modified for games so this is no surprise).<\/p>\n<p><strong>Integration in scumm engine<\/strong><br \/>\nuses 2 seperate Player instances as this allows music and effects to peacefully coexists without the latter stealing channels from the former, and this also means the mixer-settings (Sfx, Music Volume) are automatically supported.<br \/>\nDownsides are the additional memory required for the second player-instance (music-data is shared) and higher CPU-load if more than 4 channels are active. Neither is a serious drawback as the additional Memory is less that 700Bytes, and the CPU-load should be manageable. When I tested MI Amiga on a PSP, running music had an impact of additional ~10% load and that was with a downclocked CPU (111Mhz instead of 222) and highest Samplerate possible(48KHz).<\/p>\n<h3>MaxTrax<\/h3>\n<p>The modplayer is complete, it implements everything the original player (sources from UADE) did, even some optional effects (microtonal and modulation, both can be enabled with compiler macros). I cant vouch for the accuracy, I only tested the songs from Kyrandia so far and they only need a subset of the player. Especially the optional effects would need testing. There are some audible differences as effects are played in the intro as channels from the music are replaced &#8211; this is not 100% like the original player.<\/p>\n<p><strong>Integration in kyra engine<\/strong><br \/>\nSince there are rarely more than 2 channels used for music, Im only using 1 instance for music and effects. The game is a bit of a problem as support for the Amiga-Version is currently incomplete in ScummVM, lots of tables are hardcoded in the executeable and even different sections of the game behave (slightly) differently when starting music\/effects. I have implemented support for all sections, but I am unable to thoroughly test it. For sfx 2 tables are needed which are directly in code ATM, but should find their way into kyra.dat later.<\/p>\n<h3>Desktoptracker<\/h3>\n<p>no progress, the modules aren&#8217;t in the documented format. See <a href=\"https:\/\/blogs.scummvm.org\/nolange\/2009\/07\/21\/what-to-do-next\/\">this blogpost<\/a>.<\/p>\n","protected":false},"excerpt":{"rendered":"<p>GSoC is nearing its end, \u00a0today is the &#8220;suggested pencils down&#8221; date, means there shouldnt be much more happening that some cleanups and bugfixes. Im already doing exactly this for a couple of days so I guess its time to round up what got done (and what didn&#8217;t) TFMX The modplayer is fully implemented 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-56","post","type-post","status-publish","format-standard","hentry","category-uncategorized"],"_links":{"self":[{"href":"https:\/\/blogs.scummvm.org\/nolange\/wp-json\/wp\/v2\/posts\/56","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/blogs.scummvm.org\/nolange\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/blogs.scummvm.org\/nolange\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/blogs.scummvm.org\/nolange\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/blogs.scummvm.org\/nolange\/wp-json\/wp\/v2\/comments?post=56"}],"version-history":[{"count":2,"href":"https:\/\/blogs.scummvm.org\/nolange\/wp-json\/wp\/v2\/posts\/56\/revisions"}],"predecessor-version":[{"id":58,"href":"https:\/\/blogs.scummvm.org\/nolange\/wp-json\/wp\/v2\/posts\/56\/revisions\/58"}],"wp:attachment":[{"href":"https:\/\/blogs.scummvm.org\/nolange\/wp-json\/wp\/v2\/media?parent=56"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/blogs.scummvm.org\/nolange\/wp-json\/wp\/v2\/categories?post=56"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/blogs.scummvm.org\/nolange\/wp-json\/wp\/v2\/tags?post=56"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}