X-Git-Url: http://git.pond.sub.org/?p=empserver;a=blobdiff_plain;f=include%2Fgame.h;h=6ad2e566a4dcb7e5a1061df43c9da1ad6b91a6ef;hp=1a5f1f3678cb5295801156f936b4fc730e566f9a;hb=HEAD;hpb=aa34ef2b7b4932eb3802a422427a7be58e127d9c diff --git a/include/game.h b/include/game.h index 1a5f1f367..6ad2e566a 100644 --- a/include/game.h +++ b/include/game.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 . * * --- * @@ -26,32 +25,43 @@ * --- * * game.h: The game file - * + * * Known contributors to this file: - * Markus Armbruster, 2007 + * Markus Armbruster, 2007-2009 */ #ifndef GAME_H #define GAME_H -#include +#include "file.h" struct gamestr { /* initial part must match struct empobj */ - short ef_type; + signed ef_type: 8; + unsigned game_seqno: 12; + unsigned game_generation: 12; + int game_uid; + time_t game_timestamp; /* end of part matching struct empobj */ + char game_upd_disable; /* updates disabled? */ + char game_down; /* playing disabled? */ /* * The Empire clock. * Access it through game_tick_tick(), or else it'll be late. */ short game_turn; /* turn number */ - short game_tick; /* elapsed etus in this turn */ + short game_tick; /* elapsed ETUs in this turn */ time_t game_rt; /* when game_tick last ticked */ }; #define putgame() ef_write(EF_GAME, 0, ef_ptr(EF_GAME, 0)) #define getgamep() ((struct gamestr *)ef_ptr(EF_GAME, 0)) +extern void game_ctrl_update(int); +extern int updates_disabled(void); +extern void game_ctrl_play(int); +extern int game_play_disabled(void); +extern void game_note_bsanct(void); extern void game_record_update(time_t); extern struct gamestr *game_tick_tick(void); extern int game_tick_to_now(short *);