summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--data/imgs/ui/splash1.pngbin0 -> 9825655 bytes
-rw-r--r--data/imgs/ui/splash2.jfifbin0 -> 3860975 bytes
-rw-r--r--include/asset_defs.h5
-rw-r--r--include/menu.h9
-rw-r--r--main.c4
-rw-r--r--src/asset_defs.c5
-rw-r--r--src/game.c16
-rw-r--r--src/zombies.c2
8 files changed, 38 insertions, 3 deletions
diff --git a/data/imgs/ui/splash1.png b/data/imgs/ui/splash1.png
new file mode 100644
index 0000000..4d568e7
--- /dev/null
+++ b/data/imgs/ui/splash1.png
Binary files differ
diff --git a/data/imgs/ui/splash2.jfif b/data/imgs/ui/splash2.jfif
new file mode 100644
index 0000000..df8af3a
--- /dev/null
+++ b/data/imgs/ui/splash2.jfif
Binary files differ
diff --git a/include/asset_defs.h b/include/asset_defs.h
index 5a239ae..9deaf77 100644
--- a/include/asset_defs.h
+++ b/include/asset_defs.h
@@ -3,6 +3,9 @@
#include <projectbase/project_base.h>
+/////// Loaded at game start.
+image* img_splash_art1;
+
font* fnt_52;
font* fnt_48;
font* fnt_44;
@@ -17,6 +20,8 @@ font* fnt_12;
font* fnt_8;
font* fnt_4;
+/////// Loaded at match start.
+
// UI
image* img_red_border;
diff --git a/include/menu.h b/include/menu.h
new file mode 100644
index 0000000..a00e020
--- /dev/null
+++ b/include/menu.h
@@ -0,0 +1,9 @@
+#ifndef INCLUDE_MENU
+#define INCLUDE_MENU
+
+typedef struct t_menu_state
+{
+
+} menu_state;
+
+#endif \ No newline at end of file
diff --git a/main.c b/main.c
index 68e13fb..ab4c64c 100644
--- a/main.c
+++ b/main.c
@@ -59,7 +59,7 @@
#define CONFIG_DIRECTORY "zombieshooter"
void update_func(platform_window* window) {
- renderer->render_clear(window, rgb(0,255,0));
+ renderer->render_clear(window, rgb(0,0,0));
update_game(window);
}
@@ -115,6 +115,8 @@ int main(int argc, char **argv)
log_info("Audio failed.");
}
+ load_menu_assets();
+
init_game();
bool did_handle_args = false;
diff --git a/src/asset_defs.c b/src/asset_defs.c
index 7fff980..9e29b10 100644
--- a/src/asset_defs.c
+++ b/src/asset_defs.c
@@ -3,7 +3,8 @@
//#include "../data/fonts/oxanium.h"
#include "../data/fonts/aleo.h"
-void load_assets() {
+void load_menu_assets() { // Assets loaded at game start
+ img_splash_art1 = assets_load_image_from_file("data/imgs/ui/splash1.png");
fnt_52 = assets_load_font(Aleo_Regular, Aleo_Regular + Aleo_Regular_Size, 52);
fnt_48 = assets_load_font(Aleo_Regular, Aleo_Regular + Aleo_Regular_Size, 48);
@@ -18,7 +19,9 @@ void load_assets() {
fnt_12 = assets_load_font(Aleo_Regular, Aleo_Regular + Aleo_Regular_Size, 12);
fnt_8 = assets_load_font(Aleo_Regular, Aleo_Regular + Aleo_Regular_Size, 8);
fnt_4 = assets_load_font(Aleo_Regular, Aleo_Regular + Aleo_Regular_Size, 4);
+}
+void load_assets() { // Assets loaded at match start.
// UI
img_red_border = assets_load_image_from_file("data/imgs/ui/red_border.png");
diff --git a/src/game.c b/src/game.c
index d17e432..c582ac4 100644
--- a/src/game.c
+++ b/src/game.c
@@ -372,9 +372,25 @@ static void move_camera(platform_window* window) {
_global_camera.y = (int)_camera_buffer.y;
}
+void draw_splash(platform_window* window) {
+ image* img = img_splash_art1;
+ int imgw = img->width * (window->height/(float)img->height);
+ int imgh = window->height;
+
+ int imgx = (window->width - imgw) / 2 + _global_camera.x;
+ int imgy = 0 + _global_camera.y;
+
+ renderer->render_image(img, imgx, imgy, imgw, imgh);
+}
+
void update_game(platform_window* window) {
clear_bullets();
+ if (global_state.state != GAMESTATE_PLAYING) {
+ draw_splash(window);
+ return;
+ }
+
if (global_state.server) {
update_server(window);
}
diff --git a/src/zombies.c b/src/zombies.c
index c04f91e..13368f2 100644
--- a/src/zombies.c
+++ b/src/zombies.c
@@ -479,7 +479,7 @@ void draw_zombies(platform_window* window, uint32_t ystart, uint32_t yend) {
renderer->render_rectangle(zombie_pos.x + (zombie_size/2) - (bar_w/2), zombie_pos.y - bar_h, bar_w*percentage, bar_h, rgb(100,0,0));
}
- if (global_state.server) draw_path_of_zombie(window, o);
+ //if (global_state.server) draw_path_of_zombie(window, o);
}
}