diff --git a/.devcontainer/devcontainer.json b/.devcontainer/devcontainer.json index d5e6254..a4fc976 100644 --- a/.devcontainer/devcontainer.json +++ b/.devcontainer/devcontainer.json @@ -18,7 +18,9 @@ "mounts": [ "source=./src,target=/app/src,type=bind", "source=./scripts,target=/app/scripts,type=bind", - "source=./dist,target=/app/dist,type=bind" + "source=./dist,target=/app/dist,type=bind", + "source=./assets,target=/app/assets,type=bind", + "source=./include,target=/app/include,type=bind" ], "customizations": { diff --git a/assets/Audio/Music/03_-_Medieval_Times.mp3 b/assets/Audio/Music/03_-_Medieval_Times.mp3 new file mode 100644 index 0000000..3e04a8c Binary files /dev/null and b/assets/Audio/Music/03_-_Medieval_Times.mp3 differ diff --git a/assets/Audio/Music/27_-_[Boss]_Neo_Cortex.mp3 b/assets/Audio/Music/27_-_[Boss]_Neo_Cortex.mp3 new file mode 100644 index 0000000..f8fb243 Binary files /dev/null and b/assets/Audio/Music/27_-_[Boss]_Neo_Cortex.mp3 differ diff --git a/assets/Audio/Music/Crash Bandicoot 3 Warped - Warp Room Theme.mp3 b/assets/Audio/Music/Crash Bandicoot 3 Warped - Warp Room Theme.mp3 new file mode 100644 index 0000000..0aa5841 Binary files /dev/null and b/assets/Audio/Music/Crash Bandicoot 3 Warped - Warp Room Theme.mp3 differ diff --git a/assets/Audio/Music/Crash_WarpRoomTheme.ogg b/assets/Audio/Music/Crash_WarpRoomTheme.ogg new file mode 100644 index 0000000..d84eece Binary files /dev/null and b/assets/Audio/Music/Crash_WarpRoomTheme.ogg differ diff --git a/assets/Audio/Music/GameTheme.ogg b/assets/Audio/Music/GameTheme.ogg new file mode 100644 index 0000000..30cc775 Binary files /dev/null and b/assets/Audio/Music/GameTheme.ogg differ diff --git a/assets/Audio/Music/GameTheme_2.ogg b/assets/Audio/Music/GameTheme_2.ogg new file mode 100644 index 0000000..4067a6c Binary files /dev/null and b/assets/Audio/Music/GameTheme_2.ogg differ diff --git a/assets/Audio/Music/K-DST.ogg b/assets/Audio/Music/K-DST.ogg new file mode 100644 index 0000000..f52812f Binary files /dev/null and b/assets/Audio/Music/K-DST.ogg differ diff --git a/assets/Audio/Music/gameOverTheme.ogg b/assets/Audio/Music/gameOverTheme.ogg new file mode 100644 index 0000000..f4a9e0c Binary files /dev/null and b/assets/Audio/Music/gameOverTheme.ogg differ diff --git a/assets/Audio/Music/gameOverTheme_2.ogg b/assets/Audio/Music/gameOverTheme_2.ogg new file mode 100644 index 0000000..75bf343 Binary files /dev/null and b/assets/Audio/Music/gameOverTheme_2.ogg differ diff --git a/assets/Audio/Sounds/WaterBalloon.wav b/assets/Audio/Sounds/WaterBalloon.wav new file mode 100644 index 0000000..69baf50 Binary files /dev/null and b/assets/Audio/Sounds/WaterBalloon.wav differ diff --git a/assets/Audio/Sounds/crateBreak.wav b/assets/Audio/Sounds/crateBreak.wav new file mode 100644 index 0000000..74765de Binary files /dev/null and b/assets/Audio/Sounds/crateBreak.wav differ diff --git a/assets/Audio/Sounds/gunShot.wav b/assets/Audio/Sounds/gunShot.wav new file mode 100644 index 0000000..548b15e Binary files /dev/null and b/assets/Audio/Sounds/gunShot.wav differ diff --git a/assets/Audio/Sounds/healmag.wav b/assets/Audio/Sounds/healmag.wav new file mode 100644 index 0000000..9ce1811 Binary files /dev/null and b/assets/Audio/Sounds/healmag.wav differ diff --git a/assets/Audio/Sounds/jellyFreed.wav b/assets/Audio/Sounds/jellyFreed.wav new file mode 100644 index 0000000..3bb129b Binary files /dev/null and b/assets/Audio/Sounds/jellyFreed.wav differ diff --git a/assets/Audio/Sounds/outOfAmmo.wav b/assets/Audio/Sounds/outOfAmmo.wav new file mode 100644 index 0000000..3288a00 Binary files /dev/null and b/assets/Audio/Sounds/outOfAmmo.wav differ diff --git a/assets/Audio/Sounds/pain.wav b/assets/Audio/Sounds/pain.wav new file mode 100644 index 0000000..df711e8 Binary files /dev/null and b/assets/Audio/Sounds/pain.wav differ diff --git a/assets/Audio/Sounds/playerSpotted.wav b/assets/Audio/Sounds/playerSpotted.wav new file mode 100644 index 0000000..853cf7c Binary files /dev/null and b/assets/Audio/Sounds/playerSpotted.wav differ diff --git a/assets/Audio/Sounds/powerUpSound.wav b/assets/Audio/Sounds/powerUpSound.wav new file mode 100644 index 0000000..110d51c Binary files /dev/null and b/assets/Audio/Sounds/powerUpSound.wav differ diff --git a/assets/Audio/Sounds/shotgunReload.wav b/assets/Audio/Sounds/shotgunReload.wav new file mode 100644 index 0000000..7a5c8e3 Binary files /dev/null and b/assets/Audio/Sounds/shotgunReload.wav differ diff --git a/assets/Audio/Sounds/victorySound.wav b/assets/Audio/Sounds/victorySound.wav new file mode 100644 index 0000000..9973188 Binary files /dev/null and b/assets/Audio/Sounds/victorySound.wav differ diff --git a/assets/Fonts/Gtek.ttf b/assets/Fonts/Gtek.ttf new file mode 100644 index 0000000..9e53294 Binary files /dev/null and b/assets/Fonts/Gtek.ttf differ diff --git a/assets/Fonts/Oxin.ttf b/assets/Fonts/Oxin.ttf new file mode 100644 index 0000000..75f4119 Binary files /dev/null and b/assets/Fonts/Oxin.ttf differ diff --git a/assets/Fonts/Reckoner.ttf b/assets/Fonts/Reckoner.ttf new file mode 100644 index 0000000..bf295b0 Binary files /dev/null and b/assets/Fonts/Reckoner.ttf differ diff --git a/assets/Fonts/Reckoner_Bold.ttf b/assets/Fonts/Reckoner_Bold.ttf new file mode 100644 index 0000000..4a887cb Binary files /dev/null and b/assets/Fonts/Reckoner_Bold.ttf differ diff --git a/assets/Fonts/Sansation.ttf b/assets/Fonts/Sansation.ttf new file mode 100644 index 0000000..d85fbc8 Binary files /dev/null and b/assets/Fonts/Sansation.ttf differ diff --git a/assets/Maps/colmap1.txt b/assets/Maps/colmap1.txt new file mode 100644 index 0000000..816942c --- /dev/null +++ b/assets/Maps/colmap1.txt @@ -0,0 +1,21 @@ +1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 +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 1 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 1 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 1 1 +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 1 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 1 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 1 1 +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 1 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 1 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 1 1 +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 1 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 1 1 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 1 1 1 1 +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 1 1 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 1 1 1 1 1 1 0 0 0 0 0 0 0 0 0 0 0 0 1 0 1 1 1 1 1 1 0 0 0 0 0 0 0 0 1 0 0 0 0 0 0 0 0 1 1 1 0 0 1 0 0 0 0 1 1 +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 1 1 1 1 1 0 0 0 0 1 0 0 0 0 0 1 1 1 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 0 0 0 0 0 0 0 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 1 +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 1 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 0 1 1 1 1 0 0 0 0 0 1 0 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 1 1 +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 1 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 1 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 1 1 +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 1 0 0 1 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 0 0 0 0 1 1 0 0 0 0 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 1 1 +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 1 0 0 0 1 1 1 1 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 1 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 0 0 0 0 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 0 0 0 1 0 0 0 1 1 +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 1 0 0 0 0 0 0 0 0 0 0 1 1 1 1 0 0 0 0 1 0 1 1 1 1 1 1 0 0 1 0 0 0 0 0 0 0 0 1 1 0 0 0 0 0 0 0 0 1 1 1 1 1 1 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 0 0 0 0 0 0 0 0 0 0 0 0 0 1 1 +1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 0 0 0 0 0 0 1 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 1 1 1 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 1 1 +1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 0 0 0 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 0 0 0 1 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 1 1 +1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 1 0 0 0 1 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 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 1 1 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 1 1 1 1 1 +1 0 0 0 0 0 0 0 0 0 0 0 0 0 1 1 1 0 0 0 1 1 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 1 1 1 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 1 1 1 1 +1 0 0 0 0 0 1 1 1 1 0 0 1 1 1 1 1 0 0 0 1 1 1 1 1 1 1 0 0 1 1 1 1 0 0 1 1 1 1 1 1 1 1 0 0 0 1 0 0 0 1 0 0 0 1 0 0 0 1 0 0 0 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 0 0 1 1 1 1 1 1 1 1 1 1 1 1 0 0 0 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 0 0 1 1 1 1 1 1 1 1 1 1 +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 1 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 1 1 1 +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 1 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 1 1 1 +1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 + diff --git a/assets/Maps/map1.txt b/assets/Maps/map1.txt new file mode 100644 index 0000000..bbcb697 --- /dev/null +++ b/assets/Maps/map1.txt @@ -0,0 +1,18 @@ +Data/Textures/tileset.png +xx,xx xx,xx xx,xx xx,xx xx,xx xx,xx xx,xx xx,xx xx,xx xx,xx xx,xx xx,xx xx,xx xx,xx xx,xx xx,xx xx,xx xx,xx xx,xx xx,xx xx,xx xx,xx xx,xx xx,xx xx,xx xx,xx xx,xx xx,xx xx,xx xx,xx xx,xx xx,xx xx,xx xx,xx xx,xx xx,xx xx,xx xx,xx xx,xx 00,00 00,00 xx,xx xx,xx xx,xx xx,xx xx,xx xx,xx xx,xx xx,xx xx,xx xx,xx xx,xx xx,xx xx,xx xx,xx xx,xx xx,xx xx,xx xx,xx xx,xx xx,xx xx,xx xx,xx xx,xx xx,xx xx,xx 00,00 00,00 xx,xx xx,xx xx,xx xx,xx xx,xx xx,xx xx,xx xx,xx xx,xx xx,xx xx,xx xx,xx xx,xx xx,xx xx,xx xx,xx xx,xx xx,xx xx,xx xx,xx xx,xx xx,xx xx,xx xx,xx xx,xx xx,xx xx,xx xx,xx xx,xx xx,xx xx,xx xx,xx xx,xx xx,xx xx,xx xx,xx xx,xx xx,xx xx,xx xx,xx xx,xx xx,xx xx,xx xx,xx xx,xx xx,xx xx,xx xx,xx xx,xx xx,xx xx,xx 00,00 00,00 +xx,xx xx,xx xx,xx xx,xx xx,xx xx,xx xx,xx xx,xx xx,xx xx,xx xx,xx xx,xx xx,xx xx,xx xx,xx xx,xx xx,xx xx,xx xx,xx xx,xx xx,xx xx,xx xx,xx xx,xx xx,xx xx,xx xx,xx xx,xx xx,xx xx,xx xx,xx xx,xx xx,xx xx,xx xx,xx xx,xx xx,xx xx,xx xx,xx 00,00 00,00 xx,xx xx,xx xx,xx xx,xx xx,xx xx,xx xx,xx xx,xx xx,xx xx,xx xx,xx xx,xx xx,xx xx,xx xx,xx xx,xx xx,xx xx,xx xx,xx xx,xx xx,xx xx,xx xx,xx xx,xx xx,xx 00,00 00,00 xx,xx xx,xx xx,xx xx,xx xx,xx xx,xx xx,xx xx,xx xx,xx xx,xx xx,xx xx,xx xx,xx xx,xx xx,xx xx,xx xx,xx xx,xx xx,xx xx,xx xx,xx xx,xx xx,xx xx,xx xx,xx xx,xx xx,xx xx,xx xx,xx xx,xx xx,xx xx,xx xx,xx xx,xx xx,xx xx,xx xx,xx xx,xx xx,xx xx,xx xx,xx xx,xx xx,xx xx,xx xx,xx xx,xx xx,xx xx,xx xx,xx xx,xx xx,xx 00,00 00,00 +xx,xx xx,xx xx,xx xx,xx xx,xx xx,xx xx,xx xx,xx xx,xx xx,xx xx,xx xx,xx xx,xx xx,xx xx,xx xx,xx xx,xx xx,xx xx,xx xx,xx xx,xx xx,xx xx,xx xx,xx xx,xx xx,xx xx,xx xx,xx xx,xx xx,xx xx,xx xx,xx xx,xx xx,xx xx,xx xx,xx xx,xx xx,xx xx,xx 00,00 00,00 xx,xx xx,xx xx,xx xx,xx xx,xx xx,xx xx,xx xx,xx xx,xx xx,xx xx,xx xx,xx xx,xx xx,xx xx,xx xx,xx xx,xx xx,xx xx,xx xx,xx xx,xx xx,xx xx,xx xx,xx xx,xx 00,00 00,00 xx,xx xx,xx xx,xx xx,xx xx,xx xx,xx xx,xx xx,xx xx,xx xx,xx xx,xx xx,xx xx,xx xx,xx xx,xx xx,xx xx,xx xx,xx xx,xx xx,xx xx,xx xx,xx xx,xx xx,xx xx,xx xx,xx xx,xx xx,xx xx,xx xx,xx xx,xx xx,xx xx,xx xx,xx xx,xx xx,xx xx,xx xx,xx xx,xx xx,xx xx,xx xx,xx xx,xx xx,xx xx,xx xx,xx xx,xx xx,xx xx,xx xx,xx xx,xx 00,00 00,00 +xx,xx xx,xx xx,xx xx,xx xx,xx xx,xx xx,xx xx,xx xx,xx xx,xx xx,xx xx,xx xx,xx xx,xx xx,xx xx,xx xx,xx xx,xx xx,xx xx,xx xx,xx xx,xx xx,xx xx,xx xx,xx xx,xx xx,xx xx,xx xx,xx xx,xx xx,xx xx,xx xx,xx xx,xx xx,xx xx,xx xx,xx xx,xx xx,xx 00,00 00,00 xx,xx xx,xx xx,xx xx,xx xx,xx xx,xx xx,xx xx,xx xx,xx xx,xx xx,xx xx,xx xx,xx xx,xx xx,xx xx,xx xx,xx xx,xx xx,xx xx,xx xx,xx xx,xx xx,xx xx,xx xx,xx 00,00 00,00 xx,xx xx,xx xx,xx xx,xx xx,xx xx,xx xx,xx xx,xx xx,xx xx,xx xx,xx xx,xx xx,xx xx,xx xx,xx xx,xx xx,xx xx,xx xx,xx xx,xx xx,xx xx,xx xx,xx xx,xx xx,xx xx,xx xx,xx xx,xx xx,xx xx,xx xx,xx xx,xx xx,xx xx,xx xx,xx xx,xx xx,xx xx,xx xx,xx xx,xx xx,xx xx,xx xx,xx xx,xx xx,xx xx,xx xx,xx xx,xx xx,xx xx,xx xx,xx 00,00 00,00 +xx,xx xx,xx xx,xx xx,xx xx,xx xx,xx xx,xx xx,xx xx,xx xx,xx xx,xx xx,xx xx,xx xx,xx xx,xx xx,xx xx,xx xx,xx xx,xx xx,xx xx,xx xx,xx xx,xx xx,xx xx,xx xx,xx xx,xx xx,xx xx,xx xx,xx xx,xx xx,xx xx,xx xx,xx xx,xx xx,xx xx,xx xx,xx xx,xx 00,00 00,00 xx,xx xx,xx xx,xx xx,xx xx,xx xx,xx xx,xx xx,xx xx,xx xx,xx xx,xx xx,xx xx,xx xx,xx xx,xx xx,xx xx,xx xx,xx xx,xx xx,xx xx,xx xx,xx xx,xx xx,xx xx,xx 00,00 00,00 xx,xx xx,xx 00,00 xx,xx xx,xx xx,xx xx,xx xx,xx xx,xx xx,xx xx,xx xx,xx xx,xx xx,xx xx,xx xx,xx xx,xx xx,xx xx,xx xx,xx xx,xx xx,xx xx,xx xx,xx xx,xx xx,xx xx,xx xx,xx xx,xx xx,xx xx,xx xx,xx xx,xx xx,xx xx,xx xx,xx xx,xx xx,xx xx,xx xx,xx xx,xx xx,xx xx,xx xx,xx xx,xx xx,xx xx,xx xx,xx xx,xx 00,00 00,00 00,00 00,00 +xx,xx xx,xx xx,xx xx,xx xx,xx xx,xx xx,xx xx,xx xx,xx xx,xx xx,xx xx,xx xx,xx xx,xx xx,xx xx,xx xx,xx xx,xx xx,xx xx,xx xx,xx xx,xx xx,xx xx,xx xx,xx xx,xx xx,xx xx,xx xx,xx xx,xx xx,xx xx,xx xx,xx xx,xx xx,xx xx,xx xx,xx xx,xx xx,xx 00,00 00,00 xx,xx xx,xx 00,00 xx,xx xx,xx xx,xx xx,xx xx,xx xx,xx xx,xx xx,xx xx,xx xx,xx xx,xx xx,xx xx,xx xx,xx xx,xx xx,xx xx,xx xx,xx xx,xx xx,xx xx,xx xx,xx 00,00 00,00 00,00 00,00 00,00 00,00 xx,xx xx,xx xx,xx xx,xx xx,xx xx,xx xx,xx xx,xx xx,xx xx,xx xx,xx xx,xx 00,00 xx,xx 00,00 00,00 00,00 00,00 00,00 00,00 xx,xx xx,xx xx,xx xx,xx xx,xx xx,xx xx,xx xx,xx 00,00 xx,xx xx,xx xx,xx xx,xx xx,xx xx,xx xx,xx xx,xx 00,00 00,00 00,00 xx,xx xx,xx 00,00 xx,xx xx,xx xx,xx xx,xx 00,00 00,00 +xx,xx xx,xx xx,xx xx,xx xx,xx xx,xx xx,xx xx,xx xx,xx xx,xx xx,xx xx,xx xx,xx xx,xx xx,xx xx,xx xx,xx xx,xx xx,xx xx,xx xx,xx xx,xx xx,xx xx,xx xx,xx xx,xx xx,xx xx,xx xx,xx xx,xx xx,xx xx,xx xx,xx xx,xx xx,xx xx,xx xx,xx xx,xx xx,xx 00,00 00,00 00,00 00,00 00,00 xx,xx xx,xx xx,xx xx,xx 00,00 xx,xx xx,xx xx,xx xx,xx xx,xx 00,00 00,00 00,00 00,00 xx,xx xx,xx xx,xx xx,xx xx,xx xx,xx xx,xx xx,xx xx,xx xx,xx xx,xx xx,xx xx,xx xx,xx xx,xx xx,xx xx,xx xx,xx xx,xx xx,xx xx,xx xx,xx 00,00 xx,xx xx,xx xx,xx xx,xx xx,xx xx,xx xx,xx xx,xx xx,xx xx,xx xx,xx xx,xx xx,xx xx,xx xx,xx 00,00 xx,xx xx,xx xx,xx xx,xx xx,xx xx,xx xx,xx 00,00 xx,xx xx,xx xx,xx xx,xx xx,xx xx,xx xx,xx xx,xx xx,xx xx,xx xx,xx xx,xx xx,xx xx,xx 00,00 00,00 +xx,xx xx,xx xx,xx xx,xx xx,xx xx,xx xx,xx xx,xx xx,xx xx,xx xx,xx xx,xx xx,xx xx,xx xx,xx xx,xx xx,xx xx,xx xx,xx xx,xx xx,xx xx,xx xx,xx xx,xx xx,xx xx,xx xx,xx xx,xx xx,xx xx,xx xx,xx xx,xx xx,xx xx,xx xx,xx xx,xx xx,xx xx,xx xx,xx 00,00 00,00 xx,xx xx,xx xx,xx xx,xx xx,xx xx,xx xx,xx xx,xx xx,xx xx,xx xx,xx xx,xx xx,xx xx,xx xx,xx xx,xx xx,xx xx,xx xx,xx xx,xx xx,xx 00,00 xx,xx 00,00 00,00 00,00 00,00 xx,xx xx,xx xx,xx xx,xx xx,xx 00,00 xx,xx xx,xx xx,xx 00,00 xx,xx xx,xx xx,xx xx,xx xx,xx xx,xx xx,xx xx,xx xx,xx xx,xx xx,xx xx,xx xx,xx xx,xx xx,xx xx,xx xx,xx xx,xx xx,xx xx,xx xx,xx xx,xx xx,xx xx,xx xx,xx xx,xx xx,xx xx,xx xx,xx xx,xx xx,xx xx,xx xx,xx xx,xx xx,xx xx,xx xx,xx xx,xx xx,xx xx,xx xx,xx 00,00 00,00 +xx,xx xx,xx xx,xx xx,xx xx,xx xx,xx xx,xx xx,xx xx,xx xx,xx xx,xx xx,xx xx,xx xx,xx xx,xx xx,xx xx,xx xx,xx xx,xx xx,xx xx,xx xx,xx xx,xx xx,xx xx,xx xx,xx xx,xx xx,xx xx,xx xx,xx xx,xx xx,xx xx,xx xx,xx xx,xx xx,xx xx,xx xx,xx xx,xx 00,00 00,00 xx,xx xx,xx xx,xx xx,xx xx,xx xx,xx xx,xx xx,xx xx,xx xx,xx xx,xx xx,xx xx,xx xx,xx xx,xx xx,xx xx,xx xx,xx xx,xx xx,xx xx,xx xx,xx xx,xx xx,xx xx,xx 00,00 00,00 xx,xx xx,xx xx,xx xx,xx xx,xx xx,xx xx,xx xx,xx xx,xx xx,xx xx,xx xx,xx xx,xx xx,xx xx,xx xx,xx xx,xx xx,xx xx,xx xx,xx xx,xx xx,xx xx,xx xx,xx xx,xx xx,xx xx,xx xx,xx xx,xx xx,xx xx,xx xx,xx xx,xx xx,xx xx,xx xx,xx xx,xx xx,xx xx,xx xx,xx xx,xx xx,xx xx,xx xx,xx xx,xx xx,xx xx,xx xx,xx xx,xx xx,xx xx,xx 00,00 00,00 +xx,xx xx,xx xx,xx xx,xx xx,xx xx,xx xx,xx xx,xx xx,xx xx,xx xx,xx xx,xx xx,xx xx,xx xx,xx xx,xx xx,xx xx,xx xx,xx xx,xx xx,xx xx,xx xx,xx xx,xx xx,xx xx,xx xx,xx xx,xx xx,xx xx,xx xx,xx xx,xx xx,xx xx,xx xx,xx xx,xx 00,00 xx,xx xx,xx 00,00 00,00 xx,xx xx,xx xx,xx xx,xx xx,xx xx,xx xx,xx xx,xx xx,xx xx,xx xx,xx xx,xx xx,xx xx,xx xx,xx xx,xx xx,xx xx,xx xx,xx xx,xx 00,00 xx,xx xx,xx xx,xx xx,xx 00,00 00,00 xx,xx xx,xx xx,xx xx,xx xx,xx xx,xx 00,00 xx,xx xx,xx xx,xx xx,xx xx,xx xx,xx xx,xx xx,xx xx,xx xx,xx xx,xx xx,xx xx,xx xx,xx xx,xx xx,xx xx,xx xx,xx xx,xx xx,xx xx,xx xx,xx xx,xx xx,xx xx,xx xx,xx xx,xx xx,xx xx,xx xx,xx xx,xx xx,xx xx,xx xx,xx xx,xx xx,xx xx,xx xx,xx xx,xx xx,xx xx,xx xx,xx xx,xx xx,xx 00,00 00,00 +xx,xx xx,xx xx,xx xx,xx xx,xx xx,xx xx,xx xx,xx xx,xx xx,xx xx,xx xx,xx xx,xx xx,xx xx,xx xx,xx xx,xx xx,xx xx,xx xx,xx xx,xx xx,xx xx,xx xx,xx xx,xx xx,xx xx,xx xx,xx xx,xx xx,xx xx,xx xx,xx 00,00 xx,xx xx,xx xx,xx 00,00 00,00 00,00 00,00 00,00 xx,xx xx,xx xx,xx xx,xx xx,xx xx,xx xx,xx xx,xx xx,xx xx,xx xx,xx xx,xx xx,xx xx,xx xx,xx xx,xx xx,xx xx,xx xx,xx xx,xx xx,xx xx,xx xx,xx xx,xx xx,xx 00,00 00,00 xx,xx xx,xx xx,xx xx,xx xx,xx xx,xx xx,xx xx,xx xx,xx xx,xx xx,xx xx,xx xx,xx xx,xx xx,xx xx,xx xx,xx xx,xx xx,xx xx,xx 00,00 xx,xx xx,xx xx,xx xx,xx 00,00 xx,xx xx,xx xx,xx xx,xx xx,xx xx,xx xx,xx xx,xx xx,xx xx,xx xx,xx xx,xx xx,xx xx,xx xx,xx xx,xx xx,xx 00,00 xx,xx xx,xx xx,xx 00,00 xx,xx xx,xx xx,xx 00,00 00,00 +xx,xx xx,xx xx,xx xx,xx xx,xx xx,xx xx,xx xx,xx xx,xx xx,xx xx,xx xx,xx xx,xx xx,xx xx,xx xx,xx xx,xx xx,xx xx,xx xx,xx xx,xx xx,xx xx,xx xx,xx xx,xx xx,xx xx,xx xx,xx 00,00 xx,xx xx,xx xx,xx xx,xx xx,xx xx,xx xx,xx xx,xx xx,xx xx,xx 00,00 00,00 00,00 00,00 xx,xx xx,xx xx,xx xx,xx 00,00 xx,xx 00,00 00,00 00,00 00,00 00,00 00,00 xx,xx xx,xx 00,00 xx,xx xx,xx xx,xx xx,xx xx,xx xx,xx xx,xx xx,xx 00,00 00,00 xx,xx xx,xx xx,xx xx,xx xx,xx xx,xx xx,xx xx,xx 00,00 00,00 00,00 00,00 00,00 00,00 00,00 xx,xx xx,xx xx,xx xx,xx xx,xx xx,xx xx,xx xx,xx xx,xx xx,xx xx,xx xx,xx xx,xx xx,xx xx,xx xx,xx xx,xx xx,xx xx,xx xx,xx xx,xx xx,xx 00,00 xx,xx xx,xx xx,xx xx,xx xx,xx xx,xx xx,xx xx,xx xx,xx xx,xx xx,xx xx,xx xx,xx 00,00 00,00 +xx,xx xx,xx xx,xx xx,xx xx,xx xx,xx xx,xx xx,xx xx,xx xx,xx xx,xx xx,xx xx,xx xx,xx xx,xx xx,xx xx,xx xx,xx xx,xx xx,xx xx,xx xx,xx xx,xx xx,xx 00,00 xx,xx xx,xx xx,xx xx,xx xx,xx xx,xx xx,xx xx,xx xx,xx xx,xx xx,xx xx,xx xx,xx xx,xx 00,00 00,00 xx,xx xx,xx xx,xx xx,xx xx,xx xx,xx xx,xx xx,xx xx,xx xx,xx xx,xx xx,xx xx,xx xx,xx xx,xx xx,xx xx,xx xx,xx 00,00 xx,xx xx,xx xx,xx xx,xx xx,xx xx,xx 00,00 00,00 xx,xx xx,xx xx,xx xx,xx xx,xx xx,xx xx,xx xx,xx xx,xx xx,xx xx,xx xx,xx xx,xx xx,xx xx,xx xx,xx xx,xx xx,xx xx,xx xx,xx xx,xx xx,xx xx,xx xx,xx xx,xx xx,xx xx,xx xx,xx xx,xx 00,00 00,00 00,00 00,00 xx,xx xx,xx xx,xx xx,xx xx,xx xx,xx xx,xx xx,xx xx,xx xx,xx xx,xx xx,xx xx,xx xx,xx xx,xx xx,xx xx,xx 00,00 00,00 00,00 +xx,xx xx,xx xx,xx xx,xx xx,xx xx,xx xx,xx xx,xx xx,xx xx,xx xx,xx xx,xx xx,xx xx,xx xx,xx xx,xx 02,06 xx,xx xx,xx xx,xx 02,06 xx,xx xx,xx xx,xx xx,xx xx,xx xx,xx xx,xx xx,xx xx,xx xx,xx xx,xx xx,xx xx,xx xx,xx xx,xx xx,xx xx,xx xx,xx 00,00 00,00 xx,xx xx,xx xx,xx xx,xx xx,xx xx,xx xx,xx xx,xx xx,xx xx,xx xx,xx xx,xx xx,xx xx,xx xx,xx xx,xx xx,xx xx,xx xx,xx xx,xx xx,xx 00,00 xx,xx xx,xx xx,xx 00,00 00,00 xx,xx xx,xx xx,xx xx,xx xx,xx xx,xx xx,xx xx,xx xx,xx xx,xx xx,xx xx,xx xx,xx xx,xx xx,xx xx,xx xx,xx xx,xx xx,xx xx,xx xx,xx xx,xx xx,xx xx,xx xx,xx xx,xx xx,xx xx,xx xx,xx xx,xx xx,xx xx,xx xx,xx xx,xx xx,xx xx,xx xx,xx xx,xx xx,xx xx,xx xx,xx xx,xx xx,xx xx,xx xx,xx xx,xx xx,xx xx,xx xx,xx xx,xx xx,xx 00,00 00,00 +xx,xx xx,xx xx,xx xx,xx xx,xx xx,xx xx,xx xx,xx xx,xx xx,xx xx,xx xx,xx xx,xx xx,xx xx,xx 03,06 03,05 xx,xx xx,xx xx,xx 03,05 03,06 xx,xx xx,xx xx,xx xx,xx xx,xx xx,xx xx,xx xx,xx xx,xx xx,xx xx,xx xx,xx xx,xx xx,xx xx,xx xx,xx xx,xx 00,00 00,00 xx,xx xx,xx xx,xx xx,xx xx,xx xx,xx xx,xx xx,xx xx,xx xx,xx xx,xx xx,xx xx,xx xx,xx xx,xx xx,xx xx,xx xx,xx xx,xx xx,xx xx,xx xx,xx xx,xx xx,xx 00,00 00,00 00,00 xx,xx xx,xx xx,xx xx,xx xx,xx xx,xx xx,xx xx,xx xx,xx xx,xx xx,xx xx,xx xx,xx xx,xx xx,xx xx,xx xx,xx xx,xx xx,xx xx,xx xx,xx xx,xx xx,xx xx,xx xx,xx xx,xx xx,xx xx,xx xx,xx xx,xx xx,xx xx,xx xx,xx xx,xx xx,xx xx,xx xx,xx xx,xx xx,xx xx,xx xx,xx xx,xx xx,xx xx,xx xx,xx xx,xx xx,xx xx,xx 00,00 00,00 00,00 00,00 00,00 +xx,xx xx,xx xx,xx xx,xx xx,xx xx,xx xx,xx xx,xx xx,xx xx,xx xx,xx xx,xx xx,xx xx,xx 02,06 03,05 03,05 xx,xx xx,xx xx,xx 03,05 03,05 02,06 xx,xx xx,xx xx,xx xx,xx xx,xx xx,xx xx,xx xx,xx xx,xx xx,xx xx,xx xx,xx xx,xx xx,xx xx,xx xx,xx xx,xx xx,xx xx,xx xx,xx xx,xx xx,xx xx,xx xx,xx xx,xx xx,xx xx,xx xx,xx xx,xx xx,xx xx,xx xx,xx xx,xx xx,xx xx,xx xx,xx xx,xx xx,xx xx,xx xx,xx xx,xx 00,00 00,00 00,00 00,00 xx,xx xx,xx xx,xx xx,xx xx,xx xx,xx xx,xx xx,xx xx,xx xx,xx xx,xx xx,xx xx,xx xx,xx xx,xx xx,xx 00,00 xx,xx xx,xx xx,xx xx,xx xx,xx xx,xx xx,xx xx,xx xx,xx xx,xx xx,xx xx,xx xx,xx xx,xx xx,xx 00,00 xx,xx xx,xx xx,xx xx,xx xx,xx xx,xx xx,xx xx,xx xx,xx xx,xx xx,xx xx,xx xx,xx xx,xx xx,xx 00,00 00,00 00,00 00,00 00,00 +xx,xx xx,xx xx,xx xx,xx xx,xx xx,xx 12,04 12,03 13,03 13,04 xx,xx xx,xx 02,06 03,06 02,07 03,07 02,07 xx,xx xx,xx xx,xx 02,07 03,07 02,07 03,06 12,03 13,03 00,00 xx,xx xx,xx 00,00 09,00 09,00 00,00 xx,xx xx,xx 00,00 09,00 09,00 09,00 00,00 00,00 00,00 00,00 xx,xx xx,xx xx,xx 00,00 xx,xx xx,xx xx,xx 00,00 xx,xx xx,xx xx,xx 00,00 xx,xx xx,xx xx,xx 00,00 xx,xx xx,xx xx,xx 00,00 00,00 00,00 00,00 00,00 00,00 00,00 00,00 00,00 00,00 00,00 00,00 00,00 00,00 00,00 xx,xx xx,xx 00,00 00,00 00,00 00,00 00,00 00,00 00,00 00,00 00,00 00,00 00,00 00,00 xx,xx xx,xx xx,xx 00,00 00,00 00,00 00,00 00,00 00,00 00,00 00,00 00,00 00,00 00,00 00,00 00,00 00,00 00,00 xx,xx xx,xx 00,00 00,00 00,00 00,00 00,00 00,00 00,00 00,00 00,00 00,00 \ No newline at end of file diff --git a/assets/Textures/Bullets_small.png b/assets/Textures/Bullets_small.png new file mode 100644 index 0000000..80e5418 Binary files /dev/null and b/assets/Textures/Bullets_small.png differ diff --git a/assets/Textures/FirstAidKit.png b/assets/Textures/FirstAidKit.png new file mode 100644 index 0000000..bb2cd8e Binary files /dev/null and b/assets/Textures/FirstAidKit.png differ diff --git a/assets/Textures/GameBackground_1.png b/assets/Textures/GameBackground_1.png new file mode 100644 index 0000000..fb1dfbc Binary files /dev/null and b/assets/Textures/GameBackground_1.png differ diff --git a/assets/Textures/GameBackground_2.jpg b/assets/Textures/GameBackground_2.jpg new file mode 100644 index 0000000..4ecc462 Binary files /dev/null and b/assets/Textures/GameBackground_2.jpg differ diff --git a/assets/Textures/GameBackground_3.png b/assets/Textures/GameBackground_3.png new file mode 100644 index 0000000..5d487f7 Binary files /dev/null and b/assets/Textures/GameBackground_3.png differ diff --git a/assets/Textures/Thumbs.db b/assets/Textures/Thumbs.db new file mode 100644 index 0000000..02eaeb5 Binary files /dev/null and b/assets/Textures/Thumbs.db differ diff --git a/assets/Textures/TitleScreenBackground.png b/assets/Textures/TitleScreenBackground.png new file mode 100644 index 0000000..8c4bbb7 Binary files /dev/null and b/assets/Textures/TitleScreenBackground.png differ diff --git a/assets/Textures/TutorialBackground.png b/assets/Textures/TutorialBackground.png new file mode 100644 index 0000000..38d9c25 Binary files /dev/null and b/assets/Textures/TutorialBackground.png differ diff --git a/assets/Textures/TutorialBackground2.png b/assets/Textures/TutorialBackground2.png new file mode 100644 index 0000000..7cb6fe4 Binary files /dev/null and b/assets/Textures/TutorialBackground2.png differ diff --git a/assets/Textures/VictoryScreenBackground.png b/assets/Textures/VictoryScreenBackground.png new file mode 100644 index 0000000..e280433 Binary files /dev/null and b/assets/Textures/VictoryScreenBackground.png differ diff --git a/assets/Textures/bullet_hud.png b/assets/Textures/bullet_hud.png new file mode 100644 index 0000000..f3e97e4 Binary files /dev/null and b/assets/Textures/bullet_hud.png differ diff --git a/assets/Textures/crosshair_3.png b/assets/Textures/crosshair_3.png new file mode 100644 index 0000000..976c520 Binary files /dev/null and b/assets/Textures/crosshair_3.png differ diff --git a/assets/Textures/enemy.png b/assets/Textures/enemy.png new file mode 100644 index 0000000..9634995 Binary files /dev/null and b/assets/Textures/enemy.png differ diff --git a/assets/Textures/flag.png b/assets/Textures/flag.png new file mode 100644 index 0000000..b0d429e Binary files /dev/null and b/assets/Textures/flag.png differ diff --git a/assets/Textures/gunleft.png b/assets/Textures/gunleft.png new file mode 100644 index 0000000..378b29f Binary files /dev/null and b/assets/Textures/gunleft.png differ diff --git a/assets/Textures/gunleft_2.png b/assets/Textures/gunleft_2.png new file mode 100644 index 0000000..baa108d Binary files /dev/null and b/assets/Textures/gunleft_2.png differ diff --git a/assets/Textures/gunright.png b/assets/Textures/gunright.png new file mode 100644 index 0000000..b0c3790 Binary files /dev/null and b/assets/Textures/gunright.png differ diff --git a/assets/Textures/gunright_2.png b/assets/Textures/gunright_2.png new file mode 100644 index 0000000..f5e50c0 Binary files /dev/null and b/assets/Textures/gunright_2.png differ diff --git a/assets/Textures/happyjelly.png b/assets/Textures/happyjelly.png new file mode 100644 index 0000000..dfd6f6c Binary files /dev/null and b/assets/Textures/happyjelly.png differ diff --git a/assets/Textures/happyjelly2.png b/assets/Textures/happyjelly2.png new file mode 100644 index 0000000..aa2501f Binary files /dev/null and b/assets/Textures/happyjelly2.png differ diff --git a/assets/Textures/happyjelly_icon.ico b/assets/Textures/happyjelly_icon.ico new file mode 100644 index 0000000..0cd7a36 Binary files /dev/null and b/assets/Textures/happyjelly_icon.ico differ diff --git a/assets/Textures/heart.png b/assets/Textures/heart.png new file mode 100644 index 0000000..c733c24 Binary files /dev/null and b/assets/Textures/heart.png differ diff --git a/assets/Textures/heart_empty.png b/assets/Textures/heart_empty.png new file mode 100644 index 0000000..5e14740 Binary files /dev/null and b/assets/Textures/heart_empty.png differ diff --git a/assets/Textures/player.png b/assets/Textures/player.png new file mode 100644 index 0000000..899f2a1 Binary files /dev/null and b/assets/Textures/player.png differ diff --git a/assets/Textures/powerUpAnimation.png b/assets/Textures/powerUpAnimation.png new file mode 100644 index 0000000..28185d5 Binary files /dev/null and b/assets/Textures/powerUpAnimation.png differ diff --git a/assets/Textures/tileset.png b/assets/Textures/tileset.png new file mode 100644 index 0000000..5a558ef Binary files /dev/null and b/assets/Textures/tileset.png differ diff --git a/assets/Textures/woodencrate.png b/assets/Textures/woodencrate.png new file mode 100644 index 0000000..91ba721 Binary files /dev/null and b/assets/Textures/woodencrate.png differ diff --git a/include/AssetService.h b/include/AssetService.h new file mode 100644 index 0000000..f2a155d --- /dev/null +++ b/include/AssetService.h @@ -0,0 +1,52 @@ +#ifndef ASSET_SERVICE_H +#define ASSET_SERVICE_H + +#include +#include +#include "raylib.h" + +class AssetService +{ +private: + AssetService() { + setAssets(); + }; + ~AssetService() = default; + + std::string assetDir; + std::vector fonts; + std::vector sounds; + std::vector music; +public: + AssetService(const AssetService&) = delete; + AssetService& operator=(const AssetService&) = delete; + + static AssetService& getInstance() { + static AssetService instance; + return instance; + } + + std::vector getFonts() { + return fonts; + } + + std::vector getSounds() { + return sounds; + } + + std::vector getMusic() { + return music; + } + + void setAssets(); + + Font loadFont(std::string filename, int fontSize); + Font loadFont(std::string filename); + Music loadMusic(std::string filename, bool loops); + Sound loadSound(std::string filename); + + void setAssetDir(std::string assetDir); + +}; + +#endif \ No newline at end of file diff --git a/include/MainScreen.h b/include/MainScreen.h new file mode 100644 index 0000000..138565c --- /dev/null +++ b/include/MainScreen.h @@ -0,0 +1,27 @@ +#ifndef MAIN_SCREEN_H +#define MAIN_SCREEN_H + +#include "Screen.h" +#include "raylib.h" +#include + +class MainScreen : public Screen { +private: + Music bg; + Font font1; + Font font2; + std::string assetDir; + Vector2 dimTitle; + Vector2 dimSub; + Vector2 dimHead; + + void logic() override; + void draw() override; +public: + MainScreen(); + ~MainScreen(); + + void step() override; +}; + +#endif \ No newline at end of file diff --git a/include/Screen.h b/include/Screen.h new file mode 100644 index 0000000..8b98a69 --- /dev/null +++ b/include/Screen.h @@ -0,0 +1,27 @@ +#ifndef SCREEN_H +#define SCREEN_H + +class Screen { + private: + + /** + * All the logic that concerns the screen currently visible to the player + */ + virtual void logic(); + /** + * Draws everything for the current screen + */ + virtual void draw(); + public: + Screen(); + ~Screen(); + + + /** + * One step of the game loop + */ + virtual void step(); + +}; + +#endif diff --git a/include/ScreenState.h b/include/ScreenState.h new file mode 100644 index 0000000..42be907 --- /dev/null +++ b/include/ScreenState.h @@ -0,0 +1,14 @@ +#ifndef SCREENSTATE_H +#define SCREENSTATE_H + +enum class ScreenState { + TITLE, + MAIN, + TUTORIAL, + GAME, + PAUSE, + GAMEOVER, + VICTORY +}; + +#endif \ No newline at end of file diff --git a/include/StateService.h b/include/StateService.h new file mode 100644 index 0000000..40c2df1 --- /dev/null +++ b/include/StateService.h @@ -0,0 +1,81 @@ +#ifndef STATE_SERVICE_H +#define STATE_SERVICE_H + +#include "Screen.h" +#include "ScreenState.h" +#include +#include + +#if defined(PLATFORM_WEB) +#include +#endif + +class StateService +{ +private: + std::unique_ptr currentScreen; + + static StateService* instance; + // StateService() {} + + // StateService() = default; + // friend StateService* StateService::getInstance(); + StateService() + { + std::cout << "Singleton instance created." + << std::endl; + } + + // Private destructor to prevent external deletion + ~StateService() + { + std::cout << "Singleton instance destroyed." + << std::endl; + } + +public: + StateService(const StateService&) = delete; + StateService& operator=(const StateService&) = delete; + // ~StateService() = default; + // StateService(const StateService &) = delete; + // StateService &operator=(const StateService &) = delete; + + // StateService& myStateService = StateService::instance(); + // StateService(const StateService&) = delete; + // StateService& operator=(const StateService&) = delete; + + // static StateService* getInstance(); + + // static std::shared_ptr getInstance() { + // static std::shared_ptr instance = std::make_shared(); + // return instance; + // } + static StateService& getInstance() + { + if (instance == nullptr) { + instance = new StateService(); + } + return *instance; + } + + // static StateService* getInstance(); + + // { + // if (!instance) + // { + // instance = std::make_unique(); // This works because of the friend declaration + // } + // return instance.get(); // Return the raw pointer of the unique_ptr + // } + + void setScreen(ScreenState screen); + Screen *getScreen(); + + void gameloop(); +}; + +// StateService* StateService::instance = nullptr; + +// std::unique_ptr StateService::instance = nullptr; + +#endif \ No newline at end of file diff --git a/include/TitleScreen.h b/include/TitleScreen.h new file mode 100644 index 0000000..a1e7983 --- /dev/null +++ b/include/TitleScreen.h @@ -0,0 +1,27 @@ +#ifndef TITLE_SCREEN_H +#define TITLE_SCREEN_H + +#include "Screen.h" +#include "raylib.h" +#include + +class TitleScreen : public Screen { +private: + Music bg; + Font font1; + Font font2; + std::string assetDir; + Vector2 dimTitle; +Vector2 dimSub; +Vector2 dimHead; + + void logic() override; + void draw() override; +public: + TitleScreen(); + ~TitleScreen(); + + void step() override; +}; + +#endif \ No newline at end of file