Main Page | Namespace List | Class Hierarchy | Alphabetical List | Class List | File List | Namespace Members | Class Members | File Members | Related Pages

controls.h

Go to the documentation of this file.
00001 
00007 /*
00008     This file is part of Advanced Strategic Command; http://www.asc-hq.de
00009     Copyright (C) 1994-1999  Martin Bickel  and  Marc Schellenberger
00010 
00011     This program is free software; you can redistribute it and/or modify
00012     it under the terms of the GNU General Public License as published by
00013     the Free Software Foundation; either version 2 of the License, or
00014     (at your option) any later version.
00015 
00016     This program is distributed in the hope that it will be useful,
00017     but WITHOUT ANY WARRANTY; without even the implied warranty of
00018     MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
00019     GNU General Public License for more details.
00020 
00021     You should have received a copy of the GNU General Public License
00022     along with this program; see the file COPYING. If not, write to the 
00023     Free Software Foundation, Inc., 59 Temple Place, Suite 330, 
00024     Boston, MA  02111-1307  USA
00025 */
00026 
00027 #if defined(karteneditor) 
00028  #error the mapeditor should not need to use controls.h !
00029 #endif
00030 
00031 
00032 #ifndef controlsH
00033 #define controlsH
00034 #include "typen.h"
00035 #include "astar2.h"
00036 
00037 
00038 
00040    struct tmoveparams { 
00041                         unsigned char         movestatus;       /*  Folgende Modi sind definiert : 
00042                                                                              0:  garnichts, standard
00043                                                                              72: putstreet
00044                                                                              90: putmine
00045                                                                              111: putbuilding l1
00046                                                                              112: putbuilding l2
00047                                                                              115: removebuilding
00048                                                                              120: construct vehicle
00049                                                                              130: external loading
00050                                                                              140: jumpdrive
00051                                                                    */
00052 
00053                         int           movesx, movesy, moveerr; 
00054                         Vehicle*     vehicletomove;
00055                         int          newheight; 
00056                         int          oldheight; 
00057                         char         heightdir; 
00058                         BuildingType* buildingtobuild;   /*  nur bei movestatus = 111  */ 
00059                         int          movespeed;
00060                         int          uheight;
00061                         tmoveparams() { reset(); };
00062                         void reset();
00063                      }; 
00065   extern tmoveparams moveparams; 
00066 
00067 
00068 
00072 extern pair<int,int> calcMoveMalus( const MapCoordinate3D& start,
00073                                     const MapCoordinate3D& dest,
00074                                     const Vehicle*     vehicle,
00075                                     WindMovement* wm = NULL,
00076                                     bool*  inhibitAttack = NULL,
00077                                     bool container2container  = false );
00078 
00080 extern int windbeeline ( const MapCoordinate& start, const MapCoordinate& dest, WindMovement* wm );
00081 
00082 
00086 
00087 
00089 extern void  constructvehicle( Vehicletype* tnk );
00090 
00092 extern void build_vehicles_reset( void );
00093 
00095 extern void  putMine( const MapCoordinate& pos, int typ, int delta );
00096 
00098 extern void         destructbuildinglevel2( int xp, int yp);
00099 
00101 extern void         destructbuildinglevel1( int xp, int yp);
00102 
00103 
00104 
00106 extern void dissectvehicle ( Vehicle* eht );
00107 
00108 
00109 
00110 
00111 // extern int searchexternaltransferfields ( Building* bld );
00112 
00113 extern Resources getDestructionCost( Building* bld, Vehicle* veh );
00114 
00115 
00117 extern void researchCheck( Player& player );
00118 
00119 #endif

Generated on Tue Jun 24 01:27:38 2008 for Advanced Strategic Command by  doxygen 1.4.2