summary refs log tree commit diff
path: root/src
diff options
context:
space:
mode:
Diffstat (limited to 'src')
-rw-r--r--src/disk.c1
-rw-r--r--src/entity.h2
-rw-r--r--src/flier.c1
-rw-r--r--src/loader.c4
-rw-r--r--src/loader.h2
-rw-r--r--src/main.c3
-rw-r--r--src/main.h3
-rw-r--r--src/pacer.c2
-rw-r--r--src/particles.c2
-rw-r--r--src/particles.h2
-rw-r--r--src/player.c2
-rw-r--r--src/tilemap.c7
-rw-r--r--src/walker.c2
-rw-r--r--src/warp.c2
14 files changed, 23 insertions, 12 deletions
diff --git a/src/disk.c b/src/disk.c
index 084533f..7469337 100644
--- a/src/disk.c
+++ b/src/disk.c
@@ -6,6 +6,7 @@
 #include "util.h"
 #include "save.h"
 #include <string.h>
+#include <stdlib.h>
 #include <stdio.h>
 
 enum {
diff --git a/src/entity.h b/src/entity.h
index 038b62a..614d15f 100644
--- a/src/entity.h
+++ b/src/entity.h
@@ -1,6 +1,6 @@
 #pragma once
 
-#include <SDL2/SDL.h>
+#include <SDL2/SDL_rect.h>
 
 #define from_fixed(a) ((a) / 16)
 #define to_fixed(a) ((a) * 16)
diff --git a/src/flier.c b/src/flier.c
index c507bd2..4adf9ab 100644
--- a/src/flier.c
+++ b/src/flier.c
@@ -3,6 +3,7 @@
 #include "loader.h"
 #include "tilemap.h"
 #include <stdbool.h>
+#include <stdlib.h>
 #include <math.h>
 #include <string.h>
 #include "particles.h"
diff --git a/src/loader.c b/src/loader.c
index 54425d9..fed2a7c 100644
--- a/src/loader.c
+++ b/src/loader.c
@@ -4,13 +4,11 @@
 #include <zlib.h>
 #include <stdbool.h>
 
-#include <SDL2/SDL.h>
-
 #include "libplum.h"
 #include "zip.h"
 #include "loader.h"
 #include "util.h"
-#include "main.h"
+#include "main.h" // renderer
 #include "collision.h"
 
 static void *inflateWrapped(void *const restrict data, uint32_t const outsize);
diff --git a/src/loader.h b/src/loader.h
index 800ef0b..44f9d9f 100644
--- a/src/loader.h
+++ b/src/loader.h
@@ -2,7 +2,7 @@
 
 #include <stddef.h>
 #include "entity.h"
-#include "main.h"
+#include "main.h" // struct entities
 
 typedef char * name_T;
 
diff --git a/src/main.c b/src/main.c
index ce94712..09c5425 100644
--- a/src/main.c
+++ b/src/main.c
@@ -384,12 +384,15 @@ int main(int const argc, char *const *const argv) {
 	
 	window = SDL_CreateWindow(":3", SDL_WINDOWPOS_UNDEFINED, SDL_WINDOWPOS_UNDEFINED, WINDOW_WIDTH * scale, WINDOW_HEIGHT * scale, flags | SDL_WINDOW_HIDDEN);
 	if (window == NULL) {
+		fprintf(stderr, "failed to create the game window: %s\n", SDL_GetError());
 		goto end;
 	}
 
+	SDL_SetWindowMinimumSize(window, WINDOW_WIDTH, WINDOW_HEIGHT);
 	SDL_SetHint(SDL_HINT_RENDER_DRIVER, "opengl"); // hack, i dont wanna deal with windows discarding render textures
 	renderer = SDL_CreateRenderer(window, -1, SDL_RENDERER_TARGETTEXTURE | SDL_RENDERER_PRESENTVSYNC);
 	if (renderer == NULL) {
+		fprintf(stderr, "failed to create a rendering context: %s\n", SDL_GetError());
 		goto end;
 	}
 	SDL_RenderSetLogicalSize(renderer, WINDOW_WIDTH, WINDOW_HEIGHT);
diff --git a/src/main.h b/src/main.h
index ecd8250..2766a84 100644
--- a/src/main.h
+++ b/src/main.h
@@ -1,6 +1,7 @@
 #pragma once
 
-#include <SDL2/SDL.h>
+#include <SDL2/SDL_video.h>
+#include <SDL2/SDL_render.h>
 #include "entity.h"
 extern SDL_Window *window;
 extern SDL_Renderer *renderer;
diff --git a/src/pacer.c b/src/pacer.c
index 9bbcfb6..de9a94d 100644
--- a/src/pacer.c
+++ b/src/pacer.c
@@ -3,6 +3,8 @@
 #include "loader.h"
 #include "tilemap.h"
 #include <stdbool.h>
+#include <stdlib.h>
+#include <string.h>
 #include <math.h>
 #include "particles.h"
 #include "gun.h"
diff --git a/src/particles.c b/src/particles.c
index 3655f23..4432780 100644
--- a/src/particles.c
+++ b/src/particles.c
@@ -1,4 +1,4 @@
-#include <SDL2/SDL.h>
+#include "particles.h"
 
 SDL_Rect const particle_gray = {0, 0, 4, 4};
 SDL_Rect const particle_red = {4, 0, 4, 4};
diff --git a/src/particles.h b/src/particles.h
index c841817..bcfa6fe 100644
--- a/src/particles.h
+++ b/src/particles.h
@@ -1,5 +1,5 @@
 #pragma once
-#include <SDL2/SDL.h>
+#include <SDL2/SDL_rect.h>
 
 extern SDL_Rect const particle_gray;
 extern SDL_Rect const particle_red;
diff --git a/src/player.c b/src/player.c
index 83720e6..3605a6d 100644
--- a/src/player.c
+++ b/src/player.c
@@ -4,6 +4,8 @@
 #include "input.h"
 #include "tilemap.h"
 #include <stdbool.h>
+#include <stdlib.h>
+#include <string.h>
 #include <math.h>
 #include "particles.h"
 
diff --git a/src/tilemap.c b/src/tilemap.c
index 4819053..8a74d9c 100644
--- a/src/tilemap.c
+++ b/src/tilemap.c
@@ -1,11 +1,10 @@
 #include <stdio.h>
+#include <stdlib.h>
 #include <stdint.h>
 #include <string.h>
 
-#include <SDL2/SDL.h>
-
 #include "loader.h"
-#include "main.h"
+#include "main.h" // renderer
 
 #include "tilemap.h"
 #include "collision.h"
@@ -185,7 +184,7 @@ struct tilemap *tilemap_load(void *data, size_t size) {
 		struct blob col = res_get_collision(str);
 		
 		SDL_RenderCopy(renderer, tex, &(SDL_Rect) {0, 0, 128, height}, &(SDL_Rect) {0, y, 128, height});
-		if (col.data != NULL) { // silence -fsanitize=undefined
+		if (col.data != NULL) { // col.data is only NULL when col.size is 0 but -fsanitize=undefined doesnt know that
 			if (col.size + y * 2 > 0xf0) {
 				fprintf(stderr, "warn: '%s' overflows tile properties\n", str);
 				col.size = 0xf0 - y * 2;
diff --git a/src/walker.c b/src/walker.c
index 6441909..b3dc680 100644
--- a/src/walker.c
+++ b/src/walker.c
@@ -3,6 +3,8 @@
 #include "loader.h"
 #include "tilemap.h"
 #include <stdbool.h>
+#include <stdlib.h>
+#include <string.h>
 #include <math.h>
 #include "particles.h"
 
diff --git a/src/warp.c b/src/warp.c
index 3556ef3..c9bb1b4 100644
--- a/src/warp.c
+++ b/src/warp.c
@@ -2,6 +2,8 @@
 #include "entity.h"
 #include "loader.h"
 #include "tilemap.h"
+#include <string.h>
+#include <stdlib.h>
 
 static int warp_update(struct warp *self) {
 	if (