summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--CMakeLists.txt12
-rw-r--r--readme5
-rw-r--r--src/main.c46
3 files changed, 63 insertions, 0 deletions
diff --git a/CMakeLists.txt b/CMakeLists.txt
new file mode 100644
index 0000000..7e80f12
--- /dev/null
+++ b/CMakeLists.txt
@@ -0,0 +1,12 @@
+cmake_minimum_required(VERSION 3.10)
+project(raycaster C)
+
+set(CMAKE_C_STANDARD 99)
+
+find_package(SDL2 REQUIRED)
+include_directories(${SDL2_INCLUDE_DIRS} include)
+
+file(GLOB SOURCES "src/*.c")
+
+add_executable(raycaster ${SOURCES})
+target_link_libraries(raycaster ${SDL2_LIBRARIES})
diff --git a/readme b/readme
index e69de29..22beb18 100644
--- a/readme
+++ b/readme
@@ -0,0 +1,5 @@
+Todo:
+ - Update README
+
+Requirements:
+ - SDL2
diff --git a/src/main.c b/src/main.c
new file mode 100644
index 0000000..c225b14
--- /dev/null
+++ b/src/main.c
@@ -0,0 +1,46 @@
+#include <SDL.h>
+#include <stdio.h>
+
+int main(int argc, char *argv[]) {
+ if (SDL_Init(SDL_INIT_VIDEO) < 0) {
+ printf("SDL could not initialize! SDL_Error: %s\n", SDL_GetError());
+ return 1;
+ }
+
+ SDL_Window *window = SDL_CreateWindow("Raycaster", SDL_WINDOWPOS_UNDEFINED, SDL_WINDOWPOS_UNDEFINED, 800, 600, SDL_WINDOW_SHOWN);
+ if (!window) {
+ printf("Window could not be created! SDL_Error: %s\n", SDL_GetError());
+ return 1;
+ }
+
+ SDL_Renderer *renderer = SDL_CreateRenderer(window, -1, SDL_RENDERER_SOFTWARE);
+ if (!renderer) {
+ printf("Renderer could not be created. SDL_Error: %s\n", SDL_GetError());
+ SDL_DestroyWindow(window);
+ SDL_Quit();
+ return 1;
+ }
+
+ int running = 1;
+ SDL_Event event;
+
+ while (running) {
+ while (SDL_PollEvent(&event)){
+ if (event.type == SDL_QUIT) {
+ running = 0;
+ }
+ }
+
+ SDL_SetRenderDrawColor(renderer, 0, 0, 0, 255);
+ SDL_RenderClear(renderer);
+
+ SDL_RenderPresent(renderer);
+
+ }
+
+ SDL_DestroyRenderer(renderer);
+ SDL_DestroyWindow(window);
+ SDL_Quit();
+
+ return 0;
+}