X-Git-Url: http://git.pond.sub.org/?p=empserver;a=blobdiff_plain;f=include%2Ftrade.h;h=7e5cd156fd2c340a4105177caa2221114e4da1e7;hp=fedb5307ebaf4c989cf5e531e8f83f500d9e5312;hb=HEAD;hpb=dccc0d1349741807b8f831feef0e6067a9e987cb diff --git a/include/trade.h b/include/trade.h index fedb5307e..7e5cd156f 100644 --- a/include/trade.h +++ b/include/trade.h @@ -1,11 +1,11 @@ /* * Empire - A multi-player, client/server Internet based war game. - * Copyright (C) 1986-2007, Dave Pare, Jeff Bailey, Thomas Ruschak, - * Ken Stevens, Steve McClure + * Copyright (C) 1986-2021, Dave Pare, Jeff Bailey, Thomas Ruschak, + * Ken Stevens, Steve McClure, Markus Armbruster * - * This program is free software; you can redistribute it and/or modify + * Empire is free software: you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by - * the Free Software Foundation; either version 2 of the License, or + * the Free Software Foundation, either version 3 of the License, or * (at your option) any later version. * * This program is distributed in the hope that it will be useful, @@ -14,8 +14,7 @@ * GNU General Public License for more details. * * You should have received a copy of the GNU General Public License - * along with this program; if not, write to the Free Software - * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA + * along with this program. If not, see . * * --- * @@ -27,7 +26,7 @@ * * trade.h: Definitions for trading units/ships/planes in a time delay * system - * + * * Known contributors to this file: * Dave Pare * Pat Loney, 1992 @@ -37,26 +36,31 @@ #ifndef TRADE_H #define TRADE_H -#include +#include "file.h" #include "types.h" struct trdstr { - short ef_type; + /* initial part must match struct empobj */ + signed ef_type: 8; + unsigned trd_seqno: 12; + unsigned trd_generation: 12; + int trd_uid; + time_t trd_timestamp; natid trd_owner; - short trd_uid; + /* end of part matching struct empobj */ short trd_type; - short trd_unitid; - long trd_price; + int trd_unitid; + int trd_price; int trd_maxbidder; time_t trd_markettime; - coord trd_x; + coord trd_x; /* destination for teleporting trade */ coord trd_y; }; -extern int trade_check_ok(struct trdstr *, union empobj_storage *); -extern int trade_check_item_ok(union empobj_storage *); -extern char *trade_nameof(struct trdstr *, union empobj_storage *); -extern int trade_desc(struct trdstr *, union empobj_storage *); +extern int trade_check_ok(struct trdstr *, struct empobj *); +extern char *trade_nameof(struct trdstr *, struct empobj *); +extern int trade_desc(struct empobj *); +extern int trade_has_unsalable_cargo(struct empobj *, int); extern int trade_getitem(struct trdstr *, union empobj_storage *); #define gettrade(n, p) ef_read(EF_TRADE, (n), (p))