Project imported into KDevelop

This commit is contained in:
Alan Youngblood 2021-01-29 22:20:54 -05:00
parent e89d9c577f
commit 618bda931e
9 changed files with 16 additions and 262 deletions

BIN
build/BeagleRescue Executable file

Binary file not shown.

View File

@ -1,6 +1,6 @@
{ {
"GameName":"Graveyard Shift", "GameName":"Graveyard Shift",
"Developers": "Alan Youngblood", "Developers": "Alan Youngblood, Simon Zaleski",
"LibraryDevelopers": "Sam Lantinga, Dave Gamble, Carl Birch, Job Vranish, David Lafreniere", "LibraryDevelopers": "Sam Lantinga, Dave Gamble, Carl Birch, Job Vranish, David Lafreniere",
"SpecialThanks":"Nic Allen, Brian Lhota" "SpecialThanks":"Nic Allen, Brian Lhota"
} }

View File

@ -1,95 +0,0 @@
#include "ConcreteGMStates.h"
#include <stdio.h>
void TitleScreen::toggle(GameManager* gamemgr)
{
// TitleScreen -> LoadingScreen
printf("Entering TitleScreen state \n");
gamemgr->setState(LoadingScreen::getInstance());
printf("Transition from TitleScreen to LoadingScreen\n");
}
GameManagerState & TitleScreen::getInstance()
{
static TitleScreen singleton;
return singleton;
}
void LoadingScreen::toggle(GameManager* gamemgr)
{
// LoadingScreen -> DayTime
printf("Entering LoadingScreen state \n");
gamemgr->setState(DayTime::getInstance());
printf("Transition from LoadingScreen to DayTime\n");
}
GameManagerState & LoadingScreen::getInstance()
{
static LoadingScreen singleton;
return singleton;
}
void DayTime::toggle(GameManager* gamemgr)
{
// DayTime -> NightTime
printf("Entering DayTime state \n");
gamemgr->setState(NightTime::getInstance());
printf("Transition from DayTime to NightTime\n");
}
GameManagerState & DayTime::getInstance()
{
static DayTime singleton;
return singleton;
}
void NightTime::toggle(GameManager* gamemgr)
{
if(!gameOver)
{
// NightTime -> DayTime
printf("Entering NightTime state \n");
gamemgr->setState(DayTime::getInstance());
printf("Transition from NightTime to DayTime\n");
} else
{
// NightTime -> GameOver
printf("Entering NightTime state \n");
gamemgr->setState(GameOver::getInstance());
printf("Transitioning from NightTime to GameOver \n");
}
}
GameManagerState & NightTime::getInstance()
{
static NightTime singleton;
return singleton;
}
void PauseScreen::toggle(GameManager* gamemgr)
{
// PauseScreen -> DayTime
printf("Entering PauseScreen state \n");
gamemgr->setState(DayTime::getInstance());
printf("Transition from TitleScreen to LoadingScreen\n");
}
GameManagerState & PauseScreen::getInstance()
{
static PauseScreen singleton;
return singleton;
}
void GameOver::toggle(GameManager* gamemgr)
{
// GameOver -> TitleScreen
printf("Entering TitleScreen state \n");
gamemgr->setState(TitleScreen::getInstance());
printf("Transition from TitleScreen to LoadingScreen\n");
}
GameManagerState & GameOver::getInstance()
{
static GameOver singleton;
return singleton;
}

View File

