commit 2e513649e023a2b1b0da31b4735d1382efe94491 Author: hippoz <10706925-hippoz@users.noreply.gitlab.com> Date: Sun May 1 20:11:44 2022 +0300 Ready. Set. Go! diff --git a/.gitignore b/.gitignore new file mode 100644 index 0000000..7775e70 --- /dev/null +++ b/.gitignore @@ -0,0 +1,4 @@ +builddir/ +buildclang/ +.cache/ +compile_commands.json \ No newline at end of file diff --git a/meson.build b/meson.build new file mode 100644 index 0000000..efef5a0 --- /dev/null +++ b/meson.build @@ -0,0 +1,9 @@ +project('rotcpu', 'cpp') + +sdl2_dep = dependency('sdl2') + +executable( + 'rotcpuemu', + './src/main.cpp', + dependencies : [sdl2_dep] +) diff --git a/src/main.cpp b/src/main.cpp new file mode 100644 index 0000000..312a071 --- /dev/null +++ b/src/main.cpp @@ -0,0 +1,47 @@ +#include "SDL.h" + +void scc(int code) +{ + if (code < 0) { + fprintf(stderr, "SDL ERROR: %s\n", SDL_GetError()); + exit(1); + } +} + +void *scp(void *ptr) +{ + if (ptr == NULL) { + fprintf(stderr, "SDL ERROR: %s\n", SDL_GetError()); + exit(1); + } + + return ptr; +} + +int main(int argc, char *argv[]) +{ + SDL_Window *window; + SDL_Renderer *renderer; + SDL_Surface *surface; + SDL_Event event; + + scc(SDL_Init(SDL_INIT_VIDEO)); + scc(SDL_CreateWindowAndRenderer(320, 240, SDL_WINDOW_RESIZABLE, &window, &renderer)); + + while (1) { + SDL_PollEvent(&event); + if (event.type == SDL_QUIT) { + break; + } + SDL_SetRenderDrawColor(renderer, 0x00, 0x00, 0x00, 0x00); + SDL_RenderClear(renderer); + SDL_RenderPresent(renderer); + } + + SDL_DestroyRenderer(renderer); + SDL_DestroyWindow(window); + + SDL_Quit(); + + return 0; +}