Steam Fort 0.5

src/main.hpp

Go to the documentation of this file.
00001 /*********************************************************************
00002  * Copyright 2011 Bartek thindil Jasicki
00003  *
00004  *  This file is part of Steam Fort.
00005  *
00006  *  Steam Fort is free software: you can redistribute it and/or modify
00007  * it under the terms of the GNU General Public License as published by
00008  * the Free Software Foundation, either version 3 of the License, or
00009  * (at your option) any later version.
00010  *
00011  * Steam Fort is distributed in the hope that it will be useful,
00012  * but WITHOUT ANY WARRANTY; without even the implied warranty of
00013  * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
00014  * GNU General Public License for more details.
00015  *
00016  * You should have received a copy of the GNU General Public License
00017  * along with Steam Fort.  If not, see <http://www.gnu.org/licenses/>.
00018 *********************************************************************/
00019 #ifndef MAIN_HPP
00020 #define MAIN_HPP
00021 #include <vector>
00022 #include "mobile.hpp"
00023 #include "item.hpp"
00024 #include "order.hpp"
00025 #include "building.hpp"
00026 #include "recipe.hpp"
00027 #include "mission.hpp"
00028 #include "map.hpp"
00029 #include "magic.hpp"
00030 
00031 #define MAPWIDTH 250
00032 #define MAPHEIGHT 250
00033 #define SCREENWIDTH 100
00034 #define SCREENHEIGHT 75
00035 #define NONE -1
00036 
00037 using namespace std;
00038 
00042 typedef enum GameState
00043   {
00044     MAINMENU,
00045     FORT,
00046     CREW,
00047     ORDERS,
00048     ORDER,
00049     BUILD,
00050     CONSTRUCT,
00051     OBJECTS,
00052     ABOUT,
00053     MOBINFO,
00054     ENDGAME,
00055     MARKS,
00056     MARK,
00057     DESIGN,
00058     MESSAGES,
00059     MOBINV,
00060     MISSIONS,
00061     ADVENTURE,
00062     MOBINFO2,
00063     MOBINV2,
00064     HELP,
00065     HELP2,
00066     CAST,
00067     CAST2,
00068     MTARGET,
00069     MTARGET2
00070   } GAMESTATE;
00071 
00075 typedef enum ObjectTypes
00076   {
00077     MOB,
00078     ITEM,
00079     BUILDING,
00080     ORDER1,
00081     DISCOVER,
00082     RECIPE,
00083     LAND,
00084     MISSION,
00085     HELPENTRY,
00086     SPELL
00087   } OBJECTTYPE;
00088 
00089 typedef enum LandTypes
00090   {
00091     EARTH,
00092     LSAND,
00093     WATER
00094   } LANDTYPE;
00095 
00096 extern vector<Item> protoobjs;
00097 extern vector<Mobile> protomobs;
00098 extern vector<Building> protobuilds;
00099 extern vector<Mission> protomissions;
00100 extern vector<Spell> protospells;
00101 extern vector<Mobile> fortmobs;
00102 extern vector<Item> fortobjs;
00103 extern vector<Order> fortorders;
00104 extern vector<Building> fortbuilds;
00105 extern vector<Recipe> fortrecipes;
00106 extern TCODMap *fovmap;
00107 extern int stage;
00108 extern TCODConsole *offconsole;
00109 extern int screenx;
00110 extern int screeny;
00111 extern GameState state;
00112 extern vector<int> designated[2];
00113 extern int gtime[4];
00114 extern Cell fortmap[MAPHEIGHT][MAPWIDTH];
00115 extern float secs;
00116 
00117 void draw_fort();
00118 void game_menu();
00119 
00120 #endif
 All Classes Files Functions Variables Typedefs Enumerations Enumerator Defines