{"id":22,"date":"2019-06-22T20:30:25","date_gmt":"2019-06-22T20:30:25","guid":{"rendered":"https:\/\/blogs.scummvm.org\/vyzigold\/?p=22"},"modified":"2022-05-23T20:33:53","modified_gmt":"2022-05-23T20:33:53","slug":"supernova-engine-merge","status":"publish","type":"post","link":"https:\/\/blogs.scummvm.org\/vyzigold\/2019\/06\/22\/supernova-engine-merge\/","title":{"rendered":"Supernova engine merge"},"content":{"rendered":"<p>Hello, the last week was really busy for me. Because I had a lot of personal stuff to take care of, I sometimes struggled to work as much as I should (that&#8217;s the reason, why I am a day late with the blog post), but in the end, I think, I managed. Last week I planed to implement the outro, test the game, fix all the bugs I find and prepare to merge the supernova engines into one. I managed to complete everything I wanted, but I not only prepared the engines for the merge, I actually managed to merge them. The merge is not finished yet, I still have to do a lot of refactoring, testing and fixing bugs I made when merging the engines, but the games can be played on the single engine and they seem to work.<\/p>\n<p>So the plan for next week is to mainly finish the merge. After that, there is not much left to do, so I will work on enhancing the translation.<\/p>\n<p>Right now, we are able to load custom images from a .dat file that are in .pbm format, which is a simple format with only two colors per image. This format is enough to save for example newspaper images like this one:<\/p>\n<p><img decoding=\"async\" class=\"aligncenter\" src=\"https:\/\/blogs.scummvm.org\/vyzigold\/wp-content\/uploads\/sites\/49\/2022\/05\/pic-sel-190622-2040-07.png\" \/><\/p>\n<div class=\"separator\"><\/div>\n<div class=\"separator\"><\/div>\n<div class=\"separator\">But there are images in the second game that should be translated, for which only two colors aren&#8217;t enough, like this one:<\/div>\n<p><img decoding=\"async\" class=\"alignnone\" src=\"https:\/\/blogs.scummvm.org\/vyzigold\/wp-content\/uploads\/sites\/49\/2022\/05\/img1.png\" \/><\/p>\n<div class=\"separator\"><\/div>\n<div class=\"separator\"><\/div>\n<div class=\"separator\"><\/div>\n<div class=\"separator\">which is in grayscale and with only two colors, I don&#8217;t think I can get it much better then this:<\/div>\n<p><img decoding=\"async\" class=\"aligncenter\" src=\"https:\/\/blogs.scummvm.org\/vyzigold\/wp-content\/uploads\/sites\/49\/2022\/05\/pic-sel-190619-2211-36.png\" \/><\/p>\n<div class=\"separator\"><\/div>\n<div class=\"separator\"><\/div>\n<div class=\"separator\">Another problem with images is, that the engine uses a format of images, that contain &#8220;sections&#8221;, that are rendered on top of each other, so we right now have no way to translate this:<\/div>\n<p><img decoding=\"async\" class=\"aligncenter\" src=\"https:\/\/blogs.scummvm.org\/vyzigold\/wp-content\/uploads\/sites\/49\/2022\/05\/img2.png\" \/><\/p>\n<div class=\"separator\"><\/div>\n<div class=\"separator\"><\/div>\n<div class=\"separator\">Because in this room, you have to push the right letters to write a password. After a letter is pushed, it is highlighted and that is done by rendering different sections of the image.<\/div>\n<div class=\"separator\"><\/div>\n<div class=\"separator\">So the task after I finish the merge will be figuring out and implementing a way to load custom images similar to the original ones (containing sections and a color palette).<\/div>\n","protected":false},"excerpt":{"rendered":"<p>Hello, the last week was really busy for me. Because I had a lot of personal stuff to take care of, I sometimes struggled to work as much as I should (that&#8217;s the reason, why I am a day late with the blog post), but in the end, I think, I managed. Last week I [&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-22","post","type-post","status-publish","format-standard","hentry","category-uncategorized"],"_links":{"self":[{"href":"https:\/\/blogs.scummvm.org\/vyzigold\/wp-json\/wp\/v2\/posts\/22","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/blogs.scummvm.org\/vyzigold\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/blogs.scummvm.org\/vyzigold\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/blogs.scummvm.org\/vyzigold\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/blogs.scummvm.org\/vyzigold\/wp-json\/wp\/v2\/comments?post=22"}],"version-history":[{"count":1,"href":"https:\/\/blogs.scummvm.org\/vyzigold\/wp-json\/wp\/v2\/posts\/22\/revisions"}],"predecessor-version":[{"id":27,"href":"https:\/\/blogs.scummvm.org\/vyzigold\/wp-json\/wp\/v2\/posts\/22\/revisions\/27"}],"wp:attachment":[{"href":"https:\/\/blogs.scummvm.org\/vyzigold\/wp-json\/wp\/v2\/media?parent=22"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/blogs.scummvm.org\/vyzigold\/wp-json\/wp\/v2\/categories?post=22"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/blogs.scummvm.org\/vyzigold\/wp-json\/wp\/v2\/tags?post=22"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}