00001
00007
00008
00009
00010
00011
00012
00013
00014
00015
00016
00017
00018
00019
00020
00021
00022
00023
00024
00025
00026
00027 #ifndef spfstH
00028 #define spfstH
00029
00030 #include <sigc++/sigc++.h>
00031
00032
00033 #include "newfont.h"
00034 #include "typen.h"
00035 #include "gamemap.h"
00036
00037 struct Schriften {
00038 pfont smallarial;
00039 pfont smallsystem;
00040 pfont large;
00041 pfont arial8;
00042 pfont guifont;
00043 pfont guicolfont;
00044 pfont monogui;
00045 } ;
00046 extern Schriften schriften;
00047
00048
00049 extern GameMap* actmap;
00050
00052 extern tfield* getfield(int x, int y);
00053
00054
00055
00056
00057
00058
00059
00060
00061 extern void putbuilding( const MapCoordinate& entryPosition,
00062 int color,
00063 const BuildingType* buildingtyp,
00064 int completion,
00065 int ignoreunits = 0 );
00066
00067 extern void putbuilding2( const MapCoordinate& entryPosition,
00068 int color,
00069 BuildingType* buildingtyp);
00070
00071
00073 extern void calculateallobjects( GameMap* m = actmap );
00074
00082 extern void calculateobject(int x,
00083 int y,
00084 bool mof,
00085 const ObjectType* obj,
00086 GameMap* gamemap = actmap );
00087
00088 extern void calculateobject( const MapCoordinate& pos,
00089 bool mof,
00090 const ObjectType* obj,
00091 GameMap* gamemap = actmap );
00092
00093
00094
00102 extern int fieldAccessible( const tfield* field,
00103 const Vehicle* vehicle,
00104 int uheight = -2,
00105 const bool* attacked = NULL,
00106 bool ignoreVisibility = false );
00107
00108
00111 extern void checkunitsforremoval ( void );
00112
00114 extern void checkobjectsforremoval ( void );
00115
00117 extern int getmaxwindspeedforunit ( const Vehicle* eht );
00118
00122 extern int getwindheightforunit ( const Vehicle* eht, int uheight = -1 );
00123
00124
00133 extern int terrainaccessible ( const tfield* field, const Vehicle* vehicle, int uheight = -1 );
00134
00147 extern int terrainaccessible2 ( const tfield* field, const Vehicle* vehicle, int uheight = -1 );
00148
00149
00159 int terrainaccessible2 ( const tfield* field, const TerrainAccess& terrainAccess, int uheight );
00160
00161
00168
00169 extern int getheightdelta ( int height1, int height2 );
00170 extern int getheightdelta ( const ContainerBase* c1, const ContainerBase* c2 );
00172
00178
00179 extern bool fieldvisiblenow( const tfield* pe, int player = actmap->actplayer, GameMap* map = actmap );
00180 extern bool fieldvisiblenow( const tfield* pe, Vehicle* veh, int player = actmap->actplayer );
00182
00188
00189 extern VisibilityStates fieldVisibility ( const tfield* pe, int player = actmap->actplayer );
00190 extern VisibilityStates fieldVisibility ( const tfield* pe, int player, GameMap* gamemap );
00192
00193
00194 extern SigC::Signal0<void> repaintMap;
00195 extern SigC::Signal0<void> repaintDisplay;
00196 extern SigC::Signal0<void> updateFieldInfo;
00197 extern SigC::Signal0<void> cursorMoved;
00198
00200 extern SigC::Signal0<void> viewChanged;
00201 extern SigC::Signal1<void,GameMap*> mapChanged;
00202 extern SigC::Signal1<void,ContainerBase*> showContainerInfo;
00203 extern SigC::Signal1<void,Vehicletype*> showVehicleTypeInfo;
00204 extern SigC::Signal0<bool> idleEvent;
00205
00206 extern void displaymap();
00207
00208
00209 #endif
00210
00211