Merge branch 'master' of github.com:eressea/server

This commit is contained in:
Enno Rehling 2014-03-22 21:48:54 +01:00
commit 5374332c00
6 changed files with 22 additions and 7 deletions

2
cutest

@ -1 +1 @@
Subproject commit 0b718dde0939afdd1f424f5030fc1621d38ba6db Subproject commit d83cec09a52835274ab8ed4849de16fb8658982a

View File

@ -4,6 +4,7 @@
#include "json.h" #include "json.h"
#include <kernel/types.h> #include <kernel/types.h>
#include <kernel/plane.h>
#include <kernel/region.h> #include <kernel/region.h>
#include <kernel/faction.h> #include <kernel/faction.h>
#include <kernel/terrain.h> #include <kernel/terrain.h>
@ -58,10 +59,23 @@ int json_export(stream * out, unsigned int flags) {
cJSON *json, *root = cJSON_CreateObject(); cJSON *json, *root = cJSON_CreateObject();
assert(out && out->api); assert(out && out->api);
if (regions && (flags & EXPORT_REGIONS)) { if (regions && (flags & EXPORT_REGIONS)) {
char id[32];
region * r; region * r;
plane * p;
cJSON_AddItemToObject(root, "planes", json = cJSON_CreateObject());
for (p=planes;p;p=p->next) {
cJSON *data;
_snprintf(id, sizeof(id), "%u", p->id);
cJSON_AddItemToObject(json, id, data = cJSON_CreateObject());
cJSON_AddNumberToObject(data, "x", p->minx);
cJSON_AddNumberToObject(data, "y", p->miny);
cJSON_AddNumberToObject(data, "width", p->maxx-p->minx);
cJSON_AddNumberToObject(data, "height", p->maxy-p->miny);
cJSON_AddStringToObject(data, "name", p->name);
}
cJSON_AddItemToObject(root, "regions", json = cJSON_CreateObject()); cJSON_AddItemToObject(root, "regions", json = cJSON_CreateObject());
for (r = regions; r; r = r->next) { for (r = regions; r; r = r->next) {
char id[32];
cJSON *data; cJSON *data;
_snprintf(id, sizeof(id), "%u", r->uid); _snprintf(id, sizeof(id), "%u", r->uid);
cJSON_AddItemToObject(json, id, data = cJSON_CreateObject()); cJSON_AddItemToObject(json, id, data = cJSON_CreateObject());

View File

@ -63,10 +63,10 @@ static cJSON *export_a_region(CuTest * tc, const struct terrain_type *terrain, r
json = cJSON_Parse(buf); json = cJSON_Parse(buf);
CuAssertPtrNotNull(tc, json); CuAssertPtrNotNull(tc, json);
CuAssertIntEquals(tc, cJSON_Object, json->type); CuAssertIntEquals(tc, cJSON_Object, json->type);
json = json->child; CuAssertPtrEquals(tc, 0, cJSON_GetObjectItem(json, "factions"));
CuAssertPtrEquals(tc, 0, json->next); CuAssertPtrEquals(tc, 0, cJSON_GetObjectItem(json, "units"));
CuAssertPtrNotNull(tc, json = cJSON_GetObjectItem(json, "regions"));
CuAssertIntEquals(tc, cJSON_Object, json->type); CuAssertIntEquals(tc, cJSON_Object, json->type);
CuAssertStrEquals(tc, "regions", json->string);
json = json->child; json = json->child;
CuAssertIntEquals(tc, r->uid, atoi(json->string)); CuAssertIntEquals(tc, r->uid, atoi(json->string));
CuAssertPtrNotNull(tc, attr = cJSON_GetObjectItem(json, "x")); CuAssertPtrNotNull(tc, attr = cJSON_GetObjectItem(json, "x"));

View File

@ -2355,7 +2355,7 @@ static int parse_main(xmlDocPtr doc)
} }
} }
if (k == MAXKEYWORDS) { if (k == MAXKEYWORDS) {
log_error("trying to disable unknown comand %s\n", (const char *)propName); log_error("trying to disable unknown command %s\n", (const char *)propName);
} }
} }
xmlFree(propName); xmlFree(propName);

View File

@ -922,6 +922,8 @@ static void oceans_around(region * r, region * rn[])
} }
} }
#define SWAP_INTS(a, b) { a^=b; b^=a; a^=b; }
static void smooth_island(region_list * island) static void smooth_island(region_list * island)
{ {
region *rn[MAXDIRECTIONS]; region *rn[MAXDIRECTIONS];

View File

@ -53,7 +53,6 @@ extern "C" {
#define HASH1 JENKINS_HASH1 #define HASH1 JENKINS_HASH1
#define HASH2 JENKINS_HASH2 #define HASH2 JENKINS_HASH2
#define SWAP_INTS(a, b) { a^=b; b^=a; a^=b; }
#ifdef __cplusplus #ifdef __cplusplus
} }
#endif #endif