diff --git a/assets/License.txt b/assets/License.txt
new file mode 100644
index 0000000..3485399
--- /dev/null
+++ b/assets/License.txt
@@ -0,0 +1,23 @@
+
+
+ Platformer Characters 1
+
+ by Kenney Vleugels (Kenney.nl)
+
+ ------------------------------
+
+ License (Creative Commons Zero, CC0)
+ http://creativecommons.org/publicdomain/zero/1.0/
+
+ You may use these assets in personal and commercial projects.
+ Credit (Kenney or www.kenney.nl) would be nice but is not mandatory.
+
+ ------------------------------
+
+ Donate: http://support.kenney.nl
+ Request: http://request.kenney.nl
+
+ Follow on Twitter for updates:
+ @KenneyNL
+
+ Credit "Kenney.nl" or "www.kenney.nl"
diff --git a/assets/PNG/Adventurer/Limbs/arm.png b/assets/PNG/Adventurer/Limbs/arm.png
new file mode 100644
index 0000000..8bfc0b3
Binary files /dev/null and b/assets/PNG/Adventurer/Limbs/arm.png differ
diff --git a/assets/PNG/Adventurer/Limbs/body_back.png b/assets/PNG/Adventurer/Limbs/body_back.png
new file mode 100644
index 0000000..76e9564
Binary files /dev/null and b/assets/PNG/Adventurer/Limbs/body_back.png differ
diff --git a/assets/PNG/Adventurer/Limbs/body_front.png b/assets/PNG/Adventurer/Limbs/body_front.png
new file mode 100644
index 0000000..f3c80e5
Binary files /dev/null and b/assets/PNG/Adventurer/Limbs/body_front.png differ
diff --git a/assets/PNG/Adventurer/Limbs/hand.png b/assets/PNG/Adventurer/Limbs/hand.png
new file mode 100644
index 0000000..29e3b9b
Binary files /dev/null and b/assets/PNG/Adventurer/Limbs/hand.png differ
diff --git a/assets/PNG/Adventurer/Limbs/head.png b/assets/PNG/Adventurer/Limbs/head.png
new file mode 100644
index 0000000..2d6d7f9
Binary files /dev/null and b/assets/PNG/Adventurer/Limbs/head.png differ
diff --git a/assets/PNG/Adventurer/Limbs/head_back.png b/assets/PNG/Adventurer/Limbs/head_back.png
new file mode 100644
index 0000000..17460f4
Binary files /dev/null and b/assets/PNG/Adventurer/Limbs/head_back.png differ
diff --git a/assets/PNG/Adventurer/Limbs/head_focus.png b/assets/PNG/Adventurer/Limbs/head_focus.png
new file mode 100644
index 0000000..8217bca
Binary files /dev/null and b/assets/PNG/Adventurer/Limbs/head_focus.png differ
diff --git a/assets/PNG/Adventurer/Limbs/head_hurt.png b/assets/PNG/Adventurer/Limbs/head_hurt.png
new file mode 100644
index 0000000..d0357bd
Binary files /dev/null and b/assets/PNG/Adventurer/Limbs/head_hurt.png differ
diff --git a/assets/PNG/Adventurer/Limbs/leg.png b/assets/PNG/Adventurer/Limbs/leg.png
new file mode 100644
index 0000000..8c695ed
Binary files /dev/null and b/assets/PNG/Adventurer/Limbs/leg.png differ
diff --git a/assets/PNG/Adventurer/Poses/adventurer_action1.png b/assets/PNG/Adventurer/Poses/adventurer_action1.png
new file mode 100644
index 0000000..013a646
Binary files /dev/null and b/assets/PNG/Adventurer/Poses/adventurer_action1.png differ
diff --git a/assets/PNG/Adventurer/Poses/adventurer_action2.png b/assets/PNG/Adventurer/Poses/adventurer_action2.png
new file mode 100644
index 0000000..e3648df
Binary files /dev/null and b/assets/PNG/Adventurer/Poses/adventurer_action2.png differ
diff --git a/assets/PNG/Adventurer/Poses/adventurer_back.png b/assets/PNG/Adventurer/Poses/adventurer_back.png
new file mode 100644
index 0000000..616a755
Binary files /dev/null and b/assets/PNG/Adventurer/Poses/adventurer_back.png differ
diff --git a/assets/PNG/Adventurer/Poses/adventurer_cheer1.png b/assets/PNG/Adventurer/Poses/adventurer_cheer1.png
new file mode 100644
index 0000000..2819e91
Binary files /dev/null and b/assets/PNG/Adventurer/Poses/adventurer_cheer1.png differ
diff --git a/assets/PNG/Adventurer/Poses/adventurer_cheer2.png b/assets/PNG/Adventurer/Poses/adventurer_cheer2.png
new file mode 100644
index 0000000..fc047ae
Binary files /dev/null and b/assets/PNG/Adventurer/Poses/adventurer_cheer2.png differ
diff --git a/assets/PNG/Adventurer/Poses/adventurer_climb1.png b/assets/PNG/Adventurer/Poses/adventurer_climb1.png
new file mode 100644
index 0000000..1a02d96
Binary files /dev/null and b/assets/PNG/Adventurer/Poses/adventurer_climb1.png differ
diff --git a/assets/PNG/Adventurer/Poses/adventurer_climb2.png b/assets/PNG/Adventurer/Poses/adventurer_climb2.png
new file mode 100644
index 0000000..973cd9a
Binary files /dev/null and b/assets/PNG/Adventurer/Poses/adventurer_climb2.png differ
diff --git a/assets/PNG/Adventurer/Poses/adventurer_duck.png b/assets/PNG/Adventurer/Poses/adventurer_duck.png
new file mode 100644
index 0000000..d583245
Binary files /dev/null and b/assets/PNG/Adventurer/Poses/adventurer_duck.png differ
diff --git a/assets/PNG/Adventurer/Poses/adventurer_fall.png b/assets/PNG/Adventurer/Poses/adventurer_fall.png
new file mode 100644
index 0000000..c1ac7e3
Binary files /dev/null and b/assets/PNG/Adventurer/Poses/adventurer_fall.png differ
diff --git a/assets/PNG/Adventurer/Poses/adventurer_hang.png b/assets/PNG/Adventurer/Poses/adventurer_hang.png
new file mode 100644
index 0000000..b5b3318
Binary files /dev/null and b/assets/PNG/Adventurer/Poses/adventurer_hang.png differ
diff --git a/assets/PNG/Adventurer/Poses/adventurer_hold1.png b/assets/PNG/Adventurer/Poses/adventurer_hold1.png
new file mode 100644
index 0000000..518e03a
Binary files /dev/null and b/assets/PNG/Adventurer/Poses/adventurer_hold1.png differ
diff --git a/assets/PNG/Adventurer/Poses/adventurer_hold2.png b/assets/PNG/Adventurer/Poses/adventurer_hold2.png
new file mode 100644
index 0000000..8f7837d
Binary files /dev/null and b/assets/PNG/Adventurer/Poses/adventurer_hold2.png differ
diff --git a/assets/PNG/Adventurer/Poses/adventurer_hurt.png b/assets/PNG/Adventurer/Poses/adventurer_hurt.png
new file mode 100644
index 0000000..4994ec4
Binary files /dev/null and b/assets/PNG/Adventurer/Poses/adventurer_hurt.png differ
diff --git a/assets/PNG/Adventurer/Poses/adventurer_idle.png b/assets/PNG/Adventurer/Poses/adventurer_idle.png
new file mode 100644
index 0000000..b54593b
Binary files /dev/null and b/assets/PNG/Adventurer/Poses/adventurer_idle.png differ
diff --git a/assets/PNG/Adventurer/Poses/adventurer_jump.png b/assets/PNG/Adventurer/Poses/adventurer_jump.png
new file mode 100644
index 0000000..276013c
Binary files /dev/null and b/assets/PNG/Adventurer/Poses/adventurer_jump.png differ
diff --git a/assets/PNG/Adventurer/Poses/adventurer_kick.png b/assets/PNG/Adventurer/Poses/adventurer_kick.png
new file mode 100644
index 0000000..628a3fc
Binary files /dev/null and b/assets/PNG/Adventurer/Poses/adventurer_kick.png differ
diff --git a/assets/PNG/Adventurer/Poses/adventurer_skid.png b/assets/PNG/Adventurer/Poses/adventurer_skid.png
new file mode 100644
index 0000000..8aa4248
Binary files /dev/null and b/assets/PNG/Adventurer/Poses/adventurer_skid.png differ
diff --git a/assets/PNG/Adventurer/Poses/adventurer_slide.png b/assets/PNG/Adventurer/Poses/adventurer_slide.png
new file mode 100644
index 0000000..32c648e
Binary files /dev/null and b/assets/PNG/Adventurer/Poses/adventurer_slide.png differ
diff --git a/assets/PNG/Adventurer/Poses/adventurer_stand.png b/assets/PNG/Adventurer/Poses/adventurer_stand.png
new file mode 100644
index 0000000..a0dcc5b
Binary files /dev/null and b/assets/PNG/Adventurer/Poses/adventurer_stand.png differ
diff --git a/assets/PNG/Adventurer/Poses/adventurer_swim1.png b/assets/PNG/Adventurer/Poses/adventurer_swim1.png
new file mode 100644
index 0000000..9129c16
Binary files /dev/null and b/assets/PNG/Adventurer/Poses/adventurer_swim1.png differ
diff --git a/assets/PNG/Adventurer/Poses/adventurer_swim2.png b/assets/PNG/Adventurer/Poses/adventurer_swim2.png
new file mode 100644
index 0000000..872f0c4
Binary files /dev/null and b/assets/PNG/Adventurer/Poses/adventurer_swim2.png differ
diff --git a/assets/PNG/Adventurer/Poses/adventurer_talk.png b/assets/PNG/Adventurer/Poses/adventurer_talk.png
new file mode 100644
index 0000000..c1ef99e
Binary files /dev/null and b/assets/PNG/Adventurer/Poses/adventurer_talk.png differ
diff --git a/assets/PNG/Adventurer/Poses/adventurer_walk1.png b/assets/PNG/Adventurer/Poses/adventurer_walk1.png
new file mode 100644
index 0000000..7e6bf3f
Binary files /dev/null and b/assets/PNG/Adventurer/Poses/adventurer_walk1.png differ
diff --git a/assets/PNG/Adventurer/Poses/adventurer_walk2.png b/assets/PNG/Adventurer/Poses/adventurer_walk2.png
new file mode 100644
index 0000000..ee78bf9
Binary files /dev/null and b/assets/PNG/Adventurer/Poses/adventurer_walk2.png differ
diff --git a/assets/PNG/Adventurer/adventurer_tilesheet.png b/assets/PNG/Adventurer/adventurer_tilesheet.png
new file mode 100644
index 0000000..6503a0d
Binary files /dev/null and b/assets/PNG/Adventurer/adventurer_tilesheet.png differ
diff --git a/assets/PNG/Female/Limbs/arm.png b/assets/PNG/Female/Limbs/arm.png
new file mode 100644
index 0000000..74360dc
Binary files /dev/null and b/assets/PNG/Female/Limbs/arm.png differ
diff --git a/assets/PNG/Female/Limbs/body_back.png b/assets/PNG/Female/Limbs/body_back.png
new file mode 100644
index 0000000..d368787
Binary files /dev/null and b/assets/PNG/Female/Limbs/body_back.png differ
diff --git a/assets/PNG/Female/Limbs/body_front.png b/assets/PNG/Female/Limbs/body_front.png
new file mode 100644
index 0000000..72e10a4
Binary files /dev/null and b/assets/PNG/Female/Limbs/body_front.png differ
diff --git a/assets/PNG/Female/Limbs/hand.png b/assets/PNG/Female/Limbs/hand.png
new file mode 100644
index 0000000..29e3b9b
Binary files /dev/null and b/assets/PNG/Female/Limbs/hand.png differ
diff --git a/assets/PNG/Female/Limbs/head.png b/assets/PNG/Female/Limbs/head.png
new file mode 100644
index 0000000..42d56e0
Binary files /dev/null and b/assets/PNG/Female/Limbs/head.png differ
diff --git a/assets/PNG/Female/Limbs/head_back.png b/assets/PNG/Female/Limbs/head_back.png
new file mode 100644
index 0000000..d881317
Binary files /dev/null and b/assets/PNG/Female/Limbs/head_back.png differ
diff --git a/assets/PNG/Female/Limbs/head_focus.png b/assets/PNG/Female/Limbs/head_focus.png
new file mode 100644
index 0000000..89d037b
Binary files /dev/null and b/assets/PNG/Female/Limbs/head_focus.png differ
diff --git a/assets/PNG/Female/Limbs/head_hurt.png b/assets/PNG/Female/Limbs/head_hurt.png
new file mode 100644
index 0000000..d5faaf6
Binary files /dev/null and b/assets/PNG/Female/Limbs/head_hurt.png differ
diff --git a/assets/PNG/Female/Limbs/leg.png b/assets/PNG/Female/Limbs/leg.png
new file mode 100644
index 0000000..ed8c6cf
Binary files /dev/null and b/assets/PNG/Female/Limbs/leg.png differ
diff --git a/assets/PNG/Female/Poses/female_action1.png b/assets/PNG/Female/Poses/female_action1.png
new file mode 100644
index 0000000..d6ddd8f
Binary files /dev/null and b/assets/PNG/Female/Poses/female_action1.png differ
diff --git a/assets/PNG/Female/Poses/female_action2.png b/assets/PNG/Female/Poses/female_action2.png
new file mode 100644
index 0000000..dee85e2
Binary files /dev/null and b/assets/PNG/Female/Poses/female_action2.png differ
diff --git a/assets/PNG/Female/Poses/female_back.png b/assets/PNG/Female/Poses/female_back.png
new file mode 100644
index 0000000..0b2e3b1
Binary files /dev/null and b/assets/PNG/Female/Poses/female_back.png differ
diff --git a/assets/PNG/Female/Poses/female_cheer1.png b/assets/PNG/Female/Poses/female_cheer1.png
new file mode 100644
index 0000000..fe12ae7
Binary files /dev/null and b/assets/PNG/Female/Poses/female_cheer1.png differ
diff --git a/assets/PNG/Female/Poses/female_cheer2.png b/assets/PNG/Female/Poses/female_cheer2.png
new file mode 100644
index 0000000..2228227
Binary files /dev/null and b/assets/PNG/Female/Poses/female_cheer2.png differ
diff --git a/assets/PNG/Female/Poses/female_climb1.png b/assets/PNG/Female/Poses/female_climb1.png
new file mode 100644
index 0000000..75bcc2b
Binary files /dev/null and b/assets/PNG/Female/Poses/female_climb1.png differ
diff --git a/assets/PNG/Female/Poses/female_climb2.png b/assets/PNG/Female/Poses/female_climb2.png
new file mode 100644
index 0000000..63630cd
Binary files /dev/null and b/assets/PNG/Female/Poses/female_climb2.png differ
diff --git a/assets/PNG/Female/Poses/female_duck.png b/assets/PNG/Female/Poses/female_duck.png
new file mode 100644
index 0000000..2caeb42
Binary files /dev/null and b/assets/PNG/Female/Poses/female_duck.png differ
diff --git a/assets/PNG/Female/Poses/female_fall.png b/assets/PNG/Female/Poses/female_fall.png
new file mode 100644
index 0000000..aca5a6c
Binary files /dev/null and b/assets/PNG/Female/Poses/female_fall.png differ
diff --git a/assets/PNG/Female/Poses/female_hang.png b/assets/PNG/Female/Poses/female_hang.png
new file mode 100644
index 0000000..0c90b69
Binary files /dev/null and b/assets/PNG/Female/Poses/female_hang.png differ
diff --git a/assets/PNG/Female/Poses/female_hold1.png b/assets/PNG/Female/Poses/female_hold1.png
new file mode 100644
index 0000000..75e3163
Binary files /dev/null and b/assets/PNG/Female/Poses/female_hold1.png differ
diff --git a/assets/PNG/Female/Poses/female_hold2.png b/assets/PNG/Female/Poses/female_hold2.png
new file mode 100644
index 0000000..96a66ae
Binary files /dev/null and b/assets/PNG/Female/Poses/female_hold2.png differ
diff --git a/assets/PNG/Female/Poses/female_hurt.png b/assets/PNG/Female/Poses/female_hurt.png
new file mode 100644
index 0000000..c72545f
Binary files /dev/null and b/assets/PNG/Female/Poses/female_hurt.png differ
diff --git a/assets/PNG/Female/Poses/female_idle.png b/assets/PNG/Female/Poses/female_idle.png
new file mode 100644
index 0000000..5bb7ef4
Binary files /dev/null and b/assets/PNG/Female/Poses/female_idle.png differ
diff --git a/assets/PNG/Female/Poses/female_jump.png b/assets/PNG/Female/Poses/female_jump.png
new file mode 100644
index 0000000..79ae316
Binary files /dev/null and b/assets/PNG/Female/Poses/female_jump.png differ
diff --git a/assets/PNG/Female/Poses/female_kick.png b/assets/PNG/Female/Poses/female_kick.png
new file mode 100644
index 0000000..368645e
Binary files /dev/null and b/assets/PNG/Female/Poses/female_kick.png differ
diff --git a/assets/PNG/Female/Poses/female_skid.png b/assets/PNG/Female/Poses/female_skid.png
new file mode 100644
index 0000000..c7d3d15
Binary files /dev/null and b/assets/PNG/Female/Poses/female_skid.png differ
diff --git a/assets/PNG/Female/Poses/female_slide.png b/assets/PNG/Female/Poses/female_slide.png
new file mode 100644
index 0000000..93e9d28
Binary files /dev/null and b/assets/PNG/Female/Poses/female_slide.png differ
diff --git a/assets/PNG/Female/Poses/female_stand.png b/assets/PNG/Female/Poses/female_stand.png
new file mode 100644
index 0000000..5b111f7
Binary files /dev/null and b/assets/PNG/Female/Poses/female_stand.png differ
diff --git a/assets/PNG/Female/Poses/female_swim1.png b/assets/PNG/Female/Poses/female_swim1.png
new file mode 100644
index 0000000..3dcefdf
Binary files /dev/null and b/assets/PNG/Female/Poses/female_swim1.png differ
diff --git a/assets/PNG/Female/Poses/female_swim2.png b/assets/PNG/Female/Poses/female_swim2.png
new file mode 100644
index 0000000..b9ce4ec
Binary files /dev/null and b/assets/PNG/Female/Poses/female_swim2.png differ
diff --git a/assets/PNG/Female/Poses/female_talk.png b/assets/PNG/Female/Poses/female_talk.png
new file mode 100644
index 0000000..ae4700f
Binary files /dev/null and b/assets/PNG/Female/Poses/female_talk.png differ
diff --git a/assets/PNG/Female/Poses/female_walk1.png b/assets/PNG/Female/Poses/female_walk1.png
new file mode 100644
index 0000000..8d0680d
Binary files /dev/null and b/assets/PNG/Female/Poses/female_walk1.png differ
diff --git a/assets/PNG/Female/Poses/female_walk2.png b/assets/PNG/Female/Poses/female_walk2.png
new file mode 100644
index 0000000..373de43
Binary files /dev/null and b/assets/PNG/Female/Poses/female_walk2.png differ
diff --git a/assets/PNG/Female/female_tilesheet.png b/assets/PNG/Female/female_tilesheet.png
new file mode 100644
index 0000000..59cc18e
Binary files /dev/null and b/assets/PNG/Female/female_tilesheet.png differ
diff --git a/assets/PNG/Player/Limbs/arm.png b/assets/PNG/Player/Limbs/arm.png
new file mode 100644
index 0000000..3e0c517
Binary files /dev/null and b/assets/PNG/Player/Limbs/arm.png differ
diff --git a/assets/PNG/Player/Limbs/body_back.png b/assets/PNG/Player/Limbs/body_back.png
new file mode 100644
index 0000000..6349381
Binary files /dev/null and b/assets/PNG/Player/Limbs/body_back.png differ
diff --git a/assets/PNG/Player/Limbs/body_front.png b/assets/PNG/Player/Limbs/body_front.png
new file mode 100644
index 0000000..6349381
Binary files /dev/null and b/assets/PNG/Player/Limbs/body_front.png differ
diff --git a/assets/PNG/Player/Limbs/hand.png b/assets/PNG/Player/Limbs/hand.png
new file mode 100644
index 0000000..29e3b9b
Binary files /dev/null and b/assets/PNG/Player/Limbs/hand.png differ
diff --git a/assets/PNG/Player/Limbs/head.png b/assets/PNG/Player/Limbs/head.png
new file mode 100644
index 0000000..8bb3349
Binary files /dev/null and b/assets/PNG/Player/Limbs/head.png differ
diff --git a/assets/PNG/Player/Limbs/head_back.png b/assets/PNG/Player/Limbs/head_back.png
new file mode 100644
index 0000000..d713572
Binary files /dev/null and b/assets/PNG/Player/Limbs/head_back.png differ
diff --git a/assets/PNG/Player/Limbs/head_focus.png b/assets/PNG/Player/Limbs/head_focus.png
new file mode 100644
index 0000000..e0ed4d3
Binary files /dev/null and b/assets/PNG/Player/Limbs/head_focus.png differ
diff --git a/assets/PNG/Player/Limbs/head_hurt.png b/assets/PNG/Player/Limbs/head_hurt.png
new file mode 100644
index 0000000..c39d78c
Binary files /dev/null and b/assets/PNG/Player/Limbs/head_hurt.png differ
diff --git a/assets/PNG/Player/Limbs/leg.png b/assets/PNG/Player/Limbs/leg.png
new file mode 100644
index 0000000..9bf7078
Binary files /dev/null and b/assets/PNG/Player/Limbs/leg.png differ
diff --git a/assets/PNG/Player/Poses/player_action1.png b/assets/PNG/Player/Poses/player_action1.png
new file mode 100644
index 0000000..f3822ef
Binary files /dev/null and b/assets/PNG/Player/Poses/player_action1.png differ
diff --git a/assets/PNG/Player/Poses/player_action2.png b/assets/PNG/Player/Poses/player_action2.png
new file mode 100644
index 0000000..428872a
Binary files /dev/null and b/assets/PNG/Player/Poses/player_action2.png differ
diff --git a/assets/PNG/Player/Poses/player_back.png b/assets/PNG/Player/Poses/player_back.png
new file mode 100644
index 0000000..df00a2d
Binary files /dev/null and b/assets/PNG/Player/Poses/player_back.png differ
diff --git a/assets/PNG/Player/Poses/player_cheer1.png b/assets/PNG/Player/Poses/player_cheer1.png
new file mode 100644
index 0000000..b3b021b
Binary files /dev/null and b/assets/PNG/Player/Poses/player_cheer1.png differ
diff --git a/assets/PNG/Player/Poses/player_cheer2.png b/assets/PNG/Player/Poses/player_cheer2.png
new file mode 100644
index 0000000..100fed9
Binary files /dev/null and b/assets/PNG/Player/Poses/player_cheer2.png differ
diff --git a/assets/PNG/Player/Poses/player_climb1.png b/assets/PNG/Player/Poses/player_climb1.png
new file mode 100644
index 0000000..b1d983c
Binary files /dev/null and b/assets/PNG/Player/Poses/player_climb1.png differ
diff --git a/assets/PNG/Player/Poses/player_climb2.png b/assets/PNG/Player/Poses/player_climb2.png
new file mode 100644
index 0000000..a5cb3d6
Binary files /dev/null and b/assets/PNG/Player/Poses/player_climb2.png differ
diff --git a/assets/PNG/Player/Poses/player_duck.png b/assets/PNG/Player/Poses/player_duck.png
new file mode 100644
index 0000000..43148fc
Binary files /dev/null and b/assets/PNG/Player/Poses/player_duck.png differ
diff --git a/assets/PNG/Player/Poses/player_fall.png b/assets/PNG/Player/Poses/player_fall.png
new file mode 100644
index 0000000..3460b92
Binary files /dev/null and b/assets/PNG/Player/Poses/player_fall.png differ
diff --git a/assets/PNG/Player/Poses/player_hang.png b/assets/PNG/Player/Poses/player_hang.png
new file mode 100644
index 0000000..60961b4
Binary files /dev/null and b/assets/PNG/Player/Poses/player_hang.png differ
diff --git a/assets/PNG/Player/Poses/player_hold1.png b/assets/PNG/Player/Poses/player_hold1.png
new file mode 100644
index 0000000..c8463c5
Binary files /dev/null and b/assets/PNG/Player/Poses/player_hold1.png differ
diff --git a/assets/PNG/Player/Poses/player_hold2.png b/assets/PNG/Player/Poses/player_hold2.png
new file mode 100644
index 0000000..905dd90
Binary files /dev/null and b/assets/PNG/Player/Poses/player_hold2.png differ
diff --git a/assets/PNG/Player/Poses/player_hurt.png b/assets/PNG/Player/Poses/player_hurt.png
new file mode 100644
index 0000000..58f61bf
Binary files /dev/null and b/assets/PNG/Player/Poses/player_hurt.png differ
diff --git a/assets/PNG/Player/Poses/player_idle.png b/assets/PNG/Player/Poses/player_idle.png
new file mode 100644
index 0000000..6e7e462
Binary files /dev/null and b/assets/PNG/Player/Poses/player_idle.png differ
diff --git a/assets/PNG/Player/Poses/player_jump.png b/assets/PNG/Player/Poses/player_jump.png
new file mode 100644
index 0000000..af3661a
Binary files /dev/null and b/assets/PNG/Player/Poses/player_jump.png differ
diff --git a/assets/PNG/Player/Poses/player_kick.png b/assets/PNG/Player/Poses/player_kick.png
new file mode 100644
index 0000000..8f8c181
Binary files /dev/null and b/assets/PNG/Player/Poses/player_kick.png differ
diff --git a/assets/PNG/Player/Poses/player_skid.png b/assets/PNG/Player/Poses/player_skid.png
new file mode 100644
index 0000000..0bc2cab
Binary files /dev/null and b/assets/PNG/Player/Poses/player_skid.png differ
diff --git a/assets/PNG/Player/Poses/player_slide.png b/assets/PNG/Player/Poses/player_slide.png
new file mode 100644
index 0000000..923301f
Binary files /dev/null and b/assets/PNG/Player/Poses/player_slide.png differ
diff --git a/assets/PNG/Player/Poses/player_stand.png b/assets/PNG/Player/Poses/player_stand.png
new file mode 100644
index 0000000..ff5655a
Binary files /dev/null and b/assets/PNG/Player/Poses/player_stand.png differ
diff --git a/assets/PNG/Player/Poses/player_swim1.png b/assets/PNG/Player/Poses/player_swim1.png
new file mode 100644
index 0000000..1e04636
Binary files /dev/null and b/assets/PNG/Player/Poses/player_swim1.png differ
diff --git a/assets/PNG/Player/Poses/player_swim2.png b/assets/PNG/Player/Poses/player_swim2.png
new file mode 100644
index 0000000..998db25
Binary files /dev/null and b/assets/PNG/Player/Poses/player_swim2.png differ
diff --git a/assets/PNG/Player/Poses/player_talk.png b/assets/PNG/Player/Poses/player_talk.png
new file mode 100644
index 0000000..0edac4a
Binary files /dev/null and b/assets/PNG/Player/Poses/player_talk.png differ
diff --git a/assets/PNG/Player/Poses/player_walk1.png b/assets/PNG/Player/Poses/player_walk1.png
new file mode 100644
index 0000000..46c2a5f
Binary files /dev/null and b/assets/PNG/Player/Poses/player_walk1.png differ
diff --git a/assets/PNG/Player/Poses/player_walk2.png b/assets/PNG/Player/Poses/player_walk2.png
new file mode 100644
index 0000000..1fb6de2
Binary files /dev/null and b/assets/PNG/Player/Poses/player_walk2.png differ
diff --git a/assets/PNG/Player/player_tilesheet.png b/assets/PNG/Player/player_tilesheet.png
new file mode 100644
index 0000000..1a9a5f7
Binary files /dev/null and b/assets/PNG/Player/player_tilesheet.png differ
diff --git a/assets/PNG/Soldier/Limbs/arm.png b/assets/PNG/Soldier/Limbs/arm.png
new file mode 100644
index 0000000..086cb46
Binary files /dev/null and b/assets/PNG/Soldier/Limbs/arm.png differ
diff --git a/assets/PNG/Soldier/Limbs/body_back.png b/assets/PNG/Soldier/Limbs/body_back.png
new file mode 100644
index 0000000..e55e467
Binary files /dev/null and b/assets/PNG/Soldier/Limbs/body_back.png differ
diff --git a/assets/PNG/Soldier/Limbs/body_front.png b/assets/PNG/Soldier/Limbs/body_front.png
new file mode 100644
index 0000000..f60f373
Binary files /dev/null and b/assets/PNG/Soldier/Limbs/body_front.png differ
diff --git a/assets/PNG/Soldier/Limbs/hand.png b/assets/PNG/Soldier/Limbs/hand.png
new file mode 100644
index 0000000..435d5b5
Binary files /dev/null and b/assets/PNG/Soldier/Limbs/hand.png differ
diff --git a/assets/PNG/Soldier/Limbs/head.png b/assets/PNG/Soldier/Limbs/head.png
new file mode 100644
index 0000000..2557259
Binary files /dev/null and b/assets/PNG/Soldier/Limbs/head.png differ
diff --git a/assets/PNG/Soldier/Limbs/head_back.png b/assets/PNG/Soldier/Limbs/head_back.png
new file mode 100644
index 0000000..7380b2a
Binary files /dev/null and b/assets/PNG/Soldier/Limbs/head_back.png differ
diff --git a/assets/PNG/Soldier/Limbs/head_focus.png b/assets/PNG/Soldier/Limbs/head_focus.png
new file mode 100644
index 0000000..771d421
Binary files /dev/null and b/assets/PNG/Soldier/Limbs/head_focus.png differ
diff --git a/assets/PNG/Soldier/Limbs/head_hurt.png b/assets/PNG/Soldier/Limbs/head_hurt.png
new file mode 100644
index 0000000..0179fb5
Binary files /dev/null and b/assets/PNG/Soldier/Limbs/head_hurt.png differ
diff --git a/assets/PNG/Soldier/Limbs/leg.png b/assets/PNG/Soldier/Limbs/leg.png
new file mode 100644
index 0000000..d03b7a4
Binary files /dev/null and b/assets/PNG/Soldier/Limbs/leg.png differ
diff --git a/assets/PNG/Soldier/Poses/soldier_action1.png b/assets/PNG/Soldier/Poses/soldier_action1.png
new file mode 100644
index 0000000..0630016
Binary files /dev/null and b/assets/PNG/Soldier/Poses/soldier_action1.png differ
diff --git a/assets/PNG/Soldier/Poses/soldier_action2.png b/assets/PNG/Soldier/Poses/soldier_action2.png
new file mode 100644
index 0000000..59a5107
Binary files /dev/null and b/assets/PNG/Soldier/Poses/soldier_action2.png differ
diff --git a/assets/PNG/Soldier/Poses/soldier_back.png b/assets/PNG/Soldier/Poses/soldier_back.png
new file mode 100644
index 0000000..440e700
Binary files /dev/null and b/assets/PNG/Soldier/Poses/soldier_back.png differ
diff --git a/assets/PNG/Soldier/Poses/soldier_cheer1.png b/assets/PNG/Soldier/Poses/soldier_cheer1.png
new file mode 100644
index 0000000..915151f
Binary files /dev/null and b/assets/PNG/Soldier/Poses/soldier_cheer1.png differ
diff --git a/assets/PNG/Soldier/Poses/soldier_cheer2.png b/assets/PNG/Soldier/Poses/soldier_cheer2.png
new file mode 100644
index 0000000..c20b3c1
Binary files /dev/null and b/assets/PNG/Soldier/Poses/soldier_cheer2.png differ
diff --git a/assets/PNG/Soldier/Poses/soldier_climb1.png b/assets/PNG/Soldier/Poses/soldier_climb1.png
new file mode 100644
index 0000000..a336a6d
Binary files /dev/null and b/assets/PNG/Soldier/Poses/soldier_climb1.png differ
diff --git a/assets/PNG/Soldier/Poses/soldier_climb2.png b/assets/PNG/Soldier/Poses/soldier_climb2.png
new file mode 100644
index 0000000..c4fcb9a
Binary files /dev/null and b/assets/PNG/Soldier/Poses/soldier_climb2.png differ
diff --git a/assets/PNG/Soldier/Poses/soldier_duck.png b/assets/PNG/Soldier/Poses/soldier_duck.png
new file mode 100644
index 0000000..0e0ee21
Binary files /dev/null and b/assets/PNG/Soldier/Poses/soldier_duck.png differ
diff --git a/assets/PNG/Soldier/Poses/soldier_fall.png b/assets/PNG/Soldier/Poses/soldier_fall.png
new file mode 100644
index 0000000..4e6a730
Binary files /dev/null and b/assets/PNG/Soldier/Poses/soldier_fall.png differ
diff --git a/assets/PNG/Soldier/Poses/soldier_hang.png b/assets/PNG/Soldier/Poses/soldier_hang.png
new file mode 100644
index 0000000..5b16cc9
Binary files /dev/null and b/assets/PNG/Soldier/Poses/soldier_hang.png differ
diff --git a/assets/PNG/Soldier/Poses/soldier_hold1.png b/assets/PNG/Soldier/Poses/soldier_hold1.png
new file mode 100644
index 0000000..1a404e1
Binary files /dev/null and b/assets/PNG/Soldier/Poses/soldier_hold1.png differ
diff --git a/assets/PNG/Soldier/Poses/soldier_hold2.png b/assets/PNG/Soldier/Poses/soldier_hold2.png
new file mode 100644
index 0000000..aeee616
Binary files /dev/null and b/assets/PNG/Soldier/Poses/soldier_hold2.png differ
diff --git a/assets/PNG/Soldier/Poses/soldier_hurt.png b/assets/PNG/Soldier/Poses/soldier_hurt.png
new file mode 100644
index 0000000..c8c522e
Binary files /dev/null and b/assets/PNG/Soldier/Poses/soldier_hurt.png differ
diff --git a/assets/PNG/Soldier/Poses/soldier_idle.png b/assets/PNG/Soldier/Poses/soldier_idle.png
new file mode 100644
index 0000000..1d85e80
Binary files /dev/null and b/assets/PNG/Soldier/Poses/soldier_idle.png differ
diff --git a/assets/PNG/Soldier/Poses/soldier_jump.png b/assets/PNG/Soldier/Poses/soldier_jump.png
new file mode 100644
index 0000000..6a6d17c
Binary files /dev/null and b/assets/PNG/Soldier/Poses/soldier_jump.png differ
diff --git a/assets/PNG/Soldier/Poses/soldier_kick.png b/assets/PNG/Soldier/Poses/soldier_kick.png
new file mode 100644
index 0000000..7af419e
Binary files /dev/null and b/assets/PNG/Soldier/Poses/soldier_kick.png differ
diff --git a/assets/PNG/Soldier/Poses/soldier_skid.png b/assets/PNG/Soldier/Poses/soldier_skid.png
new file mode 100644
index 0000000..3dbb2a6
Binary files /dev/null and b/assets/PNG/Soldier/Poses/soldier_skid.png differ
diff --git a/assets/PNG/Soldier/Poses/soldier_slide.png b/assets/PNG/Soldier/Poses/soldier_slide.png
new file mode 100644
index 0000000..a559cee
Binary files /dev/null and b/assets/PNG/Soldier/Poses/soldier_slide.png differ
diff --git a/assets/PNG/Soldier/Poses/soldier_stand.png b/assets/PNG/Soldier/Poses/soldier_stand.png
new file mode 100644
index 0000000..16f8327
Binary files /dev/null and b/assets/PNG/Soldier/Poses/soldier_stand.png differ
diff --git a/assets/PNG/Soldier/Poses/soldier_swim1.png b/assets/PNG/Soldier/Poses/soldier_swim1.png
new file mode 100644
index 0000000..a86a38d
Binary files /dev/null and b/assets/PNG/Soldier/Poses/soldier_swim1.png differ
diff --git a/assets/PNG/Soldier/Poses/soldier_swim2.png b/assets/PNG/Soldier/Poses/soldier_swim2.png
new file mode 100644
index 0000000..fef169e
Binary files /dev/null and b/assets/PNG/Soldier/Poses/soldier_swim2.png differ
diff --git a/assets/PNG/Soldier/Poses/soldier_talk.png b/assets/PNG/Soldier/Poses/soldier_talk.png
new file mode 100644
index 0000000..c89addb
Binary files /dev/null and b/assets/PNG/Soldier/Poses/soldier_talk.png differ
diff --git a/assets/PNG/Soldier/Poses/soldier_walk1.png b/assets/PNG/Soldier/Poses/soldier_walk1.png
new file mode 100644
index 0000000..17df4b5
Binary files /dev/null and b/assets/PNG/Soldier/Poses/soldier_walk1.png differ
diff --git a/assets/PNG/Soldier/Poses/soldier_walk2.png b/assets/PNG/Soldier/Poses/soldier_walk2.png
new file mode 100644
index 0000000..580a31f
Binary files /dev/null and b/assets/PNG/Soldier/Poses/soldier_walk2.png differ
diff --git a/assets/PNG/Soldier/soldier_tilesheet.png b/assets/PNG/Soldier/soldier_tilesheet.png
new file mode 100644
index 0000000..95788ef
Binary files /dev/null and b/assets/PNG/Soldier/soldier_tilesheet.png differ
diff --git a/assets/PNG/Zombie/Limbs/arm.png b/assets/PNG/Zombie/Limbs/arm.png
new file mode 100644
index 0000000..f7a38a4
Binary files /dev/null and b/assets/PNG/Zombie/Limbs/arm.png differ
diff --git a/assets/PNG/Zombie/Limbs/body_back.png b/assets/PNG/Zombie/Limbs/body_back.png
new file mode 100644
index 0000000..a22e6cb
Binary files /dev/null and b/assets/PNG/Zombie/Limbs/body_back.png differ
diff --git a/assets/PNG/Zombie/Limbs/body_front.png b/assets/PNG/Zombie/Limbs/body_front.png
new file mode 100644
index 0000000..ecf77df
Binary files /dev/null and b/assets/PNG/Zombie/Limbs/body_front.png differ
diff --git a/assets/PNG/Zombie/Limbs/hand.png b/assets/PNG/Zombie/Limbs/hand.png
new file mode 100644
index 0000000..da46a0c
Binary files /dev/null and b/assets/PNG/Zombie/Limbs/hand.png differ
diff --git a/assets/PNG/Zombie/Limbs/head.png b/assets/PNG/Zombie/Limbs/head.png
new file mode 100644
index 0000000..fd1c43e
Binary files /dev/null and b/assets/PNG/Zombie/Limbs/head.png differ
diff --git a/assets/PNG/Zombie/Limbs/head_back.png b/assets/PNG/Zombie/Limbs/head_back.png
new file mode 100644
index 0000000..7b25657
Binary files /dev/null and b/assets/PNG/Zombie/Limbs/head_back.png differ
diff --git a/assets/PNG/Zombie/Limbs/head_focus.png b/assets/PNG/Zombie/Limbs/head_focus.png
new file mode 100644
index 0000000..dc17684
Binary files /dev/null and b/assets/PNG/Zombie/Limbs/head_focus.png differ
diff --git a/assets/PNG/Zombie/Limbs/head_hurt.png b/assets/PNG/Zombie/Limbs/head_hurt.png
new file mode 100644
index 0000000..22d33e5
Binary files /dev/null and b/assets/PNG/Zombie/Limbs/head_hurt.png differ
diff --git a/assets/PNG/Zombie/Limbs/leg.png b/assets/PNG/Zombie/Limbs/leg.png
new file mode 100644
index 0000000..7ce241e
Binary files /dev/null and b/assets/PNG/Zombie/Limbs/leg.png differ
diff --git a/assets/PNG/Zombie/Poses/zombie_action1.png b/assets/PNG/Zombie/Poses/zombie_action1.png
new file mode 100644
index 0000000..0bb9bd4
Binary files /dev/null and b/assets/PNG/Zombie/Poses/zombie_action1.png differ
diff --git a/assets/PNG/Zombie/Poses/zombie_action2.png b/assets/PNG/Zombie/Poses/zombie_action2.png
new file mode 100644
index 0000000..914643e
Binary files /dev/null and b/assets/PNG/Zombie/Poses/zombie_action2.png differ
diff --git a/assets/PNG/Zombie/Poses/zombie_back.png b/assets/PNG/Zombie/Poses/zombie_back.png
new file mode 100644
index 0000000..9db905c
Binary files /dev/null and b/assets/PNG/Zombie/Poses/zombie_back.png differ
diff --git a/assets/PNG/Zombie/Poses/zombie_cheer1.png b/assets/PNG/Zombie/Poses/zombie_cheer1.png
new file mode 100644
index 0000000..b5c5d03
Binary files /dev/null and b/assets/PNG/Zombie/Poses/zombie_cheer1.png differ
diff --git a/assets/PNG/Zombie/Poses/zombie_cheer2.png b/assets/PNG/Zombie/Poses/zombie_cheer2.png
new file mode 100644
index 0000000..55d46b8
Binary files /dev/null and b/assets/PNG/Zombie/Poses/zombie_cheer2.png differ
diff --git a/assets/PNG/Zombie/Poses/zombie_climb1.png b/assets/PNG/Zombie/Poses/zombie_climb1.png
new file mode 100644
index 0000000..6f351a0
Binary files /dev/null and b/assets/PNG/Zombie/Poses/zombie_climb1.png differ
diff --git a/assets/PNG/Zombie/Poses/zombie_climb2.png b/assets/PNG/Zombie/Poses/zombie_climb2.png
new file mode 100644
index 0000000..555d3d3
Binary files /dev/null and b/assets/PNG/Zombie/Poses/zombie_climb2.png differ
diff --git a/assets/PNG/Zombie/Poses/zombie_duck.png b/assets/PNG/Zombie/Poses/zombie_duck.png
new file mode 100644
index 0000000..42bd453
Binary files /dev/null and b/assets/PNG/Zombie/Poses/zombie_duck.png differ
diff --git a/assets/PNG/Zombie/Poses/zombie_fall.png b/assets/PNG/Zombie/Poses/zombie_fall.png
new file mode 100644
index 0000000..1807f7d
Binary files /dev/null and b/assets/PNG/Zombie/Poses/zombie_fall.png differ
diff --git a/assets/PNG/Zombie/Poses/zombie_hang.png b/assets/PNG/Zombie/Poses/zombie_hang.png
new file mode 100644
index 0000000..535893f
Binary files /dev/null and b/assets/PNG/Zombie/Poses/zombie_hang.png differ
diff --git a/assets/PNG/Zombie/Poses/zombie_hold1.png b/assets/PNG/Zombie/Poses/zombie_hold1.png
new file mode 100644
index 0000000..3471a0b
Binary files /dev/null and b/assets/PNG/Zombie/Poses/zombie_hold1.png differ
diff --git a/assets/PNG/Zombie/Poses/zombie_hold2.png b/assets/PNG/Zombie/Poses/zombie_hold2.png
new file mode 100644
index 0000000..ff2de52
Binary files /dev/null and b/assets/PNG/Zombie/Poses/zombie_hold2.png differ
diff --git a/assets/PNG/Zombie/Poses/zombie_hurt.png b/assets/PNG/Zombie/Poses/zombie_hurt.png
new file mode 100644
index 0000000..3500062
Binary files /dev/null and b/assets/PNG/Zombie/Poses/zombie_hurt.png differ
diff --git a/assets/PNG/Zombie/Poses/zombie_idle.png b/assets/PNG/Zombie/Poses/zombie_idle.png
new file mode 100644
index 0000000..20cd8f7
Binary files /dev/null and b/assets/PNG/Zombie/Poses/zombie_idle.png differ
diff --git a/assets/PNG/Zombie/Poses/zombie_jump.png b/assets/PNG/Zombie/Poses/zombie_jump.png
new file mode 100644
index 0000000..3b8c54e
Binary files /dev/null and b/assets/PNG/Zombie/Poses/zombie_jump.png differ
diff --git a/assets/PNG/Zombie/Poses/zombie_kick.png b/assets/PNG/Zombie/Poses/zombie_kick.png
new file mode 100644
index 0000000..6b52996
Binary files /dev/null and b/assets/PNG/Zombie/Poses/zombie_kick.png differ
diff --git a/assets/PNG/Zombie/Poses/zombie_skid.png b/assets/PNG/Zombie/Poses/zombie_skid.png
new file mode 100644
index 0000000..06c9167
Binary files /dev/null and b/assets/PNG/Zombie/Poses/zombie_skid.png differ
diff --git a/assets/PNG/Zombie/Poses/zombie_slide.png b/assets/PNG/Zombie/Poses/zombie_slide.png
new file mode 100644
index 0000000..1aed9ad
Binary files /dev/null and b/assets/PNG/Zombie/Poses/zombie_slide.png differ
diff --git a/assets/PNG/Zombie/Poses/zombie_stand.png b/assets/PNG/Zombie/Poses/zombie_stand.png
new file mode 100644
index 0000000..560866c
Binary files /dev/null and b/assets/PNG/Zombie/Poses/zombie_stand.png differ
diff --git a/assets/PNG/Zombie/Poses/zombie_swim1.png b/assets/PNG/Zombie/Poses/zombie_swim1.png
new file mode 100644
index 0000000..0743719
Binary files /dev/null and b/assets/PNG/Zombie/Poses/zombie_swim1.png differ
diff --git a/assets/PNG/Zombie/Poses/zombie_swim2.png b/assets/PNG/Zombie/Poses/zombie_swim2.png
new file mode 100644
index 0000000..a193d15
Binary files /dev/null and b/assets/PNG/Zombie/Poses/zombie_swim2.png differ
diff --git a/assets/PNG/Zombie/Poses/zombie_talk.png b/assets/PNG/Zombie/Poses/zombie_talk.png
new file mode 100644
index 0000000..904c346
Binary files /dev/null and b/assets/PNG/Zombie/Poses/zombie_talk.png differ
diff --git a/assets/PNG/Zombie/Poses/zombie_walk1.png b/assets/PNG/Zombie/Poses/zombie_walk1.png
new file mode 100644
index 0000000..13c9f20
Binary files /dev/null and b/assets/PNG/Zombie/Poses/zombie_walk1.png differ
diff --git a/assets/PNG/Zombie/Poses/zombie_walk2.png b/assets/PNG/Zombie/Poses/zombie_walk2.png
new file mode 100644
index 0000000..68b2da6
Binary files /dev/null and b/assets/PNG/Zombie/Poses/zombie_walk2.png differ
diff --git a/assets/PNG/Zombie/zombie_tilesheet.png b/assets/PNG/Zombie/zombie_tilesheet.png
new file mode 100644
index 0000000..dd6e6fc
Binary files /dev/null and b/assets/PNG/Zombie/zombie_tilesheet.png differ
diff --git a/assets/Preview.png b/assets/Preview.png
new file mode 100644
index 0000000..9dac2fe
Binary files /dev/null and b/assets/Preview.png differ
diff --git a/assets/Vector/adventurer_vector.svg b/assets/Vector/adventurer_vector.svg
new file mode 100644
index 0000000..27e56d0
--- /dev/null
+++ b/assets/Vector/adventurer_vector.svg
@@ -0,0 +1,1953 @@
+
+
diff --git a/assets/Vector/female_vector.svg b/assets/Vector/female_vector.svg
new file mode 100644
index 0000000..ea8380b
--- /dev/null
+++ b/assets/Vector/female_vector.svg
@@ -0,0 +1,2587 @@
+
+
diff --git a/assets/Vector/player_vector.svg b/assets/Vector/player_vector.svg
new file mode 100644
index 0000000..c14cb7d
--- /dev/null
+++ b/assets/Vector/player_vector.svg
@@ -0,0 +1,1858 @@
+
+
diff --git a/assets/Vector/soldier_vector.svg b/assets/Vector/soldier_vector.svg
new file mode 100644
index 0000000..515ac18
--- /dev/null
+++ b/assets/Vector/soldier_vector.svg
@@ -0,0 +1,2228 @@
+
+
diff --git a/assets/Vector/zombie_vector.svg b/assets/Vector/zombie_vector.svg
new file mode 100644
index 0000000..dc660af
--- /dev/null
+++ b/assets/Vector/zombie_vector.svg
@@ -0,0 +1,2371 @@
+
+
diff --git a/lesson#26 - Drawing a player/ourGame/.gitignore b/lesson#26 - Drawing a player/ourGame/.gitignore
new file mode 100644
index 0000000..b2c8b49
--- /dev/null
+++ b/lesson#26 - Drawing a player/ourGame/.gitignore
@@ -0,0 +1,15 @@
+.dub
+docs.json
+__dummy.html
+docs/
+/ourgame
+ourgame.so
+ourgame.dylib
+ourgame.dll
+ourgame.a
+ourgame.lib
+ourgame-test-*
+*.exe
+*.o
+*.obj
+*.lst
diff --git a/lesson#26 - Drawing a player/ourGame/bin/d-raylib-project-template b/lesson#26 - Drawing a player/ourGame/bin/d-raylib-project-template
new file mode 100755
index 0000000..ed15b99
Binary files /dev/null and b/lesson#26 - Drawing a player/ourGame/bin/d-raylib-project-template differ
diff --git a/lesson#26 - Drawing a player/ourGame/dub.json b/lesson#26 - Drawing a player/ourGame/dub.json
new file mode 100644
index 0000000..b6b4967
--- /dev/null
+++ b/lesson#26 - Drawing a player/ourGame/dub.json
@@ -0,0 +1,53 @@
+{
+ "authors": [
+ "rillki"
+ ],
+ "copyright": "Copyright © 2021, rillki",
+ "targetPath": "bin",
+ "dependencies": {
+ "raylib-d": "~>3.1.0"
+ },
+ "configurations": [
+ {
+ "name": "osx-app",
+ "platforms": ["osx"],
+ "targetType": "executable",
+ "libs": [
+ "raylib"
+ ],
+ "lflags": [
+ "-framework",
+ "IOKit",
+ "-framework",
+ "Cocoa",
+ "-framework",
+ "OpenGL"
+ ],
+ },
+ {
+ "name": "linux-app",
+ "platforms": ["linux"],
+ "targetType": "executable",
+ "libs": [
+ "raylib",
+ "GL",
+ "m",
+ "pthread",
+ "dl",
+ "rt",
+ "X11"
+ ],
+ },
+ {
+ "name": "windows-app",
+ "platforms": ["windows"],
+ "targetType": "executable",
+ "libs": [
+ "raylibdll"
+ ],
+ },
+ ],
+ "description": "D/Raylib minimal setup",
+ "license": "MIT",
+ "name": "d-raylib-project-template"
+}
\ No newline at end of file
diff --git a/lesson#26 - Drawing a player/ourGame/dub.selections.json b/lesson#26 - Drawing a player/ourGame/dub.selections.json
new file mode 100644
index 0000000..19c791c
--- /dev/null
+++ b/lesson#26 - Drawing a player/ourGame/dub.selections.json
@@ -0,0 +1,11 @@
+{
+ "fileVersion": 1,
+ "versions": {
+ "ddmp": "0.0.1-0.dev.3",
+ "fluent-asserts": "0.13.3",
+ "libdparse": "0.14.0",
+ "raylib-d": "3.0.4",
+ "raylib-d2": "3.1.0",
+ "stdx-allocator": "2.77.5"
+ }
+}
diff --git a/lesson#26 - Drawing a player/ourGame/source/app.d b/lesson#26 - Drawing a player/ourGame/source/app.d
new file mode 100644
index 0000000..5524ce1
--- /dev/null
+++ b/lesson#26 - Drawing a player/ourGame/source/app.d
@@ -0,0 +1,45 @@
+module app;
+
+import game.data;
+import game.gstatemanager;
+import game.menu;
+import game.play;
+
+void main() {
+ // init
+ InitWindow(windowWidth, windowHeight, "Mission X");
+ scope(exit) { CloseWindow(); }
+
+ // set frames per second
+ SetTargetFPS(60);
+
+ // declaring and initializing menu and play states
+ Menu menu = new Menu();
+ Play play = new Play();
+
+ // init GStateManager
+ GStateManager.getInstance.setState(GameState.MainMenu);
+ GStateManager.getInstance.add(menu, GameState.MainMenu);
+ GStateManager.getInstance.add(play, GameState.Play);
+ GStateManager.getInstance.add(null, GameState.Exit);
+
+ // game loop
+ while(!WindowShouldClose() && GStateManager.getInstance.getState != GameState.Exit) {
+ GStateManager.getInstance.execute();
+ }
+}
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/lesson#26 - Drawing a player/ourGame/source/data.d b/lesson#26 - Drawing a player/ourGame/source/data.d
new file mode 100644
index 0000000..3208e53
--- /dev/null
+++ b/lesson#26 - Drawing a player/ourGame/source/data.d
@@ -0,0 +1,79 @@
+module data;
+
+// mostly used libraries
+public import raylib;
+public import std.stdio: writeln, write;
+
+// window dimensions
+immutable windowWidth = 720;
+immutable windowHeight = 640;
+
+// Game states
+enum GameState {
+ MainMenu,
+ Play,
+ Exit
+}
+
+// state interface
+interface IState {
+ void run();
+}
+
+// entity interface
+class Entity {
+ private {
+ Texture2D texture;
+ Rectangle frame;
+ Vector2 position;
+ }
+
+ this(const ref Texture2D texture, const Rectangle frame, const Vector2 Position) {
+ this.texture = texture;
+ this.frame = frame;
+ this.position = position;
+ }
+
+ void move(const float x, const float y) {
+ position.x += x;
+ position.y += y;
+ }
+
+ void draw() {
+ DrawTextureRec(texture, frame, position, Colors.WHITE);
+ }
+
+ abstract void update();
+}
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/lesson#26 - Drawing a player/ourGame/source/game/data.d b/lesson#26 - Drawing a player/ourGame/source/game/data.d
new file mode 100644
index 0000000..f395ef9
--- /dev/null
+++ b/lesson#26 - Drawing a player/ourGame/source/game/data.d
@@ -0,0 +1,75 @@
+module game.data;
+
+// mostly used libraries
+public import raylib;
+public import std.stdio: writeln, write;
+
+// window dimensions
+immutable windowWidth = 720;
+immutable windowHeight = 640;
+
+// Game states
+enum GameState {
+ MainMenu,
+ Play,
+ Exit
+}
+
+// state interface
+interface IState {
+ void run();
+}
+
+// entity interface
+class Entity {
+ Texture2D texture;
+ Rectangle frame;
+ Vector2 position;
+
+ this(const Texture2D texture, const Rectangle frame, const Vector2 Position) {
+ this.texture = texture;
+ this.frame = frame;
+ this.position = position;
+ }
+
+ void move(const float x, const float y) {
+ position.x += x;
+ position.y += y;
+ }
+
+ void draw() {
+ DrawTextureRec(texture, frame, position, Colors.WHITE);
+ }
+}
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/lesson#26 - Drawing a player/ourGame/source/game/gstatemanager.d b/lesson#26 - Drawing a player/ourGame/source/game/gstatemanager.d
new file mode 100644
index 0000000..5426732
--- /dev/null
+++ b/lesson#26 - Drawing a player/ourGame/source/game/gstatemanager.d
@@ -0,0 +1,55 @@
+module game.gstatemanager;
+
+import game.data;
+
+class GStateManager {
+ // private class instance
+ private static GStateManager instance;
+
+ // IState interface
+ private IState[GameState] state;
+
+ // current game state
+ private GameState currGameState;
+
+ // private constructor
+ private this() { }
+
+ // return the instance; create the instance, if it wasn't created yet
+ static GStateManager getInstance() {
+ if(instance is null) {
+ instance = new GStateManager();
+ }
+
+ return instance;
+ }
+
+ // add game state
+ void add(IState state, GameState gs) {
+ this.state[gs] = state;
+ }
+
+ // remove game state
+ void remove(GameState gs) {
+ this.state.remove(gs);
+ }
+
+ // set game state
+ void setState(GameState gs) {
+ currGameState = gs;
+ }
+
+ // return the current game state
+ GameState getState() {
+ return currGameState;
+ }
+
+ // execute the current game state code
+ void execute() {
+ if(state is null) {
+ return;
+ }
+
+ state[currGameState].run();
+ }
+}
diff --git a/lesson#26 - Drawing a player/ourGame/source/game/menu.d b/lesson#26 - Drawing a player/ourGame/source/game/menu.d
new file mode 100644
index 0000000..d98b5ef
--- /dev/null
+++ b/lesson#26 - Drawing a player/ourGame/source/game/menu.d
@@ -0,0 +1,34 @@
+module game.menu;
+
+import game.data;
+import game.gstatemanager;
+
+class Menu: IState {
+ this() {}
+
+ // inherited from IState interface
+ void run() {
+ update();
+ processEvents();
+ render();
+ }
+
+ void update() {}
+
+ void processEvents() {
+ if(IsKeyPressed(KeyboardKey.KEY_P)) {
+ GStateManager.getInstance.setState(GameState.Play);
+ }
+ }
+
+ void render() {
+ // enable drawing
+ BeginDrawing(); scope(exit) { EndDrawing(); }
+
+ // clear background
+ ClearBackground(Colors.GREEN);
+
+ // draw
+ // ...
+ }
+}
diff --git a/lesson#26 - Drawing a player/ourGame/source/game/play.d b/lesson#26 - Drawing a player/ourGame/source/game/play.d
new file mode 100644
index 0000000..0a53a93
--- /dev/null
+++ b/lesson#26 - Drawing a player/ourGame/source/game/play.d
@@ -0,0 +1,52 @@
+module game.play;
+
+import game.data;
+import game.gstatemanager;
+
+import game.player;
+
+import std.file: getcwd;
+import std.path: buildPath;
+import std.string: toStringz;
+
+class Play: IState {
+ private {
+ Texture2D texPlayer;
+ Player player;
+ }
+
+ this() {
+ texPlayer = LoadTexture(getcwd.buildPath("../../assets/PNG/Player/player_tilesheet.png").toStringz);
+ player = new Player(texPlayer, Rectangle(0, 0, 80, 110), Vector2(0, 0));
+ }
+
+ ~this() {
+ UnloadTexture(texPlayer);
+ }
+
+ // inherited from IState interface
+ void run() {
+ update();
+ processEvents();
+ render();
+ }
+
+ void update() {}
+
+ void processEvents() {
+ if(IsKeyPressed(KeyboardKey.KEY_M)) {
+ GStateManager.getInstance.setState(GameState.MainMenu);
+ }
+ }
+
+ void render() {
+ // enable drawing
+ BeginDrawing(); scope(exit) { EndDrawing(); }
+
+ // clear background
+ ClearBackground(Colors.YELLOW);
+
+ // draw
+ player.draw();
+ }
+}
diff --git a/lesson#26 - Drawing a player/ourGame/source/game/player.d b/lesson#26 - Drawing a player/ourGame/source/game/player.d
new file mode 100644
index 0000000..e96479e
--- /dev/null
+++ b/lesson#26 - Drawing a player/ourGame/source/game/player.d
@@ -0,0 +1,21 @@
+module game.player;
+
+import game.data;
+
+class Player: Entity {
+ this(const ref Texture2D texture, const Rectangle frame, const Vector2 position) {
+ super(texture, frame, position);
+ }
+
+ /*override void update() {
+ // ...
+ }*/
+}
+
+
+
+
+
+
+
+