remove support for versions prior to turn 572 (INTPAK_VERSION).

reading anything prior stopped working some time ago, let's not kid ourselves.
nobody needs to read those datafiles, they are more than 7 years old.
less code is better.
if access to these files is needed, check out an old version from source control.
This commit is contained in:
Enno Rehling 2014-12-12 22:52:23 +01:00
parent 3d24764e08
commit d492487a5b
8 changed files with 54 additions and 239 deletions

View File

@ -104,12 +104,7 @@ static int lc_read(struct attrib *a, void *owner, struct storage *store)
building_action *data = (building_action *)a->data.v; building_action *data = (building_action *)a->data.v;
int result = int result =
read_reference(&data->b, store, read_building_reference, resolve_building); read_reference(&data->b, store, read_building_reference, resolve_building);
if (global.data_version < UNICODE_VERSION) { READ_TOK(store, name, sizeof(name));
READ_STR(store, name, sizeof(name));
}
else {
READ_TOK(store, name, sizeof(name));
}
if (strcmp(name, "tunnel_action") == 0) { if (strcmp(name, "tunnel_action") == 0) {
/* E2: Weltentor has a new module, doesn't need this any longer */ /* E2: Weltentor has a new module, doesn't need this any longer */
result = 0; result = 0;
@ -119,16 +114,11 @@ static int lc_read(struct attrib *a, void *owner, struct storage *store)
data->fname = _strdup(name); data->fname = _strdup(name);
} }
if (global.data_version >= BACTION_VERSION) { if (global.data_version >= BACTION_VERSION) {
if (global.data_version < UNICODE_VERSION) { READ_TOK(store, name, sizeof(name));
READ_STR(store, name, sizeof(name)); if (strcmp(name, "tnnL") == 0) {
} /* tunnel_action was the old Weltentore, their code has changed. ignore this object */
else { result = 0;
READ_TOK(store, name, sizeof(name)); data->b = 0;
if (strcmp(name, "tnnL") == 0) {
/* tunnel_action was the old Weltentore, their code has changed. ignore this object */
result = 0;
data->b = 0;
}
} }
if (strcmp(name, NULLSTRING) == 0) if (strcmp(name, NULLSTRING) == 0)
data->param = 0; data->param = 0;

View File

@ -226,12 +226,7 @@ int curse_read(attrib * a, void *owner, struct storage *store)
assert(result == 0); assert(result == 0);
return AT_READ_FAIL; return AT_READ_FAIL;
} }
if (global.data_version < CURSEFLAGS_VERSION) { c->flags = flags;
c_setflag(c, flags);
}
else {
c->flags = flags;
}
c_clearflag(c, CURSE_ISNEW); c_clearflag(c, CURSE_ISNEW);
if (c->type->read) if (c->type->read)

View File

@ -236,8 +236,6 @@ void read_groups(struct storage *store, faction * f)
READ_INT(store, &fid.i); READ_INT(store, &fid.i);
if (fid.i <= 0) if (fid.i <= 0)
break; break;
if (global.data_version < STORAGE_VERSION && fid.i == 0)
break;
a = ally_add(pa, findfaction(fid.i)); a = ally_add(pa, findfaction(fid.i));
READ_INT(store, &a->status); READ_INT(store, &a->status);
if (!a->faction) if (!a->faction)

View File

