empserver/include/xdump.h
Markus Armbruster f4f048234c empdump: Omit redundant data from export, new -c includes it
Cuts size of export files in test suite by a factor of four.  Not a
big deal for disk usage, as export files compress very well, and disk
space is cheap anyway.  Export files are simply easier to work with
when they aren't full of redundant crap.

Signed-off-by: Markus Armbruster <armbru@pond.sub.org>
2015-02-01 16:53:00 +01:00

59 lines
2 KiB
C

/*
* Empire - A multi-player, client/server Internet based war game.
* Copyright (C) 1986-2014, Dave Pare, Jeff Bailey, Thomas Ruschak,
* Ken Stevens, Steve McClure, Markus Armbruster
*
* 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 3 of the License, or
* (at your option) any later version.
*
* This program is distributed in the hope that it will be useful,
* but WITHOUT ANY WARRANTY; without even the implied warranty of
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
* 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, see <http://www.gnu.org/licenses/>.
*
* ---
*
* See files README, COPYING and CREDITS in the root of the source
* tree for related information and legal notices. It is expected
* that future projects/authors will amend these files as needed.
*
* ---
*
* xdump.h: Extended dumps
*
* Known contributors to this file:
* Markus Armbruster, 2008-2014
*/
#ifndef XDUMP_H
#define XDUMP_H
#include <stdio.h>
#include "nsc.h"
#include "types.h"
/* xdump descriptor */
struct xdstr {
natid cnum; /* dump for this country */
int divine; /* is this a deity dump? */
int human; /* dump human-readable format */
int sloppy; /* try to cope with invalid data */
void (*pr)(char *fmt, ...) /* callback for printing dump */
ATTRIBUTE((format (printf, 1, 2)));
};
struct xdstr *xdinit(struct xdstr *, natid, int, int,
void (*)(char *, ...));
extern void xdhdr(struct xdstr *, char *, int);
extern void xdcolhdr(struct xdstr *, struct castr[]);
extern void xdflds(struct xdstr *, struct castr[], void *);
extern void xdftr(struct xdstr *, int);
extern int xundump(FILE *, char *, int *, int);
extern int xundump_redundant(int, int, void *);
#endif