summaryrefslogtreecommitdiffhomepage
path: root/samples/05_mouse_move_tile_editor
diff options
context:
space:
mode:
authorAmir Rajan <[email protected]>2020-09-11 02:02:01 -0500
committerAmir Rajan <[email protected]>2020-09-11 02:02:57 -0500
commit33ec37b141e896b47ed642923fd33b0c658ae9fb (patch)
treea40d3e5d41beeb06508200078f6f26b0ee57d6a4 /samples/05_mouse_move_tile_editor
parent958cf43779d2bf528869e80511c4c4f2a433b2db (diff)
downloaddragonruby-game-toolkit-contrib-33ec37b141e896b47ed642923fd33b0c658ae9fb.tar.gz
dragonruby-game-toolkit-contrib-33ec37b141e896b47ed642923fd33b0c658ae9fb.zip
synced samples
Diffstat (limited to 'samples/05_mouse_move_tile_editor')
-rw-r--r--samples/05_mouse_move_tile_editor/app/main.rb391
-rw-r--r--samples/05_mouse_move_tile_editor/app/repl.rb2
-rw-r--r--samples/05_mouse_move_tile_editor/app/tests.rb24
-rw-r--r--samples/05_mouse_move_tile_editor/license-for-sample.txt21
-rw-r--r--samples/05_mouse_move_tile_editor/replay.txt1035
-rw-r--r--samples/05_mouse_move_tile_editor/sprites/image1.pngbin1419 -> 0 bytes
-rw-r--r--samples/05_mouse_move_tile_editor/sprites/image2.pngbin5371 -> 0 bytes
-rw-r--r--samples/05_mouse_move_tile_editor/sprites/image3.pngbin4546 -> 0 bytes
-rw-r--r--samples/05_mouse_move_tile_editor/sprites/image4.pngbin2403 -> 0 bytes
-rw-r--r--samples/05_mouse_move_tile_editor/sprites/image5.pngbin4067 -> 0 bytes
-rw-r--r--samples/05_mouse_move_tile_editor/sprites/image6.pngbin2265 -> 0 bytes
11 files changed, 0 insertions, 1473 deletions
diff --git a/samples/05_mouse_move_tile_editor/app/main.rb b/samples/05_mouse_move_tile_editor/app/main.rb
deleted file mode 100644
index 95ccfdf..0000000
--- a/samples/05_mouse_move_tile_editor/app/main.rb
+++ /dev/null
@@ -1,391 +0,0 @@
-=begin
-
- APIs listing that haven't been encountered in previous sample apps:
-
- - to_s: Returns a string representation of an object.
- For example, if we had
- 500.to_s
- the string "500" would be returned.
- Similar to to_i, which returns an integer representation of an object.
-
- - Ceil: Returns an integer number greater than or equal to the original
- with no decimal.
-
- Reminders:
-
- - ARRAY#inside_rect?: Returns true or false depending on if the point is inside a rect.
-
- - args.outputs.labels: An array. The values generate a label.
- The parameters are [X, Y, TEXT, SIZE, ALIGNMENT, RED, GREEN, BLUE, ALPHA, FONT STYLE]
- For more information about labels, go to mygame/documentation/02-labels.md.
-
- - args.outputs.sprites: An array. The values generate a sprite.
- The parameters are [X, Y, WIDTH, HEIGHT, IMAGE PATH]
- For more information about sprites, go to mygame/documentation/05-sprites.md.
-
- - args.outputs.solids: An array. The values generate a solid.
- The parameters are [X, Y, WIDTH, HEIGHT, RED, GREEN, BLUE]
- For more information about solids, go to mygame/documentation/03-solids-and-borders.md.
-
- - args.outputs.lines: An array. The values generate a line.
- The parameters are [X1, Y1, X2, Y2, RED, GREEN, BLUE]
- For more information about lines, go to mygame/documentation/04-lines.md.
-
- - args.state.new_entity: Used when we want to create a new object, like a sprite or button.
- In this sample app, new_entity is used to create a new button that clears the grid.
- (Remember, you can use state to define ANY property and it will be retained across frames.)
-
-=end
-
-# This sample app shows an empty grid that the user can paint in. There are different image tiles that
-# the user can use to fill the grid, and the "Clear" button can be pressed to clear the grid boxes.
-
-class TileEditor
- attr_accessor :inputs, :state, :outputs, :grid, :args
-
- # Runs all the methods necessary for the game to function properly.
- def tick
- defaults
- render
- check_click
- draw_buttons
- end
-
- # Sets default values
- # Initialization only happens in the first frame
- # NOTE: The values of some of these variables may seem confusingly large at first.
- # The gridSize is 1600 but it seems a lot smaller on the screen, for example.
- # But keep in mind that by using the "W", "A", "S", and "D" keys, you can
- # move the grid's view in all four directions for more grid spaces.
- def defaults
- state.tileCords ||= []
- state.tileQuantity ||= 6
- state.tileSize ||= 50
- state.tileSelected ||= 1
- state.tempX ||= 50
- state.tempY ||= 500
- state.speed ||= 4
- state.centerX ||= 4000
- state.centerY ||= 4000
- state.originalCenter ||= [state.centerX, state.centerY]
- state.gridSize ||= 1600
- state.lineQuantity ||= 50
- state.increment ||= state.gridSize / state.lineQuantity
- state.gridX ||= []
- state.gridY ||= []
- state.filled_squares ||= []
- state.grid_border ||= [390, 140, 500, 500]
-
- get_grid unless state.tempX == 0 # calls get_grid in the first frame only
- determineTileCords unless state.tempX == 0 # calls determineTileCords in first frame
- state.tempX = 0 # sets tempX to 0; the two methods aren't called again
- end
-
- # Calculates the placement of lines or separators in the grid
- def get_grid
- curr_x = state.centerX - (state.gridSize / 2) # starts at left of grid
- deltaX = state.gridSize / state.lineQuantity # finds distance to place vertical lines evenly through width of grid
- (state.lineQuantity + 2).times do
- state.gridX << curr_x # adds curr_x to gridX collection
- curr_x += deltaX # increment curr_x by the distance between vertical lines
- end
-
- curr_y = state.centerY - (state.gridSize / 2) # starts at bottom of grid
- deltaY = state.gridSize / state.lineQuantity # finds distance to place horizontal lines evenly through height of grid
- (state.lineQuantity + 2).times do
- state.gridY << curr_y # adds curr_y to gridY collection
- curr_y += deltaY # increments curr_y to distance between horizontal lines
- end
- end
-
- # Determines coordinate positions of patterned tiles (on the left side of the grid)
- def determineTileCords
- state.tempCounter ||= 1 # initializes tempCounter to 1
- state.tileQuantity.times do # there are 6 different kinds of tiles
- state.tileCords += [[state.tempX, state.tempY, state.tempCounter]] # adds tile definition to collection
- state.tempX += 75 # increments tempX to put horizontal space between the patterned tiles
- state.tempCounter += 1 # increments tempCounter
- if state.tempX > 200 # if tempX exceeds 200 pixels
- state.tempX = 50 # a new row of patterned tiles begins
- state.tempY -= 75 # the new row is 75 pixels lower than the previous row
- end
- end
- end
-
- # Outputs objects (grid, tiles, etc) onto the screen
- def render
- outputs.sprites << state.tileCords.map do # outputs tileCords collection using images in sprites folder
- |x, y, order|
- [x, y, state.tileSize, state.tileSize, 'sprites/image' + order.to_s + ".png"]
- end
- outputs.solids << [0, 0, 1280, 720, 255, 255, 255] # outputs white background
- add_grid # outputs grid
- print_title # outputs title and current tile pattern
- end
-
- # Creates a grid by outputting vertical and horizontal grid lines onto the screen.
- # Outputs sprites for the filled_squares collection onto the screen.
- def add_grid
-
- # Outputs the grid's border.
- outputs.borders << state.grid_border
- temp = 0
-
- # Before looking at the code that outputs the vertical and horizontal lines in the
- # grid, take note of the fact that:
- # grid_border[1] refers to the border's bottom line (running horizontally),
- # grid_border[2] refers to the border's top line (running (horizontally),
- # grid_border[0] refers to the border's left line (running vertically),
- # and grid_border[3] refers to the border's right line (running vertically).
-
- # [2]
- # ----------
- # | |
- # [0] | | [3]
- # | |
- # ----------
- # [1]
-
- # Calculates the positions and outputs the x grid lines in the color gray.
- state.gridX.map do # perform an action on all elements of the gridX collection
- |x|
- temp += 1 # increment temp
-
- # if x's value is greater than (or equal to) the x value of the border's left side
- # and less than (or equal to) the x value of the border's right side
- if x >= state.centerX - (state.grid_border[2] / 2) && x <= state.centerX + (state.grid_border[2] / 2)
- delta = state.centerX - 640
- # vertical lines have the same starting and ending x positions
- # starting y and ending y positions lead from the bottom of the border to the top of the border
- outputs.lines << [x - delta, state.grid_border[1], x - delta, state.grid_border[1] + state.grid_border[2], 150, 150, 150] # sets definition of vertical line and outputs it
- end
- end
- temp = 0
-
- # Calculates the positions and outputs the y grid lines in the color gray.
- state.gridY.map do # perform an action on all elements of the gridY collection
- |y|
- temp += 1 # increment temp
-
- # if y's value is greater than (or equal to) the y value of the border's bottom side
- # and less than (or equal to) the y value of the border's top side
- if y >= state.centerY - (state.grid_border[3] / 2) && y <= state.centerY + (state.grid_border[3] / 2)
- delta = state.centerY - 393
- # horizontal lines have the same starting and ending y positions
- # starting x and ending x positions lead from the left side of the border to the right side of the border
- outputs.lines << [state.grid_border[0], y - delta, state.grid_border[0] + state.grid_border[3], y - delta, 150, 150, 150] # sets definition of horizontal line and outputs it
- end
- end
-
- # Sets values and outputs sprites for the filled_squares collection.
- state.filled_squares.map do # perform an action on every element of the filled_squares collection
- |x, y, w, h, sprite|
- # if x's value is greater than (or equal to) the x value of 17 pixels to the left of the border's left side
- # and less than (or equal to) the x value of the border's right side
- # and y's value is greater than (or equal to) the y value of the border's bottom side
- # and less than (or equal to) the y value of 25 pixels above the border's top side
- # NOTE: The allowance of 17 pixels and 25 pixels is due to the fact that a grid box may be slightly cut off or
- # not entirely visible in the grid's view (until it is moved using "W", "A", "S", "D")
- if x >= state.centerX - (state.grid_border[2] / 2) - 17 && x <= state.centerX + (state.grid_border[2] / 2) &&
- y >= state.centerY - (state.grid_border[3] / 2) && y <= state.centerY + (state.grid_border[3] / 2) + 25
- # calculations done to place sprites in grid spaces that are meant to filled in
- # mess around with the x and y values and see how the sprite placement changes
- outputs.sprites << [x - state.centerX + 630, y - state.centerY + 360, w, h, sprite]
- end
- end
-
- # outputs a white solid along the left side of the grid (change the color and you'll be able to see it against the white background)
- # state.increment subtracted in x parameter because solid's position is denoted by bottom left corner
- # state.increment subtracted in y parameter to avoid covering the title label
- outputs.primitives << [state.grid_border[0] - state.increment,
- state.grid_border[1] - state.increment, state.increment, state.grid_border[3] + (state.increment * 2),
- 255, 255, 255].solid
-
- # outputs a white solid along the right side of the grid
- # state.increment subtracted from y parameter to avoid covering title label
- outputs.primitives << [state.grid_border[0] + state.grid_border[2],
- state.grid_border[1] - state.increment, state.increment, state.grid_border[3] + (state.increment * 2),
- 255, 255, 255].solid
-
- # outputs a white solid along the bottom of the grid
- # state.increment subtracted from y parameter to avoid covering last row of grid boxes
- outputs.primitives << [state.grid_border[0] - state.increment, state.grid_border[1] - state.increment,
- state.grid_border[2] + (2 * state.increment), state.increment, 255, 255, 255].solid
-
- # outputs a white solid along the top of the grid
- outputs.primitives << [state.grid_border[0] - state.increment, state.grid_border[1] + state.grid_border[3],
- state.grid_border[2] + (2 * state.increment), state.increment, 255, 255, 255].solid
-
- end
-
- # Outputs title and current tile pattern
- def print_title
- outputs.labels << [640, 700, 'Mouse to Place Tile, WASD to Move Around', 7, 1] # title label
- outputs.lines << horizontal_separator(660, 0, 1280) # outputs horizontal separator
- outputs.labels << [1050, 500, 'Current:', 3, 1] # outputs Current label
- outputs.sprites << [1110, 474, state.tileSize / 2, state.tileSize / 2, 'sprites/image' + state.tileSelected.to_s + ".png"] # outputs sprite of current tile pattern using images in sprites folder; output is half the size of a tile
- end
-
- # Sets the starting position, ending position, and color for the horizontal separator.
- def horizontal_separator y, x, x2
- [x, y, x2, y, 150, 150, 150] # definition of separator; horizontal line means same starting/ending y
- end
-
- # Checks if the mouse is being clicked or dragged
- def check_click
- if inputs.keyboard.key_down.r # if the "r" key is pressed down
- $dragon.reset
- end
-
- if inputs.mouse.down #is mouse up or down?
- state.mouse_held = true
- if inputs.mouse.position.x < state.grid_border[0] # if mouse's x position is inside the grid's borders
- state.tileCords.map do # perform action on all elements of tileCords collection
- |x, y, order|
- # if mouse's x position is greater than (or equal to) the starting x position of a tile
- # and the mouse's x position is also less than (or equal to) the ending x position of that tile,
- # and the mouse's y position is greater than (or equal to) the starting y position of that tile,
- # and the mouse's y position is also less than (or equal to) the ending y position of that tile,
- # (BASICALLY, IF THE MOUSE'S POSITION IS WITHIN THE STARTING AND ENDING POSITIONS OF A TILE)
- if inputs.mouse.position.x >= x && inputs.mouse.position.x <= x + state.tileSize &&
- inputs.mouse.position.y >= y && inputs.mouse.position.y <= y + state.tileSize
- state.tileSelected = order # that tile is selected
- end
- end
- end
- elsif inputs.mouse.up # otherwise, if the mouse is in the "up" state
- state.mouse_held = false # mouse is not held down or dragged
- state.mouse_dragging = false
- end
-
- if state.mouse_held && # mouse needs to be down
- !inputs.mouse.click && # must not be first click
- ((inputs.mouse.previous_click.point.x - inputs.mouse.position.x).abs > 15 ||
- (inputs.mouse.previous_click.point.y - inputs.mouse.position.y).abs > 15) # Need to move 15 pixels before "drag"
- state.mouse_dragging = true
- end
-
- # if mouse is clicked inside grid's border, search_lines method is called with click input type
- if ((inputs.mouse.click) && (inputs.mouse.click.point.inside_rect? state.grid_border))
- search_lines(inputs.mouse.click.point, :click)
-
- # if mouse is dragged inside grid's border, search_lines method is called with drag input type
- elsif ((state.mouse_dragging) && (inputs.mouse.position.inside_rect? state.grid_border))
- search_lines(inputs.mouse.position, :drag)
- end
-
- # Changes grid's position on screen by moving it up, down, left, or right.
-
- # centerX is incremented by speed if the "d" key is pressed and if that sum is less than
- # the original left side of the center plus half the grid, minus half the top border of grid.
- # MOVES GRID RIGHT (increasing x)
- state.centerX += state.speed if inputs.keyboard.key_held.d &&
- (state.centerX + state.speed) < state.originalCenter[0] + (state.gridSize / 2) - (state.grid_border[2] / 2)
- # centerX is decremented by speed if the "a" key is pressed and if that difference is greater than
- # the original left side of the center minus half the grid, plus half the top border of grid.
- # MOVES GRID LEFT (decreasing x)
- state.centerX -= state.speed if inputs.keyboard.key_held.a &&
- (state.centerX - state.speed) > state.originalCenter[0] - (state.gridSize / 2) + (state.grid_border[2] / 2)
- # centerY is incremented by speed if the "w" key is pressed and if that sum is less than
- # the original bottom of the center plus half the grid, minus half the right border of grid.
- # MOVES GRID UP (increasing y)
- state.centerY += state.speed if inputs.keyboard.key_held.w &&
- (state.centerY + state.speed) < state.originalCenter[1] + (state.gridSize / 2) - (state.grid_border[3] / 2)
- # centerY is decremented by speed if the "s" key is pressed and if the difference is greater than
- # the original bottom of the center minus half the grid, plus half the right border of grid.
- # MOVES GRID DOWN (decreasing y)
- state.centerY -= state.speed if inputs.keyboard.key_held.s &&
- (state.centerY - state.speed) > state.originalCenter[1] - (state.gridSize / 2) + (state.grid_border[3] / 2)
- end
-
- # Performs calculations on the gridX and gridY collections, and sets values.
- # Sets the definition of a grid box, including the image that it is filled with.
- def search_lines (point, input_type)
- point.x += state.centerX - 630 # increments x and y
- point.y += state.centerY - 360
- findX = 0
- findY = 0
- increment = state.gridSize / state.lineQuantity # divides grid by number of separators
-
- state.gridX.map do # perform an action on every element of collection
- |x|
- # findX increments x by 10 if point.x is less than that sum and findX is currently 0
- findX = x + 10 if point.x < (x + 10) && findX == 0
- end
-
- state.gridY.map do
- |y|
- # findY is set to y if point.y is less than that value and findY is currently 0
- findY = y if point.y < (y) && findY == 0
- end
- # position of a box is denoted by bottom left corner, which is why the increment is being subtracted
- grid_box = [findX - (increment.ceil), findY - (increment.ceil), increment.ceil, increment.ceil,
- "sprites/image" + state.tileSelected.to_s + ".png"] # sets sprite definition
-
- if input_type == :click # if user clicks their mouse
- if state.filled_squares.include? grid_box # if grid box is already filled in
- state.filled_squares.delete grid_box # box is cleared and removed from filled_squares
- else
- state.filled_squares << grid_box # otherwise, box is filled in and added to filled_squares
- end
- elsif input_type == :drag # if user drags mouse
- unless state.filled_squares.include? grid_box # unless grid box dragged over is already filled in
- state.filled_squares << grid_box # box is filled in and added to filled_squares
- end
- end
- end
-
- # Creates a "Clear" button using labels and borders.
- def draw_buttons
- x, y, w, h = 390, 50, 240, 50
- state.clear_button ||= state.new_entity(:button_with_fade)
-
- # x and y positions are set to display "Clear" label in center of the button
- # Try changing first two parameters to simply x, y and see what happens to the text placement
- state.clear_button.label ||= [x + w.half, y + h.half + 10, "Clear", 0, 1]
- state.clear_button.border ||= [x, y, w, h] # definition of button's border
-
- # If the mouse is clicked inside the borders of the clear button
- if inputs.mouse.click && inputs.mouse.click.point.inside_rect?(state.clear_button.border)
- state.clear_button.clicked_at = inputs.mouse.click.created_at # value is frame of mouse click
- state.filled_squares.clear # filled squares collection is emptied (squares are cleared)
- inputs.mouse.previous_click = nil # no previous click
- end
-
- outputs.labels << state.clear_button.label # outputs clear button
- outputs.borders << state.clear_button.border
-
- # When the clear button is clicked, the color of the button changes
- # and the transparency changes, as well. If you change the time from
- # 0.25.seconds to 1.25.seconds or more, the change will last longer.
- if state.clear_button.clicked_at
- outputs.solids << [x, y, w, h, 0, 180, 80, 255 * state.clear_button.clicked_at.ease(0.25.seconds, :flip)]
- end
- end
-end
-
-$tile_editor = TileEditor.new
-
-def tick args
- $tile_editor.inputs = args.inputs
- $tile_editor.grid = args.grid
- $tile_editor.args = args
- $tile_editor.outputs = args.outputs
- $tile_editor.state = args.state
- $tile_editor.tick
- tick_instructions args, "Roll your own tile editor. CLICK to select a sprite. CLICK in grid to place sprite. WASD to move around."
-end
-
-def tick_instructions args, text, y = 715
- return if args.state.key_event_occurred
- if args.inputs.mouse.click ||
- args.inputs.keyboard.directional_vector ||
- args.inputs.keyboard.key_down.enter ||
- args.inputs.keyboard.key_down.escape
- args.state.key_event_occurred = true
- end
-
- args.outputs.debug << [0, y - 50, 1280, 60].solid
- args.outputs.debug << [640, y, text, 1, 1, 255, 255, 255].label
- args.outputs.debug << [640, y - 25, "(click to dismiss instructions)" , -2, 1, 255, 255, 255].label
-end
diff --git a/samples/05_mouse_move_tile_editor/app/repl.rb b/samples/05_mouse_move_tile_editor/app/repl.rb
deleted file mode 100644
index 9416675..0000000
--- a/samples/05_mouse_move_tile_editor/app/repl.rb
+++ /dev/null
@@ -1,2 +0,0 @@
-# save this file and this code will be run once
-puts 1 + 2
diff --git a/samples/05_mouse_move_tile_editor/app/tests.rb b/samples/05_mouse_move_tile_editor/app/tests.rb
deleted file mode 100644
index 925f321..0000000
--- a/samples/05_mouse_move_tile_editor/app/tests.rb
+++ /dev/null
@@ -1,24 +0,0 @@
-# For advanced users:
-# You can put some quick verification tests here, any method
-# that starts with the `test_` will be run when you save this file.
-
-# here is an example test and game
-
-class MySuperHappyFunGame
- attr_gtk
-
- def tick
- outputs.solids << [100, 100, 300, 300]
- end
-end
-
-def test_universe args, assert
- game = MySuperHappyFunGame.new
- game.args = args
- game.tick
- assert.true! args.outputs.solids.length == 1, "failure: a solid was not added after tick"
- assert.false! 1 == 2, "failure: some how, 1 equals 2, the world is ending"
- puts "test_universe completed successfully"
-end
-
-$gtk.tests.start
diff --git a/samples/05_mouse_move_tile_editor/license-for-sample.txt b/samples/05_mouse_move_tile_editor/license-for-sample.txt
deleted file mode 100644
index 5c0563d..0000000
--- a/samples/05_mouse_move_tile_editor/license-for-sample.txt
+++ /dev/null
@@ -1,21 +0,0 @@
-MIT License
-
-Copyright (c) 2019 DragonRuby LLC, Ananth Vivekanand, Sahil Jain
-
-Permission is hereby granted, free of charge, to any person obtaining a
-copy of this software and associated documentation files (the "Software"),
-to deal in the Software without restriction, including without limitation
-the rights to use, copy, modify, merge, publish, distribute, sublicense,
-and/or sell copies of the Software, and to permit persons to whom the
-Software is furnished to do so, subject to the following conditions:
-
-The above copyright notice and this permission notice shall be included in
-all copies or substantial portions of the Software.
-
-THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
-IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
-FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
-AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
-LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING
-FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER
-DEALINGS IN THE SOFTWARE.
diff --git a/samples/05_mouse_move_tile_editor/replay.txt b/samples/05_mouse_move_tile_editor/replay.txt
deleted file mode 100644
index 7321a9f..0000000
--- a/samples/05_mouse_move_tile_editor/replay.txt
+++ /dev/null
@@ -1,1035 +0,0 @@
-replay_version 2.0
-stopped_at 1811
-seed 100
-recorded_at Sun Sep 29 22:18:46 2019
-[:mouse_move, 902, 366, 2, 1, 50]
-[:mouse_move, 866, 338, 2, 2, 51]
-[:mouse_move, 851, 324, 2, 3, 52]
-[:mouse_move, 817, 291, 2, 4, 53]
-[:mouse_move, 781, 257, 2, 5, 54]
-[:mouse_move, 721, 201, 2, 6, 55]
-[:mouse_move, 649, 136, 2, 7, 56]
-[:mouse_move, 618, 110, 2, 8, 57]
-[:mouse_move, 607, 101, 2, 9, 58]
-[:mouse_move, 533, 50, 2, 10, 59]
-[:mouse_move, 505, 36, 2, 11, 60]
-[:mouse_move, 444, 14, 2, 12, 61]
-[:mouse_move, 421, 8, 2, 13, 62]
-[:mouse_move, 414, 7, 2, 14, 63]
-[:mouse_move, 402, 4, 2, 15, 64]
-[:mouse_move, 394, 3, 2, 16, 65]
-[:mouse_move, 381, 3, 2, 17, 66]
-[:mouse_move, 381, 5, 2, 18, 67]
-[:mouse_move, 380, 12, 2, 19, 68]
-[:mouse_move, 380, 15, 2, 20, 69]
-[:mouse_move, 380, 19, 2, 21, 70]
-[:mouse_move, 380, 21, 2, 22, 71]
-[:mouse_move, 380, 26, 2, 23, 72]
-[:mouse_move, 380, 28, 2, 24, 73]
-[:mouse_move, 376, 36, 2, 25, 74]
-[:mouse_move, 373, 43, 2, 26, 75]
-[:mouse_move, 367, 52, 2, 27, 76]
-[:mouse_move, 363, 57, 2, 28, 77]
-[:mouse_move, 357, 62, 2, 29, 78]
-[:mouse_move, 354, 65, 2, 30, 79]
-[:mouse_move, 349, 67, 2, 31, 80]
-[:mouse_move, 347, 67, 2, 32, 81]
-[:mouse_move, 342, 67, 2, 33, 82]
-[:mouse_move, 340, 67, 2, 34, 83]
-[:mouse_move, 337, 65, 2, 35, 84]
-[:mouse_move, 335, 64, 2, 36, 85]
-[:mouse_move, 331, 61, 2, 37, 86]
-[:mouse_move, 329, 60, 2, 38, 87]
-[:mouse_move, 326, 58, 2, 39, 88]
-[:mouse_move, 325, 57, 2, 40, 89]
-[:mouse_move, 324, 56, 2, 41, 90]
-[:mouse_move, 321, 55, 2, 42, 91]
-[:mouse_move, 320, 55, 2, 43, 93]
-[:mouse_move, 323, 55, 2, 44, 99]
-[:mouse_move, 327, 56, 2, 45, 100]
-[:mouse_move, 336, 57, 2, 46, 101]
-[:mouse_move, 343, 57, 2, 47, 102]
-[:mouse_move, 361, 59, 2, 48, 103]
-[:mouse_move, 375, 59, 2, 49, 105]
-[:mouse_move, 382, 59, 2, 50, 106]
-[:mouse_move, 393, 59, 2, 51, 107]
-[:mouse_move, 395, 59, 2, 52, 108]
-[:mouse_move, 403, 59, 2, 53, 109]
-[:mouse_move, 409, 59, 2, 54, 110]
-[:mouse_move, 416, 59, 2, 55, 111]
-[:mouse_move, 421, 58, 2, 56, 112]
-[:mouse_move, 428, 57, 2, 57, 113]
-[:mouse_move, 432, 57, 2, 58, 114]
-[:mouse_move, 442, 57, 2, 59, 115]
-[:mouse_move, 446, 57, 2, 60, 116]
-[:mouse_move, 450, 57, 2, 61, 117]
-[:mouse_move, 459, 57, 2, 62, 118]
-[:mouse_move, 463, 57, 2, 63, 119]
-[:mouse_move, 473, 57, 2, 64, 120]
-[:mouse_move, 478, 57, 2, 65, 121]
-[:mouse_move, 489, 57, 2, 66, 122]
-[:mouse_move, 502, 57, 2, 67, 123]
-[:mouse_move, 509, 57, 2, 68, 124]
-[:mouse_move, 516, 57, 2, 69, 125]
-[:mouse_move, 536, 57, 2, 70, 126]
-[:mouse_move, 546, 57, 2, 71, 127]
-[:mouse_move, 560, 57, 2, 72, 128]
-[:mouse_move, 576, 57, 2, 73, 129]
-[:mouse_move, 584, 58, 2, 74, 130]
-[:mouse_move, 592, 59, 2, 75, 131]
-[:mouse_move, 606, 60, 2, 76, 132]
-[:mouse_move, 613, 60, 2, 77, 133]
-[:mouse_move, 632, 60, 2, 78, 134]
-[:mouse_move, 640, 60, 2, 79, 135]
-[:mouse_move, 659, 60, 2, 80, 136]
-[:mouse_move, 669, 59, 2, 81, 137]
-[:mouse_move, 692, 56, 2, 82, 138]
-[:mouse_move, 697, 54, 2, 83, 139]
-[:mouse_move, 715, 52, 2, 84, 140]
-[:mouse_move, 724, 51, 2, 85, 141]
-[:mouse_move, 736, 50, 2, 86, 142]
-[:mouse_move, 738, 50, 2, 87, 143]
-[:mouse_move, 742, 50, 2, 88, 144]
-[:mouse_move, 749, 50, 2, 89, 145]
-[:mouse_move, 751, 50, 2, 90, 146]
-[:mouse_move, 757, 50, 2, 91, 147]
-[:mouse_move, 761, 51, 2, 92, 148]
-[:mouse_move, 765, 51, 2, 93, 149]
-[:mouse_move, 772, 51, 2, 94, 150]
-[:mouse_move, 775, 51, 2, 95, 151]
-[:mouse_move, 779, 51, 2, 96, 152]
-[:mouse_move, 788, 49, 2, 97, 153]
-[:mouse_move, 792, 49, 2, 98, 154]
-[:mouse_move, 801, 47, 2, 99, 155]
-[:mouse_move, 807, 47, 2, 100, 156]
-[:mouse_move, 819, 46, 2, 101, 157]
-[:mouse_move, 825, 46, 2, 102, 158]
-[:mouse_move, 837, 46, 2, 103, 159]
-[:mouse_move, 842, 47, 2, 104, 160]
-[:mouse_move, 853, 48, 2, 105, 161]
-[:mouse_move, 855, 48, 2, 106, 184]
-[:mouse_move, 857, 49, 2, 107, 185]
-[:mouse_move, 868, 54, 2, 108, 186]
-[:mouse_move, 884, 61, 2, 109, 187]
-[:mouse_move, 908, 70, 2, 110, 188]
-[:mouse_move, 915, 72, 2, 111, 189]
-[:mouse_move, 928, 75, 2, 112, 190]
-[:mouse_move, 934, 77, 2, 113, 191]
-[:mouse_move, 941, 78, 2, 114, 192]
-[:mouse_move, 943, 79, 2, 115, 193]
-[:mouse_move, 944, 79, 2, 116, 194]
-[:mouse_move, 942, 80, 2, 117, 215]
-[:mouse_move, 937, 80, 2, 118, 216]
-[:mouse_move, 895, 80, 2, 119, 217]
-[:mouse_move, 859, 80, 2, 120, 218]
-[:mouse_move, 753, 80, 2, 121, 219]
-[:mouse_move, 688, 80, 2, 122, 220]
-[:mouse_move, 559, 81, 2, 123, 221]
-[:mouse_move, 532, 83, 2, 124, 222]
-[:mouse_move, 480, 85, 2, 125, 223]
-[:mouse_move, 479, 85, 2, 126, 242]
-[:mouse_move, 474, 85, 2, 127, 243]
-[:mouse_move, 448, 85, 2, 128, 244]
-[:mouse_move, 431, 85, 2, 129, 245]
-[:mouse_move, 383, 87, 2, 130, 246]
-[:mouse_move, 352, 90, 2, 131, 247]
-[:mouse_move, 282, 98, 2, 132, 248]
-[:mouse_move, 244, 104, 2, 133, 249]
-[:mouse_move, 169, 123, 2, 134, 250]
-[:mouse_move, 136, 135, 2, 135, 251]
-[:mouse_move, 107, 151, 2, 136, 252]
-[:mouse_move, 74, 174, 2, 137, 253]
-[:mouse_move, 58, 190, 2, 138, 254]
-[:mouse_move, 35, 224, 2, 139, 255]
-[:mouse_move, 30, 240, 2, 140, 256]
-[:mouse_move, 26, 259, 2, 141, 257]
-[:mouse_move, 26, 262, 2, 142, 258]
-[:mouse_move, 24, 275, 2, 143, 259]
-[:mouse_move, 23, 279, 2, 144, 260]
-[:mouse_move, 22, 285, 2, 145, 261]
-[:mouse_move, 22, 287, 2, 146, 262]
-[:mouse_move, 21, 288, 2, 147, 263]
-[:mouse_move, 21, 289, 2, 148, 265]
-[:mouse_move, 20, 289, 2, 149, 266]
-[:mouse_move, 20, 287, 2, 150, 267]
-[:mouse_move, 21, 284, 2, 151, 268]
-[:mouse_move, 25, 277, 2, 152, 269]
-[:mouse_move, 28, 272, 2, 153, 270]
-[:mouse_move, 33, 264, 2, 154, 271]
-[:mouse_move, 36, 260, 2, 155, 272]
-[:mouse_move, 45, 245, 2, 156, 273]
-[:mouse_move, 48, 241, 2, 157, 274]
-[:mouse_move, 53, 231, 2, 158, 275]
-[:mouse_move, 56, 226, 2, 159, 276]
-[:mouse_move, 59, 220, 2, 160, 277]
-[:mouse_move, 60, 218, 2, 161, 278]
-[:mouse_move, 61, 216, 2, 162, 279]
-[:mouse_move, 60, 216, 2, 163, 283]
-[:mouse_move, 59, 216, 2, 164, 284]
-[:mouse_move, 57, 216, 2, 165, 286]
-[:mouse_move, 55, 215, 2, 166, 288]
-[:mouse_move, 54, 215, 2, 167, 289]
-[:mouse_move, 52, 215, 2, 168, 290]
-[:mouse_move, 51, 215, 2, 169, 291]
-[:mouse_move, 50, 215, 2, 170, 292]
-[:mouse_move, 50, 216, 2, 171, 293]
-[:mouse_move, 51, 219, 2, 172, 294]
-[:mouse_move, 54, 222, 2, 173, 295]
-[:mouse_move, 63, 228, 2, 174, 296]
-[:mouse_move, 72, 232, 2, 175, 297]
-[:mouse_move, 84, 234, 2, 176, 298]
-[:mouse_move, 92, 234, 2, 177, 299]
-[:mouse_move, 103, 230, 2, 178, 300]
-[:mouse_move, 112, 221, 2, 179, 301]
-[:mouse_move, 116, 210, 2, 180, 302]
-[:mouse_move, 118, 202, 2, 181, 303]
-[:mouse_move, 119, 189, 2, 182, 304]
-[:mouse_move, 119, 183, 2, 183, 305]
-[:mouse_move, 117, 171, 2, 184, 306]
-[:mouse_move, 110, 159, 2, 185, 307]
-[:mouse_move, 105, 154, 2, 186, 308]
-[:mouse_move, 95, 145, 2, 187, 309]
-[:mouse_move, 84, 139, 2, 188, 310]
-[:mouse_move, 76, 138, 2, 189, 311]
-[:mouse_move, 69, 137, 2, 190, 312]
-[:mouse_move, 51, 138, 2, 191, 313]
-[:mouse_move, 43, 143, 2, 192, 315]
-[:mouse_move, 39, 146, 2, 193, 316]
-[:mouse_move, 33, 154, 2, 194, 317]
-[:mouse_move, 33, 158, 2, 195, 318]
-[:mouse_move, 35, 173, 2, 196, 319]
-[:mouse_move, 39, 181, 2, 197, 321]
-[:mouse_move, 41, 185, 2, 198, 322]
-[:mouse_move, 45, 190, 2, 199, 323]
-[:mouse_move, 47, 191, 2, 200, 324]
-[:mouse_move, 50, 193, 2, 201, 325]
-[:mouse_move, 52, 193, 2, 202, 326]
-[:mouse_move, 54, 193, 2, 203, 327]
-[:mouse_move, 55, 192, 2, 204, 328]
-[:mouse_move, 56, 191, 2, 205, 329]
-[:mouse_move, 63, 194, 2, 206, 342]
-[:mouse_move, 69, 198, 2, 207, 343]
-[:mouse_move, 89, 208, 2, 208, 344]
-[:mouse_move, 98, 211, 2, 209, 345]
-[:mouse_move, 101, 212, 2, 210, 346]
-[:mouse_move, 108, 214, 2, 211, 347]
-[:mouse_move, 117, 215, 2, 212, 348]
-[:mouse_move, 119, 215, 2, 213, 349]
-[:mouse_move, 122, 214, 2, 214, 350]
-[:mouse_move, 123, 213, 2, 215, 351]
-[:mouse_move, 123, 210, 2, 216, 352]
-[:mouse_move, 123, 209, 2, 217, 353]
-[:mouse_move, 123, 207, 2, 218, 354]
-[:mouse_move, 122, 206, 2, 219, 355]
-[:mouse_move, 121, 205, 2, 220, 356]
-[:mouse_move, 120, 204, 2, 221, 357]
-[:mouse_move, 121, 204, 2, 222, 361]
-[:mouse_move, 125, 207, 2, 223, 362]
-[:mouse_move, 135, 212, 2, 224, 363]
-[:mouse_move, 142, 215, 2, 225, 364]
-[:mouse_move, 163, 219, 2, 226, 365]
-[:mouse_move, 169, 219, 2, 227, 366]
-[:mouse_move, 187, 220, 2, 228, 367]
-[:mouse_move, 194, 220, 2, 229, 368]
-[:mouse_move, 203, 214, 2, 230, 369]
-[:mouse_move, 206, 210, 2, 231, 370]
-[:mouse_move, 208, 203, 2, 232, 371]
-[:mouse_move, 209, 193, 2, 233, 372]
-[:mouse_move, 209, 187, 2, 234, 373]
-[:mouse_move, 209, 178, 2, 235, 374]
-[:mouse_move, 204, 168, 2, 236, 375]
-[:mouse_move, 200, 164, 2, 237, 376]
-[:mouse_move, 191, 157, 2, 238, 377]
-[:mouse_move, 182, 152, 2, 239, 378]
-[:mouse_move, 165, 151, 2, 240, 379]
-[:mouse_move, 157, 151, 2, 241, 380]
-[:mouse_move, 149, 151, 2, 242, 381]
-[:mouse_move, 144, 152, 2, 243, 382]
-[:mouse_move, 138, 154, 2, 244, 383]
-[:mouse_move, 136, 155, 2, 245, 384]
-[:mouse_move, 132, 160, 2, 246, 385]
-[:mouse_move, 132, 164, 2, 247, 386]
-[:mouse_move, 132, 176, 2, 248, 387]
-[:mouse_move, 134, 184, 2, 249, 388]
-[:mouse_move, 135, 188, 2, 250, 389]
-[:mouse_move, 138, 196, 2, 251, 390]
-[:mouse_move, 140, 199, 2, 252, 391]
-[:mouse_move, 142, 203, 2, 253, 392]
-[:mouse_move, 143, 204, 2, 254, 393]
-[:mouse_move, 144, 205, 2, 255, 394]
-[:mouse_move, 145, 205, 2, 256, 395]
-[:mouse_move, 145, 204, 2, 257, 397]
-[:mouse_move, 144, 204, 2, 258, 398]
-[:mouse_move, 144, 203, 2, 259, 399]
-[:mouse_move, 142, 203, 2, 260, 400]
-[:mouse_move, 141, 203, 2, 261, 401]
-[:mouse_move, 140, 203, 2, 262, 402]
-[:mouse_move, 139, 203, 2, 263, 403]
-[:mouse_move, 138, 204, 2, 264, 404]
-[:mouse_move, 137, 209, 2, 265, 405]
-[:mouse_move, 137, 215, 2, 266, 406]
-[:mouse_move, 137, 220, 2, 267, 407]
-[:mouse_move, 148, 233, 2, 268, 408]
-[:mouse_move, 155, 239, 2, 269, 409]
-[:mouse_move, 172, 247, 2, 270, 410]
-[:mouse_move, 181, 248, 2, 271, 411]
-[:mouse_move, 195, 249, 2, 272, 412]
-[:mouse_move, 205, 246, 2, 273, 413]
-[:mouse_move, 210, 244, 2, 274, 414]
-[:mouse_move, 214, 239, 2, 275, 415]
-[:mouse_move, 215, 238, 2, 276, 416]
-[:mouse_move, 216, 235, 2, 277, 417]
-[:mouse_move, 216, 233, 2, 278, 418]
-[:mouse_move, 215, 232, 2, 279, 419]
-[:mouse_move, 214, 231, 2, 280, 420]
-[:mouse_move, 212, 229, 2, 281, 421]
-[:mouse_move, 214, 228, 2, 282, 424]
-[:mouse_move, 228, 227, 2, 283, 425]
-[:mouse_move, 246, 224, 2, 284, 426]
-[:mouse_move, 251, 222, 2, 285, 427]
-[:mouse_move, 266, 212, 2, 286, 428]
-[:mouse_move, 270, 206, 2, 287, 429]
-[:mouse_move, 277, 196, 2, 288, 430]
-[:mouse_move, 277, 177, 2, 289, 431]
-[:mouse_move, 275, 170, 2, 290, 432]
-[:mouse_move, 262, 155, 2, 291, 433]
-[:mouse_move, 252, 150, 2, 292, 434]
-[:mouse_move, 232, 145, 2, 293, 435]
-[:mouse_move, 226, 145, 2, 294, 436]
-[:mouse_move, 209, 145, 2, 295, 437]
-[:mouse_move, 207, 145, 2, 296, 438]
-[:mouse_move, 200, 147, 2, 297, 439]
-[:mouse_move, 197, 148, 2, 298, 440]
-[:mouse_move, 194, 153, 2, 299, 441]
-[:mouse_move, 194, 157, 2, 300, 442]
-[:mouse_move, 194, 167, 2, 301, 443]
-[:mouse_move, 196, 173, 2, 302, 444]
-[:mouse_move, 198, 179, 2, 303, 445]
-[:mouse_move, 203, 190, 2, 304, 446]
-[:mouse_move, 206, 194, 2, 305, 447]
-[:mouse_move, 214, 201, 2, 306, 448]
-[:mouse_move, 219, 204, 2, 307, 449]
-[:mouse_move, 226, 206, 2, 308, 450]
-[:mouse_move, 229, 207, 2, 309, 451]
-[:mouse_move, 234, 208, 2, 310, 452]
-[:mouse_move, 235, 209, 2, 311, 453]
-[:mouse_move, 236, 209, 2, 312, 454]
-[:mouse_move, 227, 211, 2, 313, 456]
-[:mouse_move, 220, 214, 2, 314, 457]
-[:mouse_move, 190, 230, 2, 315, 458]
-[:mouse_move, 173, 240, 2, 316, 459]
-[:mouse_move, 128, 264, 2, 317, 460]
-[:mouse_move, 116, 269, 2, 318, 461]
-[:mouse_move, 90, 280, 2, 319, 462]
-[:mouse_move, 76, 285, 2, 320, 463]
-[:mouse_move, 70, 287, 2, 321, 464]
-[:mouse_move, 66, 288, 2, 322, 465]
-[:mouse_move, 63, 289, 2, 323, 466]
-[:mouse_move, 63, 290, 2, 324, 468]
-[:mouse_move, 63, 292, 2, 325, 469]
-[:mouse_move, 63, 293, 2, 326, 470]
-[:mouse_move, 64, 295, 2, 327, 471]
-[:mouse_move, 65, 297, 2, 328, 472]
-[:mouse_move, 66, 299, 2, 329, 473]
-[:mouse_move, 66, 301, 2, 330, 475]
-[:mouse_move, 65, 301, 2, 331, 476]
-[:mouse_move, 63, 302, 2, 332, 477]
-[:mouse_move, 62, 302, 2, 333, 478]
-[:mouse_move, 60, 302, 2, 334, 479]
-[:mouse_move, 59, 302, 2, 335, 481]
-[:mouse_move, 60, 302, 2, 336, 485]
-[:mouse_move, 62, 302, 2, 337, 486]
-[:mouse_move, 73, 302, 2, 338, 487]
-[:mouse_move, 82, 303, 2, 339, 488]
-[:mouse_move, 107, 303, 2, 340, 489]
-[:mouse_move, 135, 303, 2, 341, 490]
-[:mouse_move, 164, 303, 2, 342, 491]
-[:mouse_move, 170, 303, 2, 343, 492]
-[:mouse_move, 197, 303, 2, 344, 493]
-[:mouse_move, 208, 303, 2, 345, 494]
-[:mouse_move, 222, 303, 2, 346, 495]
-[:mouse_move, 228, 303, 2, 347, 496]
-[:mouse_move, 237, 303, 2, 348, 497]
-[:mouse_move, 238, 304, 2, 349, 498]
-[:mouse_move, 240, 304, 2, 350, 499]
-[:mouse_move, 243, 305, 2, 351, 500]
-[:mouse_move, 244, 305, 2, 352, 501]
-[:mouse_move, 245, 305, 2, 353, 502]
-[:mouse_move, 248, 305, 2, 354, 518]
-[:mouse_move, 294, 315, 2, 355, 519]
-[:mouse_move, 334, 324, 2, 356, 520]
-[:mouse_move, 418, 344, 2, 357, 521]
-[:mouse_move, 625, 383, 2, 358, 522]
-[:mouse_move, 732, 394, 2, 359, 523]
-[:mouse_move, 881, 397, 2, 360, 524]
-[:mouse_move, 1037, 378, 2, 361, 525]
-[:mouse_move, 1062, 374, 2, 362, 526]
-[:mouse_move, 1118, 361, 2, 363, 527]
-[:mouse_move, 1128, 359, 2, 364, 528]
-[:mouse_move, 1134, 358, 2, 365, 529]
-[:mouse_move, 1149, 355, 2, 366, 530]
-[:mouse_move, 1163, 350, 2, 367, 531]
-[:mouse_move, 1166, 350, 2, 368, 532]
-[:mouse_move, 1170, 348, 2, 369, 533]
-[:mouse_move, 1171, 348, 2, 370, 534]
-[:mouse_move, 1173, 344, 2, 371, 535]
-[:mouse_move, 1175, 341, 2, 372, 536]
-[:mouse_move, 1179, 325, 2, 373, 537]
-[:mouse_move, 1180, 316, 2, 374, 538]
-[:mouse_move, 1182, 306, 2, 375, 539]
-[:mouse_move, 1182, 300, 2, 376, 540]
-[:mouse_move, 1184, 287, 2, 377, 541]
-[:mouse_move, 1184, 283, 2, 378, 542]
-[:mouse_move, 1174, 271, 2, 379, 543]
-[:mouse_move, 1163, 266, 2, 380, 544]
-[:mouse_move, 1137, 257, 2, 381, 545]
-[:mouse_move, 1129, 254, 2, 382, 546]
-[:mouse_move, 1113, 250, 2, 383, 547]
-[:mouse_move, 1105, 247, 2, 384, 548]
-[:mouse_move, 1096, 245, 2, 385, 549]
-[:mouse_move, 1093, 245, 2, 386, 550]
-[:mouse_move, 1089, 245, 2, 387, 551]
-[:mouse_move, 1088, 247, 2, 388, 552]
-[:mouse_move, 1088, 253, 2, 389, 553]
-[:mouse_move, 1089, 272, 2, 390, 554]
-[:mouse_move, 1094, 283, 2, 391, 555]
-[:mouse_move, 1103, 298, 2, 392, 556]
-[:mouse_move, 1109, 305, 2, 393, 557]
-[:mouse_move, 1130, 320, 2, 394, 558]
-[:mouse_move, 1139, 321, 2, 395, 559]
-[:mouse_move, 1160, 319, 2, 396, 560]
-[:mouse_move, 1172, 313, 2, 397, 561]
-[:mouse_move, 1192, 290, 2, 398, 562]
-[:mouse_move, 1200, 277, 2, 399, 563]
-[:mouse_move, 1208, 250, 2, 400, 564]
-[:mouse_move, 1208, 238, 2, 401, 565]
-[:mouse_move, 1200, 216, 2, 402, 566]
-[:mouse_move, 1190, 207, 2, 403, 567]
-[:mouse_move, 1167, 193, 2, 404, 568]
-[:mouse_move, 1161, 190, 2, 405, 569]
-[:mouse_move, 1140, 183, 2, 406, 570]
-[:mouse_move, 1130, 181, 2, 407, 571]
-[:mouse_move, 1113, 179, 2, 408, 572]
-[:mouse_move, 1104, 179, 2, 409, 573]
-[:mouse_move, 1092, 179, 2, 410, 574]
-[:mouse_move, 1089, 180, 2, 411, 575]
-[:mouse_move, 1080, 191, 2, 412, 576]
-[:mouse_move, 1078, 199, 2, 413, 577]
-[:mouse_move, 1077, 218, 2, 414, 578]
-[:mouse_move, 1077, 229, 2, 415, 579]
-[:mouse_move, 1081, 241, 2, 416, 580]
-[:mouse_move, 1102, 275, 2, 417, 581]
-[:mouse_move, 1118, 288, 2, 418, 582]
-[:mouse_move, 1144, 303, 2, 419, 583]
-[:mouse_move, 1161, 310, 2, 420, 584]
-[:mouse_move, 1180, 313, 2, 421, 585]
-[:mouse_move, 1189, 313, 2, 422, 586]
-[:mouse_move, 1201, 310, 2, 423, 587]
-[:mouse_move, 1201, 306, 2, 424, 588]
-[:mouse_move, 1188, 288, 2, 425, 589]
-[:mouse_move, 1157, 271, 2, 426, 590]
-[:mouse_move, 1080, 255, 2, 427, 591]
-[:mouse_move, 1023, 251, 2, 428, 592]
-[:mouse_move, 899, 251, 2, 429, 593]
-[:mouse_move, 837, 254, 2, 430, 594]
-[:mouse_move, 793, 258, 2, 431, 595]
-[:mouse_move, 757, 262, 2, 432, 596]
-[:mouse_move, 741, 264, 2, 433, 597]
-[:mouse_move, 712, 269, 2, 434, 598]
-[:mouse_move, 705, 270, 2, 435, 610]
-[:mouse_move, 693, 273, 2, 436, 611]
-[:mouse_move, 666, 283, 2, 437, 612]
-[:mouse_move, 655, 286, 2, 438, 613]
-[:mouse_move, 638, 291, 2, 439, 614]
-[:mouse_move, 632, 292, 2, 440, 615]
-[:mouse_move, 618, 294, 2, 441, 616]
-[:mouse_move, 612, 294, 2, 442, 617]
-[:mouse_move, 605, 291, 2, 443, 618]
-[:mouse_move, 605, 290, 2, 444, 619]
-[:mouse_move, 603, 286, 2, 445, 620]
-[:mouse_move, 603, 285, 2, 446, 621]
-[:mouse_move, 603, 282, 2, 447, 622]
-[:mouse_move, 603, 281, 2, 448, 623]
-[:mouse_move, 604, 279, 2, 449, 624]
-[:mouse_move, 605, 278, 2, 450, 625]
-[:mouse_move, 609, 277, 2, 451, 626]
-[:mouse_move, 610, 277, 2, 452, 627]
-[:mouse_move, 612, 276, 2, 453, 628]
-[:mouse_move, 613, 275, 2, 454, 629]
-[:mouse_move, 614, 275, 2, 455, 630]
-[:mouse_move, 614, 274, 2, 456, 635]
-[:mouse_move, 614, 273, 2, 457, 637]
-[:mouse_move, 614, 272, 2, 458, 638]
-[:mouse_move, 614, 270, 2, 459, 639]
-[:mouse_move, 614, 269, 2, 460, 640]
-[:mouse_move, 614, 266, 2, 461, 641]
-[:mouse_move, 614, 265, 2, 462, 642]
-[:mouse_move, 613, 263, 2, 463, 643]
-[:mouse_move, 613, 261, 2, 464, 644]
-[:mouse_move, 613, 259, 2, 465, 645]
-[:mouse_move, 613, 258, 2, 466, 646]
-[:mouse_move, 614, 256, 2, 467, 647]
-[:mouse_move, 615, 254, 2, 468, 648]
-[:mouse_move, 617, 252, 2, 469, 649]
-[:mouse_move, 617, 251, 2, 470, 650]
-[:mouse_move, 618, 249, 2, 471, 651]
-[:mouse_move, 619, 249, 2, 472, 652]
-[:mouse_move, 619, 248, 2, 473, 654]
-[:mouse_button_pressed, 1, 0, 1, 474, 662]
-[:mouse_button_up, 1, 0, 1, 475, 668]
-[:mouse_move, 619, 249, 2, 476, 714]
-[:mouse_move, 619, 251, 2, 477, 715]
-[:mouse_move, 619, 254, 2, 478, 716]
-[:mouse_move, 619, 256, 2, 479, 717]
-[:mouse_move, 619, 259, 2, 480, 718]
-[:mouse_move, 619, 261, 2, 481, 719]
-[:mouse_move, 619, 264, 2, 482, 720]
-[:mouse_move, 619, 267, 2, 483, 721]
-[:mouse_move, 620, 272, 2, 484, 722]
-[:mouse_move, 620, 273, 2, 485, 723]
-[:mouse_move, 622, 277, 2, 486, 724]
-[:mouse_move, 622, 278, 2, 487, 725]
-[:mouse_move, 622, 279, 2, 488, 726]
-[:mouse_move, 623, 279, 2, 489, 727]
-[:mouse_move, 623, 280, 2, 490, 728]
-[:mouse_button_pressed, 1, 0, 1, 491, 747]
-[:mouse_move, 623, 281, 2, 492, 747]
-[:mouse_move, 623, 283, 2, 493, 748]
-[:mouse_move, 623, 290, 2, 494, 749]
-[:mouse_move, 622, 295, 2, 495, 750]
-[:mouse_move, 622, 302, 2, 496, 751]
-[:mouse_move, 621, 305, 2, 497, 752]
-[:mouse_move, 621, 311, 2, 498, 753]
-[:mouse_move, 621, 314, 2, 499, 754]
-[:mouse_move, 620, 322, 2, 500, 755]
-[:mouse_move, 620, 326, 2, 501, 756]
-[:mouse_move, 619, 334, 2, 502, 757]
-[:mouse_move, 619, 339, 2, 503, 758]
-[:mouse_move, 618, 350, 2, 504, 759]
-[:mouse_move, 618, 356, 2, 505, 760]
-[:mouse_move, 618, 368, 2, 506, 761]
-[:mouse_move, 618, 372, 2, 507, 762]
-[:mouse_move, 617, 381, 2, 508, 763]
-[:mouse_move, 617, 384, 2, 509, 764]
-[:mouse_move, 617, 389, 2, 510, 765]
-[:mouse_move, 617, 391, 2, 511, 766]
-[:mouse_move, 617, 393, 2, 512, 767]
-[:mouse_move, 617, 394, 2, 513, 768]
-[:mouse_move, 617, 395, 2, 514, 769]
-[:mouse_move, 617, 397, 2, 515, 770]
-[:mouse_move, 616, 398, 2, 516, 771]
-[:mouse_move, 616, 400, 2, 517, 772]
-[:mouse_move, 616, 401, 2, 518, 773]
-[:mouse_move, 616, 403, 2, 519, 774]
-[:mouse_move, 616, 404, 2, 520, 775]
-[:mouse_move, 616, 405, 2, 521, 776]
-[:mouse_move, 616, 406, 2, 522, 778]
-[:mouse_move, 615, 406, 2, 523, 779]
-[:mouse_move, 615, 407, 2, 524, 782]
-[:mouse_move, 616, 407, 2, 525, 789]
-[:mouse_move, 617, 407, 2, 526, 790]
-[:mouse_move, 618, 407, 2, 527, 793]
-[:mouse_move, 620, 407, 2, 528, 794]
-[:mouse_move, 621, 406, 2, 529, 795]
-[:mouse_move, 623, 406, 2, 530, 796]
-[:mouse_move, 627, 406, 2, 531, 797]
-[:mouse_move, 628, 406, 2, 532, 798]
-[:mouse_move, 634, 407, 2, 533, 799]
-[:mouse_move, 635, 407, 2, 534, 800]
-[:mouse_move, 639, 408, 2, 535, 801]
-[:mouse_move, 642, 408, 2, 536, 802]
-[:mouse_move, 648, 409, 2, 537, 803]
-[:mouse_move, 650, 409, 2, 538, 804]
-[:mouse_move, 655, 408, 2, 539, 805]
-[:mouse_move, 657, 408, 2, 540, 806]
-[:mouse_move, 662, 407, 2, 541, 807]
-[:mouse_move, 664, 407, 2, 542, 808]
-[:mouse_move, 669, 407, 2, 543, 809]
-[:mouse_move, 672, 407, 2, 544, 810]
-[:mouse_move, 677, 407, 2, 545, 811]
-[:mouse_move, 681, 407, 2, 546, 812]
-[:mouse_move, 687, 407, 2, 547, 813]
-[:mouse_move, 689, 407, 2, 548, 814]
-[:mouse_move, 694, 407, 2, 549, 815]
-[:mouse_move, 697, 407, 2, 550, 816]
-[:mouse_move, 704, 407, 2, 551, 817]
-[:mouse_move, 707, 407, 2, 552, 818]
-[:mouse_move, 712, 406, 2, 553, 819]
-[:mouse_move, 715, 406, 2, 554, 820]
-[:mouse_move, 719, 406, 2, 555, 821]
-[:mouse_move, 722, 405, 2, 556, 822]
-[:mouse_move, 724, 405, 2, 557, 823]
-[:mouse_move, 728, 405, 2, 558, 824]
-[:mouse_move, 730, 405, 2, 559, 825]
-[:mouse_move, 734, 405, 2, 560, 826]
-[:mouse_move, 736, 405, 2, 561, 827]
-[:mouse_move, 740, 405, 2, 562, 828]
-[:mouse_move, 741, 405, 2, 563, 829]
-[:mouse_move, 744, 405, 2, 564, 830]
-[:mouse_move, 746, 405, 2, 565, 831]
-[:mouse_move, 748, 405, 2, 566, 832]
-[:mouse_move, 750, 405, 2, 567, 833]
-[:mouse_move, 752, 404, 2, 568, 834]
-[:mouse_move, 753, 404, 2, 569, 835]
-[:mouse_move, 754, 404, 2, 570, 836]
-[:mouse_move, 755, 404, 2, 571, 837]
-[:mouse_move, 756, 404, 2, 572, 839]
-[:mouse_move, 757, 403, 2, 573, 840]
-[:mouse_move, 758, 403, 2, 574, 841]
-[:mouse_move, 759, 403, 2, 575, 842]
-[:mouse_move, 760, 403, 2, 576, 845]
-[:mouse_move, 759, 403, 2, 577, 848]
-[:mouse_move, 758, 403, 2, 578, 850]
-[:mouse_move, 757, 403, 2, 579, 851]
-[:mouse_button_up, 1, 0, 1, 580, 865]
-[:mouse_move, 742, 394, 2, 581, 866]
-[:mouse_move, 685, 363, 2, 582, 867]
-[:mouse_move, 647, 347, 2, 583, 868]
-[:mouse_move, 554, 310, 2, 584, 869]
-[:mouse_move, 536, 303, 2, 585, 870]
-[:mouse_move, 466, 279, 2, 586, 871]
-[:mouse_move, 454, 276, 2, 587, 872]
-[:mouse_move, 408, 261, 2, 588, 873]
-[:mouse_move, 388, 255, 2, 589, 874]
-[:mouse_move, 366, 247, 2, 590, 875]
-[:mouse_move, 353, 243, 2, 591, 876]
-[:mouse_move, 336, 234, 2, 592, 877]
-[:mouse_move, 329, 230, 2, 593, 878]
-[:mouse_move, 322, 226, 2, 594, 879]
-[:mouse_move, 319, 224, 2, 595, 880]
-[:mouse_move, 317, 222, 2, 596, 881]
-[:mouse_move, 311, 219, 2, 597, 882]
-[:mouse_move, 308, 218, 2, 598, 883]
-[:mouse_move, 299, 215, 2, 599, 884]
-[:mouse_move, 292, 212, 2, 600, 885]
-[:mouse_move, 281, 208, 2, 601, 886]
-[:mouse_move, 274, 206, 2, 602, 887]
-[:mouse_move, 266, 203, 2, 603, 888]
-[:mouse_move, 261, 202, 2, 604, 889]
-[:mouse_move, 255, 200, 2, 605, 890]
-[:mouse_move, 253, 199, 2, 606, 891]
-[:mouse_move, 250, 198, 2, 607, 892]
-[:mouse_move, 248, 197, 2, 608, 893]
-[:mouse_move, 246, 197, 2, 609, 894]
-[:mouse_move, 244, 197, 2, 610, 895]
-[:mouse_move, 242, 197, 2, 611, 896]
-[:mouse_move, 241, 196, 2, 612, 898]
-[:mouse_move, 240, 196, 2, 613, 899]
-[:mouse_move, 239, 196, 2, 614, 900]
-[:mouse_move, 238, 196, 2, 615, 904]
-[:mouse_button_pressed, 1, 0, 1, 616, 905]
-[:mouse_button_up, 1, 0, 1, 617, 911]
-[:mouse_move, 239, 196, 2, 618, 917]
-[:mouse_move, 242, 196, 2, 619, 918]
-[:mouse_move, 257, 199, 2, 620, 919]
-[:mouse_move, 264, 202, 2, 621, 920]
-[:mouse_move, 303, 216, 2, 622, 921]
-[:mouse_move, 323, 223, 2, 623, 922]
-[:mouse_move, 414, 252, 2, 624, 923]
-[:mouse_move, 459, 266, 2, 625, 924]
-[:mouse_move, 532, 284, 2, 626, 925]
-[:mouse_move, 549, 289, 2, 627, 926]
-[:mouse_move, 592, 298, 2, 628, 927]
-[:mouse_move, 612, 302, 2, 629, 928]
-[:mouse_move, 632, 305, 2, 630, 929]
-[:mouse_move, 641, 308, 2, 631, 930]
-[:mouse_move, 651, 309, 2, 632, 931]
-[:mouse_move, 653, 310, 2, 633, 932]
-[:mouse_move, 655, 310, 2, 634, 933]
-[:mouse_move, 658, 311, 2, 635, 934]
-[:mouse_move, 661, 311, 2, 636, 935]
-[:mouse_move, 665, 312, 2, 637, 936]
-[:mouse_move, 669, 313, 2, 638, 937]
-[:mouse_move, 677, 315, 2, 639, 938]
-[:mouse_move, 681, 316, 2, 640, 939]
-[:mouse_move, 695, 317, 2, 641, 940]
-[:mouse_move, 701, 318, 2, 642, 941]
-[:mouse_move, 712, 319, 2, 643, 942]
-[:mouse_move, 714, 320, 2, 644, 943]
-[:mouse_move, 720, 321, 2, 645, 944]
-[:mouse_move, 721, 321, 2, 646, 945]
-[:mouse_move, 723, 321, 2, 647, 946]
-[:key_down_raw, 100, 0, 2, 648, 953]
-[:key_up_raw, 100, 0, 2, 649, 962]
-[:mouse_move, 722, 321, 2, 650, 967]
-[:mouse_move, 720, 320, 2, 651, 969]
-[:mouse_move, 720, 319, 2, 652, 971]
-[:mouse_move, 719, 319, 2, 653, 972]
-[:mouse_move, 719, 318, 2, 654, 973]
-[:mouse_move, 718, 318, 2, 655, 979]
-[:key_down_raw, 100, 0, 2, 656, 992]
-[:mouse_move, 716, 318, 2, 657, 1015]
-[:mouse_move, 711, 317, 2, 658, 1016]
-[:key_up_raw, 100, 0, 2, 659, 1016]
-[:mouse_move, 692, 310, 2, 660, 1017]
-[:mouse_move, 678, 304, 2, 661, 1018]
-[:mouse_move, 639, 290, 2, 662, 1019]
-[:mouse_move, 618, 283, 2, 663, 1020]
-[:mouse_move, 587, 273, 2, 664, 1021]
-[:mouse_move, 567, 267, 2, 665, 1022]
-[:mouse_move, 541, 258, 2, 666, 1023]
-[:mouse_move, 529, 254, 2, 667, 1024]
-[:mouse_move, 517, 250, 2, 668, 1025]
-[:mouse_move, 512, 248, 2, 669, 1026]
-[:mouse_move, 505, 245, 2, 670, 1027]
-[:mouse_move, 503, 244, 2, 671, 1028]
-[:mouse_move, 501, 243, 2, 672, 1029]
-[:mouse_move, 500, 243, 2, 673, 1030]
-[:mouse_move, 500, 242, 2, 674, 1033]
-[:mouse_move, 499, 242, 2, 675, 1034]
-[:mouse_move, 498, 242, 2, 676, 1037]
-[:mouse_move, 502, 241, 2, 677, 1042]
-[:mouse_move, 505, 241, 2, 678, 1043]
-[:mouse_move, 511, 241, 2, 679, 1044]
-[:mouse_move, 514, 241, 2, 680, 1045]
-[:mouse_move, 519, 242, 2, 681, 1046]
-[:mouse_move, 520, 242, 2, 682, 1047]
-[:mouse_move, 522, 242, 2, 683, 1048]
-[:mouse_move, 523, 242, 2, 684, 1050]
-[:mouse_move, 524, 241, 2, 685, 1061]
-[:mouse_move, 526, 238, 2, 686, 1062]
-[:mouse_move, 527, 237, 2, 687, 1063]
-[:mouse_move, 529, 236, 2, 688, 1064]
-[:mouse_move, 530, 236, 2, 689, 1065]
-[:mouse_move, 531, 235, 2, 690, 1066]
-[:mouse_move, 531, 236, 2, 691, 1070]
-[:mouse_move, 531, 237, 2, 692, 1073]
-[:mouse_move, 531, 238, 2, 693, 1081]
-[:mouse_move, 531, 239, 2, 694, 1085]
-[:mouse_button_pressed, 1, 0, 1, 695, 1104]
-[:mouse_move, 534, 239, 2, 696, 1104]
-[:mouse_move, 539, 239, 2, 697, 1105]
-[:mouse_move, 548, 239, 2, 698, 1106]
-[:mouse_move, 554, 239, 2, 699, 1107]
-[:mouse_move, 566, 239, 2, 700, 1108]
-[:mouse_move, 571, 239, 2, 701, 1109]
-[:mouse_move, 584, 240, 2, 702, 1110]
-[:mouse_move, 589, 240, 2, 703, 1111]
-[:mouse_move, 600, 242, 2, 704, 1112]
-[:mouse_move, 605, 242, 2, 705, 1113]
-[:mouse_move, 614, 243, 2, 706, 1114]
-[:mouse_move, 616, 243, 2, 707, 1115]
-[:mouse_move, 626, 244, 2, 708, 1116]
-[:mouse_move, 629, 244, 2, 709, 1117]
-[:mouse_move, 637, 244, 2, 710, 1118]
-[:mouse_move, 640, 244, 2, 711, 1119]
-[:mouse_move, 647, 244, 2, 712, 1120]
-[:mouse_move, 650, 245, 2, 713, 1121]
-[:mouse_move, 654, 245, 2, 714, 1122]
-[:mouse_move, 661, 245, 2, 715, 1123]
-[:mouse_move, 665, 245, 2, 716, 1124]
-[:mouse_move, 672, 245, 2, 717, 1125]
-[:mouse_move, 676, 246, 2, 718, 1126]
-[:mouse_move, 684, 246, 2, 719, 1127]
-[:mouse_move, 688, 246, 2, 720, 1128]
-[:mouse_move, 696, 246, 2, 721, 1129]
-[:mouse_move, 700, 246, 2, 722, 1130]
-[:mouse_move, 704, 247, 2, 723, 1131]
-[:mouse_move, 711, 247, 2, 724, 1132]
-[:mouse_move, 717, 247, 2, 725, 1133]
-[:mouse_move, 718, 247, 2, 726, 1134]
-[:mouse_move, 721, 247, 2, 727, 1135]
-[:mouse_move, 722, 248, 2, 728, 1137]
-[:mouse_move, 720, 252, 2, 729, 1141]
-[:mouse_move, 719, 254, 2, 730, 1142]
-[:mouse_move, 715, 264, 2, 731, 1143]
-[:mouse_move, 712, 270, 2, 732, 1144]
-[:mouse_move, 707, 282, 2, 733, 1145]
-[:mouse_move, 705, 286, 2, 734, 1146]
-[:mouse_move, 701, 294, 2, 735, 1147]
-[:mouse_move, 700, 297, 2, 736, 1148]
-[:mouse_move, 698, 305, 2, 737, 1149]
-[:mouse_move, 698, 308, 2, 738, 1150]
-[:mouse_move, 697, 312, 2, 739, 1151]
-[:mouse_move, 696, 317, 2, 740, 1152]
-[:mouse_move, 696, 320, 2, 741, 1153]
-[:mouse_move, 695, 327, 2, 742, 1154]
-[:mouse_move, 695, 331, 2, 743, 1155]
-[:mouse_move, 695, 338, 2, 744, 1156]
-[:mouse_move, 695, 342, 2, 745, 1157]
-[:mouse_move, 695, 351, 2, 746, 1158]
-[:mouse_move, 695, 356, 2, 747, 1159]
-[:mouse_move, 696, 365, 2, 748, 1160]
-[:mouse_move, 696, 368, 2, 749, 1161]
-[:mouse_move, 696, 374, 2, 750, 1162]
-[:mouse_move, 696, 377, 2, 751, 1163]
-[:mouse_move, 697, 380, 2, 752, 1164]
-[:mouse_move, 697, 383, 2, 753, 1165]
-[:mouse_move, 697, 386, 2, 754, 1166]
-[:mouse_move, 697, 388, 2, 755, 1167]
-[:mouse_move, 697, 391, 2, 756, 1168]
-[:mouse_move, 697, 393, 2, 757, 1169]
-[:mouse_move, 697, 397, 2, 758, 1170]
-[:mouse_move, 697, 399, 2, 759, 1171]
-[:mouse_move, 697, 403, 2, 760, 1172]
-[:mouse_move, 697, 406, 2, 761, 1173]
-[:mouse_move, 697, 411, 2, 762, 1174]
-[:mouse_move, 697, 413, 2, 763, 1175]
-[:mouse_move, 697, 418, 2, 764, 1176]
-[:mouse_move, 697, 420, 2, 765, 1177]
-[:mouse_move, 697, 423, 2, 766, 1178]
-[:mouse_move, 697, 426, 2, 767, 1179]
-[:mouse_move, 697, 428, 2, 768, 1180]
-[:mouse_move, 698, 434, 2, 769, 1181]
-[:mouse_move, 698, 437, 2, 770, 1182]
-[:mouse_move, 698, 442, 2, 771, 1183]
-[:mouse_move, 698, 444, 2, 772, 1184]
-[:mouse_move, 698, 448, 2, 773, 1185]
-[:mouse_move, 698, 449, 2, 774, 1186]
-[:mouse_move, 698, 452, 2, 775, 1187]
-[:mouse_move, 698, 453, 2, 776, 1189]
-[:mouse_move, 698, 454, 2, 777, 1190]
-[:mouse_move, 698, 455, 2, 778, 1191]
-[:mouse_move, 695, 456, 2, 779, 1193]
-[:mouse_move, 692, 456, 2, 780, 1194]
-[:mouse_move, 687, 457, 2, 781, 1195]
-[:mouse_move, 685, 457, 2, 782, 1196]
-[:mouse_move, 678, 458, 2, 783, 1197]
-[:mouse_move, 674, 458, 2, 784, 1198]
-[:mouse_move, 662, 459, 2, 785, 1199]
-[:mouse_move, 653, 459, 2, 786, 1200]
-[:mouse_move, 632, 459, 2, 787, 1201]
-[:mouse_move, 626, 459, 2, 788, 1202]
-[:mouse_move, 610, 460, 2, 789, 1203]
-[:mouse_move, 601, 461, 2, 790, 1204]
-[:mouse_move, 596, 461, 2, 791, 1205]
-[:mouse_move, 585, 462, 2, 792, 1206]
-[:mouse_move, 578, 463, 2, 793, 1207]
-[:mouse_move, 568, 463, 2, 794, 1208]
-[:mouse_move, 561, 464, 2, 795, 1209]
-[:mouse_move, 542, 464, 2, 796, 1210]
-[:mouse_move, 536, 464, 2, 797, 1211]
-[:mouse_move, 524, 464, 2, 798, 1212]
-[:mouse_move, 522, 464, 2, 799, 1213]
-[:mouse_move, 513, 464, 2, 800, 1214]
-[:mouse_move, 509, 464, 2, 801, 1215]
-[:mouse_move, 502, 462, 2, 802, 1216]
-[:mouse_move, 499, 461, 2, 803, 1217]
-[:mouse_move, 492, 460, 2, 804, 1218]
-[:mouse_move, 491, 460, 2, 805, 1219]
-[:mouse_move, 487, 459, 2, 806, 1220]
-[:mouse_move, 486, 459, 2, 807, 1221]
-[:mouse_move, 484, 459, 2, 808, 1222]
-[:mouse_move, 483, 459, 2, 809, 1223]
-[:mouse_move, 482, 459, 2, 810, 1225]
-[:mouse_button_up, 1, 0, 1, 811, 1245]
-[:mouse_move, 488, 459, 2, 812, 1246]
-[:mouse_move, 500, 457, 2, 813, 1247]
-[:mouse_move, 505, 453, 2, 814, 1248]
-[:mouse_move, 531, 432, 2, 815, 1249]
-[:mouse_move, 544, 414, 2, 816, 1250]
-[:mouse_move, 570, 363, 2, 817, 1251]
-[:mouse_move, 584, 331, 2, 818, 1252]
-[:mouse_move, 603, 287, 2, 819, 1253]
-[:mouse_move, 615, 264, 2, 820, 1254]
-[:mouse_move, 628, 239, 2, 821, 1255]
-[:mouse_move, 634, 227, 2, 822, 1256]
-[:mouse_move, 641, 217, 2, 823, 1257]
-[:mouse_move, 644, 213, 2, 824, 1258]
-[:mouse_move, 647, 208, 2, 825, 1259]
-[:key_down_raw, 119, 0, 2, 826, 1259]
-[:mouse_move, 648, 208, 2, 827, 1260]
-[:mouse_move, 648, 207, 2, 828, 1261]
-[:mouse_move, 649, 207, 2, 829, 1262]
-[:key_down_raw, 119, 0, 2, 830, 1284]
-[:key_down_raw, 119, 0, 2, 831, 1286]
-[:key_down_raw, 119, 0, 2, 832, 1288]
-[:key_down_raw, 119, 0, 2, 833, 1290]
-[:mouse_move, 648, 208, 2, 834, 1292]
-[:key_down_raw, 119, 0, 2, 835, 1292]
-[:mouse_move, 647, 209, 2, 836, 1292]
-[:mouse_move, 646, 212, 2, 837, 1293]
-[:mouse_move, 642, 218, 2, 838, 1294]
-[:key_down_raw, 119, 0, 2, 839, 1294]
-[:mouse_move, 636, 223, 2, 840, 1294]
-[:mouse_move, 626, 235, 2, 841, 1295]
-[:mouse_move, 615, 246, 2, 842, 1296]
-[:key_down_raw, 119, 0, 2, 843, 1296]
-[:mouse_move, 600, 259, 2, 844, 1296]
-[:mouse_move, 583, 273, 2, 845, 1297]
-[:mouse_move, 561, 289, 2, 846, 1298]
-[:key_down_raw, 119, 0, 2, 847, 1299]
-[:mouse_move, 507, 322, 2, 848, 1299]
-[:mouse_move, 452, 346, 2, 849, 1300]
-[:key_down_raw, 119, 0, 2, 850, 1300]
-[:mouse_move, 434, 351, 2, 851, 1300]
-[:mouse_move, 399, 361, 2, 852, 1301]
-[:mouse_move, 365, 369, 2, 853, 1302]
-[:key_down_raw, 119, 0, 2, 854, 1303]
-[:mouse_move, 325, 373, 2, 855, 1303]
-[:mouse_move, 301, 374, 2, 856, 1304]
-[:key_down_raw, 119, 0, 2, 857, 1304]
-[:mouse_move, 263, 371, 2, 858, 1305]
-[:key_up_raw, 119, 0, 2, 859, 1305]
-[:mouse_move, 258, 369, 2, 860, 1306]
-[:mouse_move, 242, 360, 2, 861, 1307]
-[:mouse_move, 238, 356, 2, 862, 1308]
-[:mouse_move, 233, 347, 2, 863, 1309]
-[:mouse_move, 232, 343, 2, 864, 1310]
-[:mouse_move, 231, 335, 2, 865, 1311]
-[:mouse_move, 231, 331, 2, 866, 1312]
-[:mouse_move, 231, 324, 2, 867, 1313]
-[:mouse_move, 232, 320, 2, 868, 1314]
-[:mouse_move, 234, 317, 2, 869, 1315]
-[:mouse_move, 236, 309, 2, 870, 1316]
-[:mouse_move, 237, 304, 2, 871, 1317]
-[:mouse_move, 238, 299, 2, 872, 1318]
-[:mouse_move, 239, 296, 2, 873, 1319]
-[:mouse_move, 239, 288, 2, 874, 1320]
-[:mouse_move, 239, 282, 2, 875, 1321]
-[:mouse_move, 238, 281, 2, 876, 1322]
-[:mouse_move, 236, 280, 2, 877, 1323]
-[:mouse_move, 234, 275, 2, 878, 1324]
-[:mouse_move, 231, 272, 2, 879, 1325]
-[:mouse_move, 229, 270, 2, 880, 1326]
-[:mouse_move, 228, 268, 2, 881, 1327]
-[:mouse_move, 226, 265, 2, 882, 1328]
-[:mouse_move, 225, 264, 2, 883, 1329]
-[:mouse_move, 224, 262, 2, 884, 1330]
-[:mouse_move, 224, 261, 2, 885, 1331]
-[:mouse_move, 223, 260, 2, 886, 1332]
-[:mouse_move, 223, 259, 2, 887, 1333]
-[:mouse_button_pressed, 1, 0, 1, 888, 1357]
-[:mouse_button_up, 1, 0, 1, 889, 1363]
-[:mouse_move, 232, 267, 2, 890, 1374]
-[:mouse_move, 245, 276, 2, 891, 1375]
-[:mouse_move, 285, 302, 2, 892, 1376]
-[:mouse_move, 311, 316, 2, 893, 1377]
-[:mouse_move, 373, 343, 2, 894, 1378]
-[:mouse_move, 406, 353, 2, 895, 1379]
-[:mouse_move, 441, 362, 2, 896, 1380]
-[:mouse_move, 461, 367, 2, 897, 1381]
-[:mouse_move, 481, 373, 2, 898, 1382]
-[:mouse_move, 490, 376, 2, 899, 1383]
-[:mouse_move, 501, 383, 2, 900, 1384]
-[:mouse_move, 504, 386, 2, 901, 1385]
-[:mouse_move, 505, 389, 2, 902, 1386]
-[:mouse_move, 505, 392, 2, 903, 1387]
-[:mouse_move, 506, 395, 2, 904, 1388]
-[:mouse_move, 506, 397, 2, 905, 1389]
-[:mouse_move, 506, 399, 2, 906, 1390]
-[:mouse_move, 506, 400, 2, 907, 1391]
-[:mouse_move, 506, 401, 2, 908, 1392]
-[:mouse_move, 503, 401, 2, 909, 1394]
-[:mouse_move, 500, 401, 2, 910, 1395]
-[:mouse_move, 499, 401, 2, 911, 1396]
-[:mouse_move, 493, 400, 2, 912, 1397]
-[:mouse_move, 490, 400, 2, 913, 1398]
-[:mouse_move, 487, 400, 2, 914, 1399]
-[:mouse_move, 486, 400, 2, 915, 1400]
-[:mouse_move, 485, 400, 2, 916, 1401]
-[:mouse_move, 485, 399, 2, 917, 1414]
-[:mouse_move, 485, 398, 2, 918, 1415]
-[:mouse_move, 484, 398, 2, 919, 1416]
-[:mouse_move, 483, 396, 2, 920, 1417]
-[:mouse_move, 481, 395, 2, 921, 1418]
-[:mouse_move, 477, 392, 2, 922, 1419]
-[:mouse_move, 476, 392, 2, 923, 1420]
-[:mouse_move, 472, 391, 2, 924, 1421]
-[:mouse_move, 471, 390, 2, 925, 1422]
-[:mouse_move, 470, 390, 2, 926, 1423]
-[:mouse_move, 468, 390, 2, 927, 1424]
-[:mouse_move, 467, 390, 2, 928, 1427]
-[:mouse_move, 466, 390, 2, 929, 1430]
-[:mouse_move, 466, 391, 2, 930, 1432]
-[:mouse_button_pressed, 1, 0, 1, 931, 1446]
-[:mouse_move, 471, 391, 2, 932, 1447]
-[:mouse_move, 488, 389, 2, 933, 1448]
-[:mouse_move, 502, 387, 2, 934, 1449]
-[:mouse_move, 527, 384, 2, 935, 1450]
-[:mouse_move, 542, 383, 2, 936, 1451]
-[:mouse_move, 554, 382, 2, 937, 1452]
-[:mouse_move, 583, 381, 2, 938, 1453]
-[:mouse_move, 594, 381, 2, 939, 1454]
-[:mouse_move, 620, 381, 2, 940, 1455]
-[:mouse_move, 631, 383, 2, 941, 1456]
-[:mouse_move, 649, 385, 2, 942, 1457]
-[:mouse_move, 659, 386, 2, 943, 1458]
-[:mouse_move, 676, 388, 2, 944, 1459]
-[:mouse_move, 684, 389, 2, 945, 1460]
-[:mouse_move, 696, 391, 2, 946, 1461]
-[:mouse_move, 701, 391, 2, 947, 1462]
-[:mouse_move, 712, 392, 2, 948, 1463]
-[:mouse_move, 715, 393, 2, 949, 1464]
-[:mouse_move, 723, 393, 2, 950, 1465]
-[:mouse_move, 726, 393, 2, 951, 1466]
-[:mouse_move, 732, 393, 2, 952, 1467]
-[:mouse_move, 745, 393, 2, 953, 1469]
-[:mouse_move, 750, 392, 2, 954, 1470]
-[:mouse_move, 761, 392, 2, 955, 1471]
-[:mouse_move, 767, 392, 2, 956, 1472]
-[:mouse_move, 780, 391, 2, 957, 1473]
-[:mouse_move, 787, 391, 2, 958, 1474]
-[:mouse_move, 799, 391, 2, 959, 1475]
-[:mouse_move, 805, 391, 2, 960, 1476]
-[:mouse_move, 809, 391, 2, 961, 1477]
-[:mouse_move, 817, 391, 2, 962, 1478]
-[:mouse_move, 820, 391, 2, 963, 1479]
-[:mouse_move, 825, 392, 2, 964, 1480]
-[:mouse_move, 827, 392, 2, 965, 1482]
-[:mouse_button_up, 1, 0, 1, 966, 1532]
-[:mouse_move, 827, 393, 2, 967, 1532]
-[:mouse_move, 830, 397, 2, 968, 1533]
-[:mouse_move, 833, 408, 2, 969, 1534]
-[:mouse_move, 833, 415, 2, 970, 1535]
-[:mouse_move, 833, 423, 2, 971, 1536]
-[:mouse_move, 833, 428, 2, 972, 1537]
-[:mouse_move, 831, 433, 2, 973, 1538]
-[:mouse_move, 830, 435, 2, 974, 1539]
-[:mouse_move, 828, 437, 2, 975, 1540]
-[:mouse_move, 827, 437, 2, 976, 1541]
-[:mouse_move, 826, 438, 2, 977, 1542]
-[:mouse_move, 826, 439, 2, 978, 1544]
-[:key_down_raw, 115, 0, 2, 979, 1550]
-[:mouse_move, 826, 440, 2, 980, 1550]
-[:key_down_raw, 115, 0, 2, 981, 1575]
-[:key_down_raw, 115, 0, 2, 982, 1577]
-[:key_down_raw, 115, 0, 2, 983, 1579]
-[:key_down_raw, 115, 0, 2, 984, 1581]
-[:key_down_raw, 115, 0, 2, 985, 1583]
-[:key_down_raw, 115, 0, 2, 986, 1585]
-[:key_down_raw, 115, 0, 2, 987, 1587]
-[:key_down_raw, 115, 0, 2, 988, 1589]
-[:key_down_raw, 115, 0, 2, 989, 1591]
-[:key_down_raw, 115, 0, 2, 990, 1593]
-[:key_down_raw, 115, 0, 2, 991, 1595]
-[:key_up_raw, 115, 0, 2, 992, 1596]
-[:mouse_move, 819, 447, 2, 993, 1683]
-[:mouse_move, 810, 458, 2, 994, 1684]
-[:mouse_move, 786, 484, 2, 995, 1685]
-[:mouse_move, 773, 498, 2, 996, 1686]
-[:mouse_move, 728, 534, 2, 997, 1687]
-[:mouse_move, 699, 556, 2, 998, 1688]
-[:mouse_move, 657, 586, 2, 999, 1689]
-[:mouse_move, 634, 602, 2, 1000, 1690]
-[:mouse_move, 608, 618, 2, 1001, 1691]
-[:mouse_move, 595, 626, 2, 1002, 1692]
-[:mouse_move, 575, 637, 2, 1003, 1693]
-[:mouse_move, 569, 640, 2, 1004, 1694]
-[:mouse_move, 563, 643, 2, 1005, 1695]
-[:mouse_move, 554, 646, 2, 1006, 1696]
-[:mouse_move, 552, 647, 2, 1007, 1697]
-[:mouse_move, 546, 648, 2, 1008, 1698]
-[:mouse_move, 544, 649, 2, 1009, 1699]
-[:mouse_move, 541, 649, 2, 1010, 1700]
-[:mouse_move, 540, 649, 2, 1011, 1701]
-[:mouse_move, 538, 649, 2, 1012, 1702]
-[:mouse_move, 537, 649, 2, 1013, 1703]
-[:mouse_move, 535, 649, 2, 1014, 1704]
-[:mouse_button_pressed, 1, 0, 1, 1015, 1709]
-[:mouse_button_up, 1, 0, 1, 1016, 1716]
-[:mouse_move, 536, 649, 2, 1017, 1723]
-[:mouse_move, 540, 649, 2, 1018, 1724]
-[:mouse_move, 550, 649, 2, 1019, 1725]
-[:mouse_move, 567, 649, 2, 1020, 1726]
-[:mouse_move, 629, 649, 2, 1021, 1727]
-[:mouse_move, 671, 645, 2, 1022, 1728]
-[:mouse_move, 800, 633, 2, 1023, 1729]
-[:mouse_move, 870, 623, 2, 1024, 1730]
-[:mouse_move, 1004, 590, 2, 1025, 1731]
-[:mouse_move, 1026, 579, 2, 1026, 1732]
-[:mouse_move, 1057, 565, 2, 1027, 1733]
-[:mouse_move, 1084, 551, 2, 1028, 1734]
-[:mouse_move, 1095, 546, 2, 1029, 1735]
-[:key_down_raw, 1073742051, 1024, 2, 1030, 1805]
-[:key_down_raw, 113, 1024, 2, 1031, 1810]
diff --git a/samples/05_mouse_move_tile_editor/sprites/image1.png b/samples/05_mouse_move_tile_editor/sprites/image1.png
deleted file mode 100644
index 887277c..0000000
--- a/samples/05_mouse_move_tile_editor/sprites/image1.png
+++ /dev/null
Binary files differ
diff --git a/samples/05_mouse_move_tile_editor/sprites/image2.png b/samples/05_mouse_move_tile_editor/sprites/image2.png
deleted file mode 100644
index 71d6110..0000000
--- a/samples/05_mouse_move_tile_editor/sprites/image2.png
+++ /dev/null
Binary files differ
diff --git a/samples/05_mouse_move_tile_editor/sprites/image3.png b/samples/05_mouse_move_tile_editor/sprites/image3.png
deleted file mode 100644
index 841a104..0000000
--- a/samples/05_mouse_move_tile_editor/sprites/image3.png
+++ /dev/null
Binary files differ
diff --git a/samples/05_mouse_move_tile_editor/sprites/image4.png b/samples/05_mouse_move_tile_editor/sprites/image4.png
deleted file mode 100644
index a2b0bd6..0000000
--- a/samples/05_mouse_move_tile_editor/sprites/image4.png
+++ /dev/null
Binary files differ
diff --git a/samples/05_mouse_move_tile_editor/sprites/image5.png b/samples/05_mouse_move_tile_editor/sprites/image5.png
deleted file mode 100644
index 6aed318..0000000
--- a/samples/05_mouse_move_tile_editor/sprites/image5.png
+++ /dev/null
Binary files differ
diff --git a/samples/05_mouse_move_tile_editor/sprites/image6.png b/samples/05_mouse_move_tile_editor/sprites/image6.png
deleted file mode 100644
index c8045c8..0000000
--- a/samples/05_mouse_move_tile_editor/sprites/image6.png
+++ /dev/null
Binary files differ