From 98046acdb0878cf0a769adecdc3101a947ff8cca Mon Sep 17 00:00:00 2001
From: Louis Capitanchik <contact@louiscap.co>
Date: Sun, 2 Jul 2023 02:33:06 +0100
Subject: [PATCH] Include assets, spawn ship in centre

---
 .gitattributes                      |  2 ++
 assets/audio/alien.ogg              |  3 +++
 assets/audio/beepx3.ogg             |  3 +++
 assets/audio/big_explosion.ogg      |  3 +++
 assets/audio/bling.ogg              |  3 +++
 assets/audio/boom1.ogg              |  3 +++
 assets/audio/energy.ogg             |  3 +++
 assets/audio/shoot_missile.ogg      |  3 +++
 assets/audio/small_explosion.ogg    |  3 +++
 assets/audio/very_big_explosion.ogg |  3 +++
 assets/sprites/alien_boss.png       |  3 +++
 assets/sprites/alien_mini_boss.png  |  3 +++
 assets/sprites/alien_ship.png       |  3 +++
 assets/sprites/background.png       |  3 +++
 assets/sprites/powerup.png          |  3 +++
 assets/sprites/ship.png             |  3 +++
 src/main.rs                         | 19 +++++++++++++++++--
 17 files changed, 64 insertions(+), 2 deletions(-)
 create mode 100644 .gitattributes
 create mode 100644 assets/audio/alien.ogg
 create mode 100644 assets/audio/beepx3.ogg
 create mode 100644 assets/audio/big_explosion.ogg
 create mode 100644 assets/audio/bling.ogg
 create mode 100644 assets/audio/boom1.ogg
 create mode 100644 assets/audio/energy.ogg
 create mode 100644 assets/audio/shoot_missile.ogg
 create mode 100644 assets/audio/small_explosion.ogg
 create mode 100644 assets/audio/very_big_explosion.ogg
 create mode 100644 assets/sprites/alien_boss.png
 create mode 100644 assets/sprites/alien_mini_boss.png
 create mode 100644 assets/sprites/alien_ship.png
 create mode 100644 assets/sprites/background.png
 create mode 100644 assets/sprites/powerup.png
 create mode 100644 assets/sprites/ship.png

