chore: Initial commit

This commit is contained in:
2026-04-16 21:30:35 +01:00
commit 1d12a23e15
13 changed files with 430 additions and 0 deletions

67
src/main.cpp Normal file
View File

@@ -0,0 +1,67 @@
#include <stdio.h>
#include <stdlib.h>
#include <stdbool.h>
#include <SDL3/SDL.h>
#include "renderer.hpp"
#include "sim/world.hpp"
#include "sim/aircraft.hpp"
static SDL_Window *window;
static SDL_Renderer *sdl_renderer;
static int width, height;
int main(int argc, char *argv[])
{
if (argc != 2)
{
printf("Usage: %s <WID>\n", argv[0]);
exit(1);
}
int wid = 0;
sscanf(argv[1], "%d", &wid);
SDL_Init(SDL_INIT_VIDEO);
SDL_PropertiesID props = SDL_CreateProperties();
SDL_SetNumberProperty(props, SDL_PROP_WINDOW_CREATE_X11_WINDOW_NUMBER, wid);
window = SDL_CreateWindowWithProperties(props);
sdl_renderer = SDL_CreateRenderer(window, NULL);
SDL_GetWindowSize(window, &width, &height);
dxd::Renderer renderer = dxd::Renderer(sdl_renderer, width, height);
// World init
dxd::sim::World world = dxd::sim::World({ .x = 10, .y = 10 });
dxd::sim::Aircraft *ac = new dxd::sim::Aircraft({ 0, 0 }, 1, 0.1);
world.add_obj(ac);
SDL_Event event;
bool running = true;
while (running) {
while (SDL_PollEvent(&event)) {
if (event.type == SDL_EVENT_QUIT) running = false;
}
// Clear
renderer.color(0, 0, 0, 255);
SDL_RenderClear(sdl_renderer);
// World draw
renderer.color(255, 255, 255, 255);
world.draw(&renderer);
world.tick(1.0f / 60.0f);
// Usual test
renderer.color(127, 0, 0, 255);
renderer.line(-vec2_one, vec2_one);
SDL_RenderPresent(sdl_renderer);
SDL_Delay(1000 / 60);
}
}