ViewVC Help
View File | Revision Log | Show Annotations | Download File
/cvs/deliantra/server/utils/maps.c
Revision: 1.2
Committed: Mon Mar 5 19:03:09 2007 UTC (17 years, 2 months ago) by root
Content type: text/plain
Branch: MAIN
CVS Tags: HEAD
Changes since 1.1: +1 -1 lines
State: FILE REMOVED
Log Message:
major clenaup in utils/

File Contents

# Content
1 /* $Id$ */
2
3 /* This program will generate ppm files from each of the weathermaps.
4 Mostly for debugging, but curious DM's might find it useful to see
5 the weather.
6 */
7
8 #include <stdio.h>
9 #ifndef MIN
10 #define MIN(x,y) ((x)<(y)?(x):(y))
11 #endif
12 #ifndef MAX
13 #define MAX(x,y) ((x)>(y)?(x):(y))
14 #endif
15
16 int
17 main()
18 {
19 int map[100][100];
20 int x, y;
21 int n, i, j, k, l, z, w, r, a;
22 FILE *fp, *lp;
23 int junk;
24 char fn[6];
25
26
27 sprintf(fn, "winddirmap");
28 lp = fopen(fn, "r");
29 fp = fopen("winddirmap.ppm", "w");
30 fprintf(fp, "P3 %d %d 255\n", 100, 100);
31 for (j=0; j < 100; j++) {
32 for (k=0; k < 100; k++) {
33 fscanf(lp, "%d ", &map[j][k]);
34 junk = map[j][k];
35 fprintf(lp, "%d ", map[j][k]);
36 switch (junk) {
37 case 0: fprintf(fp, "255 255 255 "); break;
38 case 1: fprintf(fp, "0 0 0 "); break;
39 case 2: fprintf(fp, "0 0 127 "); break;
40 case 3: fprintf(fp, "0 0 255 "); break;
41 case 4: fprintf(fp, "127 127 255 "); break;
42 case 5: fprintf(fp, "127 127 127 "); break;
43 case 6: fprintf(fp, "127 255 127 "); break;
44 case 7: fprintf(fp, "0 255 0 "); break;
45 case 8: fprintf(fp, "0 127 0 "); break;
46 }
47 fprintf(fp, "\n");
48 fscanf(lp, "\n");
49 }
50 }
51 fclose(fp);
52 fclose(lp);
53
54 sprintf(fn, "pressuremap");
55 lp = fopen(fn, "r");
56 fp = fopen("pressuremap.ppm", "w");
57 fprintf(fp, "P3 %d %d 255\n", 100, 100);
58 for (j=0; j < 100; j++) {
59 for (k=0; k < 100; k++) {
60 fscanf(lp, "%d ", &map[j][k]);
61 junk = map[j][k];
62 fprintf(lp, "%d ", map[j][k]);
63 if (junk < 1000)
64 fprintf(fp, "0 0 %d ", 255-(1000-junk)*3);
65 else
66 fprintf(fp, "0 %d 0 ", 255+(1000-junk)*3);
67 fprintf(fp, "\n");
68 fscanf(lp, "\n");
69 }
70 }
71 fclose(fp);
72 fclose(lp);
73
74
75 sprintf(fn, "windspeedmap");
76 lp = fopen(fn, "r");
77 fp = fopen("windspeedmap.ppm", "w");
78 fprintf(fp, "P3 %d %d 255\n", 100, 100);
79 for (j=0; j < 100; j++) {
80 for (k=0; k < 100; k++) {
81 fscanf(lp, "%d ", &map[j][k]);
82 junk = map[j][k];
83 fprintf(lp, "%d ", map[j][k]);
84 fprintf(fp, "0 %d 0 ", junk*5);
85 fprintf(fp, "\n");
86 fscanf(lp, "\n");
87 }
88 }
89 fclose(fp);
90 fclose(lp);
91
92
93 sprintf(fn, "humidmap");
94 lp = fopen(fn, "r");
95 fp = fopen("humidmap.ppm", "w");
96 fprintf(fp, "P3 %d %d 255\n", 100, 100);
97 for (j=0; j < 100; j++) {
98 for (k=0; k < 100; k++) {
99 fscanf(lp, "%d ", &map[j][k]);
100 junk = map[j][k];
101 fprintf(lp, "%d ", map[j][k]);
102 fprintf(fp, "0 0 %d ", 255-(junk*2));
103 fprintf(fp, "\n");
104 fscanf(lp, "\n");
105 }
106 }
107 fclose(fp);
108 fclose(lp);
109
110
111 sprintf(fn, "temperaturemap");
112 lp = fopen(fn, "r");
113 fp = fopen("temperaturemap.ppm", "w");
114 fprintf(fp, "P3 %d %d 255\n", 100, 100);
115 for (j=0; j < 100; j++) {
116 for (k=0; k < 100; k++) {
117 fscanf(lp, "%d ", &map[j][k]);
118 junk = map[j][k];
119 fprintf(lp, "%d ", map[j][k]);
120 if (junk < 0)
121 fprintf(fp, "0 0 %d ", 255+junk*5);
122 else
123 fprintf(fp, "0 %d 0 ", junk*5);
124 fprintf(fp, "\n");
125 fscanf(lp, "\n");
126 }
127 }
128 fclose(fp);
129 fclose(lp);
130
131 sprintf(fn, "skymap");
132 lp = fopen(fn, "r");
133 if (lp == NULL)
134 exit(0);
135 fp = fopen("skymap.ppm", "w");
136 fprintf(fp, "P3 %d %d 255\n", 100, 100);
137 for (j=0; j < 100; j++) {
138 for (k=0; k < 100; k++) {
139 fscanf(lp, "%d ", &map[j][k]);
140 junk = map[j][k];
141 fprintf(lp, "%d ", map[j][k]);
142 switch (junk) {
143 case 0: fprintf(fp, "0 0 255 "); break;
144 case 1: fprintf(fp, "230 230 230 "); break;
145 case 2: fprintf(fp, "170 170 170 "); break;
146 case 3: fprintf(fp, "120 120 120 "); break;
147 case 4: fprintf(fp, "80 80 80 "); break;
148 case 5: fprintf(fp, "40 40 40 "); break;
149 case 6: fprintf(fp, "10 10 10 "); break;
150 case 7: fprintf(fp, "0 255 0 "); break;
151 case 8: fprintf(fp, "255 0 0 "); break;
152 case 13: fprintf(fp, "230 230 255 "); break;
153 case 14: fprintf(fp, "170 170 255 "); break;
154 case 15: fprintf(fp, "120 120 255 "); break;
155 case 16: fprintf(fp, "80 80 255 "); break;
156 }
157 fprintf(fp, "\n");
158 fscanf(lp, "\n");
159 }
160 }
161 fclose(fp);
162 fclose(lp);
163
164 }