From fe28cc2fc1fe7d3fd264be29987efe990cf45d69 Mon Sep 17 00:00:00 2001 From: Tanasart Date: Thu, 2 Jan 2025 16:54:17 +0700 Subject: [PATCH] [Tile Drawer] Add button and hotkey for rotating, flipping tiles. --- PixelComposer.resource_order | 2 + PixelComposer.yyp | 2 + scripts/hotkey_data/hotkey_data.gml | 4 + scripts/node_tiler/node_tiler.gml | 100 +++++++++++++----- .../node_tiler_tileset/node_tiler_tileset.gml | 6 +- scripts/panel_preview/panel_preview.gml | 4 +- shaders/sh_draw_tile_map/sh_draw_tile_map.fsh | 1 + .../2a975f3b-ae58-4bcc-8606-0377fa885c02.png | Bin 0 -> 499 bytes .../942366a7-0fe1-423c-8c0b-3f4987bcd929.png | Bin 0 -> 484 bytes .../18fc82cc-f451-45f4-952c-196da8ef77ab.png | Bin 0 -> 499 bytes .../18fc82cc-f451-45f4-952c-196da8ef77ab.png | Bin 0 -> 484 bytes sprites/s_canvas_flip/s_canvas_flip.yy | 94 ++++++++++++++++ .../2d7cba5b-a694-46ad-8aa3-e76e0a591a89.png | Bin 0 -> 499 bytes .../4547ef4e-f5bd-4d6a-9011-70f046c47b1c.png | Bin 300 -> 0 bytes .../5e8c4109-9e36-4cd8-b061-74eed4386836.png | Bin 0 -> 289 bytes .../d187cfe7-12e9-4e98-b0ad-92df33874eef.png | Bin 445 -> 0 bytes .../bfac56af-e125-4608-a4af-9f00818d32b4.png | Bin 0 -> 499 bytes .../0412ea17-450b-448c-8137-cd2e2fc7c1ce.png | Bin 300 -> 0 bytes .../bfac56af-e125-4608-a4af-9f00818d32b4.png | Bin 0 -> 289 bytes .../0412ea17-450b-448c-8137-cd2e2fc7c1ce.png | Bin 445 -> 0 bytes sprites/s_canvas_flip_h/s_canvas_flip_h.yy | 16 +-- .../5f06f344-37ae-4862-a0b3-b211ff1fd83c.png | Bin 0 -> 484 bytes .../6c6a8e1e-ac13-4e7a-9e4d-eb29c7ed5b27.png | Bin 463 -> 0 bytes .../bb4d0b42-84c7-437e-ba9a-6518e81d9070.png | Bin 0 -> 289 bytes .../ef5156e3-e667-4a66-b268-4d04a746420d.png | Bin 300 -> 0 bytes .../dd3f4595-ef3f-4d4a-bf2d-67481dea2d7f.png | Bin 0 -> 484 bytes .../71a94155-1572-44b1-94f7-be402a066a4b.png | Bin 463 -> 0 bytes .../dd3f4595-ef3f-4d4a-bf2d-67481dea2d7f.png | Bin 0 -> 289 bytes .../71a94155-1572-44b1-94f7-be402a066a4b.png | Bin 300 -> 0 bytes sprites/s_canvas_flip_v/s_canvas_flip_v.yy | 16 +-- .../bb36f3bc-e611-4b6b-89f0-0e386a3fdd1e.png | Bin 0 -> 530 bytes .../f033ec34-b96b-4471-bcf4-465a8fe7168d.png | Bin 0 -> 527 bytes .../1724a880-4772-454b-a686-ac2016cdbfda.png | Bin 0 -> 530 bytes .../1724a880-4772-454b-a686-ac2016cdbfda.png | Bin 0 -> 527 bytes sprites/s_canvas_rotate/s_canvas_rotate.yy | 94 ++++++++++++++++ .../06e4d662-37df-434d-800e-1be6bd6dd910.png | Bin 300 -> 0 bytes .../3ac27864-75d1-4a31-a7e1-bf85b1814512.png | Bin 0 -> 289 bytes .../4077d4b4-9f03-4621-a2a5-fb9dd3306a49.png | Bin 0 -> 530 bytes .../cf491d45-bb9d-4bab-a3c3-9abe5b2547bc.png | Bin 463 -> 0 bytes .../110917d4-f49e-47bf-92dc-5f8e122ef215.png | Bin 300 -> 0 bytes .../e5beaf95-3227-4b76-852a-6b232f22d76f.png | Bin 0 -> 289 bytes .../e5beaf95-3227-4b76-852a-6b232f22d76f.png | Bin 0 -> 530 bytes .../110917d4-f49e-47bf-92dc-5f8e122ef215.png | Bin 463 -> 0 bytes .../s_canvas_rotate_ccw.yy | 16 +-- .../70b36fa9-4f6c-4958-b278-3fa2c23d65e1.png | Bin 300 -> 0 bytes .../7689169d-83b2-48e5-9e54-e1096f33dc30.png | Bin 0 -> 289 bytes .../b8e2b2f8-b7ce-48c5-b54a-b79de1a2dbb7.png | Bin 0 -> 527 bytes .../e6e029e6-d5b8-46b5-967d-03d4b1d313a0.png | Bin 461 -> 0 bytes .../930de837-c18e-4c83-9021-ef0aafba8d81.png | Bin 300 -> 0 bytes .../7802d5dd-c281-4880-80b1-3fa2462a7520.png | Bin 0 -> 289 bytes .../7802d5dd-c281-4880-80b1-3fa2462a7520.png | Bin 0 -> 527 bytes .../930de837-c18e-4c83-9021-ef0aafba8d81.png | Bin 461 -> 0 bytes .../s_canvas_rotate_cw/s_canvas_rotate_cw.yy | 16 +-- 53 files changed, 307 insertions(+), 64 deletions(-) create mode 100644 sprites/s_canvas_flip/2a975f3b-ae58-4bcc-8606-0377fa885c02.png create mode 100644 sprites/s_canvas_flip/942366a7-0fe1-423c-8c0b-3f4987bcd929.png create mode 100644 sprites/s_canvas_flip/layers/2a975f3b-ae58-4bcc-8606-0377fa885c02/18fc82cc-f451-45f4-952c-196da8ef77ab.png create mode 100644 sprites/s_canvas_flip/layers/942366a7-0fe1-423c-8c0b-3f4987bcd929/18fc82cc-f451-45f4-952c-196da8ef77ab.png create mode 100644 sprites/s_canvas_flip/s_canvas_flip.yy create mode 100644 sprites/s_canvas_flip_h/2d7cba5b-a694-46ad-8aa3-e76e0a591a89.png delete mode 100644 sprites/s_canvas_flip_h/4547ef4e-f5bd-4d6a-9011-70f046c47b1c.png create mode 100644 sprites/s_canvas_flip_h/5e8c4109-9e36-4cd8-b061-74eed4386836.png delete mode 100644 sprites/s_canvas_flip_h/d187cfe7-12e9-4e98-b0ad-92df33874eef.png create mode 100644 sprites/s_canvas_flip_h/layers/2d7cba5b-a694-46ad-8aa3-e76e0a591a89/bfac56af-e125-4608-a4af-9f00818d32b4.png delete mode 100644 sprites/s_canvas_flip_h/layers/4547ef4e-f5bd-4d6a-9011-70f046c47b1c/0412ea17-450b-448c-8137-cd2e2fc7c1ce.png create mode 100644 sprites/s_canvas_flip_h/layers/5e8c4109-9e36-4cd8-b061-74eed4386836/bfac56af-e125-4608-a4af-9f00818d32b4.png delete mode 100644 sprites/s_canvas_flip_h/layers/d187cfe7-12e9-4e98-b0ad-92df33874eef/0412ea17-450b-448c-8137-cd2e2fc7c1ce.png create mode 100644 sprites/s_canvas_flip_v/5f06f344-37ae-4862-a0b3-b211ff1fd83c.png delete mode 100644 sprites/s_canvas_flip_v/6c6a8e1e-ac13-4e7a-9e4d-eb29c7ed5b27.png create mode 100644 sprites/s_canvas_flip_v/bb4d0b42-84c7-437e-ba9a-6518e81d9070.png delete mode 100644 sprites/s_canvas_flip_v/ef5156e3-e667-4a66-b268-4d04a746420d.png create mode 100644 sprites/s_canvas_flip_v/layers/5f06f344-37ae-4862-a0b3-b211ff1fd83c/dd3f4595-ef3f-4d4a-bf2d-67481dea2d7f.png delete mode 100644 sprites/s_canvas_flip_v/layers/6c6a8e1e-ac13-4e7a-9e4d-eb29c7ed5b27/71a94155-1572-44b1-94f7-be402a066a4b.png create mode 100644 sprites/s_canvas_flip_v/layers/bb4d0b42-84c7-437e-ba9a-6518e81d9070/dd3f4595-ef3f-4d4a-bf2d-67481dea2d7f.png delete mode 100644 sprites/s_canvas_flip_v/layers/ef5156e3-e667-4a66-b268-4d04a746420d/71a94155-1572-44b1-94f7-be402a066a4b.png create mode 100644 sprites/s_canvas_rotate/bb36f3bc-e611-4b6b-89f0-0e386a3fdd1e.png create mode 100644 sprites/s_canvas_rotate/f033ec34-b96b-4471-bcf4-465a8fe7168d.png create mode 100644 sprites/s_canvas_rotate/layers/bb36f3bc-e611-4b6b-89f0-0e386a3fdd1e/1724a880-4772-454b-a686-ac2016cdbfda.png create mode 100644 sprites/s_canvas_rotate/layers/f033ec34-b96b-4471-bcf4-465a8fe7168d/1724a880-4772-454b-a686-ac2016cdbfda.png create mode 100644 sprites/s_canvas_rotate/s_canvas_rotate.yy delete mode 100644 sprites/s_canvas_rotate_ccw/06e4d662-37df-434d-800e-1be6bd6dd910.png create mode 100644 sprites/s_canvas_rotate_ccw/3ac27864-75d1-4a31-a7e1-bf85b1814512.png create mode 100644 sprites/s_canvas_rotate_ccw/4077d4b4-9f03-4621-a2a5-fb9dd3306a49.png delete mode 100644 sprites/s_canvas_rotate_ccw/cf491d45-bb9d-4bab-a3c3-9abe5b2547bc.png delete mode 100644 sprites/s_canvas_rotate_ccw/layers/06e4d662-37df-434d-800e-1be6bd6dd910/110917d4-f49e-47bf-92dc-5f8e122ef215.png create mode 100644 sprites/s_canvas_rotate_ccw/layers/3ac27864-75d1-4a31-a7e1-bf85b1814512/e5beaf95-3227-4b76-852a-6b232f22d76f.png create mode 100644 sprites/s_canvas_rotate_ccw/layers/4077d4b4-9f03-4621-a2a5-fb9dd3306a49/e5beaf95-3227-4b76-852a-6b232f22d76f.png delete mode 100644 sprites/s_canvas_rotate_ccw/layers/cf491d45-bb9d-4bab-a3c3-9abe5b2547bc/110917d4-f49e-47bf-92dc-5f8e122ef215.png delete mode 100644 sprites/s_canvas_rotate_cw/70b36fa9-4f6c-4958-b278-3fa2c23d65e1.png create mode 100644 sprites/s_canvas_rotate_cw/7689169d-83b2-48e5-9e54-e1096f33dc30.png create mode 100644 sprites/s_canvas_rotate_cw/b8e2b2f8-b7ce-48c5-b54a-b79de1a2dbb7.png delete mode 100644 sprites/s_canvas_rotate_cw/e6e029e6-d5b8-46b5-967d-03d4b1d313a0.png delete mode 100644 sprites/s_canvas_rotate_cw/layers/70b36fa9-4f6c-4958-b278-3fa2c23d65e1/930de837-c18e-4c83-9021-ef0aafba8d81.png create mode 100644 sprites/s_canvas_rotate_cw/layers/7689169d-83b2-48e5-9e54-e1096f33dc30/7802d5dd-c281-4880-80b1-3fa2462a7520.png create mode 100644 sprites/s_canvas_rotate_cw/layers/b8e2b2f8-b7ce-48c5-b54a-b79de1a2dbb7/7802d5dd-c281-4880-80b1-3fa2462a7520.png delete mode 100644 sprites/s_canvas_rotate_cw/layers/e6e029e6-d5b8-46b5-967d-03d4b1d313a0/930de837-c18e-4c83-9021-ef0aafba8d81.png diff --git a/PixelComposer.resource_order b/PixelComposer.resource_order index ea926ff3a..eb139a95a 100644 --- a/PixelComposer.resource_order +++ b/PixelComposer.resource_order @@ -1904,12 +1904,14 @@ {"name":"s_canvas_fill_type","order":13,"path":"sprites/s_canvas_fill_type/s_canvas_fill_type.yy",}, {"name":"s_canvas_flip_h","order":14,"path":"sprites/s_canvas_flip_h/s_canvas_flip_h.yy",}, {"name":"s_canvas_flip_v","order":15,"path":"sprites/s_canvas_flip_v/s_canvas_flip_v.yy",}, + {"name":"s_canvas_flip","order":71,"path":"sprites/s_canvas_flip/s_canvas_flip.yy",}, {"name":"s_canvas_iso_angle","order":16,"path":"sprites/s_canvas_iso_angle/s_canvas_iso_angle.yy",}, {"name":"s_canvas_mirror_diag","order":17,"path":"sprites/s_canvas_mirror_diag/s_canvas_mirror_diag.yy",}, {"name":"s_canvas_mirror","order":18,"path":"sprites/s_canvas_mirror/s_canvas_mirror.yy",}, {"name":"s_canvas_resize","order":19,"path":"sprites/s_canvas_resize/s_canvas_resize.yy",}, {"name":"s_canvas_rotate_ccw","order":20,"path":"sprites/s_canvas_rotate_ccw/s_canvas_rotate_ccw.yy",}, {"name":"s_canvas_rotate_cw","order":21,"path":"sprites/s_canvas_rotate_cw/s_canvas_rotate_cw.yy",}, + {"name":"s_canvas_rotate","order":72,"path":"sprites/s_canvas_rotate/s_canvas_rotate.yy",}, {"name":"s_canvas_selection_circle","order":22,"path":"sprites/s_canvas_selection_circle/s_canvas_selection_circle.yy",}, {"name":"s_canvas_selection_rectangle","order":23,"path":"sprites/s_canvas_selection_rectangle/s_canvas_selection_rectangle.yy",}, {"name":"s_canvas_tool_curve","order":44,"path":"sprites/s_canvas_tool_curve/s_canvas_tool_curve.yy",}, diff --git a/PixelComposer.yyp b/PixelComposer.yyp index 844c0c458..9eda1f2e9 100644 --- a/PixelComposer.yyp +++ b/PixelComposer.yyp @@ -2553,12 +2553,14 @@ {"id":{"name":"s_canvas_fill_type","path":"sprites/s_canvas_fill_type/s_canvas_fill_type.yy",},}, {"id":{"name":"s_canvas_flip_h","path":"sprites/s_canvas_flip_h/s_canvas_flip_h.yy",},}, {"id":{"name":"s_canvas_flip_v","path":"sprites/s_canvas_flip_v/s_canvas_flip_v.yy",},}, + {"id":{"name":"s_canvas_flip","path":"sprites/s_canvas_flip/s_canvas_flip.yy",},}, {"id":{"name":"s_canvas_iso_angle","path":"sprites/s_canvas_iso_angle/s_canvas_iso_angle.yy",},}, {"id":{"name":"s_canvas_mirror_diag","path":"sprites/s_canvas_mirror_diag/s_canvas_mirror_diag.yy",},}, {"id":{"name":"s_canvas_mirror","path":"sprites/s_canvas_mirror/s_canvas_mirror.yy",},}, {"id":{"name":"s_canvas_resize","path":"sprites/s_canvas_resize/s_canvas_resize.yy",},}, {"id":{"name":"s_canvas_rotate_ccw","path":"sprites/s_canvas_rotate_ccw/s_canvas_rotate_ccw.yy",},}, {"id":{"name":"s_canvas_rotate_cw","path":"sprites/s_canvas_rotate_cw/s_canvas_rotate_cw.yy",},}, + {"id":{"name":"s_canvas_rotate","path":"sprites/s_canvas_rotate/s_canvas_rotate.yy",},}, {"id":{"name":"s_canvas_selection_circle","path":"sprites/s_canvas_selection_circle/s_canvas_selection_circle.yy",},}, {"id":{"name":"s_canvas_selection_rectangle","path":"sprites/s_canvas_selection_rectangle/s_canvas_selection_rectangle.yy",},}, {"id":{"name":"s_canvas_tool_curve","path":"sprites/s_canvas_tool_curve/s_canvas_tool_curve.yy",},}, diff --git a/scripts/hotkey_data/hotkey_data.gml b/scripts/hotkey_data/hotkey_data.gml index 092b5e7c8..e02e17d7a 100644 --- a/scripts/hotkey_data/hotkey_data.gml +++ b/scripts/hotkey_data/hotkey_data.gml @@ -24,6 +24,10 @@ function __initHotKey() { hotkeySimple("Node_Tile_Drawer", "Rectangle", "N"); hotkeySimple("Node_Tile_Drawer", "Ellipse", "M"); hotkeySimple("Node_Tile_Drawer", "Fill", "G"); + hotkeySimple("Node_Tile_Drawer", "Brush Rotate CW", "R"); + hotkeySimple("Node_Tile_Drawer", "Brush Rotate CCW", "R", MOD_KEY.shift); + hotkeySimple("Node_Tile_Drawer", "Brush Flip H", "T"); + hotkeySimple("Node_Tile_Drawer", "Brush Flip V", "T", MOD_KEY.shift); hotkeySimple("Node_Mesh_Warp", "Edit control point", "V"); hotkeySimple("Node_Mesh_Warp", "Pin mesh", "P"); diff --git a/scripts/node_tiler/node_tiler.gml b/scripts/node_tiler/node_tiler.gml index 32e19a509..b1387e1ee 100644 --- a/scripts/node_tiler/node_tiler.gml +++ b/scripts/node_tiler/node_tiler.gml @@ -69,42 +69,87 @@ function Node_Tile_Drawer(_x, _y, _group = noone) : Node_Processor(_x, _y, _grou #region ++++ tools ++++ tool_attribute.size = 1; - tool_size_edit = new textBox(TEXTBOX_INPUT.number, function(val) { tool_attribute.size = max(1, round(val)); }).setSlideType(true) + tool_size_edit = new textBox(TEXTBOX_INPUT.number, function(val) /*=>*/ { tool_attribute.size = max(1, round(val)); }).setSlideType(true) .setFont(f_p3) - .setSideButton(button(function() { dialogPanelCall(new Panel_Node_Canvas_Pressure(self), mouse_mx, mouse_my, { anchor: ANCHOR.top | ANCHOR.left }) }) + .setSideButton(button(function() /*=>*/ { dialogPanelCall(new Panel_Node_Canvas_Pressure(self), mouse_mx, mouse_my, { anchor: ANCHOR.top | ANCHOR.left }) }) .setIcon(THEME.pen_pressure, 0, COLORS._main_icon)); tool_size = [ "Size", tool_size_edit, "size", tool_attribute ]; tool_attribute.fillType = 0; - tool_fil8_edit = new buttonGroup( [ THEME.canvas_fill_type, THEME.canvas_fill_type, THEME.canvas_fill_type ], function(val) { tool_attribute.fillType = val; }) + tool_fil8_edit = new buttonGroup( [ THEME.canvas_fill_type, THEME.canvas_fill_type, THEME.canvas_fill_type ], function(val) /*=>*/ { tool_attribute.fillType = val; }) .setTooltips( [ "Edge", "Edge + Corner" ] ) .setCollape(false); tool_fil8 = [ "Fill", tool_fil8_edit, "fillType", tool_attribute ]; - tool_pencil = new NodeTool( "Pencil", THEME.canvas_tools_pencil) - .setSetting(tool_size) - .setToolObject(tool_brush); + tool_varient_rotate = [ "", new buttonGroup( [ s_canvas_rotate, s_canvas_rotate ], function(v) /*=>*/ {return brush_action_rotate(v)} ) + .setCollape(0).setTooltips([ "Rotate CW", "Rotate CCW" ]) ]; + + tool_varient_flip = [ "", new buttonGroup( [ s_canvas_flip, s_canvas_flip ], function(v) /*=>*/ {return brush_action_flip(v)} ) + .setCollape(0).setTooltips([ "Flip X", "Flip Y" ]) ]; - tool_tile_picker = false; +////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////// + + node_tool_pencil = new NodeTool( "Pencil", THEME.canvas_tools_pencil).setToolObject(tool_brush) + .setSetting(tool_size, tool_varient_rotate, tool_varient_flip) + + node_tool_eraser = new NodeTool( "Eraser", THEME.canvas_tools_eraser).setToolObject(tool_eraser) + .setSetting(tool_size) + + node_tool_rectangle = new NodeTool( "Rectangle", THEME.canvas_tools_rect_fill).setToolObject(tool_rectangle) + .setSetting(tool_size, tool_varient_rotate, tool_varient_flip) + + node_tool_ellipse = new NodeTool( "Ellipse", THEME.canvas_tools_ellip_fill).setToolObject(tool_ellipse) + .setSetting(tool_size, tool_varient_rotate, tool_varient_flip) + + node_tool_fill = new NodeTool( "Fill", THEME.canvas_tools_bucket).setToolObject(tool_fill) + .setSetting(tool_fil8, tool_varient_rotate, tool_varient_flip) tools = [ - tool_pencil, + node_tool_pencil, + node_tool_eraser, + node_tool_rectangle, + node_tool_ellipse, + node_tool_fill, + ]; + + tool_tile_picker = false; + #endregion + + #region ++++ tools actions ++++ + function brush_action_rotate(ccw) { + if(tileset == noone) return; + var brush = tileset.brush; + var _rot = ccw? -1 : 1; - new NodeTool( "Eraser", THEME.canvas_tools_eraser) - .setSetting(tool_size) - .setToolObject(tool_eraser), + for( var i = 0, n = brush.brush_height; i < n; i++ ) + for( var j = 0, m = brush.brush_width; j < m; j++ ) { + var _b = brush.brush_indices[i][j]; + var _fl = floor(_b[1] / 4) * 4; + var _rt = _b[1] % 4; - new NodeTool( "Rectangle", [ THEME.canvas_tools_rect_fill ]) - .setSetting(tool_size) - .setToolObject(tool_rectangle), - - new NodeTool( "Ellipse", [ THEME.canvas_tools_ellip_fill ]) - .setSetting(tool_size) - .setToolObject(tool_ellipse), + _b[1] = _fl + (_rt + _rot + 4) % 4; + } + } + + function brush_action_flip(axs) { + if(tileset == noone) return; + var brush = tileset.brush; + var flp = axs? 0b1000 : 0b0100; - new NodeTool( "Fill", THEME.canvas_tools_bucket) - .setSetting(tool_fil8) - .setToolObject(tool_fill), + for( var i = 0, n = brush.brush_height; i < n; i++ ) + for( var j = 0, m = brush.brush_width; j < m; j++ ) { + var _b = brush.brush_indices[i][j]; + _b[1] = _b[1] ^ flp; + } + } + #endregion + + #region ++++ hotkeys ++++ + hotkeys = [ + ["Brush Rotate CW", function() /*=>*/ { brush_action_rotate(0); }], + ["Brush Rotate CCW", function() /*=>*/ { brush_action_rotate(1); }], + ["Brush Flip H", function() /*=>*/ { brush_action_flip(0); }], + ["Brush Flip V", function() /*=>*/ { brush_action_flip(1); }], ]; #endregion @@ -263,12 +308,13 @@ function Node_Tile_Drawer(_x, _y, _group = noone) : Node_Processor(_x, _y, _grou tool_tile_picker = true; } - // if(!array_empty(tileset.autoterrain)) { - // draw_surface_ext_safe(tileset.autoterrain[0].mask_surface, 32, 32, 8, 8, 0, c_white, 1); - // } - // if(surface_exists(canvas_surface)) draw_surface_ext(canvas_surface, 32, 32, 8, 8, 0, c_white, 1); - // if(surface_exists(drawing_surface)) draw_surface_ext(drawing_surface, 232, 32, 8, 8, 0, c_white, 1); - // draw_surface_ext(preview_draw_overlay, 432, 32, 8, 8, 0, c_white, 1); + for( var i = 0, n = array_length(hotkeys); i < n; i++ ) { + var _hk = hotkeys[i]; + var _h = getToolHotkey("Node_Tile_Drawer", _hk[0]); + if(_h == noone) continue; + + if(_h.isPressing()) _hk[1](); + } } ////- Update diff --git a/scripts/node_tiler_tileset/node_tiler_tileset.gml b/scripts/node_tiler_tileset/node_tiler_tileset.gml index f0c8cc55a..1d75c26c0 100644 --- a/scripts/node_tiler_tileset/node_tiler_tileset.gml +++ b/scripts/node_tiler_tileset/node_tiler_tileset.gml @@ -52,8 +52,8 @@ function Node_Tile_Tileset(_x, _y, _group = noone) : Node(_x, _y, _group) constr static setPencil = function() { var _n = PANEL_INSPECTOR.getInspecting(); if(!is(_n, Node_Tile_Drawer)) return; - if(PANEL_PREVIEW.tool_current != _n.tool_pencil) - _n.tool_pencil.toggle(); + if(PANEL_PREVIEW.tool_current != _n.node_tool_pencil) + _n.node_tool_pencil.toggle(); } ////- Tile selector @@ -464,7 +464,7 @@ function Node_Tile_Tileset(_x, _y, _group = noone) : Node(_x, _y, _group) constr var _sw = _ss * _sel_sw; var _sh = _ss * _sel_sh; - var _vv = [ 0, 0b0011, 0b0010, 0b0001, 0b0100, 0b0111, 0b0110, 0b0101 ]; + var _vv = [ 0, 0b0001, 0b0010, 0b0011, 0b0100, 0b0101, 0b0110, 0b0111 ]; var p = array_length(_vv) var _col = max(1, floor((_w - ui(8)) / (_sw + ui(8)))); var _row = brush.brush_width * brush.brush_height == 1? ceil((p + 1) / _col) : 1; diff --git a/scripts/panel_preview/panel_preview.gml b/scripts/panel_preview/panel_preview.gml index ceaddd43d..ed8b5df86 100644 --- a/scripts/panel_preview/panel_preview.gml +++ b/scripts/panel_preview/panel_preview.gml @@ -2130,7 +2130,7 @@ function Panel_Preview() : PanelContent() constructor { tool_x = lerp_float(tool_x, tool_x_to, 5); var tolx = tool_x + ui(8); - var toly = ui(8); + var toly = ui(7); var tolw = ui(48); var tolh = toolbar_height - ui(20); var tol_max_w = ui(16); @@ -2141,7 +2141,7 @@ function Panel_Preview() : PanelContent() constructor { var nme = sett[0]; var wdg = sett[1]; var key = array_safe_get_fast(sett, 2); - var atr = array_safe_get_fast(sett, 3); + var atr = array_safe_get_fast(sett, 3, {}); if(nme != "") { tolx += ui(8) + bool(i == 0) * ui(8); diff --git a/shaders/sh_draw_tile_map/sh_draw_tile_map.fsh b/shaders/sh_draw_tile_map/sh_draw_tile_map.fsh index 28011b9e1..b4b46575e 100644 --- a/shaders/sh_draw_tile_map/sh_draw_tile_map.fsh +++ b/shaders/sh_draw_tile_map/sh_draw_tile_map.fsh @@ -49,6 +49,7 @@ void main() { if(mFlipH == 1.) tileTx.x = 1. - tileTx.x; if(mFlipV == 1.) tileTx.y = 1. - tileTx.y; + if(mRot == 1.) tileTx = vec2(tileTx.y, 1. - tileTx.x); if(mRot == 2.) tileTx = 1. - tileTx; if(mRot == 3.) tileTx = vec2(1. - tileTx.y, tileTx.x); diff --git a/sprites/s_canvas_flip/2a975f3b-ae58-4bcc-8606-0377fa885c02.png b/sprites/s_canvas_flip/2a975f3b-ae58-4bcc-8606-0377fa885c02.png new file mode 100644 index 0000000000000000000000000000000000000000..aa8809fbfe1cace7d4a5854bc11f6fc098559190 GIT binary patch literal 499 zcmeAS@N?(olHy`uVBq!ia0vp^LLkh+1|-AI^@Rf|g=CK)Uj~LMH3o);76yi2K%s^g z3=E|P3=FRl7#OT(FffQ0%-I!a1C(G(@^*J&_z!{$_AZ|c6nW<9;uvCadhcXIFK0&) zSN}8p8R^Q?4qoz`t-ztUa&tq7=3R%NY(ejXL7QjitETar-E1(sW~n*n0YA@wd&P>x zglA`;?)$B0{2@M|{Z)ay)6yujk6jI6+Lt~oICgSsRLHs9ub=##vZNzY=ImXuc7s3x z_ZOqDuS>4;eD(SJiM{pLtgwk$^Iv5ixu{$abosS%Vb)!qJFe$0_WoM?ZFAoh=LePs zf4M3=4we@!KHJb8FyR9WhfjISmEs3_8b)kt2c!$ump%NRD$n?S=MAmjrU6Wgy>dBa z+Hd6_&U@tgZx*AUM~2*)Jo_6AH)W^XI{CES66j;q64!{5l*E!$tK_0oAjM#0U}UOm zV5n%-qBx7edI5jU5>eMR4QXPFIs^kwIk9YDv~ti}tC7T56Mx=P;Z*y( ze73iLdpUkgH1SZ{aZfulqk5K3K9keMqDha$5`KU9;aYRE_<^?F7tbrKr=DMCn07!a zgZZG`d)FHtzoviD&eX|NU77X!yxGFWL$ZOfLE+2eGjGnbz5CDdme>o%qsv*v7qNZ# zxk*9Seev(#Je%gXoC11LwZt`|BqgyV)hf9t6-Y4{85o)B8W`#t7=;*ES{a*I8Chx@ z7+4t?Trb;Yf}$ZeKP5A*61RqB+Dsil4H|G8N-}d(i%Sx73vlcCXr~N{HU>{uKbLh* G2~7ZG%Bx zglA`;?)$B0{2@M|{Z)ay)6yujk6jI6+Lt~oICgSsRLHs9ub=##vZNzY=ImXuc7s3x z_ZOqDuS>4;eD(SJiM{pLtgwk$^Iv5ixu{$abosS%Vb)!qJFe$0_WoM?ZFAoh=LePs zf4M3=4we@!KHJb8FyR9WhfjISmEs3_8b)kt2c!$ump%NRD$n?S=MAmjrU6Wgy>dBa z+Hd6_&U@tgZx*AUM~2*)Jo_6AH)W^XI{CES66j;q64!{5l*E!$tK_0oAjM#0U}UOm zV5n%-qBx7edI5jU5>eMR4QXPFIs^kwIk9YDv~ti}tC7T56Mx=P;Z*y( ze73iLdpUkgH1SZ{aZfulqk5K3K9keMqDha$5`KU9;aYRE_<^?F7tbrKr=DMCn07!a zgZZG`d)FHtzoviD&eX|NU77X!yxGFWL$ZOfLE+2eGjGnbz5CDdme>o%qsv*v7qNZ# zxk*9Seev(#Je%gXoC11LwZt`|BqgyV)hf9t6-Y4{85o)B8W`#t7=;*ES{a*I8Chx@ z7+4t?Trb;Yf}$ZeKP5A*61RqB+Dsil4H|G8N-}d(i%Sx73vlcCXr~N{HU>{uKbLh* G2~7ZG%B":"", + "Keyframes":[], + "resourceType":"KeyframeStore", + "resourceVersion":"2.0", + }, + "eventStubScript":null, + "eventToFunction":{}, + "length":2.0, + "lockOrigin":false, + "moments":{ + "$KeyframeStore":"", + "Keyframes":[], + "resourceType":"KeyframeStore", + "resourceVersion":"2.0", + }, + "name":"s_canvas_flip", + "playback":1, + "playbackSpeed":30.0, + "playbackSpeedType":0, + "resourceType":"GMSequence", + "resourceVersion":"2.0", + "showBackdrop":true, + "showBackdropImage":false, + "timeUnits":1, + "tracks":[ + {"$GMSpriteFramesTrack":"","builtinName":0,"events":[],"inheritsTrackColour":true,"interpolation":1,"isCreationTrack":false,"keyframes":{"$KeyframeStore":"","Keyframes":[ + {"$Keyframe":"","Channels":{ + "0":{"$SpriteFrameKeyframe":"","Id":{"name":"2a975f3b-ae58-4bcc-8606-0377fa885c02","path":"sprites/s_canvas_flip/s_canvas_flip.yy",},"resourceType":"SpriteFrameKeyframe","resourceVersion":"2.0",}, + },"Disabled":false,"id":"59617b69-f621-4a80-a371-417825659224","IsCreationKey":false,"Key":0.0,"Length":1.0,"resourceType":"Keyframe","resourceVersion":"2.0","Stretch":false,}, + {"$Keyframe":"","Channels":{ + "0":{"$SpriteFrameKeyframe":"","Id":{"name":"942366a7-0fe1-423c-8c0b-3f4987bcd929","path":"sprites/s_canvas_flip/s_canvas_flip.yy",},"resourceType":"SpriteFrameKeyframe","resourceVersion":"2.0",}, + },"Disabled":false,"id":"ee32d9d6-1099-4a76-8a75-151c909a5c7e","IsCreationKey":false,"Key":1.0,"Length":1.0,"resourceType":"Keyframe","resourceVersion":"2.0","Stretch":false,}, + ],"resourceType":"KeyframeStore","resourceVersion":"2.0",},"modifiers":[],"name":"frames","resourceType":"GMSpriteFramesTrack","resourceVersion":"2.0","spriteId":null,"trackColour":0,"tracks":[],"traits":0,}, + ], + "visibleRange":null, + "volume":1.0, + "xorigin":9, + "yorigin":9, + }, + "swatchColours":null, + "swfPrecision":0.5, + "textureGroupId":{ + "name":"Default", + "path":"texturegroups/Default", + }, + "type":0, + "VTile":false, + "width":18, +} \ No newline at end of file diff --git a/sprites/s_canvas_flip_h/2d7cba5b-a694-46ad-8aa3-e76e0a591a89.png b/sprites/s_canvas_flip_h/2d7cba5b-a694-46ad-8aa3-e76e0a591a89.png new file mode 100644 index 0000000000000000000000000000000000000000..4e47c17e38fa96f4d23de89052d6c19e093145f7 GIT binary patch literal 499 zcmeAS@N?(olHy`uVBq!ia0vp^LLkh+1|-AI^@Rf|g=CK)Uj~LMH3o);76yi2K%s^g z3=E|P3=FRl7#OT(FffQ0%-I!a1C(G(@^*J&_z!{$_AZ|c6nW<9;uvCadhcXIFK0&) zSN}8p8R^Q?4qoz`t-ztUa&tq7=3R%NY(ejXL7QjitETar-E1(sW~n*n0YA@wd&P>x zglA`;?)$B0{2@M|{Z)ay)6yujk6jI6+Lt~oICgSsRLHs9ub=##vZNzY=ImXuc7s3x z_ZOqDuS>4;eD(SJiM{pLtgwk$^Iv5ixu{$abosS%Vb)!qJFe$0_WoM?ZFAoh=LePs zf4M3=4we@!KHJb8FyR9WhfjISmEs3_8b)kt2c!$ump%NRD$n?S=MAmjrU6Wgy>dBa z+Hd6_&U@tgZx*AUM~2*)Jo_6AH)W^XI{CES66j;q64!{5l*E!$tK_0oAjM#0U}UOm zV5n5tU}a!npT8mmMMG|WN@iLmZVi4$0>F@G(16=el9`)YT#}eu WfLo8Gx}iBx4}+(xpUXO@geCwb-nHuh literal 0 HcmV?d00001 diff --git a/sprites/s_canvas_flip_h/4547ef4e-f5bd-4d6a-9011-70f046c47b1c.png b/sprites/s_canvas_flip_h/4547ef4e-f5bd-4d6a-9011-70f046c47b1c.png deleted file mode 100644 index bcb0565770c114e967628cf2f82d8773d3269425..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 300 zcmeAS@N?(olHy`uVBq!ia0vp^LLkh+1|-AI^@Rf|g=CK)Uj~LMH3o);76yi2K%s^g z3=E|P3=FRl7#OT(FffQ0%-I!a1C(G(@^*J&_z!{$_AZ|c6p{CIaSX9Io&4wje|u(A z2H{X2Nz;rg3j&+nc%@v}7#TLRGb>6|rR4*as+PD$l%ynFVdQ&MBb@0Ab2cqyPW_ diff --git a/sprites/s_canvas_flip_h/5e8c4109-9e36-4cd8-b061-74eed4386836.png b/sprites/s_canvas_flip_h/5e8c4109-9e36-4cd8-b061-74eed4386836.png new file mode 100644 index 0000000000000000000000000000000000000000..b89bbd6decff371083a0915e463b53dd03aa9032 GIT binary patch literal 289 zcmeAS@N?(olHy`uVBq!ia0vp^LLkh+1|-AI^@Rf|g=CK)Uj~LMH3o);76yi2K%s^g z3=E|P3=FRl7#OT(FffQ0%-I!a1C(G(@^*J&_z!{$_AZ|c6cO=saSX9Iotz-Sx;R0k zrzx;OmVtp)iGi_g+gf9wylRPSL`h0wNvc(HQ7VvPFfuSQ)ip5GH82V>u(UEZwlcNU zHZZUG5rU#2H$NpatrE8eKO+I4I~g?KHk4%MrWThZ<`&@ABdKm^4%EZo>FVdQ I&MBb@0E|^gI{*Lx literal 0 HcmV?d00001 diff --git a/sprites/s_canvas_flip_h/d187cfe7-12e9-4e98-b0ad-92df33874eef.png b/sprites/s_canvas_flip_h/d187cfe7-12e9-4e98-b0ad-92df33874eef.png deleted file mode 100644 index 86c5f4c3a51435e8c22aed950bd7a1b185b29a29..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 445 zcmeAS@N?(olHy`uVBq!ia0vp^LLkh+1|-AI^@Rf|g=CK)Uj~LMH3o);76yi2K%s^g z3=E|P3=FRl7#OT(FffQ0%-I!a1C(G(@^*J&_z!{$_AZ|c6xrbE;uvCa`t0O`yoU^U zT;l`YpXJDLFxODtz$vSkbAZEuOWJ@bhe5cdTRHSZg#1+I_^v5O?)z_?yd+9{{{^oP zb8=d|4t35_)V001=+ZTZ!f)M2Qv$9Cn?GwTJ0Q{E_PJ$2Pl5BZlY%Q4_Ax zglA`;?)$B0{2@M|{Z)ay)6yujk6jI6+Lt~oICgSsRLHs9ub=##vZNzY=ImXuc7s3x z_ZOqDuS>4;eD(SJiM{pLtgwk$^Iv5ixu{$abosS%Vb)!qJFe$0_WoM?ZFAoh=LePs zf4M3=4we@!KHJb8FyR9WhfjISmEs3_8b)kt2c!$ump%NRD$n?S=MAmjrU6Wgy>dBa z+Hd6_&U@tgZx*AUM~2*)Jo_6AH)W^XI{CES66j;q64!{5l*E!$tK_0oAjM#0U}UOm zV5n5tU}a!npT8mmMMG|WN@iLmZVi4$0>F@G(16=el9`)YT#}eu WfLo8Gx}iBx4}+(xpUXO@geCwb-nHuh literal 0 HcmV?d00001 diff --git a/sprites/s_canvas_flip_h/layers/4547ef4e-f5bd-4d6a-9011-70f046c47b1c/0412ea17-450b-448c-8137-cd2e2fc7c1ce.png b/sprites/s_canvas_flip_h/layers/4547ef4e-f5bd-4d6a-9011-70f046c47b1c/0412ea17-450b-448c-8137-cd2e2fc7c1ce.png deleted file mode 100644 index bcb0565770c114e967628cf2f82d8773d3269425..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 300 zcmeAS@N?(olHy`uVBq!ia0vp^LLkh+1|-AI^@Rf|g=CK)Uj~LMH3o);76yi2K%s^g z3=E|P3=FRl7#OT(FffQ0%-I!a1C(G(@^*J&_z!{$_AZ|c6p{CIaSX9Io&4wje|u(A z2H{X2Nz;rg3j&+nc%@v}7#TLRGb>6|rR4*as+PD$l%ynFVdQ&MBb@0Ab2cqyPW_ diff --git a/sprites/s_canvas_flip_h/layers/5e8c4109-9e36-4cd8-b061-74eed4386836/bfac56af-e125-4608-a4af-9f00818d32b4.png b/sprites/s_canvas_flip_h/layers/5e8c4109-9e36-4cd8-b061-74eed4386836/bfac56af-e125-4608-a4af-9f00818d32b4.png new file mode 100644 index 0000000000000000000000000000000000000000..b89bbd6decff371083a0915e463b53dd03aa9032 GIT binary patch literal 289 zcmeAS@N?(olHy`uVBq!ia0vp^LLkh+1|-AI^@Rf|g=CK)Uj~LMH3o);76yi2K%s^g z3=E|P3=FRl7#OT(FffQ0%-I!a1C(G(@^*J&_z!{$_AZ|c6cO=saSX9Iotz-Sx;R0k zrzx;OmVtp)iGi_g+gf9wylRPSL`h0wNvc(HQ7VvPFfuSQ)ip5GH82V>u(UEZwlcNU zHZZUG5rU#2H$NpatrE8eKO+I4I~g?KHk4%MrWThZ<`&@ABdKm^4%EZo>FVdQ I&MBb@0E|^gI{*Lx literal 0 HcmV?d00001 diff --git a/sprites/s_canvas_flip_h/layers/d187cfe7-12e9-4e98-b0ad-92df33874eef/0412ea17-450b-448c-8137-cd2e2fc7c1ce.png b/sprites/s_canvas_flip_h/layers/d187cfe7-12e9-4e98-b0ad-92df33874eef/0412ea17-450b-448c-8137-cd2e2fc7c1ce.png deleted file mode 100644 index 86c5f4c3a51435e8c22aed950bd7a1b185b29a29..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 445 zcmeAS@N?(olHy`uVBq!ia0vp^LLkh+1|-AI^@Rf|g=CK)Uj~LMH3o);76yi2K%s^g z3=E|P3=FRl7#OT(FffQ0%-I!a1C(G(@^*J&_z!{$_AZ|c6xrbE;uvCa`t0O`yoU^U zT;l`YpXJDLFxODtz$vSkbAZEuOWJ@bhe5cdTRHSZg#1+I_^v5O?)z_?yd+9{{{^oP zb8=d|4t35_)V001=+ZTZ!f)M2Qv$9Cn?GwTJ0Q{E_PJ$2Pl5BZlY%Q4_A":"","Keyframes":[ {"$Keyframe":"","Channels":{ - "0":{"$SpriteFrameKeyframe":"","Id":{"name":"d187cfe7-12e9-4e98-b0ad-92df33874eef","path":"sprites/s_canvas_flip_h/s_canvas_flip_h.yy",},"resourceType":"SpriteFrameKeyframe","resourceVersion":"2.0",}, - },"Disabled":false,"id":"e9343d6e-668c-4552-ae5f-8c3e5f75752c","IsCreationKey":false,"Key":0.0,"Length":1.0,"resourceType":"Keyframe","resourceVersion":"2.0","Stretch":false,}, + "0":{"$SpriteFrameKeyframe":"","Id":{"name":"2d7cba5b-a694-46ad-8aa3-e76e0a591a89","path":"sprites/s_canvas_flip_h/s_canvas_flip_h.yy",},"resourceType":"SpriteFrameKeyframe","resourceVersion":"2.0",}, + },"Disabled":false,"id":"0f2a0c35-ca87-4370-9cf9-0a741a8447d8","IsCreationKey":false,"Key":0.0,"Length":1.0,"resourceType":"Keyframe","resourceVersion":"2.0","Stretch":false,}, {"$Keyframe":"","Channels":{ - "0":{"$SpriteFrameKeyframe":"","Id":{"name":"4547ef4e-f5bd-4d6a-9011-70f046c47b1c","path":"sprites/s_canvas_flip_h/s_canvas_flip_h.yy",},"resourceType":"SpriteFrameKeyframe","resourceVersion":"2.0",}, - },"Disabled":false,"id":"2c9c3077-8c30-4b9e-8a39-1479c4b79b6a","IsCreationKey":false,"Key":1.0,"Length":1.0,"resourceType":"Keyframe","resourceVersion":"2.0","Stretch":false,}, + "0":{"$SpriteFrameKeyframe":"","Id":{"name":"5e8c4109-9e36-4cd8-b061-74eed4386836","path":"sprites/s_canvas_flip_h/s_canvas_flip_h.yy",},"resourceType":"SpriteFrameKeyframe","resourceVersion":"2.0",}, + },"Disabled":false,"id":"818eac2a-cdf4-4a13-8e43-6b2f69754829","IsCreationKey":false,"Key":1.0,"Length":1.0,"resourceType":"Keyframe","resourceVersion":"2.0","Stretch":false,}, ],"resourceType":"KeyframeStore","resourceVersion":"2.0",},"modifiers":[],"name":"frames","resourceType":"GMSpriteFramesTrack","resourceVersion":"2.0","spriteId":null,"trackColour":0,"tracks":[],"traits":0,}, ], "visibleRange":null, diff --git a/sprites/s_canvas_flip_v/5f06f344-37ae-4862-a0b3-b211ff1fd83c.png b/sprites/s_canvas_flip_v/5f06f344-37ae-4862-a0b3-b211ff1fd83c.png new file mode 100644 index 0000000000000000000000000000000000000000..54bf2b88a5262edd297d35c0f91f069f10e8f781 GIT binary patch literal 484 zcmeAS@N?(olHy`uVBq!ia0vp^LLkh+1|-AI^@Rf|g=CK)Uj~LMH3o);76yi2K%s^g z3=E|P3=FRl7#OT(FffQ0%-I!a1C(G(@^*J&_z!{$_AZ|c6uIu{;uvCadh0~{KF2_r z*7G0Jr!AP&;}%-qBx7edI5jU5>eMR4QXPFIs^kwIk9YDv~ti}tC7T56Mx=P;Z*y( ze73iLdpUkgH1SZ{aZfulqk5K3K9keMqDha$5`KU9;aYRE_<^?F7tbrKr=DMCn07!a zgZZG`d)FHtzoviD&eX|NU77X!yxGFWL$ZOfLE+2eGjGnbz5CDdme>o%qsv*v7qNZ# zxk*9Seev(#Je%gXoC11LwZt`|BqgyV)hf9t6-Y4{85o)B8W`#t7=;*ES{a*I85(FC z7+4t?oJst_f}$ZeKP5A*61RrEHV!+08Z_WGlw{_n7MCRE7U0(NN;5GXsE5JR)z4*} HQ$iB}eNL@= literal 0 HcmV?d00001 diff --git a/sprites/s_canvas_flip_v/6c6a8e1e-ac13-4e7a-9e4d-eb29c7ed5b27.png b/sprites/s_canvas_flip_v/6c6a8e1e-ac13-4e7a-9e4d-eb29c7ed5b27.png deleted file mode 100644 index 4825a7f32e0762556731ef75a52bace994db63ed..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 463 zcmeAS@N?(olHy`uVBq!ia0vp^LLkh+1|-AI^@Rf|g=CK)Uj~LMH3o);76yi2K%s^g z3=E|P3=FRl7#OT(FffQ0%-I!a1C(G(@^*J&_z!{$_AZ|c6glMS;uvCadhL{pyiE=~ zZT21SU$NyVC|fY)9pJEP+|`(OfX#|Y`UFQ`gYX}_3YP;)1s_y>^?WbCzW+^cf=f4t z##~-ClN!knEZ>ra6j$c%+$Sy=1c*J zVDGgK&B5_X`dXQi3jU{Gb*dT9-qQNe`(wtp8MdoVsJc3Tf5F3Y;MQEmxC4AQK2>(} z{xh{^?)FK#IZ0z{o_`z+BhREX2UV%Glh>$U@t|z{} jK?80>NoHu(UEZu`)E! zHZZUmdK II;Vst0PfpLLI3~& literal 0 HcmV?d00001 diff --git a/sprites/s_canvas_flip_v/ef5156e3-e667-4a66-b268-4d04a746420d.png b/sprites/s_canvas_flip_v/ef5156e3-e667-4a66-b268-4d04a746420d.png deleted file mode 100644 index bcb0565770c114e967628cf2f82d8773d3269425..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 300 zcmeAS@N?(olHy`uVBq!ia0vp^LLkh+1|-AI^@Rf|g=CK)Uj~LMH3o);76yi2K%s^g z3=E|P3=FRl7#OT(FffQ0%-I!a1C(G(@^*J&_z!{$_AZ|c6p{CIaSX9Io&4wje|u(A z2H{X2Nz;rg3j&+nc%@v}7#TLRGb>6|rR4*as+PD$l%ynFVdQ&MBb@0Ab2cqyPW_ diff --git a/sprites/s_canvas_flip_v/layers/5f06f344-37ae-4862-a0b3-b211ff1fd83c/dd3f4595-ef3f-4d4a-bf2d-67481dea2d7f.png b/sprites/s_canvas_flip_v/layers/5f06f344-37ae-4862-a0b3-b211ff1fd83c/dd3f4595-ef3f-4d4a-bf2d-67481dea2d7f.png new file mode 100644 index 0000000000000000000000000000000000000000..54bf2b88a5262edd297d35c0f91f069f10e8f781 GIT binary patch literal 484 zcmeAS@N?(olHy`uVBq!ia0vp^LLkh+1|-AI^@Rf|g=CK)Uj~LMH3o);76yi2K%s^g z3=E|P3=FRl7#OT(FffQ0%-I!a1C(G(@^*J&_z!{$_AZ|c6uIu{;uvCadh0~{KF2_r z*7G0Jr!AP&;}%-qBx7edI5jU5>eMR4QXPFIs^kwIk9YDv~ti}tC7T56Mx=P;Z*y( ze73iLdpUkgH1SZ{aZfulqk5K3K9keMqDha$5`KU9;aYRE_<^?F7tbrKr=DMCn07!a zgZZG`d)FHtzoviD&eX|NU77X!yxGFWL$ZOfLE+2eGjGnbz5CDdme>o%qsv*v7qNZ# zxk*9Seev(#Je%gXoC11LwZt`|BqgyV)hf9t6-Y4{85o)B8W`#t7=;*ES{a*I85(FC z7+4t?oJst_f}$ZeKP5A*61RrEHV!+08Z_WGlw{_n7MCRE7U0(NN;5GXsE5JR)z4*} HQ$iB}eNL@= literal 0 HcmV?d00001 diff --git a/sprites/s_canvas_flip_v/layers/6c6a8e1e-ac13-4e7a-9e4d-eb29c7ed5b27/71a94155-1572-44b1-94f7-be402a066a4b.png b/sprites/s_canvas_flip_v/layers/6c6a8e1e-ac13-4e7a-9e4d-eb29c7ed5b27/71a94155-1572-44b1-94f7-be402a066a4b.png deleted file mode 100644 index 4825a7f32e0762556731ef75a52bace994db63ed..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 463 zcmeAS@N?(olHy`uVBq!ia0vp^LLkh+1|-AI^@Rf|g=CK)Uj~LMH3o);76yi2K%s^g z3=E|P3=FRl7#OT(FffQ0%-I!a1C(G(@^*J&_z!{$_AZ|c6glMS;uvCadhL{pyiE=~ zZT21SU$NyVC|fY)9pJEP+|`(OfX#|Y`UFQ`gYX}_3YP;)1s_y>^?WbCzW+^cf=f4t z##~-ClN!knEZ>ra6j$c%+$Sy=1c*J zVDGgK&B5_X`dXQi3jU{Gb*dT9-qQNe`(wtp8MdoVsJc3Tf5F3Y;MQEmxC4AQK2>(} z{xh{^?)FK#IZ0z{o_`z+BhREX2UV%Glh>$U@t|z{} jK?80>NoHu(UEZu`)E! zHZZUmdK II;Vst0PfpLLI3~& literal 0 HcmV?d00001 diff --git a/sprites/s_canvas_flip_v/layers/ef5156e3-e667-4a66-b268-4d04a746420d/71a94155-1572-44b1-94f7-be402a066a4b.png b/sprites/s_canvas_flip_v/layers/ef5156e3-e667-4a66-b268-4d04a746420d/71a94155-1572-44b1-94f7-be402a066a4b.png deleted file mode 100644 index bcb0565770c114e967628cf2f82d8773d3269425..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 300 zcmeAS@N?(olHy`uVBq!ia0vp^LLkh+1|-AI^@Rf|g=CK)Uj~LMH3o);76yi2K%s^g z3=E|P3=FRl7#OT(FffQ0%-I!a1C(G(@^*J&_z!{$_AZ|c6p{CIaSX9Io&4wje|u(A z2H{X2Nz;rg3j&+nc%@v}7#TLRGb>6|rR4*as+PD$l%ynFVdQ&MBb@0Ab2cqyPW_ diff --git a/sprites/s_canvas_flip_v/s_canvas_flip_v.yy b/sprites/s_canvas_flip_v/s_canvas_flip_v.yy index 2255c7e10..5a2aa9ddb 100644 --- a/sprites/s_canvas_flip_v/s_canvas_flip_v.yy +++ b/sprites/s_canvas_flip_v/s_canvas_flip_v.yy @@ -2,7 +2,7 @@ "$GMSprite":"", "%Name":"s_canvas_flip_v", "bboxMode":0, - "bbox_bottom":17, + "bbox_bottom":16, "bbox_left":0, "bbox_right":16, "bbox_top":0, @@ -12,15 +12,15 @@ "edgeFiltering":false, "For3D":false, "frames":[ - {"$GMSpriteFrame":"","%Name":"6c6a8e1e-ac13-4e7a-9e4d-eb29c7ed5b27","name":"6c6a8e1e-ac13-4e7a-9e4d-eb29c7ed5b27","resourceType":"GMSpriteFrame","resourceVersion":"2.0",}, - {"$GMSpriteFrame":"","%Name":"ef5156e3-e667-4a66-b268-4d04a746420d","name":"ef5156e3-e667-4a66-b268-4d04a746420d","resourceType":"GMSpriteFrame","resourceVersion":"2.0",}, + {"$GMSpriteFrame":"","%Name":"5f06f344-37ae-4862-a0b3-b211ff1fd83c","name":"5f06f344-37ae-4862-a0b3-b211ff1fd83c","resourceType":"GMSpriteFrame","resourceVersion":"2.0",}, + {"$GMSpriteFrame":"","%Name":"bb4d0b42-84c7-437e-ba9a-6518e81d9070","name":"bb4d0b42-84c7-437e-ba9a-6518e81d9070","resourceType":"GMSpriteFrame","resourceVersion":"2.0",}, ], "gridX":0, "gridY":0, "height":18, "HTile":false, "layers":[ - {"$GMImageLayer":"","%Name":"71a94155-1572-44b1-94f7-be402a066a4b","blendMode":0,"displayName":"default","isLocked":false,"name":"71a94155-1572-44b1-94f7-be402a066a4b","opacity":100.0,"resourceType":"GMImageLayer","resourceVersion":"2.0","visible":true,}, + {"$GMImageLayer":"","%Name":"dd3f4595-ef3f-4d4a-bf2d-67481dea2d7f","blendMode":0,"displayName":"default","isLocked":false,"name":"dd3f4595-ef3f-4d4a-bf2d-67481dea2d7f","opacity":100.0,"resourceType":"GMImageLayer","resourceVersion":"2.0","visible":true,}, ], "name":"s_canvas_flip_v", "nineSlice":null, @@ -70,11 +70,11 @@ "tracks":[ {"$GMSpriteFramesTrack":"","builtinName":0,"events":[],"inheritsTrackColour":true,"interpolation":1,"isCreationTrack":false,"keyframes":{"$KeyframeStore":"","Keyframes":[ {"$Keyframe":"","Channels":{ - "0":{"$SpriteFrameKeyframe":"","Id":{"name":"6c6a8e1e-ac13-4e7a-9e4d-eb29c7ed5b27","path":"sprites/s_canvas_flip_v/s_canvas_flip_v.yy",},"resourceType":"SpriteFrameKeyframe","resourceVersion":"2.0",}, - },"Disabled":false,"id":"89fa0664-23c0-47eb-bbd6-fba9dd8d5a7c","IsCreationKey":false,"Key":0.0,"Length":1.0,"resourceType":"Keyframe","resourceVersion":"2.0","Stretch":false,}, + "0":{"$SpriteFrameKeyframe":"","Id":{"name":"5f06f344-37ae-4862-a0b3-b211ff1fd83c","path":"sprites/s_canvas_flip_v/s_canvas_flip_v.yy",},"resourceType":"SpriteFrameKeyframe","resourceVersion":"2.0",}, + },"Disabled":false,"id":"7c780114-9bee-4d09-a47c-40842b6ed8f2","IsCreationKey":false,"Key":0.0,"Length":1.0,"resourceType":"Keyframe","resourceVersion":"2.0","Stretch":false,}, {"$Keyframe":"","Channels":{ - "0":{"$SpriteFrameKeyframe":"","Id":{"name":"ef5156e3-e667-4a66-b268-4d04a746420d","path":"sprites/s_canvas_flip_v/s_canvas_flip_v.yy",},"resourceType":"SpriteFrameKeyframe","resourceVersion":"2.0",}, - },"Disabled":false,"id":"c2860404-e4a2-4461-9969-6a2ece59be84","IsCreationKey":false,"Key":1.0,"Length":1.0,"resourceType":"Keyframe","resourceVersion":"2.0","Stretch":false,}, + "0":{"$SpriteFrameKeyframe":"","Id":{"name":"bb4d0b42-84c7-437e-ba9a-6518e81d9070","path":"sprites/s_canvas_flip_v/s_canvas_flip_v.yy",},"resourceType":"SpriteFrameKeyframe","resourceVersion":"2.0",}, + },"Disabled":false,"id":"5d88c442-9de1-42b0-a888-7d4591c2bb54","IsCreationKey":false,"Key":1.0,"Length":1.0,"resourceType":"Keyframe","resourceVersion":"2.0","Stretch":false,}, ],"resourceType":"KeyframeStore","resourceVersion":"2.0",},"modifiers":[],"name":"frames","resourceType":"GMSpriteFramesTrack","resourceVersion":"2.0","spriteId":null,"trackColour":0,"tracks":[],"traits":0,}, ], "visibleRange":null, diff --git a/sprites/s_canvas_rotate/bb36f3bc-e611-4b6b-89f0-0e386a3fdd1e.png b/sprites/s_canvas_rotate/bb36f3bc-e611-4b6b-89f0-0e386a3fdd1e.png new file mode 100644 index 0000000000000000000000000000000000000000..7cf74a2fd073c8db577535c7420f8f9491a537ed GIT binary patch literal 530 zcmeAS@N?(olHy`uVBq!ia0vp^LLkh+1|-AI^@Rf|g=CK)Uj~LMH3o);76yi2K%s^g z3=E|P3=FRl7#OT(FffQ0%-I!a1C(G(@^*J&_z!{$_AZ~yz`)4r>Eak-ar*4!jb6@< z0n%gsFu!3k_%gceLz`13Vjhe~X5!dAW$4YOHR#0xt9%G6uOxSeqcOIOSK z$--rfHalNxEu72#cz$T#ed${Vv@d-9tyU2J+qvpu(UEZu`)8#HZZU< zFi^BRbr(fLZhlH;S|x4`0m(&)Kn)sj8%i>BQ;SOya|>|mVJ{2b2h_vh>FVdQ&MBb@ E0O-NI6#xJL literal 0 HcmV?d00001 diff --git a/sprites/s_canvas_rotate/f033ec34-b96b-4471-bcf4-465a8fe7168d.png b/sprites/s_canvas_rotate/f033ec34-b96b-4471-bcf4-465a8fe7168d.png new file mode 100644 index 0000000000000000000000000000000000000000..269b06101f7ad33ff2717a43722ae37a0a69cb5f GIT binary patch literal 527 zcmeAS@N?(olHy`uVBq!ia0vp^LLkh+1|-AI^@Rf|g=CK)Uj~LMH3o);76yi2K%s^g z3=E|P3=FRl7#OT(FffQ0%-I!a1C(G(@^*J&_z!{$_AZ~yz`)4l>Eak-ar*4#je0JQ zBF8=!mn#b?rQ|o}aZ3eWSp11YNOYd#$_o_?dtU@rGKtO&Gm&ELoN$4&_m9culkZG- zSC{@aojm*f?*B6_i~WwQSotD7!AL1gc~MWt?v4tbE~i|hXN8^ed#eueby-a)tqEbc zKlOdF37ccuhbf2N-*Dyj)ma`~w#A;KWRBDPh%-M}{equyZ~p7>U9)7$N2$!YUeX7{ z_>3-w-Z|T|f9|^4*6UMtJM3N_XX=n#G3|Qd+tsT76__o5U*Eak-ar*4!jb6@< z0n%gsFu!3k_%gceLz`13Vjhe~X5!dAW$4YOHR#0xt9%G6uOxSeqcOIOSK z$--rfHalNxEu72#cz$T#ed${Vv@d-9tyU2J+qvpu(UEZu`)8#HZZU< zFi^BRbr(fLZhlH;S|x4`0m(&)Kn)sj8%i>BQ;SOya|>|mVJ{2b2h_vh>FVdQ&MBb@ E0O-NI6#xJL literal 0 HcmV?d00001 diff --git a/sprites/s_canvas_rotate/layers/f033ec34-b96b-4471-bcf4-465a8fe7168d/1724a880-4772-454b-a686-ac2016cdbfda.png b/sprites/s_canvas_rotate/layers/f033ec34-b96b-4471-bcf4-465a8fe7168d/1724a880-4772-454b-a686-ac2016cdbfda.png new file mode 100644 index 0000000000000000000000000000000000000000..269b06101f7ad33ff2717a43722ae37a0a69cb5f GIT binary patch literal 527 zcmeAS@N?(olHy`uVBq!ia0vp^LLkh+1|-AI^@Rf|g=CK)Uj~LMH3o);76yi2K%s^g z3=E|P3=FRl7#OT(FffQ0%-I!a1C(G(@^*J&_z!{$_AZ~yz`)4l>Eak-ar*4#je0JQ zBF8=!mn#b?rQ|o}aZ3eWSp11YNOYd#$_o_?dtU@rGKtO&Gm&ELoN$4&_m9culkZG- zSC{@aojm*f?*B6_i~WwQSotD7!AL1gc~MWt?v4tbE~i|hXN8^ed#eueby-a)tqEbc zKlOdF37ccuhbf2N-*Dyj)ma`~w#A;KWRBDPh%-M}{equyZ~p7>U9)7$N2$!YUeX7{ z_>3-w-Z|T|f9|^4*6UMtJM3N_XX=n#G3|Qd+tsT76__o5U*":"", + "Keyframes":[], + "resourceType":"KeyframeStore", + "resourceVersion":"2.0", + }, + "eventStubScript":null, + "eventToFunction":{}, + "length":2.0, + "lockOrigin":false, + "moments":{ + "$KeyframeStore":"", + "Keyframes":[], + "resourceType":"KeyframeStore", + "resourceVersion":"2.0", + }, + "name":"s_canvas_rotate", + "playback":1, + "playbackSpeed":30.0, + "playbackSpeedType":0, + "resourceType":"GMSequence", + "resourceVersion":"2.0", + "showBackdrop":true, + "showBackdropImage":false, + "timeUnits":1, + "tracks":[ + {"$GMSpriteFramesTrack":"","builtinName":0,"events":[],"inheritsTrackColour":true,"interpolation":1,"isCreationTrack":false,"keyframes":{"$KeyframeStore":"","Keyframes":[ + {"$Keyframe":"","Channels":{ + "0":{"$SpriteFrameKeyframe":"","Id":{"name":"f033ec34-b96b-4471-bcf4-465a8fe7168d","path":"sprites/s_canvas_rotate/s_canvas_rotate.yy",},"resourceType":"SpriteFrameKeyframe","resourceVersion":"2.0",}, + },"Disabled":false,"id":"30b9ae9a-2dc5-4649-9f85-3c8bd1d2b786","IsCreationKey":false,"Key":0.0,"Length":1.0,"resourceType":"Keyframe","resourceVersion":"2.0","Stretch":false,}, + {"$Keyframe":"","Channels":{ + "0":{"$SpriteFrameKeyframe":"","Id":{"name":"bb36f3bc-e611-4b6b-89f0-0e386a3fdd1e","path":"sprites/s_canvas_rotate/s_canvas_rotate.yy",},"resourceType":"SpriteFrameKeyframe","resourceVersion":"2.0",}, + },"Disabled":false,"id":"8366380c-b9dd-4c52-ac2e-2769baefda40","IsCreationKey":false,"Key":1.0,"Length":1.0,"resourceType":"Keyframe","resourceVersion":"2.0","Stretch":false,}, + ],"resourceType":"KeyframeStore","resourceVersion":"2.0",},"modifiers":[],"name":"frames","resourceType":"GMSpriteFramesTrack","resourceVersion":"2.0","spriteId":null,"trackColour":0,"tracks":[],"traits":0,}, + ], + "visibleRange":null, + "volume":1.0, + "xorigin":9, + "yorigin":9, + }, + "swatchColours":null, + "swfPrecision":0.5, + "textureGroupId":{ + "name":"Default", + "path":"texturegroups/Default", + }, + "type":0, + "VTile":false, + "width":18, +} \ No newline at end of file diff --git a/sprites/s_canvas_rotate_ccw/06e4d662-37df-434d-800e-1be6bd6dd910.png b/sprites/s_canvas_rotate_ccw/06e4d662-37df-434d-800e-1be6bd6dd910.png deleted file mode 100644 index bcb0565770c114e967628cf2f82d8773d3269425..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 300 zcmeAS@N?(olHy`uVBq!ia0vp^LLkh+1|-AI^@Rf|g=CK)Uj~LMH3o);76yi2K%s^g z3=E|P3=FRl7#OT(FffQ0%-I!a1C(G(@^*J&_z!{$_AZ|c6p{CIaSX9Io&4wje|u(A z2H{X2Nz;rg3j&+nc%@v}7#TLRGb>6|rR4*as+PD$l%ynFVdQ&MBb@0Ab2cqyPW_ diff --git a/sprites/s_canvas_rotate_ccw/3ac27864-75d1-4a31-a7e1-bf85b1814512.png b/sprites/s_canvas_rotate_ccw/3ac27864-75d1-4a31-a7e1-bf85b1814512.png new file mode 100644 index 0000000000000000000000000000000000000000..5e0cc31a165bd7353d064297d690a647f545d8b2 GIT binary patch literal 289 zcmeAS@N?(olHy`uVBq!ia0vp^LLkh+1|-AI^@Rf|g=CK)Uj~LMH3o);76yi2K%s^g z3=E|P3=FRl7#OT(FffQ0%-I!a1C(G(@^*J&_z!{$_AZ|c6cO=saSX9Iotz-Sx;R0k zrzx;OmVtp)iGi_g+gf9wylRPSL`h0wNvc(HQ7VvPFfuSQ)ip5GH82V>u(UEZwlXo) zHZZUHkQW;0ySvBZ79jiO)V}-%q_sJ=UGzyIiMZ}Pgg&e IbxsLQ014De{{R30 literal 0 HcmV?d00001 diff --git a/sprites/s_canvas_rotate_ccw/4077d4b4-9f03-4621-a2a5-fb9dd3306a49.png b/sprites/s_canvas_rotate_ccw/4077d4b4-9f03-4621-a2a5-fb9dd3306a49.png new file mode 100644 index 0000000000000000000000000000000000000000..7a3b41d5d93e15d53deedcd9b9f5a74fc3c8de34 GIT binary patch literal 530 zcmeAS@N?(olHy`uVBq!ia0vp^LLkh+1|-AI^@Rf|g=CK)Uj~LMH3o);76yi2K%s^g z3=E|P3=FRl7#OT(FffQ0%-I!a1C(G(@^*J&_z!{$_AZ~yz`)4r>Eak-ar*4!jb6@< z0n%gsFu!3k_%gceLz`13Vjhe~X5!dAW$4YOHR#0xt9%G6uOxSeqcOIOSK z$--rfHalNxEu72#cz$T#ed${Vv@d-9tyU2J+qvpu(UEZwlXo)HZZU< zFgT#~Y%Pk0-29Zxv`X9>HkQW;0ySvBZ79jiO)V}-%q_sJ=UGzyIiMZ}Pgg&ebxsLQ E05Pb&m;e9( literal 0 HcmV?d00001 diff --git a/sprites/s_canvas_rotate_ccw/cf491d45-bb9d-4bab-a3c3-9abe5b2547bc.png b/sprites/s_canvas_rotate_ccw/cf491d45-bb9d-4bab-a3c3-9abe5b2547bc.png deleted file mode 100644 index 56a1a8444e6deef21fcecf9d644a3126dace5a47..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 463 zcmeAS@N?(olHy`uVBq!ia0vp^LLkh+1|-AI^@Rf|g=CK)Uj~LMH3o);76yi2K%s^g z3=E|P3=FRl7#OT(FffQ0%-I!a1C(G(@^*J&_z!{$_AZ|c6glMS;uvCadTq!--opw! zdt7821g)5q4IJcce!t21S=!q(K~O?bI>tUAGJ##GP-s%?T<#y|bW{wPUyFz_^!wdo zF0iy?lu1+d%ypgAsT*|8^nQkl^zR#0E`cKQD$OTa_k;_q@0g@ecq((Qg16X2@%rkC ze6|rR4*as+PD$l%ynFVdQ&MBb@0Ab2cqyPW_ diff --git a/sprites/s_canvas_rotate_ccw/layers/3ac27864-75d1-4a31-a7e1-bf85b1814512/e5beaf95-3227-4b76-852a-6b232f22d76f.png b/sprites/s_canvas_rotate_ccw/layers/3ac27864-75d1-4a31-a7e1-bf85b1814512/e5beaf95-3227-4b76-852a-6b232f22d76f.png new file mode 100644 index 0000000000000000000000000000000000000000..5e0cc31a165bd7353d064297d690a647f545d8b2 GIT binary patch literal 289 zcmeAS@N?(olHy`uVBq!ia0vp^LLkh+1|-AI^@Rf|g=CK)Uj~LMH3o);76yi2K%s^g z3=E|P3=FRl7#OT(FffQ0%-I!a1C(G(@^*J&_z!{$_AZ|c6cO=saSX9Iotz-Sx;R0k zrzx;OmVtp)iGi_g+gf9wylRPSL`h0wNvc(HQ7VvPFfuSQ)ip5GH82V>u(UEZwlXo) zHZZUHkQW;0ySvBZ79jiO)V}-%q_sJ=UGzyIiMZ}Pgg&e IbxsLQ014De{{R30 literal 0 HcmV?d00001 diff --git a/sprites/s_canvas_rotate_ccw/layers/4077d4b4-9f03-4621-a2a5-fb9dd3306a49/e5beaf95-3227-4b76-852a-6b232f22d76f.png b/sprites/s_canvas_rotate_ccw/layers/4077d4b4-9f03-4621-a2a5-fb9dd3306a49/e5beaf95-3227-4b76-852a-6b232f22d76f.png new file mode 100644 index 0000000000000000000000000000000000000000..7a3b41d5d93e15d53deedcd9b9f5a74fc3c8de34 GIT binary patch literal 530 zcmeAS@N?(olHy`uVBq!ia0vp^LLkh+1|-AI^@Rf|g=CK)Uj~LMH3o);76yi2K%s^g z3=E|P3=FRl7#OT(FffQ0%-I!a1C(G(@^*J&_z!{$_AZ~yz`)4r>Eak-ar*4!jb6@< z0n%gsFu!3k_%gceLz`13Vjhe~X5!dAW$4YOHR#0xt9%G6uOxSeqcOIOSK z$--rfHalNxEu72#cz$T#ed${Vv@d-9tyU2J+qvpu(UEZwlXo)HZZU< zFgT#~Y%Pk0-29Zxv`X9>HkQW;0ySvBZ79jiO)V}-%q_sJ=UGzyIiMZ}Pgg&ebxsLQ E05Pb&m;e9( literal 0 HcmV?d00001 diff --git a/sprites/s_canvas_rotate_ccw/layers/cf491d45-bb9d-4bab-a3c3-9abe5b2547bc/110917d4-f49e-47bf-92dc-5f8e122ef215.png b/sprites/s_canvas_rotate_ccw/layers/cf491d45-bb9d-4bab-a3c3-9abe5b2547bc/110917d4-f49e-47bf-92dc-5f8e122ef215.png deleted file mode 100644 index 56a1a8444e6deef21fcecf9d644a3126dace5a47..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 463 zcmeAS@N?(olHy`uVBq!ia0vp^LLkh+1|-AI^@Rf|g=CK)Uj~LMH3o);76yi2K%s^g z3=E|P3=FRl7#OT(FffQ0%-I!a1C(G(@^*J&_z!{$_AZ|c6glMS;uvCadTq!--opw! zdt7821g)5q4IJcce!t21S=!q(K~O?bI>tUAGJ##GP-s%?T<#y|bW{wPUyFz_^!wdo zF0iy?lu1+d%ypgAsT*|8^nQkl^zR#0E`cKQD$OTa_k;_q@0g@ecq((Qg16X2@%rkC ze":"","Keyframes":[ {"$Keyframe":"","Channels":{ - "0":{"$SpriteFrameKeyframe":"","Id":{"name":"cf491d45-bb9d-4bab-a3c3-9abe5b2547bc","path":"sprites/s_canvas_rotate_ccw/s_canvas_rotate_ccw.yy",},"resourceType":"SpriteFrameKeyframe","resourceVersion":"2.0",}, - },"Disabled":false,"id":"776857ab-7f97-4db3-a0b1-768d1637da1e","IsCreationKey":false,"Key":0.0,"Length":1.0,"resourceType":"Keyframe","resourceVersion":"2.0","Stretch":false,}, + "0":{"$SpriteFrameKeyframe":"","Id":{"name":"4077d4b4-9f03-4621-a2a5-fb9dd3306a49","path":"sprites/s_canvas_rotate_ccw/s_canvas_rotate_ccw.yy",},"resourceType":"SpriteFrameKeyframe","resourceVersion":"2.0",}, + },"Disabled":false,"id":"2cbb78eb-a46d-4d9f-a996-fe4ff0b7f0b1","IsCreationKey":false,"Key":0.0,"Length":1.0,"resourceType":"Keyframe","resourceVersion":"2.0","Stretch":false,}, {"$Keyframe":"","Channels":{ - "0":{"$SpriteFrameKeyframe":"","Id":{"name":"06e4d662-37df-434d-800e-1be6bd6dd910","path":"sprites/s_canvas_rotate_ccw/s_canvas_rotate_ccw.yy",},"resourceType":"SpriteFrameKeyframe","resourceVersion":"2.0",}, - },"Disabled":false,"id":"a62ffaba-e012-42d4-8a84-a11488a91e7b","IsCreationKey":false,"Key":1.0,"Length":1.0,"resourceType":"Keyframe","resourceVersion":"2.0","Stretch":false,}, + "0":{"$SpriteFrameKeyframe":"","Id":{"name":"3ac27864-75d1-4a31-a7e1-bf85b1814512","path":"sprites/s_canvas_rotate_ccw/s_canvas_rotate_ccw.yy",},"resourceType":"SpriteFrameKeyframe","resourceVersion":"2.0",}, + },"Disabled":false,"id":"74af380a-bafb-4068-a151-4cae737530eb","IsCreationKey":false,"Key":1.0,"Length":1.0,"resourceType":"Keyframe","resourceVersion":"2.0","Stretch":false,}, ],"resourceType":"KeyframeStore","resourceVersion":"2.0",},"modifiers":[],"name":"frames","resourceType":"GMSpriteFramesTrack","resourceVersion":"2.0","spriteId":null,"trackColour":0,"tracks":[],"traits":0,}, ], "visibleRange":null, diff --git a/sprites/s_canvas_rotate_cw/70b36fa9-4f6c-4958-b278-3fa2c23d65e1.png b/sprites/s_canvas_rotate_cw/70b36fa9-4f6c-4958-b278-3fa2c23d65e1.png deleted file mode 100644 index bcb0565770c114e967628cf2f82d8773d3269425..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 300 zcmeAS@N?(olHy`uVBq!ia0vp^LLkh+1|-AI^@Rf|g=CK)Uj~LMH3o);76yi2K%s^g z3=E|P3=FRl7#OT(FffQ0%-I!a1C(G(@^*J&_z!{$_AZ|c6p{CIaSX9Io&4wje|u(A z2H{X2Nz;rg3j&+nc%@v}7#TLRGb>6|rR4*as+PD$l%ynFVdQ&MBb@0Ab2cqyPW_ diff --git a/sprites/s_canvas_rotate_cw/7689169d-83b2-48e5-9e54-e1096f33dc30.png b/sprites/s_canvas_rotate_cw/7689169d-83b2-48e5-9e54-e1096f33dc30.png new file mode 100644 index 0000000000000000000000000000000000000000..cf645421d97aa620dfe901cc76551eb7fc596088 GIT binary patch literal 289 zcmeAS@N?(olHy`uVBq!ia0vp^LLkh+1|-AI^@Rf|g=CK)Uj~LMH3o);76yi2K%s^g z3=E|P3=FRl7#OT(FffQ0%-I!a1C(G(@^*J&_z!{$_AZ|c6cO=saSX9Iotz-Sx;R0k zrzx;OmVtp)iGi_g+gf9wylRPSL`h0wNvc(HQ7VvPFfuSQ)ip5GH82V>u(UEZwlXr) zHZZUo~Nrkjsx{Dc)I$z JtaD0e0sw3}ObGx0 literal 0 HcmV?d00001 diff --git a/sprites/s_canvas_rotate_cw/b8e2b2f8-b7ce-48c5-b54a-b79de1a2dbb7.png b/sprites/s_canvas_rotate_cw/b8e2b2f8-b7ce-48c5-b54a-b79de1a2dbb7.png new file mode 100644 index 0000000000000000000000000000000000000000..4f64ab72cb1745bddef4f4f4020f68b7f57a35fc GIT binary patch literal 527 zcmeAS@N?(olHy`uVBq!ia0vp^LLkh+1|-AI^@Rf|g=CK)Uj~LMH3o);76yi2K%s^g z3=E|P3=FRl7#OT(FffQ0%-I!a1C(G(@^*J&_z!{$_AZ~yz`)4l>Eak-ar*4#je0JQ zBF8=!mn#b?rQ|o}aZ3eWSp11YNOYd#$_o_?dtU@rGKtO&Gm&ELoN$4&_m9culkZG- zSC{@aojm*f?*B6_i~WwQSotD7!AL1gc~MWt?v4tbE~i|hXN8^ed#eueby-a)tqEbc zKlOdF37ccuhbf2N-*Dyj)ma`~w#A;KWRBDPh%-M}{equyZ~p7>U9)7$N2$!YUeX7{ z_>3-w-Z|T|f9|^4*6UMtJM3N_XX=n#G3|Qd+tsT76__o5U*torFp;j3Y`ti9)E;{K0SV%c$lpr?8U|wCztbm z_k|~({@mTMNRrb*n$f{&^^{uQJ~qn>*Do@&3d%5U_)xe_wADI5NMQM!Yn&0A9OBj- zyYT)UbAotb9P>tw4P61^4`ORJ*M?00KReg4NzX8yxn$P2lc&F3z4))t_^H10+oc!V zrg%R0aE|g<;kxgA`ewoZ-YM?VtCLJ#HMVViWB-dWr6@bP%|Pu9&@ZYbt`Q|Ei6yC4 z$wjF^iowXh$VAt`T-VSn#K6MJ*xbs6|rR4*as+PD$l%ynFVdQ&MBb@0Ab2cqyPW_ diff --git a/sprites/s_canvas_rotate_cw/layers/7689169d-83b2-48e5-9e54-e1096f33dc30/7802d5dd-c281-4880-80b1-3fa2462a7520.png b/sprites/s_canvas_rotate_cw/layers/7689169d-83b2-48e5-9e54-e1096f33dc30/7802d5dd-c281-4880-80b1-3fa2462a7520.png new file mode 100644 index 0000000000000000000000000000000000000000..cf645421d97aa620dfe901cc76551eb7fc596088 GIT binary patch literal 289 zcmeAS@N?(olHy`uVBq!ia0vp^LLkh+1|-AI^@Rf|g=CK)Uj~LMH3o);76yi2K%s^g z3=E|P3=FRl7#OT(FffQ0%-I!a1C(G(@^*J&_z!{$_AZ|c6cO=saSX9Iotz-Sx;R0k zrzx;OmVtp)iGi_g+gf9wylRPSL`h0wNvc(HQ7VvPFfuSQ)ip5GH82V>u(UEZwlXr) zHZZUo~Nrkjsx{Dc)I$z JtaD0e0sw3}ObGx0 literal 0 HcmV?d00001 diff --git a/sprites/s_canvas_rotate_cw/layers/b8e2b2f8-b7ce-48c5-b54a-b79de1a2dbb7/7802d5dd-c281-4880-80b1-3fa2462a7520.png b/sprites/s_canvas_rotate_cw/layers/b8e2b2f8-b7ce-48c5-b54a-b79de1a2dbb7/7802d5dd-c281-4880-80b1-3fa2462a7520.png new file mode 100644 index 0000000000000000000000000000000000000000..4f64ab72cb1745bddef4f4f4020f68b7f57a35fc GIT binary patch literal 527 zcmeAS@N?(olHy`uVBq!ia0vp^LLkh+1|-AI^@Rf|g=CK)Uj~LMH3o);76yi2K%s^g z3=E|P3=FRl7#OT(FffQ0%-I!a1C(G(@^*J&_z!{$_AZ~yz`)4l>Eak-ar*4#je0JQ zBF8=!mn#b?rQ|o}aZ3eWSp11YNOYd#$_o_?dtU@rGKtO&Gm&ELoN$4&_m9culkZG- zSC{@aojm*f?*B6_i~WwQSotD7!AL1gc~MWt?v4tbE~i|hXN8^ed#eueby-a)tqEbc zKlOdF37ccuhbf2N-*Dyj)ma`~w#A;KWRBDPh%-M}{equyZ~p7>U9)7$N2$!YUeX7{ z_>3-w-Z|T|f9|^4*6UMtJM3N_XX=n#G3|Qd+tsT76__o5U*torFp;j3Y`ti9)E;{K0SV%c$lpr?8U|wCztbm z_k|~({@mTMNRrb*n$f{&^^{uQJ~qn>*Do@&3d%5U_)xe_wADI5NMQM!Yn&0A9OBj- zyYT)UbAotb9P>tw4P61^4`ORJ*M?00KReg4NzX8yxn$P2lc&F3z4))t_^H10+oc!V zrg%R0aE|g<;kxgA`ewoZ-YM?VtCLJ#HMVViWB-dWr6@bP%|Pu9&@ZYbt`Q|Ei6yC4 z$wjF^iowXh$VAt`T-VSn#K6MJ*xbs":"","Keyframes":[ {"$Keyframe":"","Channels":{ - "0":{"$SpriteFrameKeyframe":"","Id":{"name":"e6e029e6-d5b8-46b5-967d-03d4b1d313a0","path":"sprites/s_canvas_rotate_cw/s_canvas_rotate_cw.yy",},"resourceType":"SpriteFrameKeyframe","resourceVersion":"2.0",}, - },"Disabled":false,"id":"be23f025-546b-4ec2-b804-1543828d9305","IsCreationKey":false,"Key":0.0,"Length":1.0,"resourceType":"Keyframe","resourceVersion":"2.0","Stretch":false,}, + "0":{"$SpriteFrameKeyframe":"","Id":{"name":"b8e2b2f8-b7ce-48c5-b54a-b79de1a2dbb7","path":"sprites/s_canvas_rotate_cw/s_canvas_rotate_cw.yy",},"resourceType":"SpriteFrameKeyframe","resourceVersion":"2.0",}, + },"Disabled":false,"id":"2d33d7c8-8576-440d-9899-1c6e872e6a94","IsCreationKey":false,"Key":0.0,"Length":1.0,"resourceType":"Keyframe","resourceVersion":"2.0","Stretch":false,}, {"$Keyframe":"","Channels":{ - "0":{"$SpriteFrameKeyframe":"","Id":{"name":"70b36fa9-4f6c-4958-b278-3fa2c23d65e1","path":"sprites/s_canvas_rotate_cw/s_canvas_rotate_cw.yy",},"resourceType":"SpriteFrameKeyframe","resourceVersion":"2.0",}, - },"Disabled":false,"id":"b639d697-733b-4a15-95c9-92f12c7aad82","IsCreationKey":false,"Key":1.0,"Length":1.0,"resourceType":"Keyframe","resourceVersion":"2.0","Stretch":false,}, + "0":{"$SpriteFrameKeyframe":"","Id":{"name":"7689169d-83b2-48e5-9e54-e1096f33dc30","path":"sprites/s_canvas_rotate_cw/s_canvas_rotate_cw.yy",},"resourceType":"SpriteFrameKeyframe","resourceVersion":"2.0",}, + },"Disabled":false,"id":"2813a9fe-ccec-4d16-a6e4-5994dce8ad06","IsCreationKey":false,"Key":1.0,"Length":1.0,"resourceType":"Keyframe","resourceVersion":"2.0","Stretch":false,}, ],"resourceType":"KeyframeStore","resourceVersion":"2.0",},"modifiers":[],"name":"frames","resourceType":"GMSpriteFramesTrack","resourceVersion":"2.0","spriteId":null,"trackColour":0,"tracks":[],"traits":0,}, ], "visibleRange":null,