Reformat + Basic animation system

General fixes
This commit is contained in:
Bram Verhulst
2024-04-01 10:27:37 +02:00
parent 3b9c96ea8d
commit 0f9bb76973
28 changed files with 918 additions and 546 deletions

View File

@@ -2,7 +2,6 @@
#include "pch.h"
#include "Game.h"
#include <iostream>
#include <ostream>
#include "colors.h"
@@ -10,11 +9,10 @@
#include "WorldLevel.h"
Rectf Game::VIEWPORT{};
Rectf Game::VIEWPORT {};
Game::Game(const Window& window)
: BaseGame { window }, m_Camera(Camera()), m_WorldLevel(WorldLevel(&m_Camera, GetViewPort()))
{
: BaseGame { window }, m_Camera(Camera()), m_WorldLevel(WorldLevel(&m_Camera, GetViewPort())) {
Initialize();
Game::VIEWPORT = GetViewPort(); //TODO: See if this can be removed
}
@@ -24,7 +22,7 @@ Game::~Game() {
}
void Game::Initialize() {
m_Camera.SetPosition(Point2f{-GetViewPort().width / 2, -GetViewPort().height / 2});
m_Camera.SetPosition(Point2f { -GetViewPort().width / 2, -GetViewPort().height / 2 });
}
void Game::Cleanup() {
@@ -33,10 +31,11 @@ void Game::Cleanup() {
void Game::Update(float elapsedSec) {
const Uint8* pStates = SDL_GetKeyboardState(nullptr);
if(m_IsRightMouseDown) {
Point2f newCameraPos = Point2f{m_MousePos.x + m_MouseOffset.x, m_MousePos.y + m_MouseOffset.y};
m_Camera.SetPosition(Point2f{-newCameraPos.x, -newCameraPos.y});
} else {
if (m_IsRightMouseDown) {
const Point2f newCameraPos = Point2f { m_MousePos.x + m_MouseOffset.x, m_MousePos.y + m_MouseOffset.y };
m_Camera.SetPosition(Point2f { -newCameraPos.x, -newCameraPos.y });
}
else {
m_MouseOffset = m_Camera.GetPosition();
}
@@ -57,13 +56,13 @@ void Game::ProcessKeyUpEvent(const SDL_KeyboardEvent& e) {
}
void Game::ProcessMouseMotionEvent(const SDL_MouseMotionEvent& e) {
m_MousePos = Point2f{float(e.x), float(e.y)};
m_MousePos = Point2f { float(e.x), float(e.y) };
m_WorldLevel.MouseMove(Point2f { float(e.x), float(e.y) });
}
void Game::ProcessMouseDownEvent(const SDL_MouseButtonEvent& e) {
m_IsRightMouseDown = e.button == SDL_BUTTON_RIGHT;
m_MouseOffset = Point2f{-m_Camera.GetPosition().x - m_MousePos.x, -m_Camera.GetPosition().y - m_MousePos.y};
m_MouseOffset = Point2f { -m_Camera.GetPosition().x - m_MousePos.x, -m_Camera.GetPosition().y - m_MousePos.y };
}
void Game::ProcessMouseUpEvent(const SDL_MouseButtonEvent& e) {