diff --git a/assets/characters/bird/bird_flying_anim.gif b/assets/characters/bird/bird_flying_anim.gif deleted file mode 100644 index 34d1d2b..0000000 Binary files a/assets/characters/bird/bird_flying_anim.gif and /dev/null differ diff --git a/assets/characters/bird/bird_flying_anim_strip_3.png b/assets/characters/bird/bird_flying_anim_strip_3.png deleted file mode 100644 index af049b8..0000000 Binary files a/assets/characters/bird/bird_flying_anim_strip_3.png and /dev/null differ diff --git a/assets/characters/bird/bird_idle_anim.gif b/assets/characters/bird/bird_idle_anim.gif deleted file mode 100644 index 49c03da..0000000 Binary files a/assets/characters/bird/bird_idle_anim.gif and /dev/null differ diff --git a/assets/characters/bird/bird_idle_anim_strip_8.png b/assets/characters/bird/bird_idle_anim_strip_8.png deleted file mode 100644 index e0b3bc6..0000000 Binary files a/assets/characters/bird/bird_idle_anim_strip_8.png and /dev/null differ diff --git a/assets/characters/bird/bird_walk_anim.gif b/assets/characters/bird/bird_walk_anim.gif deleted file mode 100644 index dda1240..0000000 Binary files a/assets/characters/bird/bird_walk_anim.gif and /dev/null differ diff --git a/assets/characters/bird/bird_walk_anim_strip_3.png b/assets/characters/bird/bird_walk_anim_strip_3.png deleted file mode 100644 index 6258d49..0000000 Binary files a/assets/characters/bird/bird_walk_anim_strip_3.png and /dev/null differ diff --git a/assets/characters/bomber goblin/bomber_goblin_attack_anim.gif b/assets/characters/bomber goblin/bomber_goblin_attack_anim.gif deleted file mode 100644 index 21372f8..0000000 Binary files a/assets/characters/bomber goblin/bomber_goblin_attack_anim.gif and /dev/null differ diff --git a/assets/characters/bomber goblin/bomber_goblin_attack_anim_strip_6.png b/assets/characters/bomber goblin/bomber_goblin_attack_anim_strip_6.png deleted file mode 100644 index f02fceb..0000000 Binary files a/assets/characters/bomber goblin/bomber_goblin_attack_anim_strip_6.png and /dev/null differ diff --git a/assets/characters/bomber goblin/bomber_goblin_death_anim.gif b/assets/characters/bomber goblin/bomber_goblin_death_anim.gif deleted file mode 100644 index dec2326..0000000 Binary files a/assets/characters/bomber goblin/bomber_goblin_death_anim.gif and /dev/null differ diff --git a/assets/characters/bomber goblin/bomber_goblin_death_anim_strip_6.png b/assets/characters/bomber goblin/bomber_goblin_death_anim_strip_6.png deleted file mode 100644 index f56f157..0000000 Binary files a/assets/characters/bomber goblin/bomber_goblin_death_anim_strip_6.png and /dev/null differ diff --git a/assets/characters/bomber goblin/bomber_goblin_hit_anim.gif b/assets/characters/bomber goblin/bomber_goblin_hit_anim.gif deleted file mode 100644 index 179f914..0000000 Binary files a/assets/characters/bomber goblin/bomber_goblin_hit_anim.gif and /dev/null differ diff --git a/assets/characters/bomber goblin/bomber_goblin_hit_anim_strip_3.png b/assets/characters/bomber goblin/bomber_goblin_hit_anim_strip_3.png deleted file mode 100644 index c1a8675..0000000 Binary files a/assets/characters/bomber goblin/bomber_goblin_hit_anim_strip_3.png and /dev/null differ diff --git a/assets/characters/bomber goblin/bomber_goblin_idle_anim.gif b/assets/characters/bomber goblin/bomber_goblin_idle_anim.gif deleted file mode 100644 index 1df7d38..0000000 Binary files a/assets/characters/bomber goblin/bomber_goblin_idle_anim.gif and /dev/null differ diff --git a/assets/characters/bomber goblin/bomber_goblin_idle_anim_strip_4.png b/assets/characters/bomber goblin/bomber_goblin_idle_anim_strip_4.png deleted file mode 100644 index dbbe99e..0000000 Binary files a/assets/characters/bomber goblin/bomber_goblin_idle_anim_strip_4.png and /dev/null differ diff --git a/assets/characters/bomber goblin/goblin_bomber_spritesheet.png b/assets/characters/bomber goblin/goblin_bomber_spritesheet.png deleted file mode 100644 index b90d4f5..0000000 Binary files a/assets/characters/bomber goblin/goblin_bomber_spritesheet.png and /dev/null differ diff --git a/assets/characters/fly/blue_fly_attack_anim.gif b/assets/characters/fly/blue_fly_attack_anim.gif deleted file mode 100644 index 2fd8556..0000000 Binary files a/assets/characters/fly/blue_fly_attack_anim.gif and /dev/null differ diff --git a/assets/characters/fly/blue_fly_attack_anim_srip_3.png b/assets/characters/fly/blue_fly_attack_anim_srip_3.png deleted file mode 100644 index 3a9cfa2..0000000 Binary files a/assets/characters/fly/blue_fly_attack_anim_srip_3.png and /dev/null differ diff --git a/assets/characters/fly/blue_fly_death_anim.gif b/assets/characters/fly/blue_fly_death_anim.gif deleted file mode 100644 index cb5613f..0000000 Binary files a/assets/characters/fly/blue_fly_death_anim.gif and /dev/null differ diff --git a/assets/characters/fly/blue_fly_death_anim_strip_5.png b/assets/characters/fly/blue_fly_death_anim_strip_5.png deleted file mode 100644 index 3fe9975..0000000 Binary files a/assets/characters/fly/blue_fly_death_anim_strip_5.png and /dev/null differ diff --git a/assets/characters/fly/blue_fly_hit_anim.gif b/assets/characters/fly/blue_fly_hit_anim.gif deleted file mode 100644 index 81ccf9c..0000000 Binary files a/assets/characters/fly/blue_fly_hit_anim.gif and /dev/null differ diff --git a/assets/characters/fly/blue_fly_hit_anim_strip_3.png b/assets/characters/fly/blue_fly_hit_anim_strip_3.png deleted file mode 100644 index 5e9c0c1..0000000 Binary files a/assets/characters/fly/blue_fly_hit_anim_strip_3.png and /dev/null differ diff --git a/assets/characters/fly/blue_fly_idle_or_flying_anim.gif b/assets/characters/fly/blue_fly_idle_or_flying_anim.gif deleted file mode 100644 index 3ebae67..0000000 Binary files a/assets/characters/fly/blue_fly_idle_or_flying_anim.gif and /dev/null differ diff --git a/assets/characters/fly/blue_fly_idle_or_flying_anim_strip_3.png b/assets/characters/fly/blue_fly_idle_or_flying_anim_strip_3.png deleted file mode 100644 index 4f60292..0000000 Binary files a/assets/characters/fly/blue_fly_idle_or_flying_anim_strip_3.png and /dev/null differ diff --git a/assets/characters/fly/fly_spritesheet.png b/assets/characters/fly/fly_spritesheet.png deleted file mode 100644 index a64fe30..0000000 Binary files a/assets/characters/fly/fly_spritesheet.png and /dev/null differ diff --git a/assets/characters/fly/orange_fly_atack_anim.gif b/assets/characters/fly/orange_fly_atack_anim.gif deleted file mode 100644 index b2e17b8..0000000 Binary files a/assets/characters/fly/orange_fly_atack_anim.gif and /dev/null differ diff --git a/assets/characters/fly/orange_fly_atack_anim_srip_3.png b/assets/characters/fly/orange_fly_atack_anim_srip_3.png deleted file mode 100644 index 38f1e7c..0000000 Binary files a/assets/characters/fly/orange_fly_atack_anim_srip_3.png and /dev/null differ diff --git a/assets/characters/fly/orange_fly_death_anim.gif b/assets/characters/fly/orange_fly_death_anim.gif deleted file mode 100644 index ad8e083..0000000 Binary files a/assets/characters/fly/orange_fly_death_anim.gif and /dev/null differ diff --git a/assets/characters/fly/orange_fly_death_anim_strip_5.png b/assets/characters/fly/orange_fly_death_anim_strip_5.png deleted file mode 100644 index dc754e4..0000000 Binary files a/assets/characters/fly/orange_fly_death_anim_strip_5.png and /dev/null differ diff --git a/assets/characters/fly/orange_fly_hit_anim.gif b/assets/characters/fly/orange_fly_hit_anim.gif deleted file mode 100644 index 7f15982..0000000 Binary files a/assets/characters/fly/orange_fly_hit_anim.gif and /dev/null differ diff --git a/assets/characters/fly/orange_fly_hit_anim_strip_3.png b/assets/characters/fly/orange_fly_hit_anim_strip_3.png deleted file mode 100644 index 5ebed2a..0000000 Binary files a/assets/characters/fly/orange_fly_hit_anim_strip_3.png and /dev/null differ diff --git a/assets/characters/fly/orange_fly_idle_or_flying_anim.gif b/assets/characters/fly/orange_fly_idle_or_flying_anim.gif deleted file mode 100644 index 3b17715..0000000 Binary files a/assets/characters/fly/orange_fly_idle_or_flying_anim.gif and /dev/null differ diff --git a/assets/characters/fly/orange_fly_idle_or_flying_anim_strip_3.png b/assets/characters/fly/orange_fly_idle_or_flying_anim_strip_3.png deleted file mode 100644 index 64f8ce6..0000000 Binary files a/assets/characters/fly/orange_fly_idle_or_flying_anim_strip_3.png and /dev/null differ diff --git a/assets/characters/goblin/goblin_attack_anim.gif b/assets/characters/goblin/goblin_attack_anim.gif deleted file mode 100644 index f46f61c..0000000 Binary files a/assets/characters/goblin/goblin_attack_anim.gif and /dev/null differ diff --git a/assets/characters/goblin/goblin_attack_anim_strip_4.png b/assets/characters/goblin/goblin_attack_anim_strip_4.png deleted file mode 100644 index 95d0d33..0000000 Binary files a/assets/characters/goblin/goblin_attack_anim_strip_4.png and /dev/null differ diff --git a/assets/characters/goblin/goblin_death_anim.gif b/assets/characters/goblin/goblin_death_anim.gif deleted file mode 100644 index 7590b9e..0000000 Binary files a/assets/characters/goblin/goblin_death_anim.gif and /dev/null differ diff --git a/assets/characters/goblin/goblin_death_anim_strip_6.png b/assets/characters/goblin/goblin_death_anim_strip_6.png deleted file mode 100644 index d9d1e4b..0000000 Binary files a/assets/characters/goblin/goblin_death_anim_strip_6.png and /dev/null differ diff --git a/assets/characters/goblin/goblin_hit_anim.gif b/assets/characters/goblin/goblin_hit_anim.gif deleted file mode 100644 index d8fdbef..0000000 Binary files a/assets/characters/goblin/goblin_hit_anim.gif and /dev/null differ diff --git a/assets/characters/goblin/goblin_hit_anim_strip_3.png b/assets/characters/goblin/goblin_hit_anim_strip_3.png deleted file mode 100644 index 5e306f3..0000000 Binary files a/assets/characters/goblin/goblin_hit_anim_strip_3.png and /dev/null differ diff --git a/assets/characters/goblin/goblin_idle_anim.gif b/assets/characters/goblin/goblin_idle_anim.gif deleted file mode 100644 index 082b6bf..0000000 Binary files a/assets/characters/goblin/goblin_idle_anim.gif and /dev/null differ diff --git a/assets/characters/goblin/goblin_idle_anim_strip_4.png b/assets/characters/goblin/goblin_idle_anim_strip_4.png deleted file mode 100644 index c2a652b..0000000 Binary files a/assets/characters/goblin/goblin_idle_anim_strip_4.png and /dev/null differ diff --git a/assets/characters/goblin/goblin_run_anim.gif b/assets/characters/goblin/goblin_run_anim.gif deleted file mode 100644 index 9426ff0..0000000 Binary files a/assets/characters/goblin/goblin_run_anim.gif and /dev/null differ diff --git a/assets/characters/goblin/goblin_run_anim_strip_6.png b/assets/characters/goblin/goblin_run_anim_strip_6.png deleted file mode 100644 index 846e748..0000000 Binary files a/assets/characters/goblin/goblin_run_anim_strip_6.png and /dev/null differ diff --git a/assets/characters/goblin/goblin_spritesheet.png b/assets/characters/goblin/goblin_spritesheet.png deleted file mode 100644 index 4ff997e..0000000 Binary files a/assets/characters/goblin/goblin_spritesheet.png and /dev/null differ diff --git a/assets/characters/kupo/kupo.ase b/assets/characters/kupo/kupo.ase new file mode 100644 index 0000000..8b34622 Binary files /dev/null and b/assets/characters/kupo/kupo.ase differ diff --git a/assets/characters/kupo/kupo1.png b/assets/characters/kupo/kupo1.png new file mode 100644 index 0000000..62cfac3 Binary files /dev/null and b/assets/characters/kupo/kupo1.png differ diff --git a/assets/characters/kupo/kupo2.png b/assets/characters/kupo/kupo2.png new file mode 100644 index 0000000..961686c Binary files /dev/null and b/assets/characters/kupo/kupo2.png differ diff --git a/assets/characters/kupo/kupo3.png b/assets/characters/kupo/kupo3.png new file mode 100644 index 0000000..abcd79d Binary files /dev/null and b/assets/characters/kupo/kupo3.png differ diff --git a/assets/characters/kupo/kupo4.png b/assets/characters/kupo/kupo4.png new file mode 100644 index 0000000..7895cf1 Binary files /dev/null and b/assets/characters/kupo/kupo4.png differ diff --git a/assets/characters/kupo/kupo_bow.ase b/assets/characters/kupo/kupo_bow.ase new file mode 100644 index 0000000..c789409 Binary files /dev/null and b/assets/characters/kupo/kupo_bow.ase differ diff --git a/assets/characters/kupo/kupo_bow1.png b/assets/characters/kupo/kupo_bow1.png new file mode 100644 index 0000000..b912b83 Binary files /dev/null and b/assets/characters/kupo/kupo_bow1.png differ diff --git a/assets/characters/kupo/kupo_bow2.png b/assets/characters/kupo/kupo_bow2.png new file mode 100644 index 0000000..50b6321 Binary files /dev/null and b/assets/characters/kupo/kupo_bow2.png differ diff --git a/assets/characters/kupo/kupo_bow3.png b/assets/characters/kupo/kupo_bow3.png new file mode 100644 index 0000000..0f94d4d Binary files /dev/null and b/assets/characters/kupo/kupo_bow3.png differ diff --git a/assets/characters/kupo/kupo_bow4.png b/assets/characters/kupo/kupo_bow4.png new file mode 100644 index 0000000..292407e Binary files /dev/null and b/assets/characters/kupo/kupo_bow4.png differ diff --git a/assets/characters/kupo/kupo_bow5.png b/assets/characters/kupo/kupo_bow5.png new file mode 100644 index 0000000..f8c5369 Binary files /dev/null and b/assets/characters/kupo/kupo_bow5.png differ diff --git a/assets/characters/kupo/kupo_bow6.png b/assets/characters/kupo/kupo_bow6.png new file mode 100644 index 0000000..0483185 Binary files /dev/null and b/assets/characters/kupo/kupo_bow6.png differ diff --git a/assets/characters/mushroom/mushroom_crushed_anim.gif b/assets/characters/mushroom/mushroom_crushed_anim.gif deleted file mode 100644 index 9f39937..0000000 Binary files a/assets/characters/mushroom/mushroom_crushed_anim.gif and /dev/null differ diff --git a/assets/characters/mushroom/mushroom_crushed_anim_strip_6.png b/assets/characters/mushroom/mushroom_crushed_anim_strip_6.png deleted file mode 100644 index 2402b4b..0000000 Binary files a/assets/characters/mushroom/mushroom_crushed_anim_strip_6.png and /dev/null differ diff --git a/assets/characters/mushroom/mushroom_death_anim.gif b/assets/characters/mushroom/mushroom_death_anim.gif deleted file mode 100644 index fb5e995..0000000 Binary files a/assets/characters/mushroom/mushroom_death_anim.gif and /dev/null differ diff --git a/assets/characters/mushroom/mushroom_death_anim_strip_6.png b/assets/characters/mushroom/mushroom_death_anim_strip_6.png deleted file mode 100644 index 1d421fe..0000000 Binary files a/assets/characters/mushroom/mushroom_death_anim_strip_6.png and /dev/null differ diff --git a/assets/characters/mushroom/mushroom_hit_anim.gif b/assets/characters/mushroom/mushroom_hit_anim.gif deleted file mode 100644 index a2df40c..0000000 Binary files a/assets/characters/mushroom/mushroom_hit_anim.gif and /dev/null differ diff --git a/assets/characters/mushroom/mushroom_hit_anim_strip_3.png b/assets/characters/mushroom/mushroom_hit_anim_strip_3.png deleted file mode 100644 index 2f350bd..0000000 Binary files a/assets/characters/mushroom/mushroom_hit_anim_strip_3.png and /dev/null differ diff --git a/assets/characters/mushroom/mushroom_spritesheet.png b/assets/characters/mushroom/mushroom_spritesheet.png deleted file mode 100644 index 06a104d..0000000 Binary files a/assets/characters/mushroom/mushroom_spritesheet.png and /dev/null differ diff --git a/assets/characters/mushroom/mushroom_walk_anim.gif b/assets/characters/mushroom/mushroom_walk_anim.gif deleted file mode 100644 index ee9f7e0..0000000 Binary files a/assets/characters/mushroom/mushroom_walk_anim.gif and /dev/null differ diff --git a/assets/characters/mushroom/mushroom_walk_anim_strip_8.png b/assets/characters/mushroom/mushroom_walk_anim_strip_8.png deleted file mode 100644 index 44751b8..0000000 Binary files a/assets/characters/mushroom/mushroom_walk_anim_strip_8.png and /dev/null differ diff --git a/assets/characters/nancy/fall.png b/assets/characters/nancy/fall.png index d71f208..a4d2598 100644 Binary files a/assets/characters/nancy/fall.png and b/assets/characters/nancy/fall.png differ diff --git a/assets/characters/nancy/fall1.png b/assets/characters/nancy/fall1.png index 947112d..49567e5 100644 Binary files a/assets/characters/nancy/fall1.png and b/assets/characters/nancy/fall1.png differ diff --git a/assets/characters/nancy/fall2.png b/assets/characters/nancy/fall2.png index ea5eb7f..9a59b44 100644 Binary files a/assets/characters/nancy/fall2.png and b/assets/characters/nancy/fall2.png differ diff --git a/assets/characters/nancy/fall3.png b/assets/characters/nancy/fall3.png index f4a811c..87c85bd 100644 Binary files a/assets/characters/nancy/fall3.png and b/assets/characters/nancy/fall3.png differ diff --git a/assets/characters/nancy/idle1.png b/assets/characters/nancy/idle1.png index d4918c4..37bee31 100644 Binary files a/assets/characters/nancy/idle1.png and b/assets/characters/nancy/idle1.png differ diff --git a/assets/characters/nancy/idle2.png b/assets/characters/nancy/idle2.png index d5a7166..c6d29ad 100644 Binary files a/assets/characters/nancy/idle2.png and b/assets/characters/nancy/idle2.png differ diff --git a/assets/characters/nancy/idle3.png b/assets/characters/nancy/idle3.png index e59fb91..6be79ed 100644 Binary files a/assets/characters/nancy/idle3.png and b/assets/characters/nancy/idle3.png differ diff --git a/assets/characters/nancy/idle4.png b/assets/characters/nancy/idle4.png index ed18ab5..f0e2f7f 100644 Binary files a/assets/characters/nancy/idle4.png and b/assets/characters/nancy/idle4.png differ diff --git a/assets/characters/nancy/jump1.png b/assets/characters/nancy/jump1.png index d51cfe7..03c850f 100644 Binary files a/assets/characters/nancy/jump1.png and b/assets/characters/nancy/jump1.png differ diff --git a/assets/characters/nancy/jump2.png b/assets/characters/nancy/jump2.png index c41527b..75dd828 100644 Binary files a/assets/characters/nancy/jump2.png and b/assets/characters/nancy/jump2.png differ diff --git a/assets/characters/nancy/jump3.png b/assets/characters/nancy/jump3.png index 2fdffec..35558f0 100644 Binary files a/assets/characters/nancy/jump3.png and b/assets/characters/nancy/jump3.png differ diff --git a/assets/characters/nancy/run1.png b/assets/characters/nancy/run1.png index d471a2a..20fbda8 100644 Binary files a/assets/characters/nancy/run1.png and b/assets/characters/nancy/run1.png differ diff --git a/assets/characters/nancy/run2.png b/assets/characters/nancy/run2.png index c66ebc3..d60c289 100644 Binary files a/assets/characters/nancy/run2.png and b/assets/characters/nancy/run2.png differ diff --git a/assets/characters/nancy/run3.png b/assets/characters/nancy/run3.png index 296f6f0..1fe2f76 100644 Binary files a/assets/characters/nancy/run3.png and b/assets/characters/nancy/run3.png differ diff --git a/assets/characters/nancy/run4.png b/assets/characters/nancy/run4.png index 2e4d724..241217c 100644 Binary files a/assets/characters/nancy/run4.png and b/assets/characters/nancy/run4.png differ diff --git a/assets/characters/nancy/run5.png b/assets/characters/nancy/run5.png index 75147e8..047b8c0 100644 Binary files a/assets/characters/nancy/run5.png and b/assets/characters/nancy/run5.png differ diff --git a/assets/characters/nancy/run6.png b/assets/characters/nancy/run6.png index fb3a4cb..3890c8e 100644 Binary files a/assets/characters/nancy/run6.png and b/assets/characters/nancy/run6.png differ diff --git a/assets/characters/nancy/unformatted/herochar_after_jump_dust_anim.gif b/assets/characters/nancy/unformatted/herochar_after_jump_dust_anim.gif deleted file mode 100644 index 6788c32..0000000 Binary files a/assets/characters/nancy/unformatted/herochar_after_jump_dust_anim.gif and /dev/null differ diff --git a/assets/characters/nancy/unformatted/herochar_after_jump_dust_anim_strip_4.png b/assets/characters/nancy/unformatted/herochar_after_jump_dust_anim_strip_4.png deleted file mode 100644 index e599631..0000000 Binary files a/assets/characters/nancy/unformatted/herochar_after_jump_dust_anim_strip_4.png and /dev/null differ diff --git a/assets/characters/nancy/unformatted/herochar_attack_anim(new).gif b/assets/characters/nancy/unformatted/herochar_attack_anim(new).gif deleted file mode 100644 index ef5b8c0..0000000 Binary files a/assets/characters/nancy/unformatted/herochar_attack_anim(new).gif and /dev/null differ diff --git a/assets/characters/nancy/unformatted/herochar_attack_anim_strip_4(new).png b/assets/characters/nancy/unformatted/herochar_attack_anim_strip_4(new).png deleted file mode 100644 index 97e9029..0000000 Binary files a/assets/characters/nancy/unformatted/herochar_attack_anim_strip_4(new).png and /dev/null differ diff --git a/assets/characters/nancy/unformatted/herochar_before_jump_dust_anim.gif b/assets/characters/nancy/unformatted/herochar_before_jump_dust_anim.gif deleted file mode 100644 index c89c23b..0000000 Binary files a/assets/characters/nancy/unformatted/herochar_before_jump_dust_anim.gif and /dev/null differ diff --git a/assets/characters/nancy/unformatted/herochar_before_jump_dust_anim_strip_4.png b/assets/characters/nancy/unformatted/herochar_before_jump_dust_anim_strip_4.png deleted file mode 100644 index f13059d..0000000 Binary files a/assets/characters/nancy/unformatted/herochar_before_jump_dust_anim_strip_4.png and /dev/null differ diff --git a/assets/characters/nancy/unformatted/herochar_before_or_after_jump.gif b/assets/characters/nancy/unformatted/herochar_before_or_after_jump.gif deleted file mode 100644 index eff0e27..0000000 Binary files a/assets/characters/nancy/unformatted/herochar_before_or_after_jump.gif and /dev/null differ diff --git a/assets/characters/nancy/unformatted/herochar_before_or_after_jump_srip_2.png b/assets/characters/nancy/unformatted/herochar_before_or_after_jump_srip_2.png deleted file mode 100644 index 1146f8b..0000000 Binary files a/assets/characters/nancy/unformatted/herochar_before_or_after_jump_srip_2.png and /dev/null differ diff --git a/assets/characters/nancy/unformatted/herochar_death_anim.gif b/assets/characters/nancy/unformatted/herochar_death_anim.gif deleted file mode 100644 index 91239f2..0000000 Binary files a/assets/characters/nancy/unformatted/herochar_death_anim.gif and /dev/null differ diff --git a/assets/characters/nancy/unformatted/herochar_death_anim_strip_8.png b/assets/characters/nancy/unformatted/herochar_death_anim_strip_8.png deleted file mode 100644 index 5385e12..0000000 Binary files a/assets/characters/nancy/unformatted/herochar_death_anim_strip_8.png and /dev/null differ diff --git a/assets/characters/nancy/unformatted/herochar_hit_anim.gif b/assets/characters/nancy/unformatted/herochar_hit_anim.gif deleted file mode 100644 index 428580e..0000000 Binary files a/assets/characters/nancy/unformatted/herochar_hit_anim.gif and /dev/null differ diff --git a/assets/characters/nancy/unformatted/herochar_hit_anim_strip_3.png b/assets/characters/nancy/unformatted/herochar_hit_anim_strip_3.png deleted file mode 100644 index 2ed2484..0000000 Binary files a/assets/characters/nancy/unformatted/herochar_hit_anim_strip_3.png and /dev/null differ diff --git a/assets/characters/nancy/unformatted/herochar_idle_anim.gif b/assets/characters/nancy/unformatted/herochar_idle_anim.gif deleted file mode 100644 index 12cf9b6..0000000 Binary files a/assets/characters/nancy/unformatted/herochar_idle_anim.gif and /dev/null differ diff --git a/assets/characters/nancy/unformatted/herochar_jump_double_anim.gif b/assets/characters/nancy/unformatted/herochar_jump_double_anim.gif deleted file mode 100644 index 5dd16e3..0000000 Binary files a/assets/characters/nancy/unformatted/herochar_jump_double_anim.gif and /dev/null differ diff --git a/assets/characters/nancy/unformatted/herochar_jump_double_anim_strip_3.png b/assets/characters/nancy/unformatted/herochar_jump_double_anim_strip_3.png deleted file mode 100644 index 857e7a5..0000000 Binary files a/assets/characters/nancy/unformatted/herochar_jump_double_anim_strip_3.png and /dev/null differ diff --git a/assets/characters/nancy/unformatted/herochar_jump_down_anim.gif b/assets/characters/nancy/unformatted/herochar_jump_down_anim.gif deleted file mode 100644 index 935e44c..0000000 Binary files a/assets/characters/nancy/unformatted/herochar_jump_down_anim.gif and /dev/null differ diff --git a/assets/characters/nancy/unformatted/herochar_jump_down_anim_strip_3.png b/assets/characters/nancy/unformatted/herochar_jump_down_anim_strip_3.png deleted file mode 100644 index d654054..0000000 Binary files a/assets/characters/nancy/unformatted/herochar_jump_down_anim_strip_3.png and /dev/null differ diff --git a/assets/characters/nancy/unformatted/herochar_jump_up_anim.gif b/assets/characters/nancy/unformatted/herochar_jump_up_anim.gif deleted file mode 100644 index e6ddff2..0000000 Binary files a/assets/characters/nancy/unformatted/herochar_jump_up_anim.gif and /dev/null differ diff --git a/assets/characters/nancy/unformatted/herochar_jump_up_anim_strip_3.png b/assets/characters/nancy/unformatted/herochar_jump_up_anim_strip_3.png deleted file mode 100644 index 05af352..0000000 Binary files a/assets/characters/nancy/unformatted/herochar_jump_up_anim_strip_3.png and /dev/null differ diff --git a/assets/characters/nancy/unformatted/herochar_pushing_foward_anim.gif b/assets/characters/nancy/unformatted/herochar_pushing_foward_anim.gif deleted file mode 100644 index c9a836e..0000000 Binary files a/assets/characters/nancy/unformatted/herochar_pushing_foward_anim.gif and /dev/null differ diff --git a/assets/characters/nancy/unformatted/herochar_pushing_foward_anim_strip_6.png b/assets/characters/nancy/unformatted/herochar_pushing_foward_anim_strip_6.png deleted file mode 100644 index 79a37f9..0000000 Binary files a/assets/characters/nancy/unformatted/herochar_pushing_foward_anim_strip_6.png and /dev/null differ diff --git a/assets/characters/nancy/unformatted/herochar_run_anim.gif b/assets/characters/nancy/unformatted/herochar_run_anim.gif deleted file mode 100644 index db8e0a2..0000000 Binary files a/assets/characters/nancy/unformatted/herochar_run_anim.gif and /dev/null differ diff --git a/assets/characters/nancy/unformatted/herochar_spritesheet(new).png b/assets/characters/nancy/unformatted/herochar_spritesheet(new).png deleted file mode 100644 index 54fc0f4..0000000 Binary files a/assets/characters/nancy/unformatted/herochar_spritesheet(new).png and /dev/null differ diff --git a/assets/characters/nancy/unformatted/herochar_sword_attack_anim.gif b/assets/characters/nancy/unformatted/herochar_sword_attack_anim.gif deleted file mode 100644 index cfd98c1..0000000 Binary files a/assets/characters/nancy/unformatted/herochar_sword_attack_anim.gif and /dev/null differ diff --git a/assets/characters/nancy/unformatted/herochar_sword_attack_anim_strip_4.gif b/assets/characters/nancy/unformatted/herochar_sword_attack_anim_strip_4.gif deleted file mode 100644 index 9ec0152..0000000 Binary files a/assets/characters/nancy/unformatted/herochar_sword_attack_anim_strip_4.gif and /dev/null differ diff --git a/assets/characters/nancy/unformatted/herochar_sword_attack_anim_strip_4.png b/assets/characters/nancy/unformatted/herochar_sword_attack_anim_strip_4.png deleted file mode 100644 index 9dda28b..0000000 Binary files a/assets/characters/nancy/unformatted/herochar_sword_attack_anim_strip_4.png and /dev/null differ diff --git a/assets/characters/nancy/unformatted/hit_sparkle_anim.gif b/assets/characters/nancy/unformatted/hit_sparkle_anim.gif deleted file mode 100644 index 903da21..0000000 Binary files a/assets/characters/nancy/unformatted/hit_sparkle_anim.gif and /dev/null differ diff --git a/assets/characters/nancy/unformatted/hit_sparkle_anim_strip_4.png b/assets/characters/nancy/unformatted/hit_sparkle_anim_strip_4.png deleted file mode 100644 index 1024fb8..0000000 Binary files a/assets/characters/nancy/unformatted/hit_sparkle_anim_strip_4.png and /dev/null differ diff --git a/assets/characters/nancy/unformatted/sword_effect(new).gif b/assets/characters/nancy/unformatted/sword_effect(new).gif deleted file mode 100644 index fa4ff40..0000000 Binary files a/assets/characters/nancy/unformatted/sword_effect(new).gif and /dev/null differ diff --git a/assets/characters/nancy/unformatted/sword_effect_strip_4(new).png b/assets/characters/nancy/unformatted/sword_effect_strip_4(new).png deleted file mode 100644 index 795f01a..0000000 Binary files a/assets/characters/nancy/unformatted/sword_effect_strip_4(new).png and /dev/null differ diff --git a/assets/characters/rabbit/rabit_idle_anim.gif b/assets/characters/rabbit/rabit_idle_anim.gif deleted file mode 100644 index 5c370df..0000000 Binary files a/assets/characters/rabbit/rabit_idle_anim.gif and /dev/null differ diff --git a/assets/characters/rabbit/rabit_idle_anim_strip_4.png b/assets/characters/rabbit/rabit_idle_anim_strip_4.png deleted file mode 100644 index 80f8c7a..0000000 Binary files a/assets/characters/rabbit/rabit_idle_anim_strip_4.png and /dev/null differ diff --git a/assets/characters/rabbit/rabit_walk_anim.gif b/assets/characters/rabbit/rabit_walk_anim.gif deleted file mode 100644 index 53da2bd..0000000 Binary files a/assets/characters/rabbit/rabit_walk_anim.gif and /dev/null differ diff --git a/assets/characters/rabbit/rabit_walk_anim_strip_6.png b/assets/characters/rabbit/rabit_walk_anim_strip_6.png deleted file mode 100644 index 0a2859f..0000000 Binary files a/assets/characters/rabbit/rabit_walk_anim_strip_6.png and /dev/null differ diff --git a/assets/characters/ship/left1.png b/assets/characters/ship/left1.png deleted file mode 100644 index ff0d49f..0000000 Binary files a/assets/characters/ship/left1.png and /dev/null differ diff --git a/assets/characters/ship/left2.png b/assets/characters/ship/left2.png deleted file mode 100644 index e9ebea0..0000000 Binary files a/assets/characters/ship/left2.png and /dev/null differ diff --git a/assets/characters/ship/leftmiddle1.png b/assets/characters/ship/leftmiddle1.png deleted file mode 100644 index f98c64a..0000000 Binary files a/assets/characters/ship/leftmiddle1.png and /dev/null differ diff --git a/assets/characters/ship/leftmiddle2.png b/assets/characters/ship/leftmiddle2.png deleted file mode 100644 index 3732158..0000000 Binary files a/assets/characters/ship/leftmiddle2.png and /dev/null differ diff --git a/assets/characters/ship/middle1.png b/assets/characters/ship/middle1.png deleted file mode 100644 index 86309cd..0000000 Binary files a/assets/characters/ship/middle1.png and /dev/null differ diff --git a/assets/characters/ship/middle2.png b/assets/characters/ship/middle2.png deleted file mode 100644 index f35efad..0000000 Binary files a/assets/characters/ship/middle2.png and /dev/null differ diff --git a/assets/characters/ship/right1.png b/assets/characters/ship/right1.png deleted file mode 100644 index 984d36d..0000000 Binary files a/assets/characters/ship/right1.png and /dev/null differ diff --git a/assets/characters/ship/right2.png b/assets/characters/ship/right2.png deleted file mode 100644 index 3ecd38c..0000000 Binary files a/assets/characters/ship/right2.png and /dev/null differ diff --git a/assets/characters/ship/rightmiddle1.png b/assets/characters/ship/rightmiddle1.png deleted file mode 100644 index 7967bb4..0000000 Binary files a/assets/characters/ship/rightmiddle1.png and /dev/null differ diff --git a/assets/characters/ship/rightmiddle2.png b/assets/characters/ship/rightmiddle2.png deleted file mode 100644 index 3721c50..0000000 Binary files a/assets/characters/ship/rightmiddle2.png and /dev/null differ diff --git a/assets/characters/slime/slime_death_anim.gif b/assets/characters/slime/slime_death_anim.gif deleted file mode 100644 index e38a642..0000000 Binary files a/assets/characters/slime/slime_death_anim.gif and /dev/null differ diff --git a/assets/characters/slime/slime_death_anim_strip_6.png b/assets/characters/slime/slime_death_anim_strip_6.png deleted file mode 100644 index 2653067..0000000 Binary files a/assets/characters/slime/slime_death_anim_strip_6.png and /dev/null differ diff --git a/assets/characters/slime/slime_hit_anim.gif b/assets/characters/slime/slime_hit_anim.gif deleted file mode 100644 index 55571ea..0000000 Binary files a/assets/characters/slime/slime_hit_anim.gif and /dev/null differ diff --git a/assets/characters/slime/slime_hit_anim_strip_3.png b/assets/characters/slime/slime_hit_anim_strip_3.png deleted file mode 100644 index 9a5ccbe..0000000 Binary files a/assets/characters/slime/slime_hit_anim_strip_3.png and /dev/null differ diff --git a/assets/characters/slime/slime_idle_anim.gif b/assets/characters/slime/slime_idle_anim.gif deleted file mode 100644 index d32693c..0000000 Binary files a/assets/characters/slime/slime_idle_anim.gif and /dev/null differ diff --git a/assets/characters/slime/slime_idle_anim_strip_5.png b/assets/characters/slime/slime_idle_anim_strip_5.png deleted file mode 100644 index a46f190..0000000 Binary files a/assets/characters/slime/slime_idle_anim_strip_5.png and /dev/null differ diff --git a/assets/characters/slime/slime_spritesheet.png b/assets/characters/slime/slime_spritesheet.png deleted file mode 100644 index a9b2119..0000000 Binary files a/assets/characters/slime/slime_spritesheet.png and /dev/null differ diff --git a/assets/characters/slime/slime_walk_anim.gif b/assets/characters/slime/slime_walk_anim.gif deleted file mode 100644 index cc8b86d..0000000 Binary files a/assets/characters/slime/slime_walk_anim.gif and /dev/null differ diff --git a/assets/characters/slime/slime_walk_anim_strip_15.png b/assets/characters/slime/slime_walk_anim_strip_15.png deleted file mode 100644 index 2bcdc6c..0000000 Binary files a/assets/characters/slime/slime_walk_anim_strip_15.png and /dev/null differ diff --git a/assets/characters/worm/worm_death_anim.gif b/assets/characters/worm/worm_death_anim.gif deleted file mode 100644 index da48416..0000000 Binary files a/assets/characters/worm/worm_death_anim.gif and /dev/null differ diff --git a/assets/characters/worm/worm_death_anim_strip_6.png b/assets/characters/worm/worm_death_anim_strip_6.png deleted file mode 100644 index c8cf064..0000000 Binary files a/assets/characters/worm/worm_death_anim_strip_6.png and /dev/null differ diff --git a/assets/characters/worm/worm_hit_anim.gif b/assets/characters/worm/worm_hit_anim.gif deleted file mode 100644 index 19e8672..0000000 Binary files a/assets/characters/worm/worm_hit_anim.gif and /dev/null differ diff --git a/assets/characters/worm/worm_hit_anim_strip_3.png b/assets/characters/worm/worm_hit_anim_strip_3.png deleted file mode 100644 index cbd82b1..0000000 Binary files a/assets/characters/worm/worm_hit_anim_strip_3.png and /dev/null differ diff --git a/assets/characters/worm/worm_spritesheet.png b/assets/characters/worm/worm_spritesheet.png deleted file mode 100644 index 4a9b8d3..0000000 Binary files a/assets/characters/worm/worm_spritesheet.png and /dev/null differ diff --git a/assets/characters/worm/worm_walk_anim.gif b/assets/characters/worm/worm_walk_anim.gif deleted file mode 100644 index 7213697..0000000 Binary files a/assets/characters/worm/worm_walk_anim.gif and /dev/null differ diff --git a/assets/characters/worm/worm_walk_anim_strip_6.png b/assets/characters/worm/worm_walk_anim_strip_6.png deleted file mode 100644 index 09d07e6..0000000 Binary files a/assets/characters/worm/worm_walk_anim_strip_6.png and /dev/null differ diff --git a/assets/terrain/tileset.png b/assets/terrain/tileset.png index 014f5b1..21a4f46 100644 Binary files a/assets/terrain/tileset.png and b/assets/terrain/tileset.png differ diff --git a/data/levels/33.json b/data/levels/33.json new file mode 100644 index 0000000..1612df3 --- /dev/null +++ b/data/levels/33.json @@ -0,0 +1 @@ +[[0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0],[0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0],[0,0,0,0,0,0,0,0,0,162,163,163,163,164,0,0,0,0,0,0,0,0,0],[154,155,0,0,0,0,144,145,145,146,176,176,176,144,145,145,146,0,0,0,0,152,153],[175,182,177,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,175,169,177],[0,168,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,165,0],[0,168,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,165,0],[0,168,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,165,0],[0,181,0,162,164,0,0,0,0,0,0,0,0,0,0,0,0,0,162,164,0,178,0],[0,0,0,175,177,0,0,0,0,0,0,0,0,0,0,0,0,0,175,177,0,0,0],[0,0,0,0,0,0,144,145,145,145,145,145,145,145,145,145,146,0,0,0,0,0,0],[0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0],[0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0],[0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0]] \ No newline at end of file diff --git a/data/levels/LevelProperties.lua b/data/levels/LevelProperties.lua new file mode 100644 index 0000000..febc239 --- /dev/null +++ b/data/levels/LevelProperties.lua @@ -0,0 +1,30 @@ +LevelProperties = { + pos = { + x = 0, + y = 0 + }, + offset = { + x = 0, + y = 0 + } +} + +TileProperties = { + width = 16, + height = 16, + scale = game.scale, + tileset = love.graphics.newImage("assets/terrain/tileset.png") +} + +TileCollisions = { + whole = { 001, 002, 003, 004, 005, 006, 007, 008, 009, 010, 011, 012, 013, 014, 015, 016, 018, 019, 020, 021, 022, 024, 025, 026, 027, 028, 029, 030, 031, 032, 033, 034, 035, 036, 037, 038, 039, 040, 041, 042, 043, 044, 045, 049, 050, 051, 052, 054, 055, 056, 057, 061, 062, 063, 064, 065, 066, 067, 068, 069, 85, 086, 087, 088, 089, 090, 091, 092, 093, 094, 095, 096, 097, 098, 099, 100, 101, 102, 103, 104, 105, 106, 107, 108,113, 114, 115, 116, 125, 126, 127, 128, 133, 134, 135, 136, 137, 138, 139, 140, 145, 146, 147, 148, 149, 150, 151, 152 }, + platform = { 046, 047, 048, 058, 059, 060 }, + ramp_topright_bot = { 109, 161, 117, 157 }, + ramp_topright_top = { 110, 162, 118, 158 }, + ramp_topleft_top = { 111, 163, 119, 159 }, + ramp_topleft_bot = { 112, 164, 120, 160 }, + ramp_botright_bot = { 073, 077, 081, 121 }, + ramp_botright_top = { 074, 078, 082, 122 }, + ramp_botleft_top = { 075, 079, 083, 123 }, + ramp_botleft_bot = { 076, 080, 084, 124 } +} diff --git a/data/levels/level1.json b/data/levels/level1.json index 638683e..e41bf1f 100644 --- a/data/levels/level1.json +++ b/data/levels/level1.json @@ -1 +1 @@ -[[119,119,119,0,119,119,119,119,119,119,119,119,119,119,119,119,119,119,119,119,119,119,119,119,119,119,119,119,119,119,119,119,119,119,119,119,119,119,119,119,119,119,119,119,119,119,119,119,119,119,119,119,119],[119,119,119,0,119,119,119,119,119,119,119,119,119,119,119,119,119,119,119,119,119,119,119,119,119,119,119,119,119,119,119,119,119,119,119,119,119,119,119,119,119,119,119,119,119,119,119,119,119,119,119,119,119],[119,119,119,0,119,119,119,119,119,119,119,119,119,119,119,119,119,119,119,119,119,119,119,119,119,119,119,119,119,119,119,119,119,119,119,119,119,119,119,119,119,119,119,119,119,119,119,119,119,119,119,119,119],[132,132,132,0,132,132,132,132,132,132,132,132,132,132,132,132,132,132,132,132,132,132,132,132,132,132,132,132,132,132,132,132,132,132,132,132,132,132,132,132,132,132,132,132,132,132,132,132,132,132,132,132,132],[0,110,110,110,110,0,290,0,110,111,111,111,0,111,110,110,112,112,110,0,290,0,0,110,110,110,0,0,110,0,112,290,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,290,0,0],[0,0,0,0,0,0,290,0,0,0,0,0,0,0,0,0,0,0,0,0,290,0,0,0,0,0,0,0,0,0,0,290,0,0,0,162,163,163,163,163,163,163,163,163,163,163,164,0,152,153,290,193,194],[0,0,0,0,0,0,290,0,0,0,0,0,0,0,0,0,0,0,0,0,290,0,0,0,0,0,0,0,0,0,0,290,0,0,0,175,176,176,176,176,176,176,176,176,176,176,177,0,169,166,106,206,207],[0,0,0,0,0,0,290,0,0,0,0,0,0,0,0,0,0,0,0,162,300,163,163,163,164,0,0,0,0,0,0,290,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,165,179,119,219,207],[0,0,0,0,0,162,300,163,164,0,0,0,0,0,0,0,0,0,0,175,301,176,176,176,177,0,0,0,0,0,0,290,0,0,0,308,309,0,0,0,0,0,242,0,0,152,153,0,178,179,119,219,207],[0,0,0,0,0,175,301,176,177,0,0,0,0,0,0,0,0,0,0,0,290,0,0,0,0,0,0,0,0,0,0,290,0,0,0,310,0,257,258,259,0,0,255,0,0,165,166,106,106,121,119,219,207],[0,0,0,0,0,0,290,0,0,0,0,0,0,0,0,0,0,0,0,0,290,0,0,0,0,0,0,0,0,0,0,290,0,0,0,310,0,270,271,272,0,267,268,269,0,165,179,119,119,119,119,219,207],[0,0,0,0,188,189,302,190,0,0,0,0,0,0,0,0,0,0,0,0,290,0,0,0,0,0,0,0,0,0,0,290,244,245,0,311,0,283,0,285,0,280,281,282,0,178,179,119,119,119,119,219,207],[0,0,0,0,201,202,303,203,0,0,0,0,0,0,0,0,0,0,0,0,290,0,0,0,0,0,0,114,115,106,106,106,158,106,106,161,160,106,157,106,158,160,106,157,106,106,121,119,119,119,119,219,207],[0,0,0,0,0,0,290,0,0,0,0,0,0,0,0,0,0,0,0,0,290,0,0,114,115,106,106,127,119,119,119,119,119,119,160,119,119,119,119,157,159,119,119,119,119,119,119,119,119,119,119,219,207],[106,106,106,106,304,305,291,287,287,306,307,109,0,0,0,0,0,0,0,114,307,106,106,127,119,119,119,119,119,119,119,119,119,119,119,119,119,119,119,119,119,119,119,119,119,119,119,119,119,119,119,219,207],[119,119,119,119,119,130,106,106,106,127,129,130,116,117,0,114,115,106,106,127,119,119,119,119,119,119,119,119,119,119,119,119,119,119,119,119,119,119,119,119,119,119,119,119,119,119,119,119,119,119,119,219,207],[157,157,157,157,157,157,157,157,157,157,157,157,157,157,176,157,157,157,157,157,157,157,157,157,157,157,157,157,157,157,157,157,157,157,157,157,157,157,157,157,157,157,157,157,157,157,157,157,157,157,157,157,157],[119,119,119,119,119,119,119,157,119,157,119,119,119,120,0,118,119,119,119,119,119,119,119,119,119,119,119,119,119,119,119,119,119,119,119,119,119,119,119,119,119,119,119,119,119,119,119,119,119,119,119,119,119],[119,119,119,119,119,119,119,158,119,160,119,119,119,120,0,118,119,119,119,119,119,119,119,119,119,119,119,119,119,184,119,185,119,119,119,183,67,67,119,119,119,119,119,184,184,183,186,186,183,184,186,183,183],[119,119,119,119,119,119,119,160,119,159,119,119,135,133,0,118,119,119,119,119,119,119,119,119,119,119,119,135,132,183,119,186,119,119,119,186,67,67,119,119,119,119,119,186,0,0,0,0,0,0,0,0,0],[119,119,119,119,119,119,119,159,119,158,119,119,120,0,0,131,134,119,119,119,119,119,119,119,135,132,132,133,0,186,119,183,119,119,119,185,67,67,119,119,119,119,119,186,0,0,0,0,0,0,0,0,0],[119,119,119,119,119,119,119,160,119,160,119,119,120,0,0,0,118,119,119,119,119,119,135,132,133,0,0,0,0,185,119,185,119,119,119,184,67,67,67,119,119,119,119,184,0,0,191,192,0,0,0,0,0],[119,119,119,119,119,119,119,158,119,157,119,135,133,0,0,0,131,134,119,119,119,119,120,0,112,0,0,0,0,184,186,184,183,185,184,186,184,186,184,185,184,186,184,185,202,202,208,185,185,184,185,186,184],[119,119,119,119,119,119,119,159,119,158,119,120,0,0,0,0,0,118,119,119,132,119,120,0,0,0,0,0,0,0,0,196,0,0,0,196,0,290,0,196,0,0,0,196,0,0,204,183,119,119,119,119,119],[160,159,157,160,157,160,158,157,159,158,159,157,0,0,0,0,0,159,157,159,0,158,159,0,0,0,0,0,0,0,0,199,0,0,0,199,0,290,0,198,0,0,0,199,0,0,204,186,119,119,119,119,119],[119,119,119,119,119,119,119,120,112,170,0,0,0,0,0,0,0,0,0,170,0,0,0,0,0,0,0,0,0,0,0,197,0,0,0,197,189,302,189,197,0,0,0,197,0,0,204,185,119,119,119,119,119],[119,119,119,119,119,119,119,130,109,171,0,0,0,0,0,0,0,0,0,172,0,0,0,174,0,0,0,114,115,186,185,183,184,184,184,184,202,303,202,185,184,186,184,184,184,186,185,184,119,119,119,119,119],[119,119,119,119,119,119,119,119,130,106,109,162,163,163,163,163,163,164,0,171,115,159,0,171,0,114,157,127,119,185,119,183,119,119,119,186,0,290,0,183,119,119,119,185,119,119,119,119,119,119,119,119,119],[160,158,159,160,159,159,158,159,157,158,160,157,176,176,176,176,176,160,157,158,159,159,160,158,157,127,119,119,119,185,119,184,119,119,119,184,287,291,287,184,119,119,119,184,119,119,119,119,119,119,119,119,119],[119,119,119,119,119,119,119,160,119,158,119,130,109,0,0,0,0,118,119,119,119,119,119,119,119,119,119,119,119,184,119,183,119,119,119,186,288,288,288,185,119,119,119,186,119,119,119,119,119,119,119,119,119],[119,119,119,119,119,119,119,160,119,157,119,119,130,116,117,125,126,118,119,119,119,119,119,119,119,119,119,119,119,186,119,185,119,119,119,184,289,289,289,184,119,119,119,186,119,119,119,119,119,119,119,119,119],[119,119,119,119,119,119,119,159,119,158,119,119,119,119,130,106,106,121,119,119,119,119,119,119,119,119,119,119,119,183,119,184,119,119,119,185,289,289,289,183,119,119,119,185,119,119,119,119,119,119,119,119,119],[119,119,119,119,119,119,119,158,119,158,119,119,119,119,119,119,119,119,119,119,119,119,119,119,119,119,119,119,119,186,119,186,119,119,119,184,289,289,289,184,119,119,119,183,119,119,119,119,119,119,119,119,119],[119,119,119,119,119,119,119,157,119,157,119,119,119,119,119,119,119,119,119,119,119,119,119,119,119,119,119,119,119,184,119,183,67,67,119,184,289,289,289,186,119,119,119,185,119,119,119,119,119,119,119,119,119],[119,119,119,119,119,119,119,160,119,158,119,119,119,119,119,119,119,119,119,119,119,119,119,119,119,119,119,119,119,186,119,183,119,119,119,184,289,289,289,183,119,119,119,185,119,119,119,119,119,119,119,119,119],[119,119,119,119,119,119,119,158,119,159,119,119,119,119,119,119,119,119,119,119,119,119,119,119,119,119,119,119,119,183,119,186,119,119,119,183,289,289,289,186,119,119,119,186,119,119,119,119,119,119,119,119,119],[119,119,119,119,119,119,119,157,119,160,119,119,119,119,119,119,119,119,119,119,119,119,119,119,119,119,119,119,119,185,119,183,119,119,119,185,289,289,289,185,119,119,119,185,119,119,119,119,119,119,119,119,119],[209,209,209,209,209,209,209,159,119,158,119,119,119,119,119,119,119,119,119,119,119,119,119,119,119,119,119,119,119,186,119,186,119,119,119,183,289,289,289,184,119,119,119,185,119,119,119,119,119,119,119,119,119]] \ No newline at end of file +[[1,1,3,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0],[1,1,3,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0],[1,1,3,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0],[1,1,3,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0],[1,1,3,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0],[1,1,21,4,4,4,4,4,4,4,4,4,4,4,4,31,32,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0],[1,1,1,1,1,1,8,5,5,5,5,5,5,5,5,9,30,31,11,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0],[1,1,1,1,1,8,20,0,0,41,0,41,0,41,0,23,18,18,24,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,10,17,17,17],[1,1,1,1,8,20,0,0,0,41,0,41,0,53,0,0,0,0,0,0,0,0,0,0,10,17,17,6,4,4,4,4,4,4,4,4,22,1,1,1],[1,1,1,8,20,0,0,0,0,54,0,41,0,0,0,0,0,0,0,0,0,10,17,6,22,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1],[1,1,1,3,0,0,0,0,0,0,0,53,0,0,0,0,0,0,0,0,0,23,18,19,9,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1],[1,1,1,3,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,2,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1],[1,1,1,3,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,2,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1],[1,1,1,3,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,2,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1],[1,1,1,3,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,2,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1],[1,1,1,3,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,2,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1],[1,1,1,3,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,2,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1],[1,1,1,3,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,2,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1],[1,1,1,3,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,2,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1],[1,1,1,3,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,2,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1]] \ No newline at end of file diff --git a/data/levels/level2.json b/data/levels/level2.json new file mode 100644 index 0000000..65e5c9e --- /dev/null +++ b/data/levels/level2.json @@ -0,0 +1 @@ +[[0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0],[0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0],[0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0],[0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0],[0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0],[202,202,202,202,202,202,202,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0],[0,0,0,0,0,202,0,202,202,202,202,202,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0],[0,0,0,0,0,0,0,0,0,0,0,0,202,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0],[0,0,0,0,0,0,0,0,0,0,0,0,0,202,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0],[0,0,0,0,0,0,0,0,0,0,0,0,0,0,202,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0],[0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,202,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0],[0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,202,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0],[0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,202,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0],[0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,202,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0],[0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,202,202,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0],[157,157,157,157,157,157,157,157,157,157,157,157,157,157,157,157,157,157,157,157,157,106,106,106,106,106,106,106,106,109,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0],[0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,119,119,119,119,119,119,119,119,130,109,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0],[0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,119,119,119,119,119,119,119,119,119,130,109,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0],[0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,119,119,119,119,119,119,119,119,119,119,130,109,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0],[0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,119,119,119,119,119,119,119,119,119,119,119,130,106,106,106,106,106,0,0,0,0,0,0,0,0,0,0],[0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,119,119,119,119,119,119,119,119,119,119,119,119,119,119,119,119,119,0,0,0,0,0,0,0,0,0,0],[0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0],[0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0],[0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0],[0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0],[0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0],[0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0],[0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0]] \ No newline at end of file diff --git a/data/levels/level3.json b/data/levels/level3.json new file mode 100644 index 0000000..638683e --- /dev/null +++ b/data/levels/level3.json @@ -0,0 +1 @@ +[[119,119,119,0,119,119,119,119,119,119,119,119,119,119,119,119,119,119,119,119,119,119,119,119,119,119,119,119,119,119,119,119,119,119,119,119,119,119,119,119,119,119,119,119,119,119,119,119,119,119,119,119,119],[119,119,119,0,119,119,119,119,119,119,119,119,119,119,119,119,119,119,119,119,119,119,119,119,119,119,119,119,119,119,119,119,119,119,119,119,119,119,119,119,119,119,119,119,119,119,119,119,119,119,119,119,119],[119,119,119,0,119,119,119,119,119,119,119,119,119,119,119,119,119,119,119,119,119,119,119,119,119,119,119,119,119,119,119,119,119,119,119,119,119,119,119,119,119,119,119,119,119,119,119,119,119,119,119,119,119],[132,132,132,0,132,132,132,132,132,132,132,132,132,132,132,132,132,132,132,132,132,132,132,132,132,132,132,132,132,132,132,132,132,132,132,132,132,132,132,132,132,132,132,132,132,132,132,132,132,132,132,132,132],[0,110,110,110,110,0,290,0,110,111,111,111,0,111,110,110,112,112,110,0,290,0,0,110,110,110,0,0,110,0,112,290,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,290,0,0],[0,0,0,0,0,0,290,0,0,0,0,0,0,0,0,0,0,0,0,0,290,0,0,0,0,0,0,0,0,0,0,290,0,0,0,162,163,163,163,163,163,163,163,163,163,163,164,0,152,153,290,193,194],[0,0,0,0,0,0,290,0,0,0,0,0,0,0,0,0,0,0,0,0,290,0,0,0,0,0,0,0,0,0,0,290,0,0,0,175,176,176,176,176,176,176,176,176,176,176,177,0,169,166,106,206,207],[0,0,0,0,0,0,290,0,0,0,0,0,0,0,0,0,0,0,0,162,300,163,163,163,164,0,0,0,0,0,0,290,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,165,179,119,219,207],[0,0,0,0,0,162,300,163,164,0,0,0,0,0,0,0,0,0,0,175,301,176,176,176,177,0,0,0,0,0,0,290,0,0,0,308,309,0,0,0,0,0,242,0,0,152,153,0,178,179,119,219,207],[0,0,0,0,0,175,301,176,177,0,0,0,0,0,0,0,0,0,0,0,290,0,0,0,0,0,0,0,0,0,0,290,0,0,0,310,0,257,258,259,0,0,255,0,0,165,166,106,106,121,119,219,207],[0,0,0,0,0,0,290,0,0,0,0,0,0,0,0,0,0,0,0,0,290,0,0,0,0,0,0,0,0,0,0,290,0,0,0,310,0,270,271,272,0,267,268,269,0,165,179,119,119,119,119,219,207],[0,0,0,0,188,189,302,190,0,0,0,0,0,0,0,0,0,0,0,0,290,0,0,0,0,0,0,0,0,0,0,290,244,245,0,311,0,283,0,285,0,280,281,282,0,178,179,119,119,119,119,219,207],[0,0,0,0,201,202,303,203,0,0,0,0,0,0,0,0,0,0,0,0,290,0,0,0,0,0,0,114,115,106,106,106,158,106,106,161,160,106,157,106,158,160,106,157,106,106,121,119,119,119,119,219,207],[0,0,0,0,0,0,290,0,0,0,0,0,0,0,0,0,0,0,0,0,290,0,0,114,115,106,106,127,119,119,119,119,119,119,160,119,119,119,119,157,159,119,119,119,119,119,119,119,119,119,119,219,207],[106,106,106,106,304,305,291,287,287,306,307,109,0,0,0,0,0,0,0,114,307,106,106,127,119,119,119,119,119,119,119,119,119,119,119,119,119,119,119,119,119,119,119,119,119,119,119,119,119,119,119,219,207],[119,119,119,119,119,130,106,106,106,127,129,130,116,117,0,114,115,106,106,127,119,119,119,119,119,119,119,119,119,119,119,119,119,119,119,119,119,119,119,119,119,119,119,119,119,119,119,119,119,119,119,219,207],[157,157,157,157,157,157,157,157,157,157,157,157,157,157,176,157,157,157,157,157,157,157,157,157,157,157,157,157,157,157,157,157,157,157,157,157,157,157,157,157,157,157,157,157,157,157,157,157,157,157,157,157,157],[119,119,119,119,119,119,119,157,119,157,119,119,119,120,0,118,119,119,119,119,119,119,119,119,119,119,119,119,119,119,119,119,119,119,119,119,119,119,119,119,119,119,119,119,119,119,119,119,119,119,119,119,119],[119,119,119,119,119,119,119,158,119,160,119,119,119,120,0,118,119,119,119,119,119,119,119,119,119,119,119,119,119,184,119,185,119,119,119,183,67,67,119,119,119,119,119,184,184,183,186,186,183,184,186,183,183],[119,119,119,119,119,119,119,160,119,159,119,119,135,133,0,118,119,119,119,119,119,119,119,119,119,119,119,135,132,183,119,186,119,119,119,186,67,67,119,119,119,119,119,186,0,0,0,0,0,0,0,0,0],[119,119,119,119,119,119,119,159,119,158,119,119,120,0,0,131,134,119,119,119,119,119,119,119,135,132,132,133,0,186,119,183,119,119,119,185,67,67,119,119,119,119,119,186,0,0,0,0,0,0,0,0,0],[119,119,119,119,119,119,119,160,119,160,119,119,120,0,0,0,118,119,119,119,119,119,135,132,133,0,0,0,0,185,119,185,119,119,119,184,67,67,67,119,119,119,119,184,0,0,191,192,0,0,0,0,0],[119,119,119,119,119,119,119,158,119,157,119,135,133,0,0,0,131,134,119,119,119,119,120,0,112,0,0,0,0,184,186,184,183,185,184,186,184,186,184,185,184,186,184,185,202,202,208,185,185,184,185,186,184],[119,119,119,119,119,119,119,159,119,158,119,120,0,0,0,0,0,118,119,119,132,119,120,0,0,0,0,0,0,0,0,196,0,0,0,196,0,290,0,196,0,0,0,196,0,0,204,183,119,119,119,119,119],[160,159,157,160,157,160,158,157,159,158,159,157,0,0,0,0,0,159,157,159,0,158,159,0,0,0,0,0,0,0,0,199,0,0,0,199,0,290,0,198,0,0,0,199,0,0,204,186,119,119,119,119,119],[119,119,119,119,119,119,119,120,112,170,0,0,0,0,0,0,0,0,0,170,0,0,0,0,0,0,0,0,0,0,0,197,0,0,0,197,189,302,189,197,0,0,0,197,0,0,204,185,119,119,119,119,119],[119,119,119,119,119,119,119,130,109,171,0,0,0,0,0,0,0,0,0,172,0,0,0,174,0,0,0,114,115,186,185,183,184,184,184,184,202,303,202,185,184,186,184,184,184,186,185,184,119,119,119,119,119],[119,119,119,119,119,119,119,119,130,106,109,162,163,163,163,163,163,164,0,171,115,159,0,171,0,114,157,127,119,185,119,183,119,119,119,186,0,290,0,183,119,119,119,185,119,119,119,119,119,119,119,119,119],[160,158,159,160,159,159,158,159,157,158,160,157,176,176,176,176,176,160,157,158,159,159,160,158,157,127,119,119,119,185,119,184,119,119,119,184,287,291,287,184,119,119,119,184,119,119,119,119,119,119,119,119,119],[119,119,119,119,119,119,119,160,119,158,119,130,109,0,0,0,0,118,119,119,119,119,119,119,119,119,119,119,119,184,119,183,119,119,119,186,288,288,288,185,119,119,119,186,119,119,119,119,119,119,119,119,119],[119,119,119,119,119,119,119,160,119,157,119,119,130,116,117,125,126,118,119,119,119,119,119,119,119,119,119,119,119,186,119,185,119,119,119,184,289,289,289,184,119,119,119,186,119,119,119,119,119,119,119,119,119],[119,119,119,119,119,119,119,159,119,158,119,119,119,119,130,106,106,121,119,119,119,119,119,119,119,119,119,119,119,183,119,184,119,119,119,185,289,289,289,183,119,119,119,185,119,119,119,119,119,119,119,119,119],[119,119,119,119,119,119,119,158,119,158,119,119,119,119,119,119,119,119,119,119,119,119,119,119,119,119,119,119,119,186,119,186,119,119,119,184,289,289,289,184,119,119,119,183,119,119,119,119,119,119,119,119,119],[119,119,119,119,119,119,119,157,119,157,119,119,119,119,119,119,119,119,119,119,119,119,119,119,119,119,119,119,119,184,119,183,67,67,119,184,289,289,289,186,119,119,119,185,119,119,119,119,119,119,119,119,119],[119,119,119,119,119,119,119,160,119,158,119,119,119,119,119,119,119,119,119,119,119,119,119,119,119,119,119,119,119,186,119,183,119,119,119,184,289,289,289,183,119,119,119,185,119,119,119,119,119,119,119,119,119],[119,119,119,119,119,119,119,158,119,159,119,119,119,119,119,119,119,119,119,119,119,119,119,119,119,119,119,119,119,183,119,186,119,119,119,183,289,289,289,186,119,119,119,186,119,119,119,119,119,119,119,119,119],[119,119,119,119,119,119,119,157,119,160,119,119,119,119,119,119,119,119,119,119,119,119,119,119,119,119,119,119,119,185,119,183,119,119,119,185,289,289,289,185,119,119,119,185,119,119,119,119,119,119,119,119,119],[209,209,209,209,209,209,209,159,119,158,119,119,119,119,119,119,119,119,119,119,119,119,119,119,119,119,119,119,119,186,119,186,119,119,119,183,289,289,289,184,119,119,119,185,119,119,119,119,119,119,119,119,119]] \ No newline at end of file diff --git a/data/scripts/camera.lua b/data/scripts/camera.lua index ce1fcb2..c5c14fb 100644 --- a/data/scripts/camera.lua +++ b/data/scripts/camera.lua @@ -13,9 +13,11 @@ function Camera:CenterAt(x,y,cx,cy) if self.pos.y < 0 then self.pos.y = 0 end if self.pos.y > cy then self.pos.y = cy end end + self.pos.x = math.floor(self.pos.x) + self.pos.y = math.floor(self.pos.y) end -function Camera:ScreenAt(x,y,width,height) - self.pos.x = math.floor(x/width)*width - self.pos.y = math.floor(y/height)*height +function Camera:ScreenAt(x,y) + self.pos.x = math.floor(x/self.width)*self.width + self.pos.y = math.floor(y/self.height)*self.height end diff --git a/data/scripts/collision.lua b/data/scripts/collision.lua index 1e8b9c2..1adbc9d 100644 --- a/data/scripts/collision.lua +++ b/data/scripts/collision.lua @@ -25,7 +25,7 @@ Collision = {} --]] -- can also be called with only ox and oy, where they become the width and height instead -function Collision:new(ox,oy,tx,ty) +function Collision:New(ox,oy,tx,ty) local o = {isColliding = false, isDisabled = false, isActive = false} if tx ~= nil and ty ~= nil then diff --git a/data/scripts/debug.lua b/data/scripts/debug.lua index 0ef8723..a4470d0 100644 --- a/data/scripts/debug.lua +++ b/data/scripts/debug.lua @@ -3,12 +3,12 @@ love.graphics.print("time: "..fps_total..", fps: "..fps_draw..", frametime: "..m love.graphics.setColor(1,1,1) -- lots of variables - love.graphics.print("[main_player]",10*textScale,40*textScale, 0, textScale) - love.graphics.print("position: {"..main_player.pos.x..", "..main_player.pos.y.."}",10*textScale,60*textScale, 0, textScale) - love.graphics.print("velocity: {"..main_player.vel.x..", "..main_player.vel.y.."}",10*textScale,80*textScale, 0, textScale) - love.graphics.print("scale: {"..main_player.scale.x..", "..main_player.scale.y.."}",10*textScale,100*textScale, 0, textScale) - love.graphics.print("sprite: "..tostring(main_player.sprite)..", anim_speed: "..main_player.anim_speed,10*textScale,120*textScale, 0, textScale) - love.graphics.print("booleans: \"isOnGround\": "..tostring(main_player.isOnGround),10*textScale,140*textScale, 0, textScale) + love.graphics.print("[main_Player]",10*textScale,40*textScale, 0, textScale) + love.graphics.print("position: {"..main_Player.pos.x..", "..main_Player.pos.y.."}",10*textScale,60*textScale, 0, textScale) + love.graphics.print("velocity: {"..main_Player.vel.x..", "..main_Player.vel.y.."}",10*textScale,80*textScale, 0, textScale) + love.graphics.print("scale: {"..main_Player.scale.x..", "..main_Player.scale.y.."}",10*textScale,100*textScale, 0, textScale) + love.graphics.print("sprite: "..tostring(main_Player.sprite)..", anim_speed: "..main_Player.anim_speed,10*textScale,120*textScale, 0, textScale) + love.graphics.print("booleans: \"isOnGround\": "..tostring(main_Player.isOnGround),10*textScale,140*textScale, 0, textScale) love.graphics.print("[Camera]",10*textScale,160*textScale, 0, textScale) love.graphics.print("position: {"..Camera.pos.x..", "..Camera.pos.y.."}",10*textScale,180*textScale, 0, textScale) @@ -19,7 +19,7 @@ love.graphics.print("time: "..fps_total..", fps: "..fps_draw..", frametime: "..m -- player isOnGroundCheck love.graphics.setColor(1,0,0) - love.graphics.points(-Camera.pos.x + main_player.pos.x, -Camera.pos.y + main_player.pos.y) + love.graphics.points(-Camera.pos.x + main_Player.pos.x, -Camera.pos.y + main_Player.pos.y) end function DebugColisions() diff --git a/data/scripts/entities/kupo.lua b/data/scripts/entities/kupo.lua new file mode 100644 index 0000000..ff5a9ec --- /dev/null +++ b/data/scripts/entities/kupo.lua @@ -0,0 +1,35 @@ +Kupo = Entity:New(x,y) + + function Kupo:New(x,y) + local o = Entity:New(x,y) + + o.pos = {x = x, y = y} + o.speed = 20 + o.range = 1000 + + setmetatable(o, self) + self.__index = self + + return o + end + +function Kupo:DoInput() + +end + +function Kupo:HandleAnimation() + -- flip sprite to look in the direction is moving + if self.vel.x ~= 0 then self.flip.x = math.sign(self.vel.x) end + self:LoadAnimation(animation.kupo.body) +end + +function Kupo:DoPhysics() + + -- horizontal collisions + if not isThereAnyCollisionAt(self.pos.x + self.vel.x, self.pos.y) then + self.pos.x = self.pos.x + self.vel.x + end + if not isThereAnyCollisionAt(self.pos.x, self.pos.y + self.vel.y) then + self.pos.y = self.pos.y + self.vel.y + end +end diff --git a/data/scripts/entities/player.lua b/data/scripts/entities/player.lua index ae66135..4a58123 100644 --- a/data/scripts/entities/player.lua +++ b/data/scripts/entities/player.lua @@ -1,38 +1,8 @@ - player = entity:newEntity(x,y) + Player = Entity:New(x,y) -function InitPlayer(id) - player.health = 3 - player.coins = 0 - - -- physics - player.vel = { - x = 0, - y = 0 - } - -- constants - player.acc = 90 - player.friction = 20 - player.gravity = 9.81 - player.climbHeight = 3 - player.jumpForce = 5 - player.maxSpeed = 600 - player.jumpMaxSpeed = 9.5 - player.zeroSpeed = 0.001 - -- bools - player.isJumping = false - player.isOnGround = false - player.isOnLadder = false - player.canJump = true - player.canFall = true - player.canFriction = true - - -- sprite - player.offset = {x = -8, y = -16} -end - -function player:DoInput() +function Player:DoInput() -- PLATFORMER INPUT - if self.isOnGround then + if self.isOnGround > 0 then -- apply friction -- horizontal input (slide~~) @@ -46,7 +16,7 @@ function player:DoInput() -- vertical input (jump!) if love.keyboard.isDown("up", "w") and self.isJumping ~= true then self.vel.y = self.vel.y - self.jumpForce - self.isOnGround = false + self.isOnGround = 0 self.isJumping = true end end @@ -65,11 +35,11 @@ function player:DoInput() ) and love.keyboard.isDown("down", "s") then self.pos.y = self.pos.y + tileProperties.height/3 - self.isOnGround = false + self.isOnGround = 0 end end -function player:HandleAnimation() +function Player:HandleAnimation() -- flip sprite to look in the direction is moving if self.vel.x ~= 0 then self.flip.x = math.sign(self.vel.x) end @@ -77,9 +47,9 @@ function player:HandleAnimation() -- animation manager if self.isOnLadder then self:LoadAnimation(animation.nancy.jump) - elseif not self.isOnGround and self.isJumping and self.vel.y > 1.25 then + elseif self.isOnGround == 0 and self.isJumping and self.vel.y > 1.25 then self:LoadAnimation(animation.nancy.fall) - elseif not self.isOnGround and self.vel.y < 0 then + elseif self.isOnGround == 0 and self.vel.y < 0 then self:LoadAnimation(animation.nancy.jump) elseif self.vel.x ~= 0 then self:LoadAnimation(animation.nancy.run) @@ -93,13 +63,12 @@ function player:HandleAnimation() end end -function player:DoPhysics() +function Player:DoPhysics() -- reset physics resolution self.canFall = true self.canJump = true self.canFriction = true -- reset flags - self.isOnGround = false self.isOnLadder = false -- truncate to max & min values if math.abs(self.vel.x) > self.maxSpeed then @@ -126,7 +95,7 @@ function player:DoPhysics() self.pos.x, self.pos.y + self.vel.y ) then - self.isOnGround = true + self.isOnGround = self.coyoteValue self.isJumping = false end end @@ -147,15 +116,15 @@ function player:DoPhysics() self.canFriction = false self.isOnLadder = true - self.isOnGround = true + self.isOnGround = self.coyoteValue end -- checks for slopes for i = 1, self.climbHeight do if not isThereCollisionAt(self.pos.x + self.vel.x, self.pos.y - i * game.scale) - and self.isOnGround then + and self.isOnGround > 0 then - self.pos.x = self.pos.x + self.vel.x + self.pos.x = self.pos.x + self.vel.x * 4/5 self.pos.y = self.pos.y - i * game.scale self.canFriction = false @@ -174,11 +143,12 @@ function player:DoPhysics() -- vertical collision if self.vel.y > 0 and isThereAnyCollisionAt(self.pos.x, self.pos.y + self.vel.y) then - self.isOnGround = true + self.isOnGround = self.coyoteValue self.isJumping = false self.vel.y = 0 else self.pos.y = self.pos.y + self.vel.y + self.isOnGround = math.max(self.isOnGround - 1, 0) end -- drop. @@ -187,7 +157,7 @@ function player:DoPhysics() end -- friction hard in ground, soft in air - if self.isOnGround then + if self.isOnGround > 0 then self.vel.x = self.vel.x * (1 - math.min(current_dt * self.friction, 1)) else self.vel.x = self.vel.x * (1 - math.min(current_dt * self.friction/20, 1)) @@ -195,9 +165,36 @@ function player:DoPhysics() end -function player:newPlayer(x,y) - local o = entity:newEntity(x,y) +function Player:New(x,y) + local o = Entity:New(x,y) + Player.health = 3 + Player.coins = 0 + -- physics + o.vel = { + x = 0, + y = 0 + } + -- constants + o.acc = 90 + o.friction = 20 + o.gravity = 9.81 + o.climbHeight = 4 + o.jumpForce = 5 + o.maxSpeed = 600 + o.jumpMaxSpeed = 9.5 + o.zeroSpeed = 0.001 + -- bools + o.isJumping = false + o.isOnGround = 0 + o.coyoteValue = 10 + o.isOnLadder = false + o.canJump = true + o.canFall = true + o.canFriction = true + + -- sprite + o.offset = {x = -8, y = -16} setmetatable(o, self) self.__index = self diff --git a/data/scripts/entity.lua b/data/scripts/entity.lua index 5a7eef5..17f71e4 100644 --- a/data/scripts/entity.lua +++ b/data/scripts/entity.lua @@ -1,19 +1,27 @@ -entity = {class = "entity", anim_subframe = 0, anim_frame = 0, anim_imgs = {}, offset = {x = 0, y = 0}, scale = {x = 1, y = 1}, flip = { x = 1, y = 1}} +Entity = { + } -function entity:newEntity(x,y) +function Entity:New(x,y) o = {} o.pos = {x = x, y = y} - + o.vel = {x = 0, y = 0} + o.class = "Entity" + o.anim_subframe = 0 + o.anim_frame = 0 + o.anim_imgs = {} + o.offset = {x = 0, y = 0} + o.scale = {x = 1, y = 1} + o.flip = { x = 1, y = 1} setmetatable(o, self) self.__index = self return o end -function entity:Move(target, speed) -- target = {tx int, ty int} / speed = int +function Entity:Move(target, speed) -- target = {tx int, ty int} / speed = int end -function entity:Draw() +function Entity:Draw() if self.sprite ~= nil then love.graphics.draw( self.sprite, @@ -26,7 +34,7 @@ function entity:Draw() end end -function entity:Animate() +function Entity:Animate() if game_paused ~= true then -- try to animate self.anim_subframe = self.anim_subframe + current_dt @@ -46,7 +54,7 @@ function entity:Animate() end end -function entity:LoadAnimation(anim,frames,speed) +function Entity:LoadAnimation(anim,frames,speed) if self.anim_path ~= anim and self.anim_path ~= anim.path then if frames ~= nil and speed ~= nil then self.anim_path = anim or nil @@ -62,4 +70,5 @@ function entity:LoadAnimation(anim,frames,speed) end end +require "data/scripts/entities/kupo" require "data/scripts/entities/player" diff --git a/data/scripts/enums.lua b/data/scripts/enums.lua index e7966d1..de9de92 100644 --- a/data/scripts/enums.lua +++ b/data/scripts/enums.lua @@ -1,41 +1,47 @@ image = { - background = love.graphics.newImage("assets/terrain/background.png"), - cartridge = { - nancy = love.graphics.newImage("assets/menu/nancy.png") - } + background = love.graphics.newImage("assets/terrain/background.png") } -- animations animation = { + kupo = { + body = { + path = "assets/characters/kupo/kupo", + frames = 4, + speed = 1/8 + }, + bow = { + path = "assets/characters/kupo/kupo_bow", + frames = 6, + speed = 1/8 + } + }, nancy = { idle = { path = "assets/characters/nancy/idle", frames = 4, - speed = 1/8, - imgs = {} + speed = 1/8 }, run = { path = "assets/characters/nancy/run", frames = 6, - speed = 1/8, - imgs = {} + speed = 1/8 }, fall = { path = "assets/characters/nancy/fall", frames = 3, - speed = 1/8, - imgs = {} + speed = 1/8 }, jump = { path = "assets/characters/nancy/jump", frames = 3, - speed = 1/8, - imgs = {} + speed = 1/8 } } } for _, object in pairs(animation) do for _, anim in pairs(object) do + anim.imgs = {} for i = 1, anim.frames do table.insert(anim.imgs,love.graphics.newImage(anim.path..tostring(i)..".png")) end diff --git a/data/scripts/level.lua b/data/scripts/level.lua index 57abb8a..423df81 100644 --- a/data/scripts/level.lua +++ b/data/scripts/level.lua @@ -1,4 +1,4 @@ -function LoadTiles() +function LevelLoadTiles() LevelInfo = {} Tiles = dofile("Mothback/data/tiles.lua") --[[ @@ -13,13 +13,17 @@ function LoadTiles() ]] LevelTiles = json.decode(getInput("Mothback/data/levels/"..currLevel..".json")) - LevelInfo.Width = GetLevelWidth() - LevelInfo.Height = #LevelTiles * tileProperties.height - IndexLevelTiles() - LoadTileObjects() + LevelInfo.Width = LevelGetWidth() + LevelInfo.Height = LevelGetHeight() + LevelIndexTiles() + TileCreateObjects() end -function GetLevelWidth() +function LevelGetHeight() + return #LevelTiles * tileProperties.height +end + +function LevelGetWidth() local width = 0 for i = 1, #LevelTiles do if width < #LevelTiles[i] then width = #LevelTiles[i] end @@ -27,7 +31,7 @@ function GetLevelWidth() return width * tileProperties.width end -function IndexLevelTiles() +function LevelIndexTiles() TileIndex = {} -- number of tiles in tileset! @@ -79,12 +83,12 @@ function IndexLevelTiles() end end -function TilesDisplayFront() +function LevelDisplayForeground() for i = 1, #LevelTiles do for j = 1, #LevelTiles[i] do if LevelTiles[i][j] ~= 0 then - local depth = getTileDepth(LevelTiles[i][j]) + local depth = TileGetDepth(LevelTiles[i][j]) DrawTile( LevelTiles[i][j], tileProperties.scale * j * tileProperties.width + tileProperties.scale * (levelProperties.offset.x - tileProperties.width) - Camera.pos.x, @@ -97,12 +101,12 @@ function TilesDisplayFront() end end -function TilesDisplayBack() +function LevelDisplayBackground() for i = 1, #LevelTiles do for j = 1, #LevelTiles[i] do if LevelTiles[i][j] ~= 0 then - local depth = getTileDepth(LevelTiles[i][j]) + local depth = TileGetDepth(LevelTiles[i][j]) DrawTile( LevelTiles[i][j], tileProperties.scale * j * tileProperties.width + tileProperties.scale * (levelProperties.offset.x - tileProperties.width) - Camera.pos.x, @@ -116,7 +120,7 @@ function TilesDisplayBack() end -function getTileType(tile_id) +function TileGetType(tile_id) for _, properties in ipairs(Tiles) do if properties.id == tile_id then return properties.type @@ -124,7 +128,7 @@ function getTileType(tile_id) end end -function getTileDepth(tile_id) +function TileGetDepth(tile_id) for _, properties in ipairs(Tiles) do if properties.id == tile_id then return properties.depth @@ -146,7 +150,7 @@ function GridDisplay() end end -function LoadTileObjects() +function TileCreateObjects() objects.collisions = {} objects.platforms = {} objects.ladders = {} @@ -155,13 +159,13 @@ function LoadTileObjects() for j = 1, #LevelTiles[i] do if LevelTiles[i][j] ~= 0 then - local type = getTileType(LevelTiles[i][j]) + local type = TileGetType(LevelTiles[i][j]) local base_x = tileProperties.scale * j * tileProperties.width + tileProperties.scale * (levelProperties.offset.x - tileProperties.height) local base_y = tileProperties.scale * i * tileProperties.height + tileProperties.scale * (levelProperties.offset.y - tileProperties.height) if type == "whole" then - local col = Collision:new( + local col = Collision:New( base_x, base_y, base_x + tileProperties.width * tileProperties.scale, @@ -169,9 +173,9 @@ function LoadTileObjects() ) table.insert(objects.collisions,col) - elseif type == "half" then + elseif type == "half_bottom" then - local col = Collision:new( + local col = Collision:New( base_x, base_y + tileProperties.height/2 * tileProperties.scale, base_x + tileProperties.width * tileProperties.scale, @@ -179,8 +183,38 @@ function LoadTileObjects() ) table.insert(objects.collisions,col) + elseif type == "half_top" then + + local col = Collision:New( + base_x, + base_y , + base_x + tileProperties.width * tileProperties.scale, + base_y + tileProperties.height/2 * tileProperties.scale + ) + table.insert(objects.collisions,col) + + elseif type == "half_right" then + + local col = Collision:New( + base_x + tileProperties.height/2 * tileProperties.scale, + base_y, + base_x + tileProperties.width * tileProperties.scale, + base_y + tileProperties.height * tileProperties.scale + ) + table.insert(objects.collisions,col) + + elseif type == "half_left" then + + local col = Collision:New( + base_x, + base_y, + base_x + tileProperties.height/2 * tileProperties.scale, + base_y + tileProperties.height * tileProperties.scale + ) + table.insert(objects.collisions,col) + elseif type == "platform" then - local plat = Collision:new( + local plat = Collision:New( base_x, base_y + tileProperties.scale * 2, base_x + tileProperties.width * tileProperties.scale, @@ -191,7 +225,7 @@ function LoadTileObjects() elseif type == "ramp2_bot_left_whole" then for k = 1, 8 do -- do ramp owo - local slope = Collision:new( + local slope = Collision:New( base_x, base_y + k * tileProperties.scale - tileProperties.scale, base_x + k * 2 * tileProperties.scale, @@ -201,7 +235,7 @@ function LoadTileObjects() end -- fill lower half - local col = Collision:new( + local col = Collision:New( base_x, base_y + tileProperties.height/2 * tileProperties.scale, base_x + tileProperties.width * tileProperties.scale, @@ -212,7 +246,7 @@ function LoadTileObjects() elseif type == "ramp2_bot_left_half" then for k = 1, 8 do -- do ramp owo - local slope = Collision:new( + local slope = Collision:New( base_x, base_y + tileProperties.height/2 * tileProperties.scale + k * tileProperties.scale - tileProperties.scale, base_x + k * 2 * tileProperties.scale, @@ -225,7 +259,7 @@ function LoadTileObjects() elseif type == "ramp2_top_left_whole" then for k = 1, 8 do -- do ramp owo - local slope = Collision:new( + local slope = Collision:New( base_x, base_y + tileProperties.height/2 * tileProperties.scale - tileProperties.scale + k * tileProperties.scale, base_x + tileProperties.width * tileProperties.scale - (k-1) * 2 * tileProperties.scale, @@ -235,7 +269,7 @@ function LoadTileObjects() end -- fill higher half - local col = Collision:new( + local col = Collision:New( base_x, base_y, base_x + tileProperties.width * tileProperties.scale, @@ -246,7 +280,7 @@ function LoadTileObjects() elseif type == "ramp2_top_left_half" then for k = 1, 8 do -- do ramp owo - local slope = Collision:new( + local slope = Collision:New( base_x, base_y - tileProperties.scale + k * tileProperties.scale, base_x + tileProperties.width * tileProperties.scale - (k-1) * 2 * tileProperties.scale, @@ -259,7 +293,7 @@ function LoadTileObjects() elseif type == "ramp2_bot_right_whole" then for k = 1, 8 do -- do ramp owo - local slope = Collision:new( + local slope = Collision:New( base_x + (k-8) * -2 * tileProperties.scale, base_y - tileProperties.scale + k * tileProperties.scale, base_x + tileProperties.width * tileProperties.scale, @@ -269,7 +303,7 @@ function LoadTileObjects() end -- fill lower half - local col = Collision:new( + local col = Collision:New( base_x, base_y + tileProperties.height/2 * tileProperties.scale, base_x + tileProperties.width * tileProperties.scale, @@ -280,7 +314,7 @@ function LoadTileObjects() elseif type == "ramp2_bot_right_half" then for k = 1, 8 do -- do ramp owo - local slope = Collision:new( + local slope = Collision:New( base_x + (k-8) * -2 * tileProperties.scale, base_y + tileProperties.height/2 * tileProperties.scale - tileProperties.scale + k * tileProperties.scale, base_x + tileProperties.width * tileProperties.scale, @@ -293,7 +327,7 @@ function LoadTileObjects() elseif type == "ramp2_top_right_half" then for k = 1, 8 do -- do ramp owo - local slope = Collision:new( + local slope = Collision:New( base_x + (k-8) * -2 * tileProperties.scale, base_y + tileProperties.height/2 * tileProperties.scale - k * tileProperties.scale, base_x + tileProperties.width * tileProperties.scale, @@ -306,7 +340,7 @@ function LoadTileObjects() elseif type == "ramp2_top_right_whole" then for k = 1, 8 do -- do ramp owo - local slope = Collision:new( + local slope = Collision:New( base_x + (k-8) * -2 * tileProperties.scale, base_y + tileProperties.height/2 * tileProperties.scale + tileProperties.height/2 * tileProperties.scale - k * tileProperties.scale, base_x + tileProperties.width * tileProperties.scale, @@ -316,7 +350,7 @@ function LoadTileObjects() end -- fill higher half - local col = Collision:new( + local col = Collision:New( base_x, base_y, base_x + tileProperties.width * tileProperties.scale, @@ -328,7 +362,7 @@ function LoadTileObjects() for k = 1, 16 do -- do ramp owo - local slope = Collision:new( + local slope = Collision:New( base_x, base_y + k * tileProperties.scale - tileProperties.scale, base_x + k * tileProperties.scale, @@ -340,7 +374,7 @@ function LoadTileObjects() elseif type == "ladder_right" then - local ladder = Collision:new( + local ladder = Collision:New( base_x + (tileProperties.width-4)* tileProperties.scale, base_y, base_x + tileProperties.width * tileProperties.scale, @@ -350,7 +384,7 @@ function LoadTileObjects() elseif type == "ladder_platform_right" then - local ladder = Collision:new( + local ladder = Collision:New( base_x + (tileProperties.width-4)* tileProperties.scale, base_y + tileProperties.scale * 2, base_x + tileProperties.width * tileProperties.scale, @@ -358,7 +392,7 @@ function LoadTileObjects() ) table.insert(objects.ladders,ladder) - local plat = Collision:new( + local plat = Collision:New( base_x, base_y + tileProperties.scale * 2, base_x + tileProperties.width * tileProperties.scale, @@ -369,7 +403,7 @@ function LoadTileObjects() elseif type == "ladder_left" then - local ladder = Collision:new( + local ladder = Collision:New( base_x, base_y, base_x + tileProperties.scale * 4, @@ -380,7 +414,7 @@ function LoadTileObjects() elseif type == "ladder_platform_left" then - local ladder = Collision:new( + local ladder = Collision:New( base_x, base_y + tileProperties.scale * 2, base_x + tileProperties.scale * 4, @@ -388,7 +422,7 @@ function LoadTileObjects() ) table.insert(objects.ladders,ladder) - local plat = Collision:new( + local plat = Collision:New( base_x, base_y + tileProperties.scale * 2, base_x + tileProperties.width * tileProperties.scale, diff --git a/data/tiles.lua b/data/tiles.lua index add3076..6372115 100644 --- a/data/tiles.lua +++ b/data/tiles.lua @@ -15,28 +15,78 @@ return { depth = "foreground" }, { - id = 14, + id = 4, type = "whole", depth = "foreground" }, + { + id = 5, + type = "whole", + depth = "foreground" + }, + { + id = 6, + type = "whole", + depth = "foreground" + }, + { + id = 7, + type = "whole", + depth = "foreground" + }, + { + id = 8, + type = "whole", + depth = "foreground" + }, + { + id = 9, + type = "whole", + depth = "foreground" + }, + { + id = 10, + type = "half_bottom", + depth = "foreground" + }, + { + id = 11, + type = "half_bottom", + depth = "foreground" + }, + { + id = 12, + type = "empty", + depth = "foreground" + }, + { + id = 13, + type = "empty", + depth = "foreground" + }, + { + id = 14, + type = "empty", + depth = "foreground" + }, { id = 15, - type = "whole", + type = "half_right", depth = "foreground" }, { id = 16, - type = "whole", + type = "half_left", depth = "foreground" }, { id = 17, - type = "whole", + type = "half_bottom", depth = "foreground" }, { id = 18, - type = "whole", + type = "half_top", depth = "foreground" }, { @@ -61,32 +111,32 @@ return { }, { id = 23, - type = "whole", + type = "half_top", depth = "foreground" }, { id = 24, - type = "whole", + type = "half_top", depth = "foreground" }, { id = 25, - type = "whole", + type = "empty", depth = "foreground" }, { id = 26, - type = "whole", + type = "empty", depth = "foreground" }, { id = 27, - type = "whole", + type = "ramp2_bot_right_half", depth = "foreground" }, { id = 28, - type = "whole", + type = "ramp2_bot_right_whole", depth = "foreground" }, { @@ -101,1080 +151,142 @@ return { }, { id = 31, - type = "whole", + type = "ramp2_bot_left_whole", depth = "foreground" }, { id = 32, - type = "whole", + type = "ramp2_bot_left_half", depth = "foreground" }, { id = 33, - type = "whole", + type = "empty", depth = "foreground" }, { id = 34, - type = "whole", + type = "empty", depth = "foreground" }, { id = 35, - type = "whole", + type = "empty", depth = "foreground" }, { id = 36, - type = "whole", + type = "empty", depth = "foreground" }, { id = 37, - type = "whole", + type = "empty", depth = "foreground" }, { id = 38, - type = "whole", + type = "empty", depth = "foreground" }, { id = 39, - type = "whole", + type = "empty", depth = "foreground" }, { id = 40, - type = "whole", + type = "empty", depth = "foreground" }, { id = 41, - type = "whole", + type = "empty", depth = "foreground" }, { id = 42, - type = "whole", + type = "empty", + depth = "foreground" + }, + { + id = 43, + type = "empty", + depth = "foreground" + }, + { + id = 44, + type = "empty", + depth = "foreground" + }, + { + id = 45, + type = "empty", + depth = "foreground" + }, + { + id = 46, + type = "empty", + depth = "foreground" + }, + { + id = 47, + type = "empty", + depth = "foreground" + }, + { + id = 48, + type = "empty", + depth = "foreground" + }, + { + id = 49, + type = "empty", + depth = "foreground" + }, + { + id = 50, + type = "empty", + depth = "foreground" + }, + { + id = 51, + type = "empty", + depth = "foreground" + }, + { + id = 52, + type = "empty", depth = "foreground" }, { id = 53, - type = "whole", + type = "empty", depth = "foreground" }, { id = 54, - type = "whole", + type = "empty", depth = "foreground" }, { id = 55, - type = "whole", + type = "empty", depth = "foreground" }, { - id = 62, - type = "whole", + id = 40, + type = "empty", depth = "foreground" }, { - id = 63, - type = "whole", + id = 40, + type = "empty", depth = "foreground" }, { - id = 64, - type = "whole", - depth = "foreground" - }, - { - id = 65, - type = "whole", - depth = "foreground" - }, - { - id = 66, - type = "whole", - depth = "foreground" - }, - { - id = 67, - type = "whole", - depth = "foreground" - }, - { - id = 68, - type = "whole", - depth = "foreground" - }, - { - id = 69, - type = "whole", - depth = "foreground" - }, - { - id = 70, - type = "whole", - depth = "foreground" - }, - { - id = 71, - type = "whole", - depth = "foreground" - }, - { - id = 72, - type = "whole", - depth = "foreground" - }, - { - id = 73, - type = "whole", - depth = "foreground" - }, - { - id = 74, - type = "whole", - depth = "foreground" - }, - { - id = 75, - type = "whole", - depth = "foreground" - }, - { - id = 76, - type = "whole", - depth = "foreground" - }, - { - id = 77, - type = "whole", - depth = "foreground" - }, - { - id = 78, - type = "whole", - depth = "foreground" - }, - { - id = 79, - type = "whole", - depth = "foreground" - }, - { - id = 80, - type = "whole", - depth = "foreground" - }, - { - id = 81, - type = "whole", - depth = "foreground" - }, - { - id = 82, - type = "whole", - depth = "foreground" - }, - { - id = 83, - type = "whole", - depth = "foreground" - }, - { - id = 84, - type = "whole", - depth = "foreground" - }, - { - id = 85, - type = "whole", - depth = "foreground" - }, - { - id = 86, - type = "whole", - depth = "foreground" - }, - { - id = 87, - type = "whole", - depth = "foreground" - }, - { - id = 88, - type = "whole", - depth = "foreground" - }, - { - id = 89, - type = "whole", - depth = "foreground" - }, - { - id = 90, - type = "whole", - depth = "foreground" - }, - { - id = 91, - type = "whole", - depth = "foreground" - }, - { - id = 92, - type = "whole", - depth = "foreground" - }, - { - id = 93, - type = "whole", - depth = "foreground" - }, - { - id = 94, - type = "whole", - depth = "foreground" - }, - { - id = 104, - type = "whole", - depth = "foreground" - }, - { - id = 105, - type = "whole", - depth = "foreground" - }, - { - id = 106, - type = "whole", - depth = "foreground" - }, - { - id = 107, - type = "whole", - depth = "foreground" - }, - { - id = 108, - type = "ramp1_bot_right", - depth = "foreground" - }, - { - id = 109, - type = "ramp1_bot_left", - depth = "foreground" - }, - { - id = 110, - type = "air", - depth = "foreground" - }, - { - id = 111, - type = "air", - depth = "foreground" - }, - { - id = 112, - type = "air", - depth = "foreground" - }, - { - id = 113, - type = "air", - depth = "background" - }, - { - id = 114, - type = "ramp2_bot_right_half", - depth = "foreground" - }, - { - id = 115, - type = "ramp2_bot_right_whole", - depth = "foreground" - }, - { - id = 116, - type = "ramp2_bot_left_whole", - depth = "foreground" - }, - { - id = 117, - type = "ramp2_bot_left_half", - depth = "foreground" - }, - { - id = 118, - type = "whole", - depth = "foreground" - }, - { - id = 119, - type = "whole", - depth = "foreground" - }, - { - id = 120, - type = "whole", - depth = "foreground" - }, - { - id = 121, - type = "whole", - depth = "foreground" - }, - { - id = 122, - type = "whole", - depth = "foreground" - }, - { - id = 123, - type = "air", - depth = "foreground" - }, - { - id = 124, - type = "air", - depth = "foreground" - }, - { - id = 125, - type = "air", - depth = "foreground" - }, - { - id = 126, - type = "air", - depth = "background" - }, - { - id = 127, - type = "whole", - depth = "foreground" - }, - { - id = 128, - type = "whole", - depth = "foreground" - }, - { - id = 129, - type = "whole", - depth = "foreground" - }, - { - id = 130, - type = "whole", - depth = "foreground" - }, - { - id = 131, - type = "whole", - depth = "foreground" - }, - { - id = 132, - type = "whole", - depth = "foreground" - }, - { - id = 133, - type = "whole", - depth = "foreground" - }, - { - id = 134, - type = "whole", - depth = "foreground" - }, - { - id = 135, - type = "whole", - depth = "foreground" - }, - { - id = 138, - type = "air", - depth = "foreground" - }, - { - id = 144, - type = "whole", - depth = "foreground" - }, - { - id = 145, - type = "whole", - depth = "foreground" - }, - { - id = 146, - type = "whole", - depth = "foreground" - }, - { - id = 152, - type = "air", - depth = "background" - }, - { - id = 153, - type = "air", - depth = "background" - }, - { - id = 154, - type = "air", - depth = "background" - }, - { - id = 155, - type = "air", - depth = "background" - }, - { - id = 156, - type = "air", - depth = "background" - }, - { - id = 157, - type = "whole", - depth = "foreground" - }, - { - id = 158, - type = "whole", - depth = "foreground" - }, - { - id = 159, - type = "whole", - depth = "foreground" - }, - { - id = 160, - type = "whole", - depth = "foreground" - }, - { - id = 161, - type = "whole", - depth = "foreground" - }, - { - id = 162, - type = "air", - depth = "background" - }, - { - id = 163, - type = "air", - depth = "background" - }, - { - id = 164, - type = "air", - depth = "background" - }, - { - id = 165, - type = "ladder_right", - depth = "background" - }, - { - id = 166, - type = "whole", - depth = "foreground" - }, - { - id = 167, - type = "whole", - depth = "foreground" - }, - { - id = 168, - type = "ladder_left", - depth = "background" - }, - { - id = 169, - depth = "background", - force = 165, - overlay = 176, - overlay_depth = "foreground", - type = "ladder_platform_right" - }, - { - id = 170, - type = "air", - depth = "foreground" - }, - { - id = 171, - type = "air", - depth = "foreground" - }, - { - id = 172, - type = "air", - depth = "foreground" - }, - { - id = 173, - type = "air", - depth = "foreground" - }, - { - id = 174, - type = "air", - depth = "foreground" - }, - { - id = 175, - type = "platform", - depth = "foreground" - }, - { - id = 176, - type = "platform", - depth = "foreground" - }, - { - id = 177, - type = "platform", - depth = "foreground" - }, - { - id = 178, - type = "ladder_right", - depth = "background" - }, - { - id = 179, - type = "whole", - depth = "foreground" - }, - { - id = 180, - type = "whole", - depth = "foreground" - }, - { - id = 181, - type = "ladder_left", - depth = "background" - }, - { - id = 182, - depth = "background", - force = 168, - overlay = 176, - overlay_depth = "foreground", - type = "ladder_platform_left" - }, - { - id = 183, - type = "whole", - depth = "foreground" - }, - { - id = 184, - type = "whole", - depth = "foreground" - }, - { - id = 185, - type = "whole", - depth = "foreground" - }, - { - id = 186, - type = "whole", - depth = "foreground" - }, - { - id = 187, - type = "whole", - depth = "foreground" - }, - { - id = 188, - type = "air", - depth = "background" - }, - { - id = 189, - type = "air", - depth = "background" - }, - { - id = 190, - type = "air", - depth = "background" - }, - { - id = 191, - type = "air", - depth = "background" - }, - { - id = 192, - type = "air", - depth = "background" - }, - { - id = 193, - type = "air", - depth = "background" - }, - { - id = 194, - type = "air", - depth = "background" - }, - { - id = 195, - type = "air", - depth = "background" - }, - { - id = 196, - type = "air", - depth = "foreground" - }, - { - id = 197, - type = "air", - depth = "foreground" - }, - { - id = 198, - type = "air", - depth = "foreground" - }, - { - id = 199, - type = "air", - depth = "foreground" - }, - { - id = 200, - type = "air", - depth = "foreground" - }, - { - id = 201, - type = "platform", - depth = "foreground" - }, - { - id = 202, - type = "platform", - depth = "foreground" - }, - { - id = 203, - type = "platform", - depth = "foreground" - }, - { - id = 204, - type = "ladder_right", - depth = "background" - }, - { - id = 205, - type = "whole", - depth = "foreground" - }, - { - id = 206, - type = "whole", - depth = "foreground" - }, - { - id = 207, - type = "ladder_left", - depth = "background" - }, - { - id = 208, - depth = "background", - force = 204, - overlay = 202, - overlay_depth = "foreground", - type = "ladder_platform_right" - }, - { - id = 217, - type = "ladder_right", - depth = "background" - }, - { - id = 218, - type = "whole", - depth = "foreground" - }, - { - id = 219, - type = "whole", - depth = "foreground" - }, - { - id = 220, - type = "ladder_left", - depth = "background" - }, - { - id = 221, - depth = "background", - force = 207, - overlay = 202, - overlay_depth = "foreground", - type = "ladder_platform_left" - }, - { - id = 235, - type = "air", - depth = "background" - }, - { - id = 236, - type = "air", - depth = "background" - }, - { - id = 237, - type = "air", - depth = "background" - }, - { - id = 238, - type = "air", - depth = "foreground" - }, - { - id = 239, - type = "air", - depth = "foreground" - }, - { - id = 241, - type = "air", - depth = "background" - }, - { - id = 242, - type = "air", - depth = "background" - }, - { - id = 243, - type = "air", - depth = "background" - }, - { - id = 244, - type = "air", - depth = "foreground" - }, - { - id = 245, - type = "air", - depth = "foreground" - }, - { - id = 248, - type = "air", - depth = "background" - }, - { - id = 249, - type = "air", - depth = "background" - }, - { - id = 250, - type = "air", - depth = "background" - }, - { - id = 251, - type = "air", - depth = "background" - }, - { - id = 252, - type = "half", - depth = "foreground" - }, - { - id = 253, - type = "air", - depth = "foreground" - }, - { - id = 254, - type = "air", - depth = "background" - }, - { - id = 255, - type = "air", - depth = "background" - }, - { - id = 256, - type = "air", - depth = "background" - }, - { - id = 257, - type = "air", - depth = "background" - }, - { - id = 258, - type = "half", - depth = "foreground" - }, - { - id = 259, - type = "air", - depth = "foreground" - }, - { - id = 261, - type = "air", - depth = "background" - }, - { - id = 262, - type = "air", - depth = "background" - }, - { - id = 263, - type = "air", - depth = "background" - }, - { - id = 264, - type = "air", - depth = "background" - }, - { - id = 266, - type = "air", - depth = "foreground" - }, - { - id = 267, - type = "air", - depth = "background" - }, - { - id = 268, - type = "air", - depth = "background" - }, - { - id = 269, - type = "air", - depth = "background" - }, - { - id = 270, - type = "air", - depth = "background" - }, - { - id = 272, - type = "air", - depth = "foreground" - }, - { - id = 274, - type = "air", - depth = "background" - }, - { - id = 275, - type = "air", - depth = "background" - }, - { - id = 276, - type = "air", - depth = "background" - }, - { - id = 277, - type = "air", - depth = "background" - }, - { - id = 279, - type = "air", - depth = "foreground" - }, - { - id = 280, - type = "air", - depth = "background" - }, - { - id = 281, - type = "air", - depth = "background" - }, - { - id = 282, - type = "air", - depth = "background" - }, - { - id = 283, - type = "air", - depth = "background" - }, - { - id = 285, - type = "air", - depth = "foreground" - }, - { - id = 287, - type = "air", - depth = "foreground", - animation = "lava_top", - delay = 0.125 - }, - { - id = 288, - type = "air", - depth = "foreground", - animation = "lava_bottom", - delay = 0.125 - }, - { - id = 289, - type = "air", - depth = "foreground" - }, - { - id = 290, - type = "air", - depth = "background", - animation = "lava_fall", - delay = 0.125 - }, - { - id = 291, - type = "air", - depth = "background", - overlay = 287, - overlay_depth = "foreground", - overlay_animated = true, - animation = "lava_fall", - delay = 0.125 - }, - { - id = 300, - type = "air", - depth = "background", - overlay = 163, - animation = "lava_fall", - delay = 0.125 - }, - { - id = 301, - type = "platform", - depth = "background", - overlay = 176, - animation = "lava_fall", - delay = 0.125 - }, - { - id = 302, - type = "air", - depth = "background", - overlay = 189, - animation = "lava_fall", - delay = 0.125 - }, - { - id = 303, - type = "platform", - depth = "background", - overlay = 202, - animation = "lava_fall", - delay = 0.125 - }, - { - id = 304, - type = "ramp2_bot_left_whole", - depth = "foreground", - overlay = 116, - overlay_depth = "foreground", - animation = "lava_top", - delay = 0.125 - }, - { - id = 305, - type = "ramp2_bot_left_half", - depth = "foreground", - overlay = 117, - animation = "lava_top", - delay = 0.125 - }, - { - id = 306, - type = "ramp2_bot_right_half", - depth = "foreground", - overlay = 114, - overlay_depth = "foreground", - animation = "lava_top", - delay = 0.125 - }, - { - id = 307, - type = "ramp2_bot_right_whole", - depth = "foreground", - overlay = 115, - animation = "lava_top", - delay = 0.125 - }, - { - id = 308, - type = "air", - depth = "foreground", - animation = "myrheon_flag_1", - delay = 0.0625 - }, - { - id = 309, - type = "air", - depth = "foreground", - animation = "myrheon_flag_2", - delay = 0.0625 - }, - { - id = 310, - type = "air", - depth = "foreground" - }, - { - id = 311, - type = "air", - depth = "foreground" + id = 119, + type = "whole", + depth = "foreground" } } diff --git a/main.lua b/main.lua index cb5dfa9..77b0989 100644 --- a/main.lua +++ b/main.lua @@ -11,7 +11,7 @@ function love.load() love.keyboard.setKeyRepeat(true) love.graphics.setDefaultFilter("nearest") -- good pixel game = { - scale = 2.5, + scale = 2, width = love.graphics.getWidth(), height = love.graphics.getHeight(), paused = false @@ -19,14 +19,16 @@ function love.load() require "data/scripts" Camera.width = game.width Camera.height = game.height - levelList = {"level1","level2","level3","tileset"} + levelList = {"level1","2","3","ewae","tileset"} levelNum = 1 currLevel = levelList[levelNum] - LoadTiles() - InitPlayer() - main_player = player:newPlayer(0,0) - main_player.sprite = love.graphics.newImage("assets/characters/nancy/idle1.png") - main_player:LoadAnimation(animation.nancy.idle) + LevelLoadTiles() + main_Player = Player:New(1220,220) + LoadedEntities = {} + table.insert(LoadedEntities,main_Player) + table.insert(LoadedEntities,Kupo:New(800,200)) + main_Player.sprite = love.graphics.newImage("assets/characters/nancy/idle1.png") + main_Player:LoadAnimation(animation.nancy.idle) end function love.update(dt) @@ -44,17 +46,20 @@ function love.update(dt) -- saveproof to game resize game.width = love.graphics.getWidth() game.height = love.graphics.getHeight() - + Camera.height = game.height + Camera.width = game.width -- GAME STEP if not do_pause then - SetCollisionFlags(main_player) - main_player:DoInput() - main_player:DoPhysics() - main_player:HandleAnimation() - main_player:Animate() + SetCollisionFlags(main_Player) + for _, enty in pairs(LoadedEntities) do + enty:DoInput() + enty:DoPhysics() + enty:HandleAnimation() + enty:Animate() + end AnimateTiles() - Camera:CenterAt(main_player.pos.x, main_player.pos.y,LevelInfo.Width,LevelInfo.Height) - --camera:ScreenAt(main_player.pos.x, main_player.pos.y,game.width,game.height) + Camera:CenterAt(main_Player.pos.x, main_Player.pos.y,LevelInfo.Width,LevelInfo.Height) + --camera:ScreenAt(main_Player.pos.x, main_Player.pos.y,game.width,game.height) end end @@ -81,7 +86,7 @@ function love.keypressed(key) end if key == "f2" then - main_player.pos.x, main_player.pos.y = 0,-0.1 + main_Player.pos.x, main_Player.pos.y = 0,-0.1 end if key == "f3" then @@ -92,15 +97,17 @@ function love.keypressed(key) levelNum = levelNum + 1 if levelNum > #levelList then levelNum = levelNum - #levelList end currLevel = levelList[levelNum] - LoadTiles() - main_player.pos.x, main_player.pos.y = 0,-0.1 + LevelLoadTiles() + main_Player.pos.x, main_Player.pos.y = 0,-0.1 end end function love.draw() - TilesDisplayBack() - main_player:Draw() - TilesDisplayFront() + LevelDisplayBackground() + for _, enty in pairs(LoadedEntities) do + enty:Draw() + end + LevelDisplayForeground() -- Save color local pcr, pcg, pcb, pca = love.graphics.getColor()