diff --git a/include/commodity.h b/include/commodity.h index cba8f557..41573303 100644 --- a/include/commodity.h +++ b/include/commodity.h @@ -41,9 +41,11 @@ #include "item.h" struct comstr { + /* initial part must match struct empobj */ short ef_type; natid com_owner; short com_uid; + /* end of part matching struct empobj */ i_type com_type; int com_amount; float com_price; diff --git a/include/trade.h b/include/trade.h index da1b5a8e..45b4dfe0 100644 --- a/include/trade.h +++ b/include/trade.h @@ -41,9 +41,11 @@ #include "types.h" struct trdstr { + /* initial part must match struct empobj */ short ef_type; natid trd_owner; short trd_uid; + /* end of part matching struct empobj */ short trd_type; short trd_unitid; long trd_price; diff --git a/src/lib/global/file.c b/src/lib/global/file.c index 9db598fc..0a0031a6 100644 --- a/src/lib/global/file.c +++ b/src/lib/global/file.c @@ -131,7 +131,7 @@ struct empfile empfile[] = { {EF_TREATY, "treaty", "treaty", treaty_ca, UNMAPPED_CACHE(struct trtstr, 0)}, {EF_TRADE, "trade", "trade", trade_ca, - UNMAPPED_CACHE(struct trdstr, 0)}, + UNMAPPED_CACHE(struct trdstr, EFF_OWNER)}, {EF_POWER, "pow", "power", NULL, UNMAPPED_CACHE(struct powstr, 0)}, {EF_NATION, "nat", "nation", nat_ca, @@ -143,7 +143,7 @@ struct empfile empfile[] = { {EF_BMAP, "bmap", "bmap", NULL, 0, 0, NULL, 0, 0, 0, 0, -1, NULL, NULL, NULL}, {EF_COMM, "commodity", "commodity", commodity_ca, - UNMAPPED_CACHE(struct comstr, 0)}, + UNMAPPED_CACHE(struct comstr, EFF_OWNER)}, {EF_LOST, "lost", "lostitems", lost_ca, UNMAPPED_CACHE(struct loststr, EFF_OWNER)}, {EF_REALM, "realm", "realms", realm_ca, @@ -214,7 +214,8 @@ struct empfile empfile[] = { SYMTAB(EF_TREATY_FLAGS, "treaty-flags", treaty_flags), /* Views */ - {EF_COUNTRY, "country", NULL, cou_ca, UNMAPPED_CACHE(struct natstr, 0)}, + {EF_COUNTRY, "country", NULL, cou_ca, + UNMAPPED_CACHE(struct natstr, EFF_OWNER)}, /* Sentinel */ {EF_BAD, NULL, NULL, NULL, 0, 0, NULL, 0, 0, 0, 0, -1, NULL, NULL, NULL},