(EFF_OWNER): The assertion that EFF_OWNER implies ef_read() sets
player->owner is no longer used. Use it to indicate that owner can be accessed through struct genitem, similar to EFF_XY and EFF_GROUP. (xdump): Fix ownership checking. Old version worked only when nxtitem() set player->owner. (empfile): Set EFF_OWNER for EF_LOST. This fixes `xdump lost' disclosing other countries' losses. (loststr): Document implications of EFF_OWNER. (empfile): Set EFF_OWNER for EF_NATION. (natstr): Rearrange members for EFF_OWNER, document. (nat_ca): Unused so far. Clean it up, add most missing selectors. (fileinit): Use it. This implements `xdump nation'. (fileinit): Simplify setting map file size.
This commit is contained in:
parent
b111abc2c5
commit
326ac671ba
7 changed files with 33 additions and 36 deletions
|
@ -56,7 +56,7 @@
|
|||
* - News item characteristics: rpt[] (TODO)
|
||||
* - News page headings: page_headings[] (TODO)
|
||||
* - Treaty clause characteristics: tchr[]
|
||||
* - Commands: coms[] (TODO)
|
||||
* - Commands: player_coms[] (TODO)
|
||||
* - Options: Options[]
|
||||
* - Configuration: configkeys[]
|
||||
*
|
||||
|
@ -406,6 +406,7 @@ xdftr(int n)
|
|||
static int
|
||||
xditem(int type, char *arg)
|
||||
{
|
||||
int check_owner = !player->god && (ef_flags(type) & EFF_OWNER) != 0;
|
||||
struct castr *ca;
|
||||
struct nstr_item ni;
|
||||
int n;
|
||||
|
@ -422,7 +423,7 @@ xditem(int type, char *arg)
|
|||
|
||||
n = 0;
|
||||
while (nxtitem(&ni, buf)) {
|
||||
if (!player->owner)
|
||||
if (check_owner && ((struct genitem *)buf)->own != player->cnum)
|
||||
continue;
|
||||
++n;
|
||||
xdflds(ca, buf);
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue