]> git.localhorst.tv Git - l2e.git/commitdiff
wrapped some virtual State methods in non-virtual calls
authorDaniel Karbach <daniel.karbach@localhorst.tv>
Wed, 17 Oct 2012 18:44:51 +0000 (20:44 +0200)
committerDaniel Karbach <daniel.karbach@localhorst.tv>
Wed, 17 Oct 2012 18:44:51 +0000 (20:44 +0200)
19 files changed:
Debug/src/app/subdir.mk
Release/src/app/subdir.mk
src/app/Application.cpp
src/app/State.cpp [new file with mode: 0644]
src/app/State.h
src/battle/BattleState.h
src/battle/states/PerformAttacks.h
src/battle/states/RunState.h
src/battle/states/SelectAttackType.h
src/battle/states/SelectIkari.h
src/battle/states/SelectItem.h
src/battle/states/SelectMoveAction.h
src/battle/states/SelectSpell.h
src/battle/states/SelectTarget.h
src/battle/states/SwapHeroes.h
src/graphics/ColorFade.cpp
src/graphics/ColorFade.h
src/map/MapState.h
src/map/TransitionState.h

index 8fad388622e8a78baa916580f11755e2e458e935..caae9156b2f566f32e1939ffcce4e84e53491196 100644 (file)
@@ -6,17 +6,20 @@
 CPP_SRCS += \
 ../src/app/Application.cpp \
 ../src/app/Arguments.cpp \
-../src/app/Input.cpp 
+../src/app/Input.cpp \
+../src/app/State.cpp 
 
 OBJS += \
 ./src/app/Application.o \
 ./src/app/Arguments.o \
-./src/app/Input.o 
+./src/app/Input.o \
+./src/app/State.o 
 
 CPP_DEPS += \
 ./src/app/Application.d \
 ./src/app/Arguments.d \
-./src/app/Input.d 
+./src/app/Input.d \
+./src/app/State.d 
 
 
 # Each subdirectory must supply rules for building sources it contributes
index cf5419093b43305265b5d8d626c8baca39f4c90c..57cbd254b17389a6e45a161bdbc6d9d310fbdaa8 100644 (file)
@@ -6,17 +6,20 @@
 CPP_SRCS += \
 ../src/app/Application.cpp \
 ../src/app/Arguments.cpp \
-../src/app/Input.cpp 
+../src/app/Input.cpp \
+../src/app/State.cpp 
 
 OBJS += \
 ./src/app/Application.o \
 ./src/app/Arguments.o \
-./src/app/Input.o 
+./src/app/Input.o \
+./src/app/State.o 
 
 CPP_DEPS += \
 ./src/app/Application.d \
 ./src/app/Arguments.d \
-./src/app/Input.d 
+./src/app/Input.d \
+./src/app/State.d 
 
 
 # Each subdirectory must supply rules for building sources it contributes
