diff --git a/src/common/gamecode/creport.c b/src/common/gamecode/creport.c index 6bfe7368b..44fc780f3 100644 --- a/src/common/gamecode/creport.c +++ b/src/common/gamecode/creport.c @@ -327,7 +327,7 @@ cr_region(variant var, char * buffer, const void * userdata) const faction * report = (const faction*)userdata; region * r = (region *)var.v; if (r) { - plane * p = rplane(r); + plane * p = r->planep; if (!p || !(p->flags & PFL_NOCOORDS)) { sprintf(buffer, "%d %d %d", region_x(r, report), region_y(r, report), p?p->id:0); return 0; @@ -1203,10 +1203,10 @@ report_computer(const char * filename, report_context * ctx) { struct bmsg * bm; for (bm=f->battles;bm;bm=bm->next) { - if (!rplane(bm->r)) fprintf(F, "BATTLE %d %d\n", region_x(bm->r, f), region_y(bm->r, f)); + if (!bm->r->planep) fprintf(F, "BATTLE %d %d\n", region_x(bm->r, f), region_y(bm->r, f)); else { - if (rplane(bm->r)->flags & PFL_NOCOORDS) fprintf(F, "BATTLESPEC %d %d\n", encode_region(f, bm->r), rplane(bm->r)->id); - else fprintf(F, "BATTLE %d %d %d\n", region_x(bm->r, f), region_y(bm->r, f), rplane(bm->r)->id); + if (bm->r->planep->flags & PFL_NOCOORDS) fprintf(F, "BATTLESPEC %d %d\n", encode_region(f, bm->r), bm->r->planep->id); + else fprintf(F, "BATTLE %d %d %d\n", region_x(bm->r, f), region_y(bm->r, f), bm->r->planep->id); } cr_output_messages(F, bm->msgs, f); } @@ -1255,7 +1255,7 @@ report_computer(const char * filename, report_context * ctx) region * r = sr->r; const char * tname; - if (!rplane(r)) { + if (!r->planep) { if (opt_cr_absolute_coords) { fprintf(F, "REGION %d %d\n", r->x, r->x); } else { @@ -1263,11 +1263,11 @@ report_computer(const char * filename, report_context * ctx) } } else { #if ENCODE_SPECIAL - if (rplane(r)->flags & PFL_NOCOORDS) fprintf(F, "SPEZIALREGION %d %d\n", encode_region(f, r), rplane(r)->id); + if (r->planep->flags & PFL_NOCOORDS) fprintf(F, "SPEZIALREGION %d %d\n", encode_region(f, r), r->planep->id); #else - if (rplane(r)->flags & PFL_NOCOORDS) continue; + if (r->planep->flags & PFL_NOCOORDS) continue; #endif - else fprintf(F, "REGION %d %d %d\n", region_x(r, f), region_y(r, f), rplane(r)->id); + else fprintf(F, "REGION %d %d %d\n", region_x(r, f), region_y(r, f), r->planep->id); } if (r->land && strlen(rname(r, f->locale))) fprintf(F, "\"%s\";Name\n", rname(r, f->locale)); if (is_cursed(r->attribs,C_MAELSTROM, 0)) @@ -1384,7 +1384,7 @@ report_computer(const char * filename, report_context * ctx) } print_curses(F, f, r, TYP_REGION); cr_borders(ctx->seen, r, f, sr->mode, F); - if (sr->mode==see_unit && rplane(r)==get_astralplane() && !is_cursed(r->attribs, C_ASTRALBLOCK, 0)) + if (sr->mode==see_unit && r->planep==get_astralplane() && !is_cursed(r->attribs, C_ASTRALBLOCK, 0)) { /* Sonderbehandlung Teleport-Ebene */ region_list *rl = astralregions(r, inhabitable); @@ -1477,7 +1477,7 @@ crwritemap(const char * filename) FILE * F = fopen(filename, "w+"); region * r; for (r=regions;r;r=r->next) { - plane * p = rplane(r); + plane * p = r->planep; fprintf(F, "REGION %d %d %d\n", r->x, r->y, p?p->id:0); fprintf(F, "\"%s\";Name\n\"%s\";Terrain\n", rname(r, default_locale), LOC(default_locale, terrain_name(r))); } diff --git a/src/common/gamecode/report.c b/src/common/gamecode/report.c index 33ce73dce..6bc9ed8cf 100644 --- a/src/common/gamecode/report.c +++ b/src/common/gamecode/report.c @@ -639,12 +639,11 @@ rp_battles(FILE * F, faction * f) size_t f_regionid(const region * r, const faction * f, char * buffer, size_t size) { - plane * pl = NULL; if (!r) { strncpy(buffer, "(Chaos)", size); } else { - pl = getplane(r); + plane * pl = r->planep; strncpy(buffer, rname(r, f->locale), size); buffer[size-1]=0; if (pl==NULL || !fval(pl, PFL_NOCOORDS)) { diff --git a/src/common/kernel/eressea.c b/src/common/kernel/eressea.c index fffd06b36..6753dcb8c 100644 --- a/src/common/kernel/eressea.c +++ b/src/common/kernel/eressea.c @@ -1002,7 +1002,7 @@ int alliedunit(const unit * u, const faction * f2, int mode) { ally * sf; - const plane * pl = getplane(u->region); + const plane * pl = u->region->planep; int automode; if (u->faction == f2) return mode; diff --git a/src/common/kernel/plane.c b/src/common/kernel/plane.c index 3fd255a71..3fa3b0663 100644 --- a/src/common/kernel/plane.c +++ b/src/common/kernel/plane.c @@ -163,19 +163,15 @@ plane_center_y(const plane *pl) short region_x(const region *r, const faction *f) { - plane *pl; - assert(r!=NULL); - pl = getplane(r); - return r->x - ursprung_x(f, pl, r) - plane_center_x(pl); + plane *pl = r->planep; + return r->x - ursprung_x(f, pl, r) - plane_center_x(pl); } short region_y(const region *r, const faction *f) { - plane *pl; - assert(r!=NULL); - pl = getplane(r); - return r->y - plane_center_y(pl) - ursprung_y(f, pl, r); + plane *pl = r->planep; + return r->y - plane_center_y(pl) - ursprung_y(f, pl, r); } void diff --git a/src/common/kernel/region.c b/src/common/kernel/region.c index ba1dcd79c..c1e8665f6 100644 --- a/src/common/kernel/region.c +++ b/src/common/kernel/region.c @@ -103,20 +103,22 @@ regionname(const region * r, const faction * f) { static char buf[65]; const struct locale * lang = f ? f->locale : 0; - plane *pl = getplane(r); if (r==NULL) { strcpy(buf, "(null)"); - } else if (pl && fval(pl, PFL_NOCOORDS)) { - strncpy(buf, rname(r, lang), 65); } else { + plane *pl = r->planep; + if (pl && fval(pl, PFL_NOCOORDS)) { + strncpy(buf, rname(r, lang), 65); + } else { #ifdef HAVE_SNPRINTF - snprintf(buf, 65, "%s (%d,%d)", rname(r, lang), - region_x(r, f), region_y(r, f)); + snprintf(buf, 65, "%s (%d,%d)", rname(r, lang), + region_x(r, f), region_y(r, f)); #else - strncpy(buf, rname(r, lang), 50); - buf[50]=0; - sprintf(buf+strlen(buf), " (%d,%d)", region_x(r, f), region_y(r, f)); + strncpy(buf, rname(r, lang), 50); + buf[50]=0; + sprintf(buf+strlen(buf), " (%d,%d)", region_x(r, f), region_y(r, f)); #endif + } } buf[64] = 0; return buf; diff --git a/src/common/kernel/reports.c b/src/common/kernel/reports.c index 1ca94e97a..269954f1f 100644 --- a/src/common/kernel/reports.c +++ b/src/common/kernel/reports.c @@ -664,7 +664,7 @@ bufunit(const faction * f, const unit * u, int indent, int mode) dh=0; if (!getarnt && f) { - if (alliedfaction(getplane(u->region), f, fv, HELP_ALL)) { + if (alliedfaction(u->region->planep, f, fv, HELP_ALL)) { dh = 1; } } @@ -1185,7 +1185,7 @@ prepare_report(faction * f) for (r = firstregion(f); r != end; r = r->next) { attrib *ru; unit * u; - plane * p = rplane(r); + plane * p = r->planep; unsigned char mode = see_none; boolean dis = false; int light = 0; diff --git a/src/common/modules/autoseed.c b/src/common/modules/autoseed.c index 6843c4cd7..00d211980 100644 --- a/src/common/modules/autoseed.c +++ b/src/common/modules/autoseed.c @@ -500,7 +500,7 @@ autoseed(newfaction ** players, int nsize, boolean new_island) * like the last land virgin ocean region adjacent to land. */ for (r=regions;r;r=r->next) { - struct plane * p = rplane(r); + struct plane * p = r->planep; if (rterrain(r)==T_OCEAN && p==NULL && virgin_region(r)) { direction_t d; for (d=0;d!=MAXDIRECTIONS;++d) { @@ -546,7 +546,7 @@ autoseed(newfaction ** players, int nsize, boolean new_island) * dmin = direction in which it's empty */ for (r=regions;r;r=r->next) { - struct plane * p = rplane(r); + struct plane * p = r->planep; if (rterrain(r)==T_OCEAN && p==0 && (rmin==NULL || r->age<=MAXAGEDIFF)) { direction_t d; for (d=0;d!=MAXDIRECTIONS;++d) {