00001 00005 // $Id: edgen.h,v 1.11 2009-04-18 13:48:37 mbickel Exp $ 00006 // 00007 // $Log: not supported by cvs2svn $ 00008 // Revision 1.10 2007/04/13 16:15:53 mbickel 00009 // Merged ASC2 branch 00010 // 00011 // Revision 1.8.2.2 2006/06/15 14:15:57 mbickel 00012 // Fixed compilation warnings 00013 // Added new building subwindows 00014 // removed weathersystem 00015 // 00016 // Revision 1.8.2.1 2006/03/01 21:00:50 mbickel 00017 // Clean up of source 00018 // Fixed to construction icons 00019 // 00020 // Revision 1.8 2004/07/12 18:15:05 mbickel 00021 // Lots of tweaks and fixed for more portability and compilation with mingw 00022 // 00023 // Revision 1.7 2001/01/28 14:04:13 mbickel 00024 // Some restructuring, documentation and cleanup 00025 // The resource network functions are now it their own files, the dashboard 00026 // as well 00027 // Updated the TODO list 00028 // 00029 // Revision 1.6 2000/12/23 13:19:46 mbickel 00030 // Made ASC compileable with Borland C++ Builder 00031 // 00032 // Revision 1.5 2000/08/12 12:52:46 mbickel 00033 // Made DOS-Version compile and run again. 00034 // 00035 // Revision 1.4 2000/05/23 20:40:44 mbickel 00036 // Removed boolean type 00037 // 00038 // Revision 1.3 2000/03/29 09:58:45 mbickel 00039 // Improved memory handling for DOS version 00040 // Many small changes I can't remember ;-) 00041 // 00042 // Revision 1.2 1999/11/16 03:41:32 tmwilson 00043 // Added CVS keywords to most of the files. 00044 // Started porting the code to Linux (ifdef'ing the DOS specific stuff) 00045 // Wrote replacement routines for kbhit/getch for Linux 00046 // Cleaned up parts of the code that gcc barfed on (char vs unsigned char) 00047 // Added autoconf/automake capabilities 00048 // Added files used by 'automake --gnu' 00049 // 00050 // 00051 /* 00052 This file is part of Advanced Strategic Command; http://www.asc-hq.de 00053 Copyright (C) 1994-2010 Martin Bickel and Marc Schellenberger 00054 00055 This program is free software; you can redistribute it and/or modify 00056 it under the terms of the GNU General Public License as published by 00057 the Free Software Foundation; either version 2 of the License, or 00058 (at your option) any later version. 00059 00060 This program is distributed in the hope that it will be useful, 00061 but WITHOUT ANY WARRANTY; without even the implied warranty of 00062 MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the 00063 GNU General Public License for more details. 00064 00065 You should have received a copy of the GNU General Public License 00066 along with this program; see the file COPYING. If not, write to the 00067 Free Software Foundation, Inc., 59 Temple Place, Suite 330, 00068 Boston, MA 02111-1307 USA 00069 */ 00070 00071 #define maxtilevals 7 00072 00073 #define cverydeepwater 30 00074 #define cdeepwater 29 00075 #define cwater 28 00076 #define cshallowwater 27 00077 #define cland 43 00078 #define cmount darkgray 00079 00080 #define cforest 44 00081 00082 #define cdesert 34 00083 00084 #define cfewmaterial 21 00085 #define cmediummaterial 22 00086 #define cmuchmaterial 23 00087 00088 #define cfewfuel 181 00089 #define cmediumfuel 182 00090 #define cmuchfuel 183 00091 00092 #define numofbdts 12 00093 00094 #define ctransparent 255 00095 00096 #define clland 0 00097 #define clforest 1 00098 #define cldesert 2 00099 #define clmaterial 3 00100 #define clfuel 4 00101 00102 00103 struct tmemoryblock { 00104 int *mempointer; 00105 int maxset,actpres; 00106 int res; 00107 int color[maxtilevals+1]; 00108 int tileval[maxtilevals]; 00109 char bordername[maxtilevals][20]; 00110 char generated; 00111 int startblocksize; 00112 int tilevalcount,acttile; 00113 }; 00114 00115 typedef tmemoryblock *pmemoryblock; 00116 00117 class tplasma { 00118 public : 00119 int maxx,maxy,maxvalue; 00120 char flip; 00121 int blockcount; 00122 pmemoryblock memblock; 00123 tplasma(void); 00124 void membar(int x1 ,int y1 ,int x2 ,int y2, int color ); 00125 int getmem(int x, int y); 00126 int creatememblock(void); 00127 void setmemory(int x, int y, int color); 00128 /*void preview(int sx, int sy,int barsize); 00129 void process(int sx, int sy,int barsize);*/ 00130 void generateplasma(char resettile); 00131 00132 int xsymm, ysymm; 00133 }; 00134 00135 00136 extern int random(int max); 00137 extern int mapgenerator(void);
1.5.1