00001
00002
00003
00004
00005
00006
00007
00008
00009
00010
00012
00013
00014
00015
00016
00017
00018
00019
00020
00021
00022
00023
00024
00025
00026
00027
00028
00029
00030 #ifndef __CONSTRUCT_H__
00031 #define __CONSTRUCT_H__
00032
00034
00035
00036
00037
00038
00098
00099
00100
00101
00102 class CGraphic;
00103 class CPlayerColorGraphic;
00104
00105
00106 enum ConstructionFileType {
00107 ConstructionFileConstruction,
00108 ConstructionFileMain
00109 };
00110
00112 class CConstructionFrame {
00113 public:
00114 CConstructionFrame() : Percent(0), File(ConstructionFileConstruction),
00115 Frame(0), Next(NULL) {}
00116
00117 int Percent;
00118 ConstructionFileType File;
00119 int Frame;
00120 CConstructionFrame *Next;
00121 };
00122
00124 class CConstruction {
00125 public:
00126 CConstruction() : Frames(NULL), Sprite(NULL), Width(0),
00127 Height(0), ShadowSprite(NULL), ShadowWidth(0), ShadowHeight(0)
00128 {
00129 File.Width = 0;
00130 File.Height = 0;
00131 ShadowFile.Width = 0;
00132 ShadowFile.Height = 0;
00133 }
00134
00135 std::string Ident;
00136 struct {
00137 std::string File;
00138 int Width;
00139 int Height;
00140 } File, ShadowFile;
00141 CConstructionFrame *Frames;
00142
00143
00144
00145 CPlayerColorGraphic *Sprite;
00146 int Width;
00147 int Height;
00148 CGraphic *ShadowSprite;
00149 int ShadowWidth;
00150 int ShadowHeight;
00151 };
00152
00153
00154
00155
00156
00157
00158
00159
00160
00161
00162
00163
00164
00166 extern void InitConstructions();
00168 extern void LoadConstructions();
00170 extern void CleanConstructions();
00172 extern CConstruction *ConstructionByIdent(const std::string &ident);
00173
00175 extern void ConstructionCclRegister();
00176
00178
00179 #endif // !__CONSTRUCT_H__