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

« back to all changes in this revision

Viewing changes to .pc/0014-94_enh_sortloot.dpatch-by-Jeroen-Demeyer-and-Jukka-L.patch/include/extern.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: @(#)extern.h   3.4     2003/03/10      */
 
2
/* Copyright (c) Steve Creps, 1988.                               */
 
3
/* NetHack may be freely redistributed.  See license for details. */
 
4
 
 
5
#ifndef EXTERN_H
 
6
#define EXTERN_H
 
7
 
 
8
#define E extern
 
9
 
 
10
/* ### alloc.c ### */
 
11
 
 
12
#if 0
 
13
E long *FDECL(alloc, (unsigned int));
 
14
#endif
 
15
E char *FDECL(fmt_ptr, (const genericptr,char *));
 
16
 
 
17
/* This next pre-processor directive covers almost the entire file,
 
18
 * interrupted only occasionally to pick up specific functions as needed. */
 
19
#if !defined(MAKEDEFS_C) && !defined(LEV_LEX_C)
 
20
 
 
21
/* ### allmain.c ### */
 
22
 
 
23
E void NDECL(moveloop);
 
24
E void NDECL(stop_occupation);
 
25
E void NDECL(display_gamewindows);
 
26
E void NDECL(newgame);
 
27
E void FDECL(welcome, (BOOLEAN_P));
 
28
 
 
29
/* ### apply.c ### */
 
30
 
 
31
E int NDECL(doapply);
 
32
E int NDECL(dorub);
 
33
E int NDECL(dojump);
 
34
E int FDECL(jump, (int));
 
35
E int NDECL(number_leashed);
 
36
E void FDECL(o_unleash, (struct obj *));
 
37
E void FDECL(m_unleash, (struct monst *,BOOLEAN_P));
 
38
E void NDECL(unleash_all);
 
39
E boolean NDECL(next_to_u);
 
40
E struct obj *FDECL(get_mleash, (struct monst *));
 
41
E void FDECL(check_leash, (XCHAR_P,XCHAR_P));
 
42
E boolean FDECL(um_dist, (XCHAR_P,XCHAR_P,XCHAR_P));
 
43
E boolean FDECL(snuff_candle, (struct obj *));
 
44
E boolean FDECL(snuff_lit, (struct obj *));
 
45
E boolean FDECL(catch_lit, (struct obj *));
 
46
E void FDECL(use_unicorn_horn, (struct obj *));
 
47
E boolean FDECL(tinnable, (struct obj *));
 
48
E void NDECL(reset_trapset);
 
49
E void FDECL(fig_transform, (genericptr_t, long));
 
50
E int FDECL(unfixable_trouble_count,(BOOLEAN_P));
 
51
 
 
52
/* ### artifact.c ### */
 
53
 
 
54
E void NDECL(init_artifacts);
 
55
E void FDECL(save_artifacts, (int));
 
56
E void FDECL(restore_artifacts, (int));
 
57
E const char *FDECL(artiname, (int));
 
58
E struct obj *FDECL(mk_artifact, (struct obj *,ALIGNTYP_P));
 
59
E const char *FDECL(artifact_name, (const char *,short *));
 
60
E boolean FDECL(exist_artifact, (int,const char *));
 
61
E void FDECL(artifact_exists, (struct obj *,const char *,BOOLEAN_P));
 
62
E int NDECL(nartifact_exist);
 
63
E boolean FDECL(spec_ability, (struct obj *,unsigned long));
 
64
E boolean FDECL(confers_luck, (struct obj *));
 
65
E boolean FDECL(arti_reflects, (struct obj *));
 
66
E boolean FDECL(restrict_name, (struct obj *,const char *));
 
67
E boolean FDECL(defends, (int,struct obj *));
 
68
E boolean FDECL(protects, (int,struct obj *));
 
69
E void FDECL(set_artifact_intrinsic, (struct obj *,BOOLEAN_P,long));
 
70
E int FDECL(touch_artifact, (struct obj *,struct monst *));
 
71
E int FDECL(spec_abon, (struct obj *,struct monst *));
 
72
E int FDECL(spec_dbon, (struct obj *,struct monst *,int));
 
73
E void FDECL(discover_artifact, (XCHAR_P));
 
74
E boolean FDECL(undiscovered_artifact, (XCHAR_P));
 
75
E int FDECL(disp_artifact_discoveries, (winid));
 
76
E boolean FDECL(artifact_hit, (struct monst *,struct monst *,
 
77
                                struct obj *,int *,int));
 
78
E int NDECL(doinvoke);
 
79
E void FDECL(arti_speak, (struct obj *));
 
80
E boolean FDECL(artifact_light, (struct obj *));
 
81
E long FDECL(spec_m2, (struct obj *));
 
82
E boolean FDECL(artifact_has_invprop, (struct obj *,UCHAR_P));
 
83
E long FDECL(arti_cost, (struct obj *));
 
84
 
 
85
/* ### attrib.c ### */
 
86
 
 
87
E boolean FDECL(adjattrib, (int,int,int));
 
88
E void FDECL(change_luck, (SCHAR_P));
 
89
E int FDECL(stone_luck, (BOOLEAN_P));
 
90
E void NDECL(set_moreluck);
 
91
E void FDECL(gainstr, (struct obj *,int));
 
92
E void FDECL(losestr, (int));
 
93
E void NDECL(restore_attrib);
 
94
E void FDECL(exercise, (int,BOOLEAN_P));
 
95
E void NDECL(exerchk);
 
96
E void NDECL(reset_attribute_clock);
 
97
E void FDECL(init_attr, (int));
 
98
E void NDECL(redist_attr);
 
99
E void FDECL(adjabil, (int,int));
 
100
E int NDECL(newhp);
 
101
E schar FDECL(acurr, (int));
 
102
E schar NDECL(acurrstr);
 
103
E void FDECL(adjalign, (int));
 
104
 
 
105
/* ### ball.c ### */
 
106
 
 
107
E void NDECL(ballfall);
 
108
E void NDECL(placebc);
 
109
E void NDECL(unplacebc);
 
110
E void FDECL(set_bc, (int));
 
111
E void FDECL(move_bc, (int,int,XCHAR_P,XCHAR_P,XCHAR_P,XCHAR_P));
 
112
E boolean FDECL(drag_ball, (XCHAR_P,XCHAR_P,
 
113
                int *,xchar *,xchar *,xchar *,xchar *, boolean *,BOOLEAN_P));
 
114
E void FDECL(drop_ball, (XCHAR_P,XCHAR_P));
 
115
E void NDECL(drag_down);
 
116
 
 
117
/* ### bones.c ### */
 
118
 
 
119
E boolean NDECL(can_make_bones);
 
120
E void FDECL(savebones, (struct obj *));
 
121
E int NDECL(getbones);
 
122
 
 
123
/* ### botl.c ### */
 
124
 
 
125
E int FDECL(xlev_to_rank, (int));
 
126
E int FDECL(title_to_mon, (const char *,int *,int *));
 
127
E void NDECL(max_rank_sz);
 
128
#ifdef SCORE_ON_BOTL
 
129
E long NDECL(botl_score);
 
130
#endif
 
131
E int FDECL(describe_level, (char *));
 
132
E const char *FDECL(rank_of, (int,SHORT_P,BOOLEAN_P));
 
133
E void NDECL(bot);
 
134
#ifdef DUMP_LOG
 
135
E void FDECL(bot1str, (char *));
 
136
E void FDECL(bot2str, (char *));
 
137
#endif
 
138
 
 
139
/* ### cmd.c ### */
 
140
 
 
141
#ifdef USE_TRAMPOLI
 
142
E int NDECL(doextcmd);
 
143
E int NDECL(domonability);
 
144
E int NDECL(doprev_message);
 
145
E int NDECL(timed_occupation);
 
146
E int NDECL(wiz_attributes);
 
147
E int NDECL(enter_explore_mode);
 
148
# ifdef WIZARD
 
149
E int NDECL(wiz_detect);
 
150
E int NDECL(wiz_genesis);
 
151
E int NDECL(wiz_identify);
 
152
E int NDECL(wiz_level_tele);
 
153
E int NDECL(wiz_map);
 
154
E int NDECL(wiz_where);
 
155
E int NDECL(wiz_wish);
 
156
# endif /* WIZARD */
 
157
#endif /* USE_TRAMPOLI */
 
158
E void NDECL(reset_occupations);
 
159
E void FDECL(set_occupation, (int (*)(void),const char *,int));
 
160
#ifdef REDO
 
161
E char NDECL(pgetchar);
 
162
E void FDECL(pushch, (CHAR_P));
 
163
E void FDECL(savech, (CHAR_P));
 
164
#endif
 
165
#ifdef WIZARD
 
166
E void NDECL(add_debug_extended_commands);
 
167
#endif /* WIZARD */
 
168
E void FDECL(rhack, (char *));
 
169
E int NDECL(doextlist);
 
170
E int NDECL(extcmd_via_menu);
 
171
E void FDECL(enlightenment, (int));
 
172
E void FDECL(show_conduct, (int));
 
173
#ifdef DUMP_LOG
 
174
E void FDECL(dump_enlightenment, (int));
 
175
E void FDECL(dump_conduct, (int));
 
176
#endif
 
177
E int FDECL(xytod, (SCHAR_P,SCHAR_P));
 
178
E void FDECL(dtoxy, (coord *,int));
 
179
E int FDECL(movecmd, (CHAR_P));
 
180
E int FDECL(getdir, (const char *));
 
181
E void NDECL(confdir);
 
182
E int FDECL(isok, (int,int));
 
183
E int FDECL(get_adjacent_loc, (const char *, const char *, XCHAR_P, XCHAR_P, coord *));
 
184
E const char *FDECL(click_to_cmd, (int,int,int));
 
185
E char NDECL(readchar);
 
186
#ifdef WIZARD
 
187
E void NDECL(sanity_check);
 
188
#endif
 
189
E char FDECL(yn_function, (const char *, const char *, CHAR_P));
 
190
 
 
191
/* ### dbridge.c ### */
 
192
 
 
193
E boolean FDECL(is_pool, (int,int));
 
194
E boolean FDECL(is_lava, (int,int));
 
195
E boolean FDECL(is_ice, (int,int));
 
196
E int FDECL(is_drawbridge_wall, (int,int));
 
197
E boolean FDECL(is_db_wall, (int,int));
 
198
E boolean FDECL(find_drawbridge, (int *,int*));
 
199
E boolean FDECL(create_drawbridge, (int,int,int,BOOLEAN_P));
 
200
E void FDECL(open_drawbridge, (int,int));
 
201
E void FDECL(close_drawbridge, (int,int));
 
202
E void FDECL(destroy_drawbridge, (int,int));
 
203
 
 
204
/* ### decl.c ### */
 
205
 
 
206
E void NDECL(decl_init);
 
207
 
 
208
/* ### detect.c ### */
 
209
 
 
210
E struct obj *FDECL(o_in, (struct obj*,CHAR_P));
 
211
E struct obj *FDECL(o_material, (struct obj*,unsigned));
 
212
E int FDECL(gold_detect, (struct obj *));
 
213
E int FDECL(food_detect, (struct obj *));
 
214
E int FDECL(object_detect, (struct obj *,int));
 
215
E int FDECL(monster_detect, (struct obj *,int));
 
216
E int FDECL(trap_detect, (struct obj *));
 
217
E const char *FDECL(level_distance, (d_level *));
 
218
E void FDECL(use_crystal_ball, (struct obj *));
 
219
E void NDECL(do_mapping);
 
220
E void NDECL(do_vicinity_map);
 
221
E void FDECL(cvt_sdoor_to_door, (struct rm *));
 
222
#ifdef USE_TRAMPOLI
 
223
E void FDECL(findone, (int,int,genericptr_t));
 
224
E void FDECL(openone, (int,int,genericptr_t));
 
225
#endif
 
226
E int NDECL(findit);
 
227
E int NDECL(openit);
 
228
E void FDECL(find_trap, (struct trap *));
 
229
E int FDECL(dosearch0, (int));
 
230
E int NDECL(dosearch);
 
231
E void NDECL(sokoban_detect);
 
232
 
 
233
/* ### dig.c ### */
 
234
 
 
235
E boolean NDECL(is_digging);
 
236
#ifdef USE_TRAMPOLI
 
237
E int NDECL(dig);
 
238
#endif
 
239
E int NDECL(holetime);
 
240
E boolean FDECL(dig_check, (struct monst *, BOOLEAN_P, int, int));
 
241
E void FDECL(digactualhole, (int,int,struct monst *,int));
 
242
E boolean FDECL(dighole, (BOOLEAN_P));
 
243
E int FDECL(use_pick_axe, (struct obj *));
 
244
E int FDECL(use_pick_axe2, (struct obj *));
 
245
E boolean FDECL(mdig_tunnel, (struct monst *));
 
246
E void FDECL(watch_dig, (struct monst *,XCHAR_P,XCHAR_P,BOOLEAN_P));
 
247
E void NDECL(zap_dig);
 
248
E struct obj *FDECL(bury_an_obj, (struct obj *));
 
249
E void FDECL(bury_objs, (int,int));
 
250
E void FDECL(unearth_objs, (int,int));
 
251
E void FDECL(rot_organic, (genericptr_t, long));
 
252
E void FDECL(rot_corpse, (genericptr_t, long));
 
253
#if 0
 
254
E void FDECL(bury_monst, (struct monst *));
 
255
E void NDECL(bury_you);
 
256
E void NDECL(unearth_you);
 
257
E void NDECL(escape_tomb);
 
258
E void FDECL(bury_obj, (struct obj *));
 
259
#endif
 
260
 
 
261
/* ### display.c ### */
 
262
 
 
263
#ifdef INVISIBLE_OBJECTS
 
264
E struct obj * FDECL(vobj_at, (XCHAR_P,XCHAR_P));
 
265
#endif /* INVISIBLE_OBJECTS */
 
266
E void FDECL(magic_map_background, (XCHAR_P,XCHAR_P,int));
 
267
E void FDECL(map_background, (XCHAR_P,XCHAR_P,int));
 
268
E void FDECL(map_trap, (struct trap *,int));
 
269
E void FDECL(map_object, (struct obj *,int));
 
270
E void FDECL(map_invisible, (XCHAR_P,XCHAR_P));
 
271
E void FDECL(unmap_object, (int,int));
 
272
E void FDECL(map_location, (int,int,int));
 
273
E void FDECL(feel_location, (XCHAR_P,XCHAR_P));
 
274
E void FDECL(newsym, (int,int));
 
275
E void FDECL(shieldeff, (XCHAR_P,XCHAR_P));
 
276
E void FDECL(tmp_at, (int,int));
 
277
E void FDECL(swallowed, (int));
 
278
E void FDECL(under_ground, (int));
 
279
E void FDECL(under_water, (int));
 
280
E void NDECL(see_monsters);
 
281
E void NDECL(set_mimic_blocking);
 
282
E void NDECL(see_objects);
 
283
E void NDECL(see_traps);
 
284
E void NDECL(curs_on_u);
 
285
E int NDECL(doredraw);
 
286
E void NDECL(docrt);
 
287
E void FDECL(show_glyph, (int,int,int));
 
288
E void NDECL(clear_glyph_buffer);
 
289
E void FDECL(row_refresh, (int,int,int));
 
290
E void NDECL(cls);
 
291
E void FDECL(flush_screen, (int));
 
292
#ifdef DUMP_LOG
 
293
E void NDECL(dump_screen);
 
294
#endif
 
295
E int FDECL(back_to_glyph, (XCHAR_P,XCHAR_P));
 
296
E int FDECL(zapdir_to_glyph, (int,int,int));
 
297
E int FDECL(glyph_at, (XCHAR_P,XCHAR_P));
 
298
E void NDECL(set_wall_state);
 
299
 
 
300
/* ### do.c ### */
 
301
 
 
302
#ifdef USE_TRAMPOLI
 
303
E int FDECL(drop, (struct obj *));
 
304
E int NDECL(wipeoff);
 
305
#endif
 
306
E int NDECL(dodrop);
 
307
E boolean FDECL(boulder_hits_pool, (struct obj *,int,int,BOOLEAN_P));
 
308
E boolean FDECL(flooreffects, (struct obj *,int,int,const char *));
 
309
E void FDECL(doaltarobj, (struct obj *));
 
310
E boolean FDECL(canletgo, (struct obj *,const char *));
 
311
E void FDECL(dropx, (struct obj *));
 
312
E void FDECL(dropy, (struct obj *));
 
313
E void FDECL(obj_no_longer_held, (struct obj *));
 
314
E int NDECL(doddrop);
 
315
E int NDECL(dodown);
 
316
E int NDECL(doup);
 
317
#ifdef INSURANCE
 
318
E void NDECL(save_currentstate);
 
319
#endif
 
320
E void FDECL(goto_level, (d_level *,BOOLEAN_P,BOOLEAN_P,BOOLEAN_P));
 
321
E void FDECL(schedule_goto, (d_level *,BOOLEAN_P,BOOLEAN_P,int,
 
322
                             const char *,const char *));
 
323
E void NDECL(deferred_goto);
 
324
E boolean FDECL(revive_corpse, (struct obj *));
 
325
E void FDECL(revive_mon, (genericptr_t, long));
 
326
E int NDECL(donull);
 
327
E int NDECL(dowipe);
 
328
E void FDECL(set_wounded_legs, (long,int));
 
329
E void NDECL(heal_legs);
 
330
 
 
331
/* ### do_name.c ### */
 
332
 
 
333
E int FDECL(getpos, (coord *,BOOLEAN_P,const char *));
 
334
E struct monst *FDECL(christen_monst, (struct monst *,const char *));
 
335
E int NDECL(do_mname);
 
336
E struct obj *FDECL(oname, (struct obj *,const char *));
 
337
E int NDECL(ddocall);
 
338
E void FDECL(docall, (struct obj *));
 
339
E const char *NDECL(rndghostname);
 
340
E char *FDECL(x_monnam, (struct monst *,int,const char *,int,BOOLEAN_P));
 
341
E char *FDECL(l_monnam, (struct monst *));
 
342
E char *FDECL(mon_nam, (struct monst *));
 
343
E char *FDECL(noit_mon_nam, (struct monst *));
 
344
E char *FDECL(Monnam, (struct monst *));
 
345
E char *FDECL(noit_Monnam, (struct monst *));
 
346
E char *FDECL(m_monnam, (struct monst *));
 
347
E char *FDECL(y_monnam, (struct monst *));
 
348
E char *FDECL(Adjmonnam, (struct monst *,const char *));
 
349
E char *FDECL(Amonnam, (struct monst *));
 
350
E char *FDECL(a_monnam, (struct monst *));
 
351
E char *FDECL(distant_monnam, (struct monst *,int,char *));
 
352
E const char *NDECL(rndmonnam);
 
353
E const char *FDECL(hcolor, (const char *));
 
354
E const char *NDECL(rndcolor);
 
355
#ifdef REINCARNATION
 
356
E const char *NDECL(roguename);
 
357
#endif
 
358
E struct obj *FDECL(realloc_obj,
 
359
                (struct obj *, int, genericptr_t, int, const char *));
 
360
E char *FDECL(coyotename, (struct monst *,char *));
 
361
 
 
362
/* ### do_wear.c ### */
 
363
 
 
364
#ifdef USE_TRAMPOLI
 
365
E int NDECL(Armor_on);
 
366
E int NDECL(Boots_on);
 
367
E int NDECL(Gloves_on);
 
368
E int NDECL(Helmet_on);
 
369
E int FDECL(select_off, (struct obj *));
 
370
E int NDECL(take_off);
 
371
#endif
 
372
E void FDECL(off_msg, (struct obj *));
 
373
E void NDECL(set_wear);
 
374
E boolean FDECL(donning, (struct obj *));
 
375
E void NDECL(cancel_don);
 
376
E int NDECL(Armor_off);
 
377
E int NDECL(Armor_gone);
 
378
E int NDECL(Helmet_off);
 
379
E int NDECL(Gloves_off);
 
380
E int NDECL(Boots_off);
 
381
E int NDECL(Cloak_off);
 
382
E int NDECL(Shield_off);
 
383
#ifdef TOURIST
 
384
E int NDECL(Shirt_off);
 
385
#endif
 
386
E void NDECL(Amulet_off);
 
387
E void FDECL(Ring_on, (struct obj *));
 
388
E void FDECL(Ring_off, (struct obj *));
 
389
E void FDECL(Ring_gone, (struct obj *));
 
390
E void FDECL(Blindf_on, (struct obj *));
 
391
E void FDECL(Blindf_off, (struct obj *));
 
392
E int NDECL(dotakeoff);
 
393
E int NDECL(doremring);
 
394
E int FDECL(cursed, (struct obj *));
 
395
E int FDECL(armoroff, (struct obj *));
 
396
E int FDECL(canwearobj, (struct obj *, long *, BOOLEAN_P));
 
397
E int NDECL(dowear);
 
398
E int NDECL(doputon);
 
399
E void NDECL(find_ac);
 
400
E void NDECL(glibr);
 
401
E struct obj *FDECL(some_armor,(struct monst *));
 
402
E void FDECL(erode_armor, (struct monst *,BOOLEAN_P));
 
403
E struct obj *FDECL(stuck_ring, (struct obj *,int));
 
404
E struct obj *NDECL(unchanger);
 
405
E void NDECL(reset_remarm);
 
406
E int NDECL(doddoremarm);
 
407
E int FDECL(destroy_arm, (struct obj *));
 
408
E void FDECL(adj_abon, (struct obj *,SCHAR_P));
 
409
 
 
410
/* ### dog.c ### */
 
411
 
 
412
E void FDECL(initedog, (struct monst *));
 
413
E struct monst *FDECL(make_familiar, (struct obj *,XCHAR_P,XCHAR_P,BOOLEAN_P));
 
414
E struct monst *NDECL(makedog);
 
415
E void NDECL(update_mlstmv);
 
416
E void NDECL(losedogs);
 
417
E void FDECL(mon_arrive, (struct monst *,BOOLEAN_P));
 
418
E void FDECL(mon_catchup_elapsed_time, (struct monst *,long));
 
419
E void FDECL(keepdogs, (BOOLEAN_P));
 
420
E void FDECL(migrate_to_level, (struct monst *,XCHAR_P,XCHAR_P,coord *));
 
421
E int FDECL(dogfood, (struct monst *,struct obj *));
 
422
E struct monst *FDECL(tamedog, (struct monst *,struct obj *));
 
423
E void FDECL(abuse_dog, (struct monst *));
 
424
E void FDECL(wary_dog, (struct monst *, BOOLEAN_P));
 
425
 
 
426
/* ### dogmove.c ### */
 
427
 
 
428
E int FDECL(dog_nutrition, (struct monst *,struct obj *));
 
429
E int FDECL(dog_eat, (struct monst *,struct obj *,int,int,BOOLEAN_P));
 
430
E int FDECL(dog_move, (struct monst *,int));
 
431
#ifdef USE_TRAMPOLI
 
432
E void FDECL(wantdoor, (int,int,genericptr_t));
 
433
#endif
 
434
 
 
435
/* ### dokick.c ### */
 
436
 
 
437
E boolean FDECL(ghitm, (struct monst *,struct obj *));
 
438
E void FDECL(container_impact_dmg, (struct obj *));
 
439
E int NDECL(dokick);
 
440
E boolean FDECL(ship_object, (struct obj *,XCHAR_P,XCHAR_P,BOOLEAN_P));
 
441
E void NDECL(obj_delivery);
 
442
E schar FDECL(down_gate, (XCHAR_P,XCHAR_P));
 
443
E void FDECL(impact_drop, (struct obj *,XCHAR_P,XCHAR_P,XCHAR_P));
 
444
 
 
445
/* ### dothrow.c ### */
 
446
 
 
447
E int NDECL(dothrow);
 
448
E int NDECL(dofire);
 
449
E void FDECL(hitfloor, (struct obj *));
 
450
E void FDECL(hurtle, (int,int,int,BOOLEAN_P));
 
451
E void FDECL(mhurtle, (struct monst *,int,int,int));
 
452
E void FDECL(throwit, (struct obj *,long,BOOLEAN_P));
 
453
E int FDECL(omon_adj, (struct monst *,struct obj *,BOOLEAN_P));
 
454
E int FDECL(thitmonst, (struct monst *,struct obj *));
 
455
E int FDECL(hero_breaks, (struct obj *,XCHAR_P,XCHAR_P,BOOLEAN_P));
 
456
E int FDECL(breaks, (struct obj *,XCHAR_P,XCHAR_P));
 
457
E boolean FDECL(breaktest, (struct obj *));
 
458
E boolean FDECL(walk_path, (coord *, coord *, boolean (*)(genericptr_t,int,int), genericptr_t));
 
459
E boolean FDECL(hurtle_step, (genericptr_t, int, int));
 
460
 
 
461
/* ### drawing.c ### */
 
462
#endif /* !MAKEDEFS_C && !LEV_LEX_C */
 
463
E int FDECL(def_char_to_objclass, (CHAR_P));
 
464
E int FDECL(def_char_to_monclass, (CHAR_P));
 
465
#if !defined(MAKEDEFS_C) && !defined(LEV_LEX_C)
 
466
E void FDECL(assign_graphics, (uchar *,int,int,int));
 
467
E void FDECL(switch_graphics, (int));
 
468
#ifdef REINCARNATION
 
469
E void FDECL(assign_rogue_graphics, (BOOLEAN_P));
 
470
#endif
 
471
 
 
472
/* ### dungeon.c ### */
 
473
 
 
474
E void FDECL(save_dungeon, (int,BOOLEAN_P,BOOLEAN_P));
 
475
E void FDECL(restore_dungeon, (int));
 
476
E void FDECL(insert_branch, (branch *,BOOLEAN_P));
 
477
E void NDECL(init_dungeons);
 
478
E s_level *FDECL(find_level, (const char *));
 
479
E s_level *FDECL(Is_special, (d_level *));
 
480
E branch *FDECL(Is_branchlev, (d_level *));
 
481
E xchar FDECL(ledger_no, (d_level *));
 
482
E xchar NDECL(maxledgerno);
 
483
E schar FDECL(depth, (d_level *));
 
484
E xchar FDECL(dunlev, (d_level *));
 
485
E xchar FDECL(dunlevs_in_dungeon, (d_level *));
 
486
E xchar FDECL(ledger_to_dnum, (XCHAR_P));
 
487
E xchar FDECL(ledger_to_dlev, (XCHAR_P));
 
488
E xchar FDECL(deepest_lev_reached, (BOOLEAN_P));
 
489
E boolean FDECL(on_level, (d_level *,d_level *));
 
490
E void FDECL(next_level, (BOOLEAN_P));
 
491
E void FDECL(prev_level, (BOOLEAN_P));
 
492
E void FDECL(u_on_newpos, (int,int));
 
493
E void NDECL(u_on_sstairs);
 
494
E void NDECL(u_on_upstairs);
 
495
E void NDECL(u_on_dnstairs);
 
496
E boolean FDECL(On_stairs, (XCHAR_P,XCHAR_P));
 
497
E void FDECL(get_level, (d_level *,int));
 
498
E boolean FDECL(Is_botlevel, (d_level *));
 
499
E boolean FDECL(Can_fall_thru, (d_level *));
 
500
E boolean FDECL(Can_dig_down, (d_level *));
 
501
E boolean FDECL(Can_rise_up, (int,int,d_level *));
 
502
E boolean FDECL(In_quest, (d_level *));
 
503
E boolean FDECL(In_mines, (d_level *));
 
504
E branch *FDECL(dungeon_branch, (const char *));
 
505
E boolean FDECL(at_dgn_entrance, (const char *));
 
506
E boolean FDECL(In_hell, (d_level *));
 
507
E boolean FDECL(In_V_tower, (d_level *));
 
508
E boolean FDECL(On_W_tower_level, (d_level *));
 
509
E boolean FDECL(In_W_tower, (int,int,d_level *));
 
510
E void FDECL(find_hell, (d_level *));
 
511
E void FDECL(goto_hell, (BOOLEAN_P,BOOLEAN_P));
 
512
E void FDECL(assign_level, (d_level *,d_level *));
 
513
E void FDECL(assign_rnd_level, (d_level *,d_level *,int));
 
514
E int FDECL(induced_align, (int));
 
515
E boolean FDECL(Invocation_lev, (d_level *));
 
516
E xchar NDECL(level_difficulty);
 
517
E schar FDECL(lev_by_name, (const char *));
 
518
#ifdef WIZARD
 
519
E schar FDECL(print_dungeon, (BOOLEAN_P,schar *,xchar *));
 
520
#endif
 
521
 
 
522
/* ### eat.c ### */
 
523
 
 
524
#ifdef USE_TRAMPOLI
 
525
E int NDECL(eatmdone);
 
526
E int NDECL(eatfood);
 
527
E int NDECL(opentin);
 
528
E int NDECL(unfaint);
 
529
#endif
 
530
E boolean FDECL(is_edible, (struct obj *));
 
531
E void NDECL(init_uhunger);
 
532
E int NDECL(Hear_again);
 
533
E void NDECL(reset_eat);
 
534
E int NDECL(doeat);
 
535
E void NDECL(gethungry);
 
536
E void FDECL(morehungry, (int));
 
537
E void FDECL(lesshungry, (int));
 
538
E boolean NDECL(is_fainted);
 
539
E void NDECL(reset_faint);
 
540
E void NDECL(violated_vegetarian);
 
541
#if 0
 
542
E void NDECL(sync_hunger);
 
543
#endif
 
544
E void FDECL(newuhs, (BOOLEAN_P));
 
545
E struct obj *FDECL(floorfood, (const char *,int));
 
546
E void NDECL(vomit);
 
547
E int FDECL(eaten_stat, (int,struct obj *));
 
548
E void FDECL(food_disappears, (struct obj *));
 
549
E void FDECL(food_substitution, (struct obj *,struct obj *));
 
550
E void NDECL(fix_petrification);
 
551
E void FDECL(consume_oeaten, (struct obj *,int));
 
552
E boolean FDECL(maybe_finished_meal, (BOOLEAN_P));
 
553
 
 
554
/* ### end.c ### */
 
555
 
 
556
E void FDECL(done1, (int));
 
557
E int NDECL(done2);
 
558
#ifdef USE_TRAMPOLI
 
559
E void FDECL(done_intr, (int));
 
560
#endif
 
561
E void FDECL(done_in_by, (struct monst *));
 
562
#endif /* !MAKEDEFS_C && !LEV_LEX_C */
 
563
E void VDECL(panic, (const char *,...)) PRINTF_F(1,2);
 
564
#if !defined(MAKEDEFS_C) && !defined(LEV_LEX_C)
 
565
E void FDECL(done, (int));
 
566
E void FDECL(container_contents, (struct obj *,BOOLEAN_P,BOOLEAN_P));
 
567
#ifdef DUMP_LOG
 
568
E void FDECL(dump, (char *, char *));
 
569
E void FDECL(do_containerconts, (struct obj *,BOOLEAN_P,BOOLEAN_P,BOOLEAN_P));
 
570
#endif
 
571
E void FDECL(terminate, (int));
 
572
E int NDECL(num_genocides);
 
573
 
 
574
/* ### engrave.c ### */
 
575
 
 
576
E char *FDECL(random_engraving, (char *));
 
577
E void FDECL(wipeout_text, (char *,int,unsigned));
 
578
E boolean NDECL(can_reach_floor);
 
579
E const char *FDECL(surface, (int,int));
 
580
E const char *FDECL(ceiling, (int,int));
 
581
E struct engr *FDECL(engr_at, (XCHAR_P,XCHAR_P));
 
582
#ifdef ELBERETH
 
583
E int FDECL(sengr_at, (const char *,XCHAR_P,XCHAR_P));
 
584
#endif
 
585
E void FDECL(u_wipe_engr, (int));
 
586
E void FDECL(wipe_engr_at, (XCHAR_P,XCHAR_P,XCHAR_P));
 
587
E void FDECL(read_engr_at, (int,int));
 
588
E void FDECL(make_engr_at, (int,int,const char *,long,XCHAR_P));
 
589
E void FDECL(del_engr_at, (int,int));
 
590
E int NDECL(freehand);
 
591
E int NDECL(doengrave);
 
592
E void FDECL(save_engravings, (int,int));
 
593
E void FDECL(rest_engravings, (int));
 
594
E void FDECL(del_engr, (struct engr *));
 
595
E void FDECL(rloc_engr, (struct engr *));
 
596
E void FDECL(make_grave, (int,int,const char *));
 
597
 
 
598
/* ### exper.c ### */
 
599
 
 
600
E int FDECL(experience, (struct monst *,int));
 
601
E void FDECL(more_experienced, (int,int));
 
602
E void FDECL(losexp, (const char *));
 
603
E void NDECL(newexplevel);
 
604
E void FDECL(pluslvl, (BOOLEAN_P));
 
605
E long FDECL(rndexp, (BOOLEAN_P));
 
606
 
 
607
/* ### explode.c ### */
 
608
 
 
609
E void FDECL(explode, (int,int,int,int,CHAR_P,int));
 
610
E long FDECL(scatter, (int, int, int, unsigned int, struct obj *));
 
611
E void FDECL(splatter_burning_oil, (int, int));
 
612
 
 
613
/* ### extralev.c ### */
 
614
 
 
615
#ifdef REINCARNATION
 
616
E void NDECL(makeroguerooms);
 
617
E void FDECL(corr, (int,int));
 
618
E void NDECL(makerogueghost);
 
619
#endif
 
620
 
 
621
/* ### files.c ### */
 
622
 
 
623
E char *FDECL(fname_encode, (const char *, CHAR_P, char *, char *, int));
 
624
E char *FDECL(fname_decode, (CHAR_P, char *, char *, int));
 
625
E const char *FDECL(fqname, (const char *, int, int));
 
626
E FILE *FDECL(fopen_datafile, (const char *,const char *,int));
 
627
E boolean FDECL(uptodate, (int,const char *));
 
628
E void FDECL(store_version, (int));
 
629
#ifdef MFLOPPY
 
630
E void NDECL(set_lock_and_bones);
 
631
#endif
 
632
E void FDECL(set_levelfile_name, (char *,int));
 
633
E int FDECL(create_levelfile, (int,char *));
 
634
E int FDECL(open_levelfile, (int,char *));
 
635
E void FDECL(delete_levelfile, (int));
 
636
E void NDECL(clearlocks);
 
637
E int FDECL(create_bonesfile, (d_level*,char **, char *));
 
638
#ifdef MFLOPPY
 
639
E void NDECL(cancel_bonesfile);
 
640
#endif
 
641
E void FDECL(commit_bonesfile, (d_level *));
 
642
E int FDECL(open_bonesfile, (d_level*,char **));
 
643
E int FDECL(delete_bonesfile, (d_level*));
 
644
E void NDECL(compress_bonesfile);
 
645
E void NDECL(set_savefile_name);
 
646
#ifdef INSURANCE
 
647
E void FDECL(save_savefile_name, (int));
 
648
#endif
 
649
#if defined(WIZARD) && !defined(MICRO)
 
650
E void NDECL(set_error_savefile);
 
651
#endif
 
652
E int NDECL(create_savefile);
 
653
E int NDECL(open_savefile);
 
654
E int NDECL(delete_savefile);
 
655
E int NDECL(restore_saved_game);
 
656
E void FDECL(compress, (const char *));
 
657
E void FDECL(uncompress, (const char *));
 
658
E boolean FDECL(lock_file, (const char *,int,int));
 
659
E void FDECL(unlock_file, (const char *));
 
660
#ifdef USER_SOUNDS
 
661
E boolean FDECL(can_read_file, (const char *));
 
662
#endif
 
663
E void FDECL(read_config_file, (const char *));
 
664
E void FDECL(check_recordfile, (const char *));
 
665
#if defined(WIZARD)
 
666
E void NDECL(read_wizkit);
 
667
#endif
 
668
E void FDECL(paniclog, (const char *, const char *));
 
669
E int FDECL(validate_prefix_locations, (char *));
 
670
E char** NDECL(get_saved_games);
 
671
E void FDECL(free_saved_games, (char**));
 
672
#ifdef SELF_RECOVER
 
673
E boolean NDECL(recover_savefile);
 
674
#endif
 
675
#ifdef HOLD_LOCKFILE_OPEN
 
676
E void NDECL(really_close);
 
677
#endif
 
678
 
 
679
/* ### fountain.c ### */
 
680
 
 
681
E void FDECL(floating_above, (const char *));
 
682
E void FDECL(dogushforth, (int));
 
683
# ifdef USE_TRAMPOLI
 
684
E void FDECL(gush, (int,int,genericptr_t));
 
685
# endif
 
686
E void FDECL(dryup, (XCHAR_P,XCHAR_P, BOOLEAN_P));
 
687
E void NDECL(drinkfountain);
 
688
E void FDECL(dipfountain, (struct obj *));
 
689
#ifdef SINKS
 
690
E void FDECL(breaksink, (int,int));
 
691
E void NDECL(drinksink);
 
692
#endif
 
693
 
 
694
/* ### hack.c ### */
 
695
 
 
696
E boolean FDECL(revive_nasty, (int,int,const char*));
 
697
E void FDECL(movobj, (struct obj *,XCHAR_P,XCHAR_P));
 
698
E boolean FDECL(may_dig, (XCHAR_P,XCHAR_P));
 
699
E boolean FDECL(may_passwall, (XCHAR_P,XCHAR_P));
 
700
E boolean FDECL(bad_rock, (struct permonst *,XCHAR_P,XCHAR_P));
 
701
E boolean FDECL(invocation_pos, (XCHAR_P,XCHAR_P));
 
702
E boolean FDECL(test_move, (int, int, int, int, int));
 
703
E void NDECL(domove);
 
704
E void NDECL(invocation_message);
 
705
E void FDECL(spoteffects, (BOOLEAN_P));
 
706
E char *FDECL(in_rooms, (XCHAR_P,XCHAR_P,int));
 
707
E boolean FDECL(in_town, (int,int));
 
708
E void FDECL(check_special_room, (BOOLEAN_P));
 
709
E int NDECL(dopickup);
 
710
E void NDECL(lookaround);
 
711
E int NDECL(monster_nearby);
 
712
E void FDECL(nomul, (int));
 
713
E void FDECL(unmul, (const char *));
 
714
E void FDECL(losehp, (int,const char *,BOOLEAN_P));
 
715
E int NDECL(weight_cap);
 
716
E int NDECL(inv_weight);
 
717
E int NDECL(near_capacity);
 
718
E int FDECL(calc_capacity, (int));
 
719
E int NDECL(max_capacity);
 
720
E boolean FDECL(check_capacity, (const char *));
 
721
E int NDECL(inv_cnt);
 
722
#ifdef GOLDOBJ
 
723
E long FDECL(money_cnt, (struct obj *));
 
724
#endif
 
725
 
 
726
/* ### hacklib.c ### */
 
727
 
 
728
E boolean FDECL(digit, (CHAR_P));
 
729
E boolean FDECL(letter, (CHAR_P));
 
730
E char FDECL(highc, (CHAR_P));
 
731
E char FDECL(lowc, (CHAR_P));
 
732
E char *FDECL(lcase, (char *));
 
733
E char *FDECL(upstart, (char *));
 
734
E char *FDECL(mungspaces, (char *));
 
735
E char *FDECL(eos, (char *));
 
736
E char *FDECL(strkitten, (char *,CHAR_P));
 
737
E char *FDECL(s_suffix, (const char *));
 
738
E char *FDECL(xcrypt, (const char *,char *));
 
739
E boolean FDECL(onlyspace, (const char *));
 
740
E char *FDECL(tabexpand, (char *));
 
741
E char *FDECL(visctrl, (CHAR_P));
 
742
E const char *FDECL(ordin, (int));
 
743
E char *FDECL(sitoa, (int));
 
744
E int FDECL(sgn, (int));
 
745
E int FDECL(rounddiv, (long,int));
 
746
E int FDECL(dist2, (int,int,int,int));
 
747
E int FDECL(distmin, (int,int,int,int));
 
748
E boolean FDECL(online2, (int,int,int,int));
 
749
E boolean FDECL(pmatch, (const char *,const char *));
 
750
#ifndef STRNCMPI
 
751
E int FDECL(strncmpi, (const char *,const char *,int));
 
752
#endif
 
753
#ifndef STRSTRI
 
754
E char *FDECL(strstri, (const char *,const char *));
 
755
#endif
 
756
E boolean FDECL(fuzzymatch, (const char *,const char *,const char *,BOOLEAN_P));
 
757
E void NDECL(setrandom);
 
758
E int NDECL(getyear);
 
759
#if 0
 
760
E char *FDECL(yymmdd, (time_t));
 
761
#endif
 
762
E long FDECL(yyyymmdd, (time_t));
 
763
E int NDECL(phase_of_the_moon);
 
764
E boolean NDECL(friday_13th);
 
765
E int NDECL(night);
 
766
E int NDECL(midnight);
 
767
 
 
768
/* ### invent.c ### */
 
769
 
 
770
E void FDECL(assigninvlet, (struct obj *));
 
771
E struct obj *FDECL(merge_choice, (struct obj *,struct obj *));
 
772
E int FDECL(merged, (struct obj **,struct obj **));
 
773
#ifdef USE_TRAMPOLI
 
774
E int FDECL(ckunpaid, (struct obj *));
 
775
#endif
 
776
E void FDECL(addinv_core1, (struct obj *));
 
777
E void FDECL(addinv_core2, (struct obj *));
 
778
E struct obj *FDECL(addinv, (struct obj *));
 
779
E struct obj *FDECL(hold_another_object,
 
780
                        (struct obj *,const char *,const char *,const char *));
 
781
E void FDECL(useupall, (struct obj *));
 
782
E void FDECL(useup, (struct obj *));
 
783
E void FDECL(consume_obj_charge, (struct obj *,BOOLEAN_P));
 
784
E void FDECL(freeinv_core, (struct obj *));
 
785
E void FDECL(freeinv, (struct obj *));
 
786
E void FDECL(delallobj, (int,int));
 
787
E void FDECL(delobj, (struct obj *));
 
788
E struct obj *FDECL(sobj_at, (int,int,int));
 
789
E struct obj *FDECL(carrying, (int));
 
790
E boolean NDECL(have_lizard);
 
791
E struct obj *FDECL(o_on, (unsigned int,struct obj *));
 
792
E boolean FDECL(obj_here, (struct obj *,int,int));
 
793
E boolean NDECL(wearing_armor);
 
794
E boolean FDECL(is_worn, (struct obj *));
 
795
E struct obj *FDECL(g_at, (int,int));
 
796
E struct obj *FDECL(mkgoldobj, (long));
 
797
E struct obj *FDECL(getobj, (const char *,const char *));
 
798
E int FDECL(ggetobj, (const char *,int (*)(OBJ_P),int,BOOLEAN_P,unsigned *));
 
799
E void FDECL(fully_identify_obj, (struct obj *));
 
800
E int FDECL(identify, (struct obj *));
 
801
E void FDECL(identify_pack, (int));
 
802
E int FDECL(askchain, (struct obj **,const char *,int,int (*)(OBJ_P),
 
803
                        int (*)(OBJ_P),int,const char *));
 
804
E void FDECL(prinv, (const char *,struct obj *,long));
 
805
E char *FDECL(xprname, (struct obj *,const char *,CHAR_P,BOOLEAN_P,long,long));
 
806
E int NDECL(ddoinv);
 
807
E char FDECL(display_inventory, (const char *,BOOLEAN_P));
 
808
#ifdef DUMP_LOG
 
809
E char FDECL(dump_inventory, (const char *,BOOLEAN_P));
 
810
#endif
 
811
E int FDECL(display_binventory, (int,int,BOOLEAN_P));
 
812
E struct obj *FDECL(display_cinventory,(struct obj *));
 
813
E struct obj *FDECL(display_minventory,(struct monst *,int,char *));
 
814
E int NDECL(dotypeinv);
 
815
E const char *FDECL(dfeature_at, (int,int,char *));
 
816
E int FDECL(look_here, (int,BOOLEAN_P));
 
817
E int NDECL(dolook);
 
818
E boolean FDECL(will_feel_cockatrice, (struct obj *,BOOLEAN_P));
 
819
E void FDECL(feel_cockatrice, (struct obj *,BOOLEAN_P));
 
820
E void FDECL(stackobj, (struct obj *));
 
821
E int NDECL(doprgold);
 
822
E int NDECL(doprwep);
 
823
E int NDECL(doprarm);
 
824
E int NDECL(doprring);
 
825
E int NDECL(dopramulet);
 
826
E int NDECL(doprtool);
 
827
E int NDECL(doprinuse);
 
828
E void FDECL(useupf, (struct obj *,long));
 
829
E char *FDECL(let_to_name, (CHAR_P,BOOLEAN_P));
 
830
E void NDECL(free_invbuf);
 
831
E void NDECL(reassign);
 
832
E int NDECL(doorganize);
 
833
E int FDECL(count_unpaid, (struct obj *));
 
834
E int FDECL(count_buc, (struct obj *,int));
 
835
E void FDECL(carry_obj_effects, (struct obj *));
 
836
E const char *FDECL(currency, (long));
 
837
E void FDECL(silly_thing, (const char *,struct obj *));
 
838
 
 
839
/* ### ioctl.c ### */
 
840
 
 
841
#if defined(UNIX) || defined(__BEOS__)
 
842
E void NDECL(getwindowsz);
 
843
E void NDECL(getioctls);
 
844
E void NDECL(setioctls);
 
845
# ifdef SUSPEND
 
846
E int NDECL(dosuspend);
 
847
# endif /* SUSPEND */
 
848
#endif /* UNIX || __BEOS__ */
 
849
 
 
850
/* ### light.c ### */
 
851
 
 
852
E void FDECL(new_light_source, (XCHAR_P, XCHAR_P, int, int, genericptr_t));
 
853
E void FDECL(del_light_source, (int, genericptr_t));
 
854
E void FDECL(do_light_sources, (char **));
 
855
E struct monst *FDECL(find_mid, (unsigned, unsigned));
 
856
E void FDECL(save_light_sources, (int, int, int));
 
857
E void FDECL(restore_light_sources, (int));
 
858
E void FDECL(relink_light_sources, (BOOLEAN_P));
 
859
E void FDECL(obj_move_light_source, (struct obj *, struct obj *));
 
860
E boolean NDECL(any_light_source);
 
861
E void FDECL(snuff_light_source, (int, int));
 
862
E boolean FDECL(obj_sheds_light, (struct obj *));
 
863
E boolean FDECL(obj_is_burning, (struct obj *));
 
864
E void FDECL(obj_split_light_source, (struct obj *, struct obj *));
 
865
E void FDECL(obj_merge_light_sources, (struct obj *,struct obj *));
 
866
E int FDECL(candle_light_range, (struct obj *));
 
867
#ifdef WIZARD
 
868
E int NDECL(wiz_light_sources);
 
869
#endif
 
870
 
 
871
/* ### lock.c ### */
 
872
 
 
873
#ifdef USE_TRAMPOLI
 
874
E int NDECL(forcelock);
 
875
E int NDECL(picklock);
 
876
#endif
 
877
E boolean FDECL(picking_lock, (int *,int *));
 
878
E boolean FDECL(picking_at, (int,int));
 
879
E void NDECL(reset_pick);
 
880
E int FDECL(pick_lock, (struct obj *));
 
881
E int NDECL(doforce);
 
882
E boolean FDECL(boxlock, (struct obj *,struct obj *));
 
883
E boolean FDECL(doorlock, (struct obj *,int,int));
 
884
E int NDECL(doopen);
 
885
E int NDECL(doclose);
 
886
 
 
887
#ifdef MAC
 
888
/* These declarations are here because the main code calls them. */
 
889
 
 
890
/* ### macfile.c ### */
 
891
 
 
892
E int FDECL(maccreat, (const char *,long));
 
893
E int FDECL(macopen, (const char *,int,long));
 
894
E int FDECL(macclose, (int));
 
895
E int FDECL(macread, (int,void *,unsigned));
 
896
E int FDECL(macwrite, (int,void *,unsigned));
 
897
E long FDECL(macseek, (int,long,short));
 
898
E int FDECL(macunlink, (const char *));
 
899
 
 
900
/* ### macsnd.c ### */
 
901
 
 
902
E void FDECL(mac_speaker, (struct obj *,char *));
 
903
 
 
904
/* ### macunix.c ### */
 
905
 
 
906
E void FDECL(regularize, (char *));
 
907
E void NDECL(getlock);
 
908
 
 
909
/* ### macwin.c ### */
 
910
 
 
911
E void FDECL(lock_mouse_cursor, (Boolean));
 
912
E int NDECL(SanePositions);
 
913
 
 
914
/* ### mttymain.c ### */
 
915
 
 
916
E void FDECL(getreturn, (char *));
 
917
E void VDECL(msmsg, (const char *,...));
 
918
E void NDECL(gettty);
 
919
E void NDECL(setftty);
 
920
E void FDECL(settty, (const char *));
 
921
E int NDECL(tgetch);
 
922
E void FDECL(cmov, (int x, int y));
 
923
E void FDECL(nocmov, (int x, int y));
 
924
 
 
925
#endif /* MAC */
 
926
 
 
927
/* ### mail.c ### */
 
928
 
 
929
#ifdef MAIL
 
930
# ifdef UNIX
 
931
E void NDECL(getmailstatus);
 
932
# endif
 
933
E void NDECL(ckmailstatus);
 
934
E void FDECL(readmail, (struct obj *));
 
935
#endif /* MAIL */
 
936
 
 
937
/* ### makemon.c ### */
 
938
 
 
939
E boolean FDECL(is_home_elemental, (struct permonst *));
 
940
E struct monst *FDECL(clone_mon, (struct monst *,XCHAR_P,XCHAR_P));
 
941
E struct monst *FDECL(makemon, (struct permonst *,int,int,int));
 
942
E boolean FDECL(create_critters, (int,struct permonst *));
 
943
E struct permonst *NDECL(rndmonst);
 
944
E void FDECL(reset_rndmonst, (int));
 
945
E struct permonst *FDECL(mkclass, (CHAR_P,int));
 
946
E int FDECL(adj_lev, (struct permonst *));
 
947
E struct permonst *FDECL(grow_up, (struct monst *,struct monst *));
 
948
E int FDECL(mongets, (struct monst *,int));
 
949
E int FDECL(golemhp, (int));
 
950
E boolean FDECL(peace_minded, (struct permonst *));
 
951
E void FDECL(set_malign, (struct monst *));
 
952
E void FDECL(set_mimic_sym, (struct monst *));
 
953
E int FDECL(mbirth_limit, (int));
 
954
E void FDECL(mimic_hit_msg, (struct monst *, SHORT_P));
 
955
#ifdef GOLDOBJ
 
956
E void FDECL(mkmonmoney, (struct monst *, long));
 
957
#endif
 
958
E void FDECL(bagotricks, (struct obj *));
 
959
E boolean FDECL(propagate, (int, BOOLEAN_P,BOOLEAN_P));
 
960
 
 
961
/* ### mapglyph.c ### */
 
962
 
 
963
E void FDECL(mapglyph, (int, int *, int *, unsigned *, int, int));
 
964
 
 
965
/* ### mcastu.c ### */
 
966
 
 
967
E int FDECL(castmu, (struct monst *,struct attack *,BOOLEAN_P,BOOLEAN_P));
 
968
E int FDECL(buzzmu, (struct monst *,struct attack *));
 
969
 
 
970
/* ### mhitm.c ### */
 
971
 
 
972
E int FDECL(fightm, (struct monst *));
 
973
E int FDECL(mattackm, (struct monst *,struct monst *));
 
974
E int FDECL(noattacks, (struct permonst *));
 
975
E int FDECL(sleep_monst, (struct monst *,int,int));
 
976
E void FDECL(slept_monst, (struct monst *));
 
977
E long FDECL(attk_protection, (int));
 
978
 
 
979
/* ### mhitu.c ### */
 
980
 
 
981
E const char *FDECL(mpoisons_subj, (struct monst *,struct attack *));
 
982
E void NDECL(u_slow_down);
 
983
E struct monst *NDECL(cloneu);
 
984
E void FDECL(expels, (struct monst *,struct permonst *,BOOLEAN_P));
 
985
E struct attack *FDECL(getmattk, (struct permonst *,int,int *,struct attack *));
 
986
E int FDECL(mattacku, (struct monst *));
 
987
E int FDECL(magic_negation, (struct monst *));
 
988
E int FDECL(gazemu, (struct monst *,struct attack *));
 
989
E void FDECL(mdamageu, (struct monst *,int));
 
990
E int FDECL(could_seduce, (struct monst *,struct monst *,struct attack *));
 
991
#ifdef SEDUCE
 
992
E int FDECL(doseduce, (struct monst *));
 
993
#endif
 
994
 
 
995
/* ### minion.c ### */
 
996
 
 
997
E void FDECL(msummon, (struct monst *));
 
998
E void FDECL(summon_minion, (ALIGNTYP_P,BOOLEAN_P));
 
999
E int FDECL(demon_talk, (struct monst *));
 
1000
E long FDECL(bribe, (struct monst *));
 
1001
E int FDECL(dprince, (ALIGNTYP_P));
 
1002
E int FDECL(dlord, (ALIGNTYP_P));
 
1003
E int NDECL(llord);
 
1004
E int FDECL(ndemon, (ALIGNTYP_P));
 
1005
E int NDECL(lminion);
 
1006
 
 
1007
/* ### mklev.c ### */
 
1008
 
 
1009
#ifdef USE_TRAMPOLI
 
1010
E int FDECL(do_comp, (genericptr_t,genericptr_t));
 
1011
#endif
 
1012
E void NDECL(sort_rooms);
 
1013
E void FDECL(add_room, (int,int,int,int,BOOLEAN_P,SCHAR_P,BOOLEAN_P));
 
1014
E void FDECL(add_subroom, (struct mkroom *,int,int,int,int,
 
1015
                           BOOLEAN_P,SCHAR_P,BOOLEAN_P));
 
1016
E void NDECL(makecorridors);
 
1017
E void FDECL(add_door, (int,int,struct mkroom *));
 
1018
E void NDECL(mklev);
 
1019
#ifdef SPECIALIZATION
 
1020
E void FDECL(topologize, (struct mkroom *,BOOLEAN_P));
 
1021
#else
 
1022
E void FDECL(topologize, (struct mkroom *));
 
1023
#endif
 
1024
E void FDECL(place_branch, (branch *,XCHAR_P,XCHAR_P));
 
1025
E boolean FDECL(occupied, (XCHAR_P,XCHAR_P));
 
1026
E int FDECL(okdoor, (XCHAR_P,XCHAR_P));
 
1027
E void FDECL(dodoor, (int,int,struct mkroom *));
 
1028
E void FDECL(mktrap, (int,int,struct mkroom *,coord*));
 
1029
E void FDECL(mkstairs, (XCHAR_P,XCHAR_P,CHAR_P,struct mkroom *));
 
1030
E void NDECL(mkinvokearea);
 
1031
 
 
1032
/* ### mkmap.c ### */
 
1033
 
 
1034
void FDECL(flood_fill_rm, (int,int,int,BOOLEAN_P,BOOLEAN_P));
 
1035
void FDECL(remove_rooms, (int,int,int,int));
 
1036
 
 
1037
/* ### mkmaze.c ### */
 
1038
 
 
1039
E void FDECL(wallification, (int,int,int,int));
 
1040
E void FDECL(walkfrom, (int,int));
 
1041
E void FDECL(makemaz, (const char *));
 
1042
E void FDECL(mazexy, (coord *));
 
1043
E void NDECL(bound_digging);
 
1044
E void FDECL(mkportal, (XCHAR_P,XCHAR_P,XCHAR_P,XCHAR_P));
 
1045
E boolean FDECL(bad_location, (XCHAR_P,XCHAR_P,XCHAR_P,XCHAR_P,XCHAR_P,XCHAR_P));
 
1046
E void FDECL(place_lregion, (XCHAR_P,XCHAR_P,XCHAR_P,XCHAR_P,
 
1047
                             XCHAR_P,XCHAR_P,XCHAR_P,XCHAR_P,
 
1048
                             XCHAR_P,d_level *));
 
1049
E void NDECL(movebubbles);
 
1050
E void NDECL(water_friction);
 
1051
E void FDECL(save_waterlevel, (int,int));
 
1052
E void FDECL(restore_waterlevel, (int));
 
1053
E const char *FDECL(waterbody_name, (XCHAR_P,XCHAR_P));
 
1054
 
 
1055
/* ### mkobj.c ### */
 
1056
 
 
1057
E struct obj *FDECL(mkobj_at, (CHAR_P,int,int,BOOLEAN_P));
 
1058
E struct obj *FDECL(mksobj_at, (int,int,int,BOOLEAN_P,BOOLEAN_P));
 
1059
E struct obj *FDECL(mkobj, (CHAR_P,BOOLEAN_P));
 
1060
E int NDECL(rndmonnum);
 
1061
E struct obj *FDECL(splitobj, (struct obj *,long));
 
1062
E void FDECL(replace_object, (struct obj *,struct obj *));
 
1063
E void FDECL(bill_dummy_object, (struct obj *));
 
1064
E struct obj *FDECL(mksobj, (int,BOOLEAN_P,BOOLEAN_P));
 
1065
E int FDECL(bcsign, (struct obj *));
 
1066
E int FDECL(weight, (struct obj *));
 
1067
E struct obj *FDECL(mkgold, (long,int,int));
 
1068
E struct obj *FDECL(mkcorpstat,
 
1069
                (int,struct monst *,struct permonst *,int,int,BOOLEAN_P));
 
1070
E struct obj *FDECL(obj_attach_mid, (struct obj *, unsigned));
 
1071
E struct monst *FDECL(get_mtraits, (struct obj *, BOOLEAN_P));
 
1072
E struct obj *FDECL(mk_tt_object, (int,int,int));
 
1073
E struct obj *FDECL(mk_named_object,
 
1074
                        (int,struct permonst *,int,int,const char *));
 
1075
E struct obj *FDECL(rnd_treefruit_at, (int, int));
 
1076
E void FDECL(start_corpse_timeout, (struct obj *));
 
1077
E void FDECL(bless, (struct obj *));
 
1078
E void FDECL(unbless, (struct obj *));
 
1079
E void FDECL(curse, (struct obj *));
 
1080
E void FDECL(uncurse, (struct obj *));
 
1081
E void FDECL(blessorcurse, (struct obj *,int));
 
1082
E boolean FDECL(is_flammable, (struct obj *));
 
1083
E boolean FDECL(is_rottable, (struct obj *));
 
1084
E void FDECL(place_object, (struct obj *,int,int));
 
1085
E void FDECL(remove_object, (struct obj *));
 
1086
E void FDECL(discard_minvent, (struct monst *));
 
1087
E void FDECL(obj_extract_self, (struct obj *));
 
1088
E void FDECL(extract_nobj, (struct obj *, struct obj **));
 
1089
E void FDECL(extract_nexthere, (struct obj *, struct obj **));
 
1090
E int FDECL(add_to_minv, (struct monst *, struct obj *));
 
1091
E struct obj *FDECL(add_to_container, (struct obj *, struct obj *));
 
1092
E void FDECL(add_to_migration, (struct obj *));
 
1093
E void FDECL(add_to_buried, (struct obj *));
 
1094
E void FDECL(dealloc_obj, (struct obj *));
 
1095
E void FDECL(obj_ice_effects, (int, int, BOOLEAN_P));
 
1096
E long FDECL(peek_at_iced_corpse_age, (struct obj *));
 
1097
#ifdef WIZARD
 
1098
E void NDECL(obj_sanity_check);
 
1099
#endif
 
1100
 
 
1101
/* ### mkroom.c ### */
 
1102
 
 
1103
E void FDECL(mkroom, (int));
 
1104
E void FDECL(fill_zoo, (struct mkroom *));
 
1105
E boolean FDECL(nexttodoor, (int,int));
 
1106
E boolean FDECL(has_dnstairs, (struct mkroom *));
 
1107
E boolean FDECL(has_upstairs, (struct mkroom *));
 
1108
E int FDECL(somex, (struct mkroom *));
 
1109
E int FDECL(somey, (struct mkroom *));
 
1110
E boolean FDECL(inside_room, (struct mkroom *,XCHAR_P,XCHAR_P));
 
1111
E boolean FDECL(somexy, (struct mkroom *,coord *));
 
1112
E void FDECL(mkundead, (coord *,BOOLEAN_P,int));
 
1113
E struct permonst *NDECL(courtmon);
 
1114
E void FDECL(save_rooms, (int));
 
1115
E void FDECL(rest_rooms, (int));
 
1116
E struct mkroom *FDECL(search_special, (SCHAR_P));
 
1117
 
 
1118
/* ### mon.c ### */
 
1119
 
 
1120
E int FDECL(undead_to_corpse, (int));
 
1121
E int FDECL(genus, (int,int));
 
1122
E int FDECL(pm_to_cham, (int));
 
1123
E int FDECL(minliquid, (struct monst *));
 
1124
E int NDECL(movemon);
 
1125
E int FDECL(meatmetal, (struct monst *));
 
1126
E int FDECL(meatobj, (struct monst *));
 
1127
E void FDECL(mpickgold, (struct monst *));
 
1128
E boolean FDECL(mpickstuff, (struct monst *,const char *));
 
1129
E int FDECL(curr_mon_load, (struct monst *));
 
1130
E int FDECL(max_mon_load, (struct monst *));
 
1131
E boolean FDECL(can_carry, (struct monst *,struct obj *));
 
1132
E int FDECL(mfndpos, (struct monst *,coord *,long *,long));
 
1133
E boolean FDECL(monnear, (struct monst *,int,int));
 
1134
E void NDECL(dmonsfree);
 
1135
E int FDECL(mcalcmove, (struct monst*));
 
1136
E void NDECL(mcalcdistress);
 
1137
E void FDECL(replmon, (struct monst *,struct monst *));
 
1138
E void FDECL(relmon, (struct monst *));
 
1139
E struct obj *FDECL(mlifesaver, (struct monst *));
 
1140
E boolean FDECL(corpse_chance,(struct monst *,struct monst *,BOOLEAN_P));
 
1141
E void FDECL(mondead, (struct monst *));
 
1142
E void FDECL(mondied, (struct monst *));
 
1143
E void FDECL(mongone, (struct monst *));
 
1144
E void FDECL(monstone, (struct monst *));
 
1145
E void FDECL(monkilled, (struct monst *,const char *,int));
 
1146
E void FDECL(unstuck, (struct monst *));
 
1147
E void FDECL(killed, (struct monst *));
 
1148
E void FDECL(xkilled, (struct monst *,int));
 
1149
E void FDECL(mon_to_stone, (struct monst*));
 
1150
E void FDECL(mnexto, (struct monst *));
 
1151
E boolean FDECL(mnearto, (struct monst *,XCHAR_P,XCHAR_P,BOOLEAN_P));
 
1152
E void FDECL(poisontell, (int));
 
1153
E void FDECL(poisoned, (const char *,int,const char *,int));
 
1154
E void FDECL(m_respond, (struct monst *));
 
1155
E void FDECL(setmangry, (struct monst *));
 
1156
E void FDECL(wakeup, (struct monst *));
 
1157
E void NDECL(wake_nearby);
 
1158
E void FDECL(wake_nearto, (int,int,int));
 
1159
E void FDECL(seemimic, (struct monst *));
 
1160
E void NDECL(rescham);
 
1161
E void NDECL(restartcham);
 
1162
E void FDECL(restore_cham, (struct monst *));
 
1163
E void FDECL(mon_animal_list, (BOOLEAN_P));
 
1164
E int FDECL(newcham, (struct monst *,struct permonst *,BOOLEAN_P,BOOLEAN_P));
 
1165
E int FDECL(can_be_hatched, (int));
 
1166
E int FDECL(egg_type_from_parent, (int,BOOLEAN_P));
 
1167
E boolean FDECL(dead_species, (int,BOOLEAN_P));
 
1168
E void NDECL(kill_genocided_monsters);
 
1169
E void FDECL(golemeffects, (struct monst *,int,int));
 
1170
E boolean FDECL(angry_guards, (BOOLEAN_P));
 
1171
E void NDECL(pacify_guards);
 
1172
 
 
1173
/* ### mondata.c ### */
 
1174
 
 
1175
E void FDECL(set_mon_data, (struct monst *,struct permonst *,int));
 
1176
E struct attack *FDECL(attacktype_fordmg, (struct permonst *,int,int));
 
1177
E boolean FDECL(attacktype, (struct permonst *,int));
 
1178
E boolean FDECL(poly_when_stoned, (struct permonst *));
 
1179
E boolean FDECL(resists_drli, (struct monst *));
 
1180
E boolean FDECL(resists_magm, (struct monst *));
 
1181
E boolean FDECL(resists_blnd, (struct monst *));
 
1182
E boolean FDECL(can_blnd, (struct monst *,struct monst *,UCHAR_P,struct obj *));
 
1183
E boolean FDECL(ranged_attk, (struct permonst *));
 
1184
E boolean FDECL(hates_silver, (struct permonst *));
 
1185
E boolean FDECL(passes_bars, (struct permonst *));
 
1186
E boolean FDECL(can_track, (struct permonst *));
 
1187
E boolean FDECL(breakarm, (struct permonst *));
 
1188
E boolean FDECL(sliparm, (struct permonst *));
 
1189
E boolean FDECL(sticks, (struct permonst *));
 
1190
E int FDECL(num_horns, (struct permonst *));
 
1191
/* E boolean FDECL(canseemon, (struct monst *)); */
 
1192
E struct attack *FDECL(dmgtype_fromattack, (struct permonst *,int,int));
 
1193
E boolean FDECL(dmgtype, (struct permonst *,int));
 
1194
E int FDECL(max_passive_dmg, (struct monst *,struct monst *));
 
1195
E int FDECL(monsndx, (struct permonst *));
 
1196
E int FDECL(name_to_mon, (const char *));
 
1197
E int FDECL(gender, (struct monst *));
 
1198
E int FDECL(pronoun_gender, (struct monst *));
 
1199
E boolean FDECL(levl_follower, (struct monst *));
 
1200
E int FDECL(little_to_big, (int));
 
1201
E int FDECL(big_to_little, (int));
 
1202
E const char *FDECL(locomotion, (const struct permonst *,const char *));
 
1203
E const char *FDECL(stagger, (const struct permonst *,const char *));
 
1204
E const char *FDECL(on_fire, (struct permonst *,struct attack *));
 
1205
E const struct permonst *FDECL(raceptr, (struct monst *));
 
1206
 
 
1207
/* ### monmove.c ### */
 
1208
 
 
1209
E boolean FDECL(itsstuck, (struct monst *));
 
1210
E boolean FDECL(mb_trapped, (struct monst *));
 
1211
E void FDECL(mon_regen, (struct monst *,BOOLEAN_P));
 
1212
E int FDECL(dochugw, (struct monst *));
 
1213
E boolean FDECL(onscary, (int,int,struct monst *));
 
1214
E void FDECL(monflee, (struct monst *, int, BOOLEAN_P, BOOLEAN_P));
 
1215
E int FDECL(dochug, (struct monst *));
 
1216
E int FDECL(m_move, (struct monst *,int));
 
1217
E boolean FDECL(closed_door, (int,int));
 
1218
E boolean FDECL(accessible, (int,int));
 
1219
E void FDECL(set_apparxy, (struct monst *));
 
1220
E boolean FDECL(can_ooze, (struct monst *));
 
1221
 
 
1222
/* ### monst.c ### */
 
1223
 
 
1224
E void NDECL(monst_init);
 
1225
 
 
1226
/* ### monstr.c ### */
 
1227
 
 
1228
E void NDECL(monstr_init);
 
1229
 
 
1230
/* ### mplayer.c ### */
 
1231
 
 
1232
E struct monst *FDECL(mk_mplayer, (struct permonst *,XCHAR_P,
 
1233
                                   XCHAR_P,BOOLEAN_P));
 
1234
E void FDECL(create_mplayers, (int,BOOLEAN_P));
 
1235
E void FDECL(mplayer_talk, (struct monst *));
 
1236
 
 
1237
#if defined(MICRO) || defined(WIN32)
 
1238
 
 
1239
/* ### msdos.c,os2.c,tos.c,winnt.c ### */
 
1240
 
 
1241
#  ifndef WIN32
 
1242
E int NDECL(tgetch);
 
1243
#  endif
 
1244
#  ifndef TOS
 
1245
E char NDECL(switchar);
 
1246
#  endif
 
1247
# ifndef __GO32__
 
1248
E long FDECL(freediskspace, (char *));
 
1249
#  ifdef MSDOS
 
1250
E int FDECL(findfirst_file, (char *));
 
1251
E int NDECL(findnext_file);
 
1252
E long FDECL(filesize_nh, (char *));
 
1253
#  else
 
1254
E int FDECL(findfirst, (char *));
 
1255
E int NDECL(findnext);
 
1256
E long FDECL(filesize, (char *));
 
1257
#  endif /* MSDOS */
 
1258
E char *NDECL(foundfile_buffer);
 
1259
# endif /* __GO32__ */
 
1260
E void FDECL(chdrive, (char *));
 
1261
# ifndef TOS
 
1262
E void NDECL(disable_ctrlP);
 
1263
E void NDECL(enable_ctrlP);
 
1264
# endif
 
1265
# if defined(MICRO) && !defined(WINNT)
 
1266
E void NDECL(get_scr_size);
 
1267
#  ifndef TOS
 
1268
E void FDECL(gotoxy, (int,int));
 
1269
#  endif
 
1270
# endif
 
1271
# ifdef TOS
 
1272
E int FDECL(_copyfile, (char *,char *));
 
1273
E int NDECL(kbhit);
 
1274
E void NDECL(set_colors);
 
1275
E void NDECL(restore_colors);
 
1276
#  ifdef SUSPEND
 
1277
E int NDECL(dosuspend);
 
1278
#  endif
 
1279
# endif /* TOS */
 
1280
# ifdef WIN32
 
1281
E char *FDECL(get_username, (int *));
 
1282
E void FDECL(nt_regularize, (char *));
 
1283
E int NDECL((*nt_kbhit));
 
1284
E void FDECL(Delay, (int));
 
1285
# endif /* WIN32 */
 
1286
#endif /* MICRO || WIN32 */
 
1287
 
 
1288
/* ### mthrowu.c ### */
 
1289
 
 
1290
E int FDECL(thitu, (int,int,struct obj *,const char *));
 
1291
E int FDECL(ohitmon, (struct monst *,struct obj *,int,BOOLEAN_P));
 
1292
E void FDECL(thrwmu, (struct monst *));
 
1293
E int FDECL(spitmu, (struct monst *,struct attack *));
 
1294
E int FDECL(breamu, (struct monst *,struct attack *));
 
1295
E boolean FDECL(linedup, (XCHAR_P,XCHAR_P,XCHAR_P,XCHAR_P));
 
1296
E boolean FDECL(lined_up, (struct monst *));
 
1297
E struct obj *FDECL(m_carrying, (struct monst *,int));
 
1298
E void FDECL(m_useup, (struct monst *,struct obj *));
 
1299
E void FDECL(m_throw, (struct monst *,int,int,int,int,int,struct obj *));
 
1300
E boolean FDECL(hits_bars, (struct obj **,int,int,int,int));
 
1301
 
 
1302
/* ### muse.c ### */
 
1303
 
 
1304
E boolean FDECL(find_defensive, (struct monst *));
 
1305
E int FDECL(use_defensive, (struct monst *));
 
1306
E int FDECL(rnd_defensive_item, (struct monst *));
 
1307
E boolean FDECL(find_offensive, (struct monst *));
 
1308
#ifdef USE_TRAMPOLI
 
1309
E int FDECL(mbhitm, (struct monst *,struct obj *));
 
1310
#endif
 
1311
E int FDECL(use_offensive, (struct monst *));
 
1312
E int FDECL(rnd_offensive_item, (struct monst *));
 
1313
E boolean FDECL(find_misc, (struct monst *));
 
1314
E int FDECL(use_misc, (struct monst *));
 
1315
E int FDECL(rnd_misc_item, (struct monst *));
 
1316
E boolean FDECL(searches_for_item, (struct monst *,struct obj *));
 
1317
E boolean FDECL(mon_reflects, (struct monst *,const char *));
 
1318
E boolean FDECL(ureflects, (const char *,const char *));
 
1319
E boolean FDECL(munstone, (struct monst *,BOOLEAN_P));
 
1320
 
 
1321
/* ### music.c ### */
 
1322
 
 
1323
E void NDECL(awaken_soldiers);
 
1324
E int FDECL(do_play_instrument, (struct obj *));
 
1325
 
 
1326
/* ### nhlan.c ### */
 
1327
#ifdef LAN_FEATURES
 
1328
E void NDECL(init_lan_features);
 
1329
E char *NDECL(lan_username);
 
1330
# ifdef LAN_MAIL
 
1331
E boolean NDECL(lan_mail_check);
 
1332
E void FDECL(lan_mail_read, (struct obj *));
 
1333
E void NDECL(lan_mail_init);
 
1334
E void NDECL(lan_mail_finish);
 
1335
E void NDECL(lan_mail_terminate);
 
1336
# endif
 
1337
#endif
 
1338
 
 
1339
/* ### nttty.c ### */
 
1340
 
 
1341
#ifdef WIN32CON
 
1342
E void NDECL(get_scr_size);
 
1343
E int NDECL(nttty_kbhit);
 
1344
E void NDECL(nttty_open);
 
1345
E void NDECL(nttty_rubout);
 
1346
E int NDECL(tgetch);
 
1347
E int FDECL(ntposkey,(int *, int *, int *));
 
1348
E void FDECL(set_output_mode, (int));
 
1349
E void NDECL(synch_cursor);
 
1350
#endif
 
1351
 
 
1352
/* ### o_init.c ### */
 
1353
 
 
1354
E void NDECL(init_objects);
 
1355
E int NDECL(find_skates);
 
1356
E void NDECL(oinit);
 
1357
E void FDECL(savenames, (int,int));
 
1358
E void FDECL(restnames, (int));
 
1359
E void FDECL(discover_object, (int,BOOLEAN_P,BOOLEAN_P));
 
1360
E void FDECL(undiscover_object, (int));
 
1361
E int NDECL(dodiscovered);
 
1362
 
 
1363
/* ### objects.c ### */
 
1364
 
 
1365
E void NDECL(objects_init);
 
1366
 
 
1367
/* ### objnam.c ### */
 
1368
 
 
1369
E char *FDECL(obj_typename, (int));
 
1370
E char *FDECL(simple_typename, (int));
 
1371
E boolean FDECL(obj_is_pname, (struct obj *));
 
1372
E char *FDECL(distant_name, (struct obj *,char *(*)(OBJ_P)));
 
1373
E char *FDECL(fruitname, (BOOLEAN_P));
 
1374
E char *FDECL(xname, (struct obj *));
 
1375
E char *FDECL(mshot_xname, (struct obj *));
 
1376
E boolean FDECL(the_unique_obj, (struct obj *obj));
 
1377
E char *FDECL(doname, (struct obj *));
 
1378
E boolean FDECL(not_fully_identified, (struct obj *));
 
1379
E char *FDECL(corpse_xname, (struct obj *,BOOLEAN_P));
 
1380
E char *FDECL(cxname, (struct obj *));
 
1381
E char *FDECL(killer_xname, (struct obj *));
 
1382
E const char *FDECL(singular, (struct obj *,char *(*)(OBJ_P)));
 
1383
E char *FDECL(an, (const char *));
 
1384
E char *FDECL(An, (const char *));
 
1385
E char *FDECL(The, (const char *));
 
1386
E char *FDECL(the, (const char *));
 
1387
E char *FDECL(aobjnam, (struct obj *,const char *));
 
1388
E char *FDECL(Tobjnam, (struct obj *,const char *));
 
1389
E char *FDECL(otense, (struct obj *,const char *));
 
1390
E char *FDECL(vtense, (const char *,const char *));
 
1391
E char *FDECL(Doname2, (struct obj *));
 
1392
E char *FDECL(yname, (struct obj *));
 
1393
E char *FDECL(Yname2, (struct obj *));
 
1394
E char *FDECL(ysimple_name, (struct obj *));
 
1395
E char *FDECL(Ysimple_name2, (struct obj *));
 
1396
E char *FDECL(makeplural, (const char *));
 
1397
E char *FDECL(makesingular, (const char *));
 
1398
E struct obj *FDECL(readobjnam, (char *,struct obj *,BOOLEAN_P));
 
1399
E int FDECL(rnd_class, (int,int));
 
1400
E const char *FDECL(cloak_simple_name, (struct obj *));
 
1401
E const char *FDECL(mimic_obj_name, (struct monst *));
 
1402
 
 
1403
/* ### options.c ### */
 
1404
 
 
1405
E boolean FDECL(match_optname, (const char *,const char *,int,BOOLEAN_P));
 
1406
E void NDECL(initoptions);
 
1407
E void FDECL(parseoptions, (char *,BOOLEAN_P,BOOLEAN_P));
 
1408
E int NDECL(doset);
 
1409
E int NDECL(dotogglepickup);
 
1410
E void NDECL(option_help);
 
1411
E void FDECL(next_opt, (winid,const char *));
 
1412
E int FDECL(fruitadd, (char *));
 
1413
E int FDECL(choose_classes_menu, (const char *,int,BOOLEAN_P,char *,char *));
 
1414
E void FDECL(add_menu_cmd_alias, (CHAR_P, CHAR_P));
 
1415
E char FDECL(map_menu_cmd, (CHAR_P));
 
1416
E void FDECL(assign_warnings, (uchar *));
 
1417
E char *FDECL(nh_getenv, (const char *));
 
1418
E void FDECL(set_duplicate_opt_detection, (int));
 
1419
E void FDECL(set_wc_option_mod_status, (unsigned long, int));
 
1420
E void FDECL(set_wc2_option_mod_status, (unsigned long, int));
 
1421
E void FDECL(set_option_mod_status, (const char *,int));
 
1422
#ifdef AUTOPICKUP_EXCEPTIONS
 
1423
E int FDECL(add_autopickup_exception, (const char *));
 
1424
E void NDECL(free_autopickup_exceptions);
 
1425
#endif /* AUTOPICKUP_EXCEPTIONS */
 
1426
#ifdef MENU_COLOR
 
1427
E boolean FDECL(add_menu_coloring, (char *));
 
1428
#endif /* MENU_COLOR */
 
1429
 
 
1430
/* ### pager.c ### */
 
1431
 
 
1432
E int NDECL(dowhatis);
 
1433
E int NDECL(doquickwhatis);
 
1434
E int NDECL(doidtrap);
 
1435
E int NDECL(dowhatdoes);
 
1436
E char *FDECL(dowhatdoes_core,(CHAR_P, char *));
 
1437
E int NDECL(dohelp);
 
1438
E int NDECL(dohistory);
 
1439
 
 
1440
/* ### pcmain.c ### */
 
1441
 
 
1442
#if defined(MICRO) || defined(WIN32)
 
1443
# ifdef CHDIR
 
1444
E void FDECL(chdirx, (char *,BOOLEAN_P));
 
1445
# endif /* CHDIR */
 
1446
#endif /* MICRO || WIN32 */
 
1447
 
 
1448
/* ### pcsys.c ### */
 
1449
 
 
1450
#if defined(MICRO) || defined(WIN32)
 
1451
E void NDECL(flushout);
 
1452
E int NDECL(dosh);
 
1453
# ifdef MFLOPPY
 
1454
E void FDECL(eraseall, (const char *,const char *));
 
1455
E void FDECL(copybones, (int));
 
1456
E void NDECL(playwoRAMdisk);
 
1457
E int FDECL(saveDiskPrompt, (int));
 
1458
E void NDECL(gameDiskPrompt);
 
1459
# endif
 
1460
E void FDECL(append_slash, (char *));
 
1461
E void FDECL(getreturn, (const char *));
 
1462
# ifndef AMIGA
 
1463
E void VDECL(msmsg, (const char *,...));
 
1464
# endif
 
1465
E FILE *FDECL(fopenp, (const char *,const char *));
 
1466
#endif /* MICRO || WIN32 */
 
1467
 
 
1468
/* ### pctty.c ### */
 
1469
 
 
1470
#if defined(MICRO) || defined(WIN32)
 
1471
E void NDECL(gettty);
 
1472
E void FDECL(settty, (const char *));
 
1473
E void NDECL(setftty);
 
1474
E void VDECL(error, (const char *,...));
 
1475
#if defined(TIMED_DELAY) && defined(_MSC_VER)
 
1476
E void FDECL(msleep, (unsigned));
 
1477
#endif
 
1478
#endif /* MICRO || WIN32 */
 
1479
 
 
1480
/* ### pcunix.c ### */
 
1481
 
 
1482
#if defined(MICRO)
 
1483
E void FDECL(regularize, (char *));
 
1484
#endif /* MICRO */
 
1485
#if defined(PC_LOCKING)
 
1486
E void NDECL(getlock);
 
1487
#endif
 
1488
 
 
1489
/* ### pickup.c ### */
 
1490
 
 
1491
#ifdef GOLDOBJ
 
1492
E int FDECL(collect_obj_classes,
 
1493
        (char *,struct obj *,BOOLEAN_P,boolean FDECL((*),(OBJ_P)), int *));
 
1494
#else
 
1495
E int FDECL(collect_obj_classes,
 
1496
        (char *,struct obj *,BOOLEAN_P,BOOLEAN_P,boolean FDECL((*),(OBJ_P)), int *));
 
1497
#endif
 
1498
E void FDECL(add_valid_menu_class, (int));
 
1499
E boolean FDECL(allow_all, (struct obj *));
 
1500
E boolean FDECL(allow_category, (struct obj *));
 
1501
E boolean FDECL(is_worn_by_type, (struct obj *));
 
1502
#ifdef USE_TRAMPOLI
 
1503
E int FDECL(ck_bag, (struct obj *));
 
1504
E int FDECL(in_container, (struct obj *));
 
1505
E int FDECL(out_container, (struct obj *));
 
1506
#endif
 
1507
E int FDECL(pickup, (int));
 
1508
E int FDECL(pickup_object, (struct obj *, long, BOOLEAN_P));
 
1509
E int FDECL(query_category, (const char *, struct obj *, int,
 
1510
                                menu_item **, int));
 
1511
E int FDECL(query_objlist, (const char *, struct obj *, int,
 
1512
                                menu_item **, int, boolean (*)(OBJ_P)));
 
1513
E struct obj *FDECL(pick_obj, (struct obj *));
 
1514
E int NDECL(encumber_msg);
 
1515
E int NDECL(doloot);
 
1516
E int FDECL(use_container, (struct obj *,int));
 
1517
E int FDECL(loot_mon, (struct monst *,int *,boolean *));
 
1518
E const char *FDECL(safe_qbuf, (const char *,unsigned,
 
1519
                                const char *,const char *,const char *));
 
1520
E boolean FDECL(is_autopickup_exception, (struct obj *, BOOLEAN_P));
 
1521
 
 
1522
/* ### pline.c ### */
 
1523
 
 
1524
E void VDECL(pline, (const char *,...)) PRINTF_F(1,2);
 
1525
E void VDECL(Norep, (const char *,...)) PRINTF_F(1,2);
 
1526
E void NDECL(free_youbuf);
 
1527
E void VDECL(You, (const char *,...)) PRINTF_F(1,2);
 
1528
E void VDECL(Your, (const char *,...)) PRINTF_F(1,2);
 
1529
E void VDECL(You_feel, (const char *,...)) PRINTF_F(1,2);
 
1530
E void VDECL(You_cant, (const char *,...)) PRINTF_F(1,2);
 
1531
E void VDECL(You_hear, (const char *,...)) PRINTF_F(1,2);
 
1532
E void VDECL(pline_The, (const char *,...)) PRINTF_F(1,2);
 
1533
E void VDECL(There, (const char *,...)) PRINTF_F(1,2);
 
1534
E void VDECL(verbalize, (const char *,...)) PRINTF_F(1,2);
 
1535
E void VDECL(raw_printf, (const char *,...)) PRINTF_F(1,2);
 
1536
E void VDECL(impossible, (const char *,...)) PRINTF_F(1,2);
 
1537
E const char *FDECL(align_str, (ALIGNTYP_P));
 
1538
E void FDECL(mstatusline, (struct monst *));
 
1539
E void NDECL(ustatusline);
 
1540
E void NDECL(self_invis_message);
 
1541
 
 
1542
/* ### polyself.c ### */
 
1543
 
 
1544
E void NDECL(set_uasmon);
 
1545
E void NDECL(change_sex);
 
1546
E void FDECL(polyself, (BOOLEAN_P));
 
1547
E int FDECL(polymon, (int));
 
1548
E void NDECL(rehumanize);
 
1549
E int NDECL(dobreathe);
 
1550
E int NDECL(dospit);
 
1551
E int NDECL(doremove);
 
1552
E int NDECL(dospinweb);
 
1553
E int NDECL(dosummon);
 
1554
E int NDECL(dogaze);
 
1555
E int NDECL(dohide);
 
1556
E int NDECL(domindblast);
 
1557
E void FDECL(skinback, (BOOLEAN_P));
 
1558
E const char *FDECL(mbodypart, (struct monst *,int));
 
1559
E const char *FDECL(body_part, (int));
 
1560
E int NDECL(poly_gender);
 
1561
E void FDECL(ugolemeffects, (int,int));
 
1562
 
 
1563
/* ### potion.c ### */
 
1564
 
 
1565
E void FDECL(set_itimeout, (long *,long));
 
1566
E void FDECL(incr_itimeout, (long *,int));
 
1567
E void FDECL(make_confused, (long,BOOLEAN_P));
 
1568
E void FDECL(make_stunned, (long,BOOLEAN_P));
 
1569
E void FDECL(make_blinded, (long,BOOLEAN_P));
 
1570
E void FDECL(make_sick, (long, const char *, BOOLEAN_P,int));
 
1571
E void FDECL(make_vomiting, (long,BOOLEAN_P));
 
1572
E boolean FDECL(make_hallucinated, (long,BOOLEAN_P,long));
 
1573
E int NDECL(dodrink);
 
1574
E int FDECL(dopotion, (struct obj *));
 
1575
E int FDECL(peffects, (struct obj *));
 
1576
E void FDECL(healup, (int,int,BOOLEAN_P,BOOLEAN_P));
 
1577
E void FDECL(strange_feeling, (struct obj *,const char *));
 
1578
E void FDECL(potionhit, (struct monst *,struct obj *,BOOLEAN_P));
 
1579
E void FDECL(potionbreathe, (struct obj *));
 
1580
E boolean FDECL(get_wet, (struct obj *));
 
1581
E int NDECL(dodip);
 
1582
E void FDECL(djinni_from_bottle, (struct obj *));
 
1583
E struct monst *FDECL(split_mon, (struct monst *,struct monst *));
 
1584
E const char *NDECL(bottlename);
 
1585
 
 
1586
/* ### pray.c ### */
 
1587
 
 
1588
#ifdef USE_TRAMPOLI
 
1589
E int NDECL(prayer_done);
 
1590
#endif
 
1591
E int NDECL(dosacrifice);
 
1592
E boolean FDECL(can_pray, (BOOLEAN_P));
 
1593
E int NDECL(dopray);
 
1594
E const char *NDECL(u_gname);
 
1595
E int NDECL(doturn);
 
1596
E const char *NDECL(a_gname);
 
1597
E const char *FDECL(a_gname_at, (XCHAR_P x,XCHAR_P y));
 
1598
E const char *FDECL(align_gname, (ALIGNTYP_P));
 
1599
E const char *FDECL(halu_gname, (ALIGNTYP_P));
 
1600
E const char *FDECL(align_gtitle, (ALIGNTYP_P));
 
1601
E void FDECL(altar_wrath, (int,int));
 
1602
 
 
1603
 
 
1604
/* ### priest.c ### */
 
1605
 
 
1606
E int FDECL(move_special, (struct monst *,BOOLEAN_P,SCHAR_P,BOOLEAN_P,BOOLEAN_P,
 
1607
                           XCHAR_P,XCHAR_P,XCHAR_P,XCHAR_P));
 
1608
E char FDECL(temple_occupied, (char *));
 
1609
E int FDECL(pri_move, (struct monst *));
 
1610
E void FDECL(priestini, (d_level *,struct mkroom *,int,int,BOOLEAN_P));
 
1611
E char *FDECL(priestname, (struct monst *,char *));
 
1612
E boolean FDECL(p_coaligned, (struct monst *));
 
1613
E struct monst *FDECL(findpriest, (CHAR_P));
 
1614
E void FDECL(intemple, (int));
 
1615
E void FDECL(priest_talk, (struct monst *));
 
1616
E struct monst *FDECL(mk_roamer, (struct permonst *,ALIGNTYP_P,
 
1617
                                  XCHAR_P,XCHAR_P,BOOLEAN_P));
 
1618
E void FDECL(reset_hostility, (struct monst *));
 
1619
E boolean FDECL(in_your_sanctuary, (struct monst *,XCHAR_P,XCHAR_P));
 
1620
E void FDECL(ghod_hitsu, (struct monst *));
 
1621
E void NDECL(angry_priest);
 
1622
E void NDECL(clearpriests);
 
1623
E void FDECL(restpriest, (struct monst *,BOOLEAN_P));
 
1624
 
 
1625
/* ### quest.c ### */
 
1626
 
 
1627
E void NDECL(onquest);
 
1628
E void NDECL(nemdead);
 
1629
E void NDECL(artitouch);
 
1630
E boolean NDECL(ok_to_quest);
 
1631
E void FDECL(leader_speaks, (struct monst *));
 
1632
E void NDECL(nemesis_speaks);
 
1633
E void FDECL(quest_chat, (struct monst *));
 
1634
E void FDECL(quest_talk, (struct monst *));
 
1635
E void FDECL(quest_stat_check, (struct monst *));
 
1636
E void FDECL(finish_quest, (struct obj *));
 
1637
 
 
1638
/* ### questpgr.c ### */
 
1639
 
 
1640
E void NDECL(load_qtlist);
 
1641
E void NDECL(unload_qtlist);
 
1642
E short FDECL(quest_info, (int));
 
1643
E const char *NDECL(ldrname);
 
1644
E boolean FDECL(is_quest_artifact, (struct obj*));
 
1645
E void FDECL(com_pager, (int));
 
1646
E void FDECL(qt_pager, (int));
 
1647
E struct permonst *NDECL(qt_montype);
 
1648
 
 
1649
/* ### random.c ### */
 
1650
 
 
1651
#if defined(RANDOM) && !defined(__GO32__) /* djgpp has its own random */
 
1652
E void FDECL(srandom, (unsigned));
 
1653
E char *FDECL(initstate, (unsigned,char *,int));
 
1654
E char *FDECL(setstate, (char *));
 
1655
E long NDECL(random);
 
1656
#endif /* RANDOM */
 
1657
 
 
1658
/* ### read.c ### */
 
1659
 
 
1660
E int NDECL(doread);
 
1661
E boolean FDECL(is_chargeable, (struct obj *));
 
1662
E void FDECL(recharge, (struct obj *,int));
 
1663
E void FDECL(forget_objects, (int));
 
1664
E void FDECL(forget_levels, (int));
 
1665
E void NDECL(forget_traps);
 
1666
E void FDECL(forget_map, (int));
 
1667
E int FDECL(seffects, (struct obj *));
 
1668
#ifdef USE_TRAMPOLI
 
1669
E void FDECL(set_lit, (int,int,genericptr_t));
 
1670
#endif
 
1671
E void FDECL(litroom, (BOOLEAN_P,struct obj *));
 
1672
E void FDECL(do_genocide, (int));
 
1673
E void FDECL(punish, (struct obj *));
 
1674
E void NDECL(unpunish);
 
1675
E boolean FDECL(cant_create, (int *, BOOLEAN_P));
 
1676
#ifdef WIZARD
 
1677
E boolean NDECL(create_particular);
 
1678
#endif
 
1679
 
 
1680
/* ### rect.c ### */
 
1681
 
 
1682
E void NDECL(init_rect);
 
1683
E NhRect *FDECL(get_rect, (NhRect *));
 
1684
E NhRect *NDECL(rnd_rect);
 
1685
E void FDECL(remove_rect, (NhRect *));
 
1686
E void FDECL(add_rect, (NhRect *));
 
1687
E void FDECL(split_rects, (NhRect *,NhRect *));
 
1688
 
 
1689
/* ## region.c ### */
 
1690
E void NDECL(clear_regions);
 
1691
E void NDECL(run_regions);
 
1692
E boolean FDECL(in_out_region, (XCHAR_P,XCHAR_P));
 
1693
E boolean FDECL(m_in_out_region, (struct monst *,XCHAR_P,XCHAR_P));
 
1694
E void NDECL(update_player_regions);
 
1695
E void FDECL(update_monster_region, (struct monst *));
 
1696
E NhRegion *FDECL(visible_region_at, (XCHAR_P,XCHAR_P));
 
1697
E void FDECL(show_region, (NhRegion*, XCHAR_P, XCHAR_P));
 
1698
E void FDECL(save_regions, (int,int));
 
1699
E void FDECL(rest_regions, (int,BOOLEAN_P));
 
1700
E NhRegion* FDECL(create_gas_cloud, (XCHAR_P, XCHAR_P, int, int));
 
1701
 
 
1702
/* ### restore.c ### */
 
1703
 
 
1704
E void FDECL(inven_inuse, (BOOLEAN_P));
 
1705
E int FDECL(dorecover, (int));
 
1706
E void FDECL(trickery, (char *));
 
1707
E void FDECL(getlev, (int,int,XCHAR_P,BOOLEAN_P));
 
1708
E void NDECL(minit);
 
1709
E boolean FDECL(lookup_id_mapping, (unsigned, unsigned *));
 
1710
#ifdef ZEROCOMP
 
1711
E int FDECL(mread, (int,genericptr_t,unsigned int));
 
1712
#else
 
1713
E void FDECL(mread, (int,genericptr_t,unsigned int));
 
1714
#endif
 
1715
 
 
1716
/* ### rip.c ### */
 
1717
 
 
1718
E void FDECL(genl_outrip, (winid,int));
 
1719
 
 
1720
/* ### rnd.c ### */
 
1721
 
 
1722
E int FDECL(rn2, (int));
 
1723
E int FDECL(rnl, (int));
 
1724
E int FDECL(rnd, (int));
 
1725
E int FDECL(d, (int,int));
 
1726
E int FDECL(rne, (int));
 
1727
E int FDECL(rnz, (int));
 
1728
 
 
1729
/* ### role.c ### */
 
1730
 
 
1731
E boolean FDECL(validrole, (int));
 
1732
E boolean FDECL(validrace, (int, int));
 
1733
E boolean FDECL(validgend, (int, int, int));
 
1734
E boolean FDECL(validalign, (int, int, int));
 
1735
E int NDECL(randrole);
 
1736
E int FDECL(randrace, (int));
 
1737
E int FDECL(randgend, (int, int));
 
1738
E int FDECL(randalign, (int, int));
 
1739
E int FDECL(str2role, (char *));
 
1740
E int FDECL(str2race, (char *));
 
1741
E int FDECL(str2gend, (char *));
 
1742
E int FDECL(str2align, (char *));
 
1743
E boolean FDECL(ok_role, (int, int, int, int));
 
1744
E int FDECL(pick_role, (int, int, int, int));
 
1745
E boolean FDECL(ok_race, (int, int, int, int));
 
1746
E int FDECL(pick_race, (int, int, int, int));
 
1747
E boolean FDECL(ok_gend, (int, int, int, int));
 
1748
E int FDECL(pick_gend, (int, int, int, int));
 
1749
E boolean FDECL(ok_align, (int, int, int, int));
 
1750
E int FDECL(pick_align, (int, int, int, int));
 
1751
E void NDECL(role_init);
 
1752
E void NDECL(rigid_role_checks);
 
1753
E void NDECL(plnamesuffix);
 
1754
E const char *FDECL(Hello, (struct monst *));
 
1755
E const char *NDECL(Goodbye);
 
1756
E char *FDECL(build_plselection_prompt, (char *, int, int, int, int, int));
 
1757
E char *FDECL(root_plselection_prompt, (char *, int, int, int, int, int));
 
1758
 
 
1759
/* ### rumors.c ### */
 
1760
 
 
1761
E char *FDECL(getrumor, (int,char *, BOOLEAN_P));
 
1762
E void FDECL(outrumor, (int,int));
 
1763
E void FDECL(outoracle, (BOOLEAN_P, BOOLEAN_P));
 
1764
E void FDECL(save_oracles, (int,int));
 
1765
E void FDECL(restore_oracles, (int));
 
1766
E int FDECL(doconsult, (struct monst *));
 
1767
 
 
1768
/* ### save.c ### */
 
1769
 
 
1770
E int NDECL(dosave);
 
1771
#if defined(UNIX) || defined(VMS) || defined(__EMX__) || defined(WIN32)
 
1772
E void FDECL(hangup, (int));
 
1773
#endif
 
1774
E int NDECL(dosave0);
 
1775
#ifdef INSURANCE
 
1776
E void NDECL(savestateinlock);
 
1777
#endif
 
1778
#ifdef MFLOPPY
 
1779
E boolean FDECL(savelev, (int,XCHAR_P,int));
 
1780
E boolean FDECL(swapin_file, (int));
 
1781
E void NDECL(co_false);
 
1782
#else
 
1783
E void FDECL(savelev, (int,XCHAR_P,int));
 
1784
#endif
 
1785
E void FDECL(bufon, (int));
 
1786
E void FDECL(bufoff, (int));
 
1787
E void FDECL(bflush, (int));
 
1788
E void FDECL(bwrite, (int,genericptr_t,unsigned int));
 
1789
E void FDECL(bclose, (int));
 
1790
E void FDECL(savefruitchn, (int,int));
 
1791
E void NDECL(free_dungeons);
 
1792
E void NDECL(freedynamicdata);
 
1793
 
 
1794
/* ### shk.c ### */
 
1795
 
 
1796
#ifdef GOLDOBJ
 
1797
E long FDECL(money2mon, (struct monst *, long));
 
1798
E void FDECL(money2u, (struct monst *, long));
 
1799
#endif
 
1800
E char *FDECL(shkname, (struct monst *));
 
1801
E void FDECL(shkgone, (struct monst *));
 
1802
E void FDECL(set_residency, (struct monst *,BOOLEAN_P));
 
1803
E void FDECL(replshk, (struct monst *,struct monst *));
 
1804
E void FDECL(restshk, (struct monst *,BOOLEAN_P));
 
1805
E char FDECL(inside_shop, (XCHAR_P,XCHAR_P));
 
1806
E void FDECL(u_left_shop, (char *,BOOLEAN_P));
 
1807
E void FDECL(remote_burglary, (XCHAR_P,XCHAR_P));
 
1808
E void FDECL(u_entered_shop, (char *));
 
1809
E boolean FDECL(same_price, (struct obj *,struct obj *));
 
1810
E void NDECL(shopper_financial_report);
 
1811
E int FDECL(inhishop, (struct monst *));
 
1812
E struct monst *FDECL(shop_keeper, (CHAR_P));
 
1813
E boolean FDECL(tended_shop, (struct mkroom *));
 
1814
E void FDECL(delete_contents, (struct obj *));
 
1815
E void FDECL(obfree, (struct obj *,struct obj *));
 
1816
E void FDECL(home_shk, (struct monst *,BOOLEAN_P));
 
1817
E void FDECL(make_happy_shk, (struct monst *,BOOLEAN_P));
 
1818
E void FDECL(hot_pursuit, (struct monst *));
 
1819
E void FDECL(make_angry_shk, (struct monst *,XCHAR_P,XCHAR_P));
 
1820
E int NDECL(dopay);
 
1821
E boolean FDECL(paybill, (int));
 
1822
E void NDECL(finish_paybill);
 
1823
E struct obj *FDECL(find_oid, (unsigned));
 
1824
E long FDECL(contained_cost, (struct obj *,struct monst *,long,BOOLEAN_P, BOOLEAN_P));
 
1825
E long FDECL(contained_gold, (struct obj *));
 
1826
E void FDECL(picked_container, (struct obj *));
 
1827
E long FDECL(unpaid_cost, (struct obj *));
 
1828
E void FDECL(addtobill, (struct obj *,BOOLEAN_P,BOOLEAN_P,BOOLEAN_P));
 
1829
E void FDECL(splitbill, (struct obj *,struct obj *));
 
1830
E void FDECL(subfrombill, (struct obj *,struct monst *));
 
1831
E long FDECL(stolen_value, (struct obj *,XCHAR_P,XCHAR_P,BOOLEAN_P,BOOLEAN_P));
 
1832
E void FDECL(sellobj_state, (int));
 
1833
E void FDECL(sellobj, (struct obj *,XCHAR_P,XCHAR_P));
 
1834
E int FDECL(doinvbill, (int));
 
1835
E struct monst *FDECL(shkcatch, (struct obj *,XCHAR_P,XCHAR_P));
 
1836
E void FDECL(add_damage, (XCHAR_P,XCHAR_P,long));
 
1837
E int FDECL(repair_damage, (struct monst *,struct damage *,BOOLEAN_P));
 
1838
E int FDECL(shk_move, (struct monst *));
 
1839
E void FDECL(after_shk_move, (struct monst *));
 
1840
E boolean FDECL(is_fshk, (struct monst *));
 
1841
E void FDECL(shopdig, (int));
 
1842
E void FDECL(pay_for_damage, (const char *,BOOLEAN_P));
 
1843
E boolean FDECL(costly_spot, (XCHAR_P,XCHAR_P));
 
1844
E struct obj *FDECL(shop_object, (XCHAR_P,XCHAR_P));
 
1845
E void FDECL(price_quote, (struct obj *));
 
1846
E void FDECL(shk_chat, (struct monst *));
 
1847
E void FDECL(check_unpaid_usage, (struct obj *,BOOLEAN_P));
 
1848
E void FDECL(check_unpaid, (struct obj *));
 
1849
E void FDECL(costly_gold, (XCHAR_P,XCHAR_P,long));
 
1850
E boolean FDECL(block_door, (XCHAR_P,XCHAR_P));
 
1851
E boolean FDECL(block_entry, (XCHAR_P,XCHAR_P));
 
1852
E char *FDECL(shk_your, (char *,struct obj *));
 
1853
E char *FDECL(Shk_Your, (char *,struct obj *));
 
1854
 
 
1855
/* ### shknam.c ### */
 
1856
 
 
1857
E void FDECL(stock_room, (int,struct mkroom *));
 
1858
E boolean FDECL(saleable, (struct monst *,struct obj *));
 
1859
E int FDECL(get_shop_item, (int));
 
1860
 
 
1861
/* ### sit.c ### */
 
1862
 
 
1863
E void NDECL(take_gold);
 
1864
E int NDECL(dosit);
 
1865
E void NDECL(rndcurse);
 
1866
E void NDECL(attrcurse);
 
1867
 
 
1868
/* ### sounds.c ### */
 
1869
 
 
1870
E void NDECL(dosounds);
 
1871
E const char *FDECL(growl_sound, (struct monst *));
 
1872
E void FDECL(growl, (struct monst *));
 
1873
E void FDECL(yelp, (struct monst *));
 
1874
E void FDECL(whimper, (struct monst *));
 
1875
E void FDECL(beg, (struct monst *));
 
1876
E int NDECL(dotalk);
 
1877
#ifdef USER_SOUNDS
 
1878
E int FDECL(add_sound_mapping, (const char *));
 
1879
E void FDECL(play_sound_for_message, (const char *));
 
1880
#endif
 
1881
 
 
1882
/* ### sys/msdos/sound.c ### */
 
1883
 
 
1884
#ifdef MSDOS
 
1885
E int FDECL(assign_soundcard, (char *));
 
1886
#endif
 
1887
 
 
1888
/* ### sp_lev.c ### */
 
1889
 
 
1890
E boolean FDECL(check_room, (xchar *,xchar *,xchar *,xchar *,BOOLEAN_P));
 
1891
E boolean FDECL(create_room, (XCHAR_P,XCHAR_P,XCHAR_P,XCHAR_P,
 
1892
                              XCHAR_P,XCHAR_P,XCHAR_P,XCHAR_P));
 
1893
E void FDECL(create_secret_door, (struct mkroom *,XCHAR_P));
 
1894
E boolean FDECL(dig_corridor, (coord *,coord *,BOOLEAN_P,SCHAR_P,SCHAR_P));
 
1895
E void FDECL(fill_room, (struct mkroom *,BOOLEAN_P));
 
1896
E boolean FDECL(load_special, (const char *));
 
1897
 
 
1898
/* ### spell.c ### */
 
1899
 
 
1900
#ifdef USE_TRAMPOLI
 
1901
E int NDECL(learn);
 
1902
#endif
 
1903
E int FDECL(study_book, (struct obj *));
 
1904
E void FDECL(book_disappears, (struct obj *));
 
1905
E void FDECL(book_substitution, (struct obj *,struct obj *));
 
1906
E void NDECL(age_spells);
 
1907
E int NDECL(docast);
 
1908
E int FDECL(spell_skilltype, (int));
 
1909
E int FDECL(spelleffects, (int,BOOLEAN_P));
 
1910
E void NDECL(losespells);
 
1911
E int NDECL(dovspell);
 
1912
E void FDECL(initialspell, (struct obj *));
 
1913
 
 
1914
/* ### steal.c ### */
 
1915
 
 
1916
#ifdef USE_TRAMPOLI
 
1917
E int NDECL(stealarm);
 
1918
#endif
 
1919
#ifdef GOLDOBJ
 
1920
E long FDECL(somegold, (long));
 
1921
#else
 
1922
E long NDECL(somegold);
 
1923
#endif
 
1924
E void FDECL(stealgold, (struct monst *));
 
1925
E void FDECL(remove_worn_item, (struct obj *,BOOLEAN_P));
 
1926
E int FDECL(steal, (struct monst *, char *));
 
1927
E int FDECL(mpickobj, (struct monst *,struct obj *));
 
1928
E void FDECL(stealamulet, (struct monst *));
 
1929
E void FDECL(mdrop_special_objs, (struct monst *));
 
1930
E void FDECL(relobj, (struct monst *,int,BOOLEAN_P));
 
1931
#ifdef GOLDOBJ
 
1932
E struct obj *FDECL(findgold, (struct obj *));
 
1933
#endif
 
1934
 
 
1935
/* ### steed.c ### */
 
1936
 
 
1937
#ifdef STEED
 
1938
E void NDECL(rider_cant_reach);
 
1939
E boolean FDECL(can_saddle, (struct monst *));
 
1940
E int FDECL(use_saddle, (struct obj *));
 
1941
E boolean FDECL(can_ride, (struct monst *));
 
1942
E int NDECL(doride);
 
1943
E boolean FDECL(mount_steed, (struct monst *, BOOLEAN_P));
 
1944
E void NDECL(exercise_steed);
 
1945
E void NDECL(kick_steed);
 
1946
E void FDECL(dismount_steed, (int));
 
1947
E void FDECL(place_monster, (struct monst *,int,int));
 
1948
#endif
 
1949
 
 
1950
/* ### teleport.c ### */
 
1951
 
 
1952
E boolean FDECL(goodpos, (int,int,struct monst *,unsigned));
 
1953
E boolean FDECL(enexto, (coord *,XCHAR_P,XCHAR_P,struct permonst *));
 
1954
E boolean FDECL(enexto_core, (coord *,XCHAR_P,XCHAR_P,struct permonst *,unsigned));
 
1955
E void FDECL(teleds, (int,int,BOOLEAN_P));
 
1956
E boolean FDECL(safe_teleds, (BOOLEAN_P));
 
1957
E boolean FDECL(teleport_pet, (struct monst *,BOOLEAN_P));
 
1958
E void NDECL(tele);
 
1959
E int NDECL(dotele);
 
1960
E void NDECL(level_tele);
 
1961
E void FDECL(domagicportal, (struct trap *));
 
1962
E void FDECL(tele_trap, (struct trap *));
 
1963
E void FDECL(level_tele_trap, (struct trap *));
 
1964
E void FDECL(rloc_to, (struct monst *,int,int));
 
1965
E boolean FDECL(rloc, (struct monst *, BOOLEAN_P));
 
1966
E boolean FDECL(tele_restrict, (struct monst *));
 
1967
E void FDECL(mtele_trap, (struct monst *, struct trap *,int));
 
1968
E int FDECL(mlevel_tele_trap, (struct monst *, struct trap *,BOOLEAN_P,int));
 
1969
E void FDECL(rloco, (struct obj *));
 
1970
E int NDECL(random_teleport_level);
 
1971
E boolean FDECL(u_teleport_mon, (struct monst *,BOOLEAN_P));
 
1972
 
 
1973
/* ### tile.c ### */
 
1974
#ifdef USE_TILES
 
1975
E void FDECL(substitute_tiles, (d_level *));
 
1976
#endif
 
1977
 
 
1978
/* ### timeout.c ### */
 
1979
 
 
1980
E void NDECL(burn_away_slime);
 
1981
E void NDECL(nh_timeout);
 
1982
E void FDECL(fall_asleep, (int, BOOLEAN_P));
 
1983
E void FDECL(attach_egg_hatch_timeout, (struct obj *));
 
1984
E void FDECL(attach_fig_transform_timeout, (struct obj *));
 
1985
E void FDECL(kill_egg, (struct obj *));
 
1986
E void FDECL(hatch_egg, (genericptr_t, long));
 
1987
E void FDECL(learn_egg_type, (int));
 
1988
E void FDECL(burn_object, (genericptr_t, long));
 
1989
E void FDECL(begin_burn, (struct obj *, BOOLEAN_P));
 
1990
E void FDECL(end_burn, (struct obj *, BOOLEAN_P));
 
1991
E void NDECL(do_storms);
 
1992
E boolean FDECL(start_timer, (long, SHORT_P, SHORT_P, genericptr_t));
 
1993
E long FDECL(stop_timer, (SHORT_P, genericptr_t));
 
1994
E void NDECL(run_timers);
 
1995
E void FDECL(obj_move_timers, (struct obj *, struct obj *));
 
1996
E void FDECL(obj_split_timers, (struct obj *, struct obj *));
 
1997
E void FDECL(obj_stop_timers, (struct obj *));
 
1998
E boolean FDECL(obj_is_local, (struct obj *));
 
1999
E void FDECL(save_timers, (int,int,int));
 
2000
E void FDECL(restore_timers, (int,int,BOOLEAN_P,long));
 
2001
E void FDECL(relink_timers, (BOOLEAN_P));
 
2002
#ifdef WIZARD
 
2003
E int NDECL(wiz_timeout_queue);
 
2004
E void NDECL(timer_sanity_check);
 
2005
#endif
 
2006
 
 
2007
/* ### topten.c ### */
 
2008
 
 
2009
E void FDECL(topten, (int));
 
2010
E void FDECL(prscore, (int,char **));
 
2011
E struct obj *FDECL(tt_oname, (struct obj *));
 
2012
 
 
2013
/* ### track.c ### */
 
2014
 
 
2015
E void NDECL(initrack);
 
2016
E void NDECL(settrack);
 
2017
E coord *FDECL(gettrack, (int,int));
 
2018
 
 
2019
/* ### trap.c ### */
 
2020
 
 
2021
E boolean FDECL(burnarmor,(struct monst *));
 
2022
E boolean FDECL(rust_dmg, (struct obj *,const char *,int,BOOLEAN_P,struct monst *));
 
2023
E void FDECL(grease_protect, (struct obj *,const char *,struct monst *));
 
2024
E struct trap *FDECL(maketrap, (int,int,int));
 
2025
E void FDECL(fall_through, (BOOLEAN_P));
 
2026
E struct monst *FDECL(animate_statue, (struct obj *,XCHAR_P,XCHAR_P,int,int *));
 
2027
E struct monst *FDECL(activate_statue_trap,
 
2028
                        (struct trap *,XCHAR_P,XCHAR_P,BOOLEAN_P));
 
2029
E void FDECL(dotrap, (struct trap *, unsigned));
 
2030
E void FDECL(seetrap, (struct trap *));
 
2031
E int FDECL(mintrap, (struct monst *));
 
2032
E void FDECL(instapetrify, (const char *));
 
2033
E void FDECL(minstapetrify, (struct monst *,BOOLEAN_P));
 
2034
E void FDECL(selftouch, (const char *));
 
2035
E void FDECL(mselftouch, (struct monst *,const char *,BOOLEAN_P));
 
2036
E void NDECL(float_up);
 
2037
E void FDECL(fill_pit, (int,int));
 
2038
E int FDECL(float_down, (long, long));
 
2039
E int FDECL(fire_damage, (struct obj *,BOOLEAN_P,BOOLEAN_P,XCHAR_P,XCHAR_P));
 
2040
E void FDECL(water_damage, (struct obj *,BOOLEAN_P,BOOLEAN_P));
 
2041
E boolean NDECL(drown);
 
2042
E void FDECL(drain_en, (int));
 
2043
E int NDECL(dountrap);
 
2044
E int FDECL(untrap, (BOOLEAN_P));
 
2045
E boolean FDECL(chest_trap, (struct obj *,int,BOOLEAN_P));
 
2046
E void FDECL(deltrap, (struct trap *));
 
2047
E boolean FDECL(delfloortrap, (struct trap *));
 
2048
E struct trap *FDECL(t_at, (int,int));
 
2049
E void FDECL(b_trapped, (const char *,int));
 
2050
E boolean NDECL(unconscious);
 
2051
E boolean NDECL(lava_effects);
 
2052
E void FDECL(blow_up_landmine, (struct trap *));
 
2053
E int FDECL(launch_obj,(SHORT_P,int,int,int,int,int));
 
2054
 
 
2055
/* ### u_init.c ### */
 
2056
 
 
2057
E void NDECL(u_init);
 
2058
 
 
2059
/* ### uhitm.c ### */
 
2060
 
 
2061
E void FDECL(hurtmarmor,(struct monst *,int));
 
2062
E boolean FDECL(attack_checks, (struct monst *,struct obj *));
 
2063
E void FDECL(check_caitiff, (struct monst *));
 
2064
E schar FDECL(find_roll_to_hit, (struct monst *));
 
2065
E boolean FDECL(attack, (struct monst *));
 
2066
E boolean FDECL(hmon, (struct monst *,struct obj *,int));
 
2067
E int FDECL(damageum, (struct monst *,struct attack *));
 
2068
E void FDECL(missum, (struct monst *,struct attack *));
 
2069
E int FDECL(passive, (struct monst *,BOOLEAN_P,int,UCHAR_P));
 
2070
E void FDECL(passive_obj, (struct monst *,struct obj *,struct attack *));
 
2071
E void FDECL(stumble_onto_mimic, (struct monst *));
 
2072
E int FDECL(flash_hits_mon, (struct monst *,struct obj *));
 
2073
 
 
2074
/* ### unixmain.c ### */
 
2075
 
 
2076
#ifdef UNIX
 
2077
# ifdef PORT_HELP
 
2078
E void NDECL(port_help);
 
2079
# endif
 
2080
#endif /* UNIX */
 
2081
 
 
2082
 
 
2083
/* ### unixtty.c ### */
 
2084
 
 
2085
#if defined(UNIX) || defined(__BEOS__)
 
2086
E void NDECL(gettty);
 
2087
E void FDECL(settty, (const char *));
 
2088
E void NDECL(setftty);
 
2089
E void NDECL(intron);
 
2090
E void NDECL(introff);
 
2091
E void VDECL(error, (const char *,...)) PRINTF_F(1,2);
 
2092
#endif /* UNIX || __BEOS__ */
 
2093
 
 
2094
/* ### unixunix.c ### */
 
2095
 
 
2096
#ifdef UNIX
 
2097
E void NDECL(getlock);
 
2098
E void FDECL(regularize, (char *));
 
2099
# if defined(TIMED_DELAY) && !defined(msleep) && defined(SYSV)
 
2100
E void FDECL(msleep, (unsigned));
 
2101
# endif
 
2102
# ifdef SHELL
 
2103
E int NDECL(dosh);
 
2104
# endif /* SHELL */
 
2105
# if defined(SHELL) || defined(DEF_PAGER) || defined(DEF_MAILREADER)
 
2106
E int FDECL(child, (int));
 
2107
# endif
 
2108
#endif /* UNIX */
 
2109
 
 
2110
/* ### unixres.c ### */
 
2111
 
 
2112
#ifdef UNIX
 
2113
# ifdef GNOME_GRAPHICS 
 
2114
E int FDECL(hide_privileges, (BOOLEAN_P));
 
2115
# endif
 
2116
#endif /* UNIX */
 
2117
 
 
2118
/* ### vault.c ### */
 
2119
 
 
2120
E boolean FDECL(grddead, (struct monst *));
 
2121
E char FDECL(vault_occupied, (char *));
 
2122
E void NDECL(invault);
 
2123
E int FDECL(gd_move, (struct monst *));
 
2124
E void NDECL(paygd);
 
2125
E long NDECL(hidden_gold);
 
2126
E boolean NDECL(gd_sound);
 
2127
 
 
2128
/* ### version.c ### */
 
2129
 
 
2130
E char *FDECL(version_string, (char *));
 
2131
E char *FDECL(getversionstring, (char *));
 
2132
E int NDECL(doversion);
 
2133
E int NDECL(doextversion);
 
2134
#ifdef MICRO
 
2135
E boolean FDECL(comp_times, (long));
 
2136
#endif
 
2137
E boolean FDECL(check_version, (struct version_info *,
 
2138
                                const char *,BOOLEAN_P));
 
2139
E unsigned long FDECL(get_feature_notice_ver, (char *));
 
2140
E unsigned long NDECL(get_current_feature_ver);
 
2141
#ifdef RUNTIME_PORT_ID
 
2142
E void FDECL(append_port_id, (char *));
 
2143
#endif
 
2144
 
 
2145
/* ### video.c ### */
 
2146
 
 
2147
#ifdef MSDOS
 
2148
E int FDECL(assign_video, (char *));
 
2149
# ifdef NO_TERMS
 
2150
E void NDECL(gr_init);
 
2151
E void NDECL(gr_finish);
 
2152
# endif
 
2153
E void FDECL(tileview,(BOOLEAN_P));
 
2154
#endif
 
2155
#ifdef VIDEOSHADES
 
2156
E int FDECL(assign_videoshades, (char *));
 
2157
E int FDECL(assign_videocolors, (char *));
 
2158
#endif
 
2159
 
 
2160
/* ### vis_tab.c ### */
 
2161
 
 
2162
#ifdef VISION_TABLES
 
2163
E void NDECL(vis_tab_init);
 
2164
#endif
 
2165
 
 
2166
/* ### vision.c ### */
 
2167
 
 
2168
E void NDECL(vision_init);
 
2169
E int FDECL(does_block, (int,int,struct rm*));
 
2170
E void NDECL(vision_reset);
 
2171
E void FDECL(vision_recalc, (int));
 
2172
E void FDECL(block_point, (int,int));
 
2173
E void FDECL(unblock_point, (int,int));
 
2174
E boolean FDECL(clear_path, (int,int,int,int));
 
2175
E void FDECL(do_clear_area, (int,int,int,
 
2176
                             void (*)(int,int,genericptr_t),genericptr_t));
 
2177
 
 
2178
#ifdef VMS
 
2179
 
 
2180
/* ### vmsfiles.c ### */
 
2181
 
 
2182
E int FDECL(vms_link, (const char *,const char *));
 
2183
E int FDECL(vms_unlink, (const char *));
 
2184
E int FDECL(vms_creat, (const char *,unsigned int));
 
2185
E int FDECL(vms_open, (const char *,int,unsigned int));
 
2186
E boolean FDECL(same_dir, (const char *,const char *));
 
2187
E int FDECL(c__translate, (int));
 
2188
E char *FDECL(vms_basename, (const char *));
 
2189
 
 
2190
/* ### vmsmail.c ### */
 
2191
 
 
2192
E unsigned long NDECL(init_broadcast_trapping);
 
2193
E unsigned long NDECL(enable_broadcast_trapping);
 
2194
E unsigned long NDECL(disable_broadcast_trapping);
 
2195
# if 0
 
2196
E struct mail_info *NDECL(parse_next_broadcast);
 
2197
# endif /*0*/
 
2198
 
 
2199
/* ### vmsmain.c ### */
 
2200
 
 
2201
E int FDECL(main, (int, char **));
 
2202
# ifdef CHDIR
 
2203
E void FDECL(chdirx, (const char *,BOOLEAN_P));
 
2204
# endif /* CHDIR */
 
2205
 
 
2206
/* ### vmsmisc.c ### */
 
2207
 
 
2208
E void NDECL(vms_abort);
 
2209
E void FDECL(vms_exit, (int));
 
2210
 
 
2211
/* ### vmstty.c ### */
 
2212
 
 
2213
E int NDECL(vms_getchar);
 
2214
E void NDECL(gettty);
 
2215
E void FDECL(settty, (const char *));
 
2216
E void FDECL(shuttty, (const char *));
 
2217
E void NDECL(setftty);
 
2218
E void NDECL(intron);
 
2219
E void NDECL(introff);
 
2220
E void VDECL(error, (const char *,...)) PRINTF_F(1,2);
 
2221
#ifdef TIMED_DELAY
 
2222
E void FDECL(msleep, (unsigned));
 
2223
#endif
 
2224
 
 
2225
/* ### vmsunix.c ### */
 
2226
 
 
2227
E void NDECL(getlock);
 
2228
E void FDECL(regularize, (char *));
 
2229
E int NDECL(vms_getuid);
 
2230
E boolean FDECL(file_is_stmlf, (int));
 
2231
E int FDECL(vms_define, (const char *,const char *,int));
 
2232
E int FDECL(vms_putenv, (const char *));
 
2233
E char *NDECL(verify_termcap);
 
2234
# if defined(CHDIR) || defined(SHELL) || defined(SECURE)
 
2235
E void NDECL(privoff);
 
2236
E void NDECL(privon);
 
2237
# endif
 
2238
# ifdef SHELL
 
2239
E int NDECL(dosh);
 
2240
# endif
 
2241
# if defined(SHELL) || defined(MAIL)
 
2242
E int FDECL(vms_doshell, (const char *,BOOLEAN_P));
 
2243
# endif
 
2244
# ifdef SUSPEND
 
2245
E int NDECL(dosuspend);
 
2246
# endif
 
2247
 
 
2248
#endif /* VMS */
 
2249
 
 
2250
/* ### weapon.c ### */
 
2251
 
 
2252
E int FDECL(hitval, (struct obj *,struct monst *));
 
2253
E int FDECL(dmgval, (struct obj *,struct monst *));
 
2254
E struct obj *FDECL(select_rwep, (struct monst *));
 
2255
E struct obj *FDECL(select_hwep, (struct monst *));
 
2256
E void FDECL(possibly_unwield, (struct monst *,BOOLEAN_P));
 
2257
E int FDECL(mon_wield_item, (struct monst *));
 
2258
E int NDECL(abon);
 
2259
E int NDECL(dbon);
 
2260
E int NDECL(enhance_weapon_skill);
 
2261
#ifdef DUMP_LOG
 
2262
E void NDECL(dump_weapon_skill);
 
2263
#endif
 
2264
E void FDECL(unrestrict_weapon_skill, (int));
 
2265
E void FDECL(use_skill, (int,int));
 
2266
E void FDECL(add_weapon_skill, (int));
 
2267
E void FDECL(lose_weapon_skill, (int));
 
2268
E int FDECL(weapon_type, (struct obj *));
 
2269
E int NDECL(uwep_skill_type);
 
2270
E int FDECL(weapon_hit_bonus, (struct obj *));
 
2271
E int FDECL(weapon_dam_bonus, (struct obj *));
 
2272
E void FDECL(skill_init, (const struct def_skill *));
 
2273
 
 
2274
/* ### were.c ### */
 
2275
 
 
2276
E void FDECL(were_change, (struct monst *));
 
2277
E void FDECL(new_were, (struct monst *));
 
2278
E int FDECL(were_summon, (struct permonst *,BOOLEAN_P,int *,char *));
 
2279
E void NDECL(you_were);
 
2280
E void FDECL(you_unwere, (BOOLEAN_P));
 
2281
 
 
2282
/* ### wield.c ### */
 
2283
 
 
2284
E void FDECL(setuwep, (struct obj *));
 
2285
E void FDECL(setuqwep, (struct obj *));
 
2286
E void FDECL(setuswapwep, (struct obj *));
 
2287
E int NDECL(dowield);
 
2288
E int NDECL(doswapweapon);
 
2289
E int NDECL(dowieldquiver);
 
2290
E boolean FDECL(wield_tool, (struct obj *,const char *));
 
2291
E int NDECL(can_twoweapon);
 
2292
E void NDECL(drop_uswapwep);
 
2293
E int NDECL(dotwoweapon);
 
2294
E void NDECL(uwepgone);
 
2295
E void NDECL(uswapwepgone);
 
2296
E void NDECL(uqwepgone);
 
2297
E void NDECL(untwoweapon);
 
2298
E void FDECL(erode_obj, (struct obj *,BOOLEAN_P,BOOLEAN_P));
 
2299
E int FDECL(chwepon, (struct obj *,int));
 
2300
E int FDECL(welded, (struct obj *));
 
2301
E void FDECL(weldmsg, (struct obj *));
 
2302
E void FDECL(setmnotwielded, (struct monst *,struct obj *));
 
2303
 
 
2304
/* ### windows.c ### */
 
2305
 
 
2306
E void FDECL(choose_windows, (const char *));
 
2307
E char FDECL(genl_message_menu, (CHAR_P,int,const char *));
 
2308
E void FDECL(genl_preference_update, (const char *));
 
2309
 
 
2310
/* ### wizard.c ### */
 
2311
 
 
2312
E void NDECL(amulet);
 
2313
E int FDECL(mon_has_amulet, (struct monst *));
 
2314
E int FDECL(mon_has_special, (struct monst *));
 
2315
E int FDECL(tactics, (struct monst *));
 
2316
E void NDECL(aggravate);
 
2317
E void NDECL(clonewiz);
 
2318
E int NDECL(pick_nasty);
 
2319
E int FDECL(nasty, (struct monst*));
 
2320
E void NDECL(resurrect);
 
2321
E void NDECL(intervene);
 
2322
E void NDECL(wizdead);
 
2323
E void FDECL(cuss, (struct monst *));
 
2324
 
 
2325
/* ### worm.c ### */
 
2326
 
 
2327
E int NDECL(get_wormno);
 
2328
E void FDECL(initworm, (struct monst *,int));
 
2329
E void FDECL(worm_move, (struct monst *));
 
2330
E void FDECL(worm_nomove, (struct monst *));
 
2331
E void FDECL(wormgone, (struct monst *));
 
2332
E void FDECL(wormhitu, (struct monst *));
 
2333
E void FDECL(cutworm, (struct monst *,XCHAR_P,XCHAR_P,struct obj *));
 
2334
E void FDECL(see_wsegs, (struct monst *));
 
2335
E void FDECL(detect_wsegs, (struct monst *,BOOLEAN_P));
 
2336
E void FDECL(save_worm, (int,int));
 
2337
E void FDECL(rest_worm, (int));
 
2338
E void FDECL(place_wsegs, (struct monst *));
 
2339
E void FDECL(remove_worm, (struct monst *));
 
2340
E void FDECL(place_worm_tail_randomly, (struct monst *,XCHAR_P,XCHAR_P));
 
2341
E int FDECL(count_wsegs, (struct monst *));
 
2342
E boolean FDECL(worm_known, (struct monst *));
 
2343
 
 
2344
/* ### worn.c ### */
 
2345
 
 
2346
E void FDECL(setworn, (struct obj *,long));
 
2347
E void FDECL(setnotworn, (struct obj *));
 
2348
E void FDECL(mon_set_minvis, (struct monst *));
 
2349
E void FDECL(mon_adjust_speed, (struct monst *,int,struct obj *));
 
2350
E void FDECL(update_mon_intrinsics,
 
2351
                (struct monst *,struct obj *,BOOLEAN_P,BOOLEAN_P));
 
2352
E int FDECL(find_mac, (struct monst *));
 
2353
E void FDECL(m_dowear, (struct monst *,BOOLEAN_P));
 
2354
E struct obj *FDECL(which_armor, (struct monst *,long));
 
2355
E void FDECL(mon_break_armor, (struct monst *,BOOLEAN_P));
 
2356
E void FDECL(bypass_obj, (struct obj *));
 
2357
E void NDECL(clear_bypasses);
 
2358
E int FDECL(racial_exception, (struct monst *, struct obj *));
 
2359
 
 
2360
/* ### write.c ### */
 
2361
 
 
2362
E int FDECL(dowrite, (struct obj *));
 
2363
 
 
2364
/* ### zap.c ### */
 
2365
 
 
2366
E int FDECL(bhitm, (struct monst *,struct obj *));
 
2367
E void FDECL(probe_monster, (struct monst *));
 
2368
E boolean FDECL(get_obj_location, (struct obj *,xchar *,xchar *,int));
 
2369
E boolean FDECL(get_mon_location, (struct monst *,xchar *,xchar *,int));
 
2370
E struct monst *FDECL(get_container_location, (struct obj *obj, int *, int *));
 
2371
E struct monst *FDECL(montraits, (struct obj *,coord *));
 
2372
E struct monst *FDECL(revive, (struct obj *));
 
2373
E int FDECL(unturn_dead, (struct monst *));
 
2374
E void FDECL(cancel_item, (struct obj *));
 
2375
E boolean FDECL(drain_item, (struct obj *));
 
2376
E struct obj *FDECL(poly_obj, (struct obj *, int));
 
2377
E boolean FDECL(obj_resists, (struct obj *,int,int));
 
2378
E boolean FDECL(obj_shudders, (struct obj *));
 
2379
E void FDECL(do_osshock, (struct obj *));
 
2380
E int FDECL(bhito, (struct obj *,struct obj *));
 
2381
E int FDECL(bhitpile, (struct obj *,int (*)(OBJ_P,OBJ_P),int,int));
 
2382
E int FDECL(zappable, (struct obj *));
 
2383
E void FDECL(zapnodir, (struct obj *));
 
2384
E int NDECL(dozap);
 
2385
E int FDECL(zapyourself, (struct obj *,BOOLEAN_P));
 
2386
E boolean FDECL(cancel_monst, (struct monst *,struct obj *,
 
2387
                               BOOLEAN_P,BOOLEAN_P,BOOLEAN_P));
 
2388
E void FDECL(weffects, (struct obj *));
 
2389
E int NDECL(spell_damage_bonus);
 
2390
E const char *FDECL(exclam, (int force));
 
2391
E void FDECL(hit, (const char *,struct monst *,const char *));
 
2392
E void FDECL(miss, (const char *,struct monst *));
 
2393
E struct monst *FDECL(bhit, (int,int,int,int,int (*)(MONST_P,OBJ_P),
 
2394
                             int (*)(OBJ_P,OBJ_P),struct obj *));
 
2395
E struct monst *FDECL(boomhit, (int,int));
 
2396
E int FDECL(burn_floor_paper, (int,int,BOOLEAN_P,BOOLEAN_P));
 
2397
E void FDECL(buzz, (int,int,XCHAR_P,XCHAR_P,int,int));
 
2398
E void FDECL(melt_ice, (XCHAR_P,XCHAR_P));
 
2399
E int FDECL(zap_over_floor, (XCHAR_P,XCHAR_P,int,boolean *));
 
2400
E void FDECL(fracture_rock, (struct obj *));
 
2401
E boolean FDECL(break_statue, (struct obj *));
 
2402
E void FDECL(destroy_item, (int,int));
 
2403
E int FDECL(destroy_mitem, (struct monst *,int,int));
 
2404
E int FDECL(resist, (struct monst *,CHAR_P,int,int));
 
2405
E void NDECL(makewish);
 
2406
 
 
2407
#endif /* !MAKEDEFS_C && !LEV_LEX_C */
 
2408
 
 
2409
#undef E
 
2410
 
 
2411
#endif /* EXTERN_H */