index b84d7248da1a465b7eafa557cc85c0d393b6789f..f773cfcec71f96252c9da4cad9275e8096016bc9 100644 (file)
@@ -85,32 +85,32 @@ void Application::PopState() {
 
 void Application::RealChangeState(State *s) {
        if (!states.empty()) {
-               states.top()->OnPauseState(*this, screen.Screen());
-               states.top()->OnExitState(*this, screen.Screen());
+               states.top()->PauseState(*this, screen.Screen());
+               states.top()->ExitState(*this, screen.Screen());
                states.pop();
        }
        states.push(s);
-       s->OnEnterState(*this, screen.Screen());
-       s->OnResumeState(*this, screen.Screen());
+       s->EnterState(*this, screen.Screen());
+       s->ResumeState(*this, screen.Screen());
 }
 
 void Application::RealPushState(State *s) {
        if (!states.empty()) {
-               states.top()->OnPauseState(*this, screen.Screen());
+               states.top()->PauseState(*this, screen.Screen());
        }
        states.push(s);
-       s->OnEnterState(*this, screen.Screen());
-       s->OnResumeState(*this, screen.Screen());
+       s->EnterState(*this, screen.Screen());
+       s->ResumeState(*this, screen.Screen());
 }
 
 void Application::RealPopState() {
        if (states.empty()) return;
-       states.top()->OnPauseState(*this, screen.Screen());
-       states.top()->OnExitState(*this, screen.Screen());
+       states.top()->PauseState(*this, screen.Screen());
+       states.top()->ExitState(*this, screen.Screen());
        delete states.top();
        states.pop();
        if (!states.empty()) {
-               states.top()->OnResumeState(*this, screen.Screen());
+               states.top()->ResumeState(*this, screen.Screen());
        }
 }
 
@@ -120,8 +120,8 @@ void Application::Quit() {
 
 void Application::PopAllStates() {
        while (!states.empty()) {
-               states.top()->OnPauseState(*this, screen.Screen());
-               states.top()->OnExitState(*this, screen.Screen());
+               states.top()->PauseState(*this, screen.Screen());
+               states.top()->ExitState(*this, screen.Screen());
                delete states.top();
                states.pop();
        }
@@ -165,7 +165,7 @@ void Application::HandleEvents() {
                                break;
                        case SDL_VIDEORESIZE:
                                screen.Resize(event.resize.w, event.resize.h);
-                               CurrentState()->OnResize(event.resize.w, event.resize.h);
+                               CurrentState()->Resize(event.resize.w, event.resize.h);
                                break;
                        case SDL_KEYDOWN:
                        case SDL_KEYUP:
diff --git a/src/app/State.cpp b/src/app/State.cpp
new file mode 100644 (file)
index 0000000..50b5bf6
--- /dev/null
@@ -0,0 +1,37 @@
+/*
+ * State.cpp
+ *
+ *  Created on: Oct 17, 2012
+ *      Author: holy
+ */
+
+#include "State.h"
+
+namespace app {
+
+State::~State() {
+
+}
+
+
+void State::EnterState(Application &ctrl, SDL_Surface *screen) {
+       OnEnterState(ctrl, screen);
+}
+
+void State::ExitState(Application &ctrl, SDL_Surface *screen) {
+       OnExitState(ctrl, screen);
+}
+
+void State::ResumeState(Application &ctrl, SDL_Surface *screen) {
+       OnResumeState(ctrl, screen);
+}
+
+void State::PauseState(Application &ctrl, SDL_Surface *screen) {
+       OnPauseState(ctrl, screen);
+}
+
+void State::Resize(int width, int height) {
+       OnResize(width, height);
+}
+
+}
index 6783d76052c41f17a2b1d8ea24e9b9ffccf42b2a..a84afde9941a26b0809cdd20c884f9e6ab0920be 100644 (file)
@@ -19,9 +19,29 @@ namespace app {
 class State {
 
 public:
-       virtual ~State() { };
+       virtual ~State();
 
 public:
+       /// Called by Application when pushing this state.
+       void EnterState(Application &ctrl, SDL_Surface *screen);
+       /// Called by Application when popping this state.
+       void ExitState(Application &ctrl, SDL_Surface *screen);
+       /// Called by Application when this state becomes the top state.
+       void ResumeState(Application &ctrl, SDL_Surface *screen);
+       /// Called by Application when this state no longer is the top state.
+       void PauseState(Application &ctrl, SDL_Surface *screen);
+
+       /// Called by Application on SDL window resize events.
+       void Resize(int width, int height);
+
+       /// Handle interactive events such as input and timers.
+       virtual void HandleEvents(const Input &) = 0;
+       /// Update the time-dependant world representation.
+       virtual void UpdateWorld(float deltaT) = 0;
+       /// Draw a picture of the world.
+       virtual void Render(SDL_Surface *) = 0;
+
+private:
        /// Do some setup that needs an application and/or screen handle and thus
        /// can not be done by the constructor.
        /// Called when the state first enters the stack.
@@ -41,13 +61,6 @@ public:
        ///       Will be fixed soom ;).
        virtual void OnResize(int width, int height) = 0;
 
-       /// Handle interactive events such as input and timers.
-       virtual void HandleEvents(const Input &) = 0;
-       /// Update the time-dependant world representation.
-       virtual void UpdateWorld(float deltaT) = 0;
-       /// Draw a picture of the world.
-       virtual void Render(SDL_Surface *) = 0;
-
 public:
        /// Timers handle intended for graphics, sync'ed with render time.
        /// These timers are only updated for the stack top and thus appear paused
index 00cea78781cf14166dc779408c344475b0371cd2..cc9eaf1f68992d7d8370c4a9a02a5d51911e16fa 100644 (file)
@@ -56,13 +56,6 @@ public:
        void AddHero(const Hero &);
 
 public:
-       virtual void OnEnterState(app::Application &ctrl, SDL_Surface *screen);
-       virtual void OnExitState(app::Application &ctrl, SDL_Surface *screen);
-       virtual void OnResumeState(app::Application &ctrl, SDL_Surface *screen);
-       virtual void OnPauseState(app::Application &ctrl, SDL_Surface *screen);
-
-       virtual void OnResize(int width, int height);
-
        virtual void HandleEvents(const app::Input &);
        virtual void UpdateWorld(float deltaT);
        virtual void Render(SDL_Surface *);
@@ -137,6 +130,14 @@ public:
        void RenderHeroTags(SDL_Surface *screen, const geometry::Vector<int> &offset);
        void RenderSmallHeroTags(SDL_Surface *screen, const geometry::Vector<int> &offset);
 
+private:
+       virtual void OnEnterState(app::Application &ctrl, SDL_Surface *screen);
+       virtual void OnExitState(app::Application &ctrl, SDL_Surface *screen);
+       virtual void OnResumeState(app::Application &ctrl, SDL_Surface *screen);
+       virtual void OnPauseState(app::Application &ctrl, SDL_Surface *screen);
+
+       virtual void OnResize(int width, int height);
+
 private:
        void LoadInventory();
 
index fa16b4c37a7a1e1a1427c4eec35ed8fa2388e3f5..e52160c077c930848a958d8db82401a05ea82df2 100644 (file)
@@ -27,6 +27,11 @@ public:
        : ctrl(0), battle(battle), moveAnimation(0), targetAnimation(0), titleBarText(0), cursor(-1) { }
 
 public:
+       virtual void HandleEvents(const app::Input &);
+       virtual void UpdateWorld(float deltaT);
+       virtual void Render(SDL_Surface *);
+
+private:
        virtual void OnEnterState(app::Application &ctrl, SDL_Surface *screen);
        virtual void OnExitState(app::Application &ctrl, SDL_Surface *screen);
        virtual void OnResumeState(app::Application &ctrl, SDL_Surface *screen);
@@ -34,10 +39,6 @@ public:
 
        virtual void OnResize(int width, int height);
 
-       virtual void HandleEvents(const app::Input &);
-       virtual void UpdateWorld(float deltaT);
-       virtual void Render(SDL_Surface *);
-
 private:
        void CheckAnimations();
        bool HasAnimationsRunning() const;
index e2d1b1b31f124cf9f55f0bf57a5faad41520500a..0f2818df8f60ede3d291cd6ed9e1069c35e99a40 100644 (file)
@@ -22,6 +22,12 @@ public:
        : ctrl(0), battle(battle){ }
 
 public:
+
+       virtual void HandleEvents(const app::Input &);
+       virtual void UpdateWorld(float deltaT);
+       virtual void Render(SDL_Surface *);
+
+private:
        virtual void OnEnterState(app::Application &ctrl, SDL_Surface *screen);
        virtual void OnExitState(app::Application &ctrl, SDL_Surface *screen);
        virtual void OnResumeState(app::Application &ctrl, SDL_Surface *screen);
@@ -29,10 +35,6 @@ public:
 
        virtual void OnResize(int width, int height);
 
-       virtual void HandleEvents(const app::Input &);
-       virtual void UpdateWorld(float deltaT);
-       virtual void Render(SDL_Surface *);
-
 private:
        void RenderTitleBar(SDL_Surface *screen, const geometry::Vector<int> &offset);
 
index 690427f070371270a0b0ffef0a06a9e229c1244d..557602f50248f0379d7285233fd4e2e55d01ea1c 100644 (file)
@@ -22,6 +22,11 @@ public:
        : ctrl(0), battle(battle) { }
 
 public:
+       virtual void HandleEvents(const app::Input &);
+       virtual void UpdateWorld(float deltaT);
+       virtual void Render(SDL_Surface *);
+
+private:
        virtual void OnEnterState(app::Application &ctrl, SDL_Surface *screen);
        virtual void OnExitState(app::Application &ctrl, SDL_Surface *screen);
        virtual void OnResumeState(app::Application &ctrl, SDL_Surface *screen);
@@ -29,10 +34,6 @@ public:
 
        virtual void OnResize(int width, int height);
 
-       virtual void HandleEvents(const app::Input &);
-       virtual void UpdateWorld(float deltaT);
-       virtual void Render(SDL_Surface *);
-
 private:
        void RenderMenu(SDL_Surface *screen, const geometry::Vector<int> &offset);
 
index c213b7f2ada60d0e5eab93d42ba6b0b8611f814b..a7383a0535fd690b6f38b063b06366852f8acf71 100644 (file)
@@ -23,6 +23,11 @@ public:
        : ctrl(0), battle(battle), parent(parent) { }
 
 public:
+       virtual void HandleEvents(const app::Input &);
+       virtual void UpdateWorld(float deltaT);
+       virtual void Render(SDL_Surface *);
+
+private:
        virtual void OnEnterState(app::Application &ctrl, SDL_Surface *screen);
        virtual void OnExitState(app::Application &ctrl, SDL_Surface *screen);
        virtual void OnResumeState(app::Application &ctrl, SDL_Surface *screen);
@@ -30,10 +35,6 @@ public:
 
        virtual void OnResize(int width, int height);
 
-       virtual void HandleEvents(const app::Input &);
-       virtual void UpdateWorld(float deltaT);
-       virtual void Render(SDL_Surface *);
-
 private:
        void RenderFrame(SDL_Surface *, const geometry::Vector<int> &offset);
        void RenderHeadline(SDL_Surface *, const geometry::Vector<int> &offset);
index 5fe98d0ec72996b9f289988a98605776383114cb..e3d2168777573bb3e9066aab229f24faeecde37e 100644 (file)
@@ -22,6 +22,11 @@ public:
        : ctrl(0), battle(battle), parent(parent) { }
 
 public:
+       virtual void HandleEvents(const app::Input &);
+       virtual void UpdateWorld(float deltaT);
+       virtual void Render(SDL_Surface *);
+
+private:
        virtual void OnEnterState(app::Application &ctrl, SDL_Surface *screen);
        virtual void OnExitState(app::Application &ctrl, SDL_Surface *screen);
        virtual void OnResumeState(app::Application &ctrl, SDL_Surface *screen);
@@ -29,10 +34,6 @@ public:
 
        virtual void OnResize(int width, int height);
 
-       virtual void HandleEvents(const app::Input &);
-       virtual void UpdateWorld(float deltaT);
-       virtual void Render(SDL_Surface *);
-
 private:
        void RenderFrame(SDL_Surface *, const geometry::Vector<int> &offset);
        void RenderHeadline(SDL_Surface *, const geometry::Vector<int> &offset);
index 2a55a92f7f3e512a4e066e57d23b95423098c3d9..bb04fb51e3a20cc1700236c571179dd76c33c329 100644 (file)
@@ -22,6 +22,11 @@ public:
        : ctrl(0), battle(battle) { }
 
 public:
+       virtual void HandleEvents(const app::Input &);
+       virtual void UpdateWorld(float deltaT);
+       virtual void Render(SDL_Surface *);
+
+private:
        virtual void OnEnterState(app::Application &ctrl, SDL_Surface *screen);
        virtual void OnExitState(app::Application &ctrl, SDL_Surface *screen);
        virtual void OnResumeState(app::Application &ctrl, SDL_Surface *screen);
@@ -29,10 +34,6 @@ public:
 
        virtual void OnResize(int width, int height);
 
-       virtual void HandleEvents(const app::Input &);
-       virtual void UpdateWorld(float deltaT);
-       virtual void Render(SDL_Surface *);
-
 private:
        void RenderMenu(SDL_Surface *screen, const geometry::Vector<int> &offset);
 
index 823bef2395dab65613391576ed2c2a24f84e1d46..7a0bad417bd5ba799ebf9cb19d29858e6f6609ae 100644 (file)
@@ -22,6 +22,11 @@ public:
        : ctrl(0), battle(battle), parent(parent) { }
 
 public:
+       virtual void HandleEvents(const app::Input &);
+       virtual void UpdateWorld(float deltaT);
+       virtual void Render(SDL_Surface *);
+
+private:
        virtual void OnEnterState(app::Application &ctrl, SDL_Surface *screen);
        virtual void OnExitState(app::Application &ctrl, SDL_Surface *screen);
        virtual void OnResumeState(app::Application &ctrl, SDL_Surface *screen);
@@ -29,10 +34,6 @@ public:
 
        virtual void OnResize(int width, int height);
 
-       virtual void HandleEvents(const app::Input &);
-       virtual void UpdateWorld(float deltaT);
-       virtual void Render(SDL_Surface *);
-
 private:
        void RenderFrame(SDL_Surface *, const geometry::Vector<int> &offset);
        void RenderHeadline(SDL_Surface *, const geometry::Vector<int> &offset);
index 2f1f38403d19696d789a7d330e6554a7dc796ff5..454903672fb4846462e1b4685b6d6fbd73286915 100644 (file)
@@ -23,6 +23,11 @@ public:
        : ctrl(0), battle(battle), parent(parent), selection(selection), cursorIcon(cursorIcon), flipFlop(true) { }
 
 public:
+       virtual void HandleEvents(const app::Input &);
+       virtual void UpdateWorld(float deltaT);
+       virtual void Render(SDL_Surface *);
+
+private:
        virtual void OnEnterState(app::Application &ctrl, SDL_Surface *screen);
        virtual void OnExitState(app::Application &ctrl, SDL_Surface *screen);
        virtual void OnResumeState(app::Application &ctrl, SDL_Surface *screen);
@@ -30,10 +35,6 @@ public:
 
        virtual void OnResize(int width, int height);
 
-       virtual void HandleEvents(const app::Input &);
-       virtual void UpdateWorld(float deltaT);
-       virtual void Render(SDL_Surface *);
-
 private:
        void RenderCursors(SDL_Surface *screen, const geometry::Vector<int> &offset);
 
index 68e736001db6d85ae6719306ab1b5a7c35c6ff87..a5f5c62379399043f0148988068c52439e0ff392 100644 (file)
@@ -22,6 +22,11 @@ public:
        : ctrl(0), battle(battle), parent(parent), cursor(0), selected(-1), flipFlop(true) { }
 
 public:
+       virtual void HandleEvents(const app::Input &);
+       virtual void UpdateWorld(float deltaT);
+       virtual void Render(SDL_Surface *);
+
+private:
        virtual void OnEnterState(app::Application &ctrl, SDL_Surface *screen);
        virtual void OnExitState(app::Application &ctrl, SDL_Surface *screen);
        virtual void OnResumeState(app::Application &ctrl, SDL_Surface *screen);
@@ -29,10 +34,6 @@ public:
 
        virtual void OnResize(int width, int height);
 
-       virtual void HandleEvents(const app::Input &);
-       virtual void UpdateWorld(float deltaT);
-       virtual void Render(SDL_Surface *);
-
 private:
        void MoveUp();
        void MoveRight();
index b33ee0838540d36e46ea9a119fda3c9a2508b4fa..196b0d8386f3d6aff03268ababc15a800c412b72 100644 (file)
@@ -57,7 +57,7 @@ void ColorFade::OnPauseState(Application &ctrl, SDL_Surface *screen) {
 
 
 void ColorFade::OnResize(int width, int height) {
-       slave->OnResize(width, height);
+       slave->Resize(width, height);
        UpdateBlinds(width, height);
 }
 
index 947675e23ca1b238485f509e41feb20391316df1..26942726e5c6d7e772c313e634b318fc4a0b9b29 100644 (file)
@@ -27,6 +27,11 @@ public:
        void SetLeadOutTime(int ms) { leadOut = ms; }
 
 public:
+       virtual void HandleEvents(const app::Input &);
+       virtual void UpdateWorld(float deltaT);
+       virtual void Render(SDL_Surface *);
+
+private:
        virtual void OnEnterState(app::Application &ctrl, SDL_Surface *screen);
        virtual void OnExitState(app::Application &ctrl, SDL_Surface *screen);
        virtual void OnResumeState(app::Application &ctrl, SDL_Surface *screen);
@@ -34,10 +39,6 @@ public:
 
        virtual void OnResize(int width, int height);
 
-       virtual void HandleEvents(const app::Input &);
-       virtual void UpdateWorld(float deltaT);
-       virtual void Render(SDL_Surface *);
-
 private:
        void UpdateBlinds(int width, int height);
        Uint8 GetAlpha() const;
index c5f26e170523cc55f973cb898ea758f50d7eaab7..fcea893c0980f82f2728f1597885d2f8dc87b87c 100644 (file)
@@ -30,12 +30,6 @@ public:
        virtual ~MapState() { }
 
 public:
-       virtual void OnEnterState(app::Application &ctrl, SDL_Surface *screen);
-       virtual void OnExitState(app::Application &ctrl, SDL_Surface *screen);
-       virtual void OnResumeState(app::Application &ctrl, SDL_Surface *screen);
-       virtual void OnPauseState(app::Application &ctrl, SDL_Surface *screen);
-       virtual void OnResize(int width, int height);
-
        virtual void HandleEvents(const app::Input &);
        virtual void UpdateWorld(float deltaT);
        virtual void Render(SDL_Surface *);
@@ -50,6 +44,14 @@ public:
 
        virtual void HandleSyscall(common::ScriptRunner &);
 
+private:
+       virtual void OnEnterState(app::Application &ctrl, SDL_Surface *screen);
+       virtual void OnExitState(app::Application &ctrl, SDL_Surface *screen);
+       virtual void OnResumeState(app::Application &ctrl, SDL_Surface *screen);
+       virtual void OnPauseState(app::Application &ctrl, SDL_Surface *screen);
+
+       virtual void OnResize(int width, int height);
+
 private:
        static bool ZCompare(const Entity *lhs, const Entity *rhs);
 
index 2a99f1adc8beaa82585aa04263a546b5203cca06..0dfa7cf5e1d7aed97cec1c64ef6fa5b9f2e7abd5 100644 (file)
@@ -22,6 +22,11 @@ public:
        virtual ~TransitionState() { }
 
 public:
+       virtual void HandleEvents(const app::Input &);
+       virtual void UpdateWorld(float deltaT);
+       virtual void Render(SDL_Surface *);
+
+private:
        virtual void OnEnterState(app::Application &ctrl, SDL_Surface *screen);
        virtual void OnExitState(app::Application &ctrl, SDL_Surface *screen);
        virtual void OnResumeState(app::Application &ctrl, SDL_Surface *screen);
@@ -29,10 +34,6 @@ public:
 
        virtual void OnResize(int width, int height);
 
-       virtual void HandleEvents(const app::Input &);
-       virtual void UpdateWorld(float deltaT);
-       virtual void Render(SDL_Surface *);
-
 private:
        app::Application *ctrl;
        MapState *ms;