version 1.44 | | version 1.45 |
---|
| | |
/* | | /* |
* static char *rcsid_weather_c = | | * static char *rcsid_weather_c = |
* "$Id: weather.c,v 1.44 2005/11/27 14:16:46 ryo_saeba Exp $"; | | * "$Id: weather.c,v 1.45 2005/11/27 14:19:13 ryo_saeba Exp $"; |
*/ | | */ |
/* | | /* |
CrossFire, A Multiplayer game for X-windows | | CrossFire, A Multiplayer game for X-windows |
| | |
/* perform_weather must follow calculators */ | | /* perform_weather must follow calculators */ |
perform_weather(); | | perform_weather(); |
if (settings.dynamiclevel > 0) { | | if (settings.dynamiclevel > 0) { |
/* write_weather_images();*/ | | write_weather_images(); |
spin_globe(); | | spin_globe(); |
} | | } |
} | | } |
| | |
if (wmperformstarty == settings.worldmaptilesy) | | if (wmperformstarty == settings.worldmaptilesy) |
wmperformstartx = wmperformstarty = 0; | | wmperformstartx = wmperformstarty = 0; |
| |
|
wmperformstartx = 3;
| | |
wmperformstarty = 27;
| | |
| | |
sprintf(filename, "world/world_%d_%d", | | sprintf(filename, "world/world_%d_%d", |
wmperformstartx+settings.worldmapstartx, | | wmperformstartx+settings.worldmapstartx, |
wmperformstarty+settings.worldmapstarty); | | wmperformstarty+settings.worldmapstarty); |
| | |
if (!strcmp(oldsnow->arch->name, at->name)) | | if (!strcmp(oldsnow->arch->name, at->name)) |
at = NULL; | | at = NULL; |
else {
| | else {
|
if (!strcmp(oldsnow->name,"grass")) {
| | |
LOG(llevError,"grass");
| | |
} | | |
remove_ob(oldsnow); | | remove_ob(oldsnow); |
free_object(oldsnow); | | free_object(oldsnow); |
tmp=GET_MAP_OB(m, x, y); | | tmp=GET_MAP_OB(m, x, y); |
| | |
} | | } |
if (tmp != NULL && doublestack2 != NULL) | | if (tmp != NULL && doublestack2 != NULL) |
if (strcmp(tmp->arch->name, doublestack2) == 0) {
| | if (strcmp(tmp->arch->name, doublestack2) == 0) {
|
if (!strcmp(tmp->name,"grass")) {
| | |
LOG(llevError,"grass");
| | |
} | | |
remove_ob(tmp); | | remove_ob(tmp); |
free_object(tmp); | | free_object(tmp); |
} | | } |
| | |
} | | } |
if (avoid) { | | if (avoid) { |
/* replace snow with a big puddle */
| | /* replace snow with a big puddle */
|
if (!strcmp(tmp->name,"grass")) {
| | |
LOG(llevError,"grass");
| | |
} | | |
remove_ob(tmp); | | remove_ob(tmp); |
free_object(tmp); | | free_object(tmp); |
tmp=GET_MAP_OB(m, x, y); | | tmp=GET_MAP_OB(m, x, y); |
| | |
at = NULL; | | at = NULL; |
else { | | else { |
tmp=GET_MAP_OB(m, x, y); | | tmp=GET_MAP_OB(m, x, y); |
if (!strcmp(oldsnow->name,"grass")) {
| | |
LOG(llevError,"grass");
| | |
}
| | |
remove_ob(oldsnow); | | remove_ob(oldsnow); |
/* clean up the trees we put over the snow */ | | /* clean up the trees we put over the snow */ |
found = 0; | | found = 0; |
| | |
free_object(oldsnow); | | free_object(oldsnow); |
if (tmp != NULL && doublestack2 != NULL) | | if (tmp != NULL && doublestack2 != NULL) |
if (strcmp(tmp->arch->name, doublestack2) == 0) {
| | if (strcmp(tmp->arch->name, doublestack2) == 0) {
|
if (!strcmp(tmp->name,"grass")) {
| | |
LOG(llevError,"grass");
| | |
} | | |
remove_ob(tmp); | | remove_ob(tmp); |
free_object(tmp); | | free_object(tmp); |
} | | } |
| | |
ob->y = y; | | ob->y = y; |
SET_FLAG(ob, FLAG_OVERLAY_FLOOR); | | SET_FLAG(ob, FLAG_OVERLAY_FLOOR); |
ob->material = M_LIQUID;
| | ob->material = M_LIQUID;
|
if ( x == 10 && y == 10 )
| | |
{
| | |
x = x;
| | |
} | | |
insert_ob_in_map(ob, m, ob, | | insert_ob_in_map(ob, m, ob, |
INS_NO_MERGE | INS_NO_WALK_ON | INS_ABOVE_FLOOR_ONLY); | | INS_NO_MERGE | INS_NO_WALK_ON | INS_ABOVE_FLOOR_ONLY); |
if (two) { | | if (two) { |
| | |
copy_object(&at->clone, ob); | | copy_object(&at->clone, ob); |
ob->x = x; | | ob->x = x; |
ob->y = y;
| | ob->y = y;
|
if ( x == 10 && y == 10 )
| | |
{
| | |
x = x;
| | |
} | | |
insert_ob_in_map(ob, m, ob, | | insert_ob_in_map(ob, m, ob, |
INS_NO_MERGE | INS_NO_WALK_ON | INS_ON_TOP); | | INS_NO_MERGE | INS_NO_WALK_ON | INS_ON_TOP); |
} | | } |
| | |
else if (!strcmp(tmp->arch->name, "mountain2_rivlets")) | | else if (!strcmp(tmp->arch->name, "mountain2_rivlets")) |
avoid++; | | avoid++; |
if (avoid) { | | if (avoid) { |
if (!strcmp(tmp->name,"grass")) {
| | |
LOG(llevError,"grass");
| | |
}
| | |
remove_ob(tmp); | | remove_ob(tmp); |
free_object(tmp); | | free_object(tmp); |
if (weathermap[wx][wy].humid < 100 && rndm(0, 50) == 0) | | if (weathermap[wx][wy].humid < 100 && rndm(0, 50) == 0) |
| | |
} | | } |
if (tmp != NULL && doublestack2 != NULL) | | if (tmp != NULL && doublestack2 != NULL) |
if (strcmp(tmp->arch->name, doublestack2) == 0) {
| | if (strcmp(tmp->arch->name, doublestack2) == 0) {
|
if (!strcmp(tmp->name,"grass")) {
| | |
LOG(llevError,"grass");
| | |
} | | |
remove_ob(tmp); | | remove_ob(tmp); |
free_object(tmp); | | free_object(tmp); |
} | | } |
| | |
rndm(0, MIN(weather_grow[i].random/2, 1)) == 0) { | | rndm(0, MIN(weather_grow[i].random/2, 1)) == 0) { |
/* the herb does not belong, randomly delete | | /* the herb does not belong, randomly delete |
herbs to prevent overgrowth. */ | | herbs to prevent overgrowth. */ |
if (!strcmp(tmp->name,"grass")) {
| | |
LOG(llevError,"grass");
| | |
}
| | |
remove_ob(tmp); | | remove_ob(tmp); |
free_object(tmp); | | free_object(tmp); |
break; | | break; |
| | |
weathermap[wx][wy].humid > weather_tile[i].humax || | | weathermap[wx][wy].humid > weather_tile[i].humax || |
temp < weather_tile[i].tempmin || | | temp < weather_tile[i].tempmin || |
temp > weather_tile[i].tempmax) {
| | temp > weather_tile[i].tempmax) {
|
if (!strcmp(tmp->name,"grass") && tmp->x == 10 && tmp->y == 10) {
| | |
LOG(llevError,"grass");
| | |
} | | |
remove_ob(tmp); | | remove_ob(tmp); |
free_object(tmp); | | free_object(tmp); |
if (doublestack) { | | if (doublestack) { |
if (!strcmp(doublestack->name,"grass")) {
| | |
LOG(llevError,"grass");
| | |
}
| | |
remove_ob(doublestack); | | remove_ob(doublestack); |
free_object(doublestack); | | free_object(doublestack); |
} | | } |