#ifndef APP_APPLICATION_H_
#define APP_APPLICATION_H_
+#include "fwd.h"
#include "Input.h"
#include "Timer.h"
#include "../sdl/InitScreen.h"
namespace app {
-class State;
-
class Application {
public:
#ifndef APP_APPLICATIONSTATE_H_
#define APP_APPLICATIONSTATE_H_
+#include "fwd.h"
#include "Timer.h"
#include <SDL.h>
namespace app {
-class Application;
-class Input;
-
class State {
public:
--- /dev/null
+/*
+ * fwd.h
+ *
+ * Created on: Sep 29, 2012
+ * Author: holy
+ */
+
+#ifndef APP_FWD_H_
+#define APP_FWD_H_
+
+namespace app {
+
+class Application;
+class Arguments;
+class Input;
+class State;
+template<class Time>
+struct TimerData;
+template<class Time>
+class Timer;
+template<class Time>
+class Timers;
+
+}
+
+#endif /* APP_FWD_H_ */
#define BATTLE_ATTACKCHOICE_H_
#include "TargetSelection.h"
-
-namespace common {
- class Ikari;
- class Item;
- class Spell;
-}
+#include "../common/fwd.h"
namespace battle {
#ifndef BATTLE_BATTLESTATE_H_
#define BATTLE_BATTLESTATE_H_
+#include "fwd.h"
#include "AttackTypeMenu.h"
#include "Hero.h"
#include "HeroTag.h"
#include "MoveMenu.h"
#include "Resources.h"
#include "SmallHeroTag.h"
+#include "../app/fwd.h"
#include "../app/State.h"
+#include "../common/fwd.h"
#include "../geometry/Vector.h"
#include "../graphics/Animation.h"
+#include "../graphics/fwd.h"
#include "../graphics/Menu.h"
#include <cassert>
#include <vector>
#include <SDL.h>
-namespace app { class Input; }
-namespace common {
- class Inventory;
- class Item;
- class Spell;
-}
-namespace graphics {
- class Font;
- class Frame;
- class Gauge;
- class Sprite;
-}
-
namespace battle {
-class AttackChoice;
-class PartyLayout;
-class Stats;
-
class BattleState
: public app::State {
#ifndef BATTLE_HERO_H_
#define BATTLE_HERO_H_
+#include "fwd.h"
#include "AttackChoice.h"
#include "Stats.h"
+#include "../common/fwd.h"
#include "../geometry/Vector.h"
#include "../graphics/Animation.h"
+#include "../graphics/fwd.h"
#include "../graphics/Menu.h"
#include <vector>
#include <SDL.h>
-namespace common {
- class Item;
- class Spell;
-}
-namespace graphics {
- class Sprite;
-}
-
namespace battle {
-class Resources;
-
class Hero {
public:
#ifndef BATTLE_HEROTAG_H_
#define BATTLE_HEROTAG_H_
+#include "fwd.h"
#include "Hero.h"
#include "../geometry/Vector.h"
+#include "../graphics/fwd.h"
#include <SDL.h>
-namespace graphics {
- class Font;
- class Frame;
- class Gauge;
- class Sprite;
-}
-
namespace battle {
-class BattleState;
-
class HeroTag {
public:
#include "AttackChoice.h"
#include "Stats.h"
+#include "../common/fwd.h"
#include "../geometry/Vector.h"
#include "../graphics/Animation.h"
+#include "../graphics/fwd.h"
#include <SDL.h>
-namespace common { class Item; }
-namespace graphics {
- class Sprite;
-}
-
namespace battle {
class Monster {
#ifndef BATTLE_NUMBERANIMATION_H_
#define BATTLE_NUMBERANIMATION_H_
-#include "../graphics/Animation.h"
-
+#include "../app/fwd.h"
#include "../geometry/Vector.h"
-
-namespace app {
- class Application;
- class State;
-}
+#include "../graphics/Animation.h"
namespace battle {
#ifndef BATTLE_RESOURCES_H_
#define BATTLE_RESOURCES_H_
+#include "../common/fwd.h"
#include "../graphics/Color.h"
+#include "../graphics/fwd.h"
#include "../graphics/Menu.h"
#include <SDL.h>
-namespace common {
- class Inventory;
- class Item;
- class Spell;
-}
-namespace graphics {
- class Animation;
- class Font;
- class Frame;
- class Gauge;
- class Sprite;
-}
-
namespace battle {
struct Resources {
#ifndef BATTLE_SMALLHEROTAG_H_
#define BATTLE_SMALLHEROTAG_H_
+#include "fwd.h"
#include "../geometry/Vector.h"
+#include "../graphics/fwd.h"
#include <SDL.h>
-namespace graphics {
- class Font;
- class Frame;
- class Gauge;
-}
-
namespace battle {
-class BattleState;
-
class SmallHeroTag {
public:
#ifndef BATTLE_TARGETSELECTION_H_
#define BATTLE_TARGETSELECTION_H_
-#include <vector>
+#include "fwd.h"
+#include "../common/fwd.h"
-namespace common { class TargetingMode; }
+#include <vector>
namespace battle {
-class BattleState;
-
class TargetSelection {
public:
--- /dev/null
+/*
+ * fwd.h
+ *
+ * Created on: Sep 29, 2012
+ * Author: holy
+ */
+
+#ifndef BATTLE_FWD_H_
+#define BATTLE_FWD_H_
+
+namespace battle {
+
+class AttackChoice;
+class AttackTypeMenu;
+class BattleState;
+class Hero;
+class HeroTag;
+class Monster;
+class MoveMenu;
+class NumberAnimation;
+class PartyLayout;
+class PerformAttacks;
+struct Resources;
+class RunState;
+class SelectAttackType;
+class SelectIkari;
+class SelectItem;
+class SelectMoveAction;
+class SelectSpell;
+class SelectTarget;
+class SmallHeroTag;
+class Stats;
+class SwapHeroes;
+class TargetSelection;
+
+}
+
+#endif /* BATTLE_FWD_H_ */
#ifndef BATTLE_RUNSTATE_H_
#define BATTLE_RUNSTATE_H_
+#include "../fwd.h"
#include "../../app/State.h"
-
#include "../../geometry/Vector.h"
namespace battle {
-class BattleState;
-
class RunState
: public app::State {
#ifndef BATTLE_SELECTATTACKTYPE_H_
#define BATTLE_SELECTATTACKTYPE_H_
+#include "../fwd.h"
#include "../../app/State.h"
#include "../../geometry/Vector.h"
namespace battle {
-class AttackTypeMenu;
-class BattleState;
-
class SelectAttackType
: public app::State {
#ifndef BATTLE_SELECTIKARI_H_
#define BATTLE_SELECTIKARI_H_
+#include "../fwd.h"
#include "../../app/State.h"
-
#include "../../geometry/Vector.h"
namespace battle {
-class BattleState;
-class SelectAttackType;
-
// TODO: looks like item, spell, and ikari select can be merged into one class
class SelectIkari
: public app::State {
#ifndef BATTLE_SELECTITEM_H_
#define BATTLE_SELECTITEM_H_
+#include "../fwd.h"
#include "../../app/State.h"
-
#include "../../geometry/Vector.h"
namespace battle {
-class BattleState;
-class SelectAttackType;
-
class SelectItem
: public app::State {
#ifndef BATTLE_SELECTMOVEACTION_H_
#define BATTLE_SELECTMOVEACTION_H_
+#include "../fwd.h"
#include "../../app/State.h"
#include "../../geometry/Vector.h"
namespace battle {
-class BattleState;
-class MoveMenu;
-
class SelectMoveAction
: public app::State {
#ifndef BATTLE_SELECTSPELL_H_
#define BATTLE_SELECTSPELL_H_
+#include "../fwd.h"
#include "../../app/State.h"
-
#include "../../geometry/Vector.h"
namespace battle {
-class BattleState;
-class SelectAttackType;
-
class SelectSpell
: public app::State {
#ifndef BATTLE_SELECTTARGET_H_
#define BATTLE_SELECTTARGET_H_
+#include "../fwd.h"
#include "../../app/State.h"
-
#include "../../geometry/Vector.h"
-
-namespace graphics { class Sprite; }
+#include "../../graphics/fwd.h"
namespace battle {
-class BattleState;
-class TargetSelection;
-class SelectAttackType;
-
class SelectTarget
: public app::State {
#ifndef BATTLE_SWAPHEROES_H_
#define BATTLE_SWAPHEROES_H_
+#include "../fwd.h"
#include "../../app/State.h"
-
#include "../../geometry/Vector.h"
namespace battle {
-class BattleState;
-class SelectMoveAction;
-
class SwapHeroes
: public app::State {
#ifndef COMMON_INVENTORY_H_
#define COMMON_INVENTORY_H_
+#include "fwd.h"
+
#include <SDL.h>
namespace common {
-class Item;
-
class Inventory {
public:
#ifndef COMMON_ITEM_H_
#define COMMON_ITEM_H_
+#include "fwd.h"
#include "HeroGroup.h"
#include "TargetingMode.h"
+#include "../graphics/fwd.h"
#include <SDL.h>
-namespace graphics {
- class Animation;
- class Sprite;
-}
-
namespace common {
-class Ikari;
-
class Item {
public:
--- /dev/null
+/*
+ * fwd.h
+ *
+ * Created on: Sep 29, 2012
+ * Author: holy
+ */
+
+#ifndef COMMON_FWD_H_
+#define COMMON_FWD_H_
+
+namespace common {
+
+class HeroGroup;
+class Ikari;
+class Inventory;
+class Item;
+class Spell;
+class TargetingMode;
+
+}
+
+#endif /* COMMON_FWD_H_ */
--- /dev/null
+/*
+ * fwd.h
+ *
+ * Created on: Sep 29, 2012
+ * Author: holy
+ */
+
+#ifndef GEOMERTY_FWD_H_
+#define GEOMERTY_FWD_H_
+
+namespace geometry {
+
+template<class Scalar>
+class Vector;
+
+}
+
+#endif /* GEOMERTY_FWD_H_ */
#include "../app/Application.h"
#include "../app/State.h"
#include "../app/Timer.h"
+#include "../loader/fwd.h"
#include "../geometry/Vector.h"
#include <memory>
#include <SDL.h>
-namespace loader {
- class TypeDescription;
-}
-
namespace graphics {
class Animation {
#define GRAPHICS_MENU_H_
#include "Font.h"
+#include "fwd.h"
#include "Sprite.h"
#include "../geometry/Vector.h"
namespace graphics {
-class Sprite;
-
struct MenuProperties {
const Font *font;
const Font *disabledFont;
--- /dev/null
+/*
+ * fwd.h
+ *
+ * Created on: Sep 29, 2012
+ * Author: holy
+ */
+
+#ifndef GRAPHICS_FWD_H_
+#define GRAPHICS_FWD_H_
+
+namespace graphics {
+
+class Animation;
+class AnimationRunner;
+class Color;
+class ComplexAnimation;
+class Font;
+class Frame;
+class Gauge;
+template<class T>
+class Menu;
+struct MenuProperties;
+class SimpleAnimation;
+class Sprite;
+
+}
+
+#endif /* GRAPHICS_FWD_H_ */
#define LOADER_CASTER_H_
#include "Interpreter.h"
+#include "../battle/fwd.h"
+#include "../common/fwd.h"
#include <string>
-namespace battle {
- class Hero;
- class Monster;
- class PartyLayout;
- class Resources;
-}
-
-namespace common {
- class Item;
- class Spell;
-}
-
namespace loader {
class Caster {
#ifndef LOADER_INTERPRETER_H_
#define LOADER_INTERPRETER_H_
+#include "fwd.h"
#include "ParsedSource.h"
#include "TypeDescription.h"
+#include "../battle/fwd.h"
+#include "../common/fwd.h"
#include "../geometry/Vector.h"
#include "../graphics/Color.h"
#include "../graphics/ComplexAnimation.h"
+#include "../graphics/fwd.h"
#include <map>
#include <set>
#include <vector>
#include <SDL.h>
-namespace battle {
- class Hero;
- class Monster;
- class PartyLayout;
- struct Resources;
- class Stats;
-}
-
-namespace common {
- class Ikari;
- class Item;
- class Spell;
- class TargetingMode;
-}
-
-namespace graphics {
- class Animation;
- class Font;
- class Frame;
- class Gauge;
- struct MenuProperties;
- class SimpleAnimation;
- class Sprite;
-}
-
namespace loader {
-class Definition;
-class Literal;
-class PropertyList;
-class Value;
-
class Interpreter {
public:
#ifndef LOADER_PARSEDSOURCE_H_
#define LOADER_PARSEDSOURCE_H_
+#include "fwd.h"
+
#include <iosfwd>
#include <map>
#include <set>
namespace loader {
-class PropertyList;
-class Value;
-
class Literal {
public:
#ifndef LOADER_PARSER_H_
#define LOADER_PARSER_H_
+#include "fwd.h"
#include "ParsedSource.h"
#include "Tokenizer.h"
namespace loader {
-class Declaration;
-class Definition;
-class Literal;
-class PropertyList;
-
class Parser {
public:
--- /dev/null
+/*
+ * fwd.h
+ *
+ * Created on: Sep 29, 2012
+ * Author: holy
+ */
+
+#ifndef LOADER_FWD_H_
+#define LOADER_FWD_H_
+
+namespace loader {
+
+class Caster;
+class Declaration;
+class Definition;
+class FieldDescription;
+class Interpreter;
+class Literal;
+class ParsedSource;
+class Parser;
+class PropertyList;
+class Tokenizer;
+class TypeDescription;
+class Value;
+
+}
+
+#endif /* LOADER_FWD_H_ */