Steam Fort 0.5
|
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