diff options
Diffstat (limited to 'samples/99_genre_arcade')
| -rw-r--r-- | samples/99_genre_arcade/bullet_hell/replay.txt | 126 | ||||
| -rw-r--r-- | samples/99_genre_arcade/flappy_dragon/app/main.rb | 97 | ||||
| -rw-r--r-- | samples/99_genre_arcade/twinstick/replay.txt | 174 |
3 files changed, 346 insertions, 51 deletions
diff --git a/samples/99_genre_arcade/bullet_hell/replay.txt b/samples/99_genre_arcade/bullet_hell/replay.txt new file mode 100644 index 0000000..49a22d1 --- /dev/null +++ b/samples/99_genre_arcade/bullet_hell/replay.txt @@ -0,0 +1,126 @@ +replay_version 2.0 +stopped_at 718 +seed 100 +recorded_at 2021-11-20 11:26:42 -0600 +[:mouse_button_up, 1, 0, 1, 1, 4] +[:mouse_move, 824, 91, 2, 2, 27] +[:key_down_raw, 1073741903, 0, 2, 3, 64] +[:key_down_raw, 1073741903, 0, 2, 4, 78] +[:key_down_raw, 1073741903, 0, 2, 5, 80] +[:key_down_raw, 1073741903, 0, 2, 6, 82] +[:key_down_raw, 1073741903, 0, 2, 7, 84] +[:key_down_raw, 1073741903, 0, 2, 8, 86] +[:key_down_raw, 1073741903, 0, 2, 9, 88] +[:key_down_raw, 1073741903, 0, 2, 10, 90] +[:key_down_raw, 1073741903, 0, 2, 11, 92] +[:key_down_raw, 1073741903, 0, 2, 12, 94] +[:key_down_raw, 1073741903, 0, 2, 13, 96] +[:key_down_raw, 1073741903, 0, 2, 14, 98] +[:key_down_raw, 1073741903, 0, 2, 15, 100] +[:key_down_raw, 1073741903, 0, 2, 16, 102] +[:key_down_raw, 1073741903, 0, 2, 17, 104] +[:key_down_raw, 1073741903, 0, 2, 18, 106] +[:key_down_raw, 1073741903, 0, 2, 19, 108] +[:key_down_raw, 32, 0, 2, 20, 108] +[:key_up_raw, 1073741903, 0, 2, 21, 108] +[:key_up_raw, 32, 0, 2, 22, 114] +[:key_down_raw, 32, 0, 2, 23, 120] +[:key_up_raw, 32, 0, 2, 24, 126] +[:key_down_raw, 1073741903, 0, 2, 25, 127] +[:key_down_raw, 1073741903, 0, 2, 26, 142] +[:key_up_raw, 1073741903, 0, 2, 27, 143] +[:key_down_raw, 32, 0, 2, 28, 144] +[:key_up_raw, 32, 0, 2, 29, 152] +[:key_down_raw, 32, 0, 2, 30, 156] +[:key_down_raw, 1073741904, 0, 2, 31, 159] +[:key_up_raw, 32, 0, 2, 32, 163] +[:key_down_raw, 1073741904, 0, 2, 33, 174] +[:key_down_raw, 1073741904, 0, 2, 34, 176] +[:key_down_raw, 1073741904, 0, 2, 35, 178] +[:key_down_raw, 1073741904, 0, 2, 36, 180] +[:key_down_raw, 1073741904, 0, 2, 37, 182] +[:key_down_raw, 32, 0, 2, 38, 183] +[:key_up_raw, 1073741904, 0, 2, 39, 186] +[:key_up_raw, 32, 0, 2, 40, 191] +[:key_down_raw, 32, 0, 2, 41, 195] +[:key_up_raw, 32, 0, 2, 42, 203] +[:key_down_raw, 1073741904, 0, 2, 43, 228] +[:key_down_raw, 1073741904, 0, 2, 44, 243] +[:key_down_raw, 1073741904, 0, 2, 45, 245] +[:key_down_raw, 1073741904, 0, 2, 46, 247] +[:key_down_raw, 1073741904, 0, 2, 47, 249] +[:key_down_raw, 1073741904, 0, 2, 48, 251] +[:key_down_raw, 1073741904, 0, 2, 49, 253] +[:key_down_raw, 32, 0, 2, 50, 253] +[:key_up_raw, 1073741904, 0, 2, 51, 255] +[:key_up_raw, 32, 0, 2, 52, 260] +[:key_down_raw, 32, 0, 2, 53, 265] +[:key_up_raw, 32, 0, 2, 54, 270] +[:key_down_raw, 1073741904, 0, 2, 55, 278] +[:key_down_raw, 1073741904, 0, 2, 56, 293] +[:key_down_raw, 1073741904, 0, 2, 57, 295] +[:key_down_raw, 1073741904, 0, 2, 58, 297] +[:key_down_raw, 1073741904, 0, 2, 59, 299] +[:key_down_raw, 1073741904, 0, 2, 60, 301] +[:key_down_raw, 1073741904, 0, 2, 61, 303] +[:key_up_raw, 1073741904, 0, 2, 62, 305] +[:key_down_raw, 32, 0, 2, 63, 307] +[:key_up_raw, 32, 0, 2, 64, 314] +[:key_down_raw, 32, 0, 2, 65, 319] +[:key_up_raw, 32, 0, 2, 66, 326] +[:key_down_raw, 32, 0, 2, 67, 331] +[:key_up_raw, 32, 0, 2, 68, 337] +[:key_down_raw, 1073741904, 0, 2, 69, 339] +[:key_down_raw, 1073741904, 0, 2, 70, 354] +[:key_down_raw, 1073741904, 0, 2, 71, 356] +[:key_down_raw, 1073741904, 0, 2, 72, 358] +[:key_down_raw, 1073741904, 0, 2, 73, 360] +[:key_down_raw, 32, 0, 2, 74, 361] +[:key_up_raw, 1073741904, 0, 2, 75, 361] +[:key_up_raw, 32, 0, 2, 76, 368] +[:key_down_raw, 32, 0, 2, 77, 373] +[:key_up_raw, 32, 0, 2, 78, 379] +[:key_down_raw, 1073741903, 0, 2, 79, 397] +[:key_down_raw, 1073741903, 0, 2, 80, 412] +[:key_down_raw, 1073741903, 0, 2, 81, 414] +[:key_down_raw, 1073741903, 0, 2, 82, 416] +[:key_down_raw, 1073741903, 0, 2, 83, 418] +[:key_down_raw, 1073741903, 0, 2, 84, 420] +[:key_down_raw, 1073741903, 0, 2, 85, 422] +[:key_down_raw, 1073741903, 0, 2, 86, 424] +[:key_down_raw, 1073741903, 0, 2, 87, 426] +[:key_down_raw, 1073741903, 0, 2, 88, 428] +[:key_down_raw, 32, 0, 2, 89, 428] +[:key_up_raw, 1073741903, 0, 2, 90, 429] +[:key_up_raw, 32, 0, 2, 91, 435] +[:key_down_raw, 1073741903, 0, 2, 92, 456] +[:key_down_raw, 32, 0, 2, 93, 468] +[:key_up_raw, 1073741903, 0, 2, 94, 468] +[:key_up_raw, 32, 0, 2, 95, 475] +[:key_down_raw, 32, 0, 2, 96, 480] +[:key_up_raw, 32, 0, 2, 97, 487] +[:key_down_raw, 32, 0, 2, 98, 493] +[:key_up_raw, 32, 0, 2, 99, 499] +[:key_down_raw, 1073741903, 0, 2, 100, 516] +[:key_down_raw, 32, 0, 2, 101, 522] +[:key_up_raw, 32, 0, 2, 102, 529] +[:key_up_raw, 1073741903, 0, 2, 103, 529] +[:key_down_raw, 32, 0, 2, 104, 535] +[:key_up_raw, 32, 0, 2, 105, 542] +[:key_down_raw, 1073741903, 0, 2, 106, 582] +[:key_up_raw, 1073741903, 0, 2, 107, 591] +[:key_down_raw, 96, 0, 2, 108, 652] +[:mouse_move, 824, 90, 2, 109, 656] +[:key_up_raw, 96, 0, 2, 110, 658] +[:mouse_move, 833, 91, 2, 111, 684] +[:mouse_move, 852, 92, 2, 112, 685] +[:mouse_move, 873, 95, 2, 113, 686] +[:mouse_move, 895, 98, 2, 114, 687] +[:mouse_move, 914, 101, 2, 115, 688] +[:mouse_move, 921, 102, 2, 116, 689] +[:mouse_move, 922, 102, 2, 117, 690] +[:mouse_move, 913, 106, 2, 118, 692] +[:mouse_move, 902, 110, 2, 119, 693] +[:mouse_move, 892, 114, 2, 120, 694] +[:mouse_move, 890, 114, 2, 121, 695] +[:key_down_raw, 13, 0, 2, 122, 718] diff --git a/samples/99_genre_arcade/flappy_dragon/app/main.rb b/samples/99_genre_arcade/flappy_dragon/app/main.rb index 56ce3ec..7ddc5a0 100644 --- a/samples/99_genre_arcade/flappy_dragon/app/main.rb +++ b/samples/99_genre_arcade/flappy_dragon/app/main.rb @@ -38,31 +38,36 @@ class FlappyDragon end def render_score - outputs.primitives << [10, 710, "HI SCORE: #{state.hi_score}", large_white_typeset].label - outputs.primitives << [10, 680, "SCORE: #{state.score}", large_white_typeset].label - outputs.primitives << [10, 650, "DIFFICULTY: #{state.difficulty.upcase}", large_white_typeset].label + outputs.primitives << { x: 10, y: 710, text: "HI SCORE: #{state.hi_score}", **large_white_typeset } + outputs.primitives << { x: 10, y: 680, text: "SCORE: #{state.score}", **large_white_typeset } + outputs.primitives << { x: 10, y: 650, text: "DIFFICULTY: #{state.difficulty.upcase}", **large_white_typeset } end def render_menu return unless state.scene == :menu render_overlay - outputs.labels << [640, 700, "Flappy Dragon", 50, 1, 255, 255, 255] - outputs.labels << [640, 500, "Instructions: Press Spacebar to flap. Don't die.", 4, 1, 255, 255, 255] - outputs.labels << [430, 430, "[Tab] Change difficulty", 4, 0, 255, 255, 255] - outputs.labels << [430, 400, "[Enter] Start at New Difficulty ", 4, 0, 255, 255, 255] - outputs.labels << [430, 370, "[Escape] Cancel/Resume ", 4, 0, 255, 255, 255] - outputs.labels << [640, 300, "(mouse, touch, and game controllers work, too!) ", 4, 1, 255, 255, 255] - outputs.labels << [640, 200, "Difficulty: #{state.new_difficulty.capitalize}", 4, 1, 255, 255, 255] - - outputs.labels << [10, 100, "Code: @amirrajan", 255, 255, 255] - outputs.labels << [10, 80, "Art: @mobypixel", 255, 255, 255] - outputs.labels << [10, 60, "Music: @mobypixel", 255, 255, 255] - outputs.labels << [10, 40, "Engine: DragonRuby GTK", 255, 255, 255] + outputs.labels << { x: 640, y: 700, text: "Flappy Dragon", size_enum: 50, alignment_enum: 1, **white } + outputs.labels << { x: 640, y: 500, text: "Instructions: Press Spacebar to flap. Don't die.", size_enum: 4, alignment_enum: 1, **white } + outputs.labels << { x: 430, y: 430, text: "[Tab] Change difficulty", size_enum: 4, alignment_enum: 0, **white } + outputs.labels << { x: 430, y: 400, text: "[Enter] Start at New Difficulty ", size_enum: 4, alignment_enum: 0, **white } + outputs.labels << { x: 430, y: 370, text: "[Escape] Cancel/Resume ", size_enum: 4, alignment_enum: 0, **white } + outputs.labels << { x: 640, y: 300, text: "(mouse, touch, and game controllers work, too!) ", size_enum: 4, alignment_enum: 1, **white } + outputs.labels << { x: 640, y: 200, text: "Difficulty: #{state.new_difficulty.capitalize}", size_enum: 4, alignment_enum: 1, **white } + + outputs.labels << { x: 10, y: 100, text: "Code: @amirrajan", **white } + outputs.labels << { x: 10, y: 80, text: "Art: @mobypixel", **white } + outputs.labels << { x: 10, y: 60, text: "Music: @mobypixel", **white } + outputs.labels << { x: 10, y: 40, text: "Engine: DragonRuby GTK", **white } end def render_overlay - outputs.primitives << [grid.rect.scale_rect(1.1, 0, 0), 0, 0, 0, 230].solid + overlay_rect = grid.rect.scale_rect(1.1, 0, 0) + outputs.primitives << { x: overlay_rect.x, + y: overlay_rect.y, + w: overlay_rect.w, + h: overlay_rect.h, + r: 0, g: 0, b: 0, a: 230 }.solid! end def render_game @@ -75,14 +80,14 @@ class FlappyDragon def render_game_over return unless state.scene == :game - outputs.labels << [638, 358, score_text, 20, 1] - outputs.labels << [635, 360, score_text, 20, 1, 255, 255, 255] - outputs.labels << [638, 428, countdown_text, 20, 1] - outputs.labels << [635, 430, countdown_text, 20, 1, 255, 255, 255] + outputs.labels << { x: 638, y: 358, text: score_text, size_enum: 20, alignment_enum: 1 } + outputs.labels << { x: 635, y: 360, text: score_text, size_enum: 20, alignment_enum: 1, r: 255, g: 255, b: 255 } + outputs.labels << { x: 638, y: 428, text: countdown_text, size_enum: 20, alignment_enum: 1 } + outputs.labels << { x: 635, y: 430, text: countdown_text, size_enum: 20, alignment_enum: 1, r: 255, g: 255, b: 255 } end def render_background - outputs.sprites << [0, 0, 1280, 720, 'sprites/background.png'] + outputs.sprites << { x: 0, y: 0, w: 1280, h: 720, path: 'sprites/background.png' } scroll_point_at = state.tick_count scroll_point_at = state.scene_at if state.scene == :menu @@ -94,11 +99,18 @@ class FlappyDragon outputs.sprites << scrolling_background(scroll_point_at, 'sprites/parallax_front.png', 1.00, -80) end + def scrolling_background at, path, rate, y = 0 + [ + { x: 0 - at.*(rate) % 1440, y: y, w: 1440, h: 720, path: path }, + { x: 1440 - at.*(rate) % 1440, y: y, w: 1440, h: 720, path: path } + ] + end + def render_walls state.walls.each do |w| w.sprites = [ - [w.x, w.bottom_height - 720, 100, 720, 'sprites/wall.png', 180], - [w.x, w.top_y, 100, 720, 'sprites/wallbottom.png', 0] + { x: w.x, y: w.bottom_height - 720, w: 100, h: 720, path: 'sprites/wall.png', angle: 180 }, + { x: w.x, y: w.top_y, w: 100, h: 720, path: 'sprites/wallbottom.png', angle: 0 } ] end outputs.sprites << state.walls.map(&:sprites) @@ -107,15 +119,13 @@ class FlappyDragon def render_dragon state.show_death = true if state.countdown == 3.seconds - render_debug_hitbox false - if state.show_death == false || !state.death_at animation_index = state.flapped_at.frame_index 6, 2, false if state.flapped_at sprite_name = "sprites/dragon_fly#{animation_index.or(0) + 1}.png" - state.dragon_sprite = [state.x, state.y, 100, 80, sprite_name, state.dy * 1.2] + state.dragon_sprite = { x: state.x, y: state.y, w: 100, h: 80, path: sprite_name, angle: state.dy * 1.2 } else sprite_name = "sprites/dragon_die.png" - state.dragon_sprite = [state.x, state.y, 100, 80, sprite_name, state.dy * 1.2] + state.dragon_sprite = { x: state.x, y: state.y, w: 100, h: 80, path: sprite_name, angle: state.dy * 1.2 } sprite_changed_elapsed = state.death_at.elapsed_time - 1.seconds state.dragon_sprite.angle += (sprite_changed_elapsed ** 1.3) * state.death_fall_direction * -1 state.dragon_sprite.x += (sprite_changed_elapsed ** 1.2) * state.death_fall_direction @@ -125,20 +135,12 @@ class FlappyDragon outputs.sprites << state.dragon_sprite end - def render_debug_hitbox show - return unless show - outputs.borders << [dragon_collision_box.rect, 255, 0, 0] if state.dragon_sprite - outputs.borders << state.walls.flat_map do |w| - w.sprites.map { |s| [s.rect, 255, 0, 0] } - end - end - def render_flash return unless state.flash_at - outputs.primitives << [grid.rect, - white, - 255 * state.flash_at.ease(20, :flip)].solid + outputs.primitives << { **grid.rect.to_hash, + **white, + a: 255 * state.flash_at.ease(20, :flip) }.solid! state.flash_at = 0 if state.flash_at.elapsed_time > 20 end @@ -258,19 +260,12 @@ class FlappyDragon end end - def scrolling_background at, path, rate, y = 0 - [ - [ 0 - at.*(rate) % 1440, y, 1440, 720, path], - [1440 - at.*(rate) % 1440, y, 1440, 720, path] - ] - end - def white - [255, 255, 255] + { r: 255, g: 255, b: 255 } end def large_white_typeset - [5, 0, 255, 255, 255] + { size_enum: 5, alignment_enum: 0, r: 255, g: 255, b: 255 } end def at_beginning? @@ -279,9 +274,9 @@ class FlappyDragon def dragon_collision_box state.dragon_sprite - .scale_rect(1.0 - collision_forgiveness, 0.5, 0.5) - .rect_shift_right(10) - .rect_shift_up(state.dy * 2) + .scale_rect(1.0 - collision_forgiveness, 0.5, 0.5) + .rect_shift_right(10) + .rect_shift_up(state.dy * 2) end def game_over? @@ -290,7 +285,7 @@ class FlappyDragon state.walls .flat_map { |w| w.sprites } .any? do |s| - s.intersect_rect?(dragon_collision_box) + s && s.intersect_rect?(dragon_collision_box) end end diff --git a/samples/99_genre_arcade/twinstick/replay.txt b/samples/99_genre_arcade/twinstick/replay.txt new file mode 100644 index 0000000..e05480f --- /dev/null +++ b/samples/99_genre_arcade/twinstick/replay.txt @@ -0,0 +1,174 @@ +replay_version 2.0 +stopped_at 819 +seed 100 +recorded_at 2021-11-20 11:29:24 -0600 +[:mouse_button_up, 1, 0, 1, 1, 3] +[:key_down_raw, 1073741903, 0, 2, 2, 89] +[:key_down_raw, 1073741903, 0, 2, 3, 104] +[:key_down_raw, 1073741903, 0, 2, 4, 106] +[:key_down_raw, 1073741903, 0, 2, 5, 108] +[:key_down_raw, 1073741903, 0, 2, 6, 110] +[:key_down_raw, 1073741903, 0, 2, 7, 112] +[:key_down_raw, 1073741903, 0, 2, 8, 114] +[:key_down_raw, 1073741903, 0, 2, 9, 116] +[:key_up_raw, 1073741903, 0, 2, 10, 117] +[:key_down_raw, 115, 0, 2, 11, 121] +[:key_down_raw, 1073741905, 0, 2, 12, 133] +[:key_down_raw, 1073741905, 0, 2, 13, 148] +[:key_down_raw, 1073741905, 0, 2, 14, 150] +[:key_down_raw, 1073741905, 0, 2, 15, 152] +[:key_down_raw, 1073741904, 0, 2, 16, 152] +[:key_up_raw, 1073741904, 0, 2, 17, 158] +[:key_up_raw, 1073741905, 0, 2, 18, 159] +[:key_down_raw, 1073741906, 0, 2, 19, 163] +[:key_down_raw, 1073741903, 0, 2, 20, 178] +[:key_up_raw, 1073741903, 0, 2, 21, 185] +[:key_down_raw, 100, 0, 2, 22, 195] +[:key_up_raw, 1073741906, 0, 2, 23, 195] +[:key_up_raw, 115, 0, 2, 24, 195] +[:key_down_raw, 1073741904, 0, 2, 25, 209] +[:key_down_raw, 1073741904, 0, 2, 26, 224] +[:key_down_raw, 1073741904, 0, 2, 27, 226] +[:key_down_raw, 1073741904, 0, 2, 28, 228] +[:key_down_raw, 1073741904, 0, 2, 29, 230] +[:key_down_raw, 119, 0, 2, 30, 230] +[:key_down_raw, 1073741906, 0, 2, 31, 237] +[:key_up_raw, 100, 0, 2, 32, 251] +[:key_down_raw, 1073741906, 0, 2, 33, 252] +[:key_down_raw, 1073741906, 0, 2, 34, 254] +[:key_down_raw, 1073741906, 0, 2, 35, 256] +[:key_down_raw, 1073741906, 0, 2, 36, 258] +[:key_down_raw, 97, 0, 2, 37, 259] +[:key_up_raw, 119, 0, 2, 38, 267] +[:key_up_raw, 1073741906, 0, 2, 39, 268] +[:key_down_raw, 1073741903, 0, 2, 40, 269] +[:key_up_raw, 1073741904, 0, 2, 41, 270] +[:key_down_raw, 1073741903, 0, 2, 42, 284] +[:key_down_raw, 1073741903, 0, 2, 43, 286] +[:key_down_raw, 1073741903, 0, 2, 44, 288] +[:key_down_raw, 1073741903, 0, 2, 45, 290] +[:key_down_raw, 1073741903, 0, 2, 46, 292] +[:key_down_raw, 1073741903, 0, 2, 47, 294] +[:key_down_raw, 1073741903, 0, 2, 48, 296] +[:key_down_raw, 1073741903, 0, 2, 49, 298] +[:key_down_raw, 1073741903, 0, 2, 50, 300] +[:key_down_raw, 1073741903, 0, 2, 51, 302] +[:key_down_raw, 1073741903, 0, 2, 52, 304] +[:key_down_raw, 119, 0, 2, 53, 304] +[:key_down_raw, 1073741906, 0, 2, 54, 311] +[:key_down_raw, 1073741906, 0, 2, 55, 326] +[:key_down_raw, 1073741906, 0, 2, 56, 328] +[:key_down_raw, 1073741906, 0, 2, 57, 330] +[:key_down_raw, 1073741906, 0, 2, 58, 332] +[:key_down_raw, 1073741906, 0, 2, 59, 334] +[:key_down_raw, 1073741906, 0, 2, 60, 336] +[:key_up_raw, 1073741903, 0, 2, 61, 336] +[:key_down_raw, 1073741906, 0, 2, 62, 338] +[:key_down_raw, 1073741906, 0, 2, 63, 340] +[:key_down_raw, 1073741906, 0, 2, 64, 342] +[:key_down_raw, 1073741906, 0, 2, 65, 344] +[:key_up_raw, 119, 0, 2, 66, 344] +[:key_down_raw, 1073741906, 0, 2, 67, 346] +[:key_up_raw, 1073741906, 0, 2, 68, 347] +[:key_down_raw, 1073741903, 0, 2, 69, 347] +[:key_down_raw, 115, 0, 2, 70, 353] +[:key_down_raw, 1073741906, 0, 2, 71, 355] +[:key_up_raw, 97, 0, 2, 72, 356] +[:key_up_raw, 1073741903, 0, 2, 73, 360] +[:key_down_raw, 1073741906, 0, 2, 74, 370] +[:key_down_raw, 1073741906, 0, 2, 75, 372] +[:key_down_raw, 1073741906, 0, 2, 76, 374] +[:key_down_raw, 1073741906, 0, 2, 77, 376] +[:key_down_raw, 1073741906, 0, 2, 78, 378] +[:key_down_raw, 1073741906, 0, 2, 79, 380] +[:key_down_raw, 97, 0, 2, 80, 381] +[:key_up_raw, 115, 0, 2, 81, 385] +[:key_down_raw, 1073741903, 0, 2, 82, 386] +[:key_up_raw, 1073741906, 0, 2, 83, 391] +[:key_down_raw, 1073741903, 0, 2, 84, 401] +[:key_down_raw, 1073741903, 0, 2, 85, 403] +[:key_down_raw, 1073741903, 0, 2, 86, 405] +[:key_down_raw, 1073741903, 0, 2, 87, 407] +[:key_down_raw, 1073741903, 0, 2, 88, 409] +[:key_down_raw, 1073741903, 0, 2, 89, 411] +[:key_down_raw, 1073741903, 0, 2, 90, 413] +[:key_down_raw, 1073741903, 0, 2, 91, 415] +[:key_down_raw, 1073741903, 0, 2, 92, 417] +[:key_down_raw, 1073741903, 0, 2, 93, 419] +[:key_down_raw, 1073741903, 0, 2, 94, 421] +[:key_down_raw, 1073741903, 0, 2, 95, 423] +[:key_down_raw, 1073741903, 0, 2, 96, 425] +[:key_down_raw, 1073741903, 0, 2, 97, 428] +[:key_down_raw, 1073741903, 0, 2, 98, 430] +[:key_up_raw, 97, 0, 2, 99, 430] +[:key_down_raw, 1073741903, 0, 2, 100, 432] +[:key_down_raw, 1073741903, 0, 2, 101, 434] +[:key_down_raw, 1073741903, 0, 2, 102, 436] +[:key_up_raw, 1073741903, 0, 2, 103, 436] +[:key_down_raw, 100, 0, 2, 104, 447] +[:key_down_raw, 1073741904, 0, 2, 105, 447] +[:key_down_raw, 1073741904, 0, 2, 106, 462] +[:key_down_raw, 1073741904, 0, 2, 107, 464] +[:key_down_raw, 1073741904, 0, 2, 108, 466] +[:key_down_raw, 1073741904, 0, 2, 109, 468] +[:key_down_raw, 1073741904, 0, 2, 110, 470] +[:key_down_raw, 1073741904, 0, 2, 111, 472] +[:key_down_raw, 1073741904, 0, 2, 112, 474] +[:key_down_raw, 1073741904, 0, 2, 113, 476] +[:key_down_raw, 1073741904, 0, 2, 114, 478] +[:key_down_raw, 1073741904, 0, 2, 115, 480] +[:key_down_raw, 1073741904, 0, 2, 116, 482] +[:key_down_raw, 1073741904, 0, 2, 117, 484] +[:key_down_raw, 1073741904, 0, 2, 118, 486] +[:key_down_raw, 1073741904, 0, 2, 119, 488] +[:key_down_raw, 1073741904, 0, 2, 120, 490] +[:key_down_raw, 1073741904, 0, 2, 121, 492] +[:key_down_raw, 1073741904, 0, 2, 122, 494] +[:key_down_raw, 1073741904, 0, 2, 123, 496] +[:key_down_raw, 1073741904, 0, 2, 124, 498] +[:key_down_raw, 1073741904, 0, 2, 125, 500] +[:key_down_raw, 1073741904, 0, 2, 126, 502] +[:key_down_raw, 1073741904, 0, 2, 127, 504] +[:key_down_raw, 1073741904, 0, 2, 128, 506] +[:key_down_raw, 1073741904, 0, 2, 129, 508] +[:key_up_raw, 100, 0, 2, 130, 508] +[:key_down_raw, 1073741904, 0, 2, 131, 510] +[:key_down_raw, 1073741904, 0, 2, 132, 512] +[:key_up_raw, 1073741904, 0, 2, 133, 513] +[:key_down_raw, 1073741906, 0, 2, 134, 569] +[:key_down_raw, 1073741903, 0, 2, 135, 570] +[:key_down_raw, 1073741903, 0, 2, 136, 585] +[:key_down_raw, 1073741903, 0, 2, 137, 587] +[:key_up_raw, 1073741903, 0, 2, 138, 588] +[:key_down_raw, 1073741903, 0, 2, 139, 597] +[:key_up_raw, 1073741906, 0, 2, 140, 600] +[:key_up_raw, 1073741903, 0, 2, 141, 608] +[:key_down_raw, 1073741906, 0, 2, 142, 610] +[:key_up_raw, 1073741906, 0, 2, 143, 615] +[:key_down_raw, 1073741906, 0, 2, 144, 619] +[:key_down_raw, 119, 0, 2, 145, 621] +[:key_up_raw, 1073741906, 0, 2, 146, 623] +[:key_down_raw, 119, 0, 2, 147, 636] +[:key_down_raw, 119, 0, 2, 148, 638] +[:key_down_raw, 119, 0, 2, 149, 640] +[:key_down_raw, 119, 0, 2, 150, 642] +[:key_up_raw, 119, 0, 2, 151, 642] +[:key_down_raw, 100, 0, 2, 152, 653] +[:key_down_raw, 100, 0, 2, 153, 668] +[:key_down_raw, 100, 0, 2, 154, 670] +[:key_down_raw, 100, 0, 2, 155, 672] +[:key_down_raw, 100, 0, 2, 156, 674] +[:key_down_raw, 100, 0, 2, 157, 676] +[:key_down_raw, 100, 0, 2, 158, 678] +[:key_down_raw, 100, 0, 2, 159, 680] +[:key_down_raw, 100, 0, 2, 160, 682] +[:key_down_raw, 100, 0, 2, 161, 684] +[:key_down_raw, 100, 0, 2, 162, 686] +[:key_down_raw, 115, 0, 2, 163, 686] +[:key_up_raw, 100, 0, 2, 164, 697] +[:key_down_raw, 97, 0, 2, 165, 699] +[:key_up_raw, 115, 0, 2, 166, 704] +[:key_up_raw, 97, 0, 2, 167, 714] +[:key_down_raw, 96, 0, 2, 168, 769] +[:key_up_raw, 96, 0, 2, 169, 774] +[:key_down_raw, 13, 0, 2, 170, 819] |
