1 /* NetHack 3.6 extern.h $NHDT-Date: 1471112244 2016/08/13 18:17:24 $ $NHDT-Branch: NetHack-3.6.0 $:$NHDT-Revision: 1.570 $ */
2 /* Copyright (c) Steve Creps, 1988. */
3 /* NetHack may be freely redistributed. See license for details. */
13 E
long *FDECL(alloc
, (unsigned int));
15 E
char *FDECL(fmt_ptr
, (const genericptr
));
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)
21 /* ### allmain.c ### */
23 E
void FDECL(moveloop
, (BOOLEAN_P
));
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 E
time_t NDECL(get_realtime
);
35 E
int FDECL(jump
, (int));
36 E
int NDECL(number_leashed
);
37 E
void FDECL(o_unleash
, (struct obj
*));
38 E
void FDECL(m_unleash
, (struct monst
*, BOOLEAN_P
));
39 E
void NDECL(unleash_all
);
40 E boolean
NDECL(next_to_u
);
41 E
struct obj
*FDECL(get_mleash
, (struct monst
*));
42 E
const char *NDECL(beautiful
);
43 E
void FDECL(check_leash
, (XCHAR_P
, XCHAR_P
));
44 E boolean
FDECL(um_dist
, (XCHAR_P
, XCHAR_P
, XCHAR_P
));
45 E boolean
FDECL(snuff_candle
, (struct obj
*));
46 E boolean
FDECL(snuff_lit
, (struct obj
*));
47 E boolean
FDECL(catch_lit
, (struct obj
*));
48 E
void FDECL(use_unicorn_horn
, (struct obj
*));
49 E boolean
FDECL(tinnable
, (struct obj
*));
50 E
void NDECL(reset_trapset
);
51 E
void FDECL(fig_transform
, (ANY_P
*, long));
52 E
int FDECL(unfixable_trouble_count
, (BOOLEAN_P
));
54 /* ### artifact.c ### */
56 E
void NDECL(init_artifacts
);
57 E
void FDECL(save_artifacts
, (int));
58 E
void FDECL(restore_artifacts
, (int));
59 E
const char *FDECL(artiname
, (int));
60 E
struct obj
*FDECL(mk_artifact
, (struct obj
*, ALIGNTYP_P
));
61 E
const char *FDECL(artifact_name
, (const char *, short *));
62 E boolean
FDECL(exist_artifact
, (int, const char *));
63 E
void FDECL(artifact_exists
, (struct obj
*, const char *, BOOLEAN_P
));
64 E
int NDECL(nartifact_exist
);
65 E boolean
FDECL(arti_immune
, (struct obj
*, int));
66 E boolean
FDECL(spec_ability
, (struct obj
*, unsigned long));
67 E boolean
FDECL(confers_luck
, (struct obj
*));
68 E boolean
FDECL(arti_reflects
, (struct obj
*));
69 E boolean
FDECL(shade_glare
, (struct obj
*));
70 E boolean
FDECL(restrict_name
, (struct obj
*, const char *));
71 E boolean
FDECL(defends
, (int, struct obj
*));
72 E boolean
FDECL(defends_when_carried
, (int, struct obj
*));
73 E boolean
FDECL(protects
, (struct obj
*, BOOLEAN_P
));
74 E
void FDECL(set_artifact_intrinsic
, (struct obj
*, BOOLEAN_P
, long));
75 E
int FDECL(touch_artifact
, (struct obj
*, struct monst
*));
76 E
int FDECL(spec_abon
, (struct obj
*, struct monst
*));
77 E
int FDECL(spec_dbon
, (struct obj
*, struct monst
*, int));
78 E
void FDECL(discover_artifact
, (XCHAR_P
));
79 E boolean
FDECL(undiscovered_artifact
, (XCHAR_P
));
80 E
int FDECL(disp_artifact_discoveries
, (winid
));
81 E boolean
FDECL(artifact_hit
,
82 (struct monst
*, struct monst
*, struct obj
*, int *, int));
83 E
int NDECL(doinvoke
);
84 E boolean
FDECL(finesse_ahriman
, (struct obj
*));
85 E
void FDECL(arti_speak
, (struct obj
*));
86 E boolean
FDECL(artifact_light
, (struct obj
*));
87 E
long FDECL(spec_m2
, (struct obj
*));
88 E boolean
FDECL(artifact_has_invprop
, (struct obj
*, UCHAR_P
));
89 E
long FDECL(arti_cost
, (struct obj
*));
90 E
struct obj
*FDECL(what_gives
, (long *));
91 E
const char *FDECL(glow_color
, (int));
92 E
void FDECL(Sting_effects
, (int));
93 E
int FDECL(retouch_object
, (struct obj
**, BOOLEAN_P
));
94 E
void FDECL(retouch_equipment
, (int));
96 /* ### attrib.c ### */
98 E boolean
FDECL(adjattrib
, (int, int, int));
99 E
void FDECL(gainstr
, (struct obj
*, int, BOOLEAN_P
));
100 E
void FDECL(losestr
, (int));
101 E
void FDECL(poisontell
, (int, BOOLEAN_P
));
102 E
void FDECL(poisoned
, (const char *, int, const char *, int, BOOLEAN_P
));
103 E
void FDECL(change_luck
, (SCHAR_P
));
104 E
int FDECL(stone_luck
, (BOOLEAN_P
));
105 E
void NDECL(set_moreluck
);
106 E
void NDECL(restore_attrib
);
107 E
void FDECL(exercise
, (int, BOOLEAN_P
));
108 E
void NDECL(exerchk
);
109 E
void FDECL(init_attr
, (int));
110 E
void NDECL(redist_attr
);
111 E
void FDECL(adjabil
, (int, int));
113 E schar
FDECL(acurr
, (int));
114 E schar
NDECL(acurrstr
);
115 E boolean
FDECL(extremeattr
, (int));
116 E
void FDECL(adjalign
, (int));
117 E
int FDECL(is_innate
, (int));
118 E
char *FDECL(from_what
, (int));
119 E
void FDECL(uchangealign
, (int, int));
123 E
void FDECL(ballrelease
, (BOOLEAN_P
));
124 E
void NDECL(ballfall
);
125 E
void NDECL(placebc
);
126 E
void NDECL(unplacebc
);
127 E
void FDECL(set_bc
, (int));
128 E
void FDECL(move_bc
, (int, int, XCHAR_P
, XCHAR_P
, XCHAR_P
, XCHAR_P
));
129 E boolean
FDECL(drag_ball
, (XCHAR_P
, XCHAR_P
, int *, xchar
*, xchar
*,
130 xchar
*, xchar
*, boolean
*, BOOLEAN_P
));
131 E
void FDECL(drop_ball
, (XCHAR_P
, XCHAR_P
));
132 E
void NDECL(drag_down
);
134 /* ### bones.c ### */
136 E
void FDECL(sanitize_name
, (char *));
137 E
void FDECL(drop_upon_death
, (struct monst
*, struct obj
*, int, int));
138 E boolean
NDECL(can_make_bones
);
139 E
void FDECL(savebones
, (int, time_t, struct obj
*));
140 E
int NDECL(getbones
);
144 E
int FDECL(xlev_to_rank
, (int));
145 E
int FDECL(title_to_mon
, (const char *, int *, int *));
146 E
void NDECL(max_rank_sz
);
148 E
long NDECL(botl_score
);
150 E
int FDECL(describe_level
, (char *));
151 E
const char *FDECL(rank_of
, (int, SHORT_P
, BOOLEAN_P
));
153 #ifdef STATUS_VIA_WINDOWPORT
154 E
void FDECL(status_initialize
, (BOOLEAN_P
));
155 E
void NDECL(status_finish
);
156 E
void FDECL(status_notify_windowport
, (BOOLEAN_P
));
157 #ifdef STATUS_HILITES
158 E boolean
FDECL(set_status_hilites
, (char *op
, BOOLEAN_P
));
159 E
void FDECL(clear_status_hilites
, (BOOLEAN_P
));
160 E
char *FDECL(get_status_hilites
, (char *, int));
161 E boolean
NDECL(status_hilite_menu
);
167 E boolean
FDECL(redraw_cmd
, (CHAR_P
));
169 E
int NDECL(doextcmd
);
170 E
int NDECL(domonability
);
171 E
int NDECL(doprev_message
);
172 E
int NDECL(timed_occupation
);
173 E
int NDECL(doattributes
);
174 E
int NDECL(wiz_detect
);
175 E
int NDECL(wiz_genesis
);
176 E
int NDECL(wiz_identify
);
177 E
int NDECL(wiz_level_tele
);
178 E
int NDECL(wiz_map
);
179 E
int NDECL(wiz_where
);
180 E
int NDECL(wiz_wish
);
181 #endif /* USE_TRAMPOLI */
182 E
void NDECL(reset_occupations
);
183 E
void FDECL(set_occupation
, (int (*)(void), const char *, int));
184 E
char NDECL(pgetchar
);
185 E
void FDECL(pushch
, (CHAR_P
));
186 E
void FDECL(savech
, (CHAR_P
));
187 E
const char *FDECL(key2extcmddesc
, (UCHAR_P
));
188 E boolean
FDECL(bind_specialkey
, (UCHAR_P
, char *));
189 E
char FDECL(txt2key
, (char *));
190 E
void FDECL(parseautocomplete
, (char *, BOOLEAN_P
));
191 E
void FDECL(reset_commands
, (BOOLEAN_P
));
192 E
void FDECL(rhack
, (char *));
193 E
int NDECL(doextlist
);
194 E
int NDECL(extcmd_via_menu
);
195 E
int NDECL(enter_explore_mode
);
196 E
void FDECL(enlightenment
, (int, int));
197 E
void FDECL(youhiding
, (BOOLEAN_P
, int));
198 E
void FDECL(show_conduct
, (int));
199 E
void FDECL(bind_key
, (UCHAR_P
, char *));
200 E
void NDECL(dokeylist
);
201 E
int FDECL(xytod
, (SCHAR_P
, SCHAR_P
));
202 E
void FDECL(dtoxy
, (coord
*, int));
203 E
int FDECL(movecmd
, (CHAR_P
));
204 E
int NDECL(dxdy_moveok
);
205 E
int FDECL(getdir
, (const char *));
206 E
void NDECL(confdir
);
207 E
const char *FDECL(directionname
, (int));
208 E
int FDECL(isok
, (int, int));
209 E
int FDECL(get_adjacent_loc
,
210 (const char *, const char *, XCHAR_P
, XCHAR_P
, coord
*));
211 E
const char *FDECL(click_to_cmd
, (int, int, int));
212 E
char FDECL(get_count
, (char *, CHAR_P
, long, long *));
213 #ifdef HANGUPHANDLING
214 E
void FDECL(hangup
, (int));
215 E
void NDECL(end_of_input
);
217 E
char NDECL(readchar
);
218 E
void NDECL(sanity_check
);
219 E
char* FDECL(key2txt
, (UCHAR_P
, char *));
220 E
char FDECL(yn_function
, (const char *, const char *, CHAR_P
));
221 E boolean
FDECL(paranoid_query
, (BOOLEAN_P
, const char *));
223 /* ### dbridge.c ### */
225 E boolean
FDECL(is_pool
, (int, int));
226 E boolean
FDECL(is_lava
, (int, int));
227 E boolean
FDECL(is_pool_or_lava
, (int, int));
228 E boolean
FDECL(is_ice
, (int, int));
229 E boolean
FDECL(is_moat
, (int, int));
230 E schar
FDECL(db_under_typ
, (int));
231 E
int FDECL(is_drawbridge_wall
, (int, int));
232 E boolean
FDECL(is_db_wall
, (int, int));
233 E boolean
FDECL(find_drawbridge
, (int *, int *));
234 E boolean
FDECL(create_drawbridge
, (int, int, int, BOOLEAN_P
));
235 E
void FDECL(open_drawbridge
, (int, int));
236 E
void FDECL(close_drawbridge
, (int, int));
237 E
void FDECL(destroy_drawbridge
, (int, int));
241 E
void NDECL(decl_init
);
243 /* ### detect.c ### */
245 E boolean
FDECL(trapped_chest_at
, (int, int, int));
246 E boolean
FDECL(trapped_door_at
, (int, int, int));
247 E
struct obj
*FDECL(o_in
, (struct obj
*, CHAR_P
));
248 E
struct obj
*FDECL(o_material
, (struct obj
*, unsigned));
249 E
int FDECL(gold_detect
, (struct obj
*));
250 E
int FDECL(food_detect
, (struct obj
*));
251 E
int FDECL(object_detect
, (struct obj
*, int));
252 E
int FDECL(monster_detect
, (struct obj
*, int));
253 E
int FDECL(trap_detect
, (struct obj
*));
254 E
const char *FDECL(level_distance
, (d_level
*));
255 E
void FDECL(use_crystal_ball
, (struct obj
**));
256 E
void NDECL(do_mapping
);
257 E
void FDECL(do_vicinity_map
, (struct obj
*));
258 E
void FDECL(cvt_sdoor_to_door
, (struct rm
*));
260 E
void FDECL(findone
, (int, int, genericptr_t
));
261 E
void FDECL(openone
, (int, int, genericptr_t
));
265 E boolean
FDECL(detecting
, (void (*)(int, int, genericptr
)));
266 E
void FDECL(find_trap
, (struct trap
*));
267 E
void NDECL(warnreveal
);
268 E
int FDECL(dosearch0
, (int));
269 E
int NDECL(dosearch
);
270 E
void NDECL(sokoban_detect
);
271 E
void FDECL(reveal_terrain
, (int, int));
275 E
int FDECL(dig_typ
, (struct obj
*, XCHAR_P
, XCHAR_P
));
276 E boolean
NDECL(is_digging
);
280 E
int NDECL(holetime
);
281 E boolean
FDECL(dig_check
, (struct monst
*, BOOLEAN_P
, int, int));
282 E
void FDECL(digactualhole
, (int, int, struct monst
*, int));
283 E boolean
FDECL(dighole
, (BOOLEAN_P
, BOOLEAN_P
, coord
*));
284 E
int FDECL(use_pick_axe
, (struct obj
*));
285 E
int FDECL(use_pick_axe2
, (struct obj
*));
286 E boolean
FDECL(mdig_tunnel
, (struct monst
*));
287 E
void FDECL(draft_message
, (BOOLEAN_P
));
288 E
void FDECL(watch_dig
, (struct monst
*, XCHAR_P
, XCHAR_P
, BOOLEAN_P
));
289 E
void NDECL(zap_dig
);
290 E
struct obj
*FDECL(bury_an_obj
, (struct obj
*, boolean
*));
291 E
void FDECL(bury_objs
, (int, int));
292 E
void FDECL(unearth_objs
, (int, int));
293 E
void FDECL(rot_organic
, (ANY_P
*, long));
294 E
void FDECL(rot_corpse
, (ANY_P
*, long));
295 E
struct obj
*FDECL(buried_ball
, (coord
*));
296 E
void NDECL(buried_ball_to_punishment
);
297 E
void NDECL(buried_ball_to_freedom
);
298 E schar
FDECL(fillholetyp
, (int, int, BOOLEAN_P
));
299 E
void FDECL(liquid_flow
,
300 (XCHAR_P
, XCHAR_P
, SCHAR_P
, struct trap
*, const char *));
301 E boolean
FDECL(conjoined_pits
, (struct trap
*, struct trap
*, BOOLEAN_P
));
303 E
void FDECL(bury_monst
, (struct monst
*));
304 E
void NDECL(bury_you
);
305 E
void NDECL(unearth_you
);
306 E
void NDECL(escape_tomb
);
307 E
void FDECL(bury_obj
, (struct obj
*));
310 /* ### display.c ### */
312 E
void FDECL(magic_map_background
, (XCHAR_P
, XCHAR_P
, int));
313 E
void FDECL(map_background
, (XCHAR_P
, XCHAR_P
, int));
314 E
void FDECL(map_trap
, (struct trap
*, int));
315 E
void FDECL(map_object
, (struct obj
*, int));
316 E
void FDECL(map_invisible
, (XCHAR_P
, XCHAR_P
));
317 E
void FDECL(unmap_object
, (int, int));
318 E
void FDECL(map_location
, (int, int, int));
319 E
void FDECL(feel_newsym
, (XCHAR_P
, XCHAR_P
));
320 E
void FDECL(feel_location
, (XCHAR_P
, XCHAR_P
));
321 E
void FDECL(newsym
, (int, int));
322 E
void FDECL(newsym_force
, (int, int));
323 E
void FDECL(shieldeff
, (XCHAR_P
, XCHAR_P
));
324 E
void FDECL(tmp_at
, (int, int));
325 E
void FDECL(swallowed
, (int));
326 E
void FDECL(under_ground
, (int));
327 E
void FDECL(under_water
, (int));
328 E
void NDECL(see_monsters
);
329 E
void NDECL(set_mimic_blocking
);
330 E
void NDECL(see_objects
);
331 E
void NDECL(see_traps
);
332 E
void NDECL(curs_on_u
);
333 E
int NDECL(doredraw
);
335 E
void FDECL(show_glyph
, (int, int, int));
336 E
void NDECL(clear_glyph_buffer
);
337 E
void FDECL(row_refresh
, (int, int, int));
339 E
void FDECL(flush_screen
, (int));
340 E
int FDECL(back_to_glyph
, (XCHAR_P
, XCHAR_P
));
341 E
int FDECL(zapdir_to_glyph
, (int, int, int));
342 E
int FDECL(glyph_at
, (XCHAR_P
, XCHAR_P
));
343 E
void NDECL(set_wall_state
);
344 E
void FDECL(unset_seenv
, (struct rm
*, int, int, int, int));
345 E
int FDECL(warning_of
, (struct monst
*));
350 E
int FDECL(drop
, (struct obj
*));
351 E
int NDECL(wipeoff
);
354 E boolean
FDECL(boulder_hits_pool
, (struct obj
*, int, int, BOOLEAN_P
));
355 E boolean
FDECL(flooreffects
, (struct obj
*, int, int, const char *));
356 E
void FDECL(doaltarobj
, (struct obj
*));
357 E boolean
FDECL(canletgo
, (struct obj
*, const char *));
358 E
void FDECL(dropx
, (struct obj
*));
359 E
void FDECL(dropy
, (struct obj
*));
360 E
void FDECL(dropz
, (struct obj
*, BOOLEAN_P
));
361 E
void FDECL(obj_no_longer_held
, (struct obj
*));
362 E
int NDECL(doddrop
);
366 E
void NDECL(save_currentstate
);
368 E
void FDECL(goto_level
, (d_level
*, BOOLEAN_P
, BOOLEAN_P
, BOOLEAN_P
));
369 E
void FDECL(schedule_goto
, (d_level
*, BOOLEAN_P
, BOOLEAN_P
, int,
370 const char *, const char *));
371 E
void NDECL(deferred_goto
);
372 E boolean
FDECL(revive_corpse
, (struct obj
*));
373 E
void FDECL(revive_mon
, (ANY_P
*, long));
376 E
void FDECL(set_wounded_legs
, (long, int));
377 E
void NDECL(heal_legs
);
379 /* ### do_name.c ### */
381 E
char *FDECL(coord_desc
, (int, int, char *, CHAR_P
));
382 E
int FDECL(getpos
, (coord
*, BOOLEAN_P
, const char *));
383 E
void FDECL(getpos_sethilite
, (void (*f
)(int)));
384 E
void FDECL(new_mname
, (struct monst
*, int));
385 E
void FDECL(free_mname
, (struct monst
*));
386 E
void FDECL(new_oname
, (struct obj
*, int));
387 E
void FDECL(free_oname
, (struct obj
*));
388 E
const char *FDECL(safe_oname
, (struct obj
*));
389 E
struct monst
*FDECL(christen_monst
, (struct monst
*, const char *));
390 E
struct obj
*FDECL(oname
, (struct obj
*, const char *));
391 E boolean
FDECL(objtyp_is_callable
, (int));
392 E
int NDECL(docallcmd
);
393 E
void FDECL(docall
, (struct obj
*));
394 E
const char *NDECL(rndghostname
);
395 E
char *FDECL(x_monnam
, (struct monst
*, int, const char *, int, BOOLEAN_P
));
396 E
char *FDECL(l_monnam
, (struct monst
*));
397 E
char *FDECL(mon_nam
, (struct monst
*));
398 E
char *FDECL(noit_mon_nam
, (struct monst
*));
399 E
char *FDECL(Monnam
, (struct monst
*));
400 E
char *FDECL(noit_Monnam
, (struct monst
*));
401 E
char *FDECL(m_monnam
, (struct monst
*));
402 E
char *FDECL(y_monnam
, (struct monst
*));
403 E
char *FDECL(Adjmonnam
, (struct monst
*, const char *));
404 E
char *FDECL(Amonnam
, (struct monst
*));
405 E
char *FDECL(a_monnam
, (struct monst
*));
406 E
char *FDECL(distant_monnam
, (struct monst
*, int, char *));
407 E
char *FDECL(rndmonnam
, (char *));
408 E
const char *FDECL(hcolor
, (const char *));
409 E
const char *NDECL(rndcolor
);
410 E
const char *FDECL(hliquid
, (const char *));
411 E
const char *NDECL(roguename
);
412 E
struct obj
*FDECL(realloc_obj
,
413 (struct obj
*, int, genericptr_t
, int, const char *));
414 E
char *FDECL(coyotename
, (struct monst
*, char *));
415 E
const char *FDECL(noveltitle
, (int *));
416 E
const char *FDECL(lookup_novel
, (const char *, int *));
418 /* ### do_wear.c ### */
421 E
int NDECL(Armor_on
);
422 E
int NDECL(Boots_on
);
423 E
int NDECL(Gloves_on
);
424 E
int NDECL(Helmet_on
);
425 E
int FDECL(select_off
, (struct obj
*));
426 E
int NDECL(take_off
);
428 E
void FDECL(off_msg
, (struct obj
*));
429 E
void FDECL(set_wear
, (struct obj
*));
430 E boolean
FDECL(donning
, (struct obj
*));
431 E boolean
FDECL(doffing
, (struct obj
*));
432 E
void NDECL(cancel_don
);
433 E
int FDECL(stop_donning
, (struct obj
*));
434 E
int NDECL(Armor_off
);
435 E
int NDECL(Armor_gone
);
436 E
int NDECL(Helmet_off
);
437 E
int NDECL(Gloves_off
);
438 E
int NDECL(Boots_off
);
439 E
int NDECL(Cloak_off
);
440 E
int NDECL(Shield_off
);
441 E
int NDECL(Shirt_off
);
442 E
void NDECL(Amulet_off
);
443 E
void FDECL(Ring_on
, (struct obj
*));
444 E
void FDECL(Ring_off
, (struct obj
*));
445 E
void FDECL(Ring_gone
, (struct obj
*));
446 E
void FDECL(Blindf_on
, (struct obj
*));
447 E
void FDECL(Blindf_off
, (struct obj
*));
448 E
int NDECL(dotakeoff
);
449 E
int NDECL(doremring
);
450 E
int FDECL(cursed
, (struct obj
*));
451 E
int FDECL(armoroff
, (struct obj
*));
452 E
int FDECL(canwearobj
, (struct obj
*, long *, BOOLEAN_P
));
454 E
int NDECL(doputon
);
455 E
void NDECL(find_ac
);
457 E
struct obj
*FDECL(some_armor
, (struct monst
*));
458 E
struct obj
*FDECL(stuck_ring
, (struct obj
*, int));
459 E
struct obj
*NDECL(unchanger
);
460 E
void NDECL(reset_remarm
);
461 E
int NDECL(doddoremarm
);
462 E
int FDECL(destroy_arm
, (struct obj
*));
463 E
void FDECL(adj_abon
, (struct obj
*, SCHAR_P
));
465 FDECL(inaccessible_equipment
, (struct obj
*, const char *, BOOLEAN_P
));
469 E
void FDECL(newedog
, (struct monst
*));
470 E
void FDECL(free_edog
, (struct monst
*));
471 E
void FDECL(initedog
, (struct monst
*));
472 E
struct monst
*FDECL(make_familiar
,
473 (struct obj
*, XCHAR_P
, XCHAR_P
, BOOLEAN_P
));
474 E
struct monst
*NDECL(makedog
);
475 E
void NDECL(update_mlstmv
);
476 E
void NDECL(losedogs
);
477 E
void FDECL(mon_arrive
, (struct monst
*, BOOLEAN_P
));
478 E
void FDECL(mon_catchup_elapsed_time
, (struct monst
*, long));
479 E
void FDECL(keepdogs
, (BOOLEAN_P
));
480 E
void FDECL(migrate_to_level
, (struct monst
*, XCHAR_P
, XCHAR_P
, coord
*));
481 E
int FDECL(dogfood
, (struct monst
*, struct obj
*));
482 E boolean
FDECL(tamedog
, (struct monst
*, struct obj
*));
483 E
void FDECL(abuse_dog
, (struct monst
*));
484 E
void FDECL(wary_dog
, (struct monst
*, BOOLEAN_P
));
486 /* ### dogmove.c ### */
488 E
struct obj
*FDECL(droppables
, (struct monst
*));
489 E
int FDECL(dog_nutrition
, (struct monst
*, struct obj
*));
490 E
int FDECL(dog_eat
, (struct monst
*, struct obj
*, int, int, BOOLEAN_P
));
491 E
int FDECL(dog_move
, (struct monst
*, int));
493 E
void FDECL(wantdoor
, (int, int, genericptr_t
));
495 E
void FDECL(finish_meating
, (struct monst
*));
497 /* ### dokick.c ### */
499 E boolean
FDECL(ghitm
, (struct monst
*, struct obj
*));
500 E
void FDECL(container_impact_dmg
, (struct obj
*, XCHAR_P
, XCHAR_P
));
502 E boolean
FDECL(ship_object
, (struct obj
*, XCHAR_P
, XCHAR_P
, BOOLEAN_P
));
503 E
void FDECL(obj_delivery
, (BOOLEAN_P
));
504 E schar
FDECL(down_gate
, (XCHAR_P
, XCHAR_P
));
505 E
void FDECL(impact_drop
, (struct obj
*, XCHAR_P
, XCHAR_P
, XCHAR_P
));
507 /* ### dothrow.c ### */
509 E
int NDECL(dothrow
);
511 E
void FDECL(endmultishot
, (BOOLEAN_P
));
512 E
void FDECL(hitfloor
, (struct obj
*));
513 E
void FDECL(hurtle
, (int, int, int, BOOLEAN_P
));
514 E
void FDECL(mhurtle
, (struct monst
*, int, int, int));
515 E boolean
FDECL(throwing_weapon
, (struct obj
*));
516 E
void FDECL(throwit
, (struct obj
*, long, BOOLEAN_P
));
517 E
int FDECL(omon_adj
, (struct monst
*, struct obj
*, BOOLEAN_P
));
518 E
int FDECL(thitmonst
, (struct monst
*, struct obj
*));
519 E
int FDECL(hero_breaks
, (struct obj
*, XCHAR_P
, XCHAR_P
, BOOLEAN_P
));
520 E
int FDECL(breaks
, (struct obj
*, XCHAR_P
, XCHAR_P
));
521 E
void FDECL(release_camera_demon
, (struct obj
*, XCHAR_P
, XCHAR_P
));
522 E
void FDECL(breakobj
,
523 (struct obj
*, XCHAR_P
, XCHAR_P
, BOOLEAN_P
, BOOLEAN_P
));
524 E boolean
FDECL(breaktest
, (struct obj
*));
525 E boolean
FDECL(walk_path
, (coord
*, coord
*,
526 boolean (*)(genericptr
, int, int), genericptr_t
));
527 E boolean
FDECL(hurtle_step
, (genericptr_t
, int, int));
529 /* ### drawing.c ### */
530 #endif /* !MAKEDEFS_C && !LEV_LEX_C */
531 E
int FDECL(def_char_to_objclass
, (CHAR_P
));
532 E
int FDECL(def_char_to_monclass
, (CHAR_P
));
533 #if !defined(MAKEDEFS_C) && !defined(LEV_LEX_C)
534 E
void FDECL(switch_symbols
, (int));
535 E
void FDECL(assign_graphics
, (int));
536 E
void NDECL(init_r_symbols
);
537 E
void NDECL(init_symbols
);
538 E
void NDECL(update_bouldersym
);
539 E
void NDECL(init_showsyms
);
540 E
void NDECL(init_l_symbols
);
541 E
void FDECL(clear_symsetentry
, (int, BOOLEAN_P
));
542 E
void FDECL(update_l_symset
, (struct symparse
*, int));
543 E
void FDECL(update_r_symset
, (struct symparse
*, int));
544 E boolean
FDECL(cursed_object_at
, (int, int));
546 /* ### dungeon.c ### */
548 E
void FDECL(save_dungeon
, (int, BOOLEAN_P
, BOOLEAN_P
));
549 E
void FDECL(restore_dungeon
, (int));
550 E
void FDECL(insert_branch
, (branch
*, BOOLEAN_P
));
551 E
void NDECL(init_dungeons
);
552 E s_level
*FDECL(find_level
, (const char *));
553 E s_level
*FDECL(Is_special
, (d_level
*));
554 E branch
*FDECL(Is_branchlev
, (d_level
*));
555 E boolean
FDECL(builds_up
, (d_level
*));
556 E xchar
FDECL(ledger_no
, (d_level
*));
557 E xchar
NDECL(maxledgerno
);
558 E schar
FDECL(depth
, (d_level
*));
559 E xchar
FDECL(dunlev
, (d_level
*));
560 E xchar
FDECL(dunlevs_in_dungeon
, (d_level
*));
561 E xchar
FDECL(ledger_to_dnum
, (XCHAR_P
));
562 E xchar
FDECL(ledger_to_dlev
, (XCHAR_P
));
563 E xchar
FDECL(deepest_lev_reached
, (BOOLEAN_P
));
564 E boolean
FDECL(on_level
, (d_level
*, d_level
*));
565 E
void FDECL(next_level
, (BOOLEAN_P
));
566 E
void FDECL(prev_level
, (BOOLEAN_P
));
567 E
void FDECL(u_on_newpos
, (int, int));
568 E
void FDECL(u_on_rndspot
, (int));
569 E
void FDECL(u_on_sstairs
, (int));
570 E
void NDECL(u_on_upstairs
);
571 E
void NDECL(u_on_dnstairs
);
572 E boolean
FDECL(On_stairs
, (XCHAR_P
, XCHAR_P
));
573 E
void FDECL(get_level
, (d_level
*, int));
574 E boolean
FDECL(Is_botlevel
, (d_level
*));
575 E boolean
FDECL(Can_fall_thru
, (d_level
*));
576 E boolean
FDECL(Can_dig_down
, (d_level
*));
577 E boolean
FDECL(Can_rise_up
, (int, int, d_level
*));
578 E boolean
FDECL(has_ceiling
, (d_level
*));
579 E boolean
FDECL(In_quest
, (d_level
*));
580 E boolean
FDECL(In_mines
, (d_level
*));
581 E branch
*FDECL(dungeon_branch
, (const char *));
582 E boolean
FDECL(at_dgn_entrance
, (const char *));
583 E boolean
FDECL(In_hell
, (d_level
*));
584 E boolean
FDECL(In_V_tower
, (d_level
*));
585 E boolean
FDECL(On_W_tower_level
, (d_level
*));
586 E boolean
FDECL(In_W_tower
, (int, int, d_level
*));
587 E
void FDECL(find_hell
, (d_level
*));
588 E
void FDECL(goto_hell
, (BOOLEAN_P
, BOOLEAN_P
));
589 E
void FDECL(assign_level
, (d_level
*, d_level
*));
590 E
void FDECL(assign_rnd_level
, (d_level
*, d_level
*, int));
591 E
int FDECL(induced_align
, (int));
592 E boolean
FDECL(Invocation_lev
, (d_level
*));
593 E xchar
NDECL(level_difficulty
);
594 E schar
FDECL(lev_by_name
, (const char *));
595 E schar
FDECL(print_dungeon
, (BOOLEAN_P
, schar
*, xchar
*));
596 E
char *FDECL(get_annotation
, (d_level
*));
597 E
int NDECL(donamelevel
);
598 E
int NDECL(dooverview
);
599 E
void FDECL(show_overview
, (int, int));
600 E
void FDECL(forget_mapseen
, (int));
601 E
void FDECL(init_mapseen
, (d_level
*));
602 E
void NDECL(recalc_mapseen
);
603 E
void FDECL(mapseen_temple
, (struct monst
*));
604 E
void FDECL(room_discovered
, (int));
605 E
void FDECL(recbranch_mapseen
, (d_level
*, d_level
*));
606 E
void FDECL(overview_stats
, (winid
, const char *, long *, long *));
607 E
void FDECL(remdun_mapseen
, (int));
612 E
int NDECL(eatmdone
);
613 E
int NDECL(eatfood
);
614 E
int NDECL(opentin
);
615 E
int NDECL(unfaint
);
617 E
void NDECL(eatmupdate
);
618 E boolean
FDECL(is_edible
, (struct obj
*));
619 E
void NDECL(init_uhunger
);
620 E
int NDECL(Hear_again
);
621 E
void NDECL(reset_eat
);
623 E
int FDECL(use_tin_opener
, (struct obj
*));
624 E
void NDECL(gethungry
);
625 E
void FDECL(morehungry
, (int));
626 E
void FDECL(lesshungry
, (int));
627 E boolean
NDECL(is_fainted
);
628 E
void NDECL(reset_faint
);
629 E
void NDECL(violated_vegetarian
);
630 E
void FDECL(newuhs
, (BOOLEAN_P
));
631 E
struct obj
*FDECL(floorfood
, (const char *, int));
633 E
int FDECL(eaten_stat
, (int, struct obj
*));
634 E
void FDECL(food_disappears
, (struct obj
*));
635 E
void FDECL(food_substitution
, (struct obj
*, struct obj
*));
636 E
void FDECL(eating_conducts
, (struct permonst
*));
637 E
int FDECL(eat_brains
, (struct monst
*, struct monst
*, BOOLEAN_P
, int *));
638 E
void NDECL(fix_petrification
);
639 E
void FDECL(consume_oeaten
, (struct obj
*, int));
640 E boolean
FDECL(maybe_finished_meal
, (BOOLEAN_P
));
641 E
void FDECL(set_tin_variety
, (struct obj
*, int));
642 E
int FDECL(tin_variety_txt
, (char *, int *));
643 E
void FDECL(tin_details
, (struct obj
*, int, char *));
644 E boolean
FDECL(Popeye
, (int));
648 E
void FDECL(done1
, (int));
651 E
void FDECL(done_intr
, (int));
653 E
void FDECL(done_in_by
, (struct monst
*, int));
654 #endif /* !MAKEDEFS_C && !LEV_LEX_C */
655 E
void VDECL(panic
, (const char *, ...)) PRINTF_F(1, 2) NORETURN
;
656 #if !defined(MAKEDEFS_C) && !defined(LEV_LEX_C)
657 E
void FDECL(done
, (int));
658 E
void FDECL(container_contents
, (struct obj
*, BOOLEAN_P
,
659 BOOLEAN_P
, BOOLEAN_P
));
660 E
void FDECL(terminate
, (int)) NORETURN
;
661 E
int NDECL(dovanquished
);
662 E
int NDECL(num_genocides
);
663 E
void FDECL(delayed_killer
, (int, int, const char *));
664 E
struct kinfo
*FDECL(find_delayed_killer
, (int));
665 E
void FDECL(dealloc_killer
, (struct kinfo
*));
666 E
void FDECL(save_killers
, (int, int));
667 E
void FDECL(restore_killers
, (int));
668 E
char *FDECL(build_english_list
, (char *));
669 #if defined(PANICTRACE) && !defined(NO_SIGNAL)
670 E
void FDECL(panictrace_setsignals
, (BOOLEAN_P
));
673 /* ### engrave.c ### */
675 E
char *FDECL(random_engraving
, (char *));
676 E
void FDECL(wipeout_text
, (char *, int, unsigned));
677 E boolean
FDECL(can_reach_floor
, (BOOLEAN_P
));
678 E
void FDECL(cant_reach_floor
, (int, int, BOOLEAN_P
, BOOLEAN_P
));
679 E
const char *FDECL(surface
, (int, int));
680 E
const char *FDECL(ceiling
, (int, int));
681 E
struct engr
*FDECL(engr_at
, (XCHAR_P
, XCHAR_P
));
682 E
int FDECL(sengr_at
, (const char *, XCHAR_P
, XCHAR_P
, BOOLEAN_P
));
683 E
void FDECL(u_wipe_engr
, (int));
684 E
void FDECL(wipe_engr_at
, (XCHAR_P
, XCHAR_P
, XCHAR_P
, BOOLEAN_P
));
685 E
void FDECL(read_engr_at
, (int, int));
686 E
void FDECL(make_engr_at
, (int, int, const char *, long, XCHAR_P
));
687 E
void FDECL(del_engr_at
, (int, int));
688 E
int NDECL(freehand
);
689 E
int NDECL(doengrave
);
690 E
void NDECL(sanitize_engravings
);
691 E
void FDECL(save_engravings
, (int, int));
692 E
void FDECL(rest_engravings
, (int));
693 E
void FDECL(engr_stats
, (const char *, char *, long *, long *));
694 E
void FDECL(del_engr
, (struct engr
*));
695 E
void FDECL(rloc_engr
, (struct engr
*));
696 E
void FDECL(make_grave
, (int, int, const char *));
698 /* ### exper.c ### */
701 E
int FDECL(experience
, (struct monst
*, int));
702 E
void FDECL(more_experienced
, (int, int));
703 E
void FDECL(losexp
, (const char *));
704 E
void NDECL(newexplevel
);
705 E
void FDECL(pluslvl
, (BOOLEAN_P
));
706 E
long FDECL(rndexp
, (BOOLEAN_P
));
708 /* ### explode.c ### */
710 E
void FDECL(explode
, (int, int, int, int, CHAR_P
, int));
711 E
long FDECL(scatter
, (int, int, int, unsigned int, struct obj
*));
712 E
void FDECL(splatter_burning_oil
, (int, int));
713 E
void FDECL(explode_oil
, (struct obj
*, int, int));
715 /* ### extralev.c ### */
717 E
void NDECL(makeroguerooms
);
718 E
void FDECL(corr
, (int, int));
719 E
void NDECL(makerogueghost
);
721 /* ### files.c ### */
723 E
char *FDECL(fname_encode
, (const char *, CHAR_P
, char *, char *, int));
724 E
char *FDECL(fname_decode
, (CHAR_P
, char *, char *, int));
725 E
const char *FDECL(fqname
, (const char *, int, int));
726 E
FILE *FDECL(fopen_datafile
, (const char *, const char *, int));
728 E
void NDECL(set_lock_and_bones
);
730 E
void FDECL(set_levelfile_name
, (char *, int));
731 E
int FDECL(create_levelfile
, (int, char *));
732 E
int FDECL(open_levelfile
, (int, char *));
733 E
void FDECL(delete_levelfile
, (int));
734 E
void NDECL(clearlocks
);
735 E
int FDECL(create_bonesfile
, (d_level
*, char **, char *));
737 E
void NDECL(cancel_bonesfile
);
739 E
void FDECL(commit_bonesfile
, (d_level
*));
740 E
int FDECL(open_bonesfile
, (d_level
*, char **));
741 E
int FDECL(delete_bonesfile
, (d_level
*));
742 E
void NDECL(compress_bonesfile
);
743 E
void FDECL(set_savefile_name
, (BOOLEAN_P
));
745 E
void FDECL(save_savefile_name
, (int));
748 E
void NDECL(set_error_savefile
);
750 E
int NDECL(create_savefile
);
751 E
int NDECL(open_savefile
);
752 E
int NDECL(delete_savefile
);
753 E
int NDECL(restore_saved_game
);
754 E
void FDECL(nh_compress
, (const char *));
755 E
void FDECL(nh_uncompress
, (const char *));
756 E boolean
FDECL(lock_file
, (const char *, int, int));
757 E
void FDECL(unlock_file
, (const char *));
759 E boolean
FDECL(can_read_file
, (const char *));
761 E boolean
FDECL(read_config_file
, (const char *, int));
762 E
void FDECL(check_recordfile
, (const char *));
763 E
void NDECL(read_wizkit
);
764 E
int FDECL(read_sym_file
, (int));
765 E
int FDECL(parse_sym_line
, (char *, int));
766 E
void FDECL(paniclog
, (const char *, const char *));
767 E
int FDECL(validate_prefix_locations
, (char *));
769 E
char *FDECL(plname_from_file
, (const char *));
771 E
char **NDECL(get_saved_games
);
772 E
void FDECL(free_saved_games
, (char **));
774 E boolean
NDECL(recover_savefile
);
777 E
void NDECL(assure_syscf_file
);
779 E
int FDECL(nhclose
, (int));
780 #ifdef HOLD_LOCKFILE_OPEN
781 E
void NDECL(really_close
);
784 E boolean
FDECL(debugcore
, (const char *, BOOLEAN_P
));
786 E boolean
FDECL(read_tribute
, (const char *, const char *, int,
787 char *, int, unsigned));
788 E boolean
FDECL(Death_quote
, (char *, int));
790 /* ### fountain.c ### */
792 E
void FDECL(floating_above
, (const char *));
793 E
void FDECL(dogushforth
, (int));
795 E
void FDECL(gush
, (int, int, genericptr_t
));
797 E
void FDECL(dryup
, (XCHAR_P
, XCHAR_P
, BOOLEAN_P
));
798 E
void NDECL(drinkfountain
);
799 E
void FDECL(dipfountain
, (struct obj
*));
800 E
void FDECL(breaksink
, (int, int));
801 E
void NDECL(drinksink
);
805 E boolean
FDECL(is_valid_travelpt
, (int,int));
806 E anything
*FDECL(uint_to_any
, (unsigned));
807 E anything
*FDECL(long_to_any
, (long));
808 E anything
*FDECL(monst_to_any
, (struct monst
*));
809 E anything
*FDECL(obj_to_any
, (struct obj
*));
810 E boolean
FDECL(revive_nasty
, (int, int, const char *));
811 E
void FDECL(movobj
, (struct obj
*, XCHAR_P
, XCHAR_P
));
812 E boolean
FDECL(may_dig
, (XCHAR_P
, XCHAR_P
));
813 E boolean
FDECL(may_passwall
, (XCHAR_P
, XCHAR_P
));
814 E boolean
FDECL(bad_rock
, (struct permonst
*, XCHAR_P
, XCHAR_P
));
815 E
int FDECL(cant_squeeze_thru
, (struct monst
*));
816 E boolean
FDECL(invocation_pos
, (XCHAR_P
, XCHAR_P
));
817 E boolean
FDECL(test_move
, (int, int, int, int, int));
819 E
int NDECL(wiz_debug_cmd_traveldisplay
);
821 E boolean
NDECL(u_rooted
);
822 E
void NDECL(domove
);
823 E boolean
NDECL(overexertion
);
824 E
void NDECL(invocation_message
);
825 E boolean
FDECL(pooleffects
, (BOOLEAN_P
));
826 E
void FDECL(spoteffects
, (BOOLEAN_P
));
827 E
char *FDECL(in_rooms
, (XCHAR_P
, XCHAR_P
, int));
828 E boolean
FDECL(in_town
, (int, int));
829 E
void FDECL(check_special_room
, (BOOLEAN_P
));
830 E
int NDECL(dopickup
);
831 E
void NDECL(lookaround
);
832 E boolean
FDECL(crawl_destination
, (int, int));
833 E
int NDECL(monster_nearby
);
834 E
void FDECL(nomul
, (int));
835 E
void FDECL(unmul
, (const char *));
836 E
void FDECL(losehp
, (int, const char *, BOOLEAN_P
));
837 E
int NDECL(weight_cap
);
838 E
int NDECL(inv_weight
);
839 E
int NDECL(near_capacity
);
840 E
int FDECL(calc_capacity
, (int));
841 E
int NDECL(max_capacity
);
842 E boolean
FDECL(check_capacity
, (const char *));
843 E
int FDECL(inv_cnt
, (BOOLEAN_P
));
844 E
long FDECL(money_cnt
, (struct obj
*));
846 /* ### hacklib.c ### */
848 E boolean
FDECL(digit
, (CHAR_P
));
849 E boolean
FDECL(letter
, (CHAR_P
));
850 E
char FDECL(highc
, (CHAR_P
));
851 E
char FDECL(lowc
, (CHAR_P
));
852 E
char *FDECL(lcase
, (char *));
853 E
char *FDECL(ucase
, (char *));
854 E
char *FDECL(upstart
, (char *));
855 E
char *FDECL(mungspaces
, (char *));
856 E
char *FDECL(trimspaces
, (char *));
857 E
char *FDECL(strip_newline
, (char *));
858 E
char *FDECL(eos
, (char *));
859 E boolean
FDECL(str_end_is
, (const char *, const char *));
860 E
char *FDECL(strkitten
, (char *, CHAR_P
));
861 E
void FDECL(copynchars
, (char *, const char *, int));
862 E
char FDECL(chrcasecpy
, (int, int));
863 E
char *FDECL(strcasecpy
, (char *, const char *));
864 E
char *FDECL(s_suffix
, (const char *));
865 E
char *FDECL(ing_suffix
, (const char *));
866 E
char *FDECL(xcrypt
, (const char *, char *));
867 E boolean
FDECL(onlyspace
, (const char *));
868 E
char *FDECL(tabexpand
, (char *));
869 E
char *FDECL(visctrl
, (CHAR_P
));
870 E
char *FDECL(strsubst
, (char *, const char *, const char *));
871 E
const char *FDECL(ordin
, (int));
872 E
char *FDECL(sitoa
, (int));
873 E
int FDECL(sgn
, (int));
874 E
int FDECL(rounddiv
, (long, int));
875 E
int FDECL(dist2
, (int, int, int, int));
876 E
int FDECL(isqrt
, (int));
877 E
int FDECL(distmin
, (int, int, int, int));
878 E boolean
FDECL(online2
, (int, int, int, int));
879 E boolean
FDECL(pmatch
, (const char *, const char *));
880 E boolean
FDECL(pmatchi
, (const char *, const char *));
881 E boolean
FDECL(pmatchz
, (const char *, const char *));
883 E
int FDECL(strncmpi
, (const char *, const char *, int));
886 E
char *FDECL(strstri
, (const char *, const char *));
889 FDECL(fuzzymatch
, (const char *, const char *, const char *, BOOLEAN_P
));
890 E
void NDECL(setrandom
);
891 E
time_t NDECL(getnow
);
892 E
int NDECL(getyear
);
894 E
char *FDECL(yymmdd
, (time_t));
896 E
long FDECL(yyyymmdd
, (time_t));
897 E
long FDECL(hhmmss
, (time_t));
898 E
char *FDECL(yyyymmddhhmmss
, (time_t));
899 E
time_t FDECL(time_from_yyyymmddhhmmss
, (char *));
900 E
int NDECL(phase_of_the_moon
);
901 E boolean
NDECL(friday_13th
);
903 E
int NDECL(midnight
);
905 /* ### invent.c ### */
907 E
void FDECL(sortloot
, (struct obj
**, unsigned, BOOLEAN_P
));
908 E
void FDECL(assigninvlet
, (struct obj
*));
909 E
struct obj
*FDECL(merge_choice
, (struct obj
*, struct obj
*));
910 E
int FDECL(merged
, (struct obj
**, struct obj
**));
912 E
int FDECL(ckunpaid
, (struct obj
*));
914 E
void FDECL(addinv_core1
, (struct obj
*));
915 E
void FDECL(addinv_core2
, (struct obj
*));
916 E
struct obj
*FDECL(addinv
, (struct obj
*));
917 E
struct obj
*FDECL(hold_another_object
,
918 (struct obj
*, const char *, const char *, const char *));
919 E
void FDECL(useupall
, (struct obj
*));
920 E
void FDECL(useup
, (struct obj
*));
921 E
void FDECL(consume_obj_charge
, (struct obj
*, BOOLEAN_P
));
922 E
void FDECL(freeinv_core
, (struct obj
*));
923 E
void FDECL(freeinv
, (struct obj
*));
924 E
void FDECL(delallobj
, (int, int));
925 E
void FDECL(delobj
, (struct obj
*));
926 E
struct obj
*FDECL(sobj_at
, (int, int, int));
927 E
struct obj
*FDECL(nxtobj
, (struct obj
*, int, BOOLEAN_P
));
928 E
struct obj
*FDECL(carrying
, (int));
929 E boolean
NDECL(have_lizard
);
930 E
struct obj
*NDECL(u_have_novel
);
931 E
struct obj
*FDECL(o_on
, (unsigned int, struct obj
*));
932 E boolean
FDECL(obj_here
, (struct obj
*, int, int));
933 E boolean
NDECL(wearing_armor
);
934 E boolean
FDECL(is_worn
, (struct obj
*));
935 E
struct obj
*FDECL(g_at
, (int, int));
936 E boolean
FDECL(splittable
, (struct obj
*));
937 E
struct obj
*FDECL(getobj
, (const char *, const char *));
938 E
int FDECL(ggetobj
, (const char *, int (*)(OBJ_P
), int,
939 BOOLEAN_P
, unsigned *));
940 E
int FDECL(askchain
, (struct obj
**, const char *, int, int (*)(OBJ_P
),
941 int (*)(OBJ_P
), int, const char *));
942 E
void FDECL(fully_identify_obj
, (struct obj
*));
943 E
int FDECL(identify
, (struct obj
*));
944 E
void FDECL(identify_pack
, (int, BOOLEAN_P
));
945 E
void NDECL(learn_unseen_invent
);
946 E
void FDECL(prinv
, (const char *, struct obj
*, long));
947 E
char *FDECL(xprname
,
948 (struct obj
*, const char *, CHAR_P
, BOOLEAN_P
, long, long));
950 E
char FDECL(display_inventory
, (const char *, BOOLEAN_P
));
951 E
int FDECL(display_binventory
, (int, int, BOOLEAN_P
));
952 E
struct obj
*FDECL(display_cinventory
, (struct obj
*));
953 E
struct obj
*FDECL(display_minventory
, (struct monst
*, int, char *));
954 E
int NDECL(dotypeinv
);
955 E
const char *FDECL(dfeature_at
, (int, int, char *));
956 E
int FDECL(look_here
, (int, BOOLEAN_P
));
958 E boolean
FDECL(will_feel_cockatrice
, (struct obj
*, BOOLEAN_P
));
959 E
void FDECL(feel_cockatrice
, (struct obj
*, BOOLEAN_P
));
960 E
void FDECL(stackobj
, (struct obj
*));
961 E boolean
FDECL(mergable
, (struct obj
*, struct obj
*));
962 E
int NDECL(doprgold
);
963 E
int NDECL(doprwep
);
964 E
int NDECL(doprarm
);
965 E
int NDECL(doprring
);
966 E
int NDECL(dopramulet
);
967 E
int NDECL(doprtool
);
968 E
int NDECL(doprinuse
);
969 E
void FDECL(useupf
, (struct obj
*, long));
970 E
char *FDECL(let_to_name
, (CHAR_P
, BOOLEAN_P
, BOOLEAN_P
));
971 E
void NDECL(free_invbuf
);
972 E
void NDECL(reassign
);
973 E
int NDECL(doorganize
);
974 E
void NDECL(free_pickinv_cache
);
975 E
int FDECL(count_unpaid
, (struct obj
*));
976 E
int FDECL(count_buc
, (struct obj
*, int));
977 E
long FDECL(count_contents
, (struct obj
*, BOOLEAN_P
, BOOLEAN_P
, BOOLEAN_P
));
978 E
void FDECL(carry_obj_effects
, (struct obj
*));
979 E
const char *FDECL(currency
, (long));
980 E
void FDECL(silly_thing
, (const char *, struct obj
*));
982 /* ### ioctl.c ### */
984 #if defined(UNIX) || defined(__BEOS__)
985 E
void NDECL(getwindowsz
);
986 E
void NDECL(getioctls
);
987 E
void NDECL(setioctls
);
989 E
int NDECL(dosuspend
);
991 #endif /* UNIX || __BEOS__ */
993 /* ### light.c ### */
995 E
void FDECL(new_light_source
, (XCHAR_P
, XCHAR_P
, int, int, ANY_P
*));
996 E
void FDECL(del_light_source
, (int, ANY_P
*));
997 E
void FDECL(do_light_sources
, (char **));
998 E
struct monst
*FDECL(find_mid
, (unsigned, unsigned));
999 E
void FDECL(save_light_sources
, (int, int, int));
1000 E
void FDECL(restore_light_sources
, (int));
1001 E
void FDECL(light_stats
, (const char *, char *, long *, long *));
1002 E
void FDECL(relink_light_sources
, (BOOLEAN_P
));
1003 E
void NDECL(light_sources_sanity_check
);
1004 E
void FDECL(obj_move_light_source
, (struct obj
*, struct obj
*));
1005 E boolean
NDECL(any_light_source
);
1006 E
void FDECL(snuff_light_source
, (int, int));
1007 E boolean
FDECL(obj_sheds_light
, (struct obj
*));
1008 E boolean
FDECL(obj_is_burning
, (struct obj
*));
1009 E
void FDECL(obj_split_light_source
, (struct obj
*, struct obj
*));
1010 E
void FDECL(obj_merge_light_sources
, (struct obj
*, struct obj
*));
1011 E
void FDECL(obj_adjust_light_radius
, (struct obj
*, int));
1012 E
int FDECL(candle_light_range
, (struct obj
*));
1013 E
int FDECL(arti_light_radius
, (struct obj
*));
1014 E
const char *FDECL(arti_light_description
, (struct obj
*));
1015 E
int NDECL(wiz_light_sources
);
1017 /* ### lock.c ### */
1020 E
int NDECL(forcelock
);
1021 E
int NDECL(picklock
);
1023 E boolean
FDECL(picking_lock
, (int *, int *));
1024 E boolean
FDECL(picking_at
, (int, int));
1025 E
void FDECL(breakchestlock
, (struct obj
*, BOOLEAN_P
));
1026 E
void NDECL(reset_pick
);
1027 E
void NDECL(maybe_reset_pick
);
1028 E
int FDECL(pick_lock
, (struct obj
*));
1029 E
int NDECL(doforce
);
1030 E boolean
FDECL(boxlock
, (struct obj
*, struct obj
*));
1031 E boolean
FDECL(doorlock
, (struct obj
*, int, int));
1032 E
int NDECL(doopen
);
1033 E boolean
FDECL(stumble_on_door_mimic
, (int, int));
1034 E
int FDECL(doopen_indir
, (int, int));
1035 E
int NDECL(doclose
);
1038 /* These declarations are here because the main code calls them. */
1040 /* ### macfile.c ### */
1042 E
int FDECL(maccreat
, (const char *, long));
1043 E
int FDECL(macopen
, (const char *, int, long));
1044 E
int FDECL(macclose
, (int));
1045 E
int FDECL(macread
, (int, void *, unsigned));
1046 E
int FDECL(macwrite
, (int, void *, unsigned));
1047 E
long FDECL(macseek
, (int, long, short));
1048 E
int FDECL(macunlink
, (const char *));
1050 /* ### macmain.c ### */
1052 E boolean
NDECL(authorize_wizard_mode
);
1054 /* ### macsnd.c ### */
1056 E
void FDECL(mac_speaker
, (struct obj
*, char *));
1058 /* ### macunix.c ### */
1060 E
void FDECL(regularize
, (char *));
1061 E
void NDECL(getlock
);
1063 /* ### macwin.c ### */
1065 E
void FDECL(lock_mouse_cursor
, (Boolean
));
1066 E
int NDECL(SanePositions
);
1068 /* ### mttymain.c ### */
1070 E
void FDECL(getreturn
, (char *));
1071 E
void VDECL(msmsg
, (const char *, ...));
1072 E
void NDECL(gettty
);
1073 E
void NDECL(setftty
);
1074 E
void FDECL(settty
, (const char *));
1075 E
int NDECL(tgetch
);
1076 E
void FDECL(cmov
, (int x
, int y
));
1077 E
void FDECL(nocmov
, (int x
, int y
));
1081 /* ### mail.c ### */
1085 E
void NDECL(free_maildata
);
1086 E
void NDECL(getmailstatus
);
1087 E
void NDECL(ck_server_admin_msg
);
1089 E
void NDECL(ckmailstatus
);
1090 E
void FDECL(readmail
, (struct obj
*));
1093 /* ### makemon.c ### */
1095 E
void FDECL(dealloc_monst
, (struct monst
*));
1096 E boolean
FDECL(is_home_elemental
, (struct permonst
*));
1097 E
struct monst
*FDECL(clone_mon
, (struct monst
*, XCHAR_P
, XCHAR_P
));
1098 E
int FDECL(monhp_per_lvl
, (struct monst
*));
1099 E
void FDECL(newmonhp
, (struct monst
*, int));
1100 E
struct mextra
*NDECL(newmextra
);
1101 E
void FDECL(copy_mextra
, (struct monst
*, struct monst
*));
1102 E
void FDECL(dealloc_mextra
, (struct monst
*));
1103 E
struct monst
*FDECL(makemon
, (struct permonst
*, int, int, int));
1104 E boolean
FDECL(create_critters
, (int, struct permonst
*, BOOLEAN_P
));
1105 E
struct permonst
*NDECL(rndmonst
);
1106 E
void FDECL(reset_rndmonst
, (int));
1107 E
struct permonst
*FDECL(mkclass
, (CHAR_P
, int));
1108 E
int FDECL(mkclass_poly
, (int));
1109 E
int FDECL(adj_lev
, (struct permonst
*));
1110 E
struct permonst
*FDECL(grow_up
, (struct monst
*, struct monst
*));
1111 E
int FDECL(mongets
, (struct monst
*, int));
1112 E
int FDECL(golemhp
, (int));
1113 E boolean
FDECL(peace_minded
, (struct permonst
*));
1114 E
void FDECL(set_malign
, (struct monst
*));
1115 E
void FDECL(newmcorpsenm
, (struct monst
*));
1116 E
void FDECL(freemcorpsenm
, (struct monst
*));
1117 E
void FDECL(set_mimic_sym
, (struct monst
*));
1118 E
int FDECL(mbirth_limit
, (int));
1119 E
void FDECL(mimic_hit_msg
, (struct monst
*, SHORT_P
));
1120 E
void FDECL(mkmonmoney
, (struct monst
*, long));
1121 E
int FDECL(bagotricks
, (struct obj
*, BOOLEAN_P
, int *));
1122 E boolean
FDECL(propagate
, (int, BOOLEAN_P
, BOOLEAN_P
));
1123 E boolean
FDECL(usmellmon
, (struct permonst
*));
1125 /* ### mapglyph.c ### */
1127 E
int FDECL(mapglyph
, (int, int *, int *, unsigned *, int, int));
1128 E
char *FDECL(encglyph
, (int));
1129 E
void FDECL(genl_putmixed
, (winid
, int, const char *));
1131 /* ### mcastu.c ### */
1133 E
int FDECL(castmu
, (struct monst
*, struct attack
*, BOOLEAN_P
, BOOLEAN_P
));
1134 E
int FDECL(buzzmu
, (struct monst
*, struct attack
*));
1136 /* ### mhitm.c ### */
1138 E
int FDECL(fightm
, (struct monst
*));
1139 E
int FDECL(mattackm
, (struct monst
*, struct monst
*));
1140 E boolean
FDECL(engulf_target
, (struct monst
*, struct monst
*));
1141 E
int FDECL(mdisplacem
, (struct monst
*, struct monst
*, BOOLEAN_P
));
1142 E
void FDECL(paralyze_monst
, (struct monst
*, int));
1143 E
int FDECL(sleep_monst
, (struct monst
*, int, int));
1144 E
void FDECL(slept_monst
, (struct monst
*));
1145 E
void FDECL(xdrainenergym
, (struct monst
*, BOOLEAN_P
));
1146 E
long FDECL(attk_protection
, (int));
1147 E
void FDECL(rustm
, (struct monst
*, struct obj
*));
1149 /* ### mhitu.c ### */
1151 E
const char *FDECL(mpoisons_subj
, (struct monst
*, struct attack
*));
1152 E
void NDECL(u_slow_down
);
1153 E
struct monst
*NDECL(cloneu
);
1154 E
void FDECL(expels
, (struct monst
*, struct permonst
*, BOOLEAN_P
));
1155 E
struct attack
*FDECL(getmattk
, (struct monst
*, struct monst
*,
1156 int, int *, struct attack
*));
1157 E
int FDECL(mattacku
, (struct monst
*));
1158 E
int FDECL(magic_negation
, (struct monst
*));
1159 E boolean
NDECL(gulp_blnd_check
);
1160 E
int FDECL(gazemu
, (struct monst
*, struct attack
*));
1161 E
void FDECL(mdamageu
, (struct monst
*, int));
1162 E
int FDECL(could_seduce
, (struct monst
*, struct monst
*, struct attack
*));
1163 E
int FDECL(doseduce
, (struct monst
*));
1165 /* ### minion.c ### */
1167 E
void FDECL(newemin
, (struct monst
*));
1168 E
void FDECL(free_emin
, (struct monst
*));
1169 E
int FDECL(monster_census
, (BOOLEAN_P
));
1170 E
int FDECL(msummon
, (struct monst
*));
1171 E
void FDECL(summon_minion
, (ALIGNTYP_P
, BOOLEAN_P
));
1172 E
int FDECL(demon_talk
, (struct monst
*));
1173 E
long FDECL(bribe
, (struct monst
*));
1174 E
int FDECL(dprince
, (ALIGNTYP_P
));
1175 E
int FDECL(dlord
, (ALIGNTYP_P
));
1177 E
int FDECL(ndemon
, (ALIGNTYP_P
));
1178 E
int NDECL(lminion
);
1179 E
void FDECL(lose_guardian_angel
, (struct monst
*));
1180 E
void NDECL(gain_guardian_angel
);
1182 /* ### mklev.c ### */
1185 E
int FDECL(do_comp
, (genericptr_t
, genericptr_t
));
1187 E
void NDECL(sort_rooms
);
1188 E
void FDECL(add_room
, (int, int, int, int, BOOLEAN_P
, SCHAR_P
, BOOLEAN_P
));
1189 E
void FDECL(add_subroom
, (struct mkroom
*, int, int, int, int, BOOLEAN_P
,
1190 SCHAR_P
, BOOLEAN_P
));
1191 E
void NDECL(makecorridors
);
1192 E
void FDECL(add_door
, (int, int, struct mkroom
*));
1193 E
void NDECL(mklev
);
1194 #ifdef SPECIALIZATION
1195 E
void FDECL(topologize
, (struct mkroom
*, BOOLEAN_P
));
1197 E
void FDECL(topologize
, (struct mkroom
*));
1199 E
void FDECL(place_branch
, (branch
*, XCHAR_P
, XCHAR_P
));
1200 E boolean
FDECL(occupied
, (XCHAR_P
, XCHAR_P
));
1201 E
int FDECL(okdoor
, (XCHAR_P
, XCHAR_P
));
1202 E
void FDECL(dodoor
, (int, int, struct mkroom
*));
1203 E
void FDECL(mktrap
, (int, int, struct mkroom
*, coord
*));
1204 E
void FDECL(mkstairs
, (XCHAR_P
, XCHAR_P
, CHAR_P
, struct mkroom
*));
1205 E
void NDECL(mkinvokearea
);
1206 E
void FDECL(mineralize
, (int, int, int, int, BOOLEAN_P
));
1208 /* ### mkmap.c ### */
1210 E
void FDECL(flood_fill_rm
, (int, int, int, BOOLEAN_P
, BOOLEAN_P
));
1211 E
void FDECL(remove_rooms
, (int, int, int, int));
1212 /* E void FDECL(mkmap, (lev_init *)); -- need sp_lev.h for lev_init */
1214 /* ### mkmaze.c ### */
1216 E
void FDECL(wallification
, (int, int, int, int));
1217 E
void FDECL(fix_wall_spines
, (int, int, int, int));
1218 E
void FDECL(walkfrom
, (int, int, SCHAR_P
));
1219 E
void FDECL(makemaz
, (const char *));
1220 E
void FDECL(mazexy
, (coord
*));
1221 E
void NDECL(bound_digging
);
1222 E
void FDECL(mkportal
, (XCHAR_P
, XCHAR_P
, XCHAR_P
, XCHAR_P
));
1223 E boolean
FDECL(bad_location
, (XCHAR_P
, XCHAR_P
, XCHAR_P
, XCHAR_P
,
1225 E
void FDECL(place_lregion
, (XCHAR_P
, XCHAR_P
, XCHAR_P
, XCHAR_P
, XCHAR_P
,
1226 XCHAR_P
, XCHAR_P
, XCHAR_P
, XCHAR_P
, d_level
*));
1227 E
void NDECL(fixup_special
);
1228 E
void NDECL(fumaroles
);
1229 E
void NDECL(movebubbles
);
1230 E
void NDECL(water_friction
);
1231 E
void FDECL(save_waterlevel
, (int, int));
1232 E
void FDECL(restore_waterlevel
, (int));
1233 E
const char *FDECL(waterbody_name
, (XCHAR_P
, XCHAR_P
));
1235 /* ### mkobj.c ### */
1237 E
struct oextra
*NDECL(newoextra
);
1238 E
void FDECL(copy_oextra
, (struct obj
*, struct obj
*));
1239 E
void FDECL(dealloc_oextra
, (struct obj
*));
1240 E
void FDECL(newomonst
, (struct obj
*));
1241 E
void FDECL(free_omonst
, (struct obj
*));
1242 E
void FDECL(newomid
, (struct obj
*));
1243 E
void FDECL(free_omid
, (struct obj
*));
1244 E
void FDECL(newolong
, (struct obj
*));
1245 E
void FDECL(free_olong
, (struct obj
*));
1246 E
void FDECL(new_omailcmd
, (struct obj
*, const char *));
1247 E
void FDECL(free_omailcmd
, (struct obj
*));
1248 E
struct obj
*FDECL(mkobj_at
, (CHAR_P
, int, int, BOOLEAN_P
));
1249 E
struct obj
*FDECL(mksobj_at
, (int, int, int, BOOLEAN_P
, BOOLEAN_P
));
1250 E
struct obj
*FDECL(mkobj
, (CHAR_P
, BOOLEAN_P
));
1251 E
int NDECL(rndmonnum
);
1252 E boolean
FDECL(bogon_is_pname
, (CHAR_P
));
1253 E
struct obj
*FDECL(splitobj
, (struct obj
*, long));
1254 E
struct obj
*FDECL(unsplitobj
, (struct obj
*));
1255 E
void NDECL(clear_splitobjs
);
1256 E
void FDECL(replace_object
, (struct obj
*, struct obj
*));
1257 E
void FDECL(bill_dummy_object
, (struct obj
*));
1258 E
void FDECL(costly_alteration
, (struct obj
*, int));
1259 E
struct obj
*FDECL(mksobj
, (int, BOOLEAN_P
, BOOLEAN_P
));
1260 E
int FDECL(bcsign
, (struct obj
*));
1261 E
int FDECL(weight
, (struct obj
*));
1262 E
struct obj
*FDECL(mkgold
, (long, int, int));
1263 E
struct obj
*FDECL(mkcorpstat
, (int, struct monst
*, struct permonst
*, int,
1265 E
int FDECL(corpse_revive_type
, (struct obj
*));
1266 E
struct obj
*FDECL(obj_attach_mid
, (struct obj
*, unsigned));
1267 E
struct monst
*FDECL(get_mtraits
, (struct obj
*, BOOLEAN_P
));
1268 E
struct obj
*FDECL(mk_tt_object
, (int, int, int));
1269 E
struct obj
*FDECL(mk_named_object
,
1270 (int, struct permonst
*, int, int, const char *));
1271 E
struct obj
*FDECL(rnd_treefruit_at
, (int, int));
1272 E
void FDECL(set_corpsenm
, (struct obj
*, int));
1273 E
void FDECL(start_corpse_timeout
, (struct obj
*));
1274 E
void FDECL(bless
, (struct obj
*));
1275 E
void FDECL(unbless
, (struct obj
*));
1276 E
void FDECL(curse
, (struct obj
*));
1277 E
void FDECL(uncurse
, (struct obj
*));
1278 E
void FDECL(blessorcurse
, (struct obj
*, int));
1279 E boolean
FDECL(is_flammable
, (struct obj
*));
1280 E boolean
FDECL(is_rottable
, (struct obj
*));
1281 E
void FDECL(place_object
, (struct obj
*, int, int));
1282 E
void FDECL(remove_object
, (struct obj
*));
1283 E
void FDECL(discard_minvent
, (struct monst
*));
1284 E
void FDECL(obj_extract_self
, (struct obj
*));
1285 E
void FDECL(extract_nobj
, (struct obj
*, struct obj
**));
1286 E
void FDECL(extract_nexthere
, (struct obj
*, struct obj
**));
1287 E
int FDECL(add_to_minv
, (struct monst
*, struct obj
*));
1288 E
struct obj
*FDECL(add_to_container
, (struct obj
*, struct obj
*));
1289 E
void FDECL(add_to_migration
, (struct obj
*));
1290 E
void FDECL(add_to_buried
, (struct obj
*));
1291 E
void FDECL(dealloc_obj
, (struct obj
*));
1292 E
void FDECL(obj_ice_effects
, (int, int, BOOLEAN_P
));
1293 E
long FDECL(peek_at_iced_corpse_age
, (struct obj
*));
1294 E
int FDECL(hornoplenty
, (struct obj
*, BOOLEAN_P
));
1295 E
void NDECL(obj_sanity_check
);
1296 E
struct obj
*FDECL(obj_nexto
, (struct obj
*));
1297 E
struct obj
*FDECL(obj_nexto_xy
, (struct obj
*, int, int, BOOLEAN_P
));
1298 E
struct obj
*FDECL(obj_absorb
, (struct obj
**, struct obj
**));
1299 E
struct obj
*FDECL(obj_meld
, (struct obj
**, struct obj
**));
1301 /* ### mkroom.c ### */
1303 E
void FDECL(mkroom
, (int));
1304 E
void FDECL(fill_zoo
, (struct mkroom
*));
1305 E
struct permonst
*NDECL(antholemon
);
1306 E boolean
FDECL(nexttodoor
, (int, int));
1307 E boolean
FDECL(has_dnstairs
, (struct mkroom
*));
1308 E boolean
FDECL(has_upstairs
, (struct mkroom
*));
1309 E
int FDECL(somex
, (struct mkroom
*));
1310 E
int FDECL(somey
, (struct mkroom
*));
1311 E boolean
FDECL(inside_room
, (struct mkroom
*, XCHAR_P
, XCHAR_P
));
1312 E boolean
FDECL(somexy
, (struct mkroom
*, coord
*));
1313 E
void FDECL(mkundead
, (coord
*, BOOLEAN_P
, int));
1314 E
struct permonst
*NDECL(courtmon
);
1315 E
void FDECL(save_rooms
, (int));
1316 E
void FDECL(rest_rooms
, (int));
1317 E
struct mkroom
*FDECL(search_special
, (SCHAR_P
));
1318 E
int FDECL(cmap_to_type
, (int));
1322 E
void NDECL(mon_sanity_check
);
1323 E
int FDECL(undead_to_corpse
, (int));
1324 E
int FDECL(genus
, (int, int));
1325 E
int FDECL(pm_to_cham
, (int));
1326 E
int FDECL(minliquid
, (struct monst
*));
1327 E
int NDECL(movemon
);
1328 E
int FDECL(meatmetal
, (struct monst
*));
1329 E
int FDECL(meatobj
, (struct monst
*));
1330 E
void FDECL(mpickgold
, (struct monst
*));
1331 E boolean
FDECL(mpickstuff
, (struct monst
*, const char *));
1332 E
int FDECL(curr_mon_load
, (struct monst
*));
1333 E
int FDECL(max_mon_load
, (struct monst
*));
1334 E
int FDECL(can_carry
, (struct monst
*, struct obj
*));
1335 E
int FDECL(mfndpos
, (struct monst
*, coord
*, long *, long));
1336 E boolean
FDECL(monnear
, (struct monst
*, int, int));
1337 E
void NDECL(dmonsfree
);
1338 E
int FDECL(mcalcmove
, (struct monst
*));
1339 E
void NDECL(mcalcdistress
);
1340 E
void FDECL(replmon
, (struct monst
*, struct monst
*));
1341 E
void FDECL(relmon
, (struct monst
*, struct monst
**));
1342 E
struct obj
*FDECL(mlifesaver
, (struct monst
*));
1343 E boolean
FDECL(corpse_chance
, (struct monst
*, struct monst
*, BOOLEAN_P
));
1344 E
void FDECL(mondead
, (struct monst
*));
1345 E
void FDECL(mondied
, (struct monst
*));
1346 E
void FDECL(mongone
, (struct monst
*));
1347 E
void FDECL(monstone
, (struct monst
*));
1348 E
void FDECL(monkilled
, (struct monst
*, const char *, int));
1349 E
void FDECL(unstuck
, (struct monst
*));
1350 E
void FDECL(killed
, (struct monst
*));
1351 E
void FDECL(xkilled
, (struct monst
*, int));
1352 E
void FDECL(mon_to_stone
, (struct monst
*));
1353 E
void FDECL(mnexto
, (struct monst
*));
1354 E
void FDECL(maybe_mnexto
, (struct monst
*));
1355 E boolean
FDECL(mnearto
, (struct monst
*, XCHAR_P
, XCHAR_P
, BOOLEAN_P
));
1356 E
void FDECL(m_respond
, (struct monst
*));
1357 E
void FDECL(setmangry
, (struct monst
*));
1358 E
void FDECL(wakeup
, (struct monst
*));
1359 E
void NDECL(wake_nearby
);
1360 E
void FDECL(wake_nearto
, (int, int, int));
1361 E
void FDECL(seemimic
, (struct monst
*));
1362 E
void NDECL(rescham
);
1363 E
void NDECL(restartcham
);
1364 E
void FDECL(restore_cham
, (struct monst
*));
1365 E boolean
FDECL(hideunder
, (struct monst
*));
1366 E
void FDECL(hide_monst
, (struct monst
*));
1367 E
void FDECL(mon_animal_list
, (BOOLEAN_P
));
1368 E
int FDECL(select_newcham_form
, (struct monst
*));
1369 E
void FDECL(mgender_from_permonst
, (struct monst
*, struct permonst
*));
1370 E
int FDECL(newcham
,
1371 (struct monst
*, struct permonst
*, BOOLEAN_P
, BOOLEAN_P
));
1372 E
int FDECL(can_be_hatched
, (int));
1373 E
int FDECL(egg_type_from_parent
, (int, BOOLEAN_P
));
1374 E boolean
FDECL(dead_species
, (int, BOOLEAN_P
));
1375 E
void NDECL(kill_genocided_monsters
);
1376 E
void FDECL(golemeffects
, (struct monst
*, int, int));
1377 E boolean
FDECL(angry_guards
, (BOOLEAN_P
));
1378 E
void NDECL(pacify_guards
);
1379 E
void FDECL(decide_to_shapeshift
, (struct monst
*, int));
1380 E boolean
FDECL(vamp_stone
, (struct monst
*));
1382 /* ### mondata.c ### */
1384 E
void FDECL(set_mon_data
, (struct monst
*, struct permonst
*, int));
1385 E
struct attack
*FDECL(attacktype_fordmg
, (struct permonst
*, int, int));
1386 E boolean
FDECL(attacktype
, (struct permonst
*, int));
1387 E boolean
FDECL(noattacks
, (struct permonst
*));
1388 E boolean
FDECL(poly_when_stoned
, (struct permonst
*));
1389 E boolean
FDECL(resists_drli
, (struct monst
*));
1390 E boolean
FDECL(resists_magm
, (struct monst
*));
1391 E boolean
FDECL(resists_blnd
, (struct monst
*));
1393 FDECL(can_blnd
, (struct monst
*, struct monst
*, UCHAR_P
, struct obj
*));
1394 E boolean
FDECL(ranged_attk
, (struct permonst
*));
1395 E boolean
FDECL(hates_silver
, (struct permonst
*));
1396 E boolean
FDECL(mon_hates_silver
, (struct monst
*));
1397 E boolean
FDECL(passes_bars
, (struct permonst
*));
1398 E boolean
FDECL(can_blow
, (struct monst
*));
1399 E boolean
FDECL(can_be_strangled
, (struct monst
*));
1400 E boolean
FDECL(can_track
, (struct permonst
*));
1401 E boolean
FDECL(breakarm
, (struct permonst
*));
1402 E boolean
FDECL(sliparm
, (struct permonst
*));
1403 E boolean
FDECL(sticks
, (struct permonst
*));
1404 E boolean
FDECL(cantvomit
, (struct permonst
*));
1405 E
int FDECL(num_horns
, (struct permonst
*));
1406 /* E boolean FDECL(canseemon, (struct monst *)); */
1407 E
struct attack
*FDECL(dmgtype_fromattack
, (struct permonst
*, int, int));
1408 E boolean
FDECL(dmgtype
, (struct permonst
*, int));
1409 E
int FDECL(max_passive_dmg
, (struct monst
*, struct monst
*));
1410 E boolean
FDECL(same_race
, (struct permonst
*, struct permonst
*));
1411 E
int FDECL(monsndx
, (struct permonst
*));
1412 E
int FDECL(name_to_mon
, (const char *));
1413 E
int FDECL(name_to_monclass
, (const char *, int *));
1414 E
int FDECL(gender
, (struct monst
*));
1415 E
int FDECL(pronoun_gender
, (struct monst
*));
1416 E boolean
FDECL(levl_follower
, (struct monst
*));
1417 E
int FDECL(little_to_big
, (int));
1418 E
int FDECL(big_to_little
, (int));
1419 E
const char *FDECL(locomotion
, (const struct permonst
*, const char *));
1420 E
const char *FDECL(stagger
, (const struct permonst
*, const char *));
1421 E
const char *FDECL(on_fire
, (struct permonst
*, struct attack
*));
1422 E
const struct permonst
*FDECL(raceptr
, (struct monst
*));
1423 E boolean
FDECL(olfaction
, (struct permonst
*));
1425 /* ### monmove.c ### */
1427 E boolean
FDECL(itsstuck
, (struct monst
*));
1428 E boolean
FDECL(mb_trapped
, (struct monst
*));
1429 E boolean
FDECL(monhaskey
, (struct monst
*, BOOLEAN_P
));
1430 E
void FDECL(mon_regen
, (struct monst
*, BOOLEAN_P
));
1431 E
int FDECL(dochugw
, (struct monst
*));
1432 E boolean
FDECL(onscary
, (int, int, struct monst
*));
1433 E
void FDECL(monflee
, (struct monst
*, int, BOOLEAN_P
, BOOLEAN_P
));
1434 E
void FDECL(mon_yells
, (struct monst
*, const char *));
1435 E
int FDECL(dochug
, (struct monst
*));
1436 E boolean
FDECL(m_digweapon_check
, (struct monst
*, XCHAR_P
, XCHAR_P
));
1437 E
int FDECL(m_move
, (struct monst
*, int));
1438 E
void FDECL(dissolve_bars
, (int, int));
1439 E boolean
FDECL(closed_door
, (int, int));
1440 E boolean
FDECL(accessible
, (int, int));
1441 E
void FDECL(set_apparxy
, (struct monst
*));
1442 E boolean
FDECL(can_ooze
, (struct monst
*));
1443 E boolean
FDECL(can_fog
, (struct monst
*));
1444 E boolean
FDECL(should_displace
,
1445 (struct monst
*, coord
*, long *, int, XCHAR_P
, XCHAR_P
));
1446 E boolean
FDECL(undesirable_disp
, (struct monst
*, XCHAR_P
, XCHAR_P
));
1448 /* ### monst.c ### */
1450 E
void NDECL(monst_init
);
1452 /* ### monstr.c ### */
1454 E
void NDECL(monstr_init
);
1456 /* ### mplayer.c ### */
1458 E
struct monst
*FDECL(mk_mplayer
,
1459 (struct permonst
*, XCHAR_P
, XCHAR_P
, BOOLEAN_P
));
1460 E
void FDECL(create_mplayers
, (int, BOOLEAN_P
));
1461 E
void FDECL(mplayer_talk
, (struct monst
*));
1463 #if defined(MICRO) || defined(WIN32)
1465 /* ### msdos.c,os2.c,tos.c,winnt.c ### */
1468 E
int NDECL(tgetch
);
1471 E
char NDECL(switchar
);
1474 E
long FDECL(freediskspace
, (char *));
1476 E
int FDECL(findfirst_file
, (char *));
1477 E
int NDECL(findnext_file
);
1478 E
long FDECL(filesize_nh
, (char *));
1480 E
int FDECL(findfirst
, (char *));
1481 E
int NDECL(findnext
);
1482 E
long FDECL(filesize
, (char *));
1484 E
char *NDECL(foundfile_buffer
);
1485 #endif /* __GO32__ */
1486 E
void FDECL(chdrive
, (char *));
1488 E
void NDECL(disable_ctrlP
);
1489 E
void NDECL(enable_ctrlP
);
1491 #if defined(MICRO) && !defined(WINNT)
1492 E
void NDECL(get_scr_size
);
1494 E
void FDECL(gotoxy
, (int, int));
1498 E
int FDECL(_copyfile
, (char *, char *));
1500 E
void NDECL(set_colors
);
1501 E
void NDECL(restore_colors
);
1503 E
int NDECL(dosuspend
);
1507 E
char *FDECL(get_username
, (int *));
1508 E
void FDECL(nt_regularize
, (char *));
1509 E
int NDECL((*nt_kbhit
));
1510 E
void FDECL(Delay
, (int));
1512 #endif /* MICRO || WIN32 */
1514 /* ### mthrowu.c ### */
1516 E
int FDECL(thitu
, (int, int, struct obj
*, const char *));
1517 E
int FDECL(ohitmon
, (struct monst
*, struct obj
*, int, BOOLEAN_P
));
1518 E
void FDECL(thrwmu
, (struct monst
*));
1519 E
int FDECL(spitmu
, (struct monst
*, struct attack
*));
1520 E
int FDECL(breamu
, (struct monst
*, struct attack
*));
1521 E boolean
FDECL(linedup
, (XCHAR_P
, XCHAR_P
, XCHAR_P
, XCHAR_P
, int));
1522 E boolean
FDECL(lined_up
, (struct monst
*));
1523 E
struct obj
*FDECL(m_carrying
, (struct monst
*, int));
1524 E
int FDECL(thrwmm
, (struct monst
*, struct monst
*));
1525 E
int FDECL(spitmm
, (struct monst
*, struct attack
*, struct monst
*));
1526 E
int FDECL(breamm
, (struct monst
*, struct attack
*, struct monst
*));
1527 E
void FDECL(m_useupall
, (struct monst
*, struct obj
*));
1528 E
void FDECL(m_useup
, (struct monst
*, struct obj
*));
1529 E
void FDECL(m_throw
, (struct monst
*, int, int, int, int, int, struct obj
*));
1530 E
void FDECL(hit_bars
, (struct obj
**, int, int, int, int,
1531 BOOLEAN_P
, BOOLEAN_P
));
1532 E boolean
FDECL(hits_bars
, (struct obj
**, int, int, int, int, int, int));
1534 /* ### muse.c ### */
1536 E boolean
FDECL(find_defensive
, (struct monst
*));
1537 E
int FDECL(use_defensive
, (struct monst
*));
1538 E
int FDECL(rnd_defensive_item
, (struct monst
*));
1539 E boolean
FDECL(find_offensive
, (struct monst
*));
1541 E
int FDECL(mbhitm
, (struct monst
*, struct obj
*));
1543 E
int FDECL(use_offensive
, (struct monst
*));
1544 E
int FDECL(rnd_offensive_item
, (struct monst
*));
1545 E boolean
FDECL(find_misc
, (struct monst
*));
1546 E
int FDECL(use_misc
, (struct monst
*));
1547 E
int FDECL(rnd_misc_item
, (struct monst
*));
1548 E boolean
FDECL(searches_for_item
, (struct monst
*, struct obj
*));
1549 E boolean
FDECL(mon_reflects
, (struct monst
*, const char *));
1550 E boolean
FDECL(ureflects
, (const char *, const char *));
1551 E boolean
FDECL(munstone
, (struct monst
*, BOOLEAN_P
));
1552 E boolean
FDECL(munslime
, (struct monst
*, BOOLEAN_P
));
1554 /* ### music.c ### */
1556 E
void FDECL(awaken_soldiers
, (struct monst
*));
1557 E
int FDECL(do_play_instrument
, (struct obj
*));
1559 /* ### nhlan.c ### */
1561 E
void NDECL(init_lan_features
);
1562 E
char *NDECL(lan_username
);
1565 /* ### nhregex.c ### */
1566 E
struct nhregex
*NDECL(regex_init
);
1567 E boolean
FDECL(regex_compile
, (const char *, struct nhregex
*));
1568 E
const char *FDECL(regex_error_desc
, (struct nhregex
*));
1569 E boolean
FDECL(regex_match
, (const char *, struct nhregex
*));
1570 E
void FDECL(regex_free
, (struct nhregex
*));
1572 /* ### nttty.c ### */
1575 E
void NDECL(get_scr_size
);
1576 E
int NDECL(nttty_kbhit
);
1577 E
void FDECL(nttty_open
, (int));
1578 E
void NDECL(nttty_rubout
);
1579 E
int NDECL(tgetch
);
1580 E
int FDECL(ntposkey
, (int *, int *, int *));
1581 E
void FDECL(set_output_mode
, (int));
1582 E
void NDECL(synch_cursor
);
1585 /* ### o_init.c ### */
1587 E
void NDECL(init_objects
);
1588 E
void FDECL(obj_shuffle_range
, (int, int *, int *));
1589 E
int NDECL(find_skates
);
1590 E
void NDECL(oinit
);
1591 E
void FDECL(savenames
, (int, int));
1592 E
void FDECL(restnames
, (int));
1593 E
void FDECL(discover_object
, (int, BOOLEAN_P
, BOOLEAN_P
));
1594 E
void FDECL(undiscover_object
, (int));
1595 E
int NDECL(dodiscovered
);
1596 E
int NDECL(doclassdisco
);
1597 E
void NDECL(rename_disco
);
1599 /* ### objects.c ### */
1601 E
void NDECL(objects_init
);
1603 /* ### objnam.c ### */
1605 E
char *FDECL(obj_typename
, (int));
1606 E
char *FDECL(simple_typename
, (int));
1607 E boolean
FDECL(obj_is_pname
, (struct obj
*));
1608 E
char *FDECL(distant_name
, (struct obj
*, char *(*)(OBJ_P
)));
1609 E
char *FDECL(fruitname
, (BOOLEAN_P
));
1610 E
char *FDECL(xname
, (struct obj
*));
1611 E
char *FDECL(mshot_xname
, (struct obj
*));
1612 E boolean
FDECL(the_unique_obj
, (struct obj
*));
1613 E boolean
FDECL(the_unique_pm
, (struct permonst
*));
1614 E boolean
FDECL(erosion_matters
, (struct obj
*));
1615 E
char *FDECL(doname
, (struct obj
*));
1616 E
char *FDECL(doname_with_price
, (struct obj
*));
1617 E
char *FDECL(doname_vague_quan
, (struct obj
*));
1618 E boolean
FDECL(not_fully_identified
, (struct obj
*));
1619 E
char *FDECL(corpse_xname
, (struct obj
*, const char *, unsigned));
1620 E
char *FDECL(cxname
, (struct obj
*));
1621 E
char *FDECL(cxname_singular
, (struct obj
*));
1622 E
char *FDECL(killer_xname
, (struct obj
*));
1623 E
char *FDECL(short_oname
,
1624 (struct obj
*, char *(*)(OBJ_P
), char *(*)(OBJ_P
), unsigned));
1625 E
const char *FDECL(singular
, (struct obj
*, char *(*)(OBJ_P
)));
1626 E
char *FDECL(an
, (const char *));
1627 E
char *FDECL(An
, (const char *));
1628 E
char *FDECL(The
, (const char *));
1629 E
char *FDECL(the
, (const char *));
1630 E
char *FDECL(aobjnam
, (struct obj
*, const char *));
1631 E
char *FDECL(yobjnam
, (struct obj
*, const char *));
1632 E
char *FDECL(Yobjnam2
, (struct obj
*, const char *));
1633 E
char *FDECL(Tobjnam
, (struct obj
*, const char *));
1634 E
char *FDECL(otense
, (struct obj
*, const char *));
1635 E
char *FDECL(vtense
, (const char *, const char *));
1636 E
char *FDECL(Doname2
, (struct obj
*));
1637 E
char *FDECL(yname
, (struct obj
*));
1638 E
char *FDECL(Yname2
, (struct obj
*));
1639 E
char *FDECL(ysimple_name
, (struct obj
*));
1640 E
char *FDECL(Ysimple_name2
, (struct obj
*));
1641 E
char *FDECL(simpleonames
, (struct obj
*));
1642 E
char *FDECL(ansimpleoname
, (struct obj
*));
1643 E
char *FDECL(thesimpleoname
, (struct obj
*));
1644 E
char *FDECL(bare_artifactname
, (struct obj
*));
1645 E
char *FDECL(makeplural
, (const char *));
1646 E
char *FDECL(makesingular
, (const char *));
1647 E
struct obj
*FDECL(readobjnam
, (char *, struct obj
*));
1648 E
int FDECL(rnd_class
, (int, int));
1649 E
const char *FDECL(suit_simple_name
, (struct obj
*));
1650 E
const char *FDECL(cloak_simple_name
, (struct obj
*));
1651 E
const char *FDECL(helm_simple_name
, (struct obj
*));
1652 E
const char *FDECL(mimic_obj_name
, (struct monst
*));
1653 E
char *FDECL(safe_qbuf
, (char *, const char *, const char *, struct obj
*,
1654 char *(*)(OBJ_P
), char *(*)(OBJ_P
), const char *));
1656 /* ### options.c ### */
1658 E
void NDECL(reglyph_darkroom
);
1659 E boolean
FDECL(match_optname
, (const char *, const char *, int, BOOLEAN_P
));
1660 E
void NDECL(initoptions
);
1661 E
void NDECL(initoptions_init
);
1662 E
void NDECL(initoptions_finish
);
1663 E
void FDECL(parseoptions
, (char *, BOOLEAN_P
, BOOLEAN_P
));
1665 E
int NDECL(dotogglepickup
);
1666 E
void NDECL(option_help
);
1667 E
void FDECL(next_opt
, (winid
, const char *));
1668 E
int FDECL(fruitadd
, (char *, struct fruit
*));
1669 E
int FDECL(choose_classes_menu
, (const char *, int, BOOLEAN_P
,
1671 E
void FDECL(parsebindings
, (char *));
1672 E
void FDECL(add_menu_cmd_alias
, (CHAR_P
, CHAR_P
));
1673 E
char FDECL(map_menu_cmd
, (CHAR_P
));
1674 E
void FDECL(assign_warnings
, (uchar
*));
1675 E
char *FDECL(nh_getenv
, (const char *));
1676 E
void FDECL(set_duplicate_opt_detection
, (int));
1677 E
void FDECL(set_wc_option_mod_status
, (unsigned long, int));
1678 E
void FDECL(set_wc2_option_mod_status
, (unsigned long, int));
1679 E
void FDECL(set_option_mod_status
, (const char *, int));
1680 E
int FDECL(add_autopickup_exception
, (const char *));
1681 E
void NDECL(free_autopickup_exceptions
);
1682 E
int FDECL(load_symset
, (const char *, int));
1683 E
void NDECL(free_symsets
);
1684 E boolean
FDECL(parsesymbols
, (char *));
1685 E
struct symparse
*FDECL(match_sym
, (char *));
1686 E
void NDECL(set_playmode
);
1687 E
int FDECL(sym_val
, (const char *));
1688 E
const char *FDECL(clr2colorname
, (int));
1689 E
int FDECL(match_str2clr
, (char *));
1690 E boolean
FDECL(add_menu_coloring
, (char *));
1691 E boolean
FDECL(get_menu_coloring
, (char *, int *, int *));
1692 E
void NDECL(free_menu_coloring
);
1693 E boolean
FDECL(msgtype_parse_add
, (char *));
1694 E
int FDECL(msgtype_type
, (const char *, BOOLEAN_P
));
1695 E
void FDECL(hide_unhide_msgtypes
, (BOOLEAN_P
, int));
1696 E
void NDECL(msgtype_free
);
1698 /* ### pager.c ### */
1700 E
char *FDECL(self_lookat
, (char *));
1701 E
void FDECL(mhidden_description
, (struct monst
*, BOOLEAN_P
, char *));
1702 E boolean
FDECL(object_from_map
, (int,int,int,struct obj
**));
1703 E
int FDECL(do_screen_description
, (coord
, BOOLEAN_P
, int, char *,
1705 E
int FDECL(do_look
, (int, coord
*));
1706 E
int NDECL(dowhatis
);
1707 E
int NDECL(doquickwhatis
);
1708 E
int NDECL(doidtrap
);
1709 E
int NDECL(dowhatdoes
);
1710 E
char *FDECL(dowhatdoes_core
, (CHAR_P
, char *));
1711 E
int NDECL(dohelp
);
1712 E
int NDECL(dohistory
);
1714 /* ### pcmain.c ### */
1716 #if defined(MICRO) || defined(WIN32)
1718 E
void FDECL(chdirx
, (char *, BOOLEAN_P
));
1720 E boolean
NDECL(authorize_wizard_mode
);
1721 #endif /* MICRO || WIN32 */
1723 /* ### pcsys.c ### */
1725 #if defined(MICRO) || defined(WIN32)
1726 E
void NDECL(flushout
);
1729 E
void FDECL(eraseall
, (const char *, const char *));
1730 E
void FDECL(copybones
, (int));
1731 E
void NDECL(playwoRAMdisk
);
1732 E
int FDECL(saveDiskPrompt
, (int));
1733 E
void NDECL(gameDiskPrompt
);
1735 E
void FDECL(append_slash
, (char *));
1736 E
void FDECL(getreturn
, (const char *));
1738 E
void VDECL(msmsg
, (const char *, ...));
1740 E
FILE *FDECL(fopenp
, (const char *, const char *));
1741 #endif /* MICRO || WIN32 */
1743 /* ### pctty.c ### */
1745 #if defined(MICRO) || defined(WIN32)
1746 E
void NDECL(gettty
);
1747 E
void FDECL(settty
, (const char *));
1748 E
void NDECL(setftty
);
1749 E
void VDECL(error
, (const char *, ...));
1750 #if defined(TIMED_DELAY) && defined(_MSC_VER)
1751 E
void FDECL(msleep
, (unsigned));
1753 #endif /* MICRO || WIN32 */
1755 /* ### pcunix.c ### */
1758 E
void FDECL(regularize
, (char *));
1760 #if defined(PC_LOCKING)
1761 E
void NDECL(getlock
);
1764 /* ### pickup.c ### */
1766 E
int FDECL(collect_obj_classes
, (char *, struct obj
*, BOOLEAN_P
,
1767 boolean
FDECL((*), (OBJ_P
)), int *));
1768 E boolean
FDECL(rider_corpse_revival
, (struct obj
*, BOOLEAN_P
));
1769 E
void FDECL(add_valid_menu_class
, (int));
1770 E boolean
FDECL(allow_all
, (struct obj
*));
1771 E boolean
FDECL(allow_category
, (struct obj
*));
1772 E boolean
FDECL(is_worn_by_type
, (struct obj
*));
1773 E
int FDECL(ck_bag
, (struct obj
*));
1775 E
int FDECL(in_container
, (struct obj
*));
1776 E
int FDECL(out_container
, (struct obj
*));
1778 E
int FDECL(pickup
, (int));
1779 E
int FDECL(pickup_object
, (struct obj
*, long, BOOLEAN_P
));
1780 E
int FDECL(query_category
, (const char *, struct obj
*, int,
1781 menu_item
**, int));
1782 E
int FDECL(query_objlist
, (const char *, struct obj
**, int,
1783 menu_item
**, int, boolean (*)(OBJ_P
)));
1784 E
struct obj
*FDECL(pick_obj
, (struct obj
*));
1785 E
int NDECL(encumber_msg
);
1786 E
int FDECL(container_at
, (int, int, BOOLEAN_P
));
1787 E
int NDECL(doloot
);
1788 E boolean
FDECL(container_gone
, (int (*)(OBJ_P
)));
1789 E boolean
NDECL(u_handsy
);
1790 E
int FDECL(use_container
, (struct obj
**, int, BOOLEAN_P
));
1791 E
int FDECL(loot_mon
, (struct monst
*, int *, boolean
*));
1793 E boolean
FDECL(is_autopickup_exception
, (struct obj
*, BOOLEAN_P
));
1795 /* ### pline.c ### */
1797 E
void VDECL(pline
, (const char *, ...)) PRINTF_F(1, 2);
1798 E
void VDECL(Norep
, (const char *, ...)) PRINTF_F(1, 2);
1799 E
void NDECL(free_youbuf
);
1800 E
void VDECL(You
, (const char *, ...)) PRINTF_F(1, 2);
1801 E
void VDECL(Your
, (const char *, ...)) PRINTF_F(1, 2);
1802 E
void VDECL(You_feel
, (const char *, ...)) PRINTF_F(1, 2);
1803 E
void VDECL(You_cant
, (const char *, ...)) PRINTF_F(1, 2);
1804 E
void VDECL(You_hear
, (const char *, ...)) PRINTF_F(1, 2);
1805 E
void VDECL(You_see
, (const char *, ...)) PRINTF_F(1, 2);
1806 E
void VDECL(pline_The
, (const char *, ...)) PRINTF_F(1, 2);
1807 E
void VDECL(There
, (const char *, ...)) PRINTF_F(1, 2);
1808 E
void VDECL(verbalize
, (const char *, ...)) PRINTF_F(1, 2);
1809 E
void VDECL(raw_printf
, (const char *, ...)) PRINTF_F(1, 2);
1810 E
void VDECL(impossible
, (const char *, ...)) PRINTF_F(1, 2);
1811 E
const char *FDECL(align_str
, (ALIGNTYP_P
));
1812 E
void FDECL(mstatusline
, (struct monst
*));
1813 E
void NDECL(ustatusline
);
1814 E
void NDECL(self_invis_message
);
1815 E
char *FDECL(piousness
, (BOOLEAN_P
, const char *));
1816 E
void FDECL(pudding_merge_message
, (struct obj
*, struct obj
*));
1818 /* ### polyself.c ### */
1820 E
void NDECL(set_uasmon
);
1821 E
void NDECL(float_vs_flight
);
1822 E
void NDECL(change_sex
);
1823 E
void FDECL(polyself
, (int));
1824 E
int FDECL(polymon
, (int));
1825 E
void NDECL(rehumanize
);
1826 E
int NDECL(dobreathe
);
1827 E
int NDECL(dospit
);
1828 E
int NDECL(doremove
);
1829 E
int NDECL(dospinweb
);
1830 E
int NDECL(dosummon
);
1831 E
int NDECL(dogaze
);
1832 E
int NDECL(dohide
);
1833 E
int NDECL(dopoly
);
1834 E
int NDECL(domindblast
);
1835 E
void FDECL(skinback
, (BOOLEAN_P
));
1836 E
const char *FDECL(mbodypart
, (struct monst
*, int));
1837 E
const char *FDECL(body_part
, (int));
1838 E
int NDECL(poly_gender
);
1839 E
void FDECL(ugolemeffects
, (int, int));
1841 /* ### potion.c ### */
1843 E
void FDECL(set_itimeout
, (long *, long));
1844 E
void FDECL(incr_itimeout
, (long *, int));
1845 E
void FDECL(make_confused
, (long, BOOLEAN_P
));
1846 E
void FDECL(make_stunned
, (long, BOOLEAN_P
));
1847 E
void FDECL(make_blinded
, (long, BOOLEAN_P
));
1848 E
void FDECL(make_sick
, (long, const char *, BOOLEAN_P
, int));
1849 E
void FDECL(make_slimed
, (long, const char *));
1850 E
void FDECL(make_stoned
, (long, const char *, int, const char *));
1851 E
void FDECL(make_vomiting
, (long, BOOLEAN_P
));
1852 E boolean
FDECL(make_hallucinated
, (long, BOOLEAN_P
, long));
1853 E
void FDECL(make_deaf
, (long, BOOLEAN_P
));
1854 E
int NDECL(dodrink
);
1855 E
int FDECL(dopotion
, (struct obj
*));
1856 E
int FDECL(peffects
, (struct obj
*));
1857 E
void FDECL(healup
, (int, int, BOOLEAN_P
, BOOLEAN_P
));
1858 E
void FDECL(strange_feeling
, (struct obj
*, const char *));
1859 E
void FDECL(potionhit
, (struct monst
*, struct obj
*, BOOLEAN_P
));
1860 E
void FDECL(potionbreathe
, (struct obj
*));
1862 E
void FDECL(mongrantswish
, (struct monst
**));
1863 E
void FDECL(djinni_from_bottle
, (struct obj
*));
1864 E
struct monst
*FDECL(split_mon
, (struct monst
*, struct monst
*));
1865 E
const char *NDECL(bottlename
);
1867 /* ### pray.c ### */
1869 E boolean
FDECL(critically_low_hp
, (BOOLEAN_P
));
1871 E
int NDECL(prayer_done
);
1873 E
int NDECL(dosacrifice
);
1874 E boolean
FDECL(can_pray
, (BOOLEAN_P
));
1875 E
int NDECL(dopray
);
1876 E
const char *NDECL(u_gname
);
1877 E
int NDECL(doturn
);
1878 E
const char *NDECL(a_gname
);
1879 E
const char *FDECL(a_gname_at
, (XCHAR_P x
, XCHAR_P y
));
1880 E
const char *FDECL(align_gname
, (ALIGNTYP_P
));
1881 E
const char *FDECL(halu_gname
, (ALIGNTYP_P
));
1882 E
const char *FDECL(align_gtitle
, (ALIGNTYP_P
));
1883 E
void FDECL(altar_wrath
, (int, int));
1885 /* ### priest.c ### */
1887 E
int FDECL(move_special
, (struct monst
*, BOOLEAN_P
, SCHAR_P
, BOOLEAN_P
,
1888 BOOLEAN_P
, XCHAR_P
, XCHAR_P
, XCHAR_P
, XCHAR_P
));
1889 E
char FDECL(temple_occupied
, (char *));
1890 E boolean
FDECL(inhistemple
, (struct monst
*));
1891 E
int FDECL(pri_move
, (struct monst
*));
1892 E
void FDECL(priestini
, (d_level
*, struct mkroom
*, int, int, BOOLEAN_P
));
1893 E aligntyp
FDECL(mon_aligntyp
, (struct monst
*));
1894 E
char *FDECL(priestname
, (struct monst
*, char *));
1895 E boolean
FDECL(p_coaligned
, (struct monst
*));
1896 E
struct monst
*FDECL(findpriest
, (CHAR_P
));
1897 E
void FDECL(intemple
, (int));
1898 E
void FDECL(forget_temple_entry
, (struct monst
*));
1899 E
void FDECL(priest_talk
, (struct monst
*));
1900 E
struct monst
*FDECL(mk_roamer
, (struct permonst
*, ALIGNTYP_P
, XCHAR_P
,
1901 XCHAR_P
, BOOLEAN_P
));
1902 E
void FDECL(reset_hostility
, (struct monst
*));
1903 E boolean
FDECL(in_your_sanctuary
, (struct monst
*, XCHAR_P
, XCHAR_P
));
1904 E
void FDECL(ghod_hitsu
, (struct monst
*));
1905 E
void NDECL(angry_priest
);
1906 E
void NDECL(clearpriests
);
1907 E
void FDECL(restpriest
, (struct monst
*, BOOLEAN_P
));
1908 E
void FDECL(newepri
, (struct monst
*));
1909 E
void FDECL(free_epri
, (struct monst
*));
1911 /* ### quest.c ### */
1913 E
void NDECL(onquest
);
1914 E
void NDECL(nemdead
);
1915 E
void FDECL(artitouch
, (struct obj
*));
1916 E boolean
NDECL(ok_to_quest
);
1917 E
void FDECL(leader_speaks
, (struct monst
*));
1918 E
void NDECL(nemesis_speaks
);
1919 E
void FDECL(quest_chat
, (struct monst
*));
1920 E
void FDECL(quest_talk
, (struct monst
*));
1921 E
void FDECL(quest_stat_check
, (struct monst
*));
1922 E
void FDECL(finish_quest
, (struct obj
*));
1924 /* ### questpgr.c ### */
1926 E
void NDECL(load_qtlist
);
1927 E
void NDECL(unload_qtlist
);
1928 E
short FDECL(quest_info
, (int));
1929 E
const char *NDECL(ldrname
);
1930 E boolean
FDECL(is_quest_artifact
, (struct obj
*));
1931 E
void FDECL(com_pager
, (int));
1932 E
void FDECL(qt_pager
, (int));
1933 E
struct permonst
*NDECL(qt_montype
);
1934 E
void NDECL(deliver_splev_message
);
1936 /* ### random.c ### */
1938 #if defined(RANDOM) && !defined(__GO32__) /* djgpp has its own random */
1939 E
void FDECL(srandom
, (unsigned));
1940 E
char *FDECL(initstate
, (unsigned, char *, int));
1941 E
char *FDECL(setstate
, (char *));
1942 E
long NDECL(random
);
1945 /* ### read.c ### */
1947 E
void FDECL(learnscroll
, (struct obj
*));
1948 E
char *FDECL(tshirt_text
, (struct obj
*, char *));
1949 E
int NDECL(doread
);
1950 E boolean
FDECL(is_chargeable
, (struct obj
*));
1951 E
void FDECL(recharge
, (struct obj
*, int));
1952 E
void FDECL(forget_objects
, (int));
1953 E
void FDECL(forget_levels
, (int));
1954 E
void NDECL(forget_traps
);
1955 E
void FDECL(forget_map
, (int));
1956 E
int FDECL(seffects
, (struct obj
*));
1957 E
void FDECL(drop_boulder_on_player
,
1958 (BOOLEAN_P
, BOOLEAN_P
, BOOLEAN_P
, BOOLEAN_P
));
1959 E boolean
FDECL(drop_boulder_on_monster
, (int, int, BOOLEAN_P
, BOOLEAN_P
));
1960 E
void FDECL(wand_explode
, (struct obj
*, int));
1962 E
void FDECL(set_lit
, (int, int, genericptr_t
));
1964 E
void FDECL(litroom
, (BOOLEAN_P
, struct obj
*));
1965 E
void FDECL(do_genocide
, (int));
1966 E
void FDECL(punish
, (struct obj
*));
1967 E
void NDECL(unpunish
);
1968 E boolean
FDECL(cant_revive
, (int *, BOOLEAN_P
, struct obj
*));
1969 E boolean
NDECL(create_particular
);
1971 /* ### rect.c ### */
1973 E
void NDECL(init_rect
);
1974 E NhRect
*FDECL(get_rect
, (NhRect
*));
1975 E NhRect
*NDECL(rnd_rect
);
1976 E
void FDECL(remove_rect
, (NhRect
*));
1977 E
void FDECL(add_rect
, (NhRect
*));
1978 E
void FDECL(split_rects
, (NhRect
*, NhRect
*));
1980 /* ## region.c ### */
1981 E
void NDECL(clear_regions
);
1982 E
void NDECL(run_regions
);
1983 E boolean
FDECL(in_out_region
, (XCHAR_P
, XCHAR_P
));
1984 E boolean
FDECL(m_in_out_region
, (struct monst
*, XCHAR_P
, XCHAR_P
));
1985 E
void NDECL(update_player_regions
);
1986 E
void FDECL(update_monster_region
, (struct monst
*));
1987 E NhRegion
*FDECL(visible_region_at
, (XCHAR_P
, XCHAR_P
));
1988 E
void FDECL(show_region
, (NhRegion
*, XCHAR_P
, XCHAR_P
));
1989 E
void FDECL(save_regions
, (int, int));
1990 E
void FDECL(rest_regions
, (int, BOOLEAN_P
));
1991 E
void FDECL(region_stats
, (const char *, char *, long *, long *));
1992 E NhRegion
*FDECL(create_gas_cloud
, (XCHAR_P
, XCHAR_P
, int, int));
1993 E boolean
NDECL(region_danger
);
1994 E
void NDECL(region_safety
);
1996 /* ### restore.c ### */
1998 E
void FDECL(inven_inuse
, (BOOLEAN_P
));
1999 E
int FDECL(dorecover
, (int));
2000 E
void FDECL(restcemetery
, (int, struct cemetery
**));
2001 E
void FDECL(trickery
, (char *));
2002 E
void FDECL(getlev
, (int, int, XCHAR_P
, BOOLEAN_P
));
2003 E
void FDECL(get_plname_from_file
, (int, char *));
2005 E
int FDECL(restore_menu
, (winid
));
2007 E
void NDECL(minit
);
2008 E boolean
FDECL(lookup_id_mapping
, (unsigned, unsigned *));
2009 E
void FDECL(mread
, (int, genericptr_t
, unsigned int));
2010 E
int FDECL(validate
, (int, const char *));
2011 E
void NDECL(reset_restpref
);
2012 E
void FDECL(set_restpref
, (const char *));
2013 E
void FDECL(set_savepref
, (const char *));
2017 E
void FDECL(genl_outrip
, (winid
, int, time_t));
2021 E
int FDECL(rn2
, (int));
2022 E
int FDECL(rnl
, (int));
2023 E
int FDECL(rnd
, (int));
2024 E
int FDECL(d
, (int, int));
2025 E
int FDECL(rne
, (int));
2026 E
int FDECL(rnz
, (int));
2028 /* ### role.c ### */
2030 E boolean
FDECL(validrole
, (int));
2031 E boolean
FDECL(validrace
, (int, int));
2032 E boolean
FDECL(validgend
, (int, int, int));
2033 E boolean
FDECL(validalign
, (int, int, int));
2034 E
int NDECL(randrole
);
2035 E
int FDECL(randrace
, (int));
2036 E
int FDECL(randgend
, (int, int));
2037 E
int FDECL(randalign
, (int, int));
2038 E
int FDECL(str2role
, (const char *));
2039 E
int FDECL(str2race
, (const char *));
2040 E
int FDECL(str2gend
, (const char *));
2041 E
int FDECL(str2align
, (const char *));
2042 E boolean
FDECL(ok_role
, (int, int, int, int));
2043 E
int FDECL(pick_role
, (int, int, int, int));
2044 E boolean
FDECL(ok_race
, (int, int, int, int));
2045 E
int FDECL(pick_race
, (int, int, int, int));
2046 E boolean
FDECL(ok_gend
, (int, int, int, int));
2047 E
int FDECL(pick_gend
, (int, int, int, int));
2048 E boolean
FDECL(ok_align
, (int, int, int, int));
2049 E
int FDECL(pick_align
, (int, int, int, int));
2050 E
void NDECL(rigid_role_checks
);
2051 E boolean
FDECL(setrolefilter
, (const char *));
2052 E boolean
NDECL(gotrolefilter
);
2053 E
void NDECL(clearrolefilter
);
2054 E
char *FDECL(build_plselection_prompt
, (char *, int, int, int, int, int));
2055 E
char *FDECL(root_plselection_prompt
, (char *, int, int, int, int, int));
2056 E
void NDECL(plnamesuffix
);
2057 E
void FDECL(role_selection_prolog
, (int, winid
));
2058 E
void FDECL(role_menu_extra
, (int, winid
, BOOLEAN_P
));
2059 E
void NDECL(role_init
);
2060 E
const char *FDECL(Hello
, (struct monst
*));
2061 E
const char *NDECL(Goodbye
);
2063 /* ### rumors.c ### */
2065 E
char *FDECL(getrumor
, (int, char *, BOOLEAN_P
));
2066 E
char *FDECL(get_rnd_text
, (const char *, char *));
2067 E
void FDECL(outrumor
, (int, int));
2068 E
void FDECL(outoracle
, (BOOLEAN_P
, BOOLEAN_P
));
2069 E
void FDECL(save_oracles
, (int, int));
2070 E
void FDECL(restore_oracles
, (int));
2071 E
int FDECL(doconsult
, (struct monst
*));
2072 E
void NDECL(rumor_check
);
2074 /* ### save.c ### */
2076 E
int NDECL(dosave
);
2077 E
int NDECL(dosave0
);
2078 E boolean
FDECL(tricked_fileremoved
, (int, char *));
2080 E
void NDECL(savestateinlock
);
2083 E boolean
FDECL(savelev
, (int, XCHAR_P
, int));
2084 E boolean
FDECL(swapin_file
, (int));
2085 E
void NDECL(co_false
);
2087 E
void FDECL(savelev
, (int, XCHAR_P
, int));
2089 E genericptr_t
FDECL(mon_to_buffer
, (struct monst
*, int *));
2090 E
void FDECL(bufon
, (int));
2091 E
void FDECL(bufoff
, (int));
2092 E
void FDECL(bflush
, (int));
2093 E
void FDECL(bwrite
, (int, genericptr_t
, unsigned int));
2094 E
void FDECL(bclose
, (int));
2095 E
void FDECL(def_bclose
, (int));
2096 #if defined(ZEROCOMP)
2097 E
void FDECL(zerocomp_bclose
, (int));
2099 E
void FDECL(savecemetery
, (int, int, struct cemetery
**));
2100 E
void FDECL(savefruitchn
, (int, int));
2101 E
void FDECL(store_plname_in_file
, (int));
2102 E
void NDECL(free_dungeons
);
2103 E
void NDECL(freedynamicdata
);
2104 E
void FDECL(store_savefileinfo
, (int));
2108 E
long FDECL(money2mon
, (struct monst
*, long));
2109 E
void FDECL(money2u
, (struct monst
*, long));
2110 E
void FDECL(shkgone
, (struct monst
*));
2111 E
void FDECL(set_residency
, (struct monst
*, BOOLEAN_P
));
2112 E
void FDECL(replshk
, (struct monst
*, struct monst
*));
2113 E
void FDECL(restshk
, (struct monst
*, BOOLEAN_P
));
2114 E
char FDECL(inside_shop
, (XCHAR_P
, XCHAR_P
));
2115 E
void FDECL(u_left_shop
, (char *, BOOLEAN_P
));
2116 E
void FDECL(remote_burglary
, (XCHAR_P
, XCHAR_P
));
2117 E
void FDECL(u_entered_shop
, (char *));
2118 E
void FDECL(pick_pick
, (struct obj
*));
2119 E boolean
FDECL(same_price
, (struct obj
*, struct obj
*));
2120 E
void NDECL(shopper_financial_report
);
2121 E
int FDECL(inhishop
, (struct monst
*));
2122 E
struct monst
*FDECL(shop_keeper
, (CHAR_P
));
2123 E boolean
FDECL(tended_shop
, (struct mkroom
*));
2124 E boolean
FDECL(is_unpaid
, (struct obj
*));
2125 E
void FDECL(delete_contents
, (struct obj
*));
2126 E
void FDECL(obfree
, (struct obj
*, struct obj
*));
2127 E
void FDECL(home_shk
, (struct monst
*, BOOLEAN_P
));
2128 E
void FDECL(make_happy_shk
, (struct monst
*, BOOLEAN_P
));
2129 E
void FDECL(make_happy_shoppers
, (BOOLEAN_P
));
2130 E
void FDECL(hot_pursuit
, (struct monst
*));
2131 E
void FDECL(make_angry_shk
, (struct monst
*, XCHAR_P
, XCHAR_P
));
2133 E boolean
FDECL(paybill
, (int));
2134 E
void NDECL(finish_paybill
);
2135 E
struct obj
*FDECL(find_oid
, (unsigned));
2136 E
long FDECL(contained_cost
,
2137 (struct obj
*, struct monst
*, long, BOOLEAN_P
, BOOLEAN_P
));
2138 E
long FDECL(contained_gold
, (struct obj
*));
2139 E
void FDECL(picked_container
, (struct obj
*));
2140 E
void FDECL(alter_cost
, (struct obj
*, long));
2141 E
long FDECL(unpaid_cost
, (struct obj
*, BOOLEAN_P
));
2142 E boolean
FDECL(billable
, (struct monst
**, struct obj
*, CHAR_P
, BOOLEAN_P
));
2143 E
void FDECL(addtobill
, (struct obj
*, BOOLEAN_P
, BOOLEAN_P
, BOOLEAN_P
));
2144 E
void FDECL(splitbill
, (struct obj
*, struct obj
*));
2145 E
void FDECL(subfrombill
, (struct obj
*, struct monst
*));
2146 E
long FDECL(stolen_value
,
2147 (struct obj
*, XCHAR_P
, XCHAR_P
, BOOLEAN_P
, BOOLEAN_P
));
2148 E
void FDECL(sellobj_state
, (int));
2149 E
void FDECL(sellobj
, (struct obj
*, XCHAR_P
, XCHAR_P
));
2150 E
int FDECL(doinvbill
, (int));
2151 E
struct monst
*FDECL(shkcatch
, (struct obj
*, XCHAR_P
, XCHAR_P
));
2152 E
void FDECL(add_damage
, (XCHAR_P
, XCHAR_P
, long));
2153 E
int FDECL(repair_damage
, (struct monst
*, struct damage
*, BOOLEAN_P
));
2154 E
int FDECL(shk_move
, (struct monst
*));
2155 E
void FDECL(after_shk_move
, (struct monst
*));
2156 E boolean
FDECL(is_fshk
, (struct monst
*));
2157 E
void FDECL(shopdig
, (int));
2158 E
void FDECL(pay_for_damage
, (const char *, BOOLEAN_P
));
2159 E boolean
FDECL(costly_spot
, (XCHAR_P
, XCHAR_P
));
2160 E
struct obj
*FDECL(shop_object
, (XCHAR_P
, XCHAR_P
));
2161 E
void FDECL(price_quote
, (struct obj
*));
2162 E
void FDECL(shk_chat
, (struct monst
*));
2163 E
void FDECL(check_unpaid_usage
, (struct obj
*, BOOLEAN_P
));
2164 E
void FDECL(check_unpaid
, (struct obj
*));
2165 E
void FDECL(costly_gold
, (XCHAR_P
, XCHAR_P
, long));
2166 E
long FDECL(get_cost_of_shop_item
, (struct obj
*));
2167 E boolean
FDECL(block_door
, (XCHAR_P
, XCHAR_P
));
2168 E boolean
FDECL(block_entry
, (XCHAR_P
, XCHAR_P
));
2169 E
char *FDECL(shk_your
, (char *, struct obj
*));
2170 E
char *FDECL(Shk_Your
, (char *, struct obj
*));
2172 /* ### shknam.c ### */
2174 E
void FDECL(neweshk
, (struct monst
*));
2175 E
void FDECL(free_eshk
, (struct monst
*));
2176 E
void FDECL(stock_room
, (int, struct mkroom
*));
2177 E boolean
FDECL(saleable
, (struct monst
*, struct obj
*));
2178 E
int FDECL(get_shop_item
, (int));
2179 E
char *FDECL(Shknam
, (struct monst
*));
2180 E
char *FDECL(shkname
, (struct monst
*));
2181 E boolean
FDECL(shkname_is_pname
, (struct monst
*));
2182 E boolean
FDECL(is_izchak
, (struct monst
*, BOOLEAN_P
));
2186 E
void NDECL(take_gold
);
2188 E
void NDECL(rndcurse
);
2189 E
void NDECL(attrcurse
);
2191 /* ### sounds.c ### */
2193 E
void NDECL(dosounds
);
2194 E
const char *FDECL(growl_sound
, (struct monst
*));
2195 E
void FDECL(growl
, (struct monst
*));
2196 E
void FDECL(yelp
, (struct monst
*));
2197 E
void FDECL(whimper
, (struct monst
*));
2198 E
void FDECL(beg
, (struct monst
*));
2199 E
int NDECL(dotalk
);
2201 E
int FDECL(add_sound_mapping
, (const char *));
2202 E
void FDECL(play_sound_for_message
, (const char *));
2207 E
void NDECL(sys_early_init
);
2208 E
void NDECL(sysopt_release
);
2209 E
void FDECL(sysopt_seduce_set
, (int));
2211 /* ### sys/msdos/sound.c ### */
2214 E
int FDECL(assign_soundcard
, (char *));
2217 /* ### sp_lev.c ### */
2219 E boolean
FDECL(check_room
, (xchar
*, xchar
*, xchar
*, xchar
*, BOOLEAN_P
));
2220 E boolean
FDECL(create_room
, (XCHAR_P
, XCHAR_P
, XCHAR_P
, XCHAR_P
, XCHAR_P
,
2221 XCHAR_P
, XCHAR_P
, XCHAR_P
));
2222 E
void FDECL(create_secret_door
, (struct mkroom
*, XCHAR_P
));
2224 FDECL(dig_corridor
, (coord
*, coord
*, BOOLEAN_P
, SCHAR_P
, SCHAR_P
));
2225 E
void FDECL(fill_room
, (struct mkroom
*, BOOLEAN_P
));
2226 E boolean
FDECL(load_special
, (const char *));
2228 /* ### spell.c ### */
2230 E
void FDECL(book_cursed
, (struct obj
*));
2234 E
int FDECL(study_book
, (struct obj
*));
2235 E
void FDECL(book_disappears
, (struct obj
*));
2236 E
void FDECL(book_substitution
, (struct obj
*, struct obj
*));
2237 E
void NDECL(age_spells
);
2238 E
int NDECL(docast
);
2239 E
int FDECL(spell_skilltype
, (int));
2240 E
int FDECL(spelleffects
, (int, BOOLEAN_P
));
2241 E
void NDECL(losespells
);
2242 E
int NDECL(dovspell
);
2243 E
void FDECL(initialspell
, (struct obj
*));
2245 /* ### steal.c ### */
2248 E
int NDECL(stealarm
);
2250 E
long FDECL(somegold
, (long));
2251 E
void FDECL(stealgold
, (struct monst
*));
2252 E
void FDECL(remove_worn_item
, (struct obj
*, BOOLEAN_P
));
2253 E
int FDECL(steal
, (struct monst
*, char *));
2254 E
int FDECL(mpickobj
, (struct monst
*, struct obj
*));
2255 E
void FDECL(stealamulet
, (struct monst
*));
2256 E
void FDECL(maybe_absorb_item
, (struct monst
*, struct obj
*, int, int));
2257 E
void FDECL(mdrop_obj
, (struct monst
*, struct obj
*, BOOLEAN_P
));
2258 E
void FDECL(mdrop_special_objs
, (struct monst
*));
2259 E
void FDECL(relobj
, (struct monst
*, int, BOOLEAN_P
));
2260 E
struct obj
*FDECL(findgold
, (struct obj
*));
2262 /* ### steed.c ### */
2264 E
void NDECL(rider_cant_reach
);
2265 E boolean
FDECL(can_saddle
, (struct monst
*));
2266 E
int FDECL(use_saddle
, (struct obj
*));
2267 E
void FDECL(put_saddle_on_mon
, (struct obj
*, struct monst
*));
2268 E boolean
FDECL(can_ride
, (struct monst
*));
2269 E
int NDECL(doride
);
2270 E boolean
FDECL(mount_steed
, (struct monst
*, BOOLEAN_P
));
2271 E
void NDECL(exercise_steed
);
2272 E
void NDECL(kick_steed
);
2273 E
void FDECL(dismount_steed
, (int));
2274 E
void FDECL(place_monster
, (struct monst
*, int, int));
2275 E boolean
FDECL(stucksteed
, (BOOLEAN_P
));
2277 /* ### teleport.c ### */
2279 E boolean
FDECL(goodpos
, (int, int, struct monst
*, unsigned));
2280 E boolean
FDECL(enexto
, (coord
*, XCHAR_P
, XCHAR_P
, struct permonst
*));
2282 FDECL(enexto_core
, (coord
*, XCHAR_P
, XCHAR_P
, struct permonst
*, unsigned));
2283 E
void FDECL(teleds
, (int, int, BOOLEAN_P
));
2284 E boolean
FDECL(safe_teleds
, (BOOLEAN_P
));
2285 E boolean
FDECL(teleport_pet
, (struct monst
*, BOOLEAN_P
));
2287 E boolean
FDECL(scrolltele
, (struct obj
*));
2288 E
int NDECL(dotele
);
2289 E
void NDECL(level_tele
);
2290 E
void FDECL(domagicportal
, (struct trap
*));
2291 E
void FDECL(tele_trap
, (struct trap
*));
2292 E
void FDECL(level_tele_trap
, (struct trap
*));
2293 E
void FDECL(rloc_to
, (struct monst
*, int, int));
2294 E boolean
FDECL(rloc
, (struct monst
*, BOOLEAN_P
));
2295 E boolean
FDECL(tele_restrict
, (struct monst
*));
2296 E
void FDECL(mtele_trap
, (struct monst
*, struct trap
*, int));
2297 E
int FDECL(mlevel_tele_trap
,
2298 (struct monst
*, struct trap
*, BOOLEAN_P
, int));
2299 E boolean
FDECL(rloco
, (struct obj
*));
2300 E
int NDECL(random_teleport_level
);
2301 E boolean
FDECL(u_teleport_mon
, (struct monst
*, BOOLEAN_P
));
2303 /* ### tile.c ### */
2305 E
void FDECL(substitute_tiles
, (d_level
*));
2308 /* ### timeout.c ### */
2310 E
void NDECL(burn_away_slime
);
2311 E
void NDECL(nh_timeout
);
2312 E
void FDECL(fall_asleep
, (int, BOOLEAN_P
));
2313 E
void FDECL(attach_egg_hatch_timeout
, (struct obj
*, long));
2314 E
void FDECL(attach_fig_transform_timeout
, (struct obj
*));
2315 E
void FDECL(kill_egg
, (struct obj
*));
2316 E
void FDECL(hatch_egg
, (ANY_P
*, long));
2317 E
void FDECL(learn_egg_type
, (int));
2318 E
void FDECL(burn_object
, (ANY_P
*, long));
2319 E
void FDECL(begin_burn
, (struct obj
*, BOOLEAN_P
));
2320 E
void FDECL(end_burn
, (struct obj
*, BOOLEAN_P
));
2321 E
void NDECL(do_storms
);
2322 E boolean
FDECL(start_timer
, (long, SHORT_P
, SHORT_P
, ANY_P
*));
2323 E
long FDECL(stop_timer
, (SHORT_P
, ANY_P
*));
2324 E
long FDECL(peek_timer
, (SHORT_P
, ANY_P
*));
2325 E
void NDECL(run_timers
);
2326 E
void FDECL(obj_move_timers
, (struct obj
*, struct obj
*));
2327 E
void FDECL(obj_split_timers
, (struct obj
*, struct obj
*));
2328 E
void FDECL(obj_stop_timers
, (struct obj
*));
2329 E boolean
FDECL(obj_has_timer
, (struct obj
*, SHORT_P
));
2330 E
void FDECL(spot_stop_timers
, (XCHAR_P
, XCHAR_P
, SHORT_P
));
2331 E
long FDECL(spot_time_expires
, (XCHAR_P
, XCHAR_P
, SHORT_P
));
2332 E
long FDECL(spot_time_left
, (XCHAR_P
, XCHAR_P
, SHORT_P
));
2333 E boolean
FDECL(obj_is_local
, (struct obj
*));
2334 E
void FDECL(save_timers
, (int, int, int));
2335 E
void FDECL(restore_timers
, (int, int, BOOLEAN_P
, long));
2336 E
void FDECL(timer_stats
, (const char *, char *, long *, long *));
2337 E
void FDECL(relink_timers
, (BOOLEAN_P
));
2338 E
int NDECL(wiz_timeout_queue
);
2339 E
void NDECL(timer_sanity_check
);
2341 /* ### topten.c ### */
2343 E
void FDECL(formatkiller
, (char *, unsigned, int, BOOLEAN_P
));
2344 E
void FDECL(topten
, (int, time_t));
2345 E
void FDECL(prscore
, (int, char **));
2346 E
struct toptenentry
*NDECL(get_rnd_toptenentry
);
2347 E
struct obj
*FDECL(tt_oname
, (struct obj
*));
2349 /* ### track.c ### */
2351 E
void NDECL(initrack
);
2352 E
void NDECL(settrack
);
2353 E coord
*FDECL(gettrack
, (int, int));
2355 /* ### trap.c ### */
2357 E boolean
FDECL(burnarmor
, (struct monst
*));
2358 E
int FDECL(erode_obj
, (struct obj
*, const char *, int, int));
2359 E boolean
FDECL(grease_protect
, (struct obj
*, const char *, struct monst
*));
2360 E
struct trap
*FDECL(maketrap
, (int, int, int));
2361 E
void FDECL(fall_through
, (BOOLEAN_P
));
2362 E
struct monst
*FDECL(animate_statue
,
2363 (struct obj
*, XCHAR_P
, XCHAR_P
, int, int *));
2364 E
struct monst
*FDECL(activate_statue_trap
,
2365 (struct trap
*, XCHAR_P
, XCHAR_P
, BOOLEAN_P
));
2366 E
void FDECL(dotrap
, (struct trap
*, unsigned));
2367 E
void FDECL(seetrap
, (struct trap
*));
2368 E
void FDECL(feeltrap
, (struct trap
*));
2369 E
int FDECL(mintrap
, (struct monst
*));
2370 E
void FDECL(instapetrify
, (const char *));
2371 E
void FDECL(minstapetrify
, (struct monst
*, BOOLEAN_P
));
2372 E
void FDECL(selftouch
, (const char *));
2373 E
void FDECL(mselftouch
, (struct monst
*, const char *, BOOLEAN_P
));
2374 E
void NDECL(float_up
);
2375 E
void FDECL(fill_pit
, (int, int));
2376 E
int FDECL(float_down
, (long, long));
2377 E
void NDECL(climb_pit
);
2378 E boolean
FDECL(fire_damage
, (struct obj
*, BOOLEAN_P
, XCHAR_P
, XCHAR_P
));
2379 E
int FDECL(fire_damage_chain
,
2380 (struct obj
*, BOOLEAN_P
, BOOLEAN_P
, XCHAR_P
, XCHAR_P
));
2381 E
void acid_damage(struct obj
*);
2382 E
int FDECL(water_damage
, (struct obj
*, const char *, BOOLEAN_P
));
2383 E
void FDECL(water_damage_chain
, (struct obj
*, BOOLEAN_P
));
2384 E boolean
NDECL(drown
);
2385 E
void FDECL(drain_en
, (int));
2386 E
int NDECL(dountrap
);
2387 E
void FDECL(cnv_trap_obj
, (int, int, struct trap
*, BOOLEAN_P
));
2388 E
int FDECL(untrap
, (BOOLEAN_P
));
2389 E boolean
FDECL(openholdingtrap
, (struct monst
*, boolean
*));
2390 E boolean
FDECL(closeholdingtrap
, (struct monst
*, boolean
*));
2391 E boolean
FDECL(openfallingtrap
, (struct monst
*, BOOLEAN_P
, boolean
*));
2392 E boolean
FDECL(chest_trap
, (struct obj
*, int, BOOLEAN_P
));
2393 E
void FDECL(deltrap
, (struct trap
*));
2394 E boolean
FDECL(delfloortrap
, (struct trap
*));
2395 E
struct trap
*FDECL(t_at
, (int, int));
2396 E
void FDECL(b_trapped
, (const char *, int));
2397 E boolean
NDECL(unconscious
);
2398 E
void FDECL(blow_up_landmine
, (struct trap
*));
2399 E
int FDECL(launch_obj
, (SHORT_P
, int, int, int, int, int));
2400 E boolean
NDECL(launch_in_progress
);
2401 E
void NDECL(force_launch_placement
);
2402 E boolean
FDECL(uteetering_at_seen_pit
, (struct trap
*));
2403 E boolean
NDECL(lava_effects
);
2404 E
void NDECL(sink_into_lava
);
2405 E
void NDECL(sokoban_guilt
);
2407 /* ### u_init.c ### */
2409 E
void NDECL(u_init
);
2411 /* ### uhitm.c ### */
2413 E
void FDECL(erode_armor
, (struct monst
*, int));
2414 E boolean
FDECL(attack_checks
, (struct monst
*, struct obj
*));
2415 E
void FDECL(check_caitiff
, (struct monst
*));
2416 E
int FDECL(find_roll_to_hit
,
2417 (struct monst
*, UCHAR_P
, struct obj
*, int *, int *));
2418 E boolean
FDECL(attack
, (struct monst
*));
2419 E boolean
FDECL(hmon
, (struct monst
*, struct obj
*, int));
2420 E
int FDECL(damageum
, (struct monst
*, struct attack
*));
2421 E
void FDECL(missum
, (struct monst
*, struct attack
*, BOOLEAN_P
));
2422 E
int FDECL(passive
, (struct monst
*, BOOLEAN_P
, int, UCHAR_P
, BOOLEAN_P
));
2423 E
void FDECL(passive_obj
, (struct monst
*, struct obj
*, struct attack
*));
2424 E
void FDECL(stumble_onto_mimic
, (struct monst
*));
2425 E
int FDECL(flash_hits_mon
, (struct monst
*, struct obj
*));
2426 E
void FDECL(light_hits_gremlin
, (struct monst
*, int));
2428 /* ### unixmain.c ### */
2432 E
void NDECL(port_help
);
2434 E
void FDECL(sethanguphandler
, (void (*)(int)));
2435 E boolean
NDECL(authorize_wizard_mode
);
2436 E boolean
FDECL(check_user_string
, (char *));
2439 /* ### unixtty.c ### */
2441 #if defined(UNIX) || defined(__BEOS__)
2442 E
void NDECL(gettty
);
2443 E
void FDECL(settty
, (const char *));
2444 E
void NDECL(setftty
);
2445 E
void NDECL(intron
);
2446 E
void NDECL(introff
);
2447 E
void VDECL(error
, (const char *, ...)) PRINTF_F(1, 2);
2448 #endif /* UNIX || __BEOS__ */
2450 /* ### unixunix.c ### */
2453 E
void NDECL(getlock
);
2454 E
void FDECL(regularize
, (char *));
2455 #if defined(TIMED_DELAY) && !defined(msleep) && defined(SYSV)
2456 E
void FDECL(msleep
, (unsigned));
2461 #if defined(SHELL) || defined(DEF_PAGER) || defined(DEF_MAILREADER)
2462 E
int FDECL(child
, (int));
2465 E boolean
FDECL(file_exists
, (const char *));
2469 /* ### unixres.c ### */
2472 #ifdef GNOME_GRAPHICS
2473 E
int FDECL(hide_privileges
, (BOOLEAN_P
));
2477 /* ### vault.c ### */
2479 E
void FDECL(newegd
, (struct monst
*));
2480 E
void FDECL(free_egd
, (struct monst
*));
2481 E boolean
FDECL(grddead
, (struct monst
*));
2482 E
char FDECL(vault_occupied
, (char *));
2483 E
void NDECL(invault
);
2484 E
int FDECL(gd_move
, (struct monst
*));
2485 E
void NDECL(paygd
);
2486 E
long NDECL(hidden_gold
);
2487 E boolean
NDECL(gd_sound
);
2488 E
void FDECL(vault_gd_watching
, (unsigned int));
2490 /* ### version.c ### */
2492 E
char *FDECL(version_string
, (char *));
2493 E
char *FDECL(getversionstring
, (char *));
2494 E
int NDECL(doversion
);
2495 E
int NDECL(doextversion
);
2497 E boolean
FDECL(comp_times
, (long));
2500 FDECL(check_version
, (struct version_info
*, const char *, BOOLEAN_P
));
2501 E boolean
FDECL(uptodate
, (int, const char *));
2502 E
void FDECL(store_version
, (int));
2503 E
unsigned long FDECL(get_feature_notice_ver
, (char *));
2504 E
unsigned long NDECL(get_current_feature_ver
);
2505 E
const char *FDECL(copyright_banner_line
, (int));
2507 #ifdef RUNTIME_PORT_ID
2508 E
void FDECL(append_port_id
, (char *));
2511 /* ### video.c ### */
2514 E
int FDECL(assign_video
, (char *));
2516 E
void NDECL(gr_init
);
2517 E
void NDECL(gr_finish
);
2519 E
void FDECL(tileview
, (BOOLEAN_P
));
2522 E
int FDECL(assign_videoshades
, (char *));
2523 E
int FDECL(assign_videocolors
, (char *));
2526 /* ### vis_tab.c ### */
2528 #ifdef VISION_TABLES
2529 E
void NDECL(vis_tab_init
);
2532 /* ### vision.c ### */
2534 E
void NDECL(vision_init
);
2535 E
int FDECL(does_block
, (int, int, struct rm
*));
2536 E
void NDECL(vision_reset
);
2537 E
void FDECL(vision_recalc
, (int));
2538 E
void FDECL(block_point
, (int, int));
2539 E
void FDECL(unblock_point
, (int, int));
2540 E boolean
FDECL(clear_path
, (int, int, int, int));
2541 E
void FDECL(do_clear_area
, (int, int, int,
2542 void (*)(int, int, genericptr
), genericptr_t
));
2543 E
unsigned FDECL(howmonseen
, (struct monst
*));
2547 /* ### vmsfiles.c ### */
2549 E
int FDECL(vms_link
, (const char *, const char *));
2550 E
int FDECL(vms_unlink
, (const char *));
2551 E
int FDECL(vms_creat
, (const char *, unsigned int));
2552 E
int FDECL(vms_open
, (const char *, int, unsigned int));
2553 E boolean
FDECL(same_dir
, (const char *, const char *));
2554 E
int FDECL(c__translate
, (int));
2555 E
char *FDECL(vms_basename
, (const char *));
2557 /* ### vmsmail.c ### */
2559 E
unsigned long NDECL(init_broadcast_trapping
);
2560 E
unsigned long NDECL(enable_broadcast_trapping
);
2561 E
unsigned long NDECL(disable_broadcast_trapping
);
2563 E
struct mail_info
*NDECL(parse_next_broadcast
);
2566 /* ### vmsmain.c ### */
2568 E
int FDECL(main
, (int, char **));
2570 E
void FDECL(chdirx
, (const char *, BOOLEAN_P
));
2572 E
void FDECL(sethanguphandler
, (void (*)(int)));
2573 E boolean
NDECL(authorize_wizard_mode
);
2575 /* ### vmsmisc.c ### */
2577 E
void NDECL(vms_abort
) NORETURN
;
2578 E
void FDECL(vms_exit
, (int)) NORETURN
;
2580 E
void FDECL(vms_traceback
, (int));
2583 /* ### vmstty.c ### */
2585 E
int NDECL(vms_getchar
);
2586 E
void NDECL(gettty
);
2587 E
void FDECL(settty
, (const char *));
2588 E
void FDECL(shuttty
, (const char *));
2589 E
void NDECL(setftty
);
2590 E
void NDECL(intron
);
2591 E
void NDECL(introff
);
2592 E
void VDECL(error
, (const char *, ...)) PRINTF_F(1, 2);
2594 E
void FDECL(msleep
, (unsigned));
2597 /* ### vmsunix.c ### */
2599 E
void NDECL(getlock
);
2600 E
void FDECL(regularize
, (char *));
2601 E
int NDECL(vms_getuid
);
2602 E boolean
FDECL(file_is_stmlf
, (int));
2603 E
int FDECL(vms_define
, (const char *, const char *, int));
2604 E
int FDECL(vms_putenv
, (const char *));
2605 E
char *NDECL(verify_termcap
);
2606 #if defined(CHDIR) || defined(SHELL) || defined(SECURE)
2607 E
void NDECL(privoff
);
2608 E
void NDECL(privon
);
2613 #if defined(SHELL) || defined(MAIL)
2614 E
int FDECL(vms_doshell
, (const char *, BOOLEAN_P
));
2617 E
int NDECL(dosuspend
);
2620 E
int FDECL(vms_get_saved_games
, (const char *, char ***));
2625 /* ### weapon.c ### */
2627 E
const char *FDECL(weapon_descr
, (struct obj
*));
2628 E
int FDECL(hitval
, (struct obj
*, struct monst
*));
2629 E
int FDECL(dmgval
, (struct obj
*, struct monst
*));
2630 E
struct obj
*FDECL(select_rwep
, (struct monst
*));
2631 E
struct obj
*FDECL(select_hwep
, (struct monst
*));
2632 E
void FDECL(possibly_unwield
, (struct monst
*, BOOLEAN_P
));
2633 E
void FDECL(mwepgone
, (struct monst
*));
2634 E
int FDECL(mon_wield_item
, (struct monst
*));
2637 E
void FDECL(wet_a_towel
, (struct obj
*, int, BOOLEAN_P
));
2638 E
void FDECL(dry_a_towel
, (struct obj
*, int, BOOLEAN_P
));
2639 E
int NDECL(enhance_weapon_skill
);
2640 E
void FDECL(unrestrict_weapon_skill
, (int));
2641 E
void FDECL(use_skill
, (int, int));
2642 E
void FDECL(add_weapon_skill
, (int));
2643 E
void FDECL(lose_weapon_skill
, (int));
2644 E
int FDECL(weapon_type
, (struct obj
*));
2645 E
int NDECL(uwep_skill_type
);
2646 E
int FDECL(weapon_hit_bonus
, (struct obj
*));
2647 E
int FDECL(weapon_dam_bonus
, (struct obj
*));
2648 E
void FDECL(skill_init
, (const struct def_skill
*));
2650 /* ### were.c ### */
2652 E
void FDECL(were_change
, (struct monst
*));
2653 E
int FDECL(counter_were
, (int));
2654 E
int FDECL(were_beastie
, (int));
2655 E
void FDECL(new_were
, (struct monst
*));
2656 E
int FDECL(were_summon
, (struct permonst
*, BOOLEAN_P
, int *, char *));
2657 E
void NDECL(you_were
);
2658 E
void FDECL(you_unwere
, (BOOLEAN_P
));
2659 E
void FDECL(set_ulycn
, (int));
2661 /* ### wield.c ### */
2663 E
void FDECL(setuwep
, (struct obj
*));
2664 E
void FDECL(setuqwep
, (struct obj
*));
2665 E
void FDECL(setuswapwep
, (struct obj
*));
2666 E
int NDECL(dowield
);
2667 E
int NDECL(doswapweapon
);
2668 E
int NDECL(dowieldquiver
);
2669 E boolean
FDECL(wield_tool
, (struct obj
*, const char *));
2670 E
int NDECL(can_twoweapon
);
2671 E
void NDECL(drop_uswapwep
);
2672 E
int NDECL(dotwoweapon
);
2673 E
void NDECL(uwepgone
);
2674 E
void NDECL(uswapwepgone
);
2675 E
void NDECL(uqwepgone
);
2676 E
void NDECL(untwoweapon
);
2677 E
int FDECL(chwepon
, (struct obj
*, int));
2678 E
int FDECL(welded
, (struct obj
*));
2679 E
void FDECL(weldmsg
, (struct obj
*));
2680 E
void FDECL(setmnotwielded
, (struct monst
*, struct obj
*));
2681 E boolean
FDECL(mwelded
, (struct obj
*));
2683 /* ### windows.c ### */
2685 E
void FDECL(choose_windows
, (const char *));
2687 void FDECL(addto_windowchain
, (const char *s
));
2688 void NDECL(commit_windowchain
);
2690 E boolean
NDECL(genl_can_suspend_no
);
2691 E boolean
NDECL(genl_can_suspend_yes
);
2692 E
char FDECL(genl_message_menu
, (CHAR_P
, int, const char *));
2693 E
void FDECL(genl_preference_update
, (const char *));
2694 E
char *FDECL(genl_getmsghistory
, (BOOLEAN_P
));
2695 E
void FDECL(genl_putmsghistory
, (const char *, BOOLEAN_P
));
2696 #ifdef HANGUPHANDLING
2697 E
void NDECL(nhwindows_hangup
);
2699 #ifdef STATUS_VIA_WINDOWPORT
2700 E
void NDECL(genl_status_init
);
2701 E
void NDECL(genl_status_finish
);
2702 E
void FDECL(genl_status_enablefield
,
2703 (int, const char *, const char *, BOOLEAN_P
));
2704 E
void FDECL(genl_status_update
, (int, genericptr_t
, int, int));
2705 #ifdef STATUS_HILITES
2706 E
void FDECL(genl_status_threshold
, (int, int, anything
, int, int, int));
2710 /* ### wizard.c ### */
2712 E
void NDECL(amulet
);
2713 E
int FDECL(mon_has_amulet
, (struct monst
*));
2714 E
int FDECL(mon_has_special
, (struct monst
*));
2715 E
int FDECL(tactics
, (struct monst
*));
2716 E boolean
FDECL(has_aggravatables
, (struct monst
*));
2717 E
void NDECL(aggravate
);
2718 E
void NDECL(clonewiz
);
2719 E
int NDECL(pick_nasty
);
2720 E
int FDECL(nasty
, (struct monst
*));
2721 E
void NDECL(resurrect
);
2722 E
void NDECL(intervene
);
2723 E
void NDECL(wizdead
);
2724 E
void FDECL(cuss
, (struct monst
*));
2726 /* ### worm.c ### */
2728 E
int NDECL(get_wormno
);
2729 E
void FDECL(initworm
, (struct monst
*, int));
2730 E
void FDECL(worm_move
, (struct monst
*));
2731 E
void FDECL(worm_nomove
, (struct monst
*));
2732 E
void FDECL(wormgone
, (struct monst
*));
2733 E
void FDECL(wormhitu
, (struct monst
*));
2734 E
void FDECL(cutworm
, (struct monst
*, XCHAR_P
, XCHAR_P
, struct obj
*));
2735 E
void FDECL(see_wsegs
, (struct monst
*));
2736 E
void FDECL(detect_wsegs
, (struct monst
*, BOOLEAN_P
));
2737 E
void FDECL(save_worm
, (int, int));
2738 E
void FDECL(rest_worm
, (int));
2739 E
void FDECL(place_wsegs
, (struct monst
*));
2740 E
void FDECL(remove_worm
, (struct monst
*));
2741 E
void FDECL(place_worm_tail_randomly
, (struct monst
*, XCHAR_P
, XCHAR_P
));
2742 E
int FDECL(size_wseg
, (struct monst
*));
2743 E
int FDECL(count_wsegs
, (struct monst
*));
2744 E boolean
FDECL(worm_known
, (struct monst
*));
2745 E boolean
FDECL(worm_cross
, (int, int, int, int));
2746 E
int FDECL(wseg_at
, (struct monst
*, int, int));
2748 /* ### worn.c ### */
2750 E
void FDECL(setworn
, (struct obj
*, long));
2751 E
void FDECL(setnotworn
, (struct obj
*));
2752 E
long FDECL(wearslot
, (struct obj
*));
2753 E
void FDECL(mon_set_minvis
, (struct monst
*));
2754 E
void FDECL(mon_adjust_speed
, (struct monst
*, int, struct obj
*));
2755 E
void FDECL(update_mon_intrinsics
,
2756 (struct monst
*, struct obj
*, BOOLEAN_P
, BOOLEAN_P
));
2757 E
int FDECL(find_mac
, (struct monst
*));
2758 E
void FDECL(m_dowear
, (struct monst
*, BOOLEAN_P
));
2759 E
struct obj
*FDECL(which_armor
, (struct monst
*, long));
2760 E
void FDECL(mon_break_armor
, (struct monst
*, BOOLEAN_P
));
2761 E
void FDECL(bypass_obj
, (struct obj
*));
2762 E
void NDECL(clear_bypasses
);
2763 E
void FDECL(bypass_objlist
, (struct obj
*, BOOLEAN_P
));
2764 E
struct obj
*FDECL(nxt_unbypassed_obj
, (struct obj
*));
2765 E
int FDECL(racial_exception
, (struct monst
*, struct obj
*));
2767 /* ### write.c ### */
2769 E
int FDECL(dowrite
, (struct obj
*));
2773 E
void FDECL(learnwand
, (struct obj
*));
2774 E
int FDECL(bhitm
, (struct monst
*, struct obj
*));
2775 E
void FDECL(probe_monster
, (struct monst
*));
2776 E boolean
FDECL(get_obj_location
, (struct obj
*, xchar
*, xchar
*, int));
2777 E boolean
FDECL(get_mon_location
, (struct monst
*, xchar
*, xchar
*, int));
2778 E
struct monst
*FDECL(get_container_location
,
2779 (struct obj
* obj
, int *, int *));
2780 E
struct monst
*FDECL(montraits
, (struct obj
*, coord
*));
2781 E
struct monst
*FDECL(revive
, (struct obj
*, BOOLEAN_P
));
2782 E
int FDECL(unturn_dead
, (struct monst
*));
2783 E
void FDECL(cancel_item
, (struct obj
*));
2784 E boolean
FDECL(drain_item
, (struct obj
*, BOOLEAN_P
));
2785 E
struct obj
*FDECL(poly_obj
, (struct obj
*, int));
2786 E boolean
FDECL(obj_resists
, (struct obj
*, int, int));
2787 E boolean
FDECL(obj_shudders
, (struct obj
*));
2788 E
void FDECL(do_osshock
, (struct obj
*));
2789 E
int FDECL(bhito
, (struct obj
*, struct obj
*));
2790 E
int FDECL(bhitpile
,
2791 (struct obj
*, int (*)(OBJ_P
, OBJ_P
), int, int, SCHAR_P
));
2792 E
int FDECL(zappable
, (struct obj
*));
2793 E
void FDECL(zapnodir
, (struct obj
*));
2795 E
int FDECL(zapyourself
, (struct obj
*, BOOLEAN_P
));
2796 E
void FDECL(ubreatheu
, (struct attack
*));
2797 E
int FDECL(lightdamage
, (struct obj
*, BOOLEAN_P
, int));
2798 E boolean
FDECL(flashburn
, (long));
2799 E boolean
FDECL(cancel_monst
, (struct monst
*, struct obj
*, BOOLEAN_P
,
2800 BOOLEAN_P
, BOOLEAN_P
));
2801 E
void NDECL(zapsetup
);
2802 E
void NDECL(zapwrapup
);
2803 E
void FDECL(weffects
, (struct obj
*));
2804 E
int FDECL(spell_damage_bonus
, (int));
2805 E
const char *FDECL(exclam
, (int force
));
2806 E
void FDECL(hit
, (const char *, struct monst
*, const char *));
2807 E
void FDECL(miss
, (const char *, struct monst
*));
2808 E
struct monst
*FDECL(bhit
, (int, int, int, int, int (*)(MONST_P
, OBJ_P
),
2809 int (*)(OBJ_P
, OBJ_P
), struct obj
**));
2810 E
struct monst
*FDECL(boomhit
, (struct obj
*, int, int));
2811 E
int FDECL(zhitm
, (struct monst
*, int, int, struct obj
**));
2812 E
int FDECL(burn_floor_objects
, (int, int, BOOLEAN_P
, BOOLEAN_P
));
2813 E
void FDECL(buzz
, (int, int, XCHAR_P
, XCHAR_P
, int, int));
2814 E
void FDECL(dobuzz
, (int, int, XCHAR_P
, XCHAR_P
, int, int, BOOLEAN_P
));
2815 E
void FDECL(melt_ice
, (XCHAR_P
, XCHAR_P
, const char *));
2816 E
void FDECL(start_melt_ice_timeout
, (XCHAR_P
, XCHAR_P
, long));
2817 E
void FDECL(melt_ice_away
, (ANY_P
*, long));
2818 E
int FDECL(zap_over_floor
, (XCHAR_P
, XCHAR_P
, int, boolean
*, SHORT_P
));
2819 E
void FDECL(fracture_rock
, (struct obj
*));
2820 E boolean
FDECL(break_statue
, (struct obj
*));
2821 E
void FDECL(destroy_item
, (int, int));
2822 E
int FDECL(destroy_mitem
, (struct monst
*, int, int));
2823 E
int FDECL(resist
, (struct monst
*, CHAR_P
, int, int));
2824 E
void NDECL(makewish
);
2826 #endif /* !MAKEDEFS_C && !LEV_LEX_C */
2830 #endif /* EXTERN_H */