aboutsummaryrefslogtreecommitdiff
path: root/gameloop/src
diff options
context:
space:
mode:
Diffstat (limited to 'gameloop/src')
-rw-r--r--gameloop/src/eventManager.cpp0
-rw-r--r--gameloop/src/gameObject.cpp58
-rw-r--r--gameloop/src/loopManager.cpp92
-rw-r--r--gameloop/src/main.cpp19
-rw-r--r--gameloop/src/timer.cpp73
-rw-r--r--gameloop/src/window.cpp60
6 files changed, 0 insertions, 302 deletions
diff --git a/gameloop/src/eventManager.cpp b/gameloop/src/eventManager.cpp
deleted file mode 100644
index e69de29..0000000
--- a/gameloop/src/eventManager.cpp
+++ /dev/null
diff --git a/gameloop/src/gameObject.cpp b/gameloop/src/gameObject.cpp
deleted file mode 100644
index f637314..0000000
--- a/gameloop/src/gameObject.cpp
+++ /dev/null
@@ -1,58 +0,0 @@
-#include "gameObject.h"
-std::string GameObject::getName() const{
- return name;
-}
-float GameObject::getX() const{
- return x;
-}
-
-float GameObject::getY() const{
- return y;
-}
-
-float GameObject::getWidth() const{
- return width;
-}
-
-float GameObject::getHeight() const{
- return height;
-}
-
-float GameObject::getVelX() const{
- return velX;
-}
-
-float GameObject::getVelY() const{
- return velY;
-}
-void GameObject::setName(std::string value){
- name = value;
-}
-void GameObject::setX(float value){
- x = value;
-}
-
-void GameObject::setY(float value){
- y = value;
-}
-
-void GameObject::setWidth(float value){
- width = value;
-}
-
-void GameObject::setHeight(float value){
- height = value;
-}
-
-void GameObject::setVelX(float value){
- velX = value;
-}
-
-void GameObject::setVelY(float value){
- velY = value;
-}
-
-GameObject::GameObject(std::string name, float x, float y, float width, float height, float velX, float velY)
- : name(name),x(x), y(y), width(width), height(height), velX(velX), velY(velY) {
-
- }
diff --git a/gameloop/src/loopManager.cpp b/gameloop/src/loopManager.cpp
deleted file mode 100644
index dde3cef..0000000
--- a/gameloop/src/loopManager.cpp
+++ /dev/null
@@ -1,92 +0,0 @@
-#include "loopManager.h"
-#include "timer.h"
-LoopManager::LoopManager(){
-}
-void LoopManager::processInput(){
- SDL_Event event;
- SDL_PollEvent(&event);
- switch(event.type){
- case SDL_QUIT:
- gameRunning = false;
- break;
- case SDL_KEYDOWN:
- if(event.key.keysym.sym == SDLK_ESCAPE){
- gameRunning = false;
- }else if(event.key.keysym.sym == SDLK_i){
- LoopTimer::getInstance().setGameScale(LoopTimer::getInstance().getGameScale() + 0.1);
- }else if(event.key.keysym.sym == SDLK_k){
- LoopTimer::getInstance().setGameScale(LoopTimer::getInstance().getGameScale() - 0.1);
- }
-
- break;
- }
-}
-void LoopManager::fixedUpdate(){
- fprintf(stderr,"fixed update\n");
-}
-void LoopManager::loop() {
- LoopTimer& timer = LoopTimer::getInstance();
- timer.start();
-
- while (gameRunning) {
- timer.update();
-
- while (timer.getLag() >= timer.getFixedDeltaTime()) {
- processInput();
- fixedUpdate();
- timer.advanceFixedUpdate();
- }
-
- update();
- render();
-
- timer.enforceFrameRate();
- }
-
- window.destroyWindow();
-}
-
-void LoopManager::setup(){
- gameRunning = window.initWindow();
- LoopTimer::getInstance().start();
- LoopTimer::getInstance().setFPS(500);
-
- for(int i = 1; i < 3;i++){
- GameObject* square = new GameObject("square2",i*60,i*60,20,20,0,0);
- objectList.push_back(square);
- }
-}
-void LoopManager::render(){
- fprintf(stderr,"**********render********** \n");
- if(gameRunning){
- window.render(objectList);
- }
-}
-
-void LoopManager::update() {
- fprintf(stderr, "********** normal update ********** \n");
- LoopTimer& timer = LoopTimer::getInstance();
-
- float delta = timer.getDeltaTime();
- for (int i = 0; i < objectList.size(); i++) {
- GameObject* obj = objectList[i];
-
- // Move the object based on its direction
- if (obj->direction == 1) {
- obj->setX(obj->getX() + 50 * delta);
- } else {
- obj->setX(obj->getX() - 50 * delta);
- }
-
-
- if (obj->getX() > 500) {
- obj->setX(500);
- obj->direction = 0; // Switch direction to left
- } else if (obj->getX() < 50) {
- obj->setX(50); // Clamp the position to the boundary
- obj->direction = 1; // Switch direction to right
- }
- }
-}
-
-
diff --git a/gameloop/src/main.cpp b/gameloop/src/main.cpp
deleted file mode 100644
index 2333e63..0000000
--- a/gameloop/src/main.cpp
+++ /dev/null
@@ -1,19 +0,0 @@
-//Using SDL and standard IO
-#include <SDL2/SDL.h>
-#include <stdio.h>
-//#include "window.h"
-#include "loopManager.h"
-#include "timer.h"
-//Screen dimension constants
-
-
-//Starts up SDL and creates window
-
-int main( int argc, char* args[] )
-{
- LoopManager gameLoop;
- gameLoop.setup();
- gameLoop.loop();
-
- return 0;
-}
diff --git a/gameloop/src/timer.cpp b/gameloop/src/timer.cpp
deleted file mode 100644
index 03a2dbb..0000000
--- a/gameloop/src/timer.cpp
+++ /dev/null
@@ -1,73 +0,0 @@
-#include "timer.h"
-
-// Constructor (private)
-LoopTimer::LoopTimer(){}
-
-// Get the singleton instance of the timer
-LoopTimer& LoopTimer::getInstance() {
- static LoopTimer instance;
- return instance;
-}
-
-// Start the timer (initialize frame time)
-void LoopTimer::start() {
- lastFrameTime = SDL_GetTicks64();
- elapsedTime = 0;
- elapsedFixedTime = 0;
- deltaTime = 0;
-}
-
-// Update the timer, calculate deltaTime
-void LoopTimer::update() {
- uint64_t currentFrameTime = SDL_GetTicks64();
- deltaTime = (currentFrameTime - lastFrameTime) / 1000.0; // Convert to seconds
-
- if (deltaTime > maximumDeltaTime) {
- deltaTime = maximumDeltaTime;
- }
- deltaTime *= gameScale;
- elapsedTime += deltaTime;
- lastFrameTime = currentFrameTime;
-}
-
-double LoopTimer::getDeltaTime() const {
- return deltaTime;
-}
-int LoopTimer::getCurrentTime() const {
- return SDL_GetTicks();
-}
-
-void LoopTimer::advanceFixedUpdate() {
- elapsedFixedTime += fixedDeltaTime;
-}
-
-double LoopTimer::getFixedDeltaTime() const {
- return fixedDeltaTime;
-}
-
-void LoopTimer::setFPS(int FPS) {
- this->FPS = FPS;
- frameTargetTime = 1.0 / FPS;
-}
-
-int LoopTimer::getFPS() const {
- return FPS;
-}
-void LoopTimer::setGameScale(double value){
- gameScale = value;
-};
-double LoopTimer::getGameScale(){
- return gameScale;
-}
-void LoopTimer::enforceFrameRate() {
- uint64_t currentFrameTime = SDL_GetTicks64();
- double frameDuration = (currentFrameTime - lastFrameTime) / 1000.0;
-
- if (frameDuration < frameTargetTime) {
- uint32_t delayTime = (uint32_t)((frameTargetTime - frameDuration) * 1000.0);
- SDL_Delay(delayTime);
- }
-}
-double LoopTimer::getLag() const {
- return elapsedTime - elapsedFixedTime;
-}
diff --git a/gameloop/src/window.cpp b/gameloop/src/window.cpp
deleted file mode 100644
index f998a79..0000000
--- a/gameloop/src/window.cpp
+++ /dev/null
@@ -1,60 +0,0 @@
-#include "window.h"
-WindowManager::WindowManager(){
- if( !initWindow() )
- {
- printf( "Failed to initialize!\n" );
- }
-}
-WindowManager::~WindowManager(){
- destroyWindow();
-}
-SDL_Renderer* WindowManager::getRenderer(){
- return renderer;
-}
-
-void WindowManager::render(std::vector<GameObject*> objects){
- // Set the draw color to black and clear the screen
- SDL_SetRenderDrawColor(renderer, 255, 0, 0, 255);
- SDL_RenderClear(renderer);
-
- // Print object position (optional for debugging)
- //fprintf(stderr, "%d\n", objectList.size());
- for(int i = 0; i < objects.size();i++){
- //fprintf(stderr, "%f\n", objectList[i]->getX());
- // Create a rectangle representing the ball
- SDL_Rect ball_rect = {
- (int)objects[i]->getX(),
- (int)objects[i]->getY(),
- (int)objects[i]->getWidth(),
- (int)objects[i]->getHeight(),
- };
- // Set the draw color to white and render the ball
- SDL_SetRenderDrawColor(renderer, 255, 255, 255, 255);
- SDL_RenderFillRect(renderer, &ball_rect);
- }
-
- SDL_RenderPresent(renderer);
-}
-
-bool WindowManager::initWindow(){
- if(SDL_Init(SDL_INIT_EVERYTHING) != 0){
- fprintf(stderr,"Error inititalising SDL.\n");
- return false;
- }
- window = SDL_CreateWindow( "SDL Tutorial", SDL_WINDOWPOS_UNDEFINED, SDL_WINDOWPOS_UNDEFINED, SCREEN_WIDTH, SCREEN_HEIGHT, SDL_WINDOW_SHOWN );
- if(!window){
- fprintf(stderr,"Error creating SDL Window. \n");
- return false;
- }
- renderer = SDL_CreateRenderer(window,-1,0);
- if(!renderer){
- fprintf(stderr,"Error creating SDL renderer. \n");
- return false;
- }
- return true;
-}
-void WindowManager::destroyWindow(){
- SDL_DestroyRenderer(renderer);
- SDL_DestroyWindow(window);
- SDL_Quit();
-}