@ -645,36 +645,10 @@ unit *read_unit(struct gamedata *data)
READ_INT(data->store, &n); READ_INT(data->store, &n);
u->age = (short)n; u->age = (short)n;
if (data->version < STORAGE_VERSION) { READ_TOK(data->store, rname, sizeof(rname));
char *space;
READ_STR(data->store, rname, sizeof(rname));
space = strchr(rname, ' ');
if (space != NULL) {
char *inc = space + 1;
char *outc = space;
do {
while (*inc == ' ')
++inc;
while (*inc) {
*outc++ = *inc++;
if (*inc == ' ')
break;
}
} while (*inc);
*outc = 0;
}
}
else {
READ_TOK(data->store, rname, sizeof(rname));
}
u_setrace(u, rc_find(rname)); u_setrace(u, rc_find(rname));
if (data->version < STORAGE_VERSION) { READ_TOK(data->store, rname, sizeof(rname));
READ_STR(data->store, rname, sizeof(rname));
}
else {
READ_TOK(data->store, rname, sizeof(rname));
}
if (rname[0] && skill_enabled(SK_STEALTH)) if (rname[0] && skill_enabled(SK_STEALTH))
u->irace = rc_find(rname); u->irace = rc_find(rname);
else else
@ -869,13 +843,11 @@ static region *readregion(struct gamedata *data, int x, int y)
{ {
region *r = findregion(x, y); region *r = findregion(x, y);
const terrain_type *terrain; const terrain_type *terrain;
char token[32]; char name[NAMESIZE];
int uid = 0; int uid = 0;
int n; int n;
if (data->version >= UID_VERSION) { READ_INT(data->store, &uid);
READ_INT(data->store, &uid);
}
if (r == NULL) { if (r == NULL) {
plane *pl = findplane(x, y); plane *pl = findplane(x, y);
@ -906,23 +878,11 @@ static region *readregion(struct gamedata *data, int x, int y)
region_setinfo(r, info); region_setinfo(r, info);
} }
if (data->version < TERRAIN_VERSION) { READ_STR(data->store, name, sizeof(name));
int ter; terrain = get_terrain(name);
READ_INT(data->store, &ter); if (terrain == NULL) {
terrain = newterrain((terrain_t)ter); log_error("Unknown terrain '%s'\n", name);
if (terrain == NULL) { assert(!"unknown terrain");
log_error("while reading datafile from pre-TERRAIN_VERSION, could not find terrain #%d.\n", ter);
terrain = newterrain(T_PLAIN);
}
}
else {
char name[64];
READ_STR(data->store, name, sizeof(name));
terrain = get_terrain(name);
if (terrain == NULL) {
log_error("Unknown terrain '%s'\n", name);
assert(!"unknown terrain");
}
} }
r->terrain = terrain; r->terrain = terrain;
READ_INT(data->store, &r->flags); READ_INT(data->store, &r->flags);
@ -930,7 +890,6 @@ static region *readregion(struct gamedata *data, int x, int y)
r->age = (unsigned short)n; r->age = (unsigned short)n;
if (fval(r->terrain, LAND_REGION)) { if (fval(r->terrain, LAND_REGION)) {
char name[NAMESIZE];
r->land = calloc(1, sizeof(land_region)); r->land = calloc(1, sizeof(land_region));
READ_STR(data->store, name, sizeof(name)); READ_STR(data->store, name, sizeof(name));
r->land->name = _strdup(name); r->land->name = _strdup(name);
@ -963,13 +922,13 @@ static region *readregion(struct gamedata *data, int x, int y)
assert(*pres == NULL); assert(*pres == NULL);
for (;;) { for (;;) {
rawmaterial *res; rawmaterial *res;
READ_STR(data->store, token, sizeof(token)); READ_STR(data->store, name, sizeof(name));
if (strcmp(token, "end") == 0) if (strcmp(name, "end") == 0)
break; break;
res = malloc(sizeof(rawmaterial)); res = malloc(sizeof(rawmaterial));
res->type = rmt_find(token); res->type = rmt_find(name);
if (res->type == NULL) { if (res->type == NULL) {
log_error("invalid resourcetype %s in data.\n", token); log_error("invalid resourcetype %s in data.\n", name);
} }
assert(res->type != NULL); assert(res->type != NULL);
READ_INT(data->store, &n); READ_INT(data->store, &n);
@ -990,9 +949,9 @@ static region *readregion(struct gamedata *data, int x, int y)
} }
*pres = NULL; *pres = NULL;
READ_STR(data->store, token, sizeof(token)); READ_STR(data->store, name, sizeof(name));
if (strcmp(token, "noherb") != 0) { if (strcmp(name, "noherb") != 0) {
const resource_type *rtype = rt_find(token); const resource_type *rtype = rt_find(name);
assert(rtype && rtype->itype && fval(rtype->itype, ITF_HERB)); assert(rtype && rtype->itype && fval(rtype->itype, ITF_HERB));
rsetherbtype(r, rtype->itype); rsetherbtype(r, rtype->itype);
} }
@ -1016,17 +975,15 @@ static region *readregion(struct gamedata *data, int x, int y)
int n; int n;
for (;;) { for (;;) {
const struct resource_type *rtype; const struct resource_type *rtype;
READ_STR(data->store, token, sizeof(token)); READ_STR(data->store, name, sizeof(name));
if (!strcmp(token, "end")) if (!strcmp(name, "end"))
break; break;
rtype = rt_find(token); rtype = rt_find(name);
assert(rtype && rtype->ltype); assert(rtype && rtype->ltype);
READ_INT(data->store, &n); READ_INT(data->store, &n);
r_setdemand(r, rtype->ltype, n); r_setdemand(r, rtype->ltype, n);
} }
if (data->version >= REGIONITEMS_VERSION) { read_items(data->store, &r->land->items);
read_items(data->store, &r->land->items);
}
if (data->version >= REGIONOWNER_VERSION) { if (data->version >= REGIONOWNER_VERSION) {
READ_INT(data->store, &n); READ_INT(data->store, &n);
r->land->morale = (short)n; r->land->morale = (short)n;
@ -1088,10 +1045,8 @@ void writeregion(struct gamedata *data, const region * r)
WRITE_INT(data->store, demand->value); WRITE_INT(data->store, demand->value);
} }
WRITE_TOK(data->store, "end"); WRITE_TOK(data->store, "end");
#if RELEASE_VERSION>=REGIONITEMS_VERSION
write_items(data->store, r->land->items); write_items(data->store, r->land->items);
WRITE_SECTION(data->store); WRITE_SECTION(data->store);
#endif
#if RELEASE_VERSION>=REGIONOWNER_VERSION #if RELEASE_VERSION>=REGIONOWNER_VERSION
WRITE_INT(data->store, r->land->morale); WRITE_INT(data->store, r->land->morale);
write_owner(data, r->land->ownership); write_owner(data, r->land->ownership);
@ -1163,24 +1118,13 @@ void read_spellbook(spellbook **bookp, struct storage *store, int(*get_level)(co
char spname[64]; char spname[64];
int level = 0; int level = 0;
if (global.data_version < SPELLNAME_VERSION) { READ_TOK(store, spname, sizeof(spname));
int i; if (strcmp(spname, "end") == 0)
READ_INT(store, &i); break;
if (i < 0) if (bookp) {
break; sp = find_spell(spname);
if (bookp) { if (!sp) {
sp = find_spellbyid((unsigned int)i); log_error("read_spells: could not find spell '%s'\n", spname);
}
}
else {
READ_TOK(store, spname, sizeof(spname));
if (strcmp(spname, "end") == 0)
break;
if (bookp) {
sp = find_spell(spname);
if (!sp) {
log_error("read_spells: could not find spell '%s'\n", spname);
}
} }
} }
if (global.data_version >= SPELLBOOK_VERSION) { if (global.data_version >= SPELLBOOK_VERSION) {
@ -1355,15 +1299,7 @@ faction *readfaction(struct gamedata * data)
else { else {
for (;;) { for (;;) {
int aid = 0; int aid = 0;
if (data->version < STORAGE_VERSION) { READ_INT(data->store, &aid);
READ_TOK(data->store, name, sizeof(name));
if (strcmp(name, "end") != 0) {
aid = atoi36(name);
}
}
else {
READ_INT(data->store, &aid);
}
if (aid > 0) { if (aid > 0) {
int state; int state;
READ_INT(data->store, &state); READ_INT(data->store, &state);
@ -1445,7 +1381,7 @@ void writefaction(struct gamedata *data, const faction * f)
int readgame(const char *filename, int backup) int readgame(const char *filename, int backup)
{ {
int i, n, p, nread; int n, p, nread;
faction *f, **fp; faction *f, **fp;
region *r; region *r;
building *b, **bp; building *b, **bp;
@ -1594,14 +1530,6 @@ int readgame(const char *filename, int backup)
} }
*fp = 0; *fp = 0;
/* ignore the obsolete list of "used" faction ids */
if (gdata.version < STORAGE_VERSION) {
READ_INT(&store, &i);
while (i--) {
READ_INT(&store, &n);
}
}
/* Regionen */ /* Regionen */
READ_INT(&store, &nread); READ_INT(&store, &nread);
@ -1975,9 +1903,6 @@ void a_writeint(const attrib * a, const void *owner, struct storage *store)
int a_readshorts(attrib * a, void *owner, struct storage *store) int a_readshorts(attrib * a, void *owner, struct storage *store)
{ {
int n; int n;
if (global.data_version < ATTRIBREAD_VERSION) {
return a_readint(a, store, owner);
}
READ_INT(store, &n); READ_INT(store, &n);
a->data.sa[0] = (short)n; a->data.sa[0] = (short)n;
READ_INT(store, &n); READ_INT(store, &n);
@ -1994,9 +1919,6 @@ void a_writeshorts(const attrib * a, const void *owner, struct storage *store)
int a_readchars(attrib * a, void *owner, struct storage *store) int a_readchars(attrib * a, void *owner, struct storage *store)
{ {
int i; int i;
if (global.data_version < ATTRIBREAD_VERSION) {
return a_readint(a, store, owner);
}
for (i = 0; i != 4; ++i) { for (i = 0; i != 4; ++i) {
int n; int n;
READ_INT(store, &n); READ_INT(store, &n);
@ -2016,9 +1938,6 @@ void a_writechars(const attrib * a, const void *owner, struct storage *store)
int a_readvoid(attrib * a, void *owner, struct storage *store) int a_readvoid(attrib * a, void *owner, struct storage *store)
{ {
if (global.data_version < ATTRIBREAD_VERSION) {
return a_readint(a, store, owner);
}
return AT_READ_OK; return AT_READ_OK;
} }

View File

@ -10,34 +10,6 @@
without prior permission by the authors of Eressea. without prior permission by the authors of Eressea.
*/ */
/* changes from->to: 72->73: struct unit::lock entfernt.
* 73->74: struct unit::flags eingeführt.
* 74->75: parteitarnung als flag.
* 75->76: #ifdef NEW_HP: hp
* 76->77: ship->damage
* 77->78: neue Message-Option "Orkvermehrung" (MAX_MSG +1)
* 78->79: showdata nicht mehr speichern
* 79->HEX_VERSION: hex
* 80->82: ATTRIB_VERSION
* 90: Ebenen
* 92: Magiegebiet-Auswahl f->magiegebiet
* 94: f->attribs wird gespeichert
* 100: NEWMAGIC, neue Message-Option "Zauber" (MAX_MSG +1)
* 108: Speichern von Timeouts
* 193: curse bekommen id aus struct unit-nummernraum
*/
/*
#define HEX_VERSION 81
#define GROWTREE_VERSION 305
#define RANDOMIZED_RESOURCES_VERSION 306
#define NEWRACE_VERSION 307
#define INTERIM_VERSION 309
#define NEWSKILL_VERSION 309
#define WATCHERS_VERSION 310
#define OVERRIDE_VERSION 311
*/
#define CURSETYPE_VERSION 312 /* turn 287 */ #define CURSETYPE_VERSION 312 /* turn 287 */
#define ALLIANCES_VERSION 313 #define ALLIANCES_VERSION 313
#define DBLINK_VERSION 314 #define DBLINK_VERSION 314
@ -48,14 +20,6 @@
/* 319 is the HSE4 data version */ /* 319 is the HSE4 data version */
#define BACTION_VERSION 319 /* building action gets a param string */ #define BACTION_VERSION 319 /* building action gets a param string */
#define NOLASTORDER_VERSION 320 /* do not use lastorder */ #define NOLASTORDER_VERSION 320 /* do not use lastorder */
#define SPELLNAME_VERSION 321 /* reference spells by name */
#define TERRAIN_VERSION 322 /* terrains are a full type and saved by name */
#define REGIONITEMS_VERSION 323 /* regions have items */
#define ATTRIBREAD_VERSION 324 /* remove a_readint */
#define CURSEFLAGS_VERSION 325 /* remove a_readint */
#define UNICODE_VERSION 326 /* 2007-06-27 everything is stored as UTF8 */
#define UID_VERSION 327 /* regions have a unique id */
#define STORAGE_VERSION 328 /* with storage.h, some things are stored smarter (ids as base36, fractions as float) */
#define INTPAK_VERSION 329 /* in binary, ints can get packed */ #define INTPAK_VERSION 329 /* in binary, ints can get packed */
#define NOZEROIDS_VERSION 330 /* 2008-05-16 zero is not a valid ID for anything (including factions) */ #define NOZEROIDS_VERSION 330 /* 2008-05-16 zero is not a valid ID for anything (including factions) */
#define NOBORDERATTRIBS_VERSION 331 /* 2008-05-17 connection::attribs has been moved to userdata */ #define NOBORDERATTRIBS_VERSION 331 /* 2008-05-17 connection::attribs has been moved to userdata */

View File

@ -229,21 +229,12 @@ struct storage *store)
spell *sp; spell *sp;
char spname[64]; char spname[64];
if (global.data_version < SPELLNAME_VERSION) { READ_TOK(store, spname, sizeof(spname));
int i; if (strcmp(spname, "end") == 0)
READ_INT(store, &i); break;
if (i < 0) sp = find_spell(spname);
break; if (!sp) {
sp = find_spellbyid((unsigned int)i); log_error("read_spells: could not find spell '%s' in school '%s'\n", spname, magic_school[mtype]);
}
else {
READ_TOK(store, spname, sizeof(spname));
if (strcmp(spname, "end") == 0)
break;
sp = find_spell(spname);
if (!sp) {
log_error("read_spells: could not find spell '%s' in school '%s'\n", spname, magic_school[mtype]);
}
} }
if (sp) { if (sp) {
add_spell(slistp, sp); add_spell(slistp, sp);
@ -272,23 +263,13 @@ static int read_mage(attrib * a, void *owner, struct storage *store)
for (i = 0; i != MAXCOMBATSPELLS; ++i) { for (i = 0; i != MAXCOMBATSPELLS; ++i) {
spell *sp = NULL; spell *sp = NULL;
int level = 0; int level = 0;
if (global.data_version < SPELLNAME_VERSION) { READ_TOK(store, spname, sizeof(spname));
int spid; READ_INT(store, &level);
READ_INT(store, &spid);
READ_INT(store, &level);
if (spid >= 0) {
sp = find_spellbyid((unsigned int)spid);
}
}
else {
READ_TOK(store, spname, sizeof(spname));
READ_INT(store, &level);
if (strcmp("none", spname) != 0) { if (strcmp("none", spname) != 0) {
sp = find_spell(spname); sp = find_spell(spname);
if (!sp) { if (!sp) {
log_error("read_mage: could not find combat spell '%s' in school '%s'\n", spname, magic_school[mage->magietyp]); log_error("read_mage: could not find combat spell '%s' in school '%s'\n", spname, magic_school[mage->magietyp]);
}
} }
} }
if (sp && level >= 0) { if (sp && level >= 0) {

View File

@ -174,17 +174,8 @@ static void wall_read(connection * b, storage * store)
{ {
static wall_data dummy; static wall_data dummy;
wall_data *fd = b->data.v ? (wall_data *) b->data.v : &dummy; wall_data *fd = b->data.v ? (wall_data *) b->data.v : &dummy;
variant mno;
if (global.data_version < STORAGE_VERSION) { read_reference(&fd->mage, store, read_unit_reference, resolve_unit);
READ_INT(store, &mno.i);
fd->mage = findunit(mno.i);
if (!fd->mage && b->data.v) {
ur_add(mno, &fd->mage, resolve_unit);
}
} else {
read_reference(&fd->mage, store, read_unit_reference, resolve_unit);
}
READ_INT(store, &fd->force); READ_INT(store, &fd->force);
if (global.data_version >= NOBORDERATTRIBS_VERSION) { if (global.data_version >= NOBORDERATTRIBS_VERSION) {
READ_INT(store, &fd->countdown); READ_INT(store, &fd->countdown);

View File

@ -74,39 +74,16 @@ static int a_agedirection(attrib * a)
static int a_readdirection(attrib * a, void *owner, struct storage *store) static int a_readdirection(attrib * a, void *owner, struct storage *store)
{ {
spec_direction *d = (spec_direction *)(a->data.v); spec_direction *d = (spec_direction *)(a->data.v);
char lbuf[32];
(void) owner; (void) owner;
READ_INT(store, &d->x); READ_INT(store, &d->x);
READ_INT(store, &d->y); READ_INT(store, &d->y);
READ_INT(store, &d->duration); READ_INT(store, &d->duration);
if (global.data_version < UNICODE_VERSION) { READ_TOK(store, lbuf, sizeof(lbuf));
char lbuf[16]; d->desc = _strdup(lbuf);
dir_lookup *dl = dir_name_lookup; READ_TOK(store, lbuf, sizeof(lbuf));
d->keyword = _strdup(lbuf);
READ_TOK(store, NULL, 0);
READ_TOK(store, lbuf, sizeof(lbuf));
untilde(lbuf);
for (; dl; dl = dl->next) {
if (strcmp(lbuf, dl->oldname) == 0) {
d->keyword = _strdup(dl->name);
_snprintf(lbuf, sizeof(lbuf), "%s_desc", d->keyword);
d->desc = _strdup(dl->name);
break;
}
}
if (dl == NULL) {
log_error("unknown spec_direction '%s'\n", lbuf);
assert(!"not implemented");
}
}
else {
char lbuf[32];
READ_TOK(store, lbuf, sizeof(lbuf));
d->desc = _strdup(lbuf);
READ_TOK(store, lbuf, sizeof(lbuf));
d->keyword = _strdup(lbuf);
}
d->active = true; d->active = true;
return AT_READ_OK; return AT_READ_OK;
} }