{"id":513,"date":"2013-07-06T13:18:46","date_gmt":"2013-07-06T13:18:46","guid":{"rendered":"http:\/\/theindiestone.com\/binky\/?p=513"},"modified":"2013-07-08T16:35:24","modified_gmt":"2013-07-08T16:35:24","slug":"pulchritudinous-paint-animation","status":"publish","type":"post","link":"https:\/\/theindiestone.com\/binky\/2013\/07\/06\/pulchritudinous-paint-animation\/","title":{"rendered":"Pulchritudinous Paint Animation"},"content":{"rendered":"<p>Yes, I have side projects.<\/p>\n<p>&nbsp;<\/p>\n<p>Since we switched to the new Project Zomboid sprite system and rendered my beautiful Costume Editor entirely useless (boo!), I decided it would be a shame to let all that code go to waste. So I decided to rework it into a more general purpose pixel animation tool.<\/p>\n<p>As anyone who reads my blog will know, I&#8217;m a bit of a fanboy of Deluxe Paint Animation and so what I basically want is that, plus layer support, in a swanky Windows environment. Excitingly, as it turns out, Deluxe Paint Animation files (*.ANM) are bafflingly incomprehensible. However, after some trial and error and lots and lots of corrupted rubbish appearing on the screen I eventually got them loading&#8230; more or less. Every now and then one will break horribly which I think has got something to do with &#8216;Spare Pages&#8217; in the file but since Deluxe Paint conveniently has a &#8216;Delete Spare Page&#8217; menu option, I&#8217;ve decided not to worry too much about that and pretend it&#8217;s all <em>fiiiiiine<\/em>.<\/p>\n<p>Anyway so without further ado, here&#8217;s where I&#8217;m at so far&#8230;<\/p>\n<p style=\"text-align: center;\"><a href=\"https:\/\/theindiestone.com\/binky\/wp-content\/uploads\/2013\/07\/PPaint.png\"><img loading=\"lazy\" decoding=\"async\" class=\"aligncenter size-full wp-image-517\" alt=\"PPaint_thumb\" src=\"https:\/\/theindiestone.com\/binky\/wp-content\/uploads\/2013\/07\/PPaint_thumb.png\" width=\"600\" height=\"339\" srcset=\"https:\/\/theindiestone.com\/binky\/wp-content\/uploads\/2013\/07\/PPaint_thumb.png 600w, https:\/\/theindiestone.com\/binky\/wp-content\/uploads\/2013\/07\/PPaint_thumb-300x169.png 300w\" sizes=\"auto, (max-width: 600px) 100vw, 600px\" \/><\/a><em>Click for Enlargulation<\/em><\/p>\n<p style=\"text-align: left;\"><strong>Supported Features (so far)<\/strong><\/p>\n<ul>\n<li>Load Deluxe Paint Animation (*.ANM) files<\/li>\n<li>Transparency<\/li>\n<li>Full proper 8-bit style palette (as in, change the palette colour, screen pixels of that palette colour update)<\/li>\n<li>Flexible palette (drag palette entries around to reorganise it without cocking up your animation)<\/li>\n<li>Photoshop-style layers<\/li>\n<li>Windows style Undo\/Redo (multiple undos, basically, instead of DPA&#8217;s single undo)<\/li>\n<li>Save &amp; Load palettes to Photoshop (and others) compatible (*.PAL) files<\/li>\n<li>Grab regions to store as named sprite animations (as in the &#8216;Dance&#8217; bunny in the pic above)<\/li>\n<li>Saving &amp; Loading of Pulchritudinous Paint Animation (*.PPA) files, retaining layers \/ palette organisation \/ etc)<\/li>\n<li>Add frames \/ remove frames \/ remove frame ranges \/ standard stuff like that<\/li>\n<li>Pretty damn slick, even if I say so myself (Look, ma! I optimised the screen draw routines!)<\/li>\n<\/ul>\n<p><strong>Future Features<\/strong><\/p>\n<ul>\n<li>Grabbing regions to custom brushes (almost supported)<\/li>\n<li>Grabbing regions to custom animated brushes (almost almost supported)<\/li>\n<li>Various brush sizes (*cough*, yeah, I&#8217;ve not done that yet)<\/li>\n<li>Saving of named sprite animation regions into PPA files<\/li>\n<li>Exporting of named sprite animation regions to single sprite sheets<\/li>\n<li>Additional drawing tools &#8211; Lines, Circles, Rectangles, all the normal stuff<\/li>\n<li>Gradients maybe? Deluxe Paint Animation could do them, can&#8217;t say I used them much though<\/li>\n<li>And various other things<\/li>\n<\/ul>\n<p>Once it&#8217;s in a fairly usable state, I&#8217;ll release the tool for free because, hey, pixel art tool innit.<\/p>\n","protected":false},"excerpt":{"rendered":"<p>Yes, I have side projects. &nbsp; Since we switched to the new Project Zomboid sprite system and rendered my beautiful Costume Editor entirely useless (boo!), I decided it would be a shame to let all that code go to waste. So I decided to rework it into a more general purpose pixel animation tool. As&#8230;<\/p>\n","protected":false},"author":1,"featured_media":0,"comment_status":"open","ping_status":"closed","sticky":false,"template":"","format":"standard","meta":{"_jetpack_newsletter_access":"","_jetpack_dont_email_post_to_subs":false,"_jetpack_newsletter_tier_id":0,"_jetpack_memberships_contains_paywalled_content":false,"_jetpack_memberships_contains_paid_content":false,"footnotes":"","jetpack_publicize_message":"","jetpack_publicize_feature_enabled":true,"jetpack_social_post_already_shared":true,"jetpack_social_options":{"image_generator_settings":{"template":"highway","default_image_id":0,"font":"","enabled":false},"version":2},"jetpack_post_was_ever_published":false},"categories":[14],"tags":[],"class_list":["post-513","post","type-post","status-publish","format-standard","hentry","category-pulchritudinous-paint-animation"],"jetpack_publicize_connections":[],"jetpack_featured_media_url":"","jetpack_sharing_enabled":true,"jetpack_shortlink":"https:\/\/wp.me\/p326tq-8h","_links":{"self":[{"href":"https:\/\/theindiestone.com\/binky\/wp-json\/wp\/v2\/posts\/513","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/theindiestone.com\/binky\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/theindiestone.com\/binky\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/theindiestone.com\/binky\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/theindiestone.com\/binky\/wp-json\/wp\/v2\/comments?post=513"}],"version-history":[{"count":12,"href":"https:\/\/theindiestone.com\/binky\/wp-json\/wp\/v2\/posts\/513\/revisions"}],"predecessor-version":[{"id":524,"href":"https:\/\/theindiestone.com\/binky\/wp-json\/wp\/v2\/posts\/513\/revisions\/524"}],"wp:attachment":[{"href":"https:\/\/theindiestone.com\/binky\/wp-json\/wp\/v2\/media?parent=513"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/theindiestone.com\/binky\/wp-json\/wp\/v2\/categories?post=513"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/theindiestone.com\/binky\/wp-json\/wp\/v2\/tags?post=513"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}