{"id":52,"date":"2010-08-07T02:59:22","date_gmt":"2010-08-07T02:59:22","guid":{"rendered":"https:\/\/blogs.scummvm.org\/pidgeot\/?p=52"},"modified":"2022-05-21T11:54:55","modified_gmt":"2022-05-21T11:54:55","slug":"kyra-complete","status":"publish","type":"post","link":"https:\/\/blogs.scummvm.org\/pidgeot\/2010\/08\/07\/kyra-complete\/","title":{"rendered":"Kyra complete!"},"content":{"rendered":"<p>Well, I did manage to get the code generation running in just one day after all! That&#8217;s means I have the entire weekend to rewrite the documentation, and there&#8217;s still the final week after that for polishing everything off.<\/p>\n<p>Here&#8217;s a function as seen in one of the scripts (INHOME.EMC):<\/p>\n<pre>00000F88: global_sub0xF88() {\r\n00000F8A:   if ((-1 &lt; var4)) {\r\n00000F94:     if (!(var17)) {\r\n00000F9C:       var17 = 1;\r\n00000FA0:       retval = auto_sub0x33C(30, 0, 28);\r\n00000FAC:       retval = o1_queryGameFlag(2);\r\n00000FB2:       localvar1 = retval;\r\n00000FB6:       retval = o1_queryGameFlag(1);\r\n00000FBC:       localvar2 = retval;\r\n00000FC0:       var3 = 1;\r\n00000FC4:       if ((localvar2 &amp;&amp; localvar1)) {\r\n00000FCE:         retval = o2_zanthiaChat(\"At least I found my cauldron and my spellbook.\", 29);\r\n00000FD6:         return;\r\n00000FDA:       }\r\n00000FDA:       if (localvar1) {\r\n00000FE0:         retval = o2_zanthiaChat(\"At least I found my cauldron.\", 30);\r\n00000FE8:         return;\r\n00000FEC:       }\r\n00000FEC:       if (localvar2) {\r\n00000FF2:         retval = o2_zanthiaChat(\"At least I found my spellbook.\", 31);\r\n00000FFA:         return;\r\n00000FFE:       }\r\n00000FFE:       retval = auto_sub0x33C(34, 0, 32);\r\n0000100A:       retval = auto_sub0x33C(35, 0, 33);\r\n00001016:       return;\r\n0000101C:     } else {\r\n0000101C:       var17 = 0;\r\n00001020:       retval = o2_randomSceneChat();\r\n00001020:     }\r\n00001022:     var3 = 1;\r\n00001026:     return;\r\n0000102A:   }\r\n0000102A:   retval = o2_useItemOnMainChar();\r\n0000102C:   return;\r\n0000102C: }\r\n<\/pre>\n<p>Currently, the decompiler only works with scripts from the talkie version of Kyra2, as one of the functions differ in the number of arguments &#8211; but I&#8217;ll get that fixed before GSoC is over.<\/p>\n<p>Right now, though, I&#8217;ll focus on the documentation &#8211; there&#8217;s a lot of stuff that needs to be written and rewritten with the changes I&#8217;ve made for Kyra.<\/p>\n","protected":false},"excerpt":{"rendered":"<p>Well, I did manage to get the code generation running in just one day after all! That&#8217;s means I have the entire weekend to rewrite the documentation, and there&#8217;s still the final week after that for polishing everything off. Here&#8217;s a function as seen in one of the scripts (INHOME.EMC): 00000F88: global_sub0xF88() { 00000F8A: if [&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-52","post","type-post","status-publish","format-standard","hentry","category-uncategorized"],"_links":{"self":[{"href":"https:\/\/blogs.scummvm.org\/pidgeot\/wp-json\/wp\/v2\/posts\/52","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/blogs.scummvm.org\/pidgeot\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/blogs.scummvm.org\/pidgeot\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/blogs.scummvm.org\/pidgeot\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/blogs.scummvm.org\/pidgeot\/wp-json\/wp\/v2\/comments?post=52"}],"version-history":[{"count":1,"href":"https:\/\/blogs.scummvm.org\/pidgeot\/wp-json\/wp\/v2\/posts\/52\/revisions"}],"predecessor-version":[{"id":53,"href":"https:\/\/blogs.scummvm.org\/pidgeot\/wp-json\/wp\/v2\/posts\/52\/revisions\/53"}],"wp:attachment":[{"href":"https:\/\/blogs.scummvm.org\/pidgeot\/wp-json\/wp\/v2\/media?parent=52"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/blogs.scummvm.org\/pidgeot\/wp-json\/wp\/v2\/categories?post=52"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/blogs.scummvm.org\/pidgeot\/wp-json\/wp\/v2\/tags?post=52"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}