Feature #1065 ยป 0054-savegame-Save-vision_site-original-owner.patch
| server/savegame/savecompat.c | ||
|---|---|---|
|
secfile_entry_ignore(loading->file, "research.r%d.techs", i);
|
||
|
}
|
||
|
}
|
||
|
player_slots_iterate(pslot) {
|
||
|
int plrno = player_slot_index(pslot);
|
||
|
int ncities;
|
||
|
int cnro;
|
||
|
if (secfile_section_lookup(loading->file, "player%d", plrno) == nullptr) {
|
||
|
continue;
|
||
|
}
|
||
|
ncities = secfile_lookup_int_default(loading->file, 0,
|
||
|
"player%d.dc_total", plrno);
|
||
|
for (cnro = 0; cnro < ncities; cnro++) {
|
||
|
secfile_insert_int(loading->file, -1, "player%d.dc%d.original",
|
||
|
plrno, cnro);
|
||
|
}
|
||
|
} player_slots_iterate_end;
|
||
|
}
|
||
|
/************************************************************************//**
|
||
| ... | ... | |
|
free(savemod);
|
||
|
}
|
||
|
}
|
||
|
player_slots_iterate(pslot) {
|
||
|
int plrno = player_slot_index(pslot);
|
||
|
int ncities;
|
||
|
int cnro;
|
||
|
if (secfile_section_lookup(loading->file, "player%d", plrno) == nullptr) {
|
||
|
continue;
|
||
|
}
|
||
|
ncities = secfile_lookup_int_default(loading->file, 0,
|
||
|
"player%d.dc_total", plrno);
|
||
|
for (cnro = 0; cnro < ncities; cnro++) {
|
||
|
if (!secfile_entry_lookup(loading->file, "player%d.dc%d.original",
|
||
|
plrno, cnro)) {
|
||
|
secfile_insert_int(loading->file, -1, "player%d.dc%d.original",
|
||
|
plrno, cnro);
|
||
|
}
|
||
|
}
|
||
|
} player_slots_iterate_end;
|
||
|
} /* Version < 3.2.93 */
|
||
|
#endif /* FREECIV_DEV_SAVE_COMPAT_3_3 */
|
||
| server/savegame/savegame3.c | ||
|---|---|---|
|
sg_warn_ret_val(NULL != pdcity->owner, FALSE,
|
||
|
"%s has invalid owner (%d); skipping.", citystr, id);
|
||
|
sg_warn_ret_val(secfile_lookup_int(loading->file, &id, "%s.original",
|
||
|
citystr),
|
||
|
FALSE, "%s", secfile_error());
|
||
|
if (id >= 0) {
|
||
|
pdcity->original = player_by_number(id);
|
||
|
sg_warn_ret_val(NULL != pdcity->original, FALSE,
|
||
|
"%s has invalid original owner (%d); skipping.", citystr, id);
|
||
|
} else {
|
||
|
pdcity->original = nullptr;
|
||
|
}
|
||
|
sg_warn_ret_val(secfile_lookup_int(loading->file, &pdcity->identity,
|
||
|
"%s.id", citystr),
|
||
|
FALSE, "%s", secfile_error());
|
||
| ... | ... | |
|
secfile_insert_int(saving->file, pdcity->identity, "%s.id", buf);
|
||
|
secfile_insert_int(saving->file, player_number(vision_site_owner(pdcity)),
|
||
|
"%s.owner", buf);
|
||
|
if (pdcity->original != nullptr) {
|
||
|
secfile_insert_int(saving->file, player_number(pdcity->original),
|
||
|
"%s.original", buf);
|
||
|
} else {
|
||
|
secfile_insert_int(saving->file, -1, "%s.original", buf);
|
||
|
}
|
||
|
secfile_insert_int(saving->file, vision_site_size_get(pdcity),
|
||
|
"%s.size", buf);
|
||