diff options
Diffstat (limited to 'src')
| -rw-r--r-- | src/powder.c | 8 | ||||
| -rw-r--r-- | src/save.c | 12 |
2 files changed, 14 insertions, 6 deletions
diff --git a/src/powder.c b/src/powder.c index 354c788..e0ddd5c 100644 --- a/src/powder.c +++ b/src/powder.c @@ -2794,6 +2794,7 @@ void clear_area(int area_x, int area_y, int area_w, int area_h) { int cx = 0; int cy = 0; + int i; for (cy=0; cy<area_h; cy++) { for (cx=0; cx<area_w; cx++) @@ -2802,6 +2803,13 @@ void clear_area(int area_x, int area_y, int area_w, int area_h) delete_part(cx+area_x, cy+area_y, 0); } } + for (i=0; i<MAXSIGNS; i++) + { + if (signs[i].x>=area_x && signs[i].x<area_x+area_w && signs[i].y>=area_y && signs[i].y<area_y+area_h) + { + signs[i].text[0] = 0; + } + } } void create_box(int x1, int y1, int x2, int y2, int c, int flags) @@ -707,7 +707,7 @@ void *build_save_OPS(int *size, int orig_x0, int orig_y0, int orig_w, int orig_h signsCount = 0; for(i = 0; i < MAXSIGNS; i++) { - if(signs[i].text[0] && signs[i].x>=fullX && signs[i].x<=fullX+fullW && signs[i].y>=fullY && signs[i].y<=fullY+fullH) + if(signs[i].text[0] && signs[i].x>=orig_x0 && signs[i].x<=orig_x0+orig_w && signs[i].y>=orig_y0 && signs[i].y<=orig_y0+orig_h) { signsCount++; } @@ -717,7 +717,7 @@ void *build_save_OPS(int *size, int orig_x0, int orig_y0, int orig_w, int orig_h bson_append_start_array(&b, "signs"); for(i = 0; i < MAXSIGNS; i++) { - if(signs[i].text[0] && signs[i].x>=fullX && signs[i].x<=fullX+fullW && signs[i].y>=fullY && signs[i].y<=fullY+fullH) + if(signs[i].text[0] && signs[i].x>=orig_x0 && signs[i].x<=orig_x0+orig_w && signs[i].y>=orig_y0 && signs[i].y<=orig_y0+orig_h) { bson_append_start_object(&b, "sign"); bson_append_string(&b, "text", signs[i].text); @@ -1642,14 +1642,14 @@ void *build_save_PSv(int *size, int orig_x0, int orig_y0, int orig_w, int orig_h j = 0; for (i=0; i<MAXSIGNS; i++) if (signs[i].text[0] && - signs[i].x>=x0 && signs[i].x<x0+w && - signs[i].y>=y0 && signs[i].y<y0+h) + signs[i].x>=orig_x0 && signs[i].x<orig_x0+orig_w && + signs[i].y>=orig_y0 && signs[i].y<orig_y0+orig_h) j++; d[p++] = j; for (i=0; i<MAXSIGNS; i++) if (signs[i].text[0] && - signs[i].x>=x0 && signs[i].x<x0+w && - signs[i].y>=y0 && signs[i].y<y0+h) + signs[i].x>=orig_x0 && signs[i].x<orig_x0+orig_w && + signs[i].y>=orig_y0 && signs[i].y<orig_y0+orig_h) { d[p++] = (signs[i].x-x0); d[p++] = (signs[i].x-x0)>>8; |
