summaryrefslogtreecommitdiff
path: root/mkworld.cpp
diff options
context:
space:
mode:
authorAdam Ierymenko <adam.ierymenko@gmail.com>2015-10-13 08:55:21 -0700
committerAdam Ierymenko <adam.ierymenko@gmail.com>2015-10-13 08:55:21 -0700
commit05677f57e2e6bed58467198f4e65b68a236b00c2 (patch)
tree0d42268310c1b00ee2dc764bea5625180aa3b70b /mkworld.cpp
parentcae58f43f1b18017b90499811772d107ea2f65b9 (diff)
downloadinfinitytier-05677f57e2e6bed58467198f4e65b68a236b00c2.tar.gz
infinitytier-05677f57e2e6bed58467198f4e65b68a236b00c2.zip
Add C output to mkworld.
Diffstat (limited to 'mkworld.cpp')
-rw-r--r--mkworld.cpp17
1 files changed, 17 insertions, 0 deletions
diff --git a/mkworld.cpp b/mkworld.cpp
index 2b41d735..baf693fc 100644
--- a/mkworld.cpp
+++ b/mkworld.cpp
@@ -144,10 +144,27 @@ int main(int argc,char **argv)
Buffer<ZT_WORLD_MAX_SERIALIZED_LENGTH> outtmp;
nw.serialize(outtmp,false);
+ World testw;
+ testw.deserialize(outtmp,0);
+ if (testw != nw) {
+ fprintf(stderr,"FATAL: serialization test failed!"ZT_EOL_S);
+ return 1;
+ }
fwrite(outtmp.data(),outtmp.size(),1,stdout);
fflush(stdout);
fprintf(stderr,"INFO: wrote %u bytes to stdout"ZT_EOL_S,outtmp.size());
+ fprintf(stderr,ZT_EOL_S);
+ fprintf(stderr,"#define ZT_DEFAULT_WORLD_LENGTH %u"ZT_EOL_S,outtmp.size());
+ fprintf(stderr,"static const unsigned char ZT_DEFAULT_WORLD[ZT_DEFAULT_WORLD_LENGTH] = {");
+ for(unsigned int i=0;i<outtmp.size();++i) {
+ const unsigned char *d = (const unsigned char *)outtmp.data();
+ if (i > 0)
+ fprintf(stderr,",");
+ fprintf(stderr,"0x%.2x",(unsigned int)d[i]);
+ }
+ fprintf(stderr,"};"ZT_EOL_S);
+
return 0;
}