Created the basic program flow

This commit is contained in:
Kayne Ruse
2013-05-11 23:51:02 +10:00
parent 4671afe900
commit 6a19d0a312
16 changed files with 470 additions and 17 deletions
+69
View File
@@ -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) {
//
}
+27
View File
@@ -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
+71
View File
@@ -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) {
//
}
+27
View File
@@ -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
+69
View File
@@ -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) {
//
}
+27
View File
@@ -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
View File
@@ -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)
+7 -1
View File
@@ -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
+32 -4
View File
@@ -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"));
+69
View File
@@ -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) {
//
}
+27
View File
@@ -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
View File
@@ -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
} }
//------------------------- //-------------------------
+5 -5
View File
@@ -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
+9
View File
@@ -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