forked from github/server
bug 2510 duplicate region after datafile read
This commit is contained in:
parent
c981bfb766
commit
dc08ba5e98
3 changed files with 4 additions and 6 deletions
|
@ -27,6 +27,7 @@ end
|
||||||
local function tunnel_action(b, param)
|
local function tunnel_action(b, param)
|
||||||
local units = tunnel_travelers(b)
|
local units = tunnel_travelers(b)
|
||||||
local rto = get_target(param)
|
local rto = get_target(param)
|
||||||
|
print("tunnel from " .. tostring(b.region) .. " to " .. tostring(rto))
|
||||||
if rto and units then
|
if rto and units then
|
||||||
eressea.log.debug("Tunnel from " .. tostring(b) .. " [" .. param .. "]")
|
eressea.log.debug("Tunnel from " .. tostring(b) .. " [" .. param .. "]")
|
||||||
for key, u in pairs(units) do
|
for key, u in pairs(units) do
|
||||||
|
|
|
@ -775,10 +775,7 @@ region *new_region(int x, int y, struct plane *pl, int uid)
|
||||||
region *r;
|
region *r;
|
||||||
|
|
||||||
pnormalize(&x, &y, pl);
|
pnormalize(&x, &y, pl);
|
||||||
r = rfindhash(x, y);
|
r = region_create(uid);
|
||||||
if (!r) {
|
|
||||||
r = region_create(uid);
|
|
||||||
}
|
|
||||||
r->x = x;
|
r->x = x;
|
||||||
r->y = y;
|
r->y = y;
|
||||||
r->age = 1;
|
r->age = 1;
|
||||||
|
|
|
@ -614,7 +614,7 @@ static void read_regioninfo(gamedata *data, const region *r, char *info, size_t
|
||||||
|
|
||||||
static region *readregion(gamedata *data, int x, int y)
|
static region *readregion(gamedata *data, int x, int y)
|
||||||
{
|
{
|
||||||
region *r = findregion(x, y);
|
region *r;
|
||||||
const terrain_type *terrain;
|
const terrain_type *terrain;
|
||||||
char name[NAMESIZE];
|
char name[NAMESIZE];
|
||||||
char info[DISPLAYSIZE];
|
char info[DISPLAYSIZE];
|
||||||
|
@ -622,7 +622,7 @@ static region *readregion(gamedata *data, int x, int y)
|
||||||
int n;
|
int n;
|
||||||
|
|
||||||
READ_INT(data->store, &uid);
|
READ_INT(data->store, &uid);
|
||||||
|
r = findregionbyid(uid);
|
||||||
if (r == NULL) {
|
if (r == NULL) {
|
||||||
plane *pl = findplane(x, y);
|
plane *pl = findplane(x, y);
|
||||||
r = new_region(x, y, pl, uid);
|
r = new_region(x, y, pl, uid);
|
||||||
|
|
Loading…
Reference in a new issue