some minor fixes to land.c that I needed to run it for pupland
git-svn-id: svn://svn.code.sf.net/p/crossfire/code/trunk/maps@4788 282e977c-c81d-0410-88c4-b93c2d0d6712master
parent
1bbfec7183
commit
b610ecb724
35
Info/land.c
35
Info/land.c
|
@ -21,7 +21,7 @@ int altitude[MAX_SIZE][MAX_SIZE];
|
||||||
#define MAP_SIZE 50
|
#define MAP_SIZE 50
|
||||||
|
|
||||||
/* There will be a total of 2500 maps (eek) - 50 in
|
/* There will be a total of 2500 maps (eek) - 50 in
|
||||||
* each diretion. STARTX and STARTY are where to start
|
* each diretion. startx and starty are where to start
|
||||||
* numbering from. I chose 100 for a few reasons - 1) it
|
* numbering from. I chose 100 for a few reasons - 1) it
|
||||||
* gives room to the left and above to add some things (another
|
* gives room to the left and above to add some things (another
|
||||||
* continent for that matter), and 2) since the format allows
|
* continent for that matter), and 2) since the format allows
|
||||||
|
@ -31,8 +31,7 @@ int altitude[MAX_SIZE][MAX_SIZE];
|
||||||
* So hopefully that should be large enough.
|
* So hopefully that should be large enough.
|
||||||
*/
|
*/
|
||||||
|
|
||||||
#define STARTX 100
|
int startx=100, starty=100;
|
||||||
#define STARTY 100
|
|
||||||
|
|
||||||
typedef enum {
|
typedef enum {
|
||||||
None=0,
|
None=0,
|
||||||
|
@ -90,7 +89,7 @@ char *Terrain_Names[][2] = {
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
void write_crossfire_maps(int mapx, int mapy)
|
void write_crossfire_maps(int mapy, int mapx)
|
||||||
{
|
{
|
||||||
int x, y,n,q, nx, ny,r1,r2,ax=0,ay=0, j, k;
|
int x, y,n,q, nx, ny,r1,r2,ax=0,ay=0, j, k;
|
||||||
char name[512];
|
char name[512];
|
||||||
|
@ -190,10 +189,10 @@ void write_crossfire_maps(int mapx, int mapy)
|
||||||
(mapy / MAP_SIZE) * MAP_SIZE != mapy) {
|
(mapy / MAP_SIZE) * MAP_SIZE != mapy) {
|
||||||
fprintf(stderr,"Warning - generated map does not evenly tile.\n");
|
fprintf(stderr,"Warning - generated map does not evenly tile.\n");
|
||||||
}
|
}
|
||||||
for (nx= STARTX; nx<(STARTX + (mapx/ MAP_SIZE)); nx++) {
|
for (nx= startx; nx<(startx + (mapx/ MAP_SIZE)); nx++) {
|
||||||
for (ny= STARTY; ny<(STARTY + (mapy/ MAP_SIZE)); ny++) {
|
for (ny= starty; ny<(starty + (mapy/ MAP_SIZE)); ny++) {
|
||||||
ax = (nx - STARTX) * MAP_SIZE;
|
ax = (nx - startx) * MAP_SIZE;
|
||||||
ay = (ny - STARTY) * MAP_SIZE;
|
ay = (ny - starty) * MAP_SIZE;
|
||||||
|
|
||||||
sprintf(name,MAP_FORMAT,nx,ny);
|
sprintf(name,MAP_FORMAT,nx,ny);
|
||||||
if ((fp=fopen(name, "w"))==NULL) {
|
if ((fp=fopen(name, "w"))==NULL) {
|
||||||
|
@ -209,22 +208,22 @@ void write_crossfire_maps(int mapx, int mapy)
|
||||||
|
|
||||||
/* don't do difficult, reset time, or enter coordinates */
|
/* don't do difficult, reset time, or enter coordinates */
|
||||||
/* Set up the tile paths */
|
/* Set up the tile paths */
|
||||||
if (ny != STARTY) {
|
if (ny != starty) {
|
||||||
fprintf(fp,"tile_path_1 ");
|
fprintf(fp,"tile_path_1 ");
|
||||||
fprintf(fp,MAP_FORMAT,nx, ny-1);
|
fprintf(fp,MAP_FORMAT,nx, ny-1);
|
||||||
fprintf(fp,"\n");
|
fprintf(fp,"\n");
|
||||||
}
|
}
|
||||||
if ((nx+1) < STARTX + (mapx/ MAP_SIZE)) {
|
if ((nx+1) < startx + (mapx/ MAP_SIZE)) {
|
||||||
fprintf(fp,"tile_path_2 ");
|
fprintf(fp,"tile_path_2 ");
|
||||||
fprintf(fp,MAP_FORMAT,nx+1, ny);
|
fprintf(fp,MAP_FORMAT,nx+1, ny);
|
||||||
fprintf(fp,"\n");
|
fprintf(fp,"\n");
|
||||||
}
|
}
|
||||||
if ((ny+1) < STARTY + (mapy/ MAP_SIZE)) {
|
if ((ny+1) < starty + (mapy/ MAP_SIZE)) {
|
||||||
fprintf(fp,"tile_path_3 ");
|
fprintf(fp,"tile_path_3 ");
|
||||||
fprintf(fp,MAP_FORMAT,nx, ny+1);
|
fprintf(fp,MAP_FORMAT,nx, ny+1);
|
||||||
fprintf(fp,"\n");
|
fprintf(fp,"\n");
|
||||||
}
|
}
|
||||||
if (nx != STARTX) {
|
if (nx != startx) {
|
||||||
fprintf(fp,"tile_path_4 ");
|
fprintf(fp,"tile_path_4 ");
|
||||||
fprintf(fp,MAP_FORMAT,nx-1, ny);
|
fprintf(fp,MAP_FORMAT,nx-1, ny);
|
||||||
fprintf(fp,"\n");
|
fprintf(fp,"\n");
|
||||||
|
@ -270,7 +269,7 @@ main(int argc, char *argv)
|
||||||
extern char *optarg;
|
extern char *optarg;
|
||||||
|
|
||||||
seed = time(NULL);
|
seed = time(NULL);
|
||||||
while ((c = getopt(argc, argv,"x:y:s:l:n:w:p:m"))!=-1) {
|
while ((c = getopt(argc, argv,"x:y:X:Y:s:l:n:w:p:m"))!=-1) {
|
||||||
switch (c) {
|
switch (c) {
|
||||||
case 'l':
|
case 'l':
|
||||||
land = atoi(optarg);
|
land = atoi(optarg);
|
||||||
|
@ -312,6 +311,12 @@ main(int argc, char *argv)
|
||||||
max_y = atoi(optarg);
|
max_y = atoi(optarg);
|
||||||
break;
|
break;
|
||||||
|
|
||||||
|
case 'X':
|
||||||
|
startx = atoi(optarg);
|
||||||
|
|
||||||
|
case 'Y':
|
||||||
|
starty = atoi(optarg);
|
||||||
|
|
||||||
case 's':
|
case 's':
|
||||||
seed = atoi(optarg);
|
seed = atoi(optarg);
|
||||||
break;
|
break;
|
||||||
|
@ -328,8 +333,8 @@ main(int argc, char *argv)
|
||||||
|
|
||||||
fprintf(stderr,"Making %d X %d map, seed %d, land %d, passes = %d\n", max_x, max_y, seed, land, npasses);
|
fprintf(stderr,"Making %d X %d map, seed %d, land %d, passes = %d\n", max_x, max_y, seed, land, npasses);
|
||||||
fprintf(stderr,"wpasses =%d, water=%d\n", wpasses, water);
|
fprintf(stderr,"wpasses =%d, water=%d\n", wpasses, water);
|
||||||
fprintf(stderr,"-x %d -y %d -s %d -p %d -n %d -w %d -l %d\n",
|
fprintf(stderr,"-x %d -y %d -X %d -Y %d -s %d -p %d -n %d -w %d -l %d\n",
|
||||||
max_x, max_y, seed, wpasses, npasses, water, land);
|
max_x, max_y, startx, starty, seed, wpasses, npasses, water, land);
|
||||||
|
|
||||||
srandom(seed);
|
srandom(seed);
|
||||||
|
|
||||||
|
|
Loading…
Reference in New Issue