diff options
| author | Amir Rajan <[email protected]> | 2020-09-11 02:02:01 -0500 |
|---|---|---|
| committer | Amir Rajan <[email protected]> | 2020-09-11 02:02:57 -0500 |
| commit | 33ec37b141e896b47ed642923fd33b0c658ae9fb (patch) | |
| tree | a40d3e5d41beeb06508200078f6f26b0ee57d6a4 /samples/99_genre_platformer/gorillas_basic | |
| parent | 958cf43779d2bf528869e80511c4c4f2a433b2db (diff) | |
| download | dragonruby-game-toolkit-contrib-33ec37b141e896b47ed642923fd33b0c658ae9fb.tar.gz dragonruby-game-toolkit-contrib-33ec37b141e896b47ed642923fd33b0c658ae9fb.zip | |
synced samples
Diffstat (limited to 'samples/99_genre_platformer/gorillas_basic')
25 files changed, 1146 insertions, 0 deletions
diff --git a/samples/99_genre_platformer/gorillas_basic/CREDITS.txt b/samples/99_genre_platformer/gorillas_basic/CREDITS.txt new file mode 100644 index 0000000..7503a2a --- /dev/null +++ b/samples/99_genre_platformer/gorillas_basic/CREDITS.txt @@ -0,0 +1,3 @@ +code: Amir Rajan, https://twitter.com/amirrajan +graphics: Nick Culbertson, https://twitter.com/MobyPixel + diff --git a/samples/99_genre_platformer/gorillas_basic/app/main.rb b/samples/99_genre_platformer/gorillas_basic/app/main.rb new file mode 100644 index 0000000..53f9a4f --- /dev/null +++ b/samples/99_genre_platformer/gorillas_basic/app/main.rb @@ -0,0 +1,373 @@ +class YouSoBasicGorillas + attr_accessor :outputs, :grid, :state, :inputs + + def tick + defaults + render + calc + process_inputs + end + + def defaults + outputs.background_color = [33, 32, 87] + state.building_spacing = 1 + state.building_room_spacing = 15 + state.building_room_width = 10 + state.building_room_height = 15 + state.building_heights = [4, 4, 6, 8, 15, 20, 18] + state.building_room_sizes = [5, 4, 6, 7] + state.gravity = 0.25 + state.first_strike ||= :player_1 + state.buildings ||= [] + state.holes ||= [] + state.player_1_score ||= 0 + state.player_2_score ||= 0 + state.wind ||= 0 + end + + def render + render_stage + render_value_insertion + render_gorillas + render_holes + render_banana + render_game_over + render_score + render_wind + end + + def render_score + outputs.primitives << [0, 0, 1280, 31, fancy_white].solid + outputs.primitives << [1, 1, 1279, 29].solid + outputs.labels << [ 10, 25, "Score: #{state.player_1_score}", 0, 0, fancy_white] + outputs.labels << [1270, 25, "Score: #{state.player_2_score}", 0, 2, fancy_white] + end + + def render_wind + outputs.primitives << [640, 12, state.wind * 500 + state.wind * 10 * rand, 4, 35, 136, 162].solid + outputs.lines << [640, 30, 640, 0, fancy_white] + end + + def render_game_over + return unless state.over + outputs.primitives << [grid.rect, 0, 0, 0, 200].solid + outputs.primitives << [640, 370, "Game Over!!", 5, 1, fancy_white].label + if state.winner == :player_1 + outputs.primitives << [640, 340, "Player 1 Wins!!", 5, 1, fancy_white].label + else + outputs.primitives << [640, 340, "Player 2 Wins!!", 5, 1, fancy_white].label + end + end + + def render_stage + return unless state.stage_generated + return if state.stage_rendered + + outputs.static_solids << [grid.rect, 33, 32, 87] + outputs.static_solids << state.buildings.map(&:solids) + state.stage_rendered = true + end + + def render_gorilla gorilla, id + return unless gorilla + if state.banana && state.banana.owner == gorilla + animation_index = state.banana.created_at.frame_index(3, 5, false) + end + if !animation_index + outputs.sprites << [gorilla.solid, "sprites/#{id}-idle.png"] + else + outputs.sprites << [gorilla.solid, "sprites/#{id}-#{animation_index}.png"] + end + end + + def render_gorillas + render_gorilla state.player_1, :left + render_gorilla state.player_2, :right + end + + def render_value_insertion + return if state.banana + return if state.over + + if state.current_turn == :player_1_angle + outputs.labels << [ 10, 710, "Angle: #{state.player_1_angle}_", fancy_white] + elsif state.current_turn == :player_1_velocity + outputs.labels << [ 10, 710, "Angle: #{state.player_1_angle}", fancy_white] + outputs.labels << [ 10, 690, "Velocity: #{state.player_1_velocity}_", fancy_white] + elsif state.current_turn == :player_2_angle + outputs.labels << [1120, 710, "Angle: #{state.player_2_angle}_", fancy_white] + elsif state.current_turn == :player_2_velocity + outputs.labels << [1120, 710, "Angle: #{state.player_2_angle}", fancy_white] + outputs.labels << [1120, 690, "Velocity: #{state.player_2_velocity}_", fancy_white] + end + end + + def render_banana + return unless state.banana + rotation = state.tick_count.%(360) * 20 + rotation *= -1 if state.banana.dx > 0 + outputs.sprites << [state.banana.x, state.banana.y, 15, 15, 'sprites/banana.png', rotation] + end + + def render_holes + outputs.sprites << state.holes.map do |s| + animation_index = s.created_at.frame_index(7, 3, false) + if animation_index + [s.sprite, [s.sprite.rect, "sprites/explosion#{animation_index}.png" ]] + else + s.sprite + end + end + end + + def calc + calc_generate_stage + calc_current_turn + calc_banana + end + + def calc_current_turn + return if state.current_turn + + state.current_turn = :player_1_angle + state.current_turn = :player_2_angle if state.first_strike == :player_2 + end + + def calc_generate_stage + return if state.stage_generated + + state.buildings << building_prefab(state.building_spacing + -20, *random_building_size) + 8.numbers.inject(state.buildings) do |buildings, i| + buildings << + building_prefab(state.building_spacing + + state.buildings.last.right, + *random_building_size) + end + + building_two = state.buildings[1] + state.player_1 = new_player(building_two.x + building_two.w.fdiv(2), + building_two.h) + + building_nine = state.buildings[-3] + state.player_2 = new_player(building_nine.x + building_nine.w.fdiv(2), + building_nine.h) + state.stage_generated = true + state.wind = 1.randomize(:ratio, :sign) + end + + def new_player x, y + state.new_entity(:gorilla) do |p| + p.x = x - 25 + p.y = y + p.solid = [p.x, p.y, 50, 50] + end + end + + def calc_banana + return unless state.banana + + state.banana.x += state.banana.dx + state.banana.dx += state.wind.fdiv(50) + state.banana.y += state.banana.dy + state.banana.dy -= state.gravity + banana_collision = [state.banana.x, state.banana.y, 10, 10] + + if state.player_1 && banana_collision.intersect_rect?(state.player_1.solid) + state.over = true + if state.banana.owner == state.player_2 + state.winner = :player_2 + else + state.winner = :player_1 + end + + state.player_2_score += 1 + elsif state.player_2 && banana_collision.intersect_rect?(state.player_2.solid) + state.over = true + if state.banana.owner == state.player_2 + state.winner = :player_1 + else + state.winner = :player_2 + end + state.player_1_score += 1 + end + + if state.over + place_hole + return + end + + return if state.holes.any? do |h| + h.sprite.scale_rect(0.8, 0.5, 0.5).intersect_rect? [state.banana.x, state.banana.y, 10, 10] + end + + return unless state.banana.y < 0 || state.buildings.any? do |b| + b.rect.intersect_rect? [state.banana.x, state.banana.y, 1, 1] + end + + place_hole + end + + def place_hole + return unless state.banana + + state.holes << state.new_entity(:banana) do |b| + b.sprite = [state.banana.x - 20, state.banana.y - 20, 40, 40, 'sprites/hole.png'] + end + + state.banana = nil + end + + def process_inputs_main + return if state.banana + return if state.over + + if inputs.keyboard.key_down.enter + input_execute_turn + elsif inputs.keyboard.key_down.backspace + state.as_hash[state.current_turn] ||= "" + state.as_hash[state.current_turn] = state.as_hash[state.current_turn][0..-2] + elsif inputs.keyboard.key_down.char + state.as_hash[state.current_turn] ||= "" + state.as_hash[state.current_turn] += inputs.keyboard.key_down.char + end + end + + def process_inputs_game_over + return unless state.over + return unless inputs.keyboard.key_down.truthy_keys.any? + state.over = false + outputs.static_solids.clear + state.buildings.clear + state.holes.clear + state.stage_generated = false + state.stage_rendered = false + if state.first_strike == :player_1 + state.first_strike = :player_2 + else + state.first_strike = :player_1 + end + end + + def process_inputs + process_inputs_main + process_inputs_game_over + end + + def input_execute_turn + return if state.banana + + if state.current_turn == :player_1_angle && parse_or_clear!(:player_1_angle) + state.current_turn = :player_1_velocity + elsif state.current_turn == :player_1_velocity && parse_or_clear!(:player_1_velocity) + state.current_turn = :player_2_angle + state.banana = + new_banana(state.player_1, + state.player_1.x + 25, + state.player_1.y + 60, + state.player_1_angle, + state.player_1_velocity) + elsif state.current_turn == :player_2_angle && parse_or_clear!(:player_2_angle) + state.current_turn = :player_2_velocity + elsif state.current_turn == :player_2_velocity && parse_or_clear!(:player_2_velocity) + state.current_turn = :player_1_angle + state.banana = + new_banana(state.player_2, + state.player_2.x + 25, + state.player_2.y + 60, + 180 - state.player_2_angle, + state.player_2_velocity) + end + + if state.banana + state.player_1_angle = nil + state.player_1_velocity = nil + state.player_2_angle = nil + state.player_2_velocity = nil + end + end + + def random_building_size + [state.building_heights.sample, state.building_room_sizes.sample] + end + + def int? v + v.to_i.to_s == v.to_s + end + + def random_building_color + [[ 99, 0, 107], + [ 35, 64, 124], + [ 35, 136, 162], + ].sample + end + + def random_window_color + [[ 88, 62, 104], + [253, 224, 187]].sample + end + + def windows_for_building starting_x, floors, rooms + floors.-(1).combinations(rooms - 1).map do |floor, room| + [starting_x + + state.building_room_width.*(room) + + state.building_room_spacing.*(room + 1), + state.building_room_height.*(floor) + + state.building_room_spacing.*(floor + 1), + state.building_room_width, + state.building_room_height, + random_window_color] + end + end + + def building_prefab starting_x, floors, rooms + state.new_entity(:building) do |b| + b.x = starting_x + b.y = 0 + b.w = state.building_room_width.*(rooms) + + state.building_room_spacing.*(rooms + 1) + b.h = state.building_room_height.*(floors) + + state.building_room_spacing.*(floors + 1) + b.right = b.x + b.w + b.rect = [b.x, b.y, b.w, b.h] + b.solids = [[b.x - 1, b.y, b.w + 2, b.h + 1, fancy_white], + [b.x, b.y, b.w, b.h, random_building_color], + windows_for_building(b.x, floors, rooms)] + end + end + + def parse_or_clear! game_prop + if int? state.as_hash[game_prop] + state.as_hash[game_prop] = state.as_hash[game_prop].to_i + return true + end + + state.as_hash[game_prop] = nil + return false + end + + def new_banana owner, x, y, angle, velocity + state.new_entity(:banana) do |b| + b.owner = owner + b.x = x + b.y = y + b.angle = angle % 360 + b.velocity = velocity / 5 + b.dx = b.angle.vector_x(b.velocity) + b.dy = b.angle.vector_y(b.velocity) + end + end + + def fancy_white + [253, 252, 253] + end +end + +$you_so_basic_gorillas = YouSoBasicGorillas.new + +def tick args + $you_so_basic_gorillas.outputs = args.outputs + $you_so_basic_gorillas.grid = args.grid + $you_so_basic_gorillas.state = args.state + $you_so_basic_gorillas.inputs = args.inputs + $you_so_basic_gorillas.tick +end diff --git a/samples/99_genre_platformer/gorillas_basic/app/repl.rb b/samples/99_genre_platformer/gorillas_basic/app/repl.rb new file mode 100644 index 0000000..4428c4b --- /dev/null +++ b/samples/99_genre_platformer/gorillas_basic/app/repl.rb @@ -0,0 +1,17 @@ +begin + if $gtk.args.state.current_turn == :player_1_angle + $gtk.args.state.player_1_angle = "#{60 + 10.randomize(:ratio).to_i}" + $you_so_basic_gorillas.input_execute_turn + $gtk.args.state.player_1_velocity = "#{30 + 20.randomize(:ratio).to_i}" + $you_so_basic_gorillas.input_execute_turn + elsif $gtk.args.state.current_turn == :player_2_angle + $gtk.args.state.player_2_angle = "#{60 + 10.randomize(:ratio).to_i}" + $you_so_basic_gorillas.input_execute_turn + $gtk.args.state.player_2_velocity = "#{30 + 20.randomize(:ratio).to_i}" + $you_so_basic_gorillas.input_execute_turn + else + $you_so_basic_gorillas.input_execute_turn + end +rescue Exception => e + puts e +end diff --git a/samples/99_genre_platformer/gorillas_basic/app/tests.rb b/samples/99_genre_platformer/gorillas_basic/app/tests.rb new file mode 100644 index 0000000..e108574 --- /dev/null +++ b/samples/99_genre_platformer/gorillas_basic/app/tests.rb @@ -0,0 +1,4 @@ +$gtk.reset 100 +$gtk.supress_framerate_warning = true +$gtk.require 'app/tests/building_generation_tests.rb' +$gtk.tests.start diff --git a/samples/99_genre_platformer/gorillas_basic/app/tests/building_generation_tests.rb b/samples/99_genre_platformer/gorillas_basic/app/tests/building_generation_tests.rb new file mode 100644 index 0000000..bbad57a --- /dev/null +++ b/samples/99_genre_platformer/gorillas_basic/app/tests/building_generation_tests.rb @@ -0,0 +1,15 @@ +def test_solids args, assert + game = YouSoBasicGorillas.new + game.outputs = args.outputs + game.grid = args.grid + game.state = args.state + game.inputs = args.inputs + game.tick + assert.true! args.state.stage_generated, "stage wasn't generated but it should have been" + game.tick + assert.true! args.outputs.static_solids.length > 0, "stage wasn't rendered" + number_of_building_components = (args.state.buildings.map { |b| 2 + b.solids[2].length }.inject do |sum, v| (sum || 0) + v end) + the_only_background = 1 + static_solids = args.outputs.static_solids.length + assert.true! static_solids == the_only_background.+(number_of_building_components), "not all parts of the buildings and background were rendered" +end diff --git a/samples/99_genre_platformer/gorillas_basic/license-for-sample.txt b/samples/99_genre_platformer/gorillas_basic/license-for-sample.txt new file mode 100644 index 0000000..8fa4d42 --- /dev/null +++ b/samples/99_genre_platformer/gorillas_basic/license-for-sample.txt @@ -0,0 +1,9 @@ +Copyright 2019 DragonRuby LLC (code), Nick Culbertson @mobypixel (art) + +MIT License + +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/99_genre_platformer/gorillas_basic/metadata/game_metadata.txt b/samples/99_genre_platformer/gorillas_basic/metadata/game_metadata.txt new file mode 100644 index 0000000..38d9894 --- /dev/null +++ b/samples/99_genre_platformer/gorillas_basic/metadata/game_metadata.txt @@ -0,0 +1,6 @@ +devid=dragonruby +devtitle=DragonRuby LLC +gameid=basicgorillas +gametitle=Basic Gorillas +version=1.1 +icon=sprites/left-0.png diff --git a/samples/99_genre_platformer/gorillas_basic/replay.txt b/samples/99_genre_platformer/gorillas_basic/replay.txt new file mode 100644 index 0000000..a1d4eab --- /dev/null +++ b/samples/99_genre_platformer/gorillas_basic/replay.txt @@ -0,0 +1,719 @@ +replay_version 2.0 +stopped_at 1814 +seed 100 +recorded_at Sun Sep 29 23:27:50 2019 +[:mouse_move, 20, 450, 2, 1, 32] +[:mouse_move, 61, 422, 2, 2, 33] +[:mouse_move, 64, 417, 2, 3, 34] +[:mouse_move, 67, 413, 2, 4, 35] +[:mouse_move, 77, 402, 2, 5, 36] +[:mouse_move, 78, 397, 2, 6, 37] +[:mouse_move, 79, 393, 2, 7, 38] +[:mouse_move, 79, 392, 2, 8, 39] +[:mouse_move, 79, 401, 2, 9, 41] +[:mouse_move, 80, 426, 2, 10, 42] +[:mouse_move, 85, 444, 2, 11, 43] +[:mouse_move, 97, 477, 2, 12, 44] +[:mouse_move, 100, 482, 2, 13, 45] +[:mouse_move, 113, 496, 2, 14, 46] +[:mouse_move, 118, 498, 2, 15, 47] +[:mouse_move, 123, 499, 2, 16, 48] +[:mouse_move, 131, 493, 2, 17, 49] +[:mouse_move, 132, 485, 2, 18, 50] +[:mouse_move, 133, 462, 2, 19, 51] +[:mouse_move, 133, 448, 2, 20, 52] +[:mouse_move, 125, 402, 2, 21, 53] +[:mouse_move, 120, 380, 2, 22, 54] +[:mouse_move, 106, 336, 2, 23, 55] +[:mouse_move, 97, 310, 2, 24, 56] +[:mouse_move, 72, 250, 2, 25, 57] +[:mouse_move, 58, 216, 2, 26, 58] +[:mouse_move, 48, 188, 2, 27, 59] +[:mouse_move, 39, 166, 2, 28, 60] +[:mouse_move, 35, 156, 2, 29, 61] +[:mouse_move, 33, 150, 2, 30, 62] +[:mouse_move, 33, 145, 2, 31, 75] +[:mouse_move, 33, 128, 2, 32, 76] +[:mouse_move, 33, 119, 2, 33, 77] +[:mouse_move, 33, 106, 2, 34, 78] +[:mouse_move, 33, 101, 2, 35, 79] +[:mouse_move, 33, 90, 2, 36, 80] +[:mouse_move, 33, 83, 2, 37, 81] +[:mouse_move, 31, 74, 2, 38, 82] +[:mouse_move, 29, 68, 2, 39, 83] +[:mouse_move, 26, 60, 2, 40, 84] +[:mouse_move, 25, 59, 2, 41, 85] +[:mouse_move, 23, 53, 2, 42, 86] +[:mouse_move, 22, 51, 2, 43, 87] +[:mouse_move, 21, 50, 2, 44, 88] +[:mouse_move, 21, 49, 2, 45, 89] +[:mouse_move, 19, 48, 2, 46, 90] +[:mouse_move, 15, 46, 2, 47, 92] +[:mouse_move, 12, 44, 2, 48, 93] +[:mouse_move, 11, 43, 2, 49, 94] +[:mouse_move, 9, 42, 2, 50, 95] +[:mouse_move, 9, 41, 2, 51, 96] +[:mouse_move, 8, 41, 2, 52, 97] +[:mouse_move, 9, 41, 2, 53, 104] +[:mouse_move, 12, 42, 2, 54, 105] +[:mouse_move, 17, 44, 2, 55, 106] +[:mouse_move, 21, 44, 2, 56, 107] +[:mouse_move, 25, 45, 2, 57, 108] +[:mouse_move, 34, 46, 2, 58, 109] +[:mouse_move, 43, 46, 2, 59, 110] +[:mouse_move, 48, 47, 2, 60, 111] +[:mouse_move, 53, 47, 2, 61, 112] +[:mouse_move, 61, 48, 2, 62, 113] +[:mouse_move, 66, 48, 2, 63, 114] +[:mouse_move, 74, 49, 2, 64, 115] +[:mouse_move, 84, 51, 2, 65, 116] +[:mouse_move, 88, 51, 2, 66, 117] +[:mouse_move, 95, 52, 2, 67, 118] +[:mouse_move, 98, 52, 2, 68, 119] +[:mouse_move, 104, 52, 2, 69, 120] +[:mouse_move, 108, 52, 2, 70, 121] +[:mouse_move, 111, 52, 2, 71, 122] +[:mouse_move, 115, 51, 2, 72, 123] +[:mouse_move, 116, 50, 2, 73, 124] +[:mouse_move, 118, 49, 2, 74, 125] +[:mouse_move, 119, 49, 2, 75, 126] +[:mouse_move, 120, 49, 2, 76, 127] +[:mouse_move, 121, 48, 2, 77, 128] +[:mouse_move, 122, 48, 2, 78, 130] +[:mouse_move, 123, 48, 2, 79, 132] +[:mouse_move, 124, 48, 2, 80, 133] +[:mouse_move, 125, 48, 2, 81, 136] +[:mouse_move, 125, 49, 2, 82, 141] +[:mouse_move, 115, 67, 2, 83, 152] +[:mouse_move, 109, 101, 2, 84, 153] +[:mouse_move, 93, 189, 2, 85, 154] +[:mouse_move, 81, 254, 2, 86, 155] +[:mouse_move, 67, 327, 2, 87, 156] +[:mouse_move, 40, 469, 2, 88, 157] +[:mouse_move, 35, 496, 2, 89, 158] +[:mouse_move, 24, 556, 2, 90, 159] +[:mouse_move, 23, 566, 2, 91, 160] +[:mouse_move, 20, 586, 2, 92, 161] +[:mouse_move, 19, 595, 2, 93, 162] +[:mouse_move, 18, 603, 2, 94, 163] +[:mouse_move, 18, 605, 2, 95, 164] +[:mouse_move, 18, 606, 2, 96, 165] +[:mouse_move, 19, 606, 2, 97, 166] +[:mouse_move, 20, 606, 2, 98, 168] +[:mouse_move, 21, 606, 2, 99, 169] +[:mouse_move, 21, 607, 2, 100, 170] +[:mouse_move, 24, 608, 2, 101, 171] +[:mouse_move, 27, 609, 2, 102, 172] +[:mouse_move, 37, 616, 2, 103, 173] +[:mouse_move, 45, 621, 2, 104, 174] +[:mouse_move, 67, 631, 2, 105, 175] +[:mouse_move, 81, 636, 2, 106, 176] +[:mouse_move, 114, 645, 2, 107, 177] +[:mouse_move, 129, 647, 2, 108, 178] +[:mouse_move, 151, 646, 2, 109, 179] +[:mouse_move, 176, 635, 2, 110, 180] +[:mouse_move, 179, 630, 2, 111, 181] +[:mouse_move, 190, 605, 2, 112, 182] +[:mouse_move, 193, 582, 2, 113, 183] +[:mouse_move, 193, 572, 2, 114, 184] +[:mouse_move, 193, 556, 2, 115, 185] +[:mouse_move, 190, 535, 2, 116, 186] +[:mouse_move, 187, 523, 2, 117, 187] +[:mouse_move, 179, 509, 2, 118, 188] +[:mouse_move, 172, 502, 2, 119, 189] +[:mouse_move, 159, 500, 2, 120, 190] +[:mouse_move, 152, 500, 2, 121, 191] +[:mouse_move, 142, 507, 2, 122, 192] +[:mouse_move, 137, 513, 2, 123, 193] +[:mouse_move, 129, 527, 2, 124, 194] +[:mouse_move, 125, 540, 2, 125, 195] +[:mouse_move, 125, 558, 2, 126, 196] +[:mouse_move, 127, 566, 2, 127, 197] +[:mouse_move, 135, 578, 2, 128, 198] +[:mouse_move, 144, 590, 2, 129, 199] +[:mouse_move, 159, 597, 2, 130, 200] +[:mouse_move, 171, 599, 2, 131, 201] +[:mouse_move, 179, 599, 2, 132, 202] +[:mouse_move, 185, 599, 2, 133, 203] +[:mouse_move, 200, 590, 2, 134, 204] +[:mouse_move, 206, 579, 2, 135, 205] +[:mouse_move, 206, 565, 2, 136, 206] +[:mouse_move, 206, 558, 2, 137, 207] +[:mouse_move, 197, 541, 2, 138, 208] +[:mouse_move, 191, 537, 2, 139, 209] +[:mouse_move, 183, 535, 2, 140, 210] +[:mouse_move, 166, 535, 2, 141, 211] +[:mouse_move, 155, 541, 2, 142, 212] +[:mouse_move, 133, 569, 2, 143, 213] +[:mouse_move, 127, 585, 2, 144, 214] +[:mouse_move, 127, 602, 2, 145, 215] +[:mouse_move, 132, 626, 2, 146, 216] +[:mouse_move, 138, 630, 2, 147, 217] +[:mouse_move, 144, 631, 2, 148, 218] +[:mouse_move, 162, 627, 2, 149, 219] +[:mouse_move, 180, 609, 2, 150, 220] +[:mouse_move, 212, 530, 2, 151, 221] +[:mouse_move, 221, 476, 2, 152, 222] +[:mouse_move, 227, 388, 2, 153, 223] +[:mouse_move, 227, 336, 2, 154, 224] +[:mouse_move, 219, 256, 2, 155, 225] +[:mouse_move, 209, 225, 2, 156, 226] +[:mouse_move, 183, 173, 2, 157, 227] +[:mouse_move, 175, 163, 2, 158, 228] +[:mouse_move, 161, 140, 2, 159, 229] +[:mouse_move, 158, 136, 2, 160, 230] +[:mouse_move, 147, 121, 2, 161, 231] +[:mouse_move, 144, 116, 2, 162, 232] +[:mouse_move, 138, 107, 2, 163, 233] +[:mouse_move, 136, 104, 2, 164, 234] +[:mouse_move, 132, 99, 2, 165, 235] +[:mouse_move, 130, 96, 2, 166, 236] +[:mouse_move, 128, 95, 2, 167, 237] +[:mouse_move, 124, 90, 2, 168, 238] +[:mouse_move, 122, 89, 2, 169, 239] +[:mouse_move, 120, 87, 2, 170, 240] +[:mouse_move, 119, 86, 2, 171, 241] +[:mouse_move, 117, 86, 2, 172, 242] +[:mouse_move, 117, 85, 2, 173, 243] +[:mouse_move, 114, 84, 2, 174, 244] +[:mouse_move, 112, 83, 2, 175, 245] +[:mouse_move, 109, 82, 2, 176, 246] +[:key_down_raw, 56, 0, 2, 177, 299] +[:key_up_raw, 56, 0, 2, 178, 304] +[:key_down_raw, 48, 0, 2, 179, 309] +[:key_up_raw, 48, 0, 2, 180, 314] +[:key_down_raw, 13, 0, 2, 181, 346] +[:key_up_raw, 13, 0, 2, 182, 353] +[:key_down_raw, 49, 0, 2, 183, 390] +[:key_up_raw, 49, 0, 2, 184, 393] +[:key_down_raw, 49, 0, 2, 185, 398] +[:key_up_raw, 49, 0, 2, 186, 404] +[:key_down_raw, 53, 0, 2, 187, 410] +[:key_up_raw, 53, 0, 2, 188, 415] +[:key_down_raw, 13, 0, 2, 189, 478] +[:key_up_raw, 13, 0, 2, 190, 484] +[:mouse_move, 128, 84, 2, 191, 539] +[:mouse_move, 153, 89, 2, 192, 540] +[:mouse_move, 181, 97, 2, 193, 541] +[:mouse_move, 216, 107, 2, 194, 542] +[:mouse_move, 292, 129, 2, 195, 543] +[:mouse_move, 367, 151, 2, 196, 544] +[:mouse_move, 465, 178, 2, 197, 545] +[:mouse_move, 520, 193, 2, 198, 546] +[:mouse_move, 572, 207, 2, 199, 547] +[:mouse_move, 581, 209, 2, 200, 548] +[:mouse_move, 600, 215, 2, 201, 549] +[:mouse_move, 607, 217, 2, 202, 550] +[:mouse_move, 614, 220, 2, 203, 551] +[:mouse_move, 614, 221, 2, 204, 684] +[:mouse_move, 617, 223, 2, 205, 686] +[:mouse_move, 619, 224, 2, 206, 687] +[:mouse_move, 629, 230, 2, 207, 688] +[:mouse_move, 641, 234, 2, 208, 689] +[:mouse_move, 676, 242, 2, 209, 690] +[:mouse_move, 718, 248, 2, 210, 691] +[:mouse_move, 797, 251, 2, 211, 692] +[:mouse_move, 817, 251, 2, 212, 693] +[:mouse_move, 888, 236, 2, 213, 694] +[:mouse_move, 916, 224, 2, 214, 695] +[:mouse_move, 933, 210, 2, 215, 696] +[:mouse_move, 957, 191, 2, 216, 697] +[:mouse_move, 960, 189, 2, 217, 713] +[:mouse_move, 965, 186, 2, 218, 714] +[:mouse_move, 975, 180, 2, 219, 715] +[:mouse_move, 988, 174, 2, 220, 716] +[:mouse_move, 1021, 161, 2, 221, 717] +[:mouse_move, 1051, 148, 2, 222, 718] +[:mouse_move, 1079, 136, 2, 223, 719] +[:mouse_move, 1096, 127, 2, 224, 720] +[:mouse_move, 1126, 109, 2, 225, 721] +[:mouse_move, 1131, 106, 2, 226, 722] +[:mouse_move, 1149, 90, 2, 227, 723] +[:mouse_move, 1155, 85, 2, 228, 724] +[:mouse_move, 1161, 79, 2, 229, 725] +[:mouse_move, 1164, 76, 2, 230, 726] +[:mouse_move, 1166, 75, 2, 231, 727] +[:mouse_move, 1168, 73, 2, 232, 728] +[:mouse_move, 1169, 72, 2, 233, 729] +[:mouse_move, 1171, 71, 2, 234, 730] +[:mouse_move, 1172, 71, 2, 235, 731] +[:mouse_move, 1172, 70, 2, 236, 733] +[:mouse_move, 1173, 70, 2, 237, 734] +[:mouse_move, 1173, 69, 2, 238, 741] +[:mouse_move, 1175, 67, 2, 239, 742] +[:mouse_move, 1177, 64, 2, 240, 743] +[:mouse_move, 1183, 58, 2, 241, 744] +[:mouse_move, 1187, 53, 2, 242, 745] +[:mouse_move, 1195, 44, 2, 243, 746] +[:mouse_move, 1197, 42, 2, 244, 747] +[:mouse_move, 1202, 37, 2, 245, 748] +[:mouse_move, 1204, 35, 2, 246, 749] +[:mouse_move, 1205, 34, 2, 247, 750] +[:mouse_move, 1205, 33, 2, 248, 751] +[:mouse_move, 1199, 33, 2, 249, 752] +[:mouse_move, 1185, 33, 2, 250, 753] +[:mouse_move, 1168, 33, 2, 251, 754] +[:mouse_move, 1123, 34, 2, 252, 755] +[:mouse_move, 1096, 35, 2, 253, 756] +[:mouse_move, 1074, 37, 2, 254, 757] +[:mouse_move, 1057, 37, 2, 255, 758] +[:mouse_move, 1043, 39, 2, 256, 759] +[:mouse_move, 1037, 39, 2, 257, 760] +[:mouse_move, 1031, 40, 2, 258, 761] +[:mouse_move, 1030, 40, 2, 259, 762] +[:mouse_move, 1029, 41, 2, 260, 763] +[:mouse_move, 1029, 44, 2, 261, 764] +[:mouse_move, 1033, 56, 2, 262, 765] +[:mouse_move, 1044, 72, 2, 263, 766] +[:mouse_move, 1064, 90, 2, 264, 767] +[:mouse_move, 1078, 100, 2, 265, 768] +[:mouse_move, 1109, 113, 2, 266, 769] +[:mouse_move, 1125, 113, 2, 267, 770] +[:mouse_move, 1154, 107, 2, 268, 771] +[:mouse_move, 1168, 98, 2, 269, 772] +[:mouse_move, 1184, 83, 2, 270, 773] +[:mouse_move, 1194, 74, 2, 271, 774] +[:mouse_move, 1202, 65, 2, 272, 775] +[:mouse_move, 1206, 59, 2, 273, 776] +[:mouse_move, 1210, 49, 2, 274, 777] +[:mouse_move, 1210, 44, 2, 275, 778] +[:mouse_move, 1203, 38, 2, 276, 779] +[:mouse_move, 1198, 36, 2, 277, 780] +[:mouse_move, 1191, 32, 2, 278, 781] +[:mouse_move, 1178, 27, 2, 279, 782] +[:mouse_move, 1172, 24, 2, 280, 783] +[:mouse_move, 1160, 20, 2, 281, 784] +[:mouse_move, 1154, 18, 2, 282, 785] +[:mouse_move, 1141, 18, 2, 283, 786] +[:mouse_move, 1133, 18, 2, 284, 787] +[:mouse_move, 1117, 23, 2, 285, 788] +[:mouse_move, 1110, 28, 2, 286, 789] +[:mouse_move, 1099, 44, 2, 287, 790] +[:mouse_move, 1097, 49, 2, 288, 791] +[:mouse_move, 1093, 59, 2, 289, 792] +[:mouse_move, 1091, 65, 2, 290, 793] +[:mouse_move, 1091, 79, 2, 291, 794] +[:mouse_move, 1095, 82, 2, 292, 795] +[:mouse_move, 1121, 91, 2, 293, 796] +[:mouse_move, 1140, 93, 2, 294, 797] +[:mouse_move, 1172, 97, 2, 295, 798] +[:mouse_move, 1194, 97, 2, 296, 799] +[:mouse_move, 1230, 89, 2, 297, 800] +[:mouse_move, 1237, 84, 2, 298, 801] +[:mouse_move, 1255, 69, 2, 299, 802] +[:mouse_move, 1260, 63, 2, 300, 803] +[:mouse_move, 1264, 44, 2, 301, 804] +[:mouse_move, 1262, 36, 2, 302, 805] +[:mouse_move, 1246, 19, 2, 303, 806] +[:mouse_move, 1235, 12, 2, 304, 807] +[:mouse_move, 1210, 1, 2, 305, 808] +[:mouse_move, 1197, 0, 2, 306, 809] +[:mouse_move, 1153, 0, 2, 307, 812] +[:mouse_move, 1143, 4, 2, 308, 812] +[:mouse_move, 1134, 11, 2, 309, 813] +[:mouse_move, 1126, 19, 2, 310, 814] +[:mouse_move, 1117, 30, 2, 311, 814] +[:mouse_move, 1109, 42, 2, 312, 815] +[:mouse_move, 1101, 56, 2, 313, 816] +[:mouse_move, 1094, 71, 2, 314, 816] +[:mouse_move, 1088, 85, 2, 315, 817] +[:mouse_move, 1085, 98, 2, 316, 818] +[:mouse_move, 1083, 125, 2, 317, 819] +[:mouse_move, 1082, 126, 2, 318, 831] +[:mouse_move, 1074, 136, 2, 319, 832] +[:mouse_move, 1049, 174, 2, 320, 833] +[:mouse_move, 1023, 217, 2, 321, 834] +[:mouse_move, 958, 326, 2, 322, 835] +[:mouse_move, 945, 350, 2, 323, 836] +[:mouse_move, 918, 398, 2, 324, 837] +[:mouse_move, 894, 443, 2, 325, 838] +[:mouse_move, 890, 451, 2, 326, 839] +[:mouse_move, 878, 481, 2, 327, 840] +[:mouse_move, 877, 490, 2, 328, 841] +[:mouse_move, 877, 497, 2, 329, 842] +[:mouse_move, 880, 499, 2, 330, 843] +[:mouse_move, 886, 500, 2, 331, 844] +[:mouse_move, 888, 500, 2, 332, 845] +[:mouse_move, 892, 498, 2, 333, 846] +[:mouse_move, 894, 498, 2, 334, 847] +[:mouse_move, 903, 498, 2, 335, 848] +[:mouse_move, 909, 506, 2, 336, 849] +[:mouse_move, 923, 524, 2, 337, 850] +[:mouse_move, 934, 534, 2, 338, 851] +[:mouse_move, 958, 551, 2, 339, 852] +[:mouse_move, 970, 555, 2, 340, 853] +[:mouse_move, 995, 555, 2, 341, 854] +[:mouse_move, 1007, 551, 2, 342, 855] +[:mouse_move, 1036, 525, 2, 343, 856] +[:mouse_move, 1039, 515, 2, 344, 857] +[:mouse_move, 1052, 467, 2, 345, 858] +[:mouse_move, 1052, 456, 2, 346, 859] +[:mouse_move, 1049, 426, 2, 347, 860] +[:mouse_move, 1041, 415, 2, 348, 861] +[:mouse_move, 1017, 399, 2, 349, 862] +[:mouse_move, 994, 394, 2, 350, 863] +[:mouse_move, 984, 394, 2, 351, 864] +[:mouse_move, 954, 403, 2, 352, 865] +[:mouse_move, 937, 413, 2, 353, 866] +[:mouse_move, 903, 453, 2, 354, 867] +[:mouse_move, 897, 472, 2, 355, 868] +[:mouse_move, 893, 501, 2, 356, 869] +[:mouse_move, 893, 520, 2, 357, 870] +[:mouse_move, 901, 547, 2, 358, 871] +[:mouse_move, 909, 557, 2, 359, 872] +[:mouse_move, 929, 567, 2, 360, 873] +[:mouse_move, 943, 569, 2, 361, 874] +[:mouse_move, 982, 565, 2, 362, 875] +[:mouse_move, 990, 560, 2, 363, 876] +[:mouse_move, 1034, 532, 2, 364, 877] +[:mouse_move, 1039, 524, 2, 365, 878] +[:mouse_move, 1073, 474, 2, 366, 879] +[:mouse_move, 1088, 424, 2, 367, 880] +[:mouse_move, 1094, 334, 2, 368, 881] +[:mouse_move, 1095, 309, 2, 369, 882] +[:mouse_move, 1098, 220, 2, 370, 883] +[:mouse_move, 1103, 182, 2, 371, 884] +[:mouse_move, 1115, 135, 2, 372, 885] +[:mouse_move, 1124, 111, 2, 373, 886] +[:mouse_move, 1136, 83, 2, 374, 887] +[:mouse_move, 1144, 70, 2, 375, 888] +[:mouse_move, 1151, 58, 2, 376, 889] +[:mouse_move, 1154, 52, 2, 377, 890] +[:mouse_move, 1158, 48, 2, 378, 891] +[:mouse_move, 1161, 43, 2, 379, 892] +[:mouse_move, 1162, 41, 2, 380, 893] +[:mouse_move, 1164, 39, 2, 381, 894] +[:mouse_move, 1165, 38, 2, 382, 895] +[:mouse_move, 1166, 37, 2, 383, 896] +[:mouse_move, 1167, 36, 2, 384, 897] +[:mouse_move, 1167, 35, 2, 385, 898] +[:mouse_move, 1168, 35, 2, 386, 899] +[:mouse_move, 1169, 35, 2, 387, 900] +[:key_down_raw, 56, 0, 2, 388, 940] +[:key_up_raw, 56, 0, 2, 389, 945] +[:key_down_raw, 48, 0, 2, 390, 952] +[:key_up_raw, 48, 0, 2, 391, 957] +[:key_down_raw, 13, 0, 2, 392, 1001] +[:key_up_raw, 13, 0, 2, 393, 1006] +[:key_down_raw, 49, 0, 2, 394, 1030] +[:key_up_raw, 49, 0, 2, 395, 1035] +[:key_down_raw, 49, 0, 2, 396, 1041] +[:key_up_raw, 49, 0, 2, 397, 1045] +[:key_down_raw, 53, 0, 2, 398, 1098] +[:key_up_raw, 53, 0, 2, 399, 1101] +[:mouse_move, 1193, 38, 2, 400, 1121] +[:mouse_move, 1236, 52, 2, 401, 1122] +[:mouse_move, 1279, 63, 2, 402, 1123] +[:mouse_move, 1279, 69, 2, 403, 1124] +[:mouse_move, 1277, 36, 2, 404, 1134] +[:mouse_move, 1271, 36, 2, 405, 1135] +[:mouse_move, 1259, 35, 2, 406, 1136] +[:mouse_move, 1250, 35, 2, 407, 1136] +[:mouse_move, 1242, 35, 2, 408, 1137] +[:mouse_move, 1239, 35, 2, 409, 1138] +[:mouse_move, 1230, 36, 2, 410, 1138] +[:mouse_move, 1225, 37, 2, 411, 1139] +[:mouse_move, 1222, 38, 2, 412, 1140] +[:mouse_move, 1220, 38, 2, 413, 1140] +[:mouse_move, 1217, 38, 2, 414, 1141] +[:mouse_move, 1215, 39, 2, 415, 1142] +[:mouse_move, 1213, 39, 2, 416, 1142] +[:mouse_move, 1211, 39, 2, 417, 1143] +[:mouse_move, 1210, 40, 2, 418, 1144] +[:mouse_move, 1208, 41, 2, 419, 1145] +[:mouse_move, 1207, 42, 2, 420, 1146] +[:mouse_move, 1206, 44, 2, 421, 1147] +[:mouse_move, 1205, 44, 2, 422, 1148] +[:mouse_move, 1204, 47, 2, 423, 1149] +[:mouse_move, 1203, 49, 2, 424, 1150] +[:mouse_move, 1202, 51, 2, 425, 1151] +[:mouse_move, 1202, 52, 2, 426, 1152] +[:mouse_move, 1202, 53, 2, 427, 1153] +[:mouse_move, 1202, 54, 2, 428, 1154] +[:mouse_move, 1207, 54, 2, 429, 1155] +[:mouse_move, 1212, 55, 2, 430, 1156] +[:mouse_move, 1223, 56, 2, 431, 1157] +[:mouse_move, 1229, 57, 2, 432, 1158] +[:mouse_move, 1236, 57, 2, 433, 1159] +[:mouse_move, 1240, 57, 2, 434, 1160] +[:mouse_move, 1245, 57, 2, 435, 1161] +[:mouse_move, 1247, 57, 2, 436, 1162] +[:mouse_move, 1249, 57, 2, 437, 1163] +[:mouse_move, 1250, 57, 2, 438, 1163] +[:mouse_move, 1251, 57, 2, 439, 1164] +[:mouse_move, 1252, 57, 2, 440, 1165] +[:mouse_move, 1253, 57, 2, 441, 1165] +[:mouse_move, 1254, 57, 2, 442, 1166] +[:mouse_move, 1255, 57, 2, 443, 1167] +[:mouse_move, 1256, 57, 2, 444, 1168] +[:mouse_move, 1257, 57, 2, 445, 1169] +[:mouse_move, 1258, 57, 2, 446, 1171] +[:mouse_move, 1259, 57, 2, 447, 1171] +[:mouse_move, 1260, 57, 2, 448, 1173] +[:mouse_move, 1259, 57, 2, 449, 1177] +[:mouse_move, 1251, 56, 2, 450, 1178] +[:mouse_move, 1244, 56, 2, 451, 1179] +[:mouse_move, 1234, 56, 2, 452, 1180] +[:mouse_move, 1231, 56, 2, 453, 1181] +[:mouse_move, 1223, 56, 2, 454, 1182] +[:mouse_move, 1220, 56, 2, 455, 1183] +[:mouse_move, 1217, 57, 2, 456, 1184] +[:mouse_move, 1219, 57, 2, 457, 1187] +[:mouse_move, 1227, 58, 2, 458, 1188] +[:mouse_move, 1231, 59, 2, 459, 1189] +[:mouse_move, 1233, 59, 2, 460, 1190] +[:mouse_move, 1236, 59, 2, 461, 1190] +[:mouse_move, 1239, 59, 2, 462, 1191] +[:mouse_move, 1240, 60, 2, 463, 1192] +[:mouse_move, 1241, 60, 2, 464, 1192] +[:mouse_move, 1242, 60, 2, 465, 1193] +[:mouse_move, 1232, 65, 2, 466, 1205] +[:mouse_move, 1219, 74, 2, 467, 1206] +[:mouse_move, 1163, 105, 2, 468, 1207] +[:mouse_move, 1078, 154, 2, 469, 1208] +[:mouse_move, 931, 239, 2, 470, 1209] +[:mouse_move, 896, 263, 2, 471, 1210] +[:mouse_move, 763, 366, 2, 472, 1211] +[:mouse_move, 742, 388, 2, 473, 1212] +[:mouse_move, 667, 471, 2, 474, 1213] +[:mouse_move, 642, 509, 2, 475, 1214] +[:mouse_move, 613, 575, 2, 476, 1215] +[:mouse_move, 611, 588, 2, 477, 1216] +[:mouse_move, 588, 612, 2, 478, 1230] +[:mouse_move, 577, 624, 2, 479, 1231] +[:mouse_move, 532, 667, 2, 480, 1232] +[:mouse_move, 523, 676, 2, 481, 1233] +[:mouse_move, 516, 682, 2, 482, 1234] +[:mouse_move, 511, 686, 2, 483, 1235] +[:mouse_move, 492, 703, 2, 484, 1236] +[:mouse_move, 490, 705, 2, 485, 1237] +[:mouse_move, 489, 706, 2, 486, 1238] +[:mouse_move, 488, 706, 2, 487, 1239] +[:mouse_move, 488, 707, 2, 488, 1240] +[:mouse_move, 488, 708, 2, 489, 1246] +[:mouse_move, 487, 709, 2, 490, 1247] +[:mouse_move, 487, 710, 2, 491, 1248] +[:mouse_move, 488, 710, 2, 492, 1252] +[:mouse_move, 489, 710, 2, 493, 1252] +[:mouse_move, 490, 710, 2, 494, 1253] +[:mouse_move, 492, 709, 2, 495, 1253] +[:mouse_move, 495, 709, 2, 496, 1254] +[:mouse_move, 499, 708, 2, 497, 1255] +[:mouse_move, 501, 708, 2, 498, 1256] +[:mouse_move, 504, 707, 2, 499, 1257] +[:mouse_move, 507, 707, 2, 500, 1258] +[:mouse_move, 509, 707, 2, 501, 1259] +[:mouse_move, 511, 707, 2, 502, 1260] +[:mouse_move, 513, 707, 2, 503, 1261] +[:mouse_move, 515, 707, 2, 504, 1262] +[:mouse_move, 516, 708, 2, 505, 1263] +[:mouse_move, 518, 708, 2, 506, 1264] +[:mouse_move, 520, 708, 2, 507, 1265] +[:mouse_move, 521, 708, 2, 508, 1266] +[:mouse_move, 523, 708, 2, 509, 1267] +[:mouse_move, 525, 708, 2, 510, 1268] +[:mouse_move, 526, 709, 2, 511, 1269] +[:mouse_move, 527, 709, 2, 512, 1269] +[:mouse_move, 528, 709, 2, 513, 1270] +[:mouse_move, 529, 710, 2, 514, 1271] +[:mouse_move, 530, 710, 2, 515, 1272] +[:mouse_move, 531, 711, 2, 516, 1274] +[:mouse_move, 532, 711, 2, 517, 1275] +[:mouse_move, 533, 711, 2, 518, 1275] +[:mouse_move, 536, 712, 2, 519, 1276] +[:mouse_move, 540, 713, 2, 520, 1278] +[:mouse_move, 541, 714, 2, 521, 1279] +[:mouse_move, 543, 714, 2, 522, 1279] +[:mouse_move, 544, 715, 2, 523, 1280] +[:mouse_move, 546, 715, 2, 524, 1281] +[:mouse_move, 548, 715, 2, 525, 1281] +[:mouse_move, 550, 716, 2, 526, 1282] +[:mouse_move, 551, 716, 2, 527, 1283] +[:mouse_move, 555, 716, 2, 528, 1284] +[:mouse_move, 557, 716, 2, 529, 1285] +[:mouse_move, 561, 716, 2, 530, 1286] +[:mouse_move, 563, 716, 2, 531, 1287] +[:mouse_move, 567, 716, 2, 532, 1288] +[:mouse_move, 569, 715, 2, 533, 1289] +[:mouse_move, 572, 715, 2, 534, 1290] +[:mouse_move, 575, 714, 2, 535, 1291] +[:mouse_move, 578, 714, 2, 536, 1292] +[:mouse_move, 580, 714, 2, 537, 1293] +[:mouse_move, 585, 714, 2, 538, 1294] +[:mouse_move, 586, 714, 2, 539, 1295] +[:mouse_move, 588, 714, 2, 540, 1296] +[:mouse_move, 591, 714, 2, 541, 1296] +[:mouse_move, 594, 714, 2, 542, 1297] +[:mouse_move, 596, 714, 2, 543, 1298] +[:mouse_move, 598, 714, 2, 544, 1298] +[:mouse_move, 600, 714, 2, 545, 1299] +[:mouse_move, 602, 714, 2, 546, 1300] +[:mouse_move, 606, 714, 2, 547, 1300] +[:mouse_move, 607, 714, 2, 548, 1301] +[:mouse_move, 611, 714, 2, 549, 1302] +[:mouse_move, 614, 715, 2, 550, 1302] +[:mouse_move, 615, 715, 2, 551, 1303] +[:mouse_move, 619, 716, 2, 552, 1304] +[:mouse_move, 622, 716, 2, 553, 1304] +[:mouse_move, 623, 716, 2, 554, 1305] +[:mouse_move, 628, 717, 2, 555, 1306] +[:mouse_move, 631, 717, 2, 556, 1306] +[:mouse_move, 634, 717, 2, 557, 1307] +[:mouse_move, 637, 717, 2, 558, 1308] +[:mouse_move, 641, 717, 2, 559, 1308] +[:mouse_move, 643, 717, 2, 560, 1309] +[:mouse_move, 647, 717, 2, 561, 1310] +[:mouse_move, 652, 716, 2, 562, 1311] +[:mouse_move, 656, 715, 2, 563, 1312] +[:mouse_move, 660, 713, 2, 564, 1313] +[:mouse_move, 663, 712, 2, 565, 1314] +[:mouse_move, 667, 710, 2, 566, 1315] +[:mouse_move, 669, 709, 2, 567, 1316] +[:mouse_move, 670, 706, 2, 568, 1317] +[:mouse_move, 670, 705, 2, 569, 1318] +[:mouse_move, 669, 702, 2, 570, 1319] +[:mouse_move, 666, 700, 2, 571, 1320] +[:mouse_move, 660, 696, 2, 572, 1321] +[:mouse_move, 656, 695, 2, 573, 1322] +[:mouse_move, 643, 691, 2, 574, 1323] +[:mouse_move, 637, 691, 2, 575, 1324] +[:mouse_move, 628, 690, 2, 576, 1325] +[:mouse_move, 617, 690, 2, 577, 1325] +[:mouse_move, 606, 690, 2, 578, 1326] +[:mouse_move, 596, 690, 2, 579, 1327] +[:mouse_move, 590, 690, 2, 580, 1327] +[:mouse_move, 579, 690, 2, 581, 1328] +[:mouse_move, 569, 691, 2, 582, 1329] +[:mouse_move, 561, 692, 2, 583, 1329] +[:mouse_move, 554, 693, 2, 584, 1330] +[:mouse_move, 546, 693, 2, 585, 1331] +[:mouse_move, 539, 694, 2, 586, 1331] +[:mouse_move, 533, 694, 2, 587, 1332] +[:mouse_move, 527, 695, 2, 588, 1333] +[:mouse_move, 522, 695, 2, 589, 1333] +[:mouse_move, 520, 696, 2, 590, 1334] +[:mouse_move, 516, 696, 2, 591, 1335] +[:mouse_move, 513, 697, 2, 592, 1335] +[:mouse_move, 509, 697, 2, 593, 1336] +[:mouse_move, 507, 698, 2, 594, 1337] +[:mouse_move, 502, 698, 2, 595, 1338] +[:mouse_move, 501, 698, 2, 596, 1339] +[:mouse_move, 500, 699, 2, 597, 1340] +[:mouse_move, 499, 699, 2, 598, 1341] +[:mouse_move, 498, 699, 2, 599, 1342] +[:mouse_move, 498, 700, 2, 600, 1343] +[:mouse_move, 498, 701, 2, 601, 1344] +[:mouse_move, 498, 702, 2, 602, 1345] +[:mouse_move, 503, 704, 2, 603, 1346] +[:mouse_move, 506, 705, 2, 604, 1347] +[:mouse_move, 516, 707, 2, 605, 1348] +[:mouse_move, 521, 708, 2, 606, 1349] +[:mouse_move, 533, 709, 2, 607, 1350] +[:mouse_move, 540, 709, 2, 608, 1351] +[:mouse_move, 555, 710, 2, 609, 1352] +[:mouse_move, 567, 710, 2, 610, 1353] +[:mouse_move, 574, 710, 2, 611, 1354] +[:mouse_move, 583, 710, 2, 612, 1354] +[:mouse_move, 588, 710, 2, 613, 1355] +[:mouse_move, 603, 708, 2, 614, 1356] +[:mouse_move, 611, 707, 2, 615, 1356] +[:mouse_move, 621, 703, 2, 616, 1357] +[:mouse_move, 631, 699, 2, 617, 1358] +[:mouse_move, 642, 694, 2, 618, 1358] +[:mouse_move, 653, 686, 2, 619, 1359] +[:mouse_move, 665, 677, 2, 620, 1360] +[:mouse_move, 686, 659, 2, 621, 1360] +[:mouse_move, 700, 643, 2, 622, 1361] +[:mouse_move, 717, 622, 2, 623, 1362] +[:mouse_move, 765, 543, 2, 624, 1363] +[:mouse_move, 785, 502, 2, 625, 1364] +[:mouse_move, 816, 431, 2, 626, 1365] +[:mouse_move, 835, 388, 2, 627, 1366] +[:mouse_move, 869, 313, 2, 628, 1367] +[:mouse_move, 875, 301, 2, 629, 1368] +[:mouse_move, 906, 233, 2, 630, 1369] +[:mouse_move, 916, 209, 2, 631, 1370] +[:mouse_move, 948, 131, 2, 632, 1371] +[:mouse_move, 962, 87, 2, 633, 1372] +[:mouse_move, 973, 47, 2, 634, 1373] +[:mouse_move, 975, 38, 2, 635, 1374] +[:mouse_move, 979, 9, 2, 636, 1375] +[:mouse_move, 978, 9, 2, 637, 1391] +[:mouse_move, 968, 25, 2, 638, 1392] +[:mouse_move, 959, 37, 2, 639, 1393] +[:mouse_move, 942, 67, 2, 640, 1394] +[:mouse_move, 934, 84, 2, 641, 1395] +[:mouse_move, 912, 130, 2, 642, 1396] +[:mouse_move, 902, 157, 2, 643, 1397] +[:mouse_move, 891, 190, 2, 644, 1398] +[:key_down_raw, 13, 0, 2, 645, 1443] +[:key_up_raw, 13, 0, 2, 646, 1448] +[:mouse_move, 890, 190, 2, 647, 1681] +[:mouse_move, 889, 190, 2, 648, 1682] +[:mouse_move, 887, 190, 2, 649, 1682] +[:mouse_move, 884, 191, 2, 650, 1683] +[:mouse_move, 877, 193, 2, 651, 1684] +[:mouse_move, 868, 195, 2, 652, 1684] +[:mouse_move, 852, 199, 2, 653, 1685] +[:mouse_move, 837, 203, 2, 654, 1686] +[:mouse_move, 815, 207, 2, 655, 1686] +[:mouse_move, 790, 212, 2, 656, 1687] +[:mouse_move, 763, 218, 2, 657, 1688] +[:mouse_move, 733, 223, 2, 658, 1688] +[:mouse_move, 705, 229, 2, 659, 1689] +[:mouse_move, 692, 232, 2, 660, 1690] +[:mouse_move, 647, 243, 2, 661, 1691] +[:mouse_move, 639, 244, 2, 662, 1692] +[:mouse_move, 611, 252, 2, 663, 1693] +[:mouse_move, 601, 255, 2, 664, 1694] +[:mouse_move, 589, 259, 2, 665, 1695] +[:mouse_move, 584, 261, 2, 666, 1696] +[:mouse_move, 576, 265, 2, 667, 1697] +[:mouse_move, 572, 267, 2, 668, 1698] +[:mouse_move, 567, 271, 2, 669, 1699] +[:mouse_move, 565, 273, 2, 670, 1700] +[:mouse_move, 561, 280, 2, 671, 1701] +[:mouse_move, 559, 285, 2, 672, 1702] +[:mouse_move, 556, 297, 2, 673, 1703] +[:mouse_move, 555, 304, 2, 674, 1704] +[:mouse_move, 552, 327, 2, 675, 1705] +[:mouse_move, 552, 338, 2, 676, 1706] +[:mouse_move, 552, 350, 2, 677, 1707] +[:mouse_move, 552, 366, 2, 678, 1707] +[:mouse_move, 554, 380, 2, 679, 1708] +[:mouse_move, 559, 397, 2, 680, 1709] +[:mouse_move, 566, 411, 2, 681, 1709] +[:mouse_move, 575, 426, 2, 682, 1710] +[:mouse_move, 594, 450, 2, 683, 1711] +[:mouse_move, 611, 462, 2, 684, 1711] +[:mouse_move, 631, 472, 2, 685, 1712] +[:mouse_move, 713, 494, 2, 686, 1714] +[:mouse_move, 745, 495, 2, 687, 1715] +[:mouse_move, 777, 495, 2, 688, 1716] +[:mouse_move, 808, 490, 2, 689, 1717] +[:mouse_move, 818, 484, 2, 690, 1717] +[:mouse_move, 825, 480, 2, 691, 1718] +[:mouse_move, 856, 454, 2, 692, 1719] +[:mouse_move, 860, 443, 2, 693, 1719] +[:mouse_move, 861, 431, 2, 694, 1720] +[:mouse_move, 858, 408, 2, 695, 1721] +[:mouse_move, 813, 347, 2, 696, 1722] +[:mouse_move, 798, 334, 2, 697, 1723] +[:mouse_move, 731, 285, 2, 698, 1724] +[:mouse_move, 696, 269, 2, 699, 1725] +[:mouse_move, 629, 253, 2, 700, 1726] +[:mouse_move, 597, 251, 2, 701, 1727] +[:mouse_move, 540, 256, 2, 702, 1728] +[:mouse_move, 516, 267, 2, 703, 1729] +[:mouse_move, 474, 299, 2, 704, 1730] +[:mouse_move, 468, 309, 2, 705, 1731] +[:mouse_move, 441, 353, 2, 706, 1732] +[:mouse_move, 434, 372, 2, 707, 1733] +[:mouse_move, 430, 391, 2, 708, 1734] +[:mouse_move, 430, 397, 2, 709, 1734] +[:mouse_move, 430, 421, 2, 710, 1735] +[:mouse_move, 434, 438, 2, 711, 1736] +[:mouse_move, 447, 447, 2, 712, 1736] +[:mouse_move, 462, 454, 2, 713, 1737] +[:key_down_raw, 1073742051, 1024, 2, 714, 1812] +[:key_down_raw, 113, 1024, 2, 715, 1813] diff --git a/samples/99_genre_platformer/gorillas_basic/sprites/banana.png b/samples/99_genre_platformer/gorillas_basic/sprites/banana.png Binary files differnew file mode 100644 index 0000000..b0f4134 --- /dev/null +++ b/samples/99_genre_platformer/gorillas_basic/sprites/banana.png diff --git a/samples/99_genre_platformer/gorillas_basic/sprites/explosion0.png b/samples/99_genre_platformer/gorillas_basic/sprites/explosion0.png Binary files differnew file mode 100644 index 0000000..e94c644 --- /dev/null +++ b/samples/99_genre_platformer/gorillas_basic/sprites/explosion0.png diff --git a/samples/99_genre_platformer/gorillas_basic/sprites/explosion1.png b/samples/99_genre_platformer/gorillas_basic/sprites/explosion1.png Binary files differnew file mode 100644 index 0000000..b4018d9 --- /dev/null +++ b/samples/99_genre_platformer/gorillas_basic/sprites/explosion1.png diff --git a/samples/99_genre_platformer/gorillas_basic/sprites/explosion2.png b/samples/99_genre_platformer/gorillas_basic/sprites/explosion2.png Binary files differnew file mode 100644 index 0000000..3abaedd --- /dev/null +++ b/samples/99_genre_platformer/gorillas_basic/sprites/explosion2.png diff --git a/samples/99_genre_platformer/gorillas_basic/sprites/explosion3.png b/samples/99_genre_platformer/gorillas_basic/sprites/explosion3.png Binary files differnew file mode 100644 index 0000000..fe94a5a --- /dev/null +++ b/samples/99_genre_platformer/gorillas_basic/sprites/explosion3.png diff --git a/samples/99_genre_platformer/gorillas_basic/sprites/explosion4.png b/samples/99_genre_platformer/gorillas_basic/sprites/explosion4.png Binary files differnew file mode 100644 index 0000000..ed04237 --- /dev/null +++ b/samples/99_genre_platformer/gorillas_basic/sprites/explosion4.png diff --git a/samples/99_genre_platformer/gorillas_basic/sprites/explosion5.png b/samples/99_genre_platformer/gorillas_basic/sprites/explosion5.png Binary files differnew file mode 100644 index 0000000..2cd8f06 --- /dev/null +++ b/samples/99_genre_platformer/gorillas_basic/sprites/explosion5.png diff --git a/samples/99_genre_platformer/gorillas_basic/sprites/explosion6.png b/samples/99_genre_platformer/gorillas_basic/sprites/explosion6.png Binary files differnew file mode 100644 index 0000000..e55909c --- /dev/null +++ b/samples/99_genre_platformer/gorillas_basic/sprites/explosion6.png diff --git a/samples/99_genre_platformer/gorillas_basic/sprites/hole.png b/samples/99_genre_platformer/gorillas_basic/sprites/hole.png Binary files differnew file mode 100644 index 0000000..cb4e8b3 --- /dev/null +++ b/samples/99_genre_platformer/gorillas_basic/sprites/hole.png diff --git a/samples/99_genre_platformer/gorillas_basic/sprites/left-0.png b/samples/99_genre_platformer/gorillas_basic/sprites/left-0.png Binary files differnew file mode 100644 index 0000000..096d19c --- /dev/null +++ b/samples/99_genre_platformer/gorillas_basic/sprites/left-0.png diff --git a/samples/99_genre_platformer/gorillas_basic/sprites/left-1.png b/samples/99_genre_platformer/gorillas_basic/sprites/left-1.png Binary files differnew file mode 100644 index 0000000..5944578 --- /dev/null +++ b/samples/99_genre_platformer/gorillas_basic/sprites/left-1.png diff --git a/samples/99_genre_platformer/gorillas_basic/sprites/left-2.png b/samples/99_genre_platformer/gorillas_basic/sprites/left-2.png Binary files differnew file mode 100644 index 0000000..a64f3d8 --- /dev/null +++ b/samples/99_genre_platformer/gorillas_basic/sprites/left-2.png diff --git a/samples/99_genre_platformer/gorillas_basic/sprites/left-idle.png b/samples/99_genre_platformer/gorillas_basic/sprites/left-idle.png Binary files differnew file mode 100644 index 0000000..21a71dc --- /dev/null +++ b/samples/99_genre_platformer/gorillas_basic/sprites/left-idle.png diff --git a/samples/99_genre_platformer/gorillas_basic/sprites/right-0.png b/samples/99_genre_platformer/gorillas_basic/sprites/right-0.png Binary files differnew file mode 100644 index 0000000..57ffd46 --- /dev/null +++ b/samples/99_genre_platformer/gorillas_basic/sprites/right-0.png diff --git a/samples/99_genre_platformer/gorillas_basic/sprites/right-1.png b/samples/99_genre_platformer/gorillas_basic/sprites/right-1.png Binary files differnew file mode 100644 index 0000000..a921560 --- /dev/null +++ b/samples/99_genre_platformer/gorillas_basic/sprites/right-1.png diff --git a/samples/99_genre_platformer/gorillas_basic/sprites/right-2.png b/samples/99_genre_platformer/gorillas_basic/sprites/right-2.png Binary files differnew file mode 100644 index 0000000..fc97c90 --- /dev/null +++ b/samples/99_genre_platformer/gorillas_basic/sprites/right-2.png diff --git a/samples/99_genre_platformer/gorillas_basic/sprites/right-idle.png b/samples/99_genre_platformer/gorillas_basic/sprites/right-idle.png Binary files differnew file mode 100644 index 0000000..2838588 --- /dev/null +++ b/samples/99_genre_platformer/gorillas_basic/sprites/right-idle.png |
