1 /* 2 * Empire - A multi-player, client/server Internet based war game. 3 * Copyright (C) 1986-2021, Dave Pare, Jeff Bailey, Thomas Ruschak, 4 * Ken Stevens, Steve McClure, Markus Armbruster 5 * 6 * Empire is free software: you can redistribute it and/or modify 7 * it under the terms of the GNU General Public License as published by 8 * the Free Software Foundation, either version 3 of the License, or 9 * (at your option) any later version. 10 * 11 * This program is distributed in the hope that it will be useful, 12 * but WITHOUT ANY WARRANTY; without even the implied warranty of 13 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the 14 * GNU General Public License for more details. 15 * 16 * You should have received a copy of the GNU General Public License 17 * along with this program. If not, see <http://www.gnu.org/licenses/>. 18 * 19 * --- 20 * 21 * See files README, COPYING and CREDITS in the root of the source 22 * tree for related information and legal notices. It is expected 23 * that future projects/authors will amend these files as needed. 24 * 25 * --- 26 * 27 * lost.h: Definitions for lost items 28 * 29 * Known contributors to this file: 30 * Steve McClure, 1997 31 */ 32 33 #ifndef LOST_H 34 #define LOST_H 35 36 #include "file.h" 37 #include "types.h" 38 39 struct loststr { 40 /* initial part must match struct empobj */ 41 signed ef_type: 8; 42 unsigned lost_seqno: 12; 43 unsigned lost_generation: 12; 44 int lost_uid; 45 time_t lost_timestamp; /* When it was lost */ 46 natid lost_owner; /* Who lost it */ 47 /* end of part matching struct empobj */ 48 short lost_type; /* Type of thing (ship, plane, nuke, land, sector) */ 49 int lost_id; /* UID of lost thing (0 for sector) */ 50 coord lost_x; 51 coord lost_y; 52 }; 53 54 #define getlost(n, p) ef_read(EF_LOST, (n), (p)) 55 #define putlost(n, p) ef_write(EF_LOST, (n), (p)) 56 57 /* src/lib/subs/lostsub.c */ 58 extern void lost_and_found(int, natid, natid, int, coord, coord); 59 extern void makelost(int, natid, int, coord, coord); 60 extern void makenotlost(int, natid, int, coord, coord); 61 extern void delete_old_lostitems(void); 62 63 #endif 64