@ -1,82 +0,0 @@
#pragma once
#include "GameManagerState.h"
#include "GameManager.h"
class TitleScreen : public GameManagerState
{
public:
void enter(GameManager * gamemgr) {};
void toggle(GameManager * gamemgr);
void exit(GameManager* gamemgr) {}
static GameManagerState& getInstance();
private:
TitleScreen(){}
TitleScreen(const TitleScreen& other);
TitleScreen& operator=(const TitleScreen& other);
};
class LoadingScreen : public GameManagerState
{
public:
void enter(GameManager * gamemgr) {};
void toggle(GameManager * gamemgr);
void exit(GameManager* gamemgr) {}
static GameManagerState& getInstance();
private:
LoadingScreen(){}
LoadingScreen(const LoadingScreen& other);
LoadingScreen& operator=(const LoadingScreen& other);
};
class DayTime : public GameManagerState
{
public:
void enter(GameManager * gamemgr) {};
void toggle(GameManager * gamemgr);
void exit(GameManager* gamemgr) {}
static GameManagerState& getInstance();
private:
DayTime(){}
DayTime(const DayTime& other);
DayTime& operator=(const DayTime& other);
};
class NightTime : public GameManagerState
{
public:
void enter(GameManager * gamemgr) {};
void toggle(GameManager * gamemgr);
void exit(GameManager* gamemgr) {}
bool gameOver;
static GameManagerState& getInstance();
private:
NightTime(){}
NightTime(const NightTime& other);
NightTime& operator=(const NightTime& other);
};
class GameOver : public GameManagerState
{
public:
void enter(GameManager * gamemgr) {};
void toggle(GameManager * gamemgr);
void exit(GameManager* gamemgr) {}
static GameManagerState& getInstance();
private:
GameOver(){}
GameOver(const GameOver& other);
GameOver& operator=(const GameOver& other);
};
class PauseScreen : public GameManagerState
{
public:
void enter(GameManager * gamemgr) {};
void toggle(GameManager * gamemgr);
void exit(GameManager* gamemgr) {}
static GameManagerState& getInstance();
private:
PauseScreen(){}
PauseScreen(const PauseScreen& other);
PauseScreen& operator=(const PauseScreen& other);
};

View File

@ -1,20 +0,0 @@
#include "GameManager.h"
#include "ConcreteGMStates.h"
GameManager::GameManager()
{
currentState = &TitleScreen::getInstance();
}
void GameManager::setState(GameManagerState& newState)
{
currentState->exit(this); // do stuff before changing states
currentState = &newState; // change the states
currentState->enter(this); // do stuff after changing states
}
void GameManager::toggle()
{
currentState->toggle(this);
}

View File

@ -1,19 +0,0 @@
#pragma once
#include "GameManagerState.h"
// Forward declaration to resolve circular dependency/include
class GameManagerState;
class GameManager
{
public:
GameManager();
inline GameManagerState* getCurrentState() const { return currentState; }
void toggle();
void setState(GameManagerState& newState);
private:
GameManagerState* currentState;
};

View File

@ -1,14 +0,0 @@
#pragma once
#include "GameManager.h"
// Forward declaration to resolve circular dependency/include
class GameManager;
class GameManagerState
{
public:
virtual void enter(GameManager* gamemgr) = 0;
virtual void toggle(GameManager* gamemgr) = 0;
virtual void exit(GameManager* gamemgr) = 0;
virtual ~GameManagerState() {}
};

View File

