{"id":43,"date":"2016-07-03T11:46:19","date_gmt":"2016-07-03T11:46:19","guid":{"rendered":"https:\/\/blogs.scummvm.org\/tkachov\/?p=43"},"modified":"2022-05-24T11:47:23","modified_gmt":"2022-05-24T11:47:23","slug":"gsoc-the-container-again","status":"publish","type":"post","link":"https:\/\/blogs.scummvm.org\/tkachov\/2016\/07\/03\/gsoc-the-container-again\/","title":{"rendered":"GSoC: The Container again"},"content":{"rendered":"<p>As\u00a0I\u00a0mentioned in\u00a0the previous post, I\u00a0had a\u00a0few things to\u00a0do\u00a0this week: our university team was playing AltayCTF (we\u00a0won the first place) and\u00a0I had to\u00a0move out of\u00a0the dormitory. To\u00a0compensate these days off, I\u2019m working this weekend.<\/p>\n<p>As\u00a0planned, I\u2019ve implemented clipping in\u00a0all the other drawsteps and used these in\u00a0all widgets. Now we\u00a0can put any widget in\u00a0the container and it\u00a0would be\u00a0clipped as\u00a0it\u00a0should\u00a0be. More screenshots could be\u00a0found on\u00a0<a href=\"http:\/\/tkachov.ru\/gsoc\/2016\/status\/clipping\/\">the special page<\/a>.<\/p>\n<p><img decoding=\"async\" src=\"https:\/\/blogs.scummvm.org\/tkachov\/wp-content\/uploads\/sites\/60\/2022\/05\/checkbox2.png\" \/><\/p>\n<p>Then I\u00a0got all container-related commits in\u00a0a\u00a0new branch (because my\u00a0separate container branch was based on\u00a0cloud branch, as\u00a0I had to\u00a0test my\u00a0container on\u00a0Cloud tab) and issued a\u00a0pull request.<\/p>\n<p>I\u00a0guess I\u2019d spend some time polishing that when I\u2019d get some feedback, but until then I\u2019ve decided to\u00a0test my\u00a0cloud feature on\u00a0Unix. All this time\u00a0I worked on\u00a0Windows and was using MinGW to\u00a0check it\u00a0could be\u00a0built in\u00a0Unix-like environment, but never launched that on\u00a0actual Unix. I\u00a0installed Kubuntu in\u00a0VirtualBox and cloned my\u00a0repo.<\/p>\n<p>The first thing\u00a0I found out is\u00a0that our configure stops if\u00a0there is\u00a0no\u00a0curl_config. I\u00a0guess that\u2019s not\u00a0OK, because if\u00a0there is\u00a0no\u00a0curl_config, we\u00a0probably should build ScummVM without curl support (i.e. without clouds). Yet it\u00a0works fine without SDL_Net installed, so\u00a0my\u00a0first built ScummVM was supporting clouds, but not local webserver\u00a0\u2014 that\u2019s how\u00a0I checked that storage connection wizard works fine.<\/p>\n<p><img decoding=\"async\" src=\"https:\/\/blogs.scummvm.org\/tkachov\/wp-content\/uploads\/sites\/60\/2022\/05\/screen.png\" \/><\/p>\n<p>Then I\u00a0installed SDL_Net and rebuilt ScummVM to\u00a0check that the local webserver works fine too. It\u00a0is. The saves sync wasn\u2019t, though. I\u00a0had to\u00a0fix a\u00a0few minor bugs, but that was easy. Now saves sync is\u00a0OK too. I\u00a0was lazy to\u00a0edit .gitconfig or\u00a0to\u00a0setup a\u00a0shared folder, so\u00a0I just used ScummVM\u2019s sync to\u00a0upload necessary source files into my\u00a0Dropbox \ud83d\ude00<\/p>\n<p>When I\u2019d be\u00a0done with the container, I\u2019d start working on\u00a0cloud files management\u00a0\u2014 some GUI dialogs which allow users to\u00a0upload and download game data.<\/p>\n","protected":false},"excerpt":{"rendered":"<p>As\u00a0I\u00a0mentioned in\u00a0the previous post, I\u00a0had a\u00a0few things to\u00a0do\u00a0this week: our university team was playing AltayCTF (we\u00a0won the first place) and\u00a0I had to\u00a0move out of\u00a0the dormitory. To\u00a0compensate these days off, I\u2019m working this weekend. As\u00a0planned, I\u2019ve implemented clipping in\u00a0all the other drawsteps and used these in\u00a0all widgets. Now we\u00a0can put any widget in\u00a0the container and it\u00a0would [&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-43","post","type-post","status-publish","format-standard","hentry","category-uncategorized"],"_links":{"self":[{"href":"https:\/\/blogs.scummvm.org\/tkachov\/wp-json\/wp\/v2\/posts\/43","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/blogs.scummvm.org\/tkachov\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/blogs.scummvm.org\/tkachov\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/blogs.scummvm.org\/tkachov\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/blogs.scummvm.org\/tkachov\/wp-json\/wp\/v2\/comments?post=43"}],"version-history":[{"count":1,"href":"https:\/\/blogs.scummvm.org\/tkachov\/wp-json\/wp\/v2\/posts\/43\/revisions"}],"predecessor-version":[{"id":46,"href":"https:\/\/blogs.scummvm.org\/tkachov\/wp-json\/wp\/v2\/posts\/43\/revisions\/46"}],"wp:attachment":[{"href":"https:\/\/blogs.scummvm.org\/tkachov\/wp-json\/wp\/v2\/media?parent=43"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/blogs.scummvm.org\/tkachov\/wp-json\/wp\/v2\/categories?post=43"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/blogs.scummvm.org\/tkachov\/wp-json\/wp\/v2\/tags?post=43"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}