Created the basic program flow
This commit is contained in:
@@ -0,0 +1,69 @@
|
|||||||
|
#include "combat.hpp"
|
||||||
|
|
||||||
|
#include <iostream>
|
||||||
|
|
||||||
|
using namespace std;
|
||||||
|
|
||||||
|
//-------------------------
|
||||||
|
//Public access members
|
||||||
|
//-------------------------
|
||||||
|
|
||||||
|
Combat::Combat() {
|
||||||
|
#ifdef DEBUG
|
||||||
|
cout << "entering Combat" << endl;
|
||||||
|
#endif
|
||||||
|
}
|
||||||
|
|
||||||
|
Combat::~Combat() {
|
||||||
|
#ifdef DEBUG
|
||||||
|
cout << "leaving Combat" << endl;
|
||||||
|
#endif
|
||||||
|
}
|
||||||
|
|
||||||
|
//-------------------------
|
||||||
|
//Frame loop
|
||||||
|
//-------------------------
|
||||||
|
|
||||||
|
void Combat::FrameStart() {
|
||||||
|
//
|
||||||
|
}
|
||||||
|
|
||||||
|
void Combat::FrameEnd() {
|
||||||
|
//
|
||||||
|
}
|
||||||
|
|
||||||
|
void Combat::Update() {
|
||||||
|
//
|
||||||
|
}
|
||||||
|
|
||||||
|
void Combat::Render(SDL_Surface* const screen) {
|
||||||
|
//
|
||||||
|
}
|
||||||
|
|
||||||
|
//-------------------------
|
||||||
|
//Event handlers
|
||||||
|
//-------------------------
|
||||||
|
|
||||||
|
void Combat::MouseMotion(SDL_MouseMotionEvent const& motion) {
|
||||||
|
//
|
||||||
|
}
|
||||||
|
|
||||||
|
void Combat::MouseButtonDown(SDL_MouseButtonEvent const& button) {
|
||||||
|
//
|
||||||
|
}
|
||||||
|
|
||||||
|
void Combat::MouseButtonUp(SDL_MouseButtonEvent const& button) {
|
||||||
|
//
|
||||||
|
}
|
||||||
|
|
||||||
|
void Combat::KeyDown(SDL_KeyboardEvent const& key) {
|
||||||
|
switch(key.keysym.sym) {
|
||||||
|
case SDLK_ESCAPE:
|
||||||
|
QuitEvent();
|
||||||
|
break;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
void Combat::KeyUp(SDL_KeyboardEvent const& key) {
|
||||||
|
//
|
||||||
|
}
|
||||||
@@ -0,0 +1,27 @@
|
|||||||
|
#ifndef COMBAT_HPP_
|
||||||
|
#define COMBAT_HPP_
|
||||||
|
|
||||||
|
#include "base_scene.hpp"
|
||||||
|
|
||||||
|
class Combat : public BaseScene {
|
||||||
|
public:
|
||||||
|
/* Public access members */
|
||||||
|
Combat();
|
||||||
|
virtual ~Combat();
|
||||||
|
|
||||||
|
protected:
|
||||||
|
/* Frame loop */
|
||||||
|
virtual void FrameStart();
|
||||||
|
virtual void FrameEnd();
|
||||||
|
virtual void Update();
|
||||||
|
virtual void Render(SDL_Surface* const);
|
||||||
|
|
||||||
|
/* Event handlers */
|
||||||
|
virtual void MouseMotion(SDL_MouseMotionEvent const&);
|
||||||
|
virtual void MouseButtonDown(SDL_MouseButtonEvent const&);
|
||||||
|
virtual void MouseButtonUp(SDL_MouseButtonEvent const&);
|
||||||
|
virtual void KeyDown(SDL_KeyboardEvent const&);
|
||||||
|
virtual void KeyUp(SDL_KeyboardEvent const&);
|
||||||
|
};
|
||||||
|
|
||||||
|
#endif
|
||||||
@@ -0,0 +1,71 @@
|
|||||||
|
#include "lobby.hpp"
|
||||||
|
|
||||||
|
#include <iostream>
|
||||||
|
|
||||||
|
using namespace std;
|
||||||
|
|
||||||
|
//-------------------------
|
||||||
|
//Public access members
|
||||||
|
//-------------------------
|
||||||
|
|
||||||
|
Lobby::Lobby() {
|
||||||
|
#ifdef DEBUG
|
||||||
|
cout << "entering Lobby" << endl;
|
||||||
|
#endif
|
||||||
|
}
|
||||||
|
|
||||||
|
Lobby::~Lobby() {
|
||||||
|
#ifdef DEBUG
|
||||||
|
cout << "leaving Lobby" << endl;
|
||||||
|
#endif
|
||||||
|
}
|
||||||
|
|
||||||
|
//-------------------------
|
||||||
|
//Frame loop
|
||||||
|
//-------------------------
|
||||||
|
|
||||||
|
void Lobby::FrameStart() {
|
||||||
|
//
|
||||||
|
}
|
||||||
|
|
||||||
|
void Lobby::FrameEnd() {
|
||||||
|
//
|
||||||
|
}
|
||||||
|
|
||||||
|
void Lobby::Update() {
|
||||||
|
//
|
||||||
|
}
|
||||||
|
|
||||||
|
void Lobby::Render(SDL_Surface* const screen) {
|
||||||
|
//
|
||||||
|
}
|
||||||
|
|
||||||
|
//-------------------------
|
||||||
|
//Event handlers
|
||||||
|
//-------------------------
|
||||||
|
|
||||||
|
void Lobby::MouseMotion(SDL_MouseMotionEvent const& motion) {
|
||||||
|
//
|
||||||
|
}
|
||||||
|
|
||||||
|
void Lobby::MouseButtonDown(SDL_MouseButtonEvent const& button) {
|
||||||
|
//
|
||||||
|
}
|
||||||
|
|
||||||
|
void Lobby::MouseButtonUp(SDL_MouseButtonEvent const& button) {
|
||||||
|
//
|
||||||
|
}
|
||||||
|
|
||||||
|
void Lobby::KeyDown(SDL_KeyboardEvent const& key) {
|
||||||
|
switch(key.keysym.sym) {
|
||||||
|
case SDLK_ESCAPE:
|
||||||
|
QuitEvent();
|
||||||
|
break;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
void Lobby::KeyUp(SDL_KeyboardEvent const& key) {
|
||||||
|
//
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
@@ -0,0 +1,27 @@
|
|||||||
|
#ifndef LOBBY_HPP_
|
||||||
|
#define LOBBY_HPP_
|
||||||
|
|
||||||
|
#include "base_scene.hpp"
|
||||||
|
|
||||||
|
class Lobby : public BaseScene {
|
||||||
|
public:
|
||||||
|
/* Public access members */
|
||||||
|
Lobby();
|
||||||
|
virtual ~Lobby();
|
||||||
|
|
||||||
|
protected:
|
||||||
|
/* Frame loop */
|
||||||
|
virtual void FrameStart();
|
||||||
|
virtual void FrameEnd();
|
||||||
|
virtual void Update();
|
||||||
|
virtual void Render(SDL_Surface* const);
|
||||||
|
|
||||||
|
/* Event handlers */
|
||||||
|
virtual void MouseMotion(SDL_MouseMotionEvent const&);
|
||||||
|
virtual void MouseButtonDown(SDL_MouseButtonEvent const&);
|
||||||
|
virtual void MouseButtonUp(SDL_MouseButtonEvent const&);
|
||||||
|
virtual void KeyDown(SDL_KeyboardEvent const&);
|
||||||
|
virtual void KeyUp(SDL_KeyboardEvent const&);
|
||||||
|
};
|
||||||
|
|
||||||
|
#endif
|
||||||
@@ -0,0 +1,69 @@
|
|||||||
|
#include "main_menu.hpp"
|
||||||
|
|
||||||
|
#include <iostream>
|
||||||
|
|
||||||
|
using namespace std;
|
||||||
|
|
||||||
|
//-------------------------
|
||||||
|
//Public access members
|
||||||
|
//-------------------------
|
||||||
|
|
||||||
|
MainMenu::MainMenu() {
|
||||||
|
#ifdef DEBUG
|
||||||
|
cout << "entering MainMenu" << endl;
|
||||||
|
#endif
|
||||||
|
}
|
||||||
|
|
||||||
|
MainMenu::~MainMenu() {
|
||||||
|
#ifdef DEBUG
|
||||||
|
cout << "leaving MainMenu" << endl;
|
||||||
|
#endif
|
||||||
|
}
|
||||||
|
|
||||||
|
//-------------------------
|
||||||
|
//Frame loop
|
||||||
|
//-------------------------
|
||||||
|
|
||||||
|
void MainMenu::FrameStart() {
|
||||||
|
//
|
||||||
|
}
|
||||||
|
|
||||||
|
void MainMenu::FrameEnd() {
|
||||||
|
//
|
||||||
|
}
|
||||||
|
|
||||||
|
void MainMenu::Update() {
|
||||||
|
//
|
||||||
|
}
|
||||||
|
|
||||||
|
void MainMenu::Render(SDL_Surface* const screen) {
|
||||||
|
//
|
||||||
|
}
|
||||||
|
|
||||||
|
//-------------------------
|
||||||
|
//Event handlers
|
||||||
|
//-------------------------
|
||||||
|
|
||||||
|
void MainMenu::MouseMotion(SDL_MouseMotionEvent const& motion) {
|
||||||
|
//
|
||||||
|
}
|
||||||
|
|
||||||
|
void MainMenu::MouseButtonDown(SDL_MouseButtonEvent const& button) {
|
||||||
|
//
|
||||||
|
}
|
||||||
|
|
||||||
|
void MainMenu::MouseButtonUp(SDL_MouseButtonEvent const& button) {
|
||||||
|
//
|
||||||
|
}
|
||||||
|
|
||||||
|
void MainMenu::KeyDown(SDL_KeyboardEvent const& key) {
|
||||||
|
switch(key.keysym.sym) {
|
||||||
|
case SDLK_ESCAPE:
|
||||||
|
QuitEvent();
|
||||||
|
break;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
void MainMenu::KeyUp(SDL_KeyboardEvent const& key) {
|
||||||
|
//
|
||||||
|
}
|
||||||
@@ -0,0 +1,27 @@
|
|||||||
|
#ifndef MAINMENU_HPP_
|
||||||
|
#define MAINMENU_HPP_
|
||||||
|
|
||||||
|
#include "base_scene.hpp"
|
||||||
|
|
||||||
|
class MainMenu : public BaseScene {
|
||||||
|
public:
|
||||||
|
/* Public access members */
|
||||||
|
MainMenu();
|
||||||
|
virtual ~MainMenu();
|
||||||
|
|
||||||
|
protected:
|
||||||
|
/* Frame loop */
|
||||||
|
virtual void FrameStart();
|
||||||
|
virtual void FrameEnd();
|
||||||
|
virtual void Update();
|
||||||
|
virtual void Render(SDL_Surface* const);
|
||||||
|
|
||||||
|
/* Event handlers */
|
||||||
|
virtual void MouseMotion(SDL_MouseMotionEvent const&);
|
||||||
|
virtual void MouseButtonDown(SDL_MouseButtonEvent const&);
|
||||||
|
virtual void MouseButtonUp(SDL_MouseButtonEvent const&);
|
||||||
|
virtual void KeyDown(SDL_KeyboardEvent const&);
|
||||||
|
virtual void KeyUp(SDL_KeyboardEvent const&);
|
||||||
|
};
|
||||||
|
|
||||||
|
#endif
|
||||||
+21
-5
@@ -2,20 +2,36 @@
|
|||||||
CXXFLAGS+=-std=c++11 -DDEBUG
|
CXXFLAGS+=-std=c++11 -DDEBUG
|
||||||
LIB=-lmingw32 -lSDLmain -lSDL -lwsock32 -lWS2_32
|
LIB=-lmingw32 -lSDLmain -lSDL -lwsock32 -lWS2_32
|
||||||
|
|
||||||
|
#source
|
||||||
|
SRC=base_scene.cpp \
|
||||||
|
scene_manager.cpp \
|
||||||
|
test_systems.cpp \
|
||||||
|
splash.cpp \
|
||||||
|
main_menu.cpp \
|
||||||
|
in_game.cpp \
|
||||||
|
lobby.cpp \
|
||||||
|
combat.cpp \
|
||||||
|
surface_manager.cpp \
|
||||||
|
image.cpp \
|
||||||
|
sprite_sheet.cpp \
|
||||||
|
player.cpp \
|
||||||
|
player_manager.cpp \
|
||||||
|
config_utility.cpp \
|
||||||
|
network.cpp \
|
||||||
|
network_tcp.cpp \
|
||||||
|
main.cpp
|
||||||
|
|
||||||
#objects
|
#objects
|
||||||
OBJDIR=obj
|
OBJDIR=obj
|
||||||
OBJ=$(addprefix $(OBJDIR)/,base_scene.o scene_manager.o surface_manager.o image.o sprite_sheet.o player.o player_manager.o config_utility.o network.o network_tcp.o)
|
OBJ=$(addprefix $(OBJDIR)/,$(SRC:.cpp=.o))
|
||||||
|
|
||||||
#output
|
#output
|
||||||
OUTDIR=out
|
OUTDIR=out
|
||||||
OUT=$(addprefix $(OUTDIR)/,a)
|
OUT=$(addprefix $(OUTDIR)/,a)
|
||||||
|
|
||||||
#source
|
|
||||||
SRC=test_systems.cpp in_game.cpp main.cpp
|
|
||||||
|
|
||||||
#targets
|
#targets
|
||||||
all: $(OBJ) $(OUT)
|
all: $(OBJ) $(OUT)
|
||||||
$(CXX) $(CXXFLAGS) -o $(OUT) $(SRC) $(OBJ) $(LIB)
|
$(CXX) $(CXXFLAGS) -o $(OUT) $(OBJ) $(LIB)
|
||||||
|
|
||||||
$(OBJ): | $(OBJDIR)
|
$(OBJ): | $(OBJDIR)
|
||||||
|
|
||||||
|
|||||||
@@ -3,13 +3,19 @@
|
|||||||
|
|
||||||
enum class SceneList {
|
enum class SceneList {
|
||||||
//these are reserved
|
//these are reserved
|
||||||
QUIT,
|
QUIT, //doubles as "up one scene" in nested scenes
|
||||||
CONTINUE,
|
CONTINUE,
|
||||||
FIRST,
|
FIRST,
|
||||||
|
|
||||||
//custom indexes
|
//custom indexes
|
||||||
TESTSYSTEMS,
|
TESTSYSTEMS,
|
||||||
|
SPLASH,
|
||||||
|
MAINMENU,
|
||||||
INGAME,
|
INGAME,
|
||||||
|
|
||||||
|
//subscenes
|
||||||
|
LOBBY,
|
||||||
|
COMBAT,
|
||||||
};
|
};
|
||||||
|
|
||||||
#endif
|
#endif
|
||||||
|
|||||||
@@ -7,9 +7,19 @@
|
|||||||
//-------------------------
|
//-------------------------
|
||||||
|
|
||||||
//Add the custom scene headers here
|
//Add the custom scene headers here
|
||||||
|
#ifdef DEBUG
|
||||||
#include "test_systems.hpp"
|
#include "test_systems.hpp"
|
||||||
|
#endif
|
||||||
|
|
||||||
|
#include "splash.hpp"
|
||||||
|
#include "main_menu.hpp"
|
||||||
#include "in_game.hpp"
|
#include "in_game.hpp"
|
||||||
|
|
||||||
|
#ifdef DEBUG
|
||||||
|
#include "lobby.hpp"
|
||||||
|
#include "combat.hpp"
|
||||||
|
#endif
|
||||||
|
|
||||||
//-------------------------
|
//-------------------------
|
||||||
//Public access members
|
//Public access members
|
||||||
//-------------------------
|
//-------------------------
|
||||||
@@ -61,13 +71,31 @@ void SceneManager::LoadScene(SceneList sceneIndex) {
|
|||||||
|
|
||||||
switch(sceneIndex) {
|
switch(sceneIndex) {
|
||||||
//add scene creation calls here
|
//add scene creation calls here
|
||||||
case SceneList::FIRST:
|
#ifdef DEBUG
|
||||||
case SceneList::INGAME:
|
|
||||||
activeScene = new InGame();
|
|
||||||
break;
|
|
||||||
case SceneList::TESTSYSTEMS:
|
case SceneList::TESTSYSTEMS:
|
||||||
activeScene = new TestSystems();
|
activeScene = new TestSystems();
|
||||||
break;
|
break;
|
||||||
|
#endif
|
||||||
|
|
||||||
|
case SceneList::FIRST:
|
||||||
|
case SceneList::SPLASH:
|
||||||
|
activeScene = new Splash();
|
||||||
|
break;
|
||||||
|
case SceneList::MAINMENU:
|
||||||
|
activeScene = new MainMenu();
|
||||||
|
break;
|
||||||
|
case SceneList::INGAME:
|
||||||
|
activeScene = new InGame();
|
||||||
|
break;
|
||||||
|
|
||||||
|
#ifdef DEBUG
|
||||||
|
case SceneList::LOBBY:
|
||||||
|
activeScene = new Lobby();
|
||||||
|
break;
|
||||||
|
case SceneList::COMBAT:
|
||||||
|
activeScene = new Combat();
|
||||||
|
break;
|
||||||
|
#endif
|
||||||
|
|
||||||
default:
|
default:
|
||||||
throw(std::logic_error("Failed to recognize the scene index"));
|
throw(std::logic_error("Failed to recognize the scene index"));
|
||||||
|
|||||||
@@ -0,0 +1,69 @@
|
|||||||
|
#include "splash.hpp"
|
||||||
|
|
||||||
|
#include <iostream>
|
||||||
|
|
||||||
|
using namespace std;
|
||||||
|
|
||||||
|
//-------------------------
|
||||||
|
//Public access members
|
||||||
|
//-------------------------
|
||||||
|
|
||||||
|
Splash::Splash() {
|
||||||
|
#ifdef DEBUG
|
||||||
|
cout << "entering Splash" << endl;
|
||||||
|
#endif
|
||||||
|
}
|
||||||
|
|
||||||
|
Splash::~Splash() {
|
||||||
|
#ifdef DEBUG
|
||||||
|
cout << "leaving Splash" << endl;
|
||||||
|
#endif
|
||||||
|
}
|
||||||
|
|
||||||
|
//-------------------------
|
||||||
|
//Frame loop
|
||||||
|
//-------------------------
|
||||||
|
|
||||||
|
void Splash::FrameStart() {
|
||||||
|
//
|
||||||
|
}
|
||||||
|
|
||||||
|
void Splash::FrameEnd() {
|
||||||
|
//
|
||||||
|
}
|
||||||
|
|
||||||
|
void Splash::Update() {
|
||||||
|
//
|
||||||
|
}
|
||||||
|
|
||||||
|
void Splash::Render(SDL_Surface* const screen) {
|
||||||
|
//
|
||||||
|
}
|
||||||
|
|
||||||
|
//-------------------------
|
||||||
|
//Event handlers
|
||||||
|
//-------------------------
|
||||||
|
|
||||||
|
void Splash::MouseMotion(SDL_MouseMotionEvent const& motion) {
|
||||||
|
//
|
||||||
|
}
|
||||||
|
|
||||||
|
void Splash::MouseButtonDown(SDL_MouseButtonEvent const& button) {
|
||||||
|
//
|
||||||
|
}
|
||||||
|
|
||||||
|
void Splash::MouseButtonUp(SDL_MouseButtonEvent const& button) {
|
||||||
|
//
|
||||||
|
}
|
||||||
|
|
||||||
|
void Splash::KeyDown(SDL_KeyboardEvent const& key) {
|
||||||
|
switch(key.keysym.sym) {
|
||||||
|
case SDLK_ESCAPE:
|
||||||
|
QuitEvent();
|
||||||
|
break;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
void Splash::KeyUp(SDL_KeyboardEvent const& key) {
|
||||||
|
//
|
||||||
|
}
|
||||||
@@ -0,0 +1,27 @@
|
|||||||
|
#ifndef SPLASH_HPP_
|
||||||
|
#define SPLASH_HPP_
|
||||||
|
|
||||||
|
#include "base_scene.hpp"
|
||||||
|
|
||||||
|
class Splash : public BaseScene {
|
||||||
|
public:
|
||||||
|
/* Public access members */
|
||||||
|
Splash();
|
||||||
|
virtual ~Splash();
|
||||||
|
|
||||||
|
protected:
|
||||||
|
/* Frame loop */
|
||||||
|
virtual void FrameStart();
|
||||||
|
virtual void FrameEnd();
|
||||||
|
virtual void Update();
|
||||||
|
virtual void Render(SDL_Surface* const);
|
||||||
|
|
||||||
|
/* Event handlers */
|
||||||
|
virtual void MouseMotion(SDL_MouseMotionEvent const&);
|
||||||
|
virtual void MouseButtonDown(SDL_MouseButtonEvent const&);
|
||||||
|
virtual void MouseButtonUp(SDL_MouseButtonEvent const&);
|
||||||
|
virtual void KeyDown(SDL_KeyboardEvent const&);
|
||||||
|
virtual void KeyUp(SDL_KeyboardEvent const&);
|
||||||
|
};
|
||||||
|
|
||||||
|
#endif
|
||||||
+10
-2
@@ -1,15 +1,23 @@
|
|||||||
#include "test_systems.hpp"
|
#include "test_systems.hpp"
|
||||||
|
|
||||||
|
#include <iostream>
|
||||||
|
|
||||||
|
using namespace std;
|
||||||
|
|
||||||
//-------------------------
|
//-------------------------
|
||||||
//Public access members
|
//Public access members
|
||||||
//-------------------------
|
//-------------------------
|
||||||
|
|
||||||
TestSystems::TestSystems() {
|
TestSystems::TestSystems() {
|
||||||
//
|
#ifdef DEBUG
|
||||||
|
cout << "entering TestSystems" << endl;
|
||||||
|
#endif
|
||||||
}
|
}
|
||||||
|
|
||||||
TestSystems::~TestSystems() {
|
TestSystems::~TestSystems() {
|
||||||
//
|
#ifdef DEBUG
|
||||||
|
cout << "leaving TestSystems" << endl;
|
||||||
|
#endif
|
||||||
}
|
}
|
||||||
|
|
||||||
//-------------------------
|
//-------------------------
|
||||||
|
|||||||
@@ -17,11 +17,11 @@ protected:
|
|||||||
virtual void Render(SDL_Surface* const);
|
virtual void Render(SDL_Surface* const);
|
||||||
|
|
||||||
/* Event handlers */
|
/* Event handlers */
|
||||||
virtual void MouseMotion (SDL_MouseMotionEvent const&);
|
virtual void MouseMotion(SDL_MouseMotionEvent const&);
|
||||||
virtual void MouseButtonDown (SDL_MouseButtonEvent const&);
|
virtual void MouseButtonDown(SDL_MouseButtonEvent const&);
|
||||||
virtual void MouseButtonUp (SDL_MouseButtonEvent const&);
|
virtual void MouseButtonUp(SDL_MouseButtonEvent const&);
|
||||||
virtual void KeyDown (SDL_KeyboardEvent const&);
|
virtual void KeyDown(SDL_KeyboardEvent const&);
|
||||||
virtual void KeyUp (SDL_KeyboardEvent const&);
|
virtual void KeyUp(SDL_KeyboardEvent const&);
|
||||||
};
|
};
|
||||||
|
|
||||||
#endif
|
#endif
|
||||||
|
|||||||
@@ -0,0 +1,9 @@
|
|||||||
|
Architecture
|
||||||
|
|
||||||
|
SceneManager:
|
||||||
|
- Splash
|
||||||
|
- MainMenu
|
||||||
|
- Lobby
|
||||||
|
- InGame
|
||||||
|
- Combat
|
||||||
|
- TestSystems (debug scene)
|
||||||
Binary file not shown.
|
After Width: | Height: | Size: 264 KiB |
Binary file not shown.
|
After Width: | Height: | Size: 80 KiB |
Reference in New Issue
Block a user