diff --git a/.gitattributes b/.gitattributes
new file mode 100644
index 0000000..e0f11e8
--- /dev/null
+++ b/.gitattributes
@@ -0,0 +1,2 @@
+*.png filter=lfs diff=lfs merge=lfs -text
+*.ogg filter=lfs diff=lfs merge=lfs -text
diff --git a/assets/audio/alien.ogg b/assets/audio/alien.ogg
new file mode 100644
index 0000000..781cab5
--- /dev/null
+++ b/assets/audio/alien.ogg
@@ -0,0 +1,3 @@
+version https://git-lfs.github.com/spec/v1
+oid sha256:e90b164966850fa3e3b319def35614012ce735397fb13a739ae5404abce7f7ed
+size 11536
diff --git a/assets/audio/beepx3.ogg b/assets/audio/beepx3.ogg
new file mode 100644
index 0000000..5521a97
--- /dev/null
+++ b/assets/audio/beepx3.ogg
@@ -0,0 +1,3 @@
+version https://git-lfs.github.com/spec/v1
+oid sha256:fbd82b987757200471ab266e68e003f33044b740955d2df035ad3302996bed01
+size 8006
diff --git a/assets/audio/big_explosion.ogg b/assets/audio/big_explosion.ogg
new file mode 100644
index 0000000..15d8fcf
--- /dev/null
+++ b/assets/audio/big_explosion.ogg
@@ -0,0 +1,3 @@
+version https://git-lfs.github.com/spec/v1
+oid sha256:8b6d3cd060230c735d9246867e8ba70075a6c84eb85f2b89de0824f3ba7c87f0
+size 12227
diff --git a/assets/audio/bling.ogg b/assets/audio/bling.ogg
new file mode 100644
index 0000000..9152de4
--- /dev/null
+++ b/assets/audio/bling.ogg
@@ -0,0 +1,3 @@
+version https://git-lfs.github.com/spec/v1
+oid sha256:2e142fe008663d21d8187d2a665683bfca43f36f8de925752d8149de79be3b5e
+size 10113
diff --git a/assets/audio/boom1.ogg b/assets/audio/boom1.ogg
new file mode 100644
index 0000000..65c78e8
--- /dev/null
+++ b/assets/audio/boom1.ogg
@@ -0,0 +1,3 @@
+version https://git-lfs.github.com/spec/v1
+oid sha256:34d7d97b2d19b25581040df660570567b3e2fc77623e0346e57dd7409e4e876f
+size 11511
diff --git a/assets/audio/energy.ogg b/assets/audio/energy.ogg
new file mode 100644
index 0000000..fcb732b
--- /dev/null
+++ b/assets/audio/energy.ogg
@@ -0,0 +1,3 @@
+version https://git-lfs.github.com/spec/v1
+oid sha256:edfc2f41a97b9c8a34ce4e02fb95794bc56429c028c3d9472b9089d05ec59cd6
+size 25310
diff --git a/assets/audio/shoot_missile.ogg b/assets/audio/shoot_missile.ogg
new file mode 100644
index 0000000..39c9bbb
--- /dev/null
+++ b/assets/audio/shoot_missile.ogg
@@ -0,0 +1,3 @@
+version https://git-lfs.github.com/spec/v1
+oid sha256:45d596a58a5ce03c58db1c9959551c1370449f00647a8331bdd5965658112e56
+size 5642
diff --git a/assets/audio/small_explosion.ogg b/assets/audio/small_explosion.ogg
new file mode 100644
index 0000000..3bdf336
--- /dev/null
+++ b/assets/audio/small_explosion.ogg
@@ -0,0 +1,3 @@
+version https://git-lfs.github.com/spec/v1
+oid sha256:4215ad395081dbdebc18e1d7997f4e58612c6791880ba268d21291633998f2c8
+size 7269
diff --git a/assets/audio/very_big_explosion.ogg b/assets/audio/very_big_explosion.ogg
new file mode 100644
index 0000000..6cb1b4e
--- /dev/null
+++ b/assets/audio/very_big_explosion.ogg
@@ -0,0 +1,3 @@
+version https://git-lfs.github.com/spec/v1
+oid sha256:6d237a471677d8af8a26ec0d73cc0fffeedf12acb51ee746971f19bc391be02f
+size 16615
diff --git a/assets/sprites/alien_boss.png b/assets/sprites/alien_boss.png
new file mode 100644
index 0000000..2a65fe2
--- /dev/null
+++ b/assets/sprites/alien_boss.png
@@ -0,0 +1,3 @@
+version https://git-lfs.github.com/spec/v1
+oid sha256:2fd45bee64c9579f78e0c0192ba1883c397819530e845fe524155cfbf0100580
+size 48840
diff --git a/assets/sprites/alien_mini_boss.png b/assets/sprites/alien_mini_boss.png
new file mode 100644
index 0000000..48e2e68
--- /dev/null
+++ b/assets/sprites/alien_mini_boss.png
@@ -0,0 +1,3 @@
+version https://git-lfs.github.com/spec/v1
+oid sha256:d52e5d4f01e8776a559410274884e1a93404cd68c7e986431ee67f138b5df0cb
+size 13947
diff --git a/assets/sprites/alien_ship.png b/assets/sprites/alien_ship.png
new file mode 100644
index 0000000..fa449e8
--- /dev/null
+++ b/assets/sprites/alien_ship.png
@@ -0,0 +1,3 @@
+version https://git-lfs.github.com/spec/v1
+oid sha256:64e646240f64685cf6fe93f4b8a18c4716440fe81683dbdc2dfa208cc01fdbef
+size 7792
diff --git a/assets/sprites/background.png b/assets/sprites/background.png
new file mode 100644
index 0000000..7e51eff
--- /dev/null
+++ b/assets/sprites/background.png
@@ -0,0 +1,3 @@
+version https://git-lfs.github.com/spec/v1
+oid sha256:94885921b0e3fb6b1d8cc76948d2c44deb5490cf56a34e7b14edbdb3fedaf1b6
+size 500093
diff --git a/assets/sprites/powerup.png b/assets/sprites/powerup.png
new file mode 100644
index 0000000..0b66176
--- /dev/null
+++ b/assets/sprites/powerup.png
@@ -0,0 +1,3 @@
+version https://git-lfs.github.com/spec/v1
+oid sha256:bd264db9da05cb55217b7727655a7c984df8e3db96a3a76072c5659c4781c91c
+size 1176
diff --git a/assets/sprites/ship.png b/assets/sprites/ship.png
new file mode 100644
index 0000000..0c8ab79
--- /dev/null
+++ b/assets/sprites/ship.png
@@ -0,0 +1,3 @@
+version https://git-lfs.github.com/spec/v1
+oid sha256:0a0b42e4abf91c989850a035bd40b80e63cae58d13083b6db3b30d4a39fc43d1
+size 9316
diff --git a/src/main.rs b/src/main.rs
index 49824e3..09047ae 100644
--- a/src/main.rs
+++ b/src/main.rs
@@ -1,14 +1,16 @@
+use bevy::asset::AssetServer;
 use bevy::core_pipeline::clear_color::ClearColorConfig;
 use bevy::math::Vec3;
 use bevy::prelude::{
-	App, Camera2d, Camera2dBundle, Color, Commands, OrthographicProjection, PluginGroup, Rect,
+	App, Camera2d, Camera2dBundle, Color, Commands, OrthographicProjection, PluginGroup, Rect, Res,
 	Transform, Vec2, Window, WindowPlugin,
 };
 use bevy::render::camera::ScalingMode;
+use bevy::sprite::SpriteBundle;
 use bevy::window::{WindowMode, WindowResolution};
 use bevy::DefaultPlugins;
 
-static VIEWPORT_WIDTH: f32 = 480.0;
+static VIEWPORT_WIDTH: f32 = 680.0;
 static VIEWPORT_HEIGHT: f32 = 300.0;
 
 fn spawn_camera(mut commands: Commands) {
@@ -30,6 +32,18 @@ fn spawn_camera(mut commands: Commands) {
 	});
 }
 
+fn spawn_ship(mut commands: Commands, assets: Res<AssetServer>) {
+	commands.spawn(SpriteBundle {
+		texture: assets.load("sprites/ship.png"),
+		transform: Transform::from_translation(Vec3::new(
+			VIEWPORT_WIDTH / 2.0,
+			VIEWPORT_HEIGHT / 2.0,
+			0.0,
+		)),
+		..Default::default()
+	});
+}
+
 fn main() {
 	App::new()
 		.add_plugins(DefaultPlugins.set(WindowPlugin {
@@ -44,5 +58,6 @@ fn main() {
 			..Default::default()
 		}))
 		.add_startup_system(spawn_camera)
+		.add_startup_system(spawn_ship)
 		.run();
 }
-- 
GitLab