summaryrefslogtreecommitdiff
path: root/src
diff options
context:
space:
mode:
authorSimon Robertshaw <simon@hardwired.org.uk>2012-01-01 18:32:07 (GMT)
committer Simon Robertshaw <simon@hardwired.org.uk>2012-01-01 18:32:07 (GMT)
commit0d8238fe8b33da049c0c9f53b2da82001b272a37 (patch)
tree963a5af1c404799845524df9925c246bec6a7dee /src
parente41a3af8c516c5c3698b29ce95954a5941c2c06a (diff)
downloadpowder-0d8238fe8b33da049c0c9f53b2da82001b272a37.zip
powder-0d8238fe8b33da049c0c9f53b2da82001b272a37.tar.gz
Water equalisation in save
Diffstat (limited to 'src')
-rw-r--r--src/save.c12
1 files changed, 12 insertions, 0 deletions
diff --git a/src/save.c b/src/save.c
index c945dad..f872491 100644
--- a/src/save.c
+++ b/src/save.c
@@ -524,6 +524,7 @@ void *build_save_OPS(int *size, int orig_x0, int orig_y0, int orig_w, int orig_h
bson b;
bson_init(&b);
+ bson_append_bool(&b, "waterEEnabled", water_equal_test);
bson_append_bool(&b, "legacyEnable", legacy_enable);
bson_append_bool(&b, "gravityEnable", ngrav_enable);
bson_append_bool(&b, "paused", sys_pause);
@@ -817,6 +818,17 @@ int parse_save_OPS(void *save, int size, int replace, int x0, int y0, unsigned c
fprintf(stderr, "Wrong type for %s\n", bson_iterator_key(&iter));
}
}
+ else if(strcmp(bson_iterator_key(&iter), "waterEEnabled")==0 && replace)
+ {
+ if(bson_iterator_type(&iter)==BSON_BOOL)
+ {
+ water_equal_test = ((int)bson_iterator_bool(&iter))?1:0;
+ }
+ else
+ {
+ fprintf(stderr, "Wrong type for %s\n", bson_iterator_key(&iter));
+ }
+ }
else if(strcmp(bson_iterator_key(&iter), "paused")==0 && !sys_pause)
{
if(bson_iterator_type(&iter)==BSON_BOOL)