From 1f63b19853f5dbbffb9a0c170f2260288d2f6020 Mon Sep 17 00:00:00 2001 From: Schark Date: Sun, 30 Apr 2023 01:53:01 -0700 Subject: Working window, basic cmake implementation --- CMakeLists.txt | 12 ++++++++++++ readme | 5 +++++ src/main.c | 46 ++++++++++++++++++++++++++++++++++++++++++++++ 3 files changed, 63 insertions(+) create mode 100644 CMakeLists.txt create mode 100644 src/main.c 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 +#include + +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; +} -- cgit v1.2.3-18-g5258