summaryrefslogtreecommitdiff
path: root/src
diff options
context:
space:
mode:
Diffstat (limited to 'src')
-rw-r--r--src/powder.c8
-rw-r--r--src/save.c12
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)
diff --git a/src/save.c b/src/save.c
index 0e8c086..f6ad26f 100644
--- a/src/save.c
+++ b/src/save.c
@@ -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;