up down is broken

This commit is contained in:
2026-02-13 13:00:22 +01:00
parent 5cd6abdd48
commit 0c1541e98c
8 changed files with 147 additions and 7 deletions
+31 -2
View File
@@ -3,12 +3,14 @@
#include <SDL3/SDL.h>
#include <SDL3/SDL_main.h>
#include <cmath>
#include <string>
#include <algorithm>
#include "globals.hpp"
#include "math.hpp"
#include "renderer/camera.hpp"
#include "renderer/calls.hpp"
#include "player.hpp"
static SDL_Window *window = NULL;
static SDL_Renderer *renderer = NULL;
@@ -16,6 +18,10 @@ static SDL_Renderer *renderer = NULL;
DeltaVector2 temp1(125, 150), temp2(150, 120), temp3(100, 100);
DeltaVector2 topleft, bottomright, p;
Player player = Player(70, 110, 20);
double prev = 0, now = 0, deltaTime;
SDL_AppResult SDL_AppInit(void **appstate, int argc, char *argv[])
{
SDL_SetAppMetadata("delta engine game", "0.0", "com.miletici.game");
@@ -39,21 +45,44 @@ SDL_AppResult SDL_AppEvent(void *appstate, SDL_Event *event)
if (event->type == SDL_EVENT_QUIT) {
return SDL_APP_SUCCESS;
}
if (event->type == SDL_EVENT_KEY_DOWN) {
if (event->key.scancode == SDL_SCANCODE_ESCAPE) return SDL_APP_SUCCESS;
}
return SDL_APP_CONTINUE;
}
SDL_AppResult SDL_AppIterate(void *appstate)
{
const double now = ((double)SDL_GetTicks()) / 1000.0;
now = ((double)SDL_GetTicks()) / 1000.0;
deltaTime = now - prev;
SDL_SetWindowTitle(window, std::to_string((int)(1 / deltaTime)).c_str());
player.update(deltaTime);
// drawing starts here
SDL_SetRenderDrawColor(renderer, 0, 0, 0, SDL_ALPHA_OPAQUE_FLOAT);
SDL_RenderClear(renderer);
SDL_SetRenderDrawColor(renderer, 255, 0, 255, SDL_ALPHA_OPAQUE);
rasterizeTriangle(renderer, temp1, temp2, temp3);
// rasterizeTriangle(renderer, temp1, temp2, temp3);
DeltaVector2 rendered = player.camera.projectPointVec({ 40, 10, 30 });
SDL_RenderPoint(renderer, rendered.x, rendered.y);
rendered = player.camera.projectPointVec({ 40, 210, 30 });
SDL_RenderPoint(renderer, rendered.x, rendered.y);
rendered = player.camera.projectPointVec({ 40, 10, -170 });
SDL_RenderPoint(renderer, rendered.x, rendered.y);
rendered = player.camera.projectPointVec({ 40, 210, -170 });
SDL_RenderPoint(renderer, rendered.x, rendered.y);
SDL_RenderPresent(renderer);
prev = now;
return SDL_APP_CONTINUE;
}