~ubuntu-branches/ubuntu/vivid/nethack/vivid

« back to all changes in this revision

Viewing changes to .pc/0013-93_enh_dump.dpatch-by-Tom-Friedetzky-Jukka-Lahtinen-.patch/include/decl.h

  • Committer: Package Import Robot
  • Author(s): Vincent Cheng, Bernhard R. Link, Vincent Cheng
  • Date: 2012-06-11 00:47:38 UTC
  • mfrom: (3.1.9 sid)
  • Revision ID: package-import@ubuntu.com-20120611004738-3fy8b3wi0j45y2oq
Tags: 3.4.3-14
* Team upload.

[ Bernhard R. Link ]
* switch to "3.0 (quilt)"
* bump Standards-Version
* modernize debian/rules:
- use dpkg-buildflags
- support build-arch/-indep
- make parallel safe
- don't avoid make errors
* add patch so it can compile with -Werror=format-security
* drop no longer needed patches (-qt and -gnome are gone)
* don't use /dev/null as install template (Closes: 644647)
* drop nethack-common menu (both -console and -x11 have one)

[ Vincent Cheng ]
* Adopt package. (Closes: #673584)
  - Change Maintainer to Debian Games Team.
  - Add myself to Uploaders.
* Modify 0006-Common-config.h-for-all-binary-packages.patch to enable
  AUTOPICKUP_EXCEPTIONS. (Closes: #329318)
* Modify 0011-Pasi-Kallinen-s-patch-to-add-colors-to-inventory-ite.patch
  and 0017-Debian-and-Linux-specifics-defined-in-unixconf.h.patch; add
  0021-fix-kfreebsd-ftbfs.patch to fix FTBFS on kfreebsd.
* Convert debian/copyright to DEP-5 machine-readable format.
* Use dh_lintian to install overrides instead of manually installing them
  in debian/rules.
* Add watch file.
* Add Homepage field in debian/control.
* Add Vcs-* fields in debian/control.

Show diffs side-by-side

added added

removed removed

Lines of Context:
 
1
/*      SCCS Id: @(#)decl.h     3.4     2001/12/10      */
 
2
/* Copyright (c) Stichting Mathematisch Centrum, Amsterdam, 1985. */
 
3
/* NetHack may be freely redistributed.  See license for details. */
 
4
 
 
5
#ifndef DECL_H
 
6
#define DECL_H
 
7
 
 
8
#define E extern
 
9
 
 
10
E int NDECL((*occupation));
 
11
E int NDECL((*afternmv));
 
12
 
 
13
E const char *hname;
 
14
E int hackpid;
 
15
#if defined(UNIX) || defined(VMS)
 
16
E int locknum;
 
17
#endif
 
18
#ifdef DEF_PAGER
 
19
E char *catmore;
 
20
#endif  /* DEF_PAGER */
 
21
 
 
22
E char SAVEF[];
 
23
#ifdef MICRO
 
24
E char SAVEP[];
 
25
#endif
 
26
 
 
27
E NEARDATA int bases[MAXOCLASSES];
 
28
 
 
29
E NEARDATA int multi;
 
30
#if 0
 
31
E NEARDATA int warnlevel;
 
32
#endif
 
33
E NEARDATA int nroom;
 
34
E NEARDATA int nsubroom;
 
35
E NEARDATA int occtime;
 
36
 
 
37
#define WARNCOUNT 6                     /* number of different warning levels */
 
38
E uchar warnsyms[WARNCOUNT];
 
39
 
 
40
E int x_maze_max, y_maze_max;
 
41
E int otg_temp;
 
42
 
 
43
#ifdef REDO
 
44
E NEARDATA int in_doagain;
 
45
#endif
 
46
 
 
47
E struct dgn_topology {         /* special dungeon levels for speed */
 
48
    d_level     d_oracle_level;
 
49
    d_level     d_bigroom_level;        /* unused */
 
50
#ifdef REINCARNATION
 
51
    d_level     d_rogue_level;
 
52
#endif
 
53
    d_level     d_medusa_level;
 
54
    d_level     d_stronghold_level;
 
55
    d_level     d_valley_level;
 
56
    d_level     d_wiz1_level;
 
57
    d_level     d_wiz2_level;
 
58
    d_level     d_wiz3_level;
 
59
    d_level     d_juiblex_level;
 
60
    d_level     d_orcus_level;
 
61
    d_level     d_baalzebub_level;      /* unused */
 
62
    d_level     d_asmodeus_level;       /* unused */
 
63
    d_level     d_portal_level;         /* only in goto_level() [do.c] */
 
64
    d_level     d_sanctum_level;
 
65
    d_level     d_earth_level;
 
66
    d_level     d_water_level;
 
67
    d_level     d_fire_level;
 
68
    d_level     d_air_level;
 
69
    d_level     d_astral_level;
 
70
    xchar       d_tower_dnum;
 
71
    xchar       d_sokoban_dnum;
 
72
    xchar       d_mines_dnum, d_quest_dnum;
 
73
    d_level     d_qstart_level, d_qlocate_level, d_nemesis_level;
 
74
    d_level     d_knox_level;
 
75
} dungeon_topology;
 
76
/* macros for accesing the dungeon levels by their old names */
 
77
#define oracle_level            (dungeon_topology.d_oracle_level)
 
78
#define bigroom_level           (dungeon_topology.d_bigroom_level)
 
79
#ifdef REINCARNATION
 
80
#define rogue_level             (dungeon_topology.d_rogue_level)
 
81
#endif
 
82
#define medusa_level            (dungeon_topology.d_medusa_level)
 
83
#define stronghold_level        (dungeon_topology.d_stronghold_level)
 
84
#define valley_level            (dungeon_topology.d_valley_level)
 
85
#define wiz1_level              (dungeon_topology.d_wiz1_level)
 
86
#define wiz2_level              (dungeon_topology.d_wiz2_level)
 
87
#define wiz3_level              (dungeon_topology.d_wiz3_level)
 
88
#define juiblex_level           (dungeon_topology.d_juiblex_level)
 
89
#define orcus_level             (dungeon_topology.d_orcus_level)
 
90
#define baalzebub_level         (dungeon_topology.d_baalzebub_level)
 
91
#define asmodeus_level          (dungeon_topology.d_asmodeus_level)
 
92
#define portal_level            (dungeon_topology.d_portal_level)
 
93
#define sanctum_level           (dungeon_topology.d_sanctum_level)
 
94
#define earth_level             (dungeon_topology.d_earth_level)
 
95
#define water_level             (dungeon_topology.d_water_level)
 
96
#define fire_level              (dungeon_topology.d_fire_level)
 
97
#define air_level               (dungeon_topology.d_air_level)
 
98
#define astral_level            (dungeon_topology.d_astral_level)
 
99
#define tower_dnum              (dungeon_topology.d_tower_dnum)
 
100
#define sokoban_dnum            (dungeon_topology.d_sokoban_dnum)
 
101
#define mines_dnum              (dungeon_topology.d_mines_dnum)
 
102
#define quest_dnum              (dungeon_topology.d_quest_dnum)
 
103
#define qstart_level            (dungeon_topology.d_qstart_level)
 
104
#define qlocate_level           (dungeon_topology.d_qlocate_level)
 
105
#define nemesis_level           (dungeon_topology.d_nemesis_level)
 
106
#define knox_level              (dungeon_topology.d_knox_level)
 
107
 
 
108
E NEARDATA stairway dnstair, upstair;           /* stairs up and down */
 
109
#define xdnstair        (dnstair.sx)
 
110
#define ydnstair        (dnstair.sy)
 
111
#define xupstair        (upstair.sx)
 
112
#define yupstair        (upstair.sy)
 
113
 
 
114
E NEARDATA stairway dnladder, upladder;         /* ladders up and down */
 
115
#define xdnladder       (dnladder.sx)
 
116
#define ydnladder       (dnladder.sy)
 
117
#define xupladder       (upladder.sx)
 
118
#define yupladder       (upladder.sy)
 
119
 
 
120
E NEARDATA stairway sstairs;
 
121
 
 
122
E NEARDATA dest_area updest, dndest;    /* level-change destination areas */
 
123
 
 
124
E NEARDATA coord inv_pos;
 
125
E NEARDATA dungeon dungeons[];
 
126
E NEARDATA s_level *sp_levchn;
 
127
#define dunlev_reached(x)       (dungeons[(x)->dnum].dunlev_ureached)
 
128
 
 
129
#include "quest.h"
 
130
E struct q_score quest_status;
 
131
 
 
132
E NEARDATA char pl_character[PL_CSIZ];
 
133
E NEARDATA char pl_race;                /* character's race */
 
134
 
 
135
E NEARDATA char pl_fruit[PL_FSIZ];
 
136
E NEARDATA int current_fruit;
 
137
E NEARDATA struct fruit *ffruit;
 
138
 
 
139
E NEARDATA char tune[6];
 
140
 
 
141
#define MAXLINFO (MAXDUNGEON * MAXLEVEL)
 
142
E struct linfo level_info[MAXLINFO];
 
143
 
 
144
E NEARDATA struct sinfo {
 
145
        int gameover;           /* self explanatory? */
 
146
        int stopprint;          /* inhibit further end of game disclosure */
 
147
#if defined(UNIX) || defined(VMS) || defined (__EMX__) || defined(WIN32)
 
148
        int done_hup;           /* SIGHUP or moral equivalent received
 
149
                                 * -- no more screen output */
 
150
#endif
 
151
        int something_worth_saving;     /* in case of panic */
 
152
        int panicking;          /* `panic' is in progress */
 
153
#if defined(VMS) || defined(WIN32)
 
154
        int exiting;            /* an exit handler is executing */
 
155
#endif
 
156
        int in_impossible;
 
157
#ifdef PANICLOG
 
158
        int in_paniclog;
 
159
#endif
 
160
} program_state;
 
161
 
 
162
E boolean restoring;
 
163
 
 
164
E const char quitchars[];
 
165
E const char vowels[];
 
166
E const char ynchars[];
 
167
E const char ynqchars[];
 
168
E const char ynaqchars[];
 
169
E const char ynNaqchars[];
 
170
E NEARDATA long yn_number;
 
171
 
 
172
E const char disclosure_options[];
 
173
 
 
174
E NEARDATA int smeq[];
 
175
E NEARDATA int doorindex;
 
176
E NEARDATA char *save_cm;
 
177
#define KILLED_BY_AN     0
 
178
#define KILLED_BY        1
 
179
#define NO_KILLER_PREFIX 2
 
180
E NEARDATA int killer_format;
 
181
E const char *killer;
 
182
E const char *delayed_killer;
 
183
#ifdef GOLDOBJ
 
184
E long done_money;
 
185
#endif
 
186
E char killer_buf[BUFSZ];
 
187
E const char *configfile;
 
188
E NEARDATA char plname[PL_NSIZ];
 
189
E NEARDATA char dogname[];
 
190
E NEARDATA char catname[];
 
191
E NEARDATA char horsename[];
 
192
E char preferred_pet;
 
193
E const char *occtxt;                   /* defined when occupation != NULL */
 
194
E const char *nomovemsg;
 
195
E const char nul[];
 
196
E char lock[];
 
197
 
 
198
E const char sdir[], ndir[];
 
199
E const schar xdir[], ydir[], zdir[];
 
200
 
 
201
E NEARDATA schar tbx, tby;              /* set in mthrowu.c */
 
202
 
 
203
E NEARDATA struct multishot { int n, i; short o; boolean s; } m_shot;
 
204
 
 
205
E NEARDATA struct dig_info {            /* apply.c, hack.c */
 
206
        int     effort;
 
207
        d_level level;
 
208
        coord   pos;
 
209
        long lastdigtime;
 
210
        boolean down, chew, warned, quiet;
 
211
} digging;
 
212
 
 
213
E NEARDATA long moves, monstermoves;
 
214
E NEARDATA long wailmsg;
 
215
 
 
216
E NEARDATA boolean in_mklev;
 
217
E NEARDATA boolean stoned;
 
218
E NEARDATA boolean unweapon;
 
219
E NEARDATA boolean mrg_to_wielded;
 
220
E NEARDATA struct obj *current_wand;
 
221
 
 
222
E NEARDATA boolean in_steed_dismounting;
 
223
 
 
224
E const int shield_static[];
 
225
 
 
226
#include "spell.h"
 
227
E NEARDATA struct spell spl_book[];     /* sized in decl.c */
 
228
 
 
229
#include "color.h"
 
230
#ifdef TEXTCOLOR
 
231
E const int zapcolors[];
 
232
#endif
 
233
 
 
234
E const char def_oc_syms[MAXOCLASSES];  /* default class symbols */
 
235
E uchar oc_syms[MAXOCLASSES];           /* current class symbols */
 
236
E const char def_monsyms[MAXMCLASSES];  /* default class symbols */
 
237
E uchar monsyms[MAXMCLASSES];           /* current class symbols */
 
238
 
 
239
#include "obj.h"
 
240
E NEARDATA struct obj *invent,
 
241
        *uarm, *uarmc, *uarmh, *uarms, *uarmg, *uarmf,
 
242
#ifdef TOURIST
 
243
        *uarmu,                         /* under-wear, so to speak */
 
244
#endif
 
245
        *uskin, *uamul, *uleft, *uright, *ublindf,
 
246
        *uwep, *uswapwep, *uquiver;
 
247
 
 
248
E NEARDATA struct obj *uchain;          /* defined only when punished */
 
249
E NEARDATA struct obj *uball;
 
250
E NEARDATA struct obj *migrating_objs;
 
251
E NEARDATA struct obj *billobjs;
 
252
E NEARDATA struct obj zeroobj;          /* init'd and defined in decl.c */
 
253
 
 
254
#include "you.h"
 
255
E NEARDATA struct you u;
 
256
 
 
257
#include "onames.h"
 
258
#ifndef PM_H            /* (pm.h has already been included via youprop.h) */
 
259
#include "pm.h"
 
260
#endif
 
261
 
 
262
E NEARDATA struct monst youmonst;       /* init'd and defined in decl.c */
 
263
E NEARDATA struct monst *mydogs, *migrating_mons;
 
264
 
 
265
E NEARDATA struct mvitals {
 
266
        uchar   born;
 
267
        uchar   died;
 
268
        uchar   mvflags;
 
269
} mvitals[NUMMONS];
 
270
 
 
271
E NEARDATA struct c_color_names {
 
272
    const char  *const c_black, *const c_amber, *const c_golden,
 
273
                *const c_light_blue,*const c_red, *const c_green,
 
274
                *const c_silver, *const c_blue, *const c_purple,
 
275
                *const c_white;
 
276
} c_color_names;
 
277
#define NH_BLACK                c_color_names.c_black
 
278
#define NH_AMBER                c_color_names.c_amber
 
279
#define NH_GOLDEN               c_color_names.c_golden
 
280
#define NH_LIGHT_BLUE           c_color_names.c_light_blue
 
281
#define NH_RED                  c_color_names.c_red
 
282
#define NH_GREEN                c_color_names.c_green
 
283
#define NH_SILVER               c_color_names.c_silver
 
284
#define NH_BLUE                 c_color_names.c_blue
 
285
#define NH_PURPLE               c_color_names.c_purple
 
286
#define NH_WHITE                c_color_names.c_white
 
287
 
 
288
/* The names of the colors used for gems, etc. */
 
289
E const char *c_obj_colors[];
 
290
 
 
291
E struct c_common_strings {
 
292
    const char  *const c_nothing_happens, *const c_thats_enough_tries,
 
293
                *const c_silly_thing_to, *const c_shudder_for_moment,
 
294
                *const c_something, *const c_Something,
 
295
                *const c_You_can_move_again,
 
296
                *const c_Never_mind, *c_vision_clears,
 
297
                *const c_the_your[2];
 
298
} c_common_strings;
 
299
#define nothing_happens    c_common_strings.c_nothing_happens
 
300
#define thats_enough_tries c_common_strings.c_thats_enough_tries
 
301
#define silly_thing_to     c_common_strings.c_silly_thing_to
 
302
#define shudder_for_moment c_common_strings.c_shudder_for_moment
 
303
#define something          c_common_strings.c_something
 
304
#define Something          c_common_strings.c_Something
 
305
#define You_can_move_again c_common_strings.c_You_can_move_again
 
306
#define Never_mind         c_common_strings.c_Never_mind
 
307
#define vision_clears      c_common_strings.c_vision_clears
 
308
#define the_your           c_common_strings.c_the_your
 
309
 
 
310
/* material strings */
 
311
E const char *materialnm[];
 
312
 
 
313
/* Monster name articles */
 
314
#define ARTICLE_NONE    0
 
315
#define ARTICLE_THE     1
 
316
#define ARTICLE_A       2
 
317
#define ARTICLE_YOUR    3
 
318
 
 
319
/* Monster name suppress masks */
 
320
#define SUPPRESS_IT             0x01
 
321
#define SUPPRESS_INVISIBLE      0x02
 
322
#define SUPPRESS_HALLUCINATION  0x04
 
323
#define SUPPRESS_SADDLE         0x08
 
324
#define EXACT_NAME              0x0F
 
325
 
 
326
/* Vision */
 
327
E NEARDATA boolean vision_full_recalc;  /* TRUE if need vision recalc */
 
328
E NEARDATA char **viz_array;            /* could see/in sight row pointers */
 
329
 
 
330
/* Window system stuff */
 
331
E NEARDATA winid WIN_MESSAGE, WIN_STATUS;
 
332
E NEARDATA winid WIN_MAP, WIN_INVEN;
 
333
E char toplines[];
 
334
#ifndef TCAP_H
 
335
E struct tc_gbl_data {  /* also declared in tcap.h */
 
336
    char *tc_AS, *tc_AE;        /* graphics start and end (tty font swapping) */
 
337
    int   tc_LI,  tc_CO;        /* lines and columns */
 
338
} tc_gbl_data;
 
339
#define AS tc_gbl_data.tc_AS
 
340
#define AE tc_gbl_data.tc_AE
 
341
#define LI tc_gbl_data.tc_LI
 
342
#define CO tc_gbl_data.tc_CO
 
343
#endif
 
344
 
 
345
/* xxxexplain[] is in drawing.c */
 
346
E const char * const monexplain[], invisexplain[], * const objexplain[], * const oclass_names[];
 
347
 
 
348
/* Some systems want to use full pathnames for some subsets of file names,
 
349
 * rather than assuming that they're all in the current directory.  This
 
350
 * provides all the subclasses that seem reasonable, and sets up for all
 
351
 * prefixes being null.  Port code can set those that it wants.
 
352
 */
 
353
#define HACKPREFIX      0
 
354
#define LEVELPREFIX     1
 
355
#define SAVEPREFIX      2
 
356
#define BONESPREFIX     3
 
357
#define DATAPREFIX      4       /* this one must match hardcoded value in dlb.c */
 
358
#define SCOREPREFIX     5
 
359
#define LOCKPREFIX      6
 
360
#define CONFIGPREFIX    7
 
361
#define TROUBLEPREFIX   8
 
362
#define PREFIX_COUNT    9
 
363
/* used in files.c; xxconf.h can override if needed */
 
364
# ifndef FQN_MAX_FILENAME
 
365
#define FQN_MAX_FILENAME 512
 
366
# endif
 
367
 
 
368
#if defined(NOCWD_ASSUMPTIONS) || defined(VAR_PLAYGROUND)
 
369
/* the bare-bones stuff is unconditional above to simplify coding; for
 
370
 * ports that actually use prefixes, add some more localized things
 
371
 */
 
372
#define PREFIXES_IN_USE
 
373
#endif
 
374
 
 
375
E char *fqn_prefix[PREFIX_COUNT];
 
376
#ifdef PREFIXES_IN_USE
 
377
E char *fqn_prefix_names[PREFIX_COUNT];
 
378
#endif
 
379
 
 
380
#ifdef AUTOPICKUP_EXCEPTIONS
 
381
struct autopickup_exception {
 
382
        char *pattern;
 
383
        boolean grab;
 
384
        struct autopickup_exception *next;
 
385
};
 
386
#endif /* AUTOPICKUP_EXCEPTIONS */
 
387
 
 
388
#ifdef SIMPLE_MAIL
 
389
E int mailckfreq;
 
390
#endif
 
391
 
 
392
#undef E
 
393
 
 
394
#endif /* DECL_H */