yupplemayham/YuppleMayham/src/main.cpp
Ethan Adams 7e7dfd97b7 Removed UNIX (..) from headers
Cleaned up the weapon class
moved mousestate.h out of gameplay into utility
2024-06-22 00:08:59 -04:00

65 lines
No EOL
1.3 KiB
C++

#include <SDL.h>
#include <SDL_image.h>
#include <iostream>
// TODO: Fix circular dependency issues, mostly with input.h needing gameactor.h and command.h
#include "gameplay/game.h"
const float vertices[] = {
0.0f, 0.5f, 0.0f,
-0.5f, -0.5f, 0.0f,
0.5f, -0.5f, 0.0f
};
int main(int argc, char* args[])
{
if (SDL_Init(SDL_INIT_VIDEO) < 0)
return -1;
if (IMG_Init(IMG_INIT_PNG) < 0)
return -1;
SDL_GL_SetAttribute(SDL_GL_CONTEXT_MAJOR_VERSION, 3);
SDL_GL_SetAttribute(SDL_GL_CONTEXT_MINOR_VERSION, 3);
SDL_GL_SetAttribute(SDL_GL_CONTEXT_PROFILE_MASK, SDL_GL_CONTEXT_PROFILE_CORE);
Game* game = new Game();
if (!game->init())
{
std::cout << "Failed to init game!" << std::endl;
return -1;
}
if (!game->loadDebugScene())
{
std::cout << "Failed to load debug scene!" << std::endl;
return -1;
}
SDL_Event e;
Uint64 lastCounter = SDL_GetPerformanceCounter();
double freq = static_cast<double>(SDL_GetPerformanceFrequency());
while (game->getGameState() & GAME_RUNNING)
{
Uint64 curCounter = SDL_GetPerformanceCounter();
float deltaTime = ((curCounter - lastCounter) / freq);
deltaTime = (deltaTime < 10.f) ? deltaTime : 1.f;
SDL_PollEvent(&e);
if (e.type == SDL_QUIT)
game->quit();
game->handleInput(e);
game->update(deltaTime);
game->render();
lastCounter = curCounter;
}
IMG_Quit();
SDL_Quit();
return 0;
}