summaryrefslogtreecommitdiffhomepage
path: root/samples
diff options
context:
space:
mode:
authorAmir Rajan <[email protected]>2020-09-22 06:27:46 -0500
committerAmir Rajan <[email protected]>2020-09-22 06:27:46 -0500
commit20d5b4057b44ffcf92478b2a8e9476ace2fdc0f5 (patch)
treeb4742e4f9acfd5400a04f314164812606a71df9f /samples
parent5b2311900072cfff9582bb0296140cfb354cb911 (diff)
downloaddragonruby-game-toolkit-contrib-20d5b4057b44ffcf92478b2a8e9476ace2fdc0f5.tar.gz
dragonruby-game-toolkit-contrib-20d5b4057b44ffcf92478b2a8e9476ace2fdc0f5.zip
synced with 1.22
Diffstat (limited to 'samples')
-rw-r--r--samples/00_learn_ruby_optional/00_intermediate_ruby_primer/app/01_printing.txt (renamed from samples/00_learn_ruby_optional/00_intermediate_ruby_primer/app/02_printing_to_the_console.txt)0
-rw-r--r--samples/00_learn_ruby_optional/00_intermediate_ruby_primer/app/02_strings.txt (renamed from samples/00_learn_ruby_optional/00_intermediate_ruby_primer/app/03_strings.txt)0
-rw-r--r--samples/00_learn_ruby_optional/00_intermediate_ruby_primer/app/03_numbers.txt (renamed from samples/00_learn_ruby_optional/00_intermediate_ruby_primer/app/04_numbers.txt)0
-rw-r--r--samples/00_learn_ruby_optional/00_intermediate_ruby_primer/app/04_booleans.txt (renamed from samples/00_learn_ruby_optional/00_intermediate_ruby_primer/app/05_booleans.txt)0
-rw-r--r--samples/00_learn_ruby_optional/00_intermediate_ruby_primer/app/05_conditionals.txt (renamed from samples/00_learn_ruby_optional/00_intermediate_ruby_primer/app/06_conditionals.txt)0
-rw-r--r--samples/00_learn_ruby_optional/00_intermediate_ruby_primer/app/06_looping.txt (renamed from samples/00_learn_ruby_optional/00_intermediate_ruby_primer/app/07_looping.txt)0
-rw-r--r--samples/00_learn_ruby_optional/00_intermediate_ruby_primer/app/07_functions.txt (renamed from samples/00_learn_ruby_optional/00_intermediate_ruby_primer/app/08_functions.txt)0
-rw-r--r--samples/00_learn_ruby_optional/00_intermediate_ruby_primer/app/08_arrays.txt (renamed from samples/00_learn_ruby_optional/00_intermediate_ruby_primer/app/09_powerful_arrays.txt)0
-rw-r--r--samples/03_rendering_sprites/01_animation_using_separate_pngs/app/main.rb (renamed from samples/03_rendering_sprites/01_animation_using_seperate_pngs/app/main.rb)0
-rw-r--r--samples/03_rendering_sprites/01_animation_using_separate_pngs/license-for-sample.txt (renamed from samples/03_rendering_sprites/01_animation_using_seperate_pngs/license-for-sample.txt)0
-rw-r--r--samples/03_rendering_sprites/01_animation_using_separate_pngs/replay.txt (renamed from samples/03_rendering_sprites/01_animation_using_seperate_pngs/replay.txt)0
-rw-r--r--samples/03_rendering_sprites/01_animation_using_separate_pngs/sprites/dragon_fly_0.png (renamed from samples/03_rendering_sprites/01_animation_using_seperate_pngs/sprites/dragon_fly_0.png)bin12896 -> 12896 bytes
-rw-r--r--samples/03_rendering_sprites/01_animation_using_separate_pngs/sprites/dragon_fly_1.png (renamed from samples/03_rendering_sprites/01_animation_using_seperate_pngs/sprites/dragon_fly_1.png)bin2964 -> 2964 bytes
-rw-r--r--samples/03_rendering_sprites/01_animation_using_separate_pngs/sprites/dragon_fly_2.png (renamed from samples/03_rendering_sprites/01_animation_using_seperate_pngs/sprites/dragon_fly_2.png)bin3047 -> 3047 bytes
-rw-r--r--samples/03_rendering_sprites/01_animation_using_separate_pngs/sprites/dragon_fly_3.png (renamed from samples/03_rendering_sprites/01_animation_using_seperate_pngs/sprites/dragon_fly_3.png)bin2655 -> 2655 bytes
-rw-r--r--samples/03_rendering_sprites/01_animation_using_separate_pngs/sprites/dragon_fly_4.png (renamed from samples/03_rendering_sprites/01_animation_using_seperate_pngs/sprites/dragon_fly_4.png)bin2725 -> 2725 bytes
-rw-r--r--samples/03_rendering_sprites/01_animation_using_separate_pngs/sprites/dragon_fly_5.png (renamed from samples/03_rendering_sprites/01_animation_using_seperate_pngs/sprites/dragon_fly_5.png)bin2655 -> 2655 bytes
-rw-r--r--samples/04_physics_and_collisions/05_box_collision_2/app/main.rb (renamed from samples/04_physics_and_collisions/04_box_collision_2/app/main.rb)0
-rw-r--r--samples/04_physics_and_collisions/05_box_collision_2/app/map.txt (renamed from samples/04_physics_and_collisions/04_box_collision_2/app/map.txt)0
-rw-r--r--samples/04_physics_and_collisions/05_box_collision_2/license-for-sample.txt (renamed from samples/04_physics_and_collisions/04_box_collision_2/license-for-sample.txt)0
-rw-r--r--samples/04_physics_and_collisions/05_box_collision_2/replay.txt (renamed from samples/04_physics_and_collisions/04_box_collision_2/replay.txt)0
-rw-r--r--samples/04_physics_and_collisions/05_box_collision_2/sprites/image1.png (renamed from samples/04_physics_and_collisions/04_box_collision_2/sprites/image1.png)bin473 -> 473 bytes
-rw-r--r--samples/04_physics_and_collisions/05_box_collision_2/sprites/image10.png (renamed from samples/04_physics_and_collisions/04_box_collision_2/sprites/image10.png)bin473 -> 473 bytes
-rw-r--r--samples/04_physics_and_collisions/05_box_collision_2/sprites/image11.png (renamed from samples/04_physics_and_collisions/04_box_collision_2/sprites/image11.png)bin473 -> 473 bytes
-rw-r--r--samples/04_physics_and_collisions/05_box_collision_2/sprites/image12.png (renamed from samples/04_physics_and_collisions/04_box_collision_2/sprites/image12.png)bin473 -> 473 bytes
-rw-r--r--samples/04_physics_and_collisions/05_box_collision_2/sprites/image13.png (renamed from samples/04_physics_and_collisions/04_box_collision_2/sprites/image13.png)bin473 -> 473 bytes
-rw-r--r--samples/04_physics_and_collisions/05_box_collision_2/sprites/image14.png (renamed from samples/04_physics_and_collisions/04_box_collision_2/sprites/image14.png)bin473 -> 473 bytes
-rw-r--r--samples/04_physics_and_collisions/05_box_collision_2/sprites/image15.png (renamed from samples/04_physics_and_collisions/04_box_collision_2/sprites/image15.png)bin473 -> 473 bytes
-rw-r--r--samples/04_physics_and_collisions/05_box_collision_2/sprites/image16.png (renamed from samples/04_physics_and_collisions/04_box_collision_2/sprites/image16.png)bin473 -> 473 bytes
-rw-r--r--samples/04_physics_and_collisions/05_box_collision_2/sprites/image17.png (renamed from samples/04_physics_and_collisions/04_box_collision_2/sprites/image17.png)bin473 -> 473 bytes
-rw-r--r--samples/04_physics_and_collisions/05_box_collision_2/sprites/image18.png (renamed from samples/04_physics_and_collisions/04_box_collision_2/sprites/image18.png)bin473 -> 473 bytes
-rw-r--r--samples/04_physics_and_collisions/05_box_collision_2/sprites/image19.png (renamed from samples/04_physics_and_collisions/04_box_collision_2/sprites/image19.png)bin473 -> 473 bytes
-rw-r--r--samples/04_physics_and_collisions/05_box_collision_2/sprites/image2.png (renamed from samples/04_physics_and_collisions/04_box_collision_2/sprites/image2.png)bin473 -> 473 bytes
-rw-r--r--samples/04_physics_and_collisions/05_box_collision_2/sprites/image20.png (renamed from samples/04_physics_and_collisions/04_box_collision_2/sprites/image20.png)bin473 -> 473 bytes
-rw-r--r--samples/04_physics_and_collisions/05_box_collision_2/sprites/image3.png (renamed from samples/04_physics_and_collisions/04_box_collision_2/sprites/image3.png)bin473 -> 473 bytes
-rw-r--r--samples/04_physics_and_collisions/05_box_collision_2/sprites/image4.png (renamed from samples/04_physics_and_collisions/04_box_collision_2/sprites/image4.png)bin473 -> 473 bytes
-rw-r--r--samples/04_physics_and_collisions/05_box_collision_2/sprites/image5.png (renamed from samples/04_physics_and_collisions/04_box_collision_2/sprites/image5.png)bin473 -> 473 bytes
-rw-r--r--samples/04_physics_and_collisions/05_box_collision_2/sprites/image6.png (renamed from samples/04_physics_and_collisions/04_box_collision_2/sprites/image6.png)bin473 -> 473 bytes
-rw-r--r--samples/04_physics_and_collisions/05_box_collision_2/sprites/image7.png (renamed from samples/04_physics_and_collisions/04_box_collision_2/sprites/image7.png)bin473 -> 473 bytes
-rw-r--r--samples/04_physics_and_collisions/05_box_collision_2/sprites/image8.png (renamed from samples/04_physics_and_collisions/04_box_collision_2/sprites/image8.png)bin473 -> 473 bytes
-rw-r--r--samples/04_physics_and_collisions/05_box_collision_2/sprites/image9.png (renamed from samples/04_physics_and_collisions/04_box_collision_2/sprites/image9.png)bin473 -> 473 bytes
-rw-r--r--samples/04_physics_and_collisions/05_box_collision_2/sprites/player.png (renamed from samples/04_physics_and_collisions/04_box_collision_2/sprites/player.png)bin744 -> 744 bytes
-rw-r--r--samples/04_physics_and_collisions/06_jump_physics/app/main.rb (renamed from samples/04_physics_and_collisions/04_jump_physics/app/main.rb)0
-rw-r--r--samples/04_physics_and_collisions/06_jump_physics/replay.txt (renamed from samples/04_physics_and_collisions/04_jump_physics/replay.txt)0
-rw-r--r--samples/05_mouse/01_mouse_click/app/main.rb (renamed from samples/05_mouse/03_mouse_click/app/main.rb)0
-rw-r--r--samples/05_mouse/01_mouse_click/license-for-sample.txt (renamed from samples/05_mouse/03_mouse_click/license-for-sample.txt)0
-rw-r--r--samples/05_mouse/01_mouse_click/replay.txt (renamed from samples/05_mouse/03_mouse_click/replay.txt)0
-rw-r--r--samples/05_mouse/02_mouse_move/app/main.rb (renamed from samples/05_mouse/05_mouse_move/app/main.rb)0
-rw-r--r--samples/05_mouse/02_mouse_move/license-for-sample.txt (renamed from samples/05_mouse/05_mouse_move/license-for-sample.txt)0
-rw-r--r--samples/05_mouse/02_mouse_move/replay.txt (renamed from samples/05_mouse/05_mouse_move/replay.txt)0
-rw-r--r--samples/05_mouse/02_mouse_move/sprites/player-0.png (renamed from samples/05_mouse/05_mouse_move/sprites/player-0.png)bin1499 -> 1499 bytes
-rw-r--r--samples/05_mouse/02_mouse_move/sprites/player-1.png (renamed from samples/05_mouse/05_mouse_move/sprites/player-1.png)bin1524 -> 1524 bytes
-rw-r--r--samples/05_mouse/02_mouse_move/sprites/player-2.png (renamed from samples/05_mouse/05_mouse_move/sprites/player-2.png)bin1528 -> 1528 bytes
-rw-r--r--samples/05_mouse/02_mouse_move/sprites/player-3.png (renamed from samples/05_mouse/05_mouse_move/sprites/player-3.png)bin1499 -> 1499 bytes
-rw-r--r--samples/05_mouse/02_mouse_move/sprites/player-4.png (renamed from samples/05_mouse/05_mouse_move/sprites/player-4.png)bin2118 -> 2118 bytes
-rw-r--r--samples/05_mouse/02_mouse_move/sprites/player-5.png (renamed from samples/05_mouse/05_mouse_move/sprites/player-5.png)bin2118 -> 2118 bytes
-rw-r--r--samples/05_mouse/02_mouse_move/sprites/slash.png (renamed from samples/05_mouse/05_mouse_move/sprites/slash.png)bin143 -> 143 bytes
-rw-r--r--samples/05_mouse/02_mouse_move/sprites/zombie-0.png (renamed from samples/05_mouse/05_mouse_move/sprites/zombie-0.png)bin144 -> 144 bytes
-rw-r--r--samples/05_mouse/02_mouse_move/sprites/zombie-1.png (renamed from samples/05_mouse/05_mouse_move/sprites/zombie-1.png)bin153 -> 153 bytes
-rw-r--r--samples/05_mouse/02_mouse_move/sprites/zombie-2.png (renamed from samples/05_mouse/05_mouse_move/sprites/zombie-2.png)bin157 -> 157 bytes
-rw-r--r--samples/05_mouse/02_mouse_move/sprites/zombie-3.png (renamed from samples/05_mouse/05_mouse_move/sprites/zombie-3.png)bin144 -> 144 bytes
-rw-r--r--samples/05_mouse/02_mouse_move/sprites/zombie-4.png (renamed from samples/05_mouse/05_mouse_move/sprites/zombie-4.png)bin541 -> 541 bytes
-rw-r--r--samples/05_mouse/02_mouse_move/sprites/zombie-5.png (renamed from samples/05_mouse/05_mouse_move/sprites/zombie-5.png)bin524 -> 524 bytes
-rw-r--r--samples/05_mouse/03_mouse_move_paint_app/app/main.rb (renamed from samples/05_mouse/05_mouse_move_paint_app/app/main.rb)0
-rw-r--r--samples/05_mouse/03_mouse_move_paint_app/license-for-sample.txt (renamed from samples/05_mouse/05_mouse_move_paint_app/license-for-sample.txt)0
-rw-r--r--samples/05_mouse/03_mouse_move_paint_app/replay.txt (renamed from samples/05_mouse/05_mouse_move_paint_app/replay.txt)0
-rw-r--r--samples/05_mouse/04_coordinate_systems/app/main.rb (renamed from samples/05_mouse/06_coordinate_systems/app/main.rb)0
-rw-r--r--samples/05_mouse/04_coordinate_systems/license-for-sample.txt (renamed from samples/05_mouse/06_coordinate_systems/license-for-sample.txt)0
-rw-r--r--samples/05_mouse/04_coordinate_systems/replay.txt (renamed from samples/05_mouse/06_coordinate_systems/replay.txt)0
-rw-r--r--samples/06_save_load/01_save_load_game/app/main.rb (renamed from samples/06_save_load/10_save_load_game/app/main.rb)0
-rw-r--r--samples/06_save_load/01_save_load_game/license-for-sample.txt (renamed from samples/06_save_load/10_save_load_game/license-for-sample.txt)0
-rw-r--r--samples/06_save_load/01_save_load_game/replay.txt (renamed from samples/06_save_load/10_save_load_game/replay.txt)0
-rw-r--r--samples/07_advanced_rendering/05_render_primitives_as_hash/app/main.rb (renamed from samples/07_advanced_rendering/11_render_primitives_as_hash/app/main.rb)0
-rw-r--r--samples/07_advanced_rendering/05_render_primitives_as_hash/fonts/manaspc.ttf (renamed from samples/07_advanced_rendering/11_render_primitives_as_hash/fonts/manaspc.ttf)bin9556 -> 9556 bytes
-rw-r--r--samples/07_advanced_rendering/05_render_primitives_as_hash/license-for-sample.txt (renamed from samples/07_advanced_rendering/11_render_primitives_as_hash/license-for-sample.txt)0
-rw-r--r--samples/08_tweening_lerping_easing_functions/01_easing_functions/app/main.rb (renamed from samples/08_lerping_easing_functions/01_easing_functions/app/main.rb)0
-rw-r--r--samples/08_tweening_lerping_easing_functions/01_easing_functions/license-for-sample.txt (renamed from samples/08_lerping_easing_functions/01_easing_functions/license-for-sample.txt)0
-rw-r--r--samples/08_tweening_lerping_easing_functions/02_cubic_bezier/app/main.rb (renamed from samples/08_lerping_easing_functions/02_cubic_bezier/app/main.rb)0
-rw-r--r--samples/08_tweening_lerping_easing_functions/03_easing_using_spline/app/main.rb (renamed from samples/08_lerping_easing_functions/03_easing_using_spline/app/main.rb)0
-rw-r--r--samples/08_tweening_lerping_easing_functions/04_parametric_enemy_movement/app/main.rb (renamed from samples/08_lerping_easing_functions/04_parametric_enemy_movement/app/main.rb)0
-rw-r--r--samples/08_tweening_lerping_easing_functions/04_parametric_enemy_movement/license-for-sample.txt (renamed from samples/08_lerping_easing_functions/04_parametric_enemy_movement/license-for-sample.txt)0
-rw-r--r--samples/08_tweening_lerping_easing_functions/04_parametric_enemy_movement/replay.txt (renamed from samples/08_lerping_easing_functions/04_parametric_enemy_movement/replay.txt)0
-rw-r--r--samples/12_c_extensions/01_basics/.gitignore1
-rw-r--r--samples/12_c_extensions/01_basics/app/ext.c4
-rw-r--r--samples/12_c_extensions/01_basics/app/main.rb7
-rw-r--r--samples/12_c_extensions/01_basics/license-for-sample.txt (renamed from samples/99_genre_narrative_rpg/choose_your_own_adventure/license-for-sample.txt)0
-rw-r--r--samples/12_c_extensions/01_basics/metadata/game_metadata.txt5
-rw-r--r--samples/12_c_extensions/01_basics/pre.bat4
-rwxr-xr-xsamples/12_c_extensions/01_basics/pre.sh10
-rw-r--r--samples/99_genre_dev_tools/add_buttons_to_console/app/main.rb58
-rw-r--r--samples/99_genre_platformer/the_little_probe/app/main.rb8
-rw-r--r--samples/99_genre_platformer/the_little_probe/data/level.txt (renamed from samples/99_genre_platformer/the_little_probe/level.txt)0
-rw-r--r--samples/99_genre_platformer/the_little_probe/data/level_lava.txt (renamed from samples/99_genre_platformer/the_little_probe/level_lava.txt)0
-rw-r--r--samples/99_genre_rpg_narrative/choose_your_own_adventure/app/decision.rb (renamed from samples/99_genre_narrative_rpg/choose_your_own_adventure/app/decision.rb)0
-rw-r--r--samples/99_genre_rpg_narrative/choose_your_own_adventure/app/main.rb (renamed from samples/99_genre_narrative_rpg/choose_your_own_adventure/app/main.rb)0
-rw-r--r--samples/99_genre_rpg_narrative/choose_your_own_adventure/license-for-sample.txt (renamed from samples/99_genre_roguelike/roguelike_line_of_sight/license-for-sample.txt)0
-rw-r--r--samples/99_genre_rpg_narrative/choose_your_own_adventure/replay.txt (renamed from samples/99_genre_narrative_rpg/choose_your_own_adventure/replay.txt)0
-rw-r--r--samples/99_genre_rpg_narrative/return_of_serenity/app/lowrez_simulator.rb (renamed from samples/99_genre_narrative_rpg/return_of_serenity/app/lowrez_simulator.rb)0
-rw-r--r--samples/99_genre_rpg_narrative/return_of_serenity/app/main.rb (renamed from samples/99_genre_narrative_rpg/return_of_serenity/app/main.rb)90
-rw-r--r--samples/99_genre_rpg_narrative/return_of_serenity/app/repl.rb (renamed from samples/99_genre_narrative_rpg/return_of_serenity/app/repl.rb)0
-rw-r--r--samples/99_genre_rpg_narrative/return_of_serenity/app/require.rb (renamed from samples/99_genre_narrative_rpg/return_of_serenity/app/require.rb)0
-rw-r--r--samples/99_genre_rpg_narrative/return_of_serenity/app/storyline.rb (renamed from samples/99_genre_narrative_rpg/return_of_serenity/app/storyline.rb)0
-rw-r--r--samples/99_genre_rpg_narrative/return_of_serenity/app/storyline_anka.rb (renamed from samples/99_genre_narrative_rpg/return_of_serenity/app/storyline_anka.rb)0
-rw-r--r--samples/99_genre_rpg_narrative/return_of_serenity/app/storyline_blinking_light.rb (renamed from samples/99_genre_narrative_rpg/return_of_serenity/app/storyline_blinking_light.rb)0
-rw-r--r--samples/99_genre_rpg_narrative/return_of_serenity/app/storyline_day_one.rb (renamed from samples/99_genre_narrative_rpg/return_of_serenity/app/storyline_day_one.rb)0
-rw-r--r--samples/99_genre_rpg_narrative/return_of_serenity/app/storyline_final_decision.rb (renamed from samples/99_genre_narrative_rpg/return_of_serenity/app/storyline_final_decision.rb)0
-rw-r--r--samples/99_genre_rpg_narrative/return_of_serenity/app/storyline_final_message.rb (renamed from samples/99_genre_narrative_rpg/return_of_serenity/app/storyline_final_message.rb)0
-rw-r--r--samples/99_genre_rpg_narrative/return_of_serenity/app/storyline_serenity_alive.rb (renamed from samples/99_genre_narrative_rpg/return_of_serenity/app/storyline_serenity_alive.rb)0
-rw-r--r--samples/99_genre_rpg_narrative/return_of_serenity/app/storyline_serenity_bio.rb (renamed from samples/99_genre_narrative_rpg/return_of_serenity/app/storyline_serenity_bio.rb)0
-rw-r--r--samples/99_genre_rpg_narrative/return_of_serenity/app/storyline_serenity_introduction.rb (renamed from samples/99_genre_narrative_rpg/return_of_serenity/app/storyline_serenity_introduction.rb)0
-rw-r--r--samples/99_genre_rpg_narrative/return_of_serenity/app/storyline_speed_of_light.rb (renamed from samples/99_genre_narrative_rpg/return_of_serenity/app/storyline_speed_of_light.rb)0
-rw-r--r--samples/99_genre_rpg_narrative/return_of_serenity/fonts/dragonruby-gtk-4x4.ttf (renamed from samples/99_genre_narrative_rpg/return_of_serenity/fonts/dragonruby-gtk-4x4.ttf)bin8820 -> 8820 bytes
-rw-r--r--samples/99_genre_rpg_narrative/return_of_serenity/fonts/manaspc.ttf (renamed from samples/99_genre_narrative_rpg/return_of_serenity/fonts/manaspc.ttf)bin9556 -> 9556 bytes
-rw-r--r--samples/99_genre_rpg_narrative/return_of_serenity/license-for-sample.txt (renamed from samples/99_genre_narrative_rpg/return_of_serenity/license-for-sample.txt)0
-rw-r--r--samples/99_genre_rpg_narrative/return_of_serenity/replay.txt (renamed from samples/99_genre_narrative_rpg/return_of_serenity/replay.txt)0
-rw-r--r--samples/99_genre_rpg_narrative/return_of_serenity/sounds/music-loop.ogg (renamed from samples/99_genre_narrative_rpg/return_of_serenity/sounds/music-loop.ogg)bin1362527 -> 1362527 bytes
-rw-r--r--samples/99_genre_rpg_narrative/return_of_serenity/sounds/static-loop.ogg (renamed from samples/99_genre_narrative_rpg/return_of_serenity/sounds/static-loop.ogg)bin465901 -> 465901 bytes
-rw-r--r--samples/99_genre_rpg_narrative/return_of_serenity/sprites/book.png (renamed from samples/99_genre_narrative_rpg/return_of_serenity/sprites/book.png)bin6561 -> 6561 bytes
-rw-r--r--samples/99_genre_rpg_narrative/return_of_serenity/sprites/decision.png (renamed from samples/99_genre_narrative_rpg/return_of_serenity/sprites/decision.png)bin4845 -> 4845 bytes
-rw-r--r--samples/99_genre_rpg_narrative/return_of_serenity/sprites/dream.png (renamed from samples/99_genre_narrative_rpg/return_of_serenity/sprites/dream.png)bin6661 -> 6661 bytes
-rw-r--r--samples/99_genre_rpg_narrative/return_of_serenity/sprites/front-of-home.png (renamed from samples/99_genre_narrative_rpg/return_of_serenity/sprites/front-of-home.png)bin6264 -> 6264 bytes
-rw-r--r--samples/99_genre_rpg_narrative/return_of_serenity/sprites/inside-home.png (renamed from samples/99_genre_narrative_rpg/return_of_serenity/sprites/inside-home.png)bin7011 -> 7011 bytes
-rw-r--r--samples/99_genre_rpg_narrative/return_of_serenity/sprites/inside-observatory.png (renamed from samples/99_genre_narrative_rpg/return_of_serenity/sprites/inside-observatory.png)bin6691 -> 6691 bytes
-rw-r--r--samples/99_genre_rpg_narrative/return_of_serenity/sprites/label-background.png (renamed from samples/99_genre_narrative_rpg/return_of_serenity/sprites/label-background.png)bin101 -> 101 bytes
-rw-r--r--samples/99_genre_rpg_narrative/return_of_serenity/sprites/library.png (renamed from samples/99_genre_narrative_rpg/return_of_serenity/sprites/library.png)bin6347 -> 6347 bytes
-rw-r--r--samples/99_genre_rpg_narrative/return_of_serenity/sprites/mainframe.png (renamed from samples/99_genre_narrative_rpg/return_of_serenity/sprites/mainframe.png)bin6257 -> 6257 bytes
-rw-r--r--samples/99_genre_rpg_narrative/return_of_serenity/sprites/mountain-pass-zoomed-out.png (renamed from samples/99_genre_narrative_rpg/return_of_serenity/sprites/mountain-pass-zoomed-out.png)bin8959 -> 8959 bytes
-rw-r--r--samples/99_genre_rpg_narrative/return_of_serenity/sprites/observatory.png (renamed from samples/99_genre_narrative_rpg/return_of_serenity/sprites/observatory.png)bin7728 -> 7728 bytes
-rw-r--r--samples/99_genre_rpg_narrative/return_of_serenity/sprites/outside-library.png (renamed from samples/99_genre_narrative_rpg/return_of_serenity/sprites/outside-library.png)bin7036 -> 7036 bytes
-rw-r--r--samples/99_genre_rpg_narrative/return_of_serenity/sprites/path-to-observatory.png (renamed from samples/99_genre_narrative_rpg/return_of_serenity/sprites/path-to-observatory.png)bin7708 -> 7708 bytes
-rw-r--r--samples/99_genre_rpg_narrative/return_of_serenity/sprites/pc.png (renamed from samples/99_genre_narrative_rpg/return_of_serenity/sprites/pc.png)bin6478 -> 6478 bytes
-rw-r--r--samples/99_genre_rpg_narrative/return_of_serenity/sprites/planets.png (renamed from samples/99_genre_narrative_rpg/return_of_serenity/sprites/planets.png)bin7024 -> 7024 bytes
-rw-r--r--samples/99_genre_rpg_narrative/return_of_serenity/sprites/player-down.png (renamed from samples/99_genre_narrative_rpg/return_of_serenity/sprites/player-down.png)bin148 -> 148 bytes
-rw-r--r--samples/99_genre_rpg_narrative/return_of_serenity/sprites/player-left.png (renamed from samples/99_genre_narrative_rpg/return_of_serenity/sprites/player-left.png)bin134 -> 134 bytes
-rw-r--r--samples/99_genre_rpg_narrative/return_of_serenity/sprites/player-right.png (renamed from samples/99_genre_narrative_rpg/return_of_serenity/sprites/player-right.png)bin123 -> 123 bytes
-rw-r--r--samples/99_genre_rpg_narrative/return_of_serenity/sprites/player-up.png (renamed from samples/99_genre_narrative_rpg/return_of_serenity/sprites/player-up.png)bin148 -> 148 bytes
-rw-r--r--samples/99_genre_rpg_narrative/return_of_serenity/sprites/player-zoomed-out.png (renamed from samples/99_genre_narrative_rpg/return_of_serenity/sprites/player-zoomed-out.png)bin104 -> 104 bytes
-rw-r--r--samples/99_genre_rpg_narrative/return_of_serenity/sprites/serenity.png (renamed from samples/99_genre_narrative_rpg/return_of_serenity/sprites/serenity.png)bin6289 -> 6289 bytes
-rw-r--r--samples/99_genre_rpg_narrative/return_of_serenity/sprites/side-of-home.png (renamed from samples/99_genre_narrative_rpg/return_of_serenity/sprites/side-of-home.png)bin6851 -> 6851 bytes
-rw-r--r--samples/99_genre_rpg_narrative/return_of_serenity/sprites/square.png (renamed from samples/99_genre_narrative_rpg/return_of_serenity/sprites/square.png)bin101 -> 101 bytes
-rw-r--r--samples/99_genre_rpg_narrative/return_of_serenity/sprites/todo.png (renamed from samples/99_genre_narrative_rpg/return_of_serenity/sprites/todo.png)bin2694 -> 2694 bytes
-rw-r--r--samples/99_genre_rpg_narrative/return_of_serenity/sprites/tribute-game-over.png (renamed from samples/99_genre_narrative_rpg/return_of_serenity/sprites/tribute-game-over.png)bin7157 -> 7157 bytes
-rw-r--r--samples/99_genre_rpg_narrative/return_of_serenity/sprites/tribute.png (renamed from samples/99_genre_narrative_rpg/return_of_serenity/sprites/tribute.png)bin7160 -> 7160 bytes
-rw-r--r--samples/99_genre_rpg_roguelike/roguelike_line_of_sight/app/constants.rb (renamed from samples/99_genre_roguelike/roguelike_line_of_sight/app/constants.rb)0
-rw-r--r--samples/99_genre_rpg_roguelike/roguelike_line_of_sight/app/legend.rb (renamed from samples/99_genre_roguelike/roguelike_line_of_sight/app/legend.rb)0
-rw-r--r--samples/99_genre_rpg_roguelike/roguelike_line_of_sight/app/main.rb (renamed from samples/99_genre_roguelike/roguelike_line_of_sight/app/main.rb)0
-rw-r--r--samples/99_genre_rpg_roguelike/roguelike_line_of_sight/app/sprite_lookup.rb (renamed from samples/99_genre_roguelike/roguelike_line_of_sight/app/sprite_lookup.rb)0
-rw-r--r--samples/99_genre_rpg_roguelike/roguelike_line_of_sight/license-for-sample.txt (renamed from samples/99_genre_roguelike/roguelike_starting_point/license-for-sample.txt)0
-rw-r--r--samples/99_genre_rpg_roguelike/roguelike_line_of_sight/sprites/simple-mood-16x16.png (renamed from samples/99_genre_roguelike/roguelike_line_of_sight/sprites/simple-mood-16x16.png)bin14424 -> 14424 bytes
-rw-r--r--samples/99_genre_rpg_roguelike/roguelike_starting_point/app/main.rb (renamed from samples/99_genre_roguelike/roguelike_starting_point/app/main.rb)0
-rw-r--r--samples/99_genre_rpg_roguelike/roguelike_starting_point/license-for-sample.txt (renamed from samples/99_genre_tactical_rpg/hexagonal_grid/license-for-sample.txt)0
-rw-r--r--samples/99_genre_rpg_roguelike/roguelike_starting_point/replay.txt (renamed from samples/99_genre_roguelike/roguelike_starting_point/replay.txt)0
-rw-r--r--samples/99_genre_rpg_tactical/hexagonal_grid/app/main.rb (renamed from samples/99_genre_tactical_rpg/hexagonal_grid/app/main.rb)0
-rw-r--r--samples/99_genre_rpg_tactical/hexagonal_grid/license-for-sample.txt (renamed from samples/99_genre_tactical_rpg/isometric_grid/license-for-sample.txt)0
-rw-r--r--samples/99_genre_rpg_tactical/hexagonal_grid/replay.txt (renamed from samples/99_genre_tactical_rpg/hexagonal_grid/replay.txt)0
-rw-r--r--samples/99_genre_rpg_tactical/hexagonal_grid/sprites/hexagon-black.png (renamed from samples/99_genre_tactical_rpg/hexagonal_grid/sprites/hexagon-black.png)bin2602 -> 2602 bytes
-rw-r--r--samples/99_genre_rpg_tactical/hexagonal_grid/sprites/hexagon-gray.png (renamed from samples/99_genre_tactical_rpg/hexagonal_grid/sprites/hexagon-gray.png)bin5184 -> 5184 bytes
-rw-r--r--samples/99_genre_rpg_tactical/isometric_grid/app/main.rb (renamed from samples/99_genre_tactical_rpg/isometric_grid/app/main.rb)0
-rw-r--r--samples/99_genre_rpg_tactical/isometric_grid/license-for-sample.txt (renamed from samples/99_genre_topdown_rpg/topdown_starting_point/license-for-sample.txt)0
-rw-r--r--samples/99_genre_rpg_tactical/isometric_grid/metadata/game_metadata.txt (renamed from samples/99_genre_tactical_rpg/isometric_grid/metadata/game_metadata.txt)0
-rw-r--r--samples/99_genre_rpg_tactical/isometric_grid/metadata/icon.png (renamed from samples/99_genre_tactical_rpg/isometric_grid/metadata/icon.png)bin157056 -> 157056 bytes
-rw-r--r--samples/99_genre_rpg_tactical/isometric_grid/replay.txt (renamed from samples/99_genre_tactical_rpg/isometric_grid/replay.txt)0
-rw-r--r--samples/99_genre_rpg_tactical/isometric_grid/sprites/leftSide.png (renamed from samples/99_genre_tactical_rpg/isometric_grid/sprites/leftSide.png)bin1888 -> 1888 bytes
-rw-r--r--samples/99_genre_rpg_tactical/isometric_grid/sprites/mountain.png (renamed from samples/99_genre_tactical_rpg/isometric_grid/sprites/mountain.png)bin4155 -> 4155 bytes
-rw-r--r--samples/99_genre_rpg_tactical/isometric_grid/sprites/ocean.png (renamed from samples/99_genre_tactical_rpg/isometric_grid/sprites/ocean.png)bin2339 -> 2339 bytes
-rw-r--r--samples/99_genre_rpg_tactical/isometric_grid/sprites/rightSide.png (renamed from samples/99_genre_tactical_rpg/isometric_grid/sprites/rightSide.png)bin1755 -> 1755 bytes
-rw-r--r--samples/99_genre_rpg_tactical/isometric_grid/sprites/river.png (renamed from samples/99_genre_tactical_rpg/isometric_grid/sprites/river.png)bin4285 -> 4285 bytes
-rw-r--r--samples/99_genre_rpg_tactical/isometric_grid/sprites/selectedTile.png (renamed from samples/99_genre_tactical_rpg/isometric_grid/sprites/selectedTile.png)bin2335 -> 2335 bytes
-rw-r--r--samples/99_genre_rpg_tactical/isometric_grid/sprites/tile.png (renamed from samples/99_genre_tactical_rpg/isometric_grid/sprites/tile.png)bin2341 -> 2341 bytes
-rw-r--r--samples/99_genre_rpg_topdown/topdown_starting_point/app/main.rb (renamed from samples/99_genre_topdown_rpg/topdown_starting_point/app/main.rb)0
-rw-r--r--samples/99_genre_rpg_topdown/topdown_starting_point/license-for-sample.txt9
-rw-r--r--samples/99_genre_rpg_topdown/topdown_starting_point/replay.txt (renamed from samples/99_genre_topdown_rpg/topdown_starting_point/replay.txt)0
172 files changed, 172 insertions, 24 deletions
diff --git a/samples/00_learn_ruby_optional/00_intermediate_ruby_primer/app/02_printing_to_the_console.txt b/samples/00_learn_ruby_optional/00_intermediate_ruby_primer/app/01_printing.txt
index dd86367..dd86367 100644
--- a/samples/00_learn_ruby_optional/00_intermediate_ruby_primer/app/02_printing_to_the_console.txt
+++ b/samples/00_learn_ruby_optional/00_intermediate_ruby_primer/app/01_printing.txt
diff --git a/samples/00_learn_ruby_optional/00_intermediate_ruby_primer/app/03_strings.txt b/samples/00_learn_ruby_optional/00_intermediate_ruby_primer/app/02_strings.txt
index 34ea252..34ea252 100644
--- a/samples/00_learn_ruby_optional/00_intermediate_ruby_primer/app/03_strings.txt
+++ b/samples/00_learn_ruby_optional/00_intermediate_ruby_primer/app/02_strings.txt
diff --git a/samples/00_learn_ruby_optional/00_intermediate_ruby_primer/app/04_numbers.txt b/samples/00_learn_ruby_optional/00_intermediate_ruby_primer/app/03_numbers.txt
index dfdf04d..dfdf04d 100644
--- a/samples/00_learn_ruby_optional/00_intermediate_ruby_primer/app/04_numbers.txt
+++ b/samples/00_learn_ruby_optional/00_intermediate_ruby_primer/app/03_numbers.txt
diff --git a/samples/00_learn_ruby_optional/00_intermediate_ruby_primer/app/05_booleans.txt b/samples/00_learn_ruby_optional/00_intermediate_ruby_primer/app/04_booleans.txt
index 2a9060f..2a9060f 100644
--- a/samples/00_learn_ruby_optional/00_intermediate_ruby_primer/app/05_booleans.txt
+++ b/samples/00_learn_ruby_optional/00_intermediate_ruby_primer/app/04_booleans.txt
diff --git a/samples/00_learn_ruby_optional/00_intermediate_ruby_primer/app/06_conditionals.txt b/samples/00_learn_ruby_optional/00_intermediate_ruby_primer/app/05_conditionals.txt
index 8a0c172..8a0c172 100644
--- a/samples/00_learn_ruby_optional/00_intermediate_ruby_primer/app/06_conditionals.txt
+++ b/samples/00_learn_ruby_optional/00_intermediate_ruby_primer/app/05_conditionals.txt
diff --git a/samples/00_learn_ruby_optional/00_intermediate_ruby_primer/app/07_looping.txt b/samples/00_learn_ruby_optional/00_intermediate_ruby_primer/app/06_looping.txt
index 03c3d28..03c3d28 100644
--- a/samples/00_learn_ruby_optional/00_intermediate_ruby_primer/app/07_looping.txt
+++ b/samples/00_learn_ruby_optional/00_intermediate_ruby_primer/app/06_looping.txt
diff --git a/samples/00_learn_ruby_optional/00_intermediate_ruby_primer/app/08_functions.txt b/samples/00_learn_ruby_optional/00_intermediate_ruby_primer/app/07_functions.txt
index 9ad38de..9ad38de 100644
--- a/samples/00_learn_ruby_optional/00_intermediate_ruby_primer/app/08_functions.txt
+++ b/samples/00_learn_ruby_optional/00_intermediate_ruby_primer/app/07_functions.txt
diff --git a/samples/00_learn_ruby_optional/00_intermediate_ruby_primer/app/09_powerful_arrays.txt b/samples/00_learn_ruby_optional/00_intermediate_ruby_primer/app/08_arrays.txt
index 9904686..9904686 100644
--- a/samples/00_learn_ruby_optional/00_intermediate_ruby_primer/app/09_powerful_arrays.txt
+++ b/samples/00_learn_ruby_optional/00_intermediate_ruby_primer/app/08_arrays.txt
diff --git a/samples/03_rendering_sprites/01_animation_using_seperate_pngs/app/main.rb b/samples/03_rendering_sprites/01_animation_using_separate_pngs/app/main.rb
index 80c40f2..80c40f2 100644
--- a/samples/03_rendering_sprites/01_animation_using_seperate_pngs/app/main.rb
+++ b/samples/03_rendering_sprites/01_animation_using_separate_pngs/app/main.rb
diff --git a/samples/03_rendering_sprites/01_animation_using_seperate_pngs/license-for-sample.txt b/samples/03_rendering_sprites/01_animation_using_separate_pngs/license-for-sample.txt
index 8fa4d42..8fa4d42 100644
--- a/samples/03_rendering_sprites/01_animation_using_seperate_pngs/license-for-sample.txt
+++ b/samples/03_rendering_sprites/01_animation_using_separate_pngs/license-for-sample.txt
diff --git a/samples/03_rendering_sprites/01_animation_using_seperate_pngs/replay.txt b/samples/03_rendering_sprites/01_animation_using_separate_pngs/replay.txt
index 33c47c3..33c47c3 100644
--- a/samples/03_rendering_sprites/01_animation_using_seperate_pngs/replay.txt
+++ b/samples/03_rendering_sprites/01_animation_using_separate_pngs/replay.txt
diff --git a/samples/03_rendering_sprites/01_animation_using_seperate_pngs/sprites/dragon_fly_0.png b/samples/03_rendering_sprites/01_animation_using_separate_pngs/sprites/dragon_fly_0.png
index fb179af..fb179af 100644
--- a/samples/03_rendering_sprites/01_animation_using_seperate_pngs/sprites/dragon_fly_0.png
+++ b/samples/03_rendering_sprites/01_animation_using_separate_pngs/sprites/dragon_fly_0.png
Binary files differ
diff --git a/samples/03_rendering_sprites/01_animation_using_seperate_pngs/sprites/dragon_fly_1.png b/samples/03_rendering_sprites/01_animation_using_separate_pngs/sprites/dragon_fly_1.png
index 8cfe531..8cfe531 100644
--- a/samples/03_rendering_sprites/01_animation_using_seperate_pngs/sprites/dragon_fly_1.png
+++ b/samples/03_rendering_sprites/01_animation_using_separate_pngs/sprites/dragon_fly_1.png
Binary files differ
diff --git a/samples/03_rendering_sprites/01_animation_using_seperate_pngs/sprites/dragon_fly_2.png b/samples/03_rendering_sprites/01_animation_using_separate_pngs/sprites/dragon_fly_2.png
index cb462e1..cb462e1 100644
--- a/samples/03_rendering_sprites/01_animation_using_seperate_pngs/sprites/dragon_fly_2.png
+++ b/samples/03_rendering_sprites/01_animation_using_separate_pngs/sprites/dragon_fly_2.png
Binary files differ
diff --git a/samples/03_rendering_sprites/01_animation_using_seperate_pngs/sprites/dragon_fly_3.png b/samples/03_rendering_sprites/01_animation_using_separate_pngs/sprites/dragon_fly_3.png
index 04c4977..04c4977 100644
--- a/samples/03_rendering_sprites/01_animation_using_seperate_pngs/sprites/dragon_fly_3.png
+++ b/samples/03_rendering_sprites/01_animation_using_separate_pngs/sprites/dragon_fly_3.png
Binary files differ
diff --git a/samples/03_rendering_sprites/01_animation_using_seperate_pngs/sprites/dragon_fly_4.png b/samples/03_rendering_sprites/01_animation_using_separate_pngs/sprites/dragon_fly_4.png
index b29fa3d..b29fa3d 100644
--- a/samples/03_rendering_sprites/01_animation_using_seperate_pngs/sprites/dragon_fly_4.png
+++ b/samples/03_rendering_sprites/01_animation_using_separate_pngs/sprites/dragon_fly_4.png
Binary files differ
diff --git a/samples/03_rendering_sprites/01_animation_using_seperate_pngs/sprites/dragon_fly_5.png b/samples/03_rendering_sprites/01_animation_using_separate_pngs/sprites/dragon_fly_5.png
index 99f4e74..99f4e74 100644
--- a/samples/03_rendering_sprites/01_animation_using_seperate_pngs/sprites/dragon_fly_5.png
+++ b/samples/03_rendering_sprites/01_animation_using_separate_pngs/sprites/dragon_fly_5.png
Binary files differ
diff --git a/samples/04_physics_and_collisions/04_box_collision_2/app/main.rb b/samples/04_physics_and_collisions/05_box_collision_2/app/main.rb
index 126759a..126759a 100644
--- a/samples/04_physics_and_collisions/04_box_collision_2/app/main.rb
+++ b/samples/04_physics_and_collisions/05_box_collision_2/app/main.rb
diff --git a/samples/04_physics_and_collisions/04_box_collision_2/app/map.txt b/samples/04_physics_and_collisions/05_box_collision_2/app/map.txt
index abbc046..abbc046 100644
--- a/samples/04_physics_and_collisions/04_box_collision_2/app/map.txt
+++ b/samples/04_physics_and_collisions/05_box_collision_2/app/map.txt
diff --git a/samples/04_physics_and_collisions/04_box_collision_2/license-for-sample.txt b/samples/04_physics_and_collisions/05_box_collision_2/license-for-sample.txt
index 100dcec..100dcec 100644
--- a/samples/04_physics_and_collisions/04_box_collision_2/license-for-sample.txt
+++ b/samples/04_physics_and_collisions/05_box_collision_2/license-for-sample.txt
diff --git a/samples/04_physics_and_collisions/04_box_collision_2/replay.txt b/samples/04_physics_and_collisions/05_box_collision_2/replay.txt
index d53870b..d53870b 100644
--- a/samples/04_physics_and_collisions/04_box_collision_2/replay.txt
+++ b/samples/04_physics_and_collisions/05_box_collision_2/replay.txt
diff --git a/samples/04_physics_and_collisions/04_box_collision_2/sprites/image1.png b/samples/04_physics_and_collisions/05_box_collision_2/sprites/image1.png
index b0eb399..b0eb399 100644
--- a/samples/04_physics_and_collisions/04_box_collision_2/sprites/image1.png
+++ b/samples/04_physics_and_collisions/05_box_collision_2/sprites/image1.png
Binary files differ
diff --git a/samples/04_physics_and_collisions/04_box_collision_2/sprites/image10.png b/samples/04_physics_and_collisions/05_box_collision_2/sprites/image10.png
index b0eb399..b0eb399 100644
--- a/samples/04_physics_and_collisions/04_box_collision_2/sprites/image10.png
+++ b/samples/04_physics_and_collisions/05_box_collision_2/sprites/image10.png
Binary files differ
diff --git a/samples/04_physics_and_collisions/04_box_collision_2/sprites/image11.png b/samples/04_physics_and_collisions/05_box_collision_2/sprites/image11.png
index b0eb399..b0eb399 100644
--- a/samples/04_physics_and_collisions/04_box_collision_2/sprites/image11.png
+++ b/samples/04_physics_and_collisions/05_box_collision_2/sprites/image11.png
Binary files differ
diff --git a/samples/04_physics_and_collisions/04_box_collision_2/sprites/image12.png b/samples/04_physics_and_collisions/05_box_collision_2/sprites/image12.png
index b0eb399..b0eb399 100644
--- a/samples/04_physics_and_collisions/04_box_collision_2/sprites/image12.png
+++ b/samples/04_physics_and_collisions/05_box_collision_2/sprites/image12.png
Binary files differ
diff --git a/samples/04_physics_and_collisions/04_box_collision_2/sprites/image13.png b/samples/04_physics_and_collisions/05_box_collision_2/sprites/image13.png
index b0eb399..b0eb399 100644
--- a/samples/04_physics_and_collisions/04_box_collision_2/sprites/image13.png
+++ b/samples/04_physics_and_collisions/05_box_collision_2/sprites/image13.png
Binary files differ
diff --git a/samples/04_physics_and_collisions/04_box_collision_2/sprites/image14.png b/samples/04_physics_and_collisions/05_box_collision_2/sprites/image14.png
index b0eb399..b0eb399 100644
--- a/samples/04_physics_and_collisions/04_box_collision_2/sprites/image14.png
+++ b/samples/04_physics_and_collisions/05_box_collision_2/sprites/image14.png
Binary files differ
diff --git a/samples/04_physics_and_collisions/04_box_collision_2/sprites/image15.png b/samples/04_physics_and_collisions/05_box_collision_2/sprites/image15.png
index b0eb399..b0eb399 100644
--- a/samples/04_physics_and_collisions/04_box_collision_2/sprites/image15.png
+++ b/samples/04_physics_and_collisions/05_box_collision_2/sprites/image15.png
Binary files differ
diff --git a/samples/04_physics_and_collisions/04_box_collision_2/sprites/image16.png b/samples/04_physics_and_collisions/05_box_collision_2/sprites/image16.png
index b0eb399..b0eb399 100644
--- a/samples/04_physics_and_collisions/04_box_collision_2/sprites/image16.png
+++ b/samples/04_physics_and_collisions/05_box_collision_2/sprites/image16.png
Binary files differ
diff --git a/samples/04_physics_and_collisions/04_box_collision_2/sprites/image17.png b/samples/04_physics_and_collisions/05_box_collision_2/sprites/image17.png
index b0eb399..b0eb399 100644
--- a/samples/04_physics_and_collisions/04_box_collision_2/sprites/image17.png
+++ b/samples/04_physics_and_collisions/05_box_collision_2/sprites/image17.png
Binary files differ
diff --git a/samples/04_physics_and_collisions/04_box_collision_2/sprites/image18.png b/samples/04_physics_and_collisions/05_box_collision_2/sprites/image18.png
index b0eb399..b0eb399 100644
--- a/samples/04_physics_and_collisions/04_box_collision_2/sprites/image18.png
+++ b/samples/04_physics_and_collisions/05_box_collision_2/sprites/image18.png
Binary files differ
diff --git a/samples/04_physics_and_collisions/04_box_collision_2/sprites/image19.png b/samples/04_physics_and_collisions/05_box_collision_2/sprites/image19.png
index b0eb399..b0eb399 100644
--- a/samples/04_physics_and_collisions/04_box_collision_2/sprites/image19.png
+++ b/samples/04_physics_and_collisions/05_box_collision_2/sprites/image19.png
Binary files differ
diff --git a/samples/04_physics_and_collisions/04_box_collision_2/sprites/image2.png b/samples/04_physics_and_collisions/05_box_collision_2/sprites/image2.png
index b0eb399..b0eb399 100644
--- a/samples/04_physics_and_collisions/04_box_collision_2/sprites/image2.png
+++ b/samples/04_physics_and_collisions/05_box_collision_2/sprites/image2.png
Binary files differ
diff --git a/samples/04_physics_and_collisions/04_box_collision_2/sprites/image20.png b/samples/04_physics_and_collisions/05_box_collision_2/sprites/image20.png
index b0eb399..b0eb399 100644
--- a/samples/04_physics_and_collisions/04_box_collision_2/sprites/image20.png
+++ b/samples/04_physics_and_collisions/05_box_collision_2/sprites/image20.png
Binary files differ
diff --git a/samples/04_physics_and_collisions/04_box_collision_2/sprites/image3.png b/samples/04_physics_and_collisions/05_box_collision_2/sprites/image3.png
index b0eb399..b0eb399 100644
--- a/samples/04_physics_and_collisions/04_box_collision_2/sprites/image3.png
+++ b/samples/04_physics_and_collisions/05_box_collision_2/sprites/image3.png
Binary files differ
diff --git a/samples/04_physics_and_collisions/04_box_collision_2/sprites/image4.png b/samples/04_physics_and_collisions/05_box_collision_2/sprites/image4.png
index b0eb399..b0eb399 100644
--- a/samples/04_physics_and_collisions/04_box_collision_2/sprites/image4.png
+++ b/samples/04_physics_and_collisions/05_box_collision_2/sprites/image4.png
Binary files differ
diff --git a/samples/04_physics_and_collisions/04_box_collision_2/sprites/image5.png b/samples/04_physics_and_collisions/05_box_collision_2/sprites/image5.png
index b0eb399..b0eb399 100644
--- a/samples/04_physics_and_collisions/04_box_collision_2/sprites/image5.png
+++ b/samples/04_physics_and_collisions/05_box_collision_2/sprites/image5.png
Binary files differ
diff --git a/samples/04_physics_and_collisions/04_box_collision_2/sprites/image6.png b/samples/04_physics_and_collisions/05_box_collision_2/sprites/image6.png
index b0eb399..b0eb399 100644
--- a/samples/04_physics_and_collisions/04_box_collision_2/sprites/image6.png
+++ b/samples/04_physics_and_collisions/05_box_collision_2/sprites/image6.png
Binary files differ
diff --git a/samples/04_physics_and_collisions/04_box_collision_2/sprites/image7.png b/samples/04_physics_and_collisions/05_box_collision_2/sprites/image7.png
index b0eb399..b0eb399 100644
--- a/samples/04_physics_and_collisions/04_box_collision_2/sprites/image7.png
+++ b/samples/04_physics_and_collisions/05_box_collision_2/sprites/image7.png
Binary files differ
diff --git a/samples/04_physics_and_collisions/04_box_collision_2/sprites/image8.png b/samples/04_physics_and_collisions/05_box_collision_2/sprites/image8.png
index b0eb399..b0eb399 100644
--- a/samples/04_physics_and_collisions/04_box_collision_2/sprites/image8.png
+++ b/samples/04_physics_and_collisions/05_box_collision_2/sprites/image8.png
Binary files differ
diff --git a/samples/04_physics_and_collisions/04_box_collision_2/sprites/image9.png b/samples/04_physics_and_collisions/05_box_collision_2/sprites/image9.png
index b0eb399..b0eb399 100644
--- a/samples/04_physics_and_collisions/04_box_collision_2/sprites/image9.png
+++ b/samples/04_physics_and_collisions/05_box_collision_2/sprites/image9.png
Binary files differ
diff --git a/samples/04_physics_and_collisions/04_box_collision_2/sprites/player.png b/samples/04_physics_and_collisions/05_box_collision_2/sprites/player.png
index 4c733a2..4c733a2 100644
--- a/samples/04_physics_and_collisions/04_box_collision_2/sprites/player.png
+++ b/samples/04_physics_and_collisions/05_box_collision_2/sprites/player.png
Binary files differ
diff --git a/samples/04_physics_and_collisions/04_jump_physics/app/main.rb b/samples/04_physics_and_collisions/06_jump_physics/app/main.rb
index 3fcb9e9..3fcb9e9 100644
--- a/samples/04_physics_and_collisions/04_jump_physics/app/main.rb
+++ b/samples/04_physics_and_collisions/06_jump_physics/app/main.rb
diff --git a/samples/04_physics_and_collisions/04_jump_physics/replay.txt b/samples/04_physics_and_collisions/06_jump_physics/replay.txt
index 966dbcd..966dbcd 100644
--- a/samples/04_physics_and_collisions/04_jump_physics/replay.txt
+++ b/samples/04_physics_and_collisions/06_jump_physics/replay.txt
diff --git a/samples/05_mouse/03_mouse_click/app/main.rb b/samples/05_mouse/01_mouse_click/app/main.rb
index 8969a6e..8969a6e 100644
--- a/samples/05_mouse/03_mouse_click/app/main.rb
+++ b/samples/05_mouse/01_mouse_click/app/main.rb
diff --git a/samples/05_mouse/03_mouse_click/license-for-sample.txt b/samples/05_mouse/01_mouse_click/license-for-sample.txt
index 100dcec..100dcec 100644
--- a/samples/05_mouse/03_mouse_click/license-for-sample.txt
+++ b/samples/05_mouse/01_mouse_click/license-for-sample.txt
diff --git a/samples/05_mouse/03_mouse_click/replay.txt b/samples/05_mouse/01_mouse_click/replay.txt
index 1ea08dc..1ea08dc 100644
--- a/samples/05_mouse/03_mouse_click/replay.txt
+++ b/samples/05_mouse/01_mouse_click/replay.txt
diff --git a/samples/05_mouse/05_mouse_move/app/main.rb b/samples/05_mouse/02_mouse_move/app/main.rb
index 97edbe7..97edbe7 100644
--- a/samples/05_mouse/05_mouse_move/app/main.rb
+++ b/samples/05_mouse/02_mouse_move/app/main.rb
diff --git a/samples/05_mouse/05_mouse_move/license-for-sample.txt b/samples/05_mouse/02_mouse_move/license-for-sample.txt
index 100dcec..100dcec 100644
--- a/samples/05_mouse/05_mouse_move/license-for-sample.txt
+++ b/samples/05_mouse/02_mouse_move/license-for-sample.txt
diff --git a/samples/05_mouse/05_mouse_move/replay.txt b/samples/05_mouse/02_mouse_move/replay.txt
index 78c183c..78c183c 100644
--- a/samples/05_mouse/05_mouse_move/replay.txt
+++ b/samples/05_mouse/02_mouse_move/replay.txt
diff --git a/samples/05_mouse/05_mouse_move/sprites/player-0.png b/samples/05_mouse/02_mouse_move/sprites/player-0.png
index c34dbed..c34dbed 100644
--- a/samples/05_mouse/05_mouse_move/sprites/player-0.png
+++ b/samples/05_mouse/02_mouse_move/sprites/player-0.png
Binary files differ
diff --git a/samples/05_mouse/05_mouse_move/sprites/player-1.png b/samples/05_mouse/02_mouse_move/sprites/player-1.png
index 54fce3e..54fce3e 100644
--- a/samples/05_mouse/05_mouse_move/sprites/player-1.png
+++ b/samples/05_mouse/02_mouse_move/sprites/player-1.png
Binary files differ
diff --git a/samples/05_mouse/05_mouse_move/sprites/player-2.png b/samples/05_mouse/02_mouse_move/sprites/player-2.png
index 0007c28..0007c28 100644
--- a/samples/05_mouse/05_mouse_move/sprites/player-2.png
+++ b/samples/05_mouse/02_mouse_move/sprites/player-2.png
Binary files differ
diff --git a/samples/05_mouse/05_mouse_move/sprites/player-3.png b/samples/05_mouse/02_mouse_move/sprites/player-3.png
index c34dbed..c34dbed 100644
--- a/samples/05_mouse/05_mouse_move/sprites/player-3.png
+++ b/samples/05_mouse/02_mouse_move/sprites/player-3.png
Binary files differ
diff --git a/samples/05_mouse/05_mouse_move/sprites/player-4.png b/samples/05_mouse/02_mouse_move/sprites/player-4.png
index 9897a29..9897a29 100644
--- a/samples/05_mouse/05_mouse_move/sprites/player-4.png
+++ b/samples/05_mouse/02_mouse_move/sprites/player-4.png
Binary files differ
diff --git a/samples/05_mouse/05_mouse_move/sprites/player-5.png b/samples/05_mouse/02_mouse_move/sprites/player-5.png
index 69d9c7b..69d9c7b 100644
--- a/samples/05_mouse/05_mouse_move/sprites/player-5.png
+++ b/samples/05_mouse/02_mouse_move/sprites/player-5.png
Binary files differ
diff --git a/samples/05_mouse/05_mouse_move/sprites/slash.png b/samples/05_mouse/02_mouse_move/sprites/slash.png
index 33c45e9..33c45e9 100644
--- a/samples/05_mouse/05_mouse_move/sprites/slash.png
+++ b/samples/05_mouse/02_mouse_move/sprites/slash.png
Binary files differ
diff --git a/samples/05_mouse/05_mouse_move/sprites/zombie-0.png b/samples/05_mouse/02_mouse_move/sprites/zombie-0.png
index 2fcc35d..2fcc35d 100644
--- a/samples/05_mouse/05_mouse_move/sprites/zombie-0.png
+++ b/samples/05_mouse/02_mouse_move/sprites/zombie-0.png
Binary files differ
diff --git a/samples/05_mouse/05_mouse_move/sprites/zombie-1.png b/samples/05_mouse/02_mouse_move/sprites/zombie-1.png
index 2b631ef..2b631ef 100644
--- a/samples/05_mouse/05_mouse_move/sprites/zombie-1.png
+++ b/samples/05_mouse/02_mouse_move/sprites/zombie-1.png
Binary files differ
diff --git a/samples/05_mouse/05_mouse_move/sprites/zombie-2.png b/samples/05_mouse/02_mouse_move/sprites/zombie-2.png
index 10e0491..10e0491 100644
--- a/samples/05_mouse/05_mouse_move/sprites/zombie-2.png
+++ b/samples/05_mouse/02_mouse_move/sprites/zombie-2.png
Binary files differ
diff --git a/samples/05_mouse/05_mouse_move/sprites/zombie-3.png b/samples/05_mouse/02_mouse_move/sprites/zombie-3.png
index 2fcc35d..2fcc35d 100644
--- a/samples/05_mouse/05_mouse_move/sprites/zombie-3.png
+++ b/samples/05_mouse/02_mouse_move/sprites/zombie-3.png
Binary files differ
diff --git a/samples/05_mouse/05_mouse_move/sprites/zombie-4.png b/samples/05_mouse/02_mouse_move/sprites/zombie-4.png
index cbd3f79..cbd3f79 100644
--- a/samples/05_mouse/05_mouse_move/sprites/zombie-4.png
+++ b/samples/05_mouse/02_mouse_move/sprites/zombie-4.png
Binary files differ
diff --git a/samples/05_mouse/05_mouse_move/sprites/zombie-5.png b/samples/05_mouse/02_mouse_move/sprites/zombie-5.png
index f146666..f146666 100644
--- a/samples/05_mouse/05_mouse_move/sprites/zombie-5.png
+++ b/samples/05_mouse/02_mouse_move/sprites/zombie-5.png
Binary files differ
diff --git a/samples/05_mouse/05_mouse_move_paint_app/app/main.rb b/samples/05_mouse/03_mouse_move_paint_app/app/main.rb
index 9303949..9303949 100644
--- a/samples/05_mouse/05_mouse_move_paint_app/app/main.rb
+++ b/samples/05_mouse/03_mouse_move_paint_app/app/main.rb
diff --git a/samples/05_mouse/05_mouse_move_paint_app/license-for-sample.txt b/samples/05_mouse/03_mouse_move_paint_app/license-for-sample.txt
index 5c0563d..5c0563d 100644
--- a/samples/05_mouse/05_mouse_move_paint_app/license-for-sample.txt
+++ b/samples/05_mouse/03_mouse_move_paint_app/license-for-sample.txt
diff --git a/samples/05_mouse/05_mouse_move_paint_app/replay.txt b/samples/05_mouse/03_mouse_move_paint_app/replay.txt
index 2f4753c..2f4753c 100644
--- a/samples/05_mouse/05_mouse_move_paint_app/replay.txt
+++ b/samples/05_mouse/03_mouse_move_paint_app/replay.txt
diff --git a/samples/05_mouse/06_coordinate_systems/app/main.rb b/samples/05_mouse/04_coordinate_systems/app/main.rb
index fcfa090..fcfa090 100644
--- a/samples/05_mouse/06_coordinate_systems/app/main.rb
+++ b/samples/05_mouse/04_coordinate_systems/app/main.rb
diff --git a/samples/05_mouse/06_coordinate_systems/license-for-sample.txt b/samples/05_mouse/04_coordinate_systems/license-for-sample.txt
index 100dcec..100dcec 100644
--- a/samples/05_mouse/06_coordinate_systems/license-for-sample.txt
+++ b/samples/05_mouse/04_coordinate_systems/license-for-sample.txt
diff --git a/samples/05_mouse/06_coordinate_systems/replay.txt b/samples/05_mouse/04_coordinate_systems/replay.txt
index d426464..d426464 100644
--- a/samples/05_mouse/06_coordinate_systems/replay.txt
+++ b/samples/05_mouse/04_coordinate_systems/replay.txt
diff --git a/samples/06_save_load/10_save_load_game/app/main.rb b/samples/06_save_load/01_save_load_game/app/main.rb
index 251848a..251848a 100644
--- a/samples/06_save_load/10_save_load_game/app/main.rb
+++ b/samples/06_save_load/01_save_load_game/app/main.rb
diff --git a/samples/06_save_load/10_save_load_game/license-for-sample.txt b/samples/06_save_load/01_save_load_game/license-for-sample.txt
index 100dcec..100dcec 100644
--- a/samples/06_save_load/10_save_load_game/license-for-sample.txt
+++ b/samples/06_save_load/01_save_load_game/license-for-sample.txt
diff --git a/samples/06_save_load/10_save_load_game/replay.txt b/samples/06_save_load/01_save_load_game/replay.txt
index c243f28..c243f28 100644
--- a/samples/06_save_load/10_save_load_game/replay.txt
+++ b/samples/06_save_load/01_save_load_game/replay.txt
diff --git a/samples/07_advanced_rendering/11_render_primitives_as_hash/app/main.rb b/samples/07_advanced_rendering/05_render_primitives_as_hash/app/main.rb
index f7e5bac..f7e5bac 100644
--- a/samples/07_advanced_rendering/11_render_primitives_as_hash/app/main.rb
+++ b/samples/07_advanced_rendering/05_render_primitives_as_hash/app/main.rb
diff --git a/samples/07_advanced_rendering/11_render_primitives_as_hash/fonts/manaspc.ttf b/samples/07_advanced_rendering/05_render_primitives_as_hash/fonts/manaspc.ttf
index 0c56733..0c56733 100644
--- a/samples/07_advanced_rendering/11_render_primitives_as_hash/fonts/manaspc.ttf
+++ b/samples/07_advanced_rendering/05_render_primitives_as_hash/fonts/manaspc.ttf
Binary files differ
diff --git a/samples/07_advanced_rendering/11_render_primitives_as_hash/license-for-sample.txt b/samples/07_advanced_rendering/05_render_primitives_as_hash/license-for-sample.txt
index 100dcec..100dcec 100644
--- a/samples/07_advanced_rendering/11_render_primitives_as_hash/license-for-sample.txt
+++ b/samples/07_advanced_rendering/05_render_primitives_as_hash/license-for-sample.txt
diff --git a/samples/08_lerping_easing_functions/01_easing_functions/app/main.rb b/samples/08_tweening_lerping_easing_functions/01_easing_functions/app/main.rb
index 5bb26f9..5bb26f9 100644
--- a/samples/08_lerping_easing_functions/01_easing_functions/app/main.rb
+++ b/samples/08_tweening_lerping_easing_functions/01_easing_functions/app/main.rb
diff --git a/samples/08_lerping_easing_functions/01_easing_functions/license-for-sample.txt b/samples/08_tweening_lerping_easing_functions/01_easing_functions/license-for-sample.txt
index 100dcec..100dcec 100644
--- a/samples/08_lerping_easing_functions/01_easing_functions/license-for-sample.txt
+++ b/samples/08_tweening_lerping_easing_functions/01_easing_functions/license-for-sample.txt
diff --git a/samples/08_lerping_easing_functions/02_cubic_bezier/app/main.rb b/samples/08_tweening_lerping_easing_functions/02_cubic_bezier/app/main.rb
index 93dba31..93dba31 100644
--- a/samples/08_lerping_easing_functions/02_cubic_bezier/app/main.rb
+++ b/samples/08_tweening_lerping_easing_functions/02_cubic_bezier/app/main.rb
diff --git a/samples/08_lerping_easing_functions/03_easing_using_spline/app/main.rb b/samples/08_tweening_lerping_easing_functions/03_easing_using_spline/app/main.rb
index c30c0e6..c30c0e6 100644
--- a/samples/08_lerping_easing_functions/03_easing_using_spline/app/main.rb
+++ b/samples/08_tweening_lerping_easing_functions/03_easing_using_spline/app/main.rb
diff --git a/samples/08_lerping_easing_functions/04_parametric_enemy_movement/app/main.rb b/samples/08_tweening_lerping_easing_functions/04_parametric_enemy_movement/app/main.rb
index 8e73fb0..8e73fb0 100644
--- a/samples/08_lerping_easing_functions/04_parametric_enemy_movement/app/main.rb
+++ b/samples/08_tweening_lerping_easing_functions/04_parametric_enemy_movement/app/main.rb
diff --git a/samples/08_lerping_easing_functions/04_parametric_enemy_movement/license-for-sample.txt b/samples/08_tweening_lerping_easing_functions/04_parametric_enemy_movement/license-for-sample.txt
index 100dcec..100dcec 100644
--- a/samples/08_lerping_easing_functions/04_parametric_enemy_movement/license-for-sample.txt
+++ b/samples/08_tweening_lerping_easing_functions/04_parametric_enemy_movement/license-for-sample.txt
diff --git a/samples/08_lerping_easing_functions/04_parametric_enemy_movement/replay.txt b/samples/08_tweening_lerping_easing_functions/04_parametric_enemy_movement/replay.txt
index 6580c5b..6580c5b 100644
--- a/samples/08_lerping_easing_functions/04_parametric_enemy_movement/replay.txt
+++ b/samples/08_tweening_lerping_easing_functions/04_parametric_enemy_movement/replay.txt
diff --git a/samples/12_c_extensions/01_basics/.gitignore b/samples/12_c_extensions/01_basics/.gitignore
new file mode 100644
index 0000000..4a0a124
--- /dev/null
+++ b/samples/12_c_extensions/01_basics/.gitignore
@@ -0,0 +1 @@
+build.dir
diff --git a/samples/12_c_extensions/01_basics/app/ext.c b/samples/12_c_extensions/01_basics/app/ext.c
new file mode 100644
index 0000000..a087919
--- /dev/null
+++ b/samples/12_c_extensions/01_basics/app/ext.c
@@ -0,0 +1,4 @@
+int square(int x) {
+ return x * x;
+}
+
diff --git a/samples/12_c_extensions/01_basics/app/main.rb b/samples/12_c_extensions/01_basics/app/main.rb
new file mode 100644
index 0000000..537b9b1
--- /dev/null
+++ b/samples/12_c_extensions/01_basics/app/main.rb
@@ -0,0 +1,7 @@
+$gtk.ffi_misc.gtk_dlopen("./samples/12_c_extensions/01_basics/build.dir/ext.lib")
+include FFI::CExt
+
+def tick args
+ args.outputs.labels << [460, 600, "square(42) = #{square(42)}"]
+end
+
diff --git a/samples/99_genre_narrative_rpg/choose_your_own_adventure/license-for-sample.txt b/samples/12_c_extensions/01_basics/license-for-sample.txt
index 100dcec..100dcec 100644
--- a/samples/99_genre_narrative_rpg/choose_your_own_adventure/license-for-sample.txt
+++ b/samples/12_c_extensions/01_basics/license-for-sample.txt
diff --git a/samples/12_c_extensions/01_basics/metadata/game_metadata.txt b/samples/12_c_extensions/01_basics/metadata/game_metadata.txt
new file mode 100644
index 0000000..a8772d0
--- /dev/null
+++ b/samples/12_c_extensions/01_basics/metadata/game_metadata.txt
@@ -0,0 +1,5 @@
+devid=dragonruby
+devtitle=DragonRuby LLC
+gameid=cbasics
+gametitle=C Basics
+version=1.0
diff --git a/samples/12_c_extensions/01_basics/pre.bat b/samples/12_c_extensions/01_basics/pre.bat
new file mode 100644
index 0000000..3b3e27d
--- /dev/null
+++ b/samples/12_c_extensions/01_basics/pre.bat
@@ -0,0 +1,4 @@
+set DRB_ROOT=..\..\..\
+md build.dir
+%DRB_ROOT%\dragonruby-bind.exe --output=build.dir\ext-bind.c app\ext.c
+clang -shared .\build.dir\ext-bind.c --sysroot=C:\mingw-w64\x86_64-8.1.0\mingw64 --target=x86_64-w64-mingw32 -fuse-ld=lld -isystem %DRB_ROOT%\include -I. -o build.dir\ext.lib
diff --git a/samples/12_c_extensions/01_basics/pre.sh b/samples/12_c_extensions/01_basics/pre.sh
new file mode 100755
index 0000000..8aa9eb7
--- /dev/null
+++ b/samples/12_c_extensions/01_basics/pre.sh
@@ -0,0 +1,10 @@
+#!/bin/sh
+DRB_ROOT=../../..
+mkdir -p build.dir
+
+$DRB_ROOT/dragonruby-bind --output=build.dir/ext-bindings.c app/ext.c
+clang \
+ -isystem $DRB_ROOT/include -I. \
+ -undefined dynamic_lookup \
+ -fPIC -shared build.dir/ext-bindings.c -o build.dir/ext.lib
+
diff --git a/samples/99_genre_dev_tools/add_buttons_to_console/app/main.rb b/samples/99_genre_dev_tools/add_buttons_to_console/app/main.rb
new file mode 100644
index 0000000..b580477
--- /dev/null
+++ b/samples/99_genre_dev_tools/add_buttons_to_console/app/main.rb
@@ -0,0 +1,58 @@
+# You can customize the buttons that show up in the Console.
+class GTK::Console::Menu
+ # STEP 1: Override the custom_buttons function.
+ def custom_buttons
+ [
+ (button id: :yay,
+ # row for button
+ row: 3,
+ # column for button
+ col: 10,
+ # text
+ text: "I AM CUSTOM",
+ # when clicked call the custom_button_clicked function
+ method: :custom_button_clicked),
+
+ (button id: :yay,
+ # row for button
+ row: 3,
+ # column for button
+ col: 9,
+ # text
+ text: "CUSTOM ALSO",
+ # when clicked call the custom_button_also_clicked function
+ method: :custom_button_also_clicked)
+ ]
+ end
+
+ # STEP 2: Define the function that should be called.
+ def custom_button_clicked
+ log "* INFO: I AM CUSTOM was clicked!"
+ end
+
+ def custom_button_also_clicked
+ log "* INFO: Custom Button Clicked at #{Kernel.global_tick_count}!"
+
+ all_buttons_as_string = $gtk.console.menu.buttons.map do |b|
+ <<-S.strip
+** id: #{b[:id]}
+:PROPERTIES:
+:id: :#{b[:id]}
+:method: :#{b[:method]}
+:text: #{b[:text]}
+:END:
+S
+ end.join("\n")
+
+ log <<-S
+* INFO: Here are all the buttons:
+#{all_buttons_as_string}
+S
+ end
+end
+
+def tick args
+ args.outputs.labels << [args.grid.center.x, args.grid.center.y,
+ "Open the DragonRuby Console to see the custom menu items.",
+ 0, 1]
+end
diff --git a/samples/99_genre_platformer/the_little_probe/app/main.rb b/samples/99_genre_platformer/the_little_probe/app/main.rb
index 1c90218..8fcf279 100644
--- a/samples/99_genre_platformer/the_little_probe/app/main.rb
+++ b/samples/99_genre_platformer/the_little_probe/app/main.rb
@@ -256,8 +256,8 @@ class FallingCircle
if circle.floor
outputs.labels << [circle.x + camera.x + 30, circle.y + camera.y + 100, "point: #{circle.floor_point.slice(:x, :y).values}", -2, 0]
outputs.labels << [circle.x + camera.x + 31, circle.y + camera.y + 101, "point: #{circle.floor_point.slice(:x, :y).values}", -2, 0, 255, 255, 255]
- outputs.labels << [circle.x + camera.x + 30, circle.y + camera.y + 85, "circle: #{circle.hash.slice(:x, :y).values}", -2, 0]
- outputs.labels << [circle.x + camera.x + 31, circle.y + camera.y + 86, "circle: #{circle.hash.slice(:x, :y).values}", -2, 0, 255, 255, 255]
+ outputs.labels << [circle.x + camera.x + 30, circle.y + camera.y + 85, "circle: #{circle.as_hash.slice(:x, :y).values}", -2, 0]
+ outputs.labels << [circle.x + camera.x + 31, circle.y + camera.y + 86, "circle: #{circle.as_hash.slice(:x, :y).values}", -2, 0, 255, 255, 255]
outputs.labels << [circle.x + camera.x + 30, circle.y + camera.y + 70, "rel: #{circle.floor_relative_x} #{circle.floor_relative_y}", -2, 0]
outputs.labels << [circle.x + camera.x + 31, circle.y + camera.y + 71, "rel: #{circle.floor_relative_x} #{circle.floor_relative_y}", -2, 0, 255, 255, 255]
end
@@ -402,11 +402,11 @@ class FallingCircle
end
def load_terrain
- load_lines 'level.txt'
+ load_lines 'data/level.txt'
end
def load_lava
- load_lines 'level_lava.txt'
+ load_lines 'data/level_lava.txt'
end
def load_level force: false
diff --git a/samples/99_genre_platformer/the_little_probe/level.txt b/samples/99_genre_platformer/the_little_probe/data/level.txt
index 62caf2d..62caf2d 100644
--- a/samples/99_genre_platformer/the_little_probe/level.txt
+++ b/samples/99_genre_platformer/the_little_probe/data/level.txt
diff --git a/samples/99_genre_platformer/the_little_probe/level_lava.txt b/samples/99_genre_platformer/the_little_probe/data/level_lava.txt
index e2bc2bd..e2bc2bd 100644
--- a/samples/99_genre_platformer/the_little_probe/level_lava.txt
+++ b/samples/99_genre_platformer/the_little_probe/data/level_lava.txt
diff --git a/samples/99_genre_narrative_rpg/choose_your_own_adventure/app/decision.rb b/samples/99_genre_rpg_narrative/choose_your_own_adventure/app/decision.rb
index 2921076..2921076 100644
--- a/samples/99_genre_narrative_rpg/choose_your_own_adventure/app/decision.rb
+++ b/samples/99_genre_rpg_narrative/choose_your_own_adventure/app/decision.rb
diff --git a/samples/99_genre_narrative_rpg/choose_your_own_adventure/app/main.rb b/samples/99_genre_rpg_narrative/choose_your_own_adventure/app/main.rb
index 22faad1..22faad1 100644
--- a/samples/99_genre_narrative_rpg/choose_your_own_adventure/app/main.rb
+++ b/samples/99_genre_rpg_narrative/choose_your_own_adventure/app/main.rb
diff --git a/samples/99_genre_roguelike/roguelike_line_of_sight/license-for-sample.txt b/samples/99_genre_rpg_narrative/choose_your_own_adventure/license-for-sample.txt
index 100dcec..100dcec 100644
--- a/samples/99_genre_roguelike/roguelike_line_of_sight/license-for-sample.txt
+++ b/samples/99_genre_rpg_narrative/choose_your_own_adventure/license-for-sample.txt
diff --git a/samples/99_genre_narrative_rpg/choose_your_own_adventure/replay.txt b/samples/99_genre_rpg_narrative/choose_your_own_adventure/replay.txt
index 7de4ea1..7de4ea1 100644
--- a/samples/99_genre_narrative_rpg/choose_your_own_adventure/replay.txt
+++ b/samples/99_genre_rpg_narrative/choose_your_own_adventure/replay.txt
diff --git a/samples/99_genre_narrative_rpg/return_of_serenity/app/lowrez_simulator.rb b/samples/99_genre_rpg_narrative/return_of_serenity/app/lowrez_simulator.rb
index cc1e021..cc1e021 100644
--- a/samples/99_genre_narrative_rpg/return_of_serenity/app/lowrez_simulator.rb
+++ b/samples/99_genre_rpg_narrative/return_of_serenity/app/lowrez_simulator.rb
diff --git a/samples/99_genre_narrative_rpg/return_of_serenity/app/main.rb b/samples/99_genre_rpg_narrative/return_of_serenity/app/main.rb
index b6573a3..43a35cf 100644
--- a/samples/99_genre_narrative_rpg/return_of_serenity/app/main.rb
+++ b/samples/99_genre_rpg_narrative/return_of_serenity/app/main.rb
@@ -11,16 +11,22 @@ def defaults args
args.outputs.sounds << 'sounds/static-loop.ogg'
end
- if args.state.storyline_history[-1] && args.state.storyline_queue_empty_at
+ if args.state.last_story_line_text
+ lines = args.state
+ .last_story_line_text
+ .gsub("-", "")
+ .gsub("~", "")
+ .wrapped_lines(50)
+
+ args.outputs.labels << lines.map_with_index { |l, i| [690, 200 - (i * 25), l, 1, 0, 255, 255, 255] }
+ elsif args.state.storyline_history[-1]
lines = args.state
.storyline_history[-1]
.gsub("-", "")
.gsub("~", "")
- .wrapped_lines(55)
+ .wrapped_lines(50)
- args.outputs.labels << multiple_lines(args, 690, 10 + lines.length * 25, lines, 0, 0)
- elsif !args.state.is_storyline_dialog_active
- args.outputs.labels << multiple_lines(args, 690, 55, "Use the arrow keys on your keyboard to move around. The GREEN boxes are important.".wrapped_lines(50))
+ args.outputs.labels << lines.map_with_index { |l, i| [690, 200 - (i * 25), l, 1, 0, 255, 255, 255] }
end
return if args.state.current_scene
@@ -65,6 +71,10 @@ def calc_storyline_hotspot args
args.state.inside_storyline_hotspot = true
elsif null_or_empty?(hotspots)
args.state.inside_storyline_hotspot = false
+
+ args.state.storyline_queue_empty_at ||= args.state.tick_count
+ args.state.is_storyline_dialog_active = false
+ args.state.scene_storyline_queue.clear
end
end
@@ -168,6 +178,7 @@ def lowrez_tick args, lowrez_sprites, lowrez_labels, lowrez_borders, lowrez_soli
# args.state.show_gridlines = true
defaults args
render_current_scene args, lowrez_sprites, lowrez_labels, lowrez_solids
+ render_controller args, lowrez_borders
lowrez_solids << [0, 0, 64, 64, 0, 0, 0]
calc_storyline_presentation args
calc_scenes args
@@ -178,20 +189,65 @@ def lowrez_tick args, lowrez_sprites, lowrez_labels, lowrez_borders, lowrez_soli
inputs_dismiss_current_storyline args
inputs_change_word_delay args
inputs_restart_game args
- if !args.state.storyline_queue_empty_at
- args.outputs.labels << multiple_lines(args, 690, 80,
- ["Press \"X\" on the keyboard to dismiss dialog.",
- "Press \"+\" on the keyboard to INCREASE text speed.",
- "Press \"-\" on the keyboard to DECREASE text speed."], 0, 255)
- end
+end
+
+def render_controller args, lowrez_borders
+ args.state.up_button = [85, 40, 15, 15, 255, 255, 255]
+ args.state.down_button = [85, 20, 15, 15, 255, 255, 255]
+ args.state.left_button = [65, 20, 15, 15, 255, 255, 255]
+ args.state.right_button = [105, 20, 15, 15, 255, 255, 255]
+ lowrez_borders << args.state.up_button
+ lowrez_borders << args.state.down_button
+ lowrez_borders << args.state.left_button
+ lowrez_borders << args.state.right_button
end
def inputs_print_mouse_rect args, lowrez_mouse
+ if lowrez_mouse.up
+ args.state.mouse_held = false
+ elsif lowrez_mouse.click
+ mouse_rect = [lowrez_mouse.x, lowrez_mouse.y, 1, 1]
+ if args.state.up_button.intersect_rect? mouse_rect
+ args.state.player.y += 1
+ end
+
+ if args.state.down_button.intersect_rect? mouse_rect
+ args.state.player.y -= 1
+ end
+
+ if args.state.left_button.intersect_rect? mouse_rect
+ args.state.player.x -= 1
+ end
+
+ if args.state.right_button.intersect_rect? mouse_rect
+ args.state.player.x += 1
+ end
+ args.state.mouse_held = true
+ elsif args.state.mouse_held
+ mouse_rect = [lowrez_mouse.x, lowrez_mouse.y, 1, 1]
+ if args.state.up_button.intersect_rect? mouse_rect
+ args.state.player.y += 0.25
+ end
+
+ if args.state.down_button.intersect_rect? mouse_rect
+ args.state.player.y -= 0.25
+ end
+
+ if args.state.left_button.intersect_rect? mouse_rect
+ args.state.player.x -= 0.25
+ end
+
+ if args.state.right_button.intersect_rect? mouse_rect
+ args.state.player.x += 0.25
+ end
+ end
+
if lowrez_mouse.click
+ dx = lowrez_mouse.click.x - args.state.previous_mouse_click.x
+ dy = lowrez_mouse.click.y - args.state.previous_mouse_click.y
+ x, y, w, h = args.state.previous_mouse_click.x, args.state.previous_mouse_click.y, dx, dy
+ puts "x #{lowrez_mouse.click.x}, y: #{lowrez_mouse.click.y}"
if args.state.previous_mouse_click
- dx = lowrez_mouse.click.x - args.state.previous_mouse_click.x
- dy = lowrez_mouse.click.y - args.state.previous_mouse_click.y
- x, y, w, h = args.state.previous_mouse_click.x, args.state.previous_mouse_click.y, dx, dy
if dx < 0 && dx < 0
x = x + w
@@ -203,17 +259,11 @@ def inputs_print_mouse_rect args, lowrez_mouse
w += 1
h += 1
- puts [x, y, w, h]
args.state.previous_mouse_click = nil
else
args.state.previous_mouse_click = lowrez_mouse.click
square_x, square_y = lowrez_mouse.click
- puts [square_x, square_y]
- 8.map_with_index do |i|
- puts [square_x - i + 1, square_y - i + 1, i + 1, i + 1]
- end
end
-
end
end
diff --git a/samples/99_genre_narrative_rpg/return_of_serenity/app/repl.rb b/samples/99_genre_rpg_narrative/return_of_serenity/app/repl.rb
index a59baf5..a59baf5 100644
--- a/samples/99_genre_narrative_rpg/return_of_serenity/app/repl.rb
+++ b/samples/99_genre_rpg_narrative/return_of_serenity/app/repl.rb
diff --git a/samples/99_genre_narrative_rpg/return_of_serenity/app/require.rb b/samples/99_genre_rpg_narrative/return_of_serenity/app/require.rb
index 35d0ff0..35d0ff0 100644
--- a/samples/99_genre_narrative_rpg/return_of_serenity/app/require.rb
+++ b/samples/99_genre_rpg_narrative/return_of_serenity/app/require.rb
diff --git a/samples/99_genre_narrative_rpg/return_of_serenity/app/storyline.rb b/samples/99_genre_rpg_narrative/return_of_serenity/app/storyline.rb
index e881861..e881861 100644
--- a/samples/99_genre_narrative_rpg/return_of_serenity/app/storyline.rb
+++ b/samples/99_genre_rpg_narrative/return_of_serenity/app/storyline.rb
diff --git a/samples/99_genre_narrative_rpg/return_of_serenity/app/storyline_anka.rb b/samples/99_genre_rpg_narrative/return_of_serenity/app/storyline_anka.rb
index bad7795..bad7795 100644
--- a/samples/99_genre_narrative_rpg/return_of_serenity/app/storyline_anka.rb
+++ b/samples/99_genre_rpg_narrative/return_of_serenity/app/storyline_anka.rb
diff --git a/samples/99_genre_narrative_rpg/return_of_serenity/app/storyline_blinking_light.rb b/samples/99_genre_rpg_narrative/return_of_serenity/app/storyline_blinking_light.rb
index ba9e8a2..ba9e8a2 100644
--- a/samples/99_genre_narrative_rpg/return_of_serenity/app/storyline_blinking_light.rb
+++ b/samples/99_genre_rpg_narrative/return_of_serenity/app/storyline_blinking_light.rb
diff --git a/samples/99_genre_narrative_rpg/return_of_serenity/app/storyline_day_one.rb b/samples/99_genre_rpg_narrative/return_of_serenity/app/storyline_day_one.rb
index 24b2b45..24b2b45 100644
--- a/samples/99_genre_narrative_rpg/return_of_serenity/app/storyline_day_one.rb
+++ b/samples/99_genre_rpg_narrative/return_of_serenity/app/storyline_day_one.rb
diff --git a/samples/99_genre_narrative_rpg/return_of_serenity/app/storyline_final_decision.rb b/samples/99_genre_rpg_narrative/return_of_serenity/app/storyline_final_decision.rb
index 0ea190f..0ea190f 100644
--- a/samples/99_genre_narrative_rpg/return_of_serenity/app/storyline_final_decision.rb
+++ b/samples/99_genre_rpg_narrative/return_of_serenity/app/storyline_final_decision.rb
diff --git a/samples/99_genre_narrative_rpg/return_of_serenity/app/storyline_final_message.rb b/samples/99_genre_rpg_narrative/return_of_serenity/app/storyline_final_message.rb
index c7737e2..c7737e2 100644
--- a/samples/99_genre_narrative_rpg/return_of_serenity/app/storyline_final_message.rb
+++ b/samples/99_genre_rpg_narrative/return_of_serenity/app/storyline_final_message.rb
diff --git a/samples/99_genre_narrative_rpg/return_of_serenity/app/storyline_serenity_alive.rb b/samples/99_genre_rpg_narrative/return_of_serenity/app/storyline_serenity_alive.rb
index 4407699..4407699 100644
--- a/samples/99_genre_narrative_rpg/return_of_serenity/app/storyline_serenity_alive.rb
+++ b/samples/99_genre_rpg_narrative/return_of_serenity/app/storyline_serenity_alive.rb
diff --git a/samples/99_genre_narrative_rpg/return_of_serenity/app/storyline_serenity_bio.rb b/samples/99_genre_rpg_narrative/return_of_serenity/app/storyline_serenity_bio.rb
index 587f5f4..587f5f4 100644
--- a/samples/99_genre_narrative_rpg/return_of_serenity/app/storyline_serenity_bio.rb
+++ b/samples/99_genre_rpg_narrative/return_of_serenity/app/storyline_serenity_bio.rb
diff --git a/samples/99_genre_narrative_rpg/return_of_serenity/app/storyline_serenity_introduction.rb b/samples/99_genre_rpg_narrative/return_of_serenity/app/storyline_serenity_introduction.rb
index d1a5a50..d1a5a50 100644
--- a/samples/99_genre_narrative_rpg/return_of_serenity/app/storyline_serenity_introduction.rb
+++ b/samples/99_genre_rpg_narrative/return_of_serenity/app/storyline_serenity_introduction.rb
diff --git a/samples/99_genre_narrative_rpg/return_of_serenity/app/storyline_speed_of_light.rb b/samples/99_genre_rpg_narrative/return_of_serenity/app/storyline_speed_of_light.rb
index fdd6b47..fdd6b47 100644
--- a/samples/99_genre_narrative_rpg/return_of_serenity/app/storyline_speed_of_light.rb
+++ b/samples/99_genre_rpg_narrative/return_of_serenity/app/storyline_speed_of_light.rb
diff --git a/samples/99_genre_narrative_rpg/return_of_serenity/fonts/dragonruby-gtk-4x4.ttf b/samples/99_genre_rpg_narrative/return_of_serenity/fonts/dragonruby-gtk-4x4.ttf
index 24cc711..24cc711 100644
--- a/samples/99_genre_narrative_rpg/return_of_serenity/fonts/dragonruby-gtk-4x4.ttf
+++ b/samples/99_genre_rpg_narrative/return_of_serenity/fonts/dragonruby-gtk-4x4.ttf
Binary files differ
diff --git a/samples/99_genre_narrative_rpg/return_of_serenity/fonts/manaspc.ttf b/samples/99_genre_rpg_narrative/return_of_serenity/fonts/manaspc.ttf
index 0c56733..0c56733 100644
--- a/samples/99_genre_narrative_rpg/return_of_serenity/fonts/manaspc.ttf
+++ b/samples/99_genre_rpg_narrative/return_of_serenity/fonts/manaspc.ttf
Binary files differ
diff --git a/samples/99_genre_narrative_rpg/return_of_serenity/license-for-sample.txt b/samples/99_genre_rpg_narrative/return_of_serenity/license-for-sample.txt
index b1005ed..b1005ed 100644
--- a/samples/99_genre_narrative_rpg/return_of_serenity/license-for-sample.txt
+++ b/samples/99_genre_rpg_narrative/return_of_serenity/license-for-sample.txt
diff --git a/samples/99_genre_narrative_rpg/return_of_serenity/replay.txt b/samples/99_genre_rpg_narrative/return_of_serenity/replay.txt
index 428883e..428883e 100644
--- a/samples/99_genre_narrative_rpg/return_of_serenity/replay.txt
+++ b/samples/99_genre_rpg_narrative/return_of_serenity/replay.txt
diff --git a/samples/99_genre_narrative_rpg/return_of_serenity/sounds/music-loop.ogg b/samples/99_genre_rpg_narrative/return_of_serenity/sounds/music-loop.ogg
index bec1275..bec1275 100644
--- a/samples/99_genre_narrative_rpg/return_of_serenity/sounds/music-loop.ogg
+++ b/samples/99_genre_rpg_narrative/return_of_serenity/sounds/music-loop.ogg
Binary files differ
diff --git a/samples/99_genre_narrative_rpg/return_of_serenity/sounds/static-loop.ogg b/samples/99_genre_rpg_narrative/return_of_serenity/sounds/static-loop.ogg
index bb4ac6b..bb4ac6b 100644
--- a/samples/99_genre_narrative_rpg/return_of_serenity/sounds/static-loop.ogg
+++ b/samples/99_genre_rpg_narrative/return_of_serenity/sounds/static-loop.ogg
Binary files differ
diff --git a/samples/99_genre_narrative_rpg/return_of_serenity/sprites/book.png b/samples/99_genre_rpg_narrative/return_of_serenity/sprites/book.png
index 97859c0..97859c0 100644
--- a/samples/99_genre_narrative_rpg/return_of_serenity/sprites/book.png
+++ b/samples/99_genre_rpg_narrative/return_of_serenity/sprites/book.png
Binary files differ
diff --git a/samples/99_genre_narrative_rpg/return_of_serenity/sprites/decision.png b/samples/99_genre_rpg_narrative/return_of_serenity/sprites/decision.png
index e323cea..e323cea 100644
--- a/samples/99_genre_narrative_rpg/return_of_serenity/sprites/decision.png
+++ b/samples/99_genre_rpg_narrative/return_of_serenity/sprites/decision.png
Binary files differ
diff --git a/samples/99_genre_narrative_rpg/return_of_serenity/sprites/dream.png b/samples/99_genre_rpg_narrative/return_of_serenity/sprites/dream.png
index 0b6f982..0b6f982 100644
--- a/samples/99_genre_narrative_rpg/return_of_serenity/sprites/dream.png
+++ b/samples/99_genre_rpg_narrative/return_of_serenity/sprites/dream.png
Binary files differ
diff --git a/samples/99_genre_narrative_rpg/return_of_serenity/sprites/front-of-home.png b/samples/99_genre_rpg_narrative/return_of_serenity/sprites/front-of-home.png
index ca865fe..ca865fe 100644
--- a/samples/99_genre_narrative_rpg/return_of_serenity/sprites/front-of-home.png
+++ b/samples/99_genre_rpg_narrative/return_of_serenity/sprites/front-of-home.png
Binary files differ
diff --git a/samples/99_genre_narrative_rpg/return_of_serenity/sprites/inside-home.png b/samples/99_genre_rpg_narrative/return_of_serenity/sprites/inside-home.png
index 3bc4804..3bc4804 100644
--- a/samples/99_genre_narrative_rpg/return_of_serenity/sprites/inside-home.png
+++ b/samples/99_genre_rpg_narrative/return_of_serenity/sprites/inside-home.png
Binary files differ
diff --git a/samples/99_genre_narrative_rpg/return_of_serenity/sprites/inside-observatory.png b/samples/99_genre_rpg_narrative/return_of_serenity/sprites/inside-observatory.png
index af1d25d..af1d25d 100644
--- a/samples/99_genre_narrative_rpg/return_of_serenity/sprites/inside-observatory.png
+++ b/samples/99_genre_rpg_narrative/return_of_serenity/sprites/inside-observatory.png
Binary files differ
diff --git a/samples/99_genre_narrative_rpg/return_of_serenity/sprites/label-background.png b/samples/99_genre_rpg_narrative/return_of_serenity/sprites/label-background.png
index 80a682f..80a682f 100644
--- a/samples/99_genre_narrative_rpg/return_of_serenity/sprites/label-background.png
+++ b/samples/99_genre_rpg_narrative/return_of_serenity/sprites/label-background.png
Binary files differ
diff --git a/samples/99_genre_narrative_rpg/return_of_serenity/sprites/library.png b/samples/99_genre_rpg_narrative/return_of_serenity/sprites/library.png
index 60f8908..60f8908 100644
--- a/samples/99_genre_narrative_rpg/return_of_serenity/sprites/library.png
+++ b/samples/99_genre_rpg_narrative/return_of_serenity/sprites/library.png
Binary files differ
diff --git a/samples/99_genre_narrative_rpg/return_of_serenity/sprites/mainframe.png b/samples/99_genre_rpg_narrative/return_of_serenity/sprites/mainframe.png
index aed8813..aed8813 100644
--- a/samples/99_genre_narrative_rpg/return_of_serenity/sprites/mainframe.png
+++ b/samples/99_genre_rpg_narrative/return_of_serenity/sprites/mainframe.png
Binary files differ
diff --git a/samples/99_genre_narrative_rpg/return_of_serenity/sprites/mountain-pass-zoomed-out.png b/samples/99_genre_rpg_narrative/return_of_serenity/sprites/mountain-pass-zoomed-out.png
index b39ab78..b39ab78 100644
--- a/samples/99_genre_narrative_rpg/return_of_serenity/sprites/mountain-pass-zoomed-out.png
+++ b/samples/99_genre_rpg_narrative/return_of_serenity/sprites/mountain-pass-zoomed-out.png
Binary files differ
diff --git a/samples/99_genre_narrative_rpg/return_of_serenity/sprites/observatory.png b/samples/99_genre_rpg_narrative/return_of_serenity/sprites/observatory.png
index 925886b..925886b 100644
--- a/samples/99_genre_narrative_rpg/return_of_serenity/sprites/observatory.png
+++ b/samples/99_genre_rpg_narrative/return_of_serenity/sprites/observatory.png
Binary files differ
diff --git a/samples/99_genre_narrative_rpg/return_of_serenity/sprites/outside-library.png b/samples/99_genre_rpg_narrative/return_of_serenity/sprites/outside-library.png
index df42ccf..df42ccf 100644
--- a/samples/99_genre_narrative_rpg/return_of_serenity/sprites/outside-library.png
+++ b/samples/99_genre_rpg_narrative/return_of_serenity/sprites/outside-library.png
Binary files differ
diff --git a/samples/99_genre_narrative_rpg/return_of_serenity/sprites/path-to-observatory.png b/samples/99_genre_rpg_narrative/return_of_serenity/sprites/path-to-observatory.png
index 7e740ac..7e740ac 100644
--- a/samples/99_genre_narrative_rpg/return_of_serenity/sprites/path-to-observatory.png
+++ b/samples/99_genre_rpg_narrative/return_of_serenity/sprites/path-to-observatory.png
Binary files differ
diff --git a/samples/99_genre_narrative_rpg/return_of_serenity/sprites/pc.png b/samples/99_genre_rpg_narrative/return_of_serenity/sprites/pc.png
index e5f4218..e5f4218 100644
--- a/samples/99_genre_narrative_rpg/return_of_serenity/sprites/pc.png
+++ b/samples/99_genre_rpg_narrative/return_of_serenity/sprites/pc.png
Binary files differ
diff --git a/samples/99_genre_narrative_rpg/return_of_serenity/sprites/planets.png b/samples/99_genre_rpg_narrative/return_of_serenity/sprites/planets.png
index 537dd8f..537dd8f 100644
--- a/samples/99_genre_narrative_rpg/return_of_serenity/sprites/planets.png
+++ b/samples/99_genre_rpg_narrative/return_of_serenity/sprites/planets.png
Binary files differ
diff --git a/samples/99_genre_narrative_rpg/return_of_serenity/sprites/player-down.png b/samples/99_genre_rpg_narrative/return_of_serenity/sprites/player-down.png
index 161ea69..161ea69 100644
--- a/samples/99_genre_narrative_rpg/return_of_serenity/sprites/player-down.png
+++ b/samples/99_genre_rpg_narrative/return_of_serenity/sprites/player-down.png
Binary files differ
diff --git a/samples/99_genre_narrative_rpg/return_of_serenity/sprites/player-left.png b/samples/99_genre_rpg_narrative/return_of_serenity/sprites/player-left.png
index 5f682fd..5f682fd 100644
--- a/samples/99_genre_narrative_rpg/return_of_serenity/sprites/player-left.png
+++ b/samples/99_genre_rpg_narrative/return_of_serenity/sprites/player-left.png
Binary files differ
diff --git a/samples/99_genre_narrative_rpg/return_of_serenity/sprites/player-right.png b/samples/99_genre_rpg_narrative/return_of_serenity/sprites/player-right.png
index 798f97e..798f97e 100644
--- a/samples/99_genre_narrative_rpg/return_of_serenity/sprites/player-right.png
+++ b/samples/99_genre_rpg_narrative/return_of_serenity/sprites/player-right.png
Binary files differ
diff --git a/samples/99_genre_narrative_rpg/return_of_serenity/sprites/player-up.png b/samples/99_genre_rpg_narrative/return_of_serenity/sprites/player-up.png
index 161ea69..161ea69 100644
--- a/samples/99_genre_narrative_rpg/return_of_serenity/sprites/player-up.png
+++ b/samples/99_genre_rpg_narrative/return_of_serenity/sprites/player-up.png
Binary files differ
diff --git a/samples/99_genre_narrative_rpg/return_of_serenity/sprites/player-zoomed-out.png b/samples/99_genre_rpg_narrative/return_of_serenity/sprites/player-zoomed-out.png
index 804cd72..804cd72 100644
--- a/samples/99_genre_narrative_rpg/return_of_serenity/sprites/player-zoomed-out.png
+++ b/samples/99_genre_rpg_narrative/return_of_serenity/sprites/player-zoomed-out.png
Binary files differ
diff --git a/samples/99_genre_narrative_rpg/return_of_serenity/sprites/serenity.png b/samples/99_genre_rpg_narrative/return_of_serenity/sprites/serenity.png
index def5bea..def5bea 100644
--- a/samples/99_genre_narrative_rpg/return_of_serenity/sprites/serenity.png
+++ b/samples/99_genre_rpg_narrative/return_of_serenity/sprites/serenity.png
Binary files differ
diff --git a/samples/99_genre_narrative_rpg/return_of_serenity/sprites/side-of-home.png b/samples/99_genre_rpg_narrative/return_of_serenity/sprites/side-of-home.png
index 6a17e93..6a17e93 100644
--- a/samples/99_genre_narrative_rpg/return_of_serenity/sprites/side-of-home.png
+++ b/samples/99_genre_rpg_narrative/return_of_serenity/sprites/side-of-home.png
Binary files differ
diff --git a/samples/99_genre_narrative_rpg/return_of_serenity/sprites/square.png b/samples/99_genre_rpg_narrative/return_of_serenity/sprites/square.png
index 80a682f..80a682f 100644
--- a/samples/99_genre_narrative_rpg/return_of_serenity/sprites/square.png
+++ b/samples/99_genre_rpg_narrative/return_of_serenity/sprites/square.png
Binary files differ
diff --git a/samples/99_genre_narrative_rpg/return_of_serenity/sprites/todo.png b/samples/99_genre_rpg_narrative/return_of_serenity/sprites/todo.png
index 5cd3b13..5cd3b13 100644
--- a/samples/99_genre_narrative_rpg/return_of_serenity/sprites/todo.png
+++ b/samples/99_genre_rpg_narrative/return_of_serenity/sprites/todo.png
Binary files differ
diff --git a/samples/99_genre_narrative_rpg/return_of_serenity/sprites/tribute-game-over.png b/samples/99_genre_rpg_narrative/return_of_serenity/sprites/tribute-game-over.png
index 99991fb..99991fb 100644
--- a/samples/99_genre_narrative_rpg/return_of_serenity/sprites/tribute-game-over.png
+++ b/samples/99_genre_rpg_narrative/return_of_serenity/sprites/tribute-game-over.png
Binary files differ
diff --git a/samples/99_genre_narrative_rpg/return_of_serenity/sprites/tribute.png b/samples/99_genre_rpg_narrative/return_of_serenity/sprites/tribute.png
index 8686cca..8686cca 100644
--- a/samples/99_genre_narrative_rpg/return_of_serenity/sprites/tribute.png
+++ b/samples/99_genre_rpg_narrative/return_of_serenity/sprites/tribute.png
Binary files differ
diff --git a/samples/99_genre_roguelike/roguelike_line_of_sight/app/constants.rb b/samples/99_genre_rpg_roguelike/roguelike_line_of_sight/app/constants.rb
index 37dd493..37dd493 100644
--- a/samples/99_genre_roguelike/roguelike_line_of_sight/app/constants.rb
+++ b/samples/99_genre_rpg_roguelike/roguelike_line_of_sight/app/constants.rb
diff --git a/samples/99_genre_roguelike/roguelike_line_of_sight/app/legend.rb b/samples/99_genre_rpg_roguelike/roguelike_line_of_sight/app/legend.rb
index 4d07b79..4d07b79 100644
--- a/samples/99_genre_roguelike/roguelike_line_of_sight/app/legend.rb
+++ b/samples/99_genre_rpg_roguelike/roguelike_line_of_sight/app/legend.rb
diff --git a/samples/99_genre_roguelike/roguelike_line_of_sight/app/main.rb b/samples/99_genre_rpg_roguelike/roguelike_line_of_sight/app/main.rb
index bd5f521..bd5f521 100644
--- a/samples/99_genre_roguelike/roguelike_line_of_sight/app/main.rb
+++ b/samples/99_genre_rpg_roguelike/roguelike_line_of_sight/app/main.rb
diff --git a/samples/99_genre_roguelike/roguelike_line_of_sight/app/sprite_lookup.rb b/samples/99_genre_rpg_roguelike/roguelike_line_of_sight/app/sprite_lookup.rb
index f129e25..f129e25 100644
--- a/samples/99_genre_roguelike/roguelike_line_of_sight/app/sprite_lookup.rb
+++ b/samples/99_genre_rpg_roguelike/roguelike_line_of_sight/app/sprite_lookup.rb
diff --git a/samples/99_genre_roguelike/roguelike_starting_point/license-for-sample.txt b/samples/99_genre_rpg_roguelike/roguelike_line_of_sight/license-for-sample.txt
index 100dcec..100dcec 100644
--- a/samples/99_genre_roguelike/roguelike_starting_point/license-for-sample.txt
+++ b/samples/99_genre_rpg_roguelike/roguelike_line_of_sight/license-for-sample.txt
diff --git a/samples/99_genre_roguelike/roguelike_line_of_sight/sprites/simple-mood-16x16.png b/samples/99_genre_rpg_roguelike/roguelike_line_of_sight/sprites/simple-mood-16x16.png
index 0eca11e..0eca11e 100644
--- a/samples/99_genre_roguelike/roguelike_line_of_sight/sprites/simple-mood-16x16.png
+++ b/samples/99_genre_rpg_roguelike/roguelike_line_of_sight/sprites/simple-mood-16x16.png
Binary files differ
diff --git a/samples/99_genre_roguelike/roguelike_starting_point/app/main.rb b/samples/99_genre_rpg_roguelike/roguelike_starting_point/app/main.rb
index 66ff027..66ff027 100644
--- a/samples/99_genre_roguelike/roguelike_starting_point/app/main.rb
+++ b/samples/99_genre_rpg_roguelike/roguelike_starting_point/app/main.rb
diff --git a/samples/99_genre_tactical_rpg/hexagonal_grid/license-for-sample.txt b/samples/99_genre_rpg_roguelike/roguelike_starting_point/license-for-sample.txt
index 100dcec..100dcec 100644
--- a/samples/99_genre_tactical_rpg/hexagonal_grid/license-for-sample.txt
+++ b/samples/99_genre_rpg_roguelike/roguelike_starting_point/license-for-sample.txt
diff --git a/samples/99_genre_roguelike/roguelike_starting_point/replay.txt b/samples/99_genre_rpg_roguelike/roguelike_starting_point/replay.txt
index a2b4c52..a2b4c52 100644
--- a/samples/99_genre_roguelike/roguelike_starting_point/replay.txt
+++ b/samples/99_genre_rpg_roguelike/roguelike_starting_point/replay.txt
diff --git a/samples/99_genre_tactical_rpg/hexagonal_grid/app/main.rb b/samples/99_genre_rpg_tactical/hexagonal_grid/app/main.rb
index b522ace..b522ace 100644
--- a/samples/99_genre_tactical_rpg/hexagonal_grid/app/main.rb
+++ b/samples/99_genre_rpg_tactical/hexagonal_grid/app/main.rb
diff --git a/samples/99_genre_tactical_rpg/isometric_grid/license-for-sample.txt b/samples/99_genre_rpg_tactical/hexagonal_grid/license-for-sample.txt
index 100dcec..100dcec 100644
--- a/samples/99_genre_tactical_rpg/isometric_grid/license-for-sample.txt
+++ b/samples/99_genre_rpg_tactical/hexagonal_grid/license-for-sample.txt
diff --git a/samples/99_genre_tactical_rpg/hexagonal_grid/replay.txt b/samples/99_genre_rpg_tactical/hexagonal_grid/replay.txt
index 9e646bc..9e646bc 100644
--- a/samples/99_genre_tactical_rpg/hexagonal_grid/replay.txt
+++ b/samples/99_genre_rpg_tactical/hexagonal_grid/replay.txt
diff --git a/samples/99_genre_tactical_rpg/hexagonal_grid/sprites/hexagon-black.png b/samples/99_genre_rpg_tactical/hexagonal_grid/sprites/hexagon-black.png
index f50c872..f50c872 100644
--- a/samples/99_genre_tactical_rpg/hexagonal_grid/sprites/hexagon-black.png
+++ b/samples/99_genre_rpg_tactical/hexagonal_grid/sprites/hexagon-black.png
Binary files differ
diff --git a/samples/99_genre_tactical_rpg/hexagonal_grid/sprites/hexagon-gray.png b/samples/99_genre_rpg_tactical/hexagonal_grid/sprites/hexagon-gray.png
index e8c4c5a..e8c4c5a 100644
--- a/samples/99_genre_tactical_rpg/hexagonal_grid/sprites/hexagon-gray.png
+++ b/samples/99_genre_rpg_tactical/hexagonal_grid/sprites/hexagon-gray.png
Binary files differ
diff --git a/samples/99_genre_tactical_rpg/isometric_grid/app/main.rb b/samples/99_genre_rpg_tactical/isometric_grid/app/main.rb
index 28bea32..28bea32 100644
--- a/samples/99_genre_tactical_rpg/isometric_grid/app/main.rb
+++ b/samples/99_genre_rpg_tactical/isometric_grid/app/main.rb
diff --git a/samples/99_genre_topdown_rpg/topdown_starting_point/license-for-sample.txt b/samples/99_genre_rpg_tactical/isometric_grid/license-for-sample.txt
index 100dcec..100dcec 100644
--- a/samples/99_genre_topdown_rpg/topdown_starting_point/license-for-sample.txt
+++ b/samples/99_genre_rpg_tactical/isometric_grid/license-for-sample.txt
diff --git a/samples/99_genre_tactical_rpg/isometric_grid/metadata/game_metadata.txt b/samples/99_genre_rpg_tactical/isometric_grid/metadata/game_metadata.txt
index 1b03500..1b03500 100644
--- a/samples/99_genre_tactical_rpg/isometric_grid/metadata/game_metadata.txt
+++ b/samples/99_genre_rpg_tactical/isometric_grid/metadata/game_metadata.txt
diff --git a/samples/99_genre_tactical_rpg/isometric_grid/metadata/icon.png b/samples/99_genre_rpg_tactical/isometric_grid/metadata/icon.png
index e20e8c2..e20e8c2 100644
--- a/samples/99_genre_tactical_rpg/isometric_grid/metadata/icon.png
+++ b/samples/99_genre_rpg_tactical/isometric_grid/metadata/icon.png
Binary files differ
diff --git a/samples/99_genre_tactical_rpg/isometric_grid/replay.txt b/samples/99_genre_rpg_tactical/isometric_grid/replay.txt
index 1cf14a2..1cf14a2 100644
--- a/samples/99_genre_tactical_rpg/isometric_grid/replay.txt
+++ b/samples/99_genre_rpg_tactical/isometric_grid/replay.txt
diff --git a/samples/99_genre_tactical_rpg/isometric_grid/sprites/leftSide.png b/samples/99_genre_rpg_tactical/isometric_grid/sprites/leftSide.png
index 1fc0060..1fc0060 100644
--- a/samples/99_genre_tactical_rpg/isometric_grid/sprites/leftSide.png
+++ b/samples/99_genre_rpg_tactical/isometric_grid/sprites/leftSide.png
Binary files differ
diff --git a/samples/99_genre_tactical_rpg/isometric_grid/sprites/mountain.png b/samples/99_genre_rpg_tactical/isometric_grid/sprites/mountain.png
index 5794464..5794464 100644
--- a/samples/99_genre_tactical_rpg/isometric_grid/sprites/mountain.png
+++ b/samples/99_genre_rpg_tactical/isometric_grid/sprites/mountain.png
Binary files differ
diff --git a/samples/99_genre_tactical_rpg/isometric_grid/sprites/ocean.png b/samples/99_genre_rpg_tactical/isometric_grid/sprites/ocean.png
index fbf5fc1..fbf5fc1 100644
--- a/samples/99_genre_tactical_rpg/isometric_grid/sprites/ocean.png
+++ b/samples/99_genre_rpg_tactical/isometric_grid/sprites/ocean.png
Binary files differ
diff --git a/samples/99_genre_tactical_rpg/isometric_grid/sprites/rightSide.png b/samples/99_genre_rpg_tactical/isometric_grid/sprites/rightSide.png
index d74ff14..d74ff14 100644
--- a/samples/99_genre_tactical_rpg/isometric_grid/sprites/rightSide.png
+++ b/samples/99_genre_rpg_tactical/isometric_grid/sprites/rightSide.png
Binary files differ
diff --git a/samples/99_genre_tactical_rpg/isometric_grid/sprites/river.png b/samples/99_genre_rpg_tactical/isometric_grid/sprites/river.png
index eb51890..eb51890 100644
--- a/samples/99_genre_tactical_rpg/isometric_grid/sprites/river.png
+++ b/samples/99_genre_rpg_tactical/isometric_grid/sprites/river.png
Binary files differ
diff --git a/samples/99_genre_tactical_rpg/isometric_grid/sprites/selectedTile.png b/samples/99_genre_rpg_tactical/isometric_grid/sprites/selectedTile.png
index 3719cac..3719cac 100644
--- a/samples/99_genre_tactical_rpg/isometric_grid/sprites/selectedTile.png
+++ b/samples/99_genre_rpg_tactical/isometric_grid/sprites/selectedTile.png
Binary files differ
diff --git a/samples/99_genre_tactical_rpg/isometric_grid/sprites/tile.png b/samples/99_genre_rpg_tactical/isometric_grid/sprites/tile.png
index 4a4f690..4a4f690 100644
--- a/samples/99_genre_tactical_rpg/isometric_grid/sprites/tile.png
+++ b/samples/99_genre_rpg_tactical/isometric_grid/sprites/tile.png
Binary files differ
diff --git a/samples/99_genre_topdown_rpg/topdown_starting_point/app/main.rb b/samples/99_genre_rpg_topdown/topdown_starting_point/app/main.rb
index c447940..c447940 100644
--- a/samples/99_genre_topdown_rpg/topdown_starting_point/app/main.rb
+++ b/samples/99_genre_rpg_topdown/topdown_starting_point/app/main.rb
diff --git a/samples/99_genre_rpg_topdown/topdown_starting_point/license-for-sample.txt b/samples/99_genre_rpg_topdown/topdown_starting_point/license-for-sample.txt
new file mode 100644
index 0000000..100dcec
--- /dev/null
+++ b/samples/99_genre_rpg_topdown/topdown_starting_point/license-for-sample.txt
@@ -0,0 +1,9 @@
+Copyright 2019 DragonRuby LLC
+
+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_topdown_rpg/topdown_starting_point/replay.txt b/samples/99_genre_rpg_topdown/topdown_starting_point/replay.txt
index f121bc6..f121bc6 100644
--- a/samples/99_genre_topdown_rpg/topdown_starting_point/replay.txt
+++ b/samples/99_genre_rpg_topdown/topdown_starting_point/replay.txt