{"id":345,"date":"2012-11-12T23:45:49","date_gmt":"2012-11-13T05:45:49","guid":{"rendered":"http:\/\/elysianshadows.com\/2012\/11\/estkv1-5-3-sa-internal-patch-release\/"},"modified":"2012-11-12T23:45:49","modified_gmt":"2012-11-13T05:45:49","slug":"estkv1-5-3-sa-internal-patch-release","status":"publish","type":"post","link":"http:\/\/elysianshadows.com\/updates\/estkv1-5-3-sa-internal-patch-release\/","title":{"rendered":"ESTkv1.5.3.SA Internal Patch Release"},"content":{"rendered":"\n<p>&nbsp;<\/p>\n<p><strong>TRENDY NEW FEATURES<\/strong><\/p>\n<p><strong><img loading=\"lazy\" decoding=\"async\" class=\" size-full wp-image-343\" src=\"http:\/\/elysianshadows.com\/updates\/wp-content\/uploads\/2012\/11\/estk1.5.3.sa1.png\" alt=\"\" width=\"891\" height=\"502\" width=\"1920\" height=\"1080\" srcset=\"http:\/\/elysianshadows.com\/updates\/wp-content\/uploads\/2012\/11\/estk1.5.3.sa1.png 1920w, http:\/\/elysianshadows.com\/updates\/wp-content\/uploads\/2012\/11\/estk1.5.3.sa1-300x168.png 300w, http:\/\/elysianshadows.com\/updates\/wp-content\/uploads\/2012\/11\/estk1.5.3.sa1-1024x576.png 1024w\" sizes=\"auto, (max-width: 891px) 100vw, 891px\" \/><\/strong><\/p>\n<p><img loading=\"lazy\" decoding=\"async\" class=\" size-full wp-image-344\" src=\"http:\/\/elysianshadows.com\/updates\/wp-content\/uploads\/2012\/11\/estk1.5.3.sa2.png\" alt=\"\" width=\"892\" height=\"558\" width=\"1280\" height=\"800\" srcset=\"http:\/\/elysianshadows.com\/updates\/wp-content\/uploads\/2012\/11\/estk1.5.3.sa2.png 1280w, http:\/\/elysianshadows.com\/updates\/wp-content\/uploads\/2012\/11\/estk1.5.3.sa2-300x187.png 300w, http:\/\/elysianshadows.com\/updates\/wp-content\/uploads\/2012\/11\/estk1.5.3.sa2-1024x640.png 1024w\" sizes=\"auto, (max-width: 892px) 100vw, 892px\" \/><\/p>\n<p><strong>&nbsp;<\/strong><\/p>\n<p><span style=\"color: #cc99ff;\">Application Icon<\/span><\/p>\n<ul>\n<li>++trendy!<\/li>\n<\/ul>\n<p>&nbsp;<\/p>\n<p><span style=\"color: #cc99ff;\">Tile Selection persists when switching to layer of the same type<\/span><\/p>\n<ul>\n<li>Not really much of a &#8220;feature,&#8221; but it&#8217;s useful nonetheless. We had always cleared the current tile selection after a layer switch, since switching between an object and terrain layer would cause the selection to index into different sheets. This would confuse the shit out of any user&#8230; But Tyler wanted the abililty to &#8220;promote&#8221; a selection from Terrain Layer 1 to Terrain Layer 2. So instead of clearing for any layer switch, the tile selection will persist when switching between layers of the same type.<\/li>\n<\/ul>\n<p><span style=\"color: #cc99ff;\">&nbsp;<\/span><\/p>\n<p><span style=\"color: #cc99ff;\">Status Bars<\/span><\/p>\n<ul>\n<li>This is something that we ALWAYS wanted to implement, but just never got around to doing. I don&#8217;t know if it was caffeine or the drugs that inspired me to finally get off my ass, but I&#8217;m glad I did. Tyler and I penned out a status bar that would be useful to a 2D Level Editor. Both ESTk and Sheet Manager now have it.\n<p>Properties:<br \/>Cell 1: pixel location of the mouse within the scene<br \/>Cell 2: tile location of the mouse within the scene<br \/>Cell 3: tile dimensions of tile selection within the scene<br \/>Cell 4: zoom percentage of scene<\/li>\n<\/ul>\n<p><span style=\"color: #cc99ff;\">&nbsp;<\/span><\/p>\n<p><span style=\"color: #cc99ff;\">TileView Transparencies<\/span><\/p>\n<ul>\n<li>Yet another feature that has always been in the back of our minds&#8230; The Toolkit has never really represented transparency in a very user-friendly manner. Behind any scene, we had always filled the scene with a black rectangle. This could be extremely misleading, as transparent tiles would look black, black tiles would look transparent, etc. As a nod to photoshop, we stole the 8&#215;8 checker pattern to represent transparency. As with Photoshop, the checkers scale with the scene, so they always maintain the same size. It looks trendy as shit!&nbsp;<\/li>\n<\/ul>\n<p><span style=\"color: #cc99ff;\">&nbsp;<\/span><\/p>\n<p><span style=\"color: #cc99ff;\">Sheet Manager Reserved Tile Indicator<\/span><\/p>\n<ul>\n<li>This was a little request Tyler had, which is actually quite pristine in retrospect. The first tiles in the object and terrainsheet have ALWAYS been reserved as a transparent or &#8220;blank&#8221; tile within the Toolkit. Because of this, SheetManager does not allow the user to place a tile at location 0. Tyler didn&#8217;t think that was very user-friendly, so he created a little reserved tile indicator. Now it&#8217;s user-friendly as shit. \ud83d\ude00<\/li>\n<\/ul>\n<p>&nbsp;<\/p>\n<p><strong>BUG FIXES<\/strong><\/p>\n<p><span style=\"color: #ff0000;\">MapView is no longer active when there is no current level or area (in every scenario)<\/span><\/p>\n<ul>\n<li>there was a corner case where an active level but no active area would activate MapView, and clicking it would cause a crash<\/li>\n<\/ul>\n<p>&nbsp;<\/p>\n<p><span style=\"color: #ff0000;\">Map saving and loading algorithm has been fixed<\/span><\/p>\n<ul>\n<li>had a serious bug in the saving\/loading algorithm where the map was not saved correctly, causing the lower half of large maps to not save. I can&#8217;t believe you bitches didn&#8217;t find this earlier&#8230;<\/li>\n<\/ul>\n<p>&nbsp;<\/p>\n<p><span style=\"color: #ff0000;\">Selecting from an undocked SheetView does not require clicking back to the main window to flip\/rotate selection<\/span><\/p>\n<ul>\n<li>SheetView now relinquishes focus back to the main window as soon as your selection is done, so you don&#8217;t get weird behavior like this<\/li>\n<\/ul>\n<p>&nbsp;<\/p>\n<p><span style=\"color: #ff0000;\">Major memory leak with tile selections has been resolved<\/span><\/p>\n<ul>\n<li>Yeaaaah, known about this one for forever. We couldn&#8217;t simply have the selection system delete the old tile selection when a new selection was made, because that tile selection could have been involved in a cut\/paste sequence. Pasting after it had been deleted would obviously cause a crash. Instead of making the memory persist, I created a copy constructor to make a deep copy of the selection so that the old selection could be deleted immediately in this manner.<\/li>\n<\/ul>\n<p>&nbsp;<\/p>\n<p><span style=\"color: #ff0000;\">Selection updates to follow mouse properly when map was being scaled<\/span><\/p>\n<ul>\n<li>Mouse update algorithm was only invoked when the user moved the mouse, not when the scrollwheel was used. This caused the selection to not update properly after a scale until the mouse was moved.<\/li>\n<\/ul>\n<p>&nbsp;<\/p>\n<p><strong>KNOWN ISSUES<\/strong><\/p>\n<p><span style=\"color: #ff6600;\">SOMETIMES starting a selection in the MapView and ending the selection with the mouse way above the view causes a Toolkit crash<\/span><\/p>\n<ul>\n<li>Eeeeeh&#8230; I chased this one down a bit while I was high on my painkillers, but it is pretty elusive, isn&#8217;t always reproducible, and seemed like quite a pain in the ass while I was high. It will be fixed for the next release.&nbsp;<\/li>\n<\/ul>\n<p>&nbsp;<\/p>\n<p><span style=\"color: #000000;\"><em>NOTE: These are release notes. I am not typically going to include in-depth code reports with internal release notes like this. If somebody is interested, I would be happy to bust out the code on the forums in the discussion topic.<\/em><\/span><\/p>\n<p><span style=\"color: #000000;\"><em>&nbsp;<\/em><\/span><\/p>\n<p class=\"readmore\"><a href=\"http:\/\/forums.elysianshadows.com\/viewtopic.php?f=48&amp;t=8375\">Discussion Topic<\/a><\/p>\n","protected":false},"excerpt":{"rendered":"<p>In the two weeks since I had released ESTkv1.5.3 internally, the Toolkit has received a shitload of usage from Tyler and the rest of the team. Within a few days, Tyler found a list of several bugs\/nuances with the new release. We spent the weekend developing side-by-side, breaking the Toolkit while fixing the Toolkit. I wound up resolving all of the issues we found within the first couple of days&#8230; However, I was to be having a septoplasty within the next week. We figured with me taking a week off to recover, I could also add some trendy new features that we had both been whiteboarding in time to make the patch release. So in the interest of maintaining our momentum and taking one for the team, I had my surgery and spent the week writing code while high on painkillers. I will affectionately refer to this patch release as the ESTk &#8220;Opioid&#8221; build. Please don&#8217;t try this at home, kids&#8230;<\/p>\n<p><img loading=\"lazy\" decoding=\"async\" class=\" size-full wp-image-342\" src=\"http:\/\/elysianshadows.com\/updates\/wp-content\/uploads\/2012\/11\/falcReest.jpg\" alt=\"\" width=\"418\" height=\"557\" width=\"1536\" height=\"2048\" srcset=\"http:\/\/elysianshadows.com\/updates\/wp-content\/uploads\/2012\/11\/falcReest.jpg 1536w, http:\/\/elysianshadows.com\/updates\/wp-content\/uploads\/2012\/11\/falcReest-225x300.jpg 225w, http:\/\/elysianshadows.com\/updates\/wp-content\/uploads\/2012\/11\/falcReest-768x1024.jpg 768w\" sizes=\"auto, (max-width: 418px) 100vw, 418px\" \/><\/p>\n","protected":false},"author":1,"featured_media":342,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[6],"tags":[26,27,29,13,18,49,30,48,32,15,50,47],"class_list":["post-345","post","type-post","status-publish","format-standard","hentry","category-underlying-technology","tag-2d-rpg","tag-chrono-trigger","tag-dreamcast","tag-elysian-shadows","tag-estk","tag-final-fantasy","tag-homebrew","tag-indie-blog","tag-indie-game","tag-qt","tag-secret-of-mana","tag-transparency"],"_links":{"self":[{"href":"http:\/\/elysianshadows.com\/updates\/wp-json\/wp\/v2\/posts\/345","targetHints":{"allow":["GET"]}}],"collection":[{"href":"http:\/\/elysianshadows.com\/updates\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"http:\/\/elysianshadows.com\/updates\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"http:\/\/elysianshadows.com\/updates\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"http:\/\/elysianshadows.com\/updates\/wp-json\/wp\/v2\/comments?post=345"}],"version-history":[{"count":0,"href":"http:\/\/elysianshadows.com\/updates\/wp-json\/wp\/v2\/posts\/345\/revisions"}],"wp:featuredmedia":[{"embeddable":true,"href":"http:\/\/elysianshadows.com\/updates\/wp-json\/wp\/v2\/media\/342"}],"wp:attachment":[{"href":"http:\/\/elysianshadows.com\/updates\/wp-json\/wp\/v2\/media?parent=345"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"http:\/\/elysianshadows.com\/updates\/wp-json\/wp\/v2\/categories?post=345"},{"taxonomy":"post_tag","embeddable":true,"href":"http:\/\/elysianshadows.com\/updates\/wp-json\/wp\/v2\/tags?post=345"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}