@ -21,9 +21,6 @@
#include "../ui/UIText.h" #include "../ui/UIText.h"
#include "../ui/UINineSlice.h" #include "../ui/UINineSlice.h"
#include "../cjson/cJSON.h" #include "../cjson/cJSON.h"
#include "../fsm/GameManager.h"
#include "../fsm/GameManagerState.h"
// #include "../fsm/ConcreteGMStates.h"
Map* map; Map* map;
Manager manager; Manager manager;
@ -103,14 +100,14 @@ void Game::init(const char *title, int width, int height, bool fullscreen, int g
assets->AddTexture("textBox", "assets/textures/ui/ui-element-tombstone.png"); assets->AddTexture("textBox", "assets/textures/ui/ui-element-tombstone.png");
assets->AddTexture("tree","assets/textures/objects/tree.png"); assets->AddTexture("tree","assets/textures/objects/tree.png");
assets->AddTexture("jewel","assets/textures/objects/jewel.png"); assets->AddTexture("jewel","assets/textures/objects/jewel.png");
assets->AddTexture("3","assets/textures/ui/day-night-icon.png"); assets->AddTexture("daynighticon","assets/textures/ui/day-night-icon.png");
assets->AddTexture("robber","assets/textures/actors/robberrodent.png"); assets->AddTexture("robber","assets/textures/actors/robberrodent.png");
assets->AddMusicTrack("simonZ","assets/audio/music/sailing16.ogg"); assets->AddMusicTrack("simonZ","assets/audio/music/sailing16.ogg");
assets->AddSoundClip("bwoop","assets/audio/sfx/bwoop.wav"); assets->AddSoundClip("bwoop","assets/audio/sfx/bwoop.wav");
map = new Map("terrain",globalScale,16); map = new Map("terrain",globalScale,16);
const char* myText = "Graveyard Shift"; const char* myText = "Beagle Rescue";
text = new UIText(myText, "font", 0, 0, 8, 12, globalScale); text = new UIText(myText, "font", 0, 0, 8, 12, globalScale);
text->ParseString(myText, 12, 22, globalScale); text->ParseString(myText, 12, 22, globalScale);
SDL_Rect myDestRect = SDL_Rect(); SDL_Rect myDestRect = SDL_Rect();
@ -163,18 +160,6 @@ void Game::init(const char *title, int width, int height, bool fullscreen, int g
enemy.addComponent<SpriteComponent>("robber", SpriteComponent::spriteAnimation, "assets/textures/actors/robberrodent.json"); enemy.addComponent<SpriteComponent>("robber", SpriteComponent::spriteAnimation, "assets/textures/actors/robberrodent.json");
enemy.addGroup(groupEnemies); enemy.addGroup(groupEnemies);
printf("Starting up GameManager\n");
GameManager gamemgr = GameManager();
gamemgr.toggle();
gamemgr.toggle();
gamemgr.toggle();
gamemgr.toggle();
gamemgr.toggle();
gamemgr.toggle();
gamemgr.toggle();
// gamemgr.setState(GameManager::setState(GameManagerState::enter(&PauseScreen)));
printf("GameManager Demo Completed.\n");
} else { } else {
SDL_LogError(SDL_LOG_CATEGORY_APPLICATION, "Couldn't Initialize SDL: %s", SDL_GetError()); SDL_LogError(SDL_LOG_CATEGORY_APPLICATION, "Couldn't Initialize SDL: %s", SDL_GetError());
isRunning = false; isRunning = false;
@ -214,10 +199,9 @@ void Game::update()
if (Mix_PlayingMusic() == 0) if (Mix_PlayingMusic() == 0)
{ {
// std::cout << "Play Music Now" << std::endl; // std::cout << "Play Music Now" << std::endl;
// Mix_PlayMusic(assets->GetMusicTrack("simonZ"), -1); Mix_PlayMusic(assets->GetMusicTrack("simonZ"), -1);
} }
manager.refresh(); manager.refresh();
manager.update(); manager.update();
@ -292,12 +276,12 @@ void Game::render()
{ {
letter->draw(); letter->draw();
} }
Vector2D origPt; // Vector2D origPt;
Vector2D destPt; // Vector2D destPt;
origPt.Zero(); // origPt.Zero();
destPt.x = 320.0*gScale; // destPt.x = 320.0*gScale;
destPt.y = 240.0*gScale; // destPt.y = 240.0*gScale;
drawLine(origPt,destPt,255,0,0); // drawLine(origPt,destPt,255,0,0);
SDL_RenderPresent(renderer); SDL_RenderPresent(renderer);
} }
@ -317,8 +301,8 @@ void Game::printDebug(char* debugInfo)
printf("\n"); printf("\n");
} }
void Game::drawLine(Vector2D srcpt, Vector2D destpt, int red, int green, int blue) // void Game::drawLine(Vector2D srcpt, Vector2D destpt, int red, int green, int blue)
{ // {
SDL_SetRenderDrawColor(renderer, red, green, blue, 255); // SDL_SetRenderDrawColor(renderer, red, green, blue, 255);
SDL_RenderDrawLine(renderer, srcpt.x, srcpt.y, destpt.x, destpt.y); // SDL_RenderDrawLine(renderer, srcpt.x, srcpt.y, destpt.x, destpt.y);
} // }

View File

@ -29,7 +29,7 @@ public:
void render(); void render();
void clean(); void clean();
void printDebug(char* debugInfo); void printDebug(char* debugInfo);
void drawLine(Vector2D srcpt, Vector2D destpt, int red, int green, int blue); // void drawLine(Vector2D srcpt, Vector2D destpt, int red, int green, int blue);
bool running() { return isRunning; } bool running() { return isRunning; }
// static void AddTile(int srcX, int srcY, int xpos, int ypos); // static void AddTile(int srcX, int srcY, int xpos, int ypos);
static SDL_Renderer *renderer; static SDL_Renderer *renderer;