Project imported into KDevelop
This commit is contained in:
parent
e89d9c577f
commit
618bda931e
BIN
build/BeagleRescue
Executable file
BIN
build/BeagleRescue
Executable file
Binary file not shown.
@ -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"
|
||||||
}
|
}
|
||||||
|
@ -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;
|
|
||||||
}
|
|
@ -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);
|
|
||||||
};
|
|
@ -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);
|
|
||||||
}
|
|
||||||
|
|
@ -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;
|
|
||||||
};
|
|
@ -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() {}
|
|
||||||
};
|
|
@ -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);
|
||||||
}
|
// }
|
||||||
|
@ -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;
|
||||||
|
Loading…
Reference in New Issue
Block a user