Freeciv-3.3: /fast/freeciv/nightly/main/tools/manual/manual_extras.c Source File

Freeciv-3.3

Loading...
Searching...
No Matches
manual_extras.c
Go to the documentation of this file.
1/***********************************************************************
2 Freeciv - Copyright (C) 1996 - A Kjeldberg, L Gregersen, P Unold
3 This program is free software; you can redistribute it and/or modify
4 it under the terms of the GNU General Public License as published by
5 the Free Software Foundation; either version 2, or (at your option)
6 any later version.
7
8 This program is distributed in the hope that it will be useful,
9 but WITHOUT ANY WARRANTY; without even the implied warranty of
10 MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
11 GNU General Public License for more details.
12***********************************************************************/
13
14#ifdef HAVE_CONFIG_H
15#include <fc_config.h>
16#endif
17
18/* utility */
19#include "fcintl.h"
20
21/* common */
22#include "game.h"
23#include "tech.h"
24
25/* client */
26#include "helpdata.h"
27
28/* tools/manual */
29#include "fc_manual.h"
30
31/**********************************************************************/
37 bool manual_extras(struct tag_types *tag_info)
38{
39 FILE *doc;
40
41 doc = manual_start(tag_info, MANUAL_EXTRAS);
42
43 if (doc == NULL) {
44 return FALSE;
45 }
46
47 /* TRANS: markup ... Freeciv version ... ruleset name ... markup */
48 fprintf(doc, _("%sFreeciv %s extras help (%s)%s\n\n"),
49 tag_info->title_begin, VERSION_STRING, game.control.name,
50 tag_info->title_end);
51 extra_type_iterate(pextra) {
52 char buf[64000];
53
54 fprintf(doc, tag_info->item_begin, "extra", extra_index(pextra));
55 fprintf(doc, "%s%s%s\n\n", tag_info->sect_title_begin,
56 extra_name_translation(pextra), tag_info->sect_title_end);
57
58 fprintf(doc, tag_info->subitem_begin, "helptext");
59 helptext_extra(buf, sizeof(buf), NULL, "", pextra);
60 fprintf(doc, "%s", buf);
61 fprintf(doc, "%s", tag_info->subitem_end);
62
63 fprintf(doc, "%s", tag_info->item_end);
64 } extra_type_iterate_end;
65
66 manual_finalize(tag_info, doc, MANUAL_EXTRAS);
67
68 return TRUE;
69}
incite_cost
char * incite_cost
Definition comments.c:74
extra_name_translation
const char * extra_name_translation(const struct extra_type *pextra)
Definition extras.c:194
extra_type_iterate
#define extra_type_iterate(_p)
Definition extras.h:315
extra_type_iterate_end
#define extra_type_iterate_end
Definition extras.h:321
extra_index
#define extra_index(_e_)
Definition extras.h:183
manual_finalize
void manual_finalize(struct tag_types *tag_info, FILE *doc, enum manuals manual)
Definition fc_manual.c:316
manual_start
FILE * manual_start(struct tag_types *tag_info, int manual_number)
Definition fc_manual.c:287
fc_manual.h
fcintl.h
_
#define _(String)
Definition fcintl.h:67
game
struct civ_game game
Definition game.c:61
game.h
helptext_extra
void helptext_extra(char *buf, size_t bufsz, struct player *pplayer, const char *user_text, struct extra_type *pextra)
Definition helpdata.c:3758
helpdata.h
manual_extras
bool manual_extras(struct tag_types *tag_info)
Definition manual_extras.c:37
civ_game::control
struct packet_ruleset_control control
Definition game.h:83
packet_ruleset_control::name
char name[MAX_LEN_NAME]
Definition packets_gen.h:1463
tag_types
Definition fc_manual.h:28
TRUE
#define TRUE
Definition support.h:46
FALSE
#define FALSE
Definition support.h:47
tech.h