1 /* aNetHack 0.0.1 extern.h $ANH-Date: 1489192904 2017/03/11 00:41:44 $ $ANH-Branch: master $:$ANH-Revision: 1.583 $ */
2 /* Copyright (c) Steve Creps, 1988. */
3 /* aNetHack 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
char *NDECL(do_statusline1
);
145 E
char *NDECL(do_statusline2
);
146 E
int FDECL(xlev_to_rank
, (int));
147 E
int FDECL(title_to_mon
, (const char *, int *, int *));
148 E
void NDECL(max_rank_sz
);
150 E
long NDECL(botl_score
);
152 E
int FDECL(describe_level
, (char *));
153 E
const char *FDECL(rank_of
, (int, SHORT_P
, BOOLEAN_P
));
155 #ifdef STATUS_VIA_WINDOWPORT
156 E
void FDECL(status_initialize
, (BOOLEAN_P
));
157 E
void NDECL(status_finish
);
158 E
void FDECL(status_notify_windowport
, (BOOLEAN_P
));
159 #ifdef STATUS_HILITES
160 E boolean
FDECL(set_status_hilites
, (char *op
, BOOLEAN_P
));
161 E
void FDECL(clear_status_hilites
, (BOOLEAN_P
));
162 E
char *FDECL(get_status_hilites
, (char *, int));
163 E boolean
NDECL(status_hilite_menu
);
169 E boolean
FDECL(redraw_cmd
, (CHAR_P
));
171 E
int NDECL(doextcmd
);
172 E
int NDECL(domonability
);
173 E
int NDECL(doprev_message
);
174 E
int NDECL(timed_occupation
);
175 E
int NDECL(doattributes
);
176 E
int NDECL(wiz_detect
);
177 E
int NDECL(wiz_genesis
);
178 E
int NDECL(wiz_identify
);
179 E
int NDECL(wiz_level_tele
);
180 E
int NDECL(wiz_map
);
181 E
int NDECL(wiz_where
);
182 E
int NDECL(wiz_wish
);
183 #endif /* USE_TRAMPOLI */
184 E
void NDECL(reset_occupations
);
185 E
void FDECL(set_occupation
, (int (*)(void), const char *, int));
186 E
char NDECL(pgetchar
);
187 E
void FDECL(pushch
, (CHAR_P
));
188 E
void FDECL(savech
, (CHAR_P
));
189 E
const char *FDECL(key2extcmddesc
, (UCHAR_P
));
190 E boolean
FDECL(bind_specialkey
, (UCHAR_P
, const char *));
191 E
char FDECL(txt2key
, (char *));
192 E
void FDECL(parseautocomplete
, (char *, BOOLEAN_P
));
193 E
void FDECL(reset_commands
, (BOOLEAN_P
));
194 E
void FDECL(rhack
, (char *));
195 E
int NDECL(doextlist
);
196 E
int NDECL(extcmd_via_menu
);
197 E
int NDECL(enter_explore_mode
);
198 E
void FDECL(enlightenment
, (int, int));
199 E
void FDECL(youhiding
, (BOOLEAN_P
, int));
200 E
void FDECL(show_conduct
, (int));
201 E
void FDECL(bind_key
, (UCHAR_P
, const char *));
202 E
void NDECL(dokeylist
);
203 E
int FDECL(xytod
, (SCHAR_P
, SCHAR_P
));
204 E
void FDECL(dtoxy
, (coord
*, int));
205 E
int FDECL(movecmd
, (CHAR_P
));
206 E
int NDECL(dxdy_moveok
);
207 E
int FDECL(getdir
, (const char *));
208 E
void NDECL(confdir
);
209 E
const char *FDECL(directionname
, (int));
210 E
int FDECL(isok
, (int, int));
211 E
int FDECL(get_adjacent_loc
,
212 (const char *, const char *, XCHAR_P
, XCHAR_P
, coord
*));
213 E
const char *FDECL(click_to_cmd
, (int, int, int));
214 E
char FDECL(get_count
, (char *, CHAR_P
, long, long *));
215 #ifdef HANGUPHANDLING
216 E
void FDECL(hangup
, (int));
217 E
void NDECL(end_of_input
);
219 E
char NDECL(readchar
);
220 E
void NDECL(sanity_check
);
221 E
char* FDECL(key2txt
, (UCHAR_P
, char *));
222 E
char FDECL(yn_function
, (const char *, const char *, CHAR_P
));
223 E boolean
FDECL(paranoid_query
, (BOOLEAN_P
, const char *));
225 /* ### dbridge.c ### */
227 E boolean
FDECL(is_pool
, (int, int));
228 E boolean
FDECL(is_lava
, (int, int));
229 E boolean
FDECL(is_pool_or_lava
, (int, int));
230 E boolean
FDECL(is_ice
, (int, int));
231 E boolean
FDECL(is_moat
, (int, int));
232 E schar
FDECL(db_under_typ
, (int));
233 E
int FDECL(is_drawbridge_wall
, (int, int));
234 E boolean
FDECL(is_db_wall
, (int, int));
235 E boolean
FDECL(find_drawbridge
, (int *, int *));
236 E boolean
FDECL(create_drawbridge
, (int, int, int, BOOLEAN_P
));
237 E
void FDECL(open_drawbridge
, (int, int));
238 E
void FDECL(close_drawbridge
, (int, int));
239 E
void FDECL(destroy_drawbridge
, (int, int));
243 E
void NDECL(decl_init
);
245 /* ### detect.c ### */
247 E boolean
FDECL(trapped_chest_at
, (int, int, int));
248 E boolean
FDECL(trapped_door_at
, (int, int, int));
249 E
struct obj
*FDECL(o_in
, (struct obj
*, CHAR_P
));
250 E
struct obj
*FDECL(o_material
, (struct obj
*, unsigned));
251 E
int FDECL(gold_detect
, (struct obj
*));
252 E
int FDECL(food_detect
, (struct obj
*));
253 E
int FDECL(object_detect
, (struct obj
*, int));
254 E
int FDECL(monster_detect
, (struct obj
*, int));
255 E
int FDECL(trap_detect
, (struct obj
*));
256 E
const char *FDECL(level_distance
, (d_level
*));
257 E
void FDECL(use_crystal_ball
, (struct obj
**));
258 E
void NDECL(do_mapping
);
259 E
void FDECL(do_vicinity_map
, (struct obj
*));
260 E
void FDECL(cvt_sdoor_to_door
, (struct rm
*));
262 E
void FDECL(findone
, (int, int, genericptr_t
));
263 E
void FDECL(openone
, (int, int, genericptr_t
));
267 E boolean
FDECL(detecting
, (void (*)(int, int, genericptr
)));
268 E
void FDECL(find_trap
, (struct trap
*));
269 E
void NDECL(warnreveal
);
270 E
int FDECL(dosearch0
, (int));
271 E
int NDECL(dosearch
);
272 E
void NDECL(sokoban_detect
);
273 E
void NDECL(dump_map
);
274 E
void FDECL(reveal_terrain
, (int, int));
278 E
int FDECL(dig_typ
, (struct obj
*, XCHAR_P
, XCHAR_P
));
279 E boolean
NDECL(is_digging
);
283 E
int NDECL(holetime
);
284 E boolean
FDECL(dig_check
, (struct monst
*, BOOLEAN_P
, int, int));
285 E
void FDECL(digactualhole
, (int, int, struct monst
*, int));
286 E boolean
FDECL(dighole
, (BOOLEAN_P
, BOOLEAN_P
, coord
*));
287 E
int FDECL(use_pick_axe
, (struct obj
*));
288 E
int FDECL(use_pick_axe2
, (struct obj
*));
289 E boolean
FDECL(mdig_tunnel
, (struct monst
*));
290 E
void FDECL(draft_message
, (BOOLEAN_P
));
291 E
void FDECL(watch_dig
, (struct monst
*, XCHAR_P
, XCHAR_P
, BOOLEAN_P
));
292 E
void NDECL(zap_dig
);
293 E
struct obj
*FDECL(bury_an_obj
, (struct obj
*, boolean
*));
294 E
void FDECL(bury_objs
, (int, int));
295 E
void FDECL(unearth_objs
, (int, int));
296 E
void FDECL(rot_organic
, (ANY_P
*, long));
297 E
void FDECL(rot_corpse
, (ANY_P
*, long));
298 E
struct obj
*FDECL(buried_ball
, (coord
*));
299 E
void NDECL(buried_ball_to_punishment
);
300 E
void NDECL(buried_ball_to_freedom
);
301 E schar
FDECL(fillholetyp
, (int, int, BOOLEAN_P
));
302 E
void FDECL(liquid_flow
,
303 (XCHAR_P
, XCHAR_P
, SCHAR_P
, struct trap
*, const char *));
304 E boolean
FDECL(conjoined_pits
, (struct trap
*, struct trap
*, BOOLEAN_P
));
306 E
void FDECL(bury_monst
, (struct monst
*));
307 E
void NDECL(bury_you
);
308 E
void NDECL(unearth_you
);
309 E
void NDECL(escape_tomb
);
310 E
void FDECL(bury_obj
, (struct obj
*));
313 /* ### display.c ### */
315 E
void FDECL(magic_map_background
, (XCHAR_P
, XCHAR_P
, int));
316 E
void FDECL(map_background
, (XCHAR_P
, XCHAR_P
, int));
317 E
void FDECL(map_trap
, (struct trap
*, int));
318 E
void FDECL(map_object
, (struct obj
*, int));
319 E
void FDECL(map_invisible
, (XCHAR_P
, XCHAR_P
));
320 E
void FDECL(unmap_object
, (int, int));
321 E
void FDECL(map_location
, (int, int, int));
322 E
void FDECL(feel_newsym
, (XCHAR_P
, XCHAR_P
));
323 E
void FDECL(feel_location
, (XCHAR_P
, XCHAR_P
));
324 E
void FDECL(newsym
, (int, int));
325 E
void FDECL(newsym_force
, (int, int));
326 E
void FDECL(shieldeff
, (XCHAR_P
, XCHAR_P
));
327 E
void FDECL(tmp_at
, (int, int));
328 E
void FDECL(swallowed
, (int));
329 E
void FDECL(under_ground
, (int));
330 E
void FDECL(under_water
, (int));
331 E
void NDECL(see_monsters
);
332 E
void NDECL(set_mimic_blocking
);
333 E
void NDECL(see_objects
);
334 E
void NDECL(see_traps
);
335 E
void NDECL(curs_on_u
);
336 E
int NDECL(doredraw
);
338 E
void FDECL(show_glyph
, (int, int, int));
339 E
void NDECL(clear_glyph_buffer
);
340 E
void FDECL(row_refresh
, (int, int, int));
342 E
void FDECL(flush_screen
, (int));
343 E
int FDECL(back_to_glyph
, (XCHAR_P
, XCHAR_P
));
344 E
int FDECL(zapdir_to_glyph
, (int, int, int));
345 E
int FDECL(glyph_at
, (XCHAR_P
, XCHAR_P
));
346 E
void NDECL(set_wall_state
);
347 E
void FDECL(unset_seenv
, (struct rm
*, int, int, int, int));
348 E
int FDECL(warning_of
, (struct monst
*));
353 E
int FDECL(drop
, (struct obj
*));
354 E
int NDECL(wipeoff
);
357 E boolean
FDECL(boulder_hits_pool
, (struct obj
*, int, int, BOOLEAN_P
));
358 E boolean
FDECL(flooreffects
, (struct obj
*, int, int, const char *));
359 E
void FDECL(doaltarobj
, (struct obj
*));
360 E boolean
FDECL(canletgo
, (struct obj
*, const char *));
361 E
void FDECL(dropx
, (struct obj
*));
362 E
void FDECL(dropy
, (struct obj
*));
363 E
void FDECL(dropz
, (struct obj
*, BOOLEAN_P
));
364 E
void FDECL(obj_no_longer_held
, (struct obj
*));
365 E
int NDECL(doddrop
);
369 E
void NDECL(save_currentstate
);
371 E
void FDECL(goto_level
, (d_level
*, BOOLEAN_P
, BOOLEAN_P
, BOOLEAN_P
));
372 E
void FDECL(schedule_goto
, (d_level
*, BOOLEAN_P
, BOOLEAN_P
, int,
373 const char *, const char *));
374 E
void NDECL(deferred_goto
);
375 E boolean
FDECL(revive_corpse
, (struct obj
*));
376 E
void FDECL(revive_mon
, (ANY_P
*, long));
379 E
void FDECL(set_wounded_legs
, (long, int));
380 E
void NDECL(heal_legs
);
382 /* ### do_name.c ### */
384 E
char *FDECL(coord_desc
, (int, int, char *, CHAR_P
));
385 E boolean
FDECL(getpos_menu
, (coord
*, BOOLEAN_P
, int));
386 E
int FDECL(getpos
, (coord
*, BOOLEAN_P
, const char *));
387 E
void FDECL(getpos_sethilite
, (void (*f
)(int)));
388 E
void FDECL(new_mname
, (struct monst
*, int));
389 E
void FDECL(free_mname
, (struct monst
*));
390 E
void FDECL(new_oname
, (struct obj
*, int));
391 E
void FDECL(free_oname
, (struct obj
*));
392 E
const char *FDECL(safe_oname
, (struct obj
*));
393 E
struct monst
*FDECL(christen_monst
, (struct monst
*, const char *));
394 E
struct obj
*FDECL(oname
, (struct obj
*, const char *));
395 E boolean
FDECL(objtyp_is_callable
, (int));
396 E
int NDECL(docallcmd
);
397 E
void FDECL(docall
, (struct obj
*));
398 E
const char *NDECL(rndghostname
);
399 E
char *FDECL(x_monnam
, (struct monst
*, int, const char *, int, BOOLEAN_P
));
400 E
char *FDECL(l_monnam
, (struct monst
*));
401 E
char *FDECL(mon_nam
, (struct monst
*));
402 E
char *FDECL(noit_mon_nam
, (struct monst
*));
403 E
char *FDECL(Monnam
, (struct monst
*));
404 E
char *FDECL(noit_Monnam
, (struct monst
*));
405 E
char *FDECL(m_monnam
, (struct monst
*));
406 E
char *FDECL(y_monnam
, (struct monst
*));
407 E
char *FDECL(Adjmonnam
, (struct monst
*, const char *));
408 E
char *FDECL(Amonnam
, (struct monst
*));
409 E
char *FDECL(a_monnam
, (struct monst
*));
410 E
char *FDECL(distant_monnam
, (struct monst
*, int, char *));
411 E
char *FDECL(rndmonnam
, (char *));
412 E
const char *FDECL(hcolor
, (const char *));
413 E
const char *NDECL(rndcolor
);
414 E
const char *FDECL(hliquid
, (const char *));
415 E
const char *NDECL(roguename
);
416 E
struct obj
*FDECL(realloc_obj
,
417 (struct obj
*, int, genericptr_t
, int, const char *));
418 E
char *FDECL(coyotename
, (struct monst
*, char *));
419 E
const char *FDECL(noveltitle
, (int *));
420 E
const char *FDECL(lookup_novel
, (const char *, int *));
422 /* ### do_wear.c ### */
425 E
int NDECL(Armor_on
);
426 E
int NDECL(Boots_on
);
427 E
int NDECL(Gloves_on
);
428 E
int NDECL(Helmet_on
);
429 E
int FDECL(select_off
, (struct obj
*));
430 E
int NDECL(take_off
);
432 E
void FDECL(off_msg
, (struct obj
*));
433 E
void FDECL(set_wear
, (struct obj
*));
434 E boolean
FDECL(donning
, (struct obj
*));
435 E boolean
FDECL(doffing
, (struct obj
*));
436 E
void NDECL(cancel_don
);
437 E
int FDECL(stop_donning
, (struct obj
*));
438 E
int NDECL(Armor_off
);
439 E
int NDECL(Armor_gone
);
440 E
int NDECL(Helmet_off
);
441 E
int NDECL(Gloves_off
);
442 E
int NDECL(Boots_off
);
443 E
int NDECL(Cloak_off
);
444 E
int NDECL(Shield_off
);
445 E
int NDECL(Shirt_off
);
446 E
void NDECL(Amulet_off
);
447 E
void FDECL(Ring_on
, (struct obj
*));
448 E
void FDECL(Ring_off
, (struct obj
*));
449 E
void FDECL(Ring_gone
, (struct obj
*));
450 E
void FDECL(Blindf_on
, (struct obj
*));
451 E
void FDECL(Blindf_off
, (struct obj
*));
452 E
int NDECL(dotakeoff
);
453 E
int NDECL(doremring
);
454 E
int FDECL(cursed
, (struct obj
*));
455 E
int FDECL(armoroff
, (struct obj
*));
456 E
int FDECL(canwearobj
, (struct obj
*, long *, BOOLEAN_P
));
458 E
int NDECL(doputon
);
459 E
void NDECL(find_ac
);
461 E
struct obj
*FDECL(some_armor
, (struct monst
*));
462 E
struct obj
*FDECL(stuck_ring
, (struct obj
*, int));
463 E
struct obj
*NDECL(unchanger
);
464 E
void NDECL(reset_remarm
);
465 E
int NDECL(doddoremarm
);
466 E
int FDECL(destroy_arm
, (struct obj
*));
467 E
void FDECL(adj_abon
, (struct obj
*, SCHAR_P
));
469 FDECL(inaccessible_equipment
, (struct obj
*, const char *, BOOLEAN_P
));
473 E
void FDECL(newedog
, (struct monst
*));
474 E
void FDECL(free_edog
, (struct monst
*));
475 E
void FDECL(initedog
, (struct monst
*));
476 E
struct monst
*FDECL(make_familiar
,
477 (struct obj
*, XCHAR_P
, XCHAR_P
, BOOLEAN_P
));
478 E
struct monst
*NDECL(makedog
);
479 E
void NDECL(update_mlstmv
);
480 E
void NDECL(losedogs
);
481 E
void FDECL(mon_arrive
, (struct monst
*, BOOLEAN_P
));
482 E
void FDECL(mon_catchup_elapsed_time
, (struct monst
*, long));
483 E
void FDECL(keepdogs
, (BOOLEAN_P
));
484 E
void FDECL(migrate_to_level
, (struct monst
*, XCHAR_P
, XCHAR_P
, coord
*));
485 E
int FDECL(dogfood
, (struct monst
*, struct obj
*));
486 E boolean
FDECL(tamedog
, (struct monst
*, struct obj
*));
487 E
void FDECL(abuse_dog
, (struct monst
*));
488 E
void FDECL(wary_dog
, (struct monst
*, BOOLEAN_P
));
490 /* ### dogmove.c ### */
492 E
struct obj
*FDECL(droppables
, (struct monst
*));
493 E
int FDECL(dog_nutrition
, (struct monst
*, struct obj
*));
494 E
int FDECL(dog_eat
, (struct monst
*, struct obj
*, int, int, BOOLEAN_P
));
495 E
int FDECL(dog_move
, (struct monst
*, int));
497 E
void FDECL(wantdoor
, (int, int, genericptr_t
));
499 E
void FDECL(finish_meating
, (struct monst
*));
501 /* ### dokick.c ### */
503 E boolean
FDECL(ghitm
, (struct monst
*, struct obj
*));
504 E
void FDECL(container_impact_dmg
, (struct obj
*, XCHAR_P
, XCHAR_P
));
506 E boolean
FDECL(ship_object
, (struct obj
*, XCHAR_P
, XCHAR_P
, BOOLEAN_P
));
507 E
void FDECL(obj_delivery
, (BOOLEAN_P
));
508 E schar
FDECL(down_gate
, (XCHAR_P
, XCHAR_P
));
509 E
void FDECL(impact_drop
, (struct obj
*, XCHAR_P
, XCHAR_P
, XCHAR_P
));
511 /* ### dothrow.c ### */
513 E
int NDECL(dothrow
);
515 E
void FDECL(endmultishot
, (BOOLEAN_P
));
516 E
void FDECL(hitfloor
, (struct obj
*));
517 E
void FDECL(hurtle
, (int, int, int, BOOLEAN_P
));
518 E
void FDECL(mhurtle
, (struct monst
*, int, int, int));
519 E boolean
FDECL(throwing_weapon
, (struct obj
*));
520 E
void FDECL(throwit
, (struct obj
*, long, BOOLEAN_P
));
521 E
int FDECL(omon_adj
, (struct monst
*, struct obj
*, BOOLEAN_P
));
522 E
int FDECL(thitmonst
, (struct monst
*, struct obj
*));
523 E
int FDECL(hero_breaks
, (struct obj
*, XCHAR_P
, XCHAR_P
, BOOLEAN_P
));
524 E
int FDECL(breaks
, (struct obj
*, XCHAR_P
, XCHAR_P
));
525 E
void FDECL(release_camera_demon
, (struct obj
*, XCHAR_P
, XCHAR_P
));
526 E
void FDECL(breakobj
,
527 (struct obj
*, XCHAR_P
, XCHAR_P
, BOOLEAN_P
, BOOLEAN_P
));
528 E boolean
FDECL(breaktest
, (struct obj
*));
529 E boolean
FDECL(walk_path
, (coord
*, coord
*,
530 boolean (*)(genericptr
, int, int), genericptr_t
));
531 E boolean
FDECL(hurtle_step
, (genericptr_t
, int, int));
533 /* ### drawing.c ### */
534 #endif /* !MAKEDEFS_C && !LEV_LEX_C */
535 E
int FDECL(def_char_to_objclass
, (CHAR_P
));
536 E
int FDECL(def_char_to_monclass
, (CHAR_P
));
537 #if !defined(MAKEDEFS_C) && !defined(LEV_LEX_C)
538 E
void FDECL(switch_symbols
, (int));
539 E
void FDECL(assign_graphics
, (int));
540 E
void NDECL(init_r_symbols
);
541 E
void NDECL(init_symbols
);
542 E
void NDECL(update_bouldersym
);
543 E
void NDECL(init_showsyms
);
544 E
void NDECL(init_l_symbols
);
545 E
void FDECL(clear_symsetentry
, (int, BOOLEAN_P
));
546 E
void FDECL(update_l_symset
, (struct symparse
*, int));
547 E
void FDECL(update_r_symset
, (struct symparse
*, int));
548 E boolean
FDECL(cursed_object_at
, (int, int));
550 /* ### dungeon.c ### */
552 E
void FDECL(save_dungeon
, (int, BOOLEAN_P
, BOOLEAN_P
));
553 E
void FDECL(restore_dungeon
, (int));
554 E
void FDECL(insert_branch
, (branch
*, BOOLEAN_P
));
555 E
void NDECL(init_dungeons
);
556 E s_level
*FDECL(find_level
, (const char *));
557 E s_level
*FDECL(Is_special
, (d_level
*));
558 E branch
*FDECL(Is_branchlev
, (d_level
*));
559 E boolean
FDECL(builds_up
, (d_level
*));
560 E xchar
FDECL(ledger_no
, (d_level
*));
561 E xchar
NDECL(maxledgerno
);
562 E schar
FDECL(depth
, (d_level
*));
563 E xchar
FDECL(dunlev
, (d_level
*));
564 E xchar
FDECL(dunlevs_in_dungeon
, (d_level
*));
565 E xchar
FDECL(ledger_to_dnum
, (XCHAR_P
));
566 E xchar
FDECL(ledger_to_dlev
, (XCHAR_P
));
567 E xchar
FDECL(deepest_lev_reached
, (BOOLEAN_P
));
568 E boolean
FDECL(on_level
, (d_level
*, d_level
*));
569 E
void FDECL(next_level
, (BOOLEAN_P
));
570 E
void FDECL(prev_level
, (BOOLEAN_P
));
571 E
void FDECL(u_on_newpos
, (int, int));
572 E
void FDECL(u_on_rndspot
, (int));
573 E
void FDECL(u_on_sstairs
, (int));
574 E
void NDECL(u_on_upstairs
);
575 E
void NDECL(u_on_dnstairs
);
576 E boolean
FDECL(On_stairs
, (XCHAR_P
, XCHAR_P
));
577 E
void FDECL(get_level
, (d_level
*, int));
578 E boolean
FDECL(Is_botlevel
, (d_level
*));
579 E boolean
FDECL(Can_fall_thru
, (d_level
*));
580 E boolean
FDECL(Can_dig_down
, (d_level
*));
581 E boolean
FDECL(Can_rise_up
, (int, int, d_level
*));
582 E boolean
FDECL(has_ceiling
, (d_level
*));
583 E boolean
FDECL(In_quest
, (d_level
*));
584 E boolean
FDECL(In_mines
, (d_level
*));
585 E branch
*FDECL(dungeon_branch
, (const char *));
586 E boolean
FDECL(at_dgn_entrance
, (const char *));
587 E boolean
FDECL(In_hell
, (d_level
*));
588 E boolean
FDECL(In_V_tower
, (d_level
*));
589 E boolean
FDECL(On_W_tower_level
, (d_level
*));
590 E boolean
FDECL(In_W_tower
, (int, int, d_level
*));
591 E
void FDECL(find_hell
, (d_level
*));
592 E
void FDECL(goto_hell
, (BOOLEAN_P
, BOOLEAN_P
));
593 E
void FDECL(assign_level
, (d_level
*, d_level
*));
594 E
void FDECL(assign_rnd_level
, (d_level
*, d_level
*, int));
595 E
int FDECL(induced_align
, (int));
596 E boolean
FDECL(Invocation_lev
, (d_level
*));
597 E xchar
NDECL(level_difficulty
);
598 E schar
FDECL(lev_by_name
, (const char *));
599 E schar
FDECL(print_dungeon
, (BOOLEAN_P
, schar
*, xchar
*));
600 E
char *FDECL(get_annotation
, (d_level
*));
601 E
int NDECL(donamelevel
);
602 E
int NDECL(dooverview
);
603 E
void FDECL(show_overview
, (int, int));
604 E
void FDECL(forget_mapseen
, (int));
605 E
void FDECL(init_mapseen
, (d_level
*));
606 E
void NDECL(recalc_mapseen
);
607 E
void FDECL(mapseen_temple
, (struct monst
*));
608 E
void FDECL(room_discovered
, (int));
609 E
void FDECL(recbranch_mapseen
, (d_level
*, d_level
*));
610 E
void FDECL(overview_stats
, (winid
, const char *, long *, long *));
611 E
void FDECL(remdun_mapseen
, (int));
616 E
int NDECL(eatmdone
);
617 E
int NDECL(eatfood
);
618 E
int NDECL(opentin
);
619 E
int NDECL(unfaint
);
621 E
void NDECL(eatmupdate
);
622 E boolean
FDECL(is_edible
, (struct obj
*));
623 E
void NDECL(init_uhunger
);
624 E
int NDECL(Hear_again
);
625 E
void NDECL(reset_eat
);
627 E
int FDECL(use_tin_opener
, (struct obj
*));
628 E
void NDECL(gethungry
);
629 E
void FDECL(morehungry
, (int));
630 E
void FDECL(lesshungry
, (int));
631 E boolean
NDECL(is_fainted
);
632 E
void NDECL(reset_faint
);
633 E
void NDECL(violated_vegetarian
);
634 E
void FDECL(newuhs
, (BOOLEAN_P
));
635 E
struct obj
*FDECL(floorfood
, (const char *, int));
637 E
int FDECL(eaten_stat
, (int, struct obj
*));
638 E
void FDECL(food_disappears
, (struct obj
*));
639 E
void FDECL(food_substitution
, (struct obj
*, struct obj
*));
640 E
void FDECL(eating_conducts
, (struct permonst
*));
641 E
int FDECL(eat_brains
, (struct monst
*, struct monst
*, BOOLEAN_P
, int *));
642 E
void NDECL(fix_petrification
);
643 E
void FDECL(consume_oeaten
, (struct obj
*, int));
644 E boolean
FDECL(maybe_finished_meal
, (BOOLEAN_P
));
645 E
void FDECL(set_tin_variety
, (struct obj
*, int));
646 E
int FDECL(tin_variety_txt
, (char *, int *));
647 E
void FDECL(tin_details
, (struct obj
*, int, char *));
648 E boolean
FDECL(Popeye
, (int));
652 E
void FDECL(done1
, (int));
655 E
void FDECL(done_intr
, (int));
657 E
void FDECL(done_in_by
, (struct monst
*, int));
658 #endif /* !MAKEDEFS_C && !LEV_LEX_C */
659 E
void VDECL(panic
, (const char *, ...)) PRINTF_F(1, 2) NORETURN
;
660 #if !defined(MAKEDEFS_C) && !defined(LEV_LEX_C)
661 E
void FDECL(done
, (int));
662 E
void FDECL(container_contents
, (struct obj
*, BOOLEAN_P
,
663 BOOLEAN_P
, BOOLEAN_P
));
664 E
void FDECL(terminate
, (int)) NORETURN
;
665 E
int NDECL(dovanquished
);
666 E
int NDECL(num_genocides
);
667 E
void FDECL(delayed_killer
, (int, int, const char *));
668 E
struct kinfo
*FDECL(find_delayed_killer
, (int));
669 E
void FDECL(dealloc_killer
, (struct kinfo
*));
670 E
void FDECL(save_killers
, (int, int));
671 E
void FDECL(restore_killers
, (int));
672 E
char *FDECL(build_english_list
, (char *));
673 #if defined(PANICTRACE) && !defined(NO_SIGNAL)
674 E
void FDECL(panictrace_setsignals
, (BOOLEAN_P
));
677 /* ### engrave.c ### */
679 E
char *FDECL(random_engraving
, (char *));
680 E
void FDECL(wipeout_text
, (char *, int, unsigned));
681 E boolean
FDECL(can_reach_floor
, (BOOLEAN_P
));
682 E
void FDECL(cant_reach_floor
, (int, int, BOOLEAN_P
, BOOLEAN_P
));
683 E
const char *FDECL(surface
, (int, int));
684 E
const char *FDECL(ceiling
, (int, int));
685 E
struct engr
*FDECL(engr_at
, (XCHAR_P
, XCHAR_P
));
686 E
int FDECL(sengr_at
, (const char *, XCHAR_P
, XCHAR_P
, BOOLEAN_P
));
687 E
void FDECL(u_wipe_engr
, (int));
688 E
void FDECL(wipe_engr_at
, (XCHAR_P
, XCHAR_P
, XCHAR_P
, BOOLEAN_P
));
689 E
void FDECL(read_engr_at
, (int, int));
690 E
void FDECL(make_engr_at
, (int, int, const char *, long, XCHAR_P
));
691 E
void FDECL(del_engr_at
, (int, int));
692 E
int NDECL(freehand
);
693 E
int NDECL(doengrave
);
694 E
void NDECL(sanitize_engravings
);
695 E
void FDECL(save_engravings
, (int, int));
696 E
void FDECL(rest_engravings
, (int));
697 E
void FDECL(engr_stats
, (const char *, char *, long *, long *));
698 E
void FDECL(del_engr
, (struct engr
*));
699 E
void FDECL(rloc_engr
, (struct engr
*));
700 E
void FDECL(make_grave
, (int, int, const char *));
702 /* ### exper.c ### */
705 E
int FDECL(experience
, (struct monst
*, int));
706 E
void FDECL(more_experienced
, (int, int));
707 E
void FDECL(losexp
, (const char *));
708 E
void NDECL(newexplevel
);
709 E
void FDECL(pluslvl
, (BOOLEAN_P
));
710 E
long FDECL(rndexp
, (BOOLEAN_P
));
712 /* ### explode.c ### */
714 E
void FDECL(explode
, (int, int, int, int, CHAR_P
, int));
715 E
long FDECL(scatter
, (int, int, int, unsigned int, struct obj
*));
716 E
void FDECL(splatter_burning_oil
, (int, int));
717 E
void FDECL(explode_oil
, (struct obj
*, int, int));
719 /* ### extralev.c ### */
721 E
void NDECL(makeroguerooms
);
722 E
void FDECL(corr
, (int, int));
723 E
void NDECL(makerogueghost
);
725 /* ### files.c ### */
727 E
char *FDECL(fname_encode
, (const char *, CHAR_P
, char *, char *, int));
728 E
char *FDECL(fname_decode
, (CHAR_P
, char *, char *, int));
729 E
const char *FDECL(fqname
, (const char *, int, int));
730 E
FILE *FDECL(fopen_datafile
, (const char *, const char *, int));
732 E
void NDECL(set_lock_and_bones
);
734 E
void FDECL(set_levelfile_name
, (char *, int));
735 E
int FDECL(create_levelfile
, (int, char *));
736 E
int FDECL(open_levelfile
, (int, char *));
737 E
void FDECL(delete_levelfile
, (int));
738 E
void NDECL(clearlocks
);
739 E
int FDECL(create_bonesfile
, (d_level
*, char **, char *));
741 E
void NDECL(cancel_bonesfile
);
743 E
void FDECL(commit_bonesfile
, (d_level
*));
744 E
int FDECL(open_bonesfile
, (d_level
*, char **));
745 E
int FDECL(delete_bonesfile
, (d_level
*));
746 E
void NDECL(compress_bonesfile
);
747 E
void FDECL(set_savefile_name
, (BOOLEAN_P
));
749 E
void FDECL(save_savefile_name
, (int));
752 E
void NDECL(set_error_savefile
);
754 E
int NDECL(create_savefile
);
755 E
int NDECL(open_savefile
);
756 E
int NDECL(delete_savefile
);
757 E
int NDECL(restore_saved_game
);
758 E
void FDECL(nh_compress
, (const char *));
759 E
void FDECL(nh_uncompress
, (const char *));
760 E boolean
FDECL(lock_file
, (const char *, int, int));
761 E
void FDECL(unlock_file
, (const char *));
763 E boolean
FDECL(can_read_file
, (const char *));
765 E boolean
FDECL(read_config_file
, (const char *, int));
766 E
void FDECL(check_recordfile
, (const char *));
767 E
void NDECL(read_wizkit
);
768 E
int FDECL(read_sym_file
, (int));
769 E
int FDECL(parse_sym_line
, (char *, int));
770 E
void FDECL(paniclog
, (const char *, const char *));
771 E
int FDECL(validate_prefix_locations
, (char *));
773 E
char *FDECL(plname_from_file
, (const char *));
775 E
char **NDECL(get_saved_games
);
776 E
void FDECL(free_saved_games
, (char **));
778 E boolean
NDECL(recover_savefile
);
781 E
void NDECL(assure_syscf_file
);
783 E
int FDECL(nhclose
, (int));
784 #ifdef HOLD_LOCKFILE_OPEN
785 E
void NDECL(really_close
);
788 E boolean
FDECL(debugcore
, (const char *, BOOLEAN_P
));
790 E boolean
FDECL(read_tribute
, (const char *, const char *, int,
791 char *, int, unsigned));
792 E boolean
FDECL(Death_quote
, (char *, int));
794 /* ### fountain.c ### */
796 E
void FDECL(floating_above
, (const char *));
797 E
void FDECL(dogushforth
, (int));
799 E
void FDECL(gush
, (int, int, genericptr_t
));
801 E
void FDECL(dryup
, (XCHAR_P
, XCHAR_P
, BOOLEAN_P
));
802 E
void NDECL(drinkfountain
);
803 E
void FDECL(dipfountain
, (struct obj
*));
804 E
void FDECL(breaksink
, (int, int));
805 E
void NDECL(drinksink
);
809 E boolean
FDECL(is_valid_travelpt
, (int,int));
810 E anything
*FDECL(uint_to_any
, (unsigned));
811 E anything
*FDECL(long_to_any
, (long));
812 E anything
*FDECL(monst_to_any
, (struct monst
*));
813 E anything
*FDECL(obj_to_any
, (struct obj
*));
814 E boolean
FDECL(revive_nasty
, (int, int, const char *));
815 E
void FDECL(movobj
, (struct obj
*, XCHAR_P
, XCHAR_P
));
816 E boolean
FDECL(may_dig
, (XCHAR_P
, XCHAR_P
));
817 E boolean
FDECL(may_passwall
, (XCHAR_P
, XCHAR_P
));
818 E boolean
FDECL(bad_rock
, (struct permonst
*, XCHAR_P
, XCHAR_P
));
819 E
int FDECL(cant_squeeze_thru
, (struct monst
*));
820 E boolean
FDECL(invocation_pos
, (XCHAR_P
, XCHAR_P
));
821 E boolean
FDECL(test_move
, (int, int, int, int, int));
823 E
int NDECL(wiz_debug_cmd_traveldisplay
);
825 E boolean
NDECL(u_rooted
);
826 E
void NDECL(domove
);
827 E boolean
NDECL(overexertion
);
828 E
void NDECL(invocation_message
);
829 E boolean
FDECL(pooleffects
, (BOOLEAN_P
));
830 E
void FDECL(spoteffects
, (BOOLEAN_P
));
831 E
char *FDECL(in_rooms
, (XCHAR_P
, XCHAR_P
, int));
832 E boolean
FDECL(in_town
, (int, int));
833 E
void FDECL(check_special_room
, (BOOLEAN_P
));
834 E
int NDECL(dopickup
);
835 E
void NDECL(lookaround
);
836 E boolean
FDECL(crawl_destination
, (int, int));
837 E
int NDECL(monster_nearby
);
838 E
void FDECL(nomul
, (int));
839 E
void FDECL(unmul
, (const char *));
840 E
void FDECL(losehp
, (int, const char *, BOOLEAN_P
));
841 E
int NDECL(weight_cap
);
842 E
int NDECL(inv_weight
);
843 E
int NDECL(near_capacity
);
844 E
int FDECL(calc_capacity
, (int));
845 E
int NDECL(max_capacity
);
846 E boolean
FDECL(check_capacity
, (const char *));
847 E
int FDECL(inv_cnt
, (BOOLEAN_P
));
848 E
long FDECL(money_cnt
, (struct obj
*));
850 /* ### hacklib.c ### */
852 E boolean
FDECL(digit
, (CHAR_P
));
853 E boolean
FDECL(letter
, (CHAR_P
));
854 E
char FDECL(highc
, (CHAR_P
));
855 E
char FDECL(lowc
, (CHAR_P
));
856 E
char *FDECL(lcase
, (char *));
857 E
char *FDECL(ucase
, (char *));
858 E
char *FDECL(upstart
, (char *));
859 E
char *FDECL(mungspaces
, (char *));
860 E
char *FDECL(trimspaces
, (char *));
861 E
char *FDECL(strip_newline
, (char *));
862 E
char *FDECL(eos
, (char *));
863 E boolean
FDECL(str_end_is
, (const char *, const char *));
864 E
char *FDECL(strkitten
, (char *, CHAR_P
));
865 E
void FDECL(copynchars
, (char *, const char *, int));
866 E
char FDECL(chrcasecpy
, (int, int));
867 E
char *FDECL(strcasecpy
, (char *, const char *));
868 E
char *FDECL(s_suffix
, (const char *));
869 E
char *FDECL(ing_suffix
, (const char *));
870 E
char *FDECL(xcrypt
, (const char *, char *));
871 E boolean
FDECL(onlyspace
, (const char *));
872 E
char *FDECL(tabexpand
, (char *));
873 E
char *FDECL(visctrl
, (CHAR_P
));
874 E
char *FDECL(strsubst
, (char *, const char *, const char *));
875 E
const char *FDECL(ordin
, (int));
876 E
char *FDECL(sitoa
, (int));
877 E
int FDECL(sgn
, (int));
878 E
int FDECL(rounddiv
, (long, int));
879 E
int FDECL(dist2
, (int, int, int, int));
880 E
int FDECL(isqrt
, (int));
881 E
int FDECL(distmin
, (int, int, int, int));
882 E boolean
FDECL(online2
, (int, int, int, int));
883 E boolean
FDECL(pmatch
, (const char *, const char *));
884 E boolean
FDECL(pmatchi
, (const char *, const char *));
885 E boolean
FDECL(pmatchz
, (const char *, const char *));
887 E
int FDECL(strncmpi
, (const char *, const char *, int));
890 E
char *FDECL(strstri
, (const char *, const char *));
893 FDECL(fuzzymatch
, (const char *, const char *, const char *, BOOLEAN_P
));
894 E
void NDECL(setrandom
);
895 E
time_t NDECL(getnow
);
896 E
int NDECL(getyear
);
898 E
char *FDECL(yymmdd
, (time_t));
900 E
long FDECL(yyyymmdd
, (time_t));
901 E
long FDECL(hhmmss
, (time_t));
902 E
char *FDECL(yyyymmddhhmmss
, (time_t));
903 E
time_t FDECL(time_from_yyyymmddhhmmss
, (char *));
904 E
int NDECL(phase_of_the_moon
);
905 E boolean
NDECL(friday_13th
);
907 E
int NDECL(midnight
);
909 /* ### invent.c ### */
911 E
void FDECL(sortloot
, (struct obj
**, unsigned, BOOLEAN_P
));
912 E
void FDECL(assigninvlet
, (struct obj
*));
913 E
struct obj
*FDECL(merge_choice
, (struct obj
*, struct obj
*));
914 E
int FDECL(merged
, (struct obj
**, struct obj
**));
916 E
int FDECL(ckunpaid
, (struct obj
*));
918 E
void FDECL(addinv_core1
, (struct obj
*));
919 E
void FDECL(addinv_core2
, (struct obj
*));
920 E
struct obj
*FDECL(addinv
, (struct obj
*));
921 E
struct obj
*FDECL(hold_another_object
,
922 (struct obj
*, const char *, const char *, const char *));
923 E
void FDECL(useupall
, (struct obj
*));
924 E
void FDECL(useup
, (struct obj
*));
925 E
void FDECL(consume_obj_charge
, (struct obj
*, BOOLEAN_P
));
926 E
void FDECL(freeinv_core
, (struct obj
*));
927 E
void FDECL(freeinv
, (struct obj
*));
928 E
void FDECL(delallobj
, (int, int));
929 E
void FDECL(delobj
, (struct obj
*));
930 E
struct obj
*FDECL(sobj_at
, (int, int, int));
931 E
struct obj
*FDECL(nxtobj
, (struct obj
*, int, BOOLEAN_P
));
932 E
struct obj
*FDECL(carrying
, (int));
933 E boolean
NDECL(have_lizard
);
934 E
struct obj
*NDECL(u_have_novel
);
935 E
struct obj
*FDECL(o_on
, (unsigned int, struct obj
*));
936 E boolean
FDECL(obj_here
, (struct obj
*, int, int));
937 E boolean
NDECL(wearing_armor
);
938 E boolean
FDECL(is_worn
, (struct obj
*));
939 E
struct obj
*FDECL(g_at
, (int, int));
940 E boolean
FDECL(splittable
, (struct obj
*));
941 E
struct obj
*FDECL(getobj
, (const char *, const char *));
942 E
int FDECL(ggetobj
, (const char *, int (*)(OBJ_P
), int,
943 BOOLEAN_P
, unsigned *));
944 E
int FDECL(askchain
, (struct obj
**, const char *, int, int (*)(OBJ_P
),
945 int (*)(OBJ_P
), int, const char *));
946 E
void FDECL(fully_identify_obj
, (struct obj
*));
947 E
int FDECL(identify
, (struct obj
*));
948 E
void FDECL(identify_pack
, (int, BOOLEAN_P
));
949 E
void NDECL(learn_unseen_invent
);
950 E
void FDECL(prinv
, (const char *, struct obj
*, long));
951 E
char *FDECL(xprname
,
952 (struct obj
*, const char *, CHAR_P
, BOOLEAN_P
, long, long));
954 E
char FDECL(display_inventory
, (const char *, BOOLEAN_P
));
955 E
int FDECL(display_binventory
, (int, int, BOOLEAN_P
));
956 E
struct obj
*FDECL(display_cinventory
, (struct obj
*));
957 E
struct obj
*FDECL(display_minventory
, (struct monst
*, int, char *));
958 E
int NDECL(dotypeinv
);
959 E
const char *FDECL(dfeature_at
, (int, int, char *));
960 E
int FDECL(look_here
, (int, BOOLEAN_P
));
962 E boolean
FDECL(will_feel_cockatrice
, (struct obj
*, BOOLEAN_P
));
963 E
void FDECL(feel_cockatrice
, (struct obj
*, BOOLEAN_P
));
964 E
void FDECL(stackobj
, (struct obj
*));
965 E boolean
FDECL(mergable
, (struct obj
*, struct obj
*));
966 E
int NDECL(doprgold
);
967 E
int NDECL(doprwep
);
968 E
int NDECL(doprarm
);
969 E
int NDECL(doprring
);
970 E
int NDECL(dopramulet
);
971 E
int NDECL(doprtool
);
972 E
int NDECL(doprinuse
);
973 E
void FDECL(useupf
, (struct obj
*, long));
974 E
char *FDECL(let_to_name
, (CHAR_P
, BOOLEAN_P
, BOOLEAN_P
));
975 E
void NDECL(free_invbuf
);
976 E
void NDECL(reassign
);
977 E
int NDECL(doorganize
);
978 E
void NDECL(free_pickinv_cache
);
979 E
int FDECL(count_unpaid
, (struct obj
*));
980 E
int FDECL(count_buc
, (struct obj
*, int));
981 E
long FDECL(count_contents
, (struct obj
*, BOOLEAN_P
, BOOLEAN_P
, BOOLEAN_P
));
982 E
void FDECL(carry_obj_effects
, (struct obj
*));
983 E
const char *FDECL(currency
, (long));
984 E
void FDECL(silly_thing
, (const char *, struct obj
*));
986 /* ### ioctl.c ### */
988 #if defined(UNIX) || defined(__BEOS__)
989 E
void NDECL(getwindowsz
);
990 E
void NDECL(getioctls
);
991 E
void NDECL(setioctls
);
993 E
int NDECL(dosuspend
);
995 #endif /* UNIX || __BEOS__ */
997 /* ### light.c ### */
999 E
void FDECL(new_light_source
, (XCHAR_P
, XCHAR_P
, int, int, ANY_P
*));
1000 E
void FDECL(del_light_source
, (int, ANY_P
*));
1001 E
void FDECL(do_light_sources
, (char **));
1002 E
struct monst
*FDECL(find_mid
, (unsigned, unsigned));
1003 E
void FDECL(save_light_sources
, (int, int, int));
1004 E
void FDECL(restore_light_sources
, (int));
1005 E
void FDECL(light_stats
, (const char *, char *, long *, long *));
1006 E
void FDECL(relink_light_sources
, (BOOLEAN_P
));
1007 E
void NDECL(light_sources_sanity_check
);
1008 E
void FDECL(obj_move_light_source
, (struct obj
*, struct obj
*));
1009 E boolean
NDECL(any_light_source
);
1010 E
void FDECL(snuff_light_source
, (int, int));
1011 E boolean
FDECL(obj_sheds_light
, (struct obj
*));
1012 E boolean
FDECL(obj_is_burning
, (struct obj
*));
1013 E
void FDECL(obj_split_light_source
, (struct obj
*, struct obj
*));
1014 E
void FDECL(obj_merge_light_sources
, (struct obj
*, struct obj
*));
1015 E
void FDECL(obj_adjust_light_radius
, (struct obj
*, int));
1016 E
int FDECL(candle_light_range
, (struct obj
*));
1017 E
int FDECL(arti_light_radius
, (struct obj
*));
1018 E
const char *FDECL(arti_light_description
, (struct obj
*));
1019 E
int NDECL(wiz_light_sources
);
1021 /* ### lock.c ### */
1024 E
int NDECL(forcelock
);
1025 E
int NDECL(picklock
);
1027 E boolean
FDECL(picking_lock
, (int *, int *));
1028 E boolean
FDECL(picking_at
, (int, int));
1029 E
void FDECL(breakchestlock
, (struct obj
*, BOOLEAN_P
));
1030 E
void NDECL(reset_pick
);
1031 E
void NDECL(maybe_reset_pick
);
1032 E
int FDECL(pick_lock
, (struct obj
*));
1033 E
int NDECL(doforce
);
1034 E boolean
FDECL(boxlock
, (struct obj
*, struct obj
*));
1035 E boolean
FDECL(doorlock
, (struct obj
*, int, int));
1036 E
int NDECL(doopen
);
1037 E boolean
FDECL(stumble_on_door_mimic
, (int, int));
1038 E
int FDECL(doopen_indir
, (int, int));
1039 E
int NDECL(doclose
);
1042 /* These declarations are here because the main code calls them. */
1044 /* ### macfile.c ### */
1046 E
int FDECL(maccreat
, (const char *, long));
1047 E
int FDECL(macopen
, (const char *, int, long));
1048 E
int FDECL(macclose
, (int));
1049 E
int FDECL(macread
, (int, void *, unsigned));
1050 E
int FDECL(macwrite
, (int, void *, unsigned));
1051 E
long FDECL(macseek
, (int, long, short));
1052 E
int FDECL(macunlink
, (const char *));
1054 /* ### macmain.c ### */
1056 E boolean
NDECL(authorize_wizard_mode
);
1058 /* ### macsnd.c ### */
1060 E
void FDECL(mac_speaker
, (struct obj
*, char *));
1062 /* ### macunix.c ### */
1064 E
void FDECL(regularize
, (char *));
1065 E
void NDECL(getlock
);
1067 /* ### macwin.c ### */
1069 E
void FDECL(lock_mouse_cursor
, (Boolean
));
1070 E
int NDECL(SanePositions
);
1072 /* ### mttymain.c ### */
1074 E
void FDECL(getreturn
, (char *));
1075 E
void VDECL(msmsg
, (const char *, ...));
1076 E
void NDECL(gettty
);
1077 E
void NDECL(setftty
);
1078 E
void FDECL(settty
, (const char *));
1079 E
int NDECL(tgetch
);
1080 E
void FDECL(cmov
, (int x
, int y
));
1081 E
void FDECL(nocmov
, (int x
, int y
));
1085 /* ### mail.c ### */
1089 E
void NDECL(free_maildata
);
1090 E
void NDECL(getmailstatus
);
1091 E
void NDECL(ck_server_admin_msg
);
1093 E
void NDECL(ckmailstatus
);
1094 E
void FDECL(readmail
, (struct obj
*));
1097 /* ### makemon.c ### */
1099 E
void FDECL(dealloc_monst
, (struct monst
*));
1100 E boolean
FDECL(is_home_elemental
, (struct permonst
*));
1101 E
struct monst
*FDECL(clone_mon
, (struct monst
*, XCHAR_P
, XCHAR_P
));
1102 E
int FDECL(monhp_per_lvl
, (struct monst
*));
1103 E
void FDECL(newmonhp
, (struct monst
*, int));
1104 E
struct mextra
*NDECL(newmextra
);
1105 E
void FDECL(copy_mextra
, (struct monst
*, struct monst
*));
1106 E
void FDECL(dealloc_mextra
, (struct monst
*));
1107 E
struct monst
*FDECL(makemon
, (struct permonst
*, int, int, int));
1108 E boolean
FDECL(create_critters
, (int, struct permonst
*, BOOLEAN_P
));
1109 E
struct permonst
*NDECL(rndmonst
);
1110 E
void FDECL(reset_rndmonst
, (int));
1111 E
struct permonst
*FDECL(mkclass
, (CHAR_P
, int));
1112 E
int FDECL(mkclass_poly
, (int));
1113 E
int FDECL(adj_lev
, (struct permonst
*));
1114 E
struct permonst
*FDECL(grow_up
, (struct monst
*, struct monst
*));
1115 E
int FDECL(mongets
, (struct monst
*, int));
1116 E
int FDECL(golemhp
, (int));
1117 E boolean
FDECL(peace_minded
, (struct permonst
*));
1118 E
void FDECL(set_malign
, (struct monst
*));
1119 E
void FDECL(newmcorpsenm
, (struct monst
*));
1120 E
void FDECL(freemcorpsenm
, (struct monst
*));
1121 E
void FDECL(set_mimic_sym
, (struct monst
*));
1122 E
int FDECL(mbirth_limit
, (int));
1123 E
void FDECL(mimic_hit_msg
, (struct monst
*, SHORT_P
));
1124 E
void FDECL(mkmonmoney
, (struct monst
*, long));
1125 E
int FDECL(bagotricks
, (struct obj
*, BOOLEAN_P
, int *));
1126 E boolean
FDECL(propagate
, (int, BOOLEAN_P
, BOOLEAN_P
));
1127 E boolean
FDECL(usmellmon
, (struct permonst
*));
1129 /* ### mapglyph.c ### */
1131 E
int FDECL(mapglyph
, (int, int *, int *, unsigned *, int, int));
1132 E
char *FDECL(encglyph
, (int));
1133 E
void FDECL(genl_putmixed
, (winid
, int, const char *));
1135 /* ### mcastu.c ### */
1137 E
int FDECL(castmu
, (struct monst
*, struct attack
*, BOOLEAN_P
, BOOLEAN_P
));
1138 E
int FDECL(buzzmu
, (struct monst
*, struct attack
*));
1140 /* ### mhitm.c ### */
1142 E
int FDECL(fightm
, (struct monst
*));
1143 E
int FDECL(mattackm
, (struct monst
*, struct monst
*));
1144 E boolean
FDECL(engulf_target
, (struct monst
*, struct monst
*));
1145 E
int FDECL(mdisplacem
, (struct monst
*, struct monst
*, BOOLEAN_P
));
1146 E
void FDECL(paralyze_monst
, (struct monst
*, int));
1147 E
int FDECL(sleep_monst
, (struct monst
*, int, int));
1148 E
void FDECL(slept_monst
, (struct monst
*));
1149 E
void FDECL(xdrainenergym
, (struct monst
*, BOOLEAN_P
));
1150 E
long FDECL(attk_protection
, (int));
1151 E
void FDECL(rustm
, (struct monst
*, struct obj
*));
1153 /* ### mhitu.c ### */
1155 E
const char *FDECL(mpoisons_subj
, (struct monst
*, struct attack
*));
1156 E
void NDECL(u_slow_down
);
1157 E
struct monst
*NDECL(cloneu
);
1158 E
void FDECL(expels
, (struct monst
*, struct permonst
*, BOOLEAN_P
));
1159 E
struct attack
*FDECL(getmattk
, (struct monst
*, struct monst
*,
1160 int, int *, struct attack
*));
1161 E
int FDECL(mattacku
, (struct monst
*));
1162 E
int FDECL(magic_negation
, (struct monst
*));
1163 E boolean
NDECL(gulp_blnd_check
);
1164 E
int FDECL(gazemu
, (struct monst
*, struct attack
*));
1165 E
void FDECL(mdamageu
, (struct monst
*, int));
1166 E
int FDECL(could_seduce
, (struct monst
*, struct monst
*, struct attack
*));
1167 E
int FDECL(doseduce
, (struct monst
*));
1169 /* ### minion.c ### */
1171 E
void FDECL(newemin
, (struct monst
*));
1172 E
void FDECL(free_emin
, (struct monst
*));
1173 E
int FDECL(monster_census
, (BOOLEAN_P
));
1174 E
int FDECL(msummon
, (struct monst
*));
1175 E
void FDECL(summon_minion
, (ALIGNTYP_P
, BOOLEAN_P
));
1176 E
int FDECL(demon_talk
, (struct monst
*));
1177 E
long FDECL(bribe
, (struct monst
*));
1178 E
int FDECL(dprince
, (ALIGNTYP_P
));
1179 E
int FDECL(dlord
, (ALIGNTYP_P
));
1181 E
int FDECL(ndemon
, (ALIGNTYP_P
));
1182 E
int NDECL(lminion
);
1183 E
void FDECL(lose_guardian_angel
, (struct monst
*));
1184 E
void NDECL(gain_guardian_angel
);
1186 /* ### mklev.c ### */
1189 E
int FDECL(do_comp
, (genericptr_t
, genericptr_t
));
1191 E
void NDECL(sort_rooms
);
1192 E
void FDECL(add_room
, (int, int, int, int, BOOLEAN_P
, SCHAR_P
, BOOLEAN_P
));
1193 E
void FDECL(add_subroom
, (struct mkroom
*, int, int, int, int, BOOLEAN_P
,
1194 SCHAR_P
, BOOLEAN_P
));
1195 E
void NDECL(makecorridors
);
1196 E
void FDECL(add_door
, (int, int, struct mkroom
*));
1197 E
void NDECL(mklev
);
1198 #ifdef SPECIALIZATION
1199 E
void FDECL(topologize
, (struct mkroom
*, BOOLEAN_P
));
1201 E
void FDECL(topologize
, (struct mkroom
*));
1203 E
void FDECL(place_branch
, (branch
*, XCHAR_P
, XCHAR_P
));
1204 E boolean
FDECL(occupied
, (XCHAR_P
, XCHAR_P
));
1205 E
int FDECL(okdoor
, (XCHAR_P
, XCHAR_P
));
1206 E
void FDECL(dodoor
, (int, int, struct mkroom
*));
1207 E
void FDECL(mktrap
, (int, int, struct mkroom
*, coord
*));
1208 E
void FDECL(mkstairs
, (XCHAR_P
, XCHAR_P
, CHAR_P
, struct mkroom
*));
1209 E
void NDECL(mkinvokearea
);
1210 E
void FDECL(mineralize
, (int, int, int, int, BOOLEAN_P
));
1212 /* ### mkmap.c ### */
1214 E
void FDECL(flood_fill_rm
, (int, int, int, BOOLEAN_P
, BOOLEAN_P
));
1215 E
void FDECL(remove_rooms
, (int, int, int, int));
1216 /* E void FDECL(mkmap, (lev_init *)); -- need sp_lev.h for lev_init */
1218 /* ### mkmaze.c ### */
1220 E
void FDECL(wallification
, (int, int, int, int));
1221 E
void FDECL(fix_wall_spines
, (int, int, int, int));
1222 E
void FDECL(walkfrom
, (int, int, SCHAR_P
));
1223 E
void FDECL(makemaz
, (const char *));
1224 E
void FDECL(mazexy
, (coord
*));
1225 E
void NDECL(bound_digging
);
1226 E
void FDECL(mkportal
, (XCHAR_P
, XCHAR_P
, XCHAR_P
, XCHAR_P
));
1227 E boolean
FDECL(bad_location
, (XCHAR_P
, XCHAR_P
, XCHAR_P
, XCHAR_P
,
1229 E
void FDECL(place_lregion
, (XCHAR_P
, XCHAR_P
, XCHAR_P
, XCHAR_P
, XCHAR_P
,
1230 XCHAR_P
, XCHAR_P
, XCHAR_P
, XCHAR_P
, d_level
*));
1231 E
void NDECL(fixup_special
);
1232 E
void NDECL(fumaroles
);
1233 E
void NDECL(movebubbles
);
1234 E
void NDECL(water_friction
);
1235 E
void FDECL(save_waterlevel
, (int, int));
1236 E
void FDECL(restore_waterlevel
, (int));
1237 E
const char *FDECL(waterbody_name
, (XCHAR_P
, XCHAR_P
));
1239 /* ### mkobj.c ### */
1241 E
struct oextra
*NDECL(newoextra
);
1242 E
void FDECL(copy_oextra
, (struct obj
*, struct obj
*));
1243 E
void FDECL(dealloc_oextra
, (struct obj
*));
1244 E
void FDECL(newomonst
, (struct obj
*));
1245 E
void FDECL(free_omonst
, (struct obj
*));
1246 E
void FDECL(newomid
, (struct obj
*));
1247 E
void FDECL(free_omid
, (struct obj
*));
1248 E
void FDECL(newolong
, (struct obj
*));
1249 E
void FDECL(free_olong
, (struct obj
*));
1250 E
void FDECL(new_omailcmd
, (struct obj
*, const char *));
1251 E
void FDECL(free_omailcmd
, (struct obj
*));
1252 E
struct obj
*FDECL(mkobj_at
, (CHAR_P
, int, int, BOOLEAN_P
));
1253 E
struct obj
*FDECL(mksobj_at
, (int, int, int, BOOLEAN_P
, BOOLEAN_P
));
1254 E
struct obj
*FDECL(mkobj
, (CHAR_P
, BOOLEAN_P
));
1255 E
int NDECL(rndmonnum
);
1256 E boolean
FDECL(bogon_is_pname
, (CHAR_P
));
1257 E
struct obj
*FDECL(splitobj
, (struct obj
*, long));
1258 E
struct obj
*FDECL(unsplitobj
, (struct obj
*));
1259 E
void NDECL(clear_splitobjs
);
1260 E
void FDECL(replace_object
, (struct obj
*, struct obj
*));
1261 E
void FDECL(bill_dummy_object
, (struct obj
*));
1262 E
void FDECL(costly_alteration
, (struct obj
*, int));
1263 E
struct obj
*FDECL(mksobj
, (int, BOOLEAN_P
, BOOLEAN_P
));
1264 E
int FDECL(bcsign
, (struct obj
*));
1265 E
int FDECL(weight
, (struct obj
*));
1266 E
struct obj
*FDECL(mkgold
, (long, int, int));
1267 E
struct obj
*FDECL(mkcorpstat
, (int, struct monst
*, struct permonst
*, int,
1269 E
int FDECL(corpse_revive_type
, (struct obj
*));
1270 E
struct obj
*FDECL(obj_attach_mid
, (struct obj
*, unsigned));
1271 E
struct monst
*FDECL(get_mtraits
, (struct obj
*, BOOLEAN_P
));
1272 E
struct obj
*FDECL(mk_tt_object
, (int, int, int));
1273 E
struct obj
*FDECL(mk_named_object
,
1274 (int, struct permonst
*, int, int, const char *));
1275 E
struct obj
*FDECL(rnd_treefruit_at
, (int, int));
1276 E
void FDECL(set_corpsenm
, (struct obj
*, int));
1277 E
void FDECL(start_corpse_timeout
, (struct obj
*));
1278 E
void FDECL(bless
, (struct obj
*));
1279 E
void FDECL(unbless
, (struct obj
*));
1280 E
void FDECL(curse
, (struct obj
*));
1281 E
void FDECL(uncurse
, (struct obj
*));
1282 E
void FDECL(blessorcurse
, (struct obj
*, int));
1283 E boolean
FDECL(is_flammable
, (struct obj
*));
1284 E boolean
FDECL(is_rottable
, (struct obj
*));
1285 E
void FDECL(place_object
, (struct obj
*, int, int));
1286 E
void FDECL(remove_object
, (struct obj
*));
1287 E
void FDECL(discard_minvent
, (struct monst
*));
1288 E
void FDECL(obj_extract_self
, (struct obj
*));
1289 E
void FDECL(extract_nobj
, (struct obj
*, struct obj
**));
1290 E
void FDECL(extract_nexthere
, (struct obj
*, struct obj
**));
1291 E
int FDECL(add_to_minv
, (struct monst
*, struct obj
*));
1292 E
struct obj
*FDECL(add_to_container
, (struct obj
*, struct obj
*));
1293 E
void FDECL(add_to_migration
, (struct obj
*));
1294 E
void FDECL(add_to_buried
, (struct obj
*));
1295 E
void FDECL(dealloc_obj
, (struct obj
*));
1296 E
void FDECL(obj_ice_effects
, (int, int, BOOLEAN_P
));
1297 E
long FDECL(peek_at_iced_corpse_age
, (struct obj
*));
1298 E
int FDECL(hornoplenty
, (struct obj
*, BOOLEAN_P
));
1299 E
void NDECL(obj_sanity_check
);
1300 E
struct obj
*FDECL(obj_nexto
, (struct obj
*));
1301 E
struct obj
*FDECL(obj_nexto_xy
, (struct obj
*, int, int, BOOLEAN_P
));
1302 E
struct obj
*FDECL(obj_absorb
, (struct obj
**, struct obj
**));
1303 E
struct obj
*FDECL(obj_meld
, (struct obj
**, struct obj
**));
1305 /* ### mkroom.c ### */
1307 E
void FDECL(mkroom
, (int));
1308 E
void FDECL(fill_zoo
, (struct mkroom
*));
1309 E
struct permonst
*NDECL(antholemon
);
1310 E boolean
FDECL(nexttodoor
, (int, int));
1311 E boolean
FDECL(has_dnstairs
, (struct mkroom
*));
1312 E boolean
FDECL(has_upstairs
, (struct mkroom
*));
1313 E
int FDECL(somex
, (struct mkroom
*));
1314 E
int FDECL(somey
, (struct mkroom
*));
1315 E boolean
FDECL(inside_room
, (struct mkroom
*, XCHAR_P
, XCHAR_P
));
1316 E boolean
FDECL(somexy
, (struct mkroom
*, coord
*));
1317 E
void FDECL(mkundead
, (coord
*, BOOLEAN_P
, int));
1318 E
struct permonst
*NDECL(courtmon
);
1319 E
void FDECL(save_rooms
, (int));
1320 E
void FDECL(rest_rooms
, (int));
1321 E
struct mkroom
*FDECL(search_special
, (SCHAR_P
));
1322 E
int FDECL(cmap_to_type
, (int));
1326 E
void NDECL(mon_sanity_check
);
1327 E
int FDECL(undead_to_corpse
, (int));
1328 E
int FDECL(genus
, (int, int));
1329 E
int FDECL(pm_to_cham
, (int));
1330 E
int FDECL(minliquid
, (struct monst
*));
1331 E
int NDECL(movemon
);
1332 E
int FDECL(meatmetal
, (struct monst
*));
1333 E
int FDECL(meatobj
, (struct monst
*));
1334 E
void FDECL(mpickgold
, (struct monst
*));
1335 E boolean
FDECL(mpickstuff
, (struct monst
*, const char *));
1336 E
int FDECL(curr_mon_load
, (struct monst
*));
1337 E
int FDECL(max_mon_load
, (struct monst
*));
1338 E
int FDECL(can_carry
, (struct monst
*, struct obj
*));
1339 E
int FDECL(mfndpos
, (struct monst
*, coord
*, long *, long));
1340 E boolean
FDECL(monnear
, (struct monst
*, int, int));
1341 E
void NDECL(dmonsfree
);
1342 E
int FDECL(mcalcmove
, (struct monst
*));
1343 E
void NDECL(mcalcdistress
);
1344 E
void FDECL(replmon
, (struct monst
*, struct monst
*));
1345 E
void FDECL(relmon
, (struct monst
*, struct monst
**));
1346 E
struct obj
*FDECL(mlifesaver
, (struct monst
*));
1347 E boolean
FDECL(corpse_chance
, (struct monst
*, struct monst
*, BOOLEAN_P
));
1348 E
void FDECL(mondead
, (struct monst
*));
1349 E
void FDECL(mondied
, (struct monst
*));
1350 E
void FDECL(mongone
, (struct monst
*));
1351 E
void FDECL(monstone
, (struct monst
*));
1352 E
void FDECL(monkilled
, (struct monst
*, const char *, int));
1353 E
void FDECL(unstuck
, (struct monst
*));
1354 E
void FDECL(killed
, (struct monst
*));
1355 E
void FDECL(xkilled
, (struct monst
*, int));
1356 E
void FDECL(mon_to_stone
, (struct monst
*));
1357 E
void FDECL(m_into_limbo
, (struct monst
*));
1358 E
void FDECL(mnexto
, (struct monst
*));
1359 E
void FDECL(maybe_mnexto
, (struct monst
*));
1360 E boolean
FDECL(mnearto
, (struct monst
*, XCHAR_P
, XCHAR_P
, BOOLEAN_P
));
1361 E
void FDECL(m_respond
, (struct monst
*));
1362 E
void FDECL(setmangry
, (struct monst
*, BOOLEAN_P
));
1363 E
void FDECL(wakeup
, (struct monst
*, BOOLEAN_P
));
1364 E
void NDECL(wake_nearby
);
1365 E
void FDECL(wake_nearto
, (int, int, int));
1366 E
void FDECL(seemimic
, (struct monst
*));
1367 E
void NDECL(rescham
);
1368 E
void NDECL(restartcham
);
1369 E
void FDECL(restore_cham
, (struct monst
*));
1370 E boolean
FDECL(hideunder
, (struct monst
*));
1371 E
void FDECL(hide_monst
, (struct monst
*));
1372 E
void FDECL(mon_animal_list
, (BOOLEAN_P
));
1373 E
int FDECL(select_newcham_form
, (struct monst
*));
1374 E
void FDECL(mgender_from_permonst
, (struct monst
*, struct permonst
*));
1375 E
int FDECL(newcham
,
1376 (struct monst
*, struct permonst
*, BOOLEAN_P
, BOOLEAN_P
));
1377 E
int FDECL(can_be_hatched
, (int));
1378 E
int FDECL(egg_type_from_parent
, (int, BOOLEAN_P
));
1379 E boolean
FDECL(dead_species
, (int, BOOLEAN_P
));
1380 E
void NDECL(kill_genocided_monsters
);
1381 E
void FDECL(golemeffects
, (struct monst
*, int, int));
1382 E boolean
FDECL(angry_guards
, (BOOLEAN_P
));
1383 E
void NDECL(pacify_guards
);
1384 E
void FDECL(decide_to_shapeshift
, (struct monst
*, int));
1385 E boolean
FDECL(vamp_stone
, (struct monst
*));
1387 /* ### mondata.c ### */
1389 E
void FDECL(set_mon_data
, (struct monst
*, struct permonst
*, int));
1390 E
struct attack
*FDECL(attacktype_fordmg
, (struct permonst
*, int, int));
1391 E boolean
FDECL(attacktype
, (struct permonst
*, int));
1392 E boolean
FDECL(noattacks
, (struct permonst
*));
1393 E boolean
FDECL(poly_when_stoned
, (struct permonst
*));
1394 E boolean
FDECL(resists_drli
, (struct monst
*));
1395 E boolean
FDECL(resists_magm
, (struct monst
*));
1396 E boolean
FDECL(resists_blnd
, (struct monst
*));
1398 FDECL(can_blnd
, (struct monst
*, struct monst
*, UCHAR_P
, struct obj
*));
1399 E boolean
FDECL(ranged_attk
, (struct permonst
*));
1400 E boolean
FDECL(hates_silver
, (struct permonst
*));
1401 E boolean
FDECL(mon_hates_silver
, (struct monst
*));
1402 E boolean
FDECL(passes_bars
, (struct permonst
*));
1403 E boolean
FDECL(can_blow
, (struct monst
*));
1404 E boolean
FDECL(can_be_strangled
, (struct monst
*));
1405 E boolean
FDECL(can_track
, (struct permonst
*));
1406 E boolean
FDECL(breakarm
, (struct permonst
*));
1407 E boolean
FDECL(sliparm
, (struct permonst
*));
1408 E boolean
FDECL(sticks
, (struct permonst
*));
1409 E boolean
FDECL(cantvomit
, (struct permonst
*));
1410 E
int FDECL(num_horns
, (struct permonst
*));
1411 /* E boolean FDECL(canseemon, (struct monst *)); */
1412 E
struct attack
*FDECL(dmgtype_fromattack
, (struct permonst
*, int, int));
1413 E boolean
FDECL(dmgtype
, (struct permonst
*, int));
1414 E
int FDECL(max_passive_dmg
, (struct monst
*, struct monst
*));
1415 E boolean
FDECL(same_race
, (struct permonst
*, struct permonst
*));
1416 E
int FDECL(monsndx
, (struct permonst
*));
1417 E
int FDECL(name_to_mon
, (const char *));
1418 E
int FDECL(name_to_monclass
, (const char *, int *));
1419 E
int FDECL(gender
, (struct monst
*));
1420 E
int FDECL(pronoun_gender
, (struct monst
*));
1421 E boolean
FDECL(levl_follower
, (struct monst
*));
1422 E
int FDECL(little_to_big
, (int));
1423 E
int FDECL(big_to_little
, (int));
1424 E
const char *FDECL(locomotion
, (const struct permonst
*, const char *));
1425 E
const char *FDECL(stagger
, (const struct permonst
*, const char *));
1426 E
const char *FDECL(on_fire
, (struct permonst
*, struct attack
*));
1427 E
const struct permonst
*FDECL(raceptr
, (struct monst
*));
1428 E boolean
FDECL(olfaction
, (struct permonst
*));
1430 /* ### monmove.c ### */
1432 E boolean
FDECL(itsstuck
, (struct monst
*));
1433 E boolean
FDECL(mb_trapped
, (struct monst
*));
1434 E boolean
FDECL(monhaskey
, (struct monst
*, BOOLEAN_P
));
1435 E
void FDECL(mon_regen
, (struct monst
*, BOOLEAN_P
));
1436 E
int FDECL(dochugw
, (struct monst
*));
1437 E boolean
FDECL(onscary
, (int, int, struct monst
*));
1438 E
void FDECL(monflee
, (struct monst
*, int, BOOLEAN_P
, BOOLEAN_P
));
1439 E
void FDECL(mon_yells
, (struct monst
*, const char *));
1440 E
int FDECL(dochug
, (struct monst
*));
1441 E boolean
FDECL(m_digweapon_check
, (struct monst
*, XCHAR_P
, XCHAR_P
));
1442 E
int FDECL(m_move
, (struct monst
*, int));
1443 E
void FDECL(dissolve_bars
, (int, int));
1444 E boolean
FDECL(closed_door
, (int, int));
1445 E boolean
FDECL(accessible
, (int, int));
1446 E
void FDECL(set_apparxy
, (struct monst
*));
1447 E boolean
FDECL(can_ooze
, (struct monst
*));
1448 E boolean
FDECL(can_fog
, (struct monst
*));
1449 E boolean
FDECL(should_displace
,
1450 (struct monst
*, coord
*, long *, int, XCHAR_P
, XCHAR_P
));
1451 E boolean
FDECL(undesirable_disp
, (struct monst
*, XCHAR_P
, XCHAR_P
));
1453 /* ### monst.c ### */
1455 E
void NDECL(monst_init
);
1457 /* ### monstr.c ### */
1459 E
void NDECL(monstr_init
);
1461 /* ### mplayer.c ### */
1463 E
struct monst
*FDECL(mk_mplayer
,
1464 (struct permonst
*, XCHAR_P
, XCHAR_P
, BOOLEAN_P
));
1465 E
void FDECL(create_mplayers
, (int, BOOLEAN_P
));
1466 E
void FDECL(mplayer_talk
, (struct monst
*));
1468 #if defined(MICRO) || defined(WIN32)
1470 /* ### msdos.c,os2.c,tos.c,winnt.c ### */
1473 E
int NDECL(tgetch
);
1476 E
char NDECL(switchar
);
1479 E
long FDECL(freediskspace
, (char *));
1481 E
int FDECL(findfirst_file
, (char *));
1482 E
int NDECL(findnext_file
);
1483 E
long FDECL(filesize_nh
, (char *));
1485 E
int FDECL(findfirst
, (char *));
1486 E
int NDECL(findnext
);
1487 E
long FDECL(filesize
, (char *));
1489 E
char *NDECL(foundfile_buffer
);
1490 #endif /* __GO32__ */
1491 E
void FDECL(chdrive
, (char *));
1493 E
void NDECL(disable_ctrlP
);
1494 E
void NDECL(enable_ctrlP
);
1496 #if defined(MICRO) && !defined(WINNT)
1497 E
void NDECL(get_scr_size
);
1499 E
void FDECL(gotoxy
, (int, int));
1503 E
int FDECL(_copyfile
, (char *, char *));
1505 E
void NDECL(set_colors
);
1506 E
void NDECL(restore_colors
);
1508 E
int NDECL(dosuspend
);
1512 E
char *FDECL(get_username
, (int *));
1513 E
void FDECL(nt_regularize
, (char *));
1514 E
int NDECL((*nt_kbhit
));
1515 E
void FDECL(Delay
, (int));
1517 #endif /* MICRO || WIN32 */
1519 /* ### mthrowu.c ### */
1521 E
int FDECL(thitu
, (int, int, struct obj
*, const char *));
1522 E
int FDECL(ohitmon
, (struct monst
*, struct obj
*, int, BOOLEAN_P
));
1523 E
void FDECL(thrwmu
, (struct monst
*));
1524 E
int FDECL(spitmu
, (struct monst
*, struct attack
*));
1525 E
int FDECL(breamu
, (struct monst
*, struct attack
*));
1526 E boolean
FDECL(linedup
, (XCHAR_P
, XCHAR_P
, XCHAR_P
, XCHAR_P
, int));
1527 E boolean
FDECL(lined_up
, (struct monst
*));
1528 E
struct obj
*FDECL(m_carrying
, (struct monst
*, int));
1529 E
int FDECL(thrwmm
, (struct monst
*, struct monst
*));
1530 E
int FDECL(spitmm
, (struct monst
*, struct attack
*, struct monst
*));
1531 E
int FDECL(breamm
, (struct monst
*, struct attack
*, struct monst
*));
1532 E
void FDECL(m_useupall
, (struct monst
*, struct obj
*));
1533 E
void FDECL(m_useup
, (struct monst
*, struct obj
*));
1534 E
void FDECL(m_throw
, (struct monst
*, int, int, int, int, int, struct obj
*));
1535 E
void FDECL(hit_bars
, (struct obj
**, int, int, int, int,
1536 BOOLEAN_P
, BOOLEAN_P
));
1537 E boolean
FDECL(hits_bars
, (struct obj
**, int, int, int, int, int, int));
1539 /* ### muse.c ### */
1541 E boolean
FDECL(find_defensive
, (struct monst
*));
1542 E
int FDECL(use_defensive
, (struct monst
*));
1543 E
int FDECL(rnd_defensive_item
, (struct monst
*));
1544 E boolean
FDECL(find_offensive
, (struct monst
*));
1546 E
int FDECL(mbhitm
, (struct monst
*, struct obj
*));
1548 E
int FDECL(use_offensive
, (struct monst
*));
1549 E
int FDECL(rnd_offensive_item
, (struct monst
*));
1550 E boolean
FDECL(find_misc
, (struct monst
*));
1551 E
int FDECL(use_misc
, (struct monst
*));
1552 E
int FDECL(rnd_misc_item
, (struct monst
*));
1553 E boolean
FDECL(searches_for_item
, (struct monst
*, struct obj
*));
1554 E boolean
FDECL(mon_reflects
, (struct monst
*, const char *));
1555 E boolean
FDECL(ureflects
, (const char *, const char *));
1556 E boolean
FDECL(munstone
, (struct monst
*, BOOLEAN_P
));
1557 E boolean
FDECL(munslime
, (struct monst
*, BOOLEAN_P
));
1559 /* ### music.c ### */
1561 E
void FDECL(awaken_soldiers
, (struct monst
*));
1562 E
int FDECL(do_play_instrument
, (struct obj
*));
1564 /* ### nhlan.c ### */
1566 E
void NDECL(init_lan_features
);
1567 E
char *NDECL(lan_username
);
1570 /* ### nhregex.c ### */
1571 E
struct nhregex
*NDECL(regex_init
);
1572 E boolean
FDECL(regex_compile
, (const char *, struct nhregex
*));
1573 E
const char *FDECL(regex_error_desc
, (struct nhregex
*));
1574 E boolean
FDECL(regex_match
, (const char *, struct nhregex
*));
1575 E
void FDECL(regex_free
, (struct nhregex
*));
1577 /* ### nttty.c ### */
1580 E
void NDECL(get_scr_size
);
1581 E
int NDECL(nttty_kbhit
);
1582 E
void FDECL(nttty_open
, (int));
1583 E
void NDECL(nttty_rubout
);
1584 E
int NDECL(tgetch
);
1585 E
int FDECL(ntposkey
, (int *, int *, int *));
1586 E
void FDECL(set_output_mode
, (int));
1587 E
void NDECL(synch_cursor
);
1590 /* ### o_init.c ### */
1592 E
void NDECL(init_objects
);
1593 E
void FDECL(obj_shuffle_range
, (int, int *, int *));
1594 E
int NDECL(find_skates
);
1595 E
void NDECL(oinit
);
1596 E
void FDECL(savenames
, (int, int));
1597 E
void FDECL(restnames
, (int));
1598 E
void FDECL(discover_object
, (int, BOOLEAN_P
, BOOLEAN_P
));
1599 E
void FDECL(undiscover_object
, (int));
1600 E
int NDECL(dodiscovered
);
1601 E
int NDECL(doclassdisco
);
1602 E
void NDECL(rename_disco
);
1604 /* ### objects.c ### */
1606 E
void NDECL(objects_init
);
1608 /* ### objnam.c ### */
1610 E
char *FDECL(obj_typename
, (int));
1611 E
char *FDECL(simple_typename
, (int));
1612 E boolean
FDECL(obj_is_pname
, (struct obj
*));
1613 E
char *FDECL(distant_name
, (struct obj
*, char *(*)(OBJ_P
)));
1614 E
char *FDECL(fruitname
, (BOOLEAN_P
));
1615 E
char *FDECL(xname
, (struct obj
*));
1616 E
char *FDECL(mshot_xname
, (struct obj
*));
1617 E boolean
FDECL(the_unique_obj
, (struct obj
*));
1618 E boolean
FDECL(the_unique_pm
, (struct permonst
*));
1619 E boolean
FDECL(erosion_matters
, (struct obj
*));
1620 E
char *FDECL(doname
, (struct obj
*));
1621 E
char *FDECL(doname_with_price
, (struct obj
*));
1622 E
char *FDECL(doname_vague_quan
, (struct obj
*));
1623 E boolean
FDECL(not_fully_identified
, (struct obj
*));
1624 E
char *FDECL(corpse_xname
, (struct obj
*, const char *, unsigned));
1625 E
char *FDECL(cxname
, (struct obj
*));
1626 E
char *FDECL(cxname_singular
, (struct obj
*));
1627 E
char *FDECL(killer_xname
, (struct obj
*));
1628 E
char *FDECL(short_oname
,
1629 (struct obj
*, char *(*)(OBJ_P
), char *(*)(OBJ_P
), unsigned));
1630 E
const char *FDECL(singular
, (struct obj
*, char *(*)(OBJ_P
)));
1631 E
char *FDECL(an
, (const char *));
1632 E
char *FDECL(An
, (const char *));
1633 E
char *FDECL(The
, (const char *));
1634 E
char *FDECL(the
, (const char *));
1635 E
char *FDECL(aobjnam
, (struct obj
*, const char *));
1636 E
char *FDECL(yobjnam
, (struct obj
*, const char *));
1637 E
char *FDECL(Yobjnam2
, (struct obj
*, const char *));
1638 E
char *FDECL(Tobjnam
, (struct obj
*, const char *));
1639 E
char *FDECL(otense
, (struct obj
*, const char *));
1640 E
char *FDECL(vtense
, (const char *, const char *));
1641 E
char *FDECL(Doname2
, (struct obj
*));
1642 E
char *FDECL(yname
, (struct obj
*));
1643 E
char *FDECL(Yname2
, (struct obj
*));
1644 E
char *FDECL(ysimple_name
, (struct obj
*));
1645 E
char *FDECL(Ysimple_name2
, (struct obj
*));
1646 E
char *FDECL(simpleonames
, (struct obj
*));
1647 E
char *FDECL(ansimpleoname
, (struct obj
*));
1648 E
char *FDECL(thesimpleoname
, (struct obj
*));
1649 E
char *FDECL(bare_artifactname
, (struct obj
*));
1650 E
char *FDECL(makeplural
, (const char *));
1651 E
char *FDECL(makesingular
, (const char *));
1652 E
struct obj
*FDECL(readobjnam
, (char *, struct obj
*));
1653 E
int FDECL(rnd_class
, (int, int));
1654 E
const char *FDECL(suit_simple_name
, (struct obj
*));
1655 E
const char *FDECL(cloak_simple_name
, (struct obj
*));
1656 E
const char *FDECL(helm_simple_name
, (struct obj
*));
1657 E
const char *FDECL(mimic_obj_name
, (struct monst
*));
1658 E
char *FDECL(safe_qbuf
, (char *, const char *, const char *, struct obj
*,
1659 char *(*)(OBJ_P
), char *(*)(OBJ_P
), const char *));
1661 /* ### options.c ### */
1663 E
void NDECL(reglyph_darkroom
);
1664 E boolean
FDECL(match_optname
, (const char *, const char *, int, BOOLEAN_P
));
1665 E
void NDECL(initoptions
);
1666 E
void NDECL(initoptions_init
);
1667 E
void NDECL(initoptions_finish
);
1668 E
void FDECL(parseoptions
, (char *, BOOLEAN_P
, BOOLEAN_P
));
1670 E
int NDECL(dotogglepickup
);
1671 E
void NDECL(option_help
);
1672 E
void FDECL(next_opt
, (winid
, const char *));
1673 E
int FDECL(fruitadd
, (char *, struct fruit
*));
1674 E
int FDECL(choose_classes_menu
, (const char *, int, BOOLEAN_P
,
1676 E
void FDECL(parsebindings
, (char *));
1677 E
void FDECL(add_menu_cmd_alias
, (CHAR_P
, CHAR_P
));
1678 E
char FDECL(get_menu_cmd_key
, (CHAR_P
));
1679 E
char FDECL(map_menu_cmd
, (CHAR_P
));
1680 E
void FDECL(show_menu_controls
, (winid
, BOOLEAN_P
));
1681 E
void FDECL(assign_warnings
, (uchar
*));
1682 E
char *FDECL(nh_getenv
, (const char *));
1683 E
void FDECL(set_duplicate_opt_detection
, (int));
1684 E
void FDECL(set_wc_option_mod_status
, (unsigned long, int));
1685 E
void FDECL(set_wc2_option_mod_status
, (unsigned long, int));
1686 E
void FDECL(set_option_mod_status
, (const char *, int));
1687 E
int FDECL(add_autopickup_exception
, (const char *));
1688 E
void NDECL(free_autopickup_exceptions
);
1689 E
int FDECL(load_symset
, (const char *, int));
1690 E
void NDECL(free_symsets
);
1691 E boolean
FDECL(parsesymbols
, (char *));
1692 E
struct symparse
*FDECL(match_sym
, (char *));
1693 E
void NDECL(set_playmode
);
1694 E
int FDECL(sym_val
, (const char *));
1695 E
const char *FDECL(clr2colorname
, (int));
1696 E
int FDECL(match_str2clr
, (char *));
1697 E boolean
FDECL(add_menu_coloring
, (char *));
1698 E boolean
FDECL(get_menu_coloring
, (char *, int *, int *));
1699 E
void NDECL(free_menu_coloring
);
1700 E boolean
FDECL(msgtype_parse_add
, (char *));
1701 E
int FDECL(msgtype_type
, (const char *, BOOLEAN_P
));
1702 E
void FDECL(hide_unhide_msgtypes
, (BOOLEAN_P
, int));
1703 E
void NDECL(msgtype_free
);
1705 /* ### pager.c ### */
1707 E
char *FDECL(self_lookat
, (char *));
1708 E
void FDECL(mhidden_description
, (struct monst
*, BOOLEAN_P
, char *));
1709 E boolean
FDECL(object_from_map
, (int,int,int,struct obj
**));
1710 E
int FDECL(do_screen_description
, (coord
, BOOLEAN_P
, int, char *,
1712 E
int FDECL(do_look
, (int, coord
*));
1713 E
int NDECL(dowhatis
);
1714 E
int NDECL(doquickwhatis
);
1715 E
int NDECL(doidtrap
);
1716 E
int NDECL(dowhatdoes
);
1717 E
char *FDECL(dowhatdoes_core
, (CHAR_P
, char *));
1718 E
int NDECL(dohelp
);
1719 E
int NDECL(dohistory
);
1721 /* ### pcmain.c ### */
1723 #if defined(MICRO) || defined(WIN32)
1725 E
void FDECL(chdirx
, (char *, BOOLEAN_P
));
1727 E boolean
NDECL(authorize_wizard_mode
);
1728 #endif /* MICRO || WIN32 */
1730 /* ### pcsys.c ### */
1732 #if defined(MICRO) || defined(WIN32)
1733 E
void NDECL(flushout
);
1736 E
void FDECL(eraseall
, (const char *, const char *));
1737 E
void FDECL(copybones
, (int));
1738 E
void NDECL(playwoRAMdisk
);
1739 E
int FDECL(saveDiskPrompt
, (int));
1740 E
void NDECL(gameDiskPrompt
);
1742 E
void FDECL(append_slash
, (char *));
1743 E
void FDECL(getreturn
, (const char *));
1745 E
void VDECL(msmsg
, (const char *, ...));
1747 E
FILE *FDECL(fopenp
, (const char *, const char *));
1748 #endif /* MICRO || WIN32 */
1750 /* ### pctty.c ### */
1752 #if defined(MICRO) || defined(WIN32)
1753 E
void NDECL(gettty
);
1754 E
void FDECL(settty
, (const char *));
1755 E
void NDECL(setftty
);
1756 E
void VDECL(error
, (const char *, ...));
1757 #if defined(TIMED_DELAY) && defined(_MSC_VER)
1758 E
void FDECL(msleep
, (unsigned));
1760 #endif /* MICRO || WIN32 */
1762 /* ### pcunix.c ### */
1765 E
void FDECL(regularize
, (char *));
1767 #if defined(PC_LOCKING)
1768 E
void NDECL(getlock
);
1771 /* ### pickup.c ### */
1773 E
int FDECL(collect_obj_classes
, (char *, struct obj
*, BOOLEAN_P
,
1774 boolean
FDECL((*), (OBJ_P
)), int *));
1775 E boolean
FDECL(rider_corpse_revival
, (struct obj
*, BOOLEAN_P
));
1776 E
void FDECL(add_valid_menu_class
, (int));
1777 E boolean
FDECL(allow_all
, (struct obj
*));
1778 E boolean
FDECL(allow_category
, (struct obj
*));
1779 E boolean
FDECL(is_worn_by_type
, (struct obj
*));
1780 E
int FDECL(ck_bag
, (struct obj
*));
1782 E
int FDECL(in_container
, (struct obj
*));
1783 E
int FDECL(out_container
, (struct obj
*));
1785 E
int FDECL(pickup
, (int));
1786 E
int FDECL(pickup_object
, (struct obj
*, long, BOOLEAN_P
));
1787 E
int FDECL(query_category
, (const char *, struct obj
*, int,
1788 menu_item
**, int));
1789 E
int FDECL(query_objlist
, (const char *, struct obj
**, int,
1790 menu_item
**, int, boolean (*)(OBJ_P
)));
1791 E
struct obj
*FDECL(pick_obj
, (struct obj
*));
1792 E
int NDECL(encumber_msg
);
1793 E
int FDECL(container_at
, (int, int, BOOLEAN_P
));
1794 E
int NDECL(doloot
);
1795 E boolean
FDECL(container_gone
, (int (*)(OBJ_P
)));
1796 E boolean
NDECL(u_handsy
);
1797 E
int FDECL(use_container
, (struct obj
**, int, BOOLEAN_P
));
1798 E
int FDECL(loot_mon
, (struct monst
*, int *, boolean
*));
1800 E boolean
FDECL(is_autopickup_exception
, (struct obj
*, BOOLEAN_P
));
1802 /* ### pline.c ### */
1805 E
void FDECL(dumplogmsg
, (const char *));
1806 E
void NDECL(dumplogfreemessages
);
1808 E
void VDECL(pline
, (const char *, ...)) PRINTF_F(1, 2);
1809 E
void VDECL(Norep
, (const char *, ...)) PRINTF_F(1, 2);
1810 E
void NDECL(free_youbuf
);
1811 E
void VDECL(You
, (const char *, ...)) PRINTF_F(1, 2);
1812 E
void VDECL(Your
, (const char *, ...)) PRINTF_F(1, 2);
1813 E
void VDECL(You_feel
, (const char *, ...)) PRINTF_F(1, 2);
1814 E
void VDECL(You_cant
, (const char *, ...)) PRINTF_F(1, 2);
1815 E
void VDECL(You_hear
, (const char *, ...)) PRINTF_F(1, 2);
1816 E
void VDECL(You_see
, (const char *, ...)) PRINTF_F(1, 2);
1817 E
void VDECL(pline_The
, (const char *, ...)) PRINTF_F(1, 2);
1818 E
void VDECL(There
, (const char *, ...)) PRINTF_F(1, 2);
1819 E
void VDECL(verbalize
, (const char *, ...)) PRINTF_F(1, 2);
1820 E
void VDECL(raw_printf
, (const char *, ...)) PRINTF_F(1, 2);
1821 E
void VDECL(impossible
, (const char *, ...)) PRINTF_F(1, 2);
1822 E
const char *FDECL(align_str
, (ALIGNTYP_P
));
1823 E
void FDECL(mstatusline
, (struct monst
*));
1824 E
void NDECL(ustatusline
);
1825 E
void NDECL(self_invis_message
);
1826 E
char *FDECL(piousness
, (BOOLEAN_P
, const char *));
1827 E
void FDECL(pudding_merge_message
, (struct obj
*, struct obj
*));
1829 /* ### polyself.c ### */
1831 E
void NDECL(set_uasmon
);
1832 E
void NDECL(float_vs_flight
);
1833 E
void NDECL(change_sex
);
1834 E
void FDECL(polyself
, (int));
1835 E
int FDECL(polymon
, (int));
1836 E
void NDECL(rehumanize
);
1837 E
int NDECL(dobreathe
);
1838 E
int NDECL(dospit
);
1839 E
int NDECL(doremove
);
1840 E
int NDECL(dospinweb
);
1841 E
int NDECL(dosummon
);
1842 E
int NDECL(dogaze
);
1843 E
int NDECL(dohide
);
1844 E
int NDECL(dopoly
);
1845 E
int NDECL(domindblast
);
1846 E
void FDECL(skinback
, (BOOLEAN_P
));
1847 E
const char *FDECL(mbodypart
, (struct monst
*, int));
1848 E
const char *FDECL(body_part
, (int));
1849 E
int NDECL(poly_gender
);
1850 E
void FDECL(ugolemeffects
, (int, int));
1852 /* ### potion.c ### */
1854 E
void FDECL(set_itimeout
, (long *, long));
1855 E
void FDECL(incr_itimeout
, (long *, int));
1856 E
void FDECL(make_confused
, (long, BOOLEAN_P
));
1857 E
void FDECL(make_stunned
, (long, BOOLEAN_P
));
1858 E
void FDECL(make_blinded
, (long, BOOLEAN_P
));
1859 E
void FDECL(make_sick
, (long, const char *, BOOLEAN_P
, int));
1860 E
void FDECL(make_slimed
, (long, const char *));
1861 E
void FDECL(make_stoned
, (long, const char *, int, const char *));
1862 E
void FDECL(make_vomiting
, (long, BOOLEAN_P
));
1863 E boolean
FDECL(make_hallucinated
, (long, BOOLEAN_P
, long));
1864 E
void FDECL(make_deaf
, (long, BOOLEAN_P
));
1865 E
int NDECL(dodrink
);
1866 E
int FDECL(dopotion
, (struct obj
*));
1867 E
int FDECL(peffects
, (struct obj
*));
1868 E
void FDECL(healup
, (int, int, BOOLEAN_P
, BOOLEAN_P
));
1869 E
void FDECL(strange_feeling
, (struct obj
*, const char *));
1870 E
void FDECL(potionhit
, (struct monst
*, struct obj
*, BOOLEAN_P
));
1871 E
void FDECL(potionbreathe
, (struct obj
*));
1873 E
void FDECL(mongrantswish
, (struct monst
**));
1874 E
void FDECL(djinni_from_bottle
, (struct obj
*));
1875 E
struct monst
*FDECL(split_mon
, (struct monst
*, struct monst
*));
1876 E
const char *NDECL(bottlename
);
1878 /* ### pray.c ### */
1880 E boolean
FDECL(critically_low_hp
, (BOOLEAN_P
));
1882 E
int NDECL(prayer_done
);
1884 E
int NDECL(dosacrifice
);
1885 E boolean
FDECL(can_pray
, (BOOLEAN_P
));
1886 E
int NDECL(dopray
);
1887 E
const char *NDECL(u_gname
);
1888 E
int NDECL(doturn
);
1889 E
const char *NDECL(a_gname
);
1890 E
const char *FDECL(a_gname_at
, (XCHAR_P x
, XCHAR_P y
));
1891 E
const char *FDECL(align_gname
, (ALIGNTYP_P
));
1892 E
const char *FDECL(halu_gname
, (ALIGNTYP_P
));
1893 E
const char *FDECL(align_gtitle
, (ALIGNTYP_P
));
1894 E
void FDECL(altar_wrath
, (int, int));
1896 /* ### priest.c ### */
1898 E
int FDECL(move_special
, (struct monst
*, BOOLEAN_P
, SCHAR_P
, BOOLEAN_P
,
1899 BOOLEAN_P
, XCHAR_P
, XCHAR_P
, XCHAR_P
, XCHAR_P
));
1900 E
char FDECL(temple_occupied
, (char *));
1901 E boolean
FDECL(inhistemple
, (struct monst
*));
1902 E
int FDECL(pri_move
, (struct monst
*));
1903 E
void FDECL(priestini
, (d_level
*, struct mkroom
*, int, int, BOOLEAN_P
));
1904 E aligntyp
FDECL(mon_aligntyp
, (struct monst
*));
1905 E
char *FDECL(priestname
, (struct monst
*, char *));
1906 E boolean
FDECL(p_coaligned
, (struct monst
*));
1907 E
struct monst
*FDECL(findpriest
, (CHAR_P
));
1908 E
void FDECL(intemple
, (int));
1909 E
void FDECL(forget_temple_entry
, (struct monst
*));
1910 E
void FDECL(priest_talk
, (struct monst
*));
1911 E
struct monst
*FDECL(mk_roamer
, (struct permonst
*, ALIGNTYP_P
, XCHAR_P
,
1912 XCHAR_P
, BOOLEAN_P
));
1913 E
void FDECL(reset_hostility
, (struct monst
*));
1914 E boolean
FDECL(in_your_sanctuary
, (struct monst
*, XCHAR_P
, XCHAR_P
));
1915 E
void FDECL(ghod_hitsu
, (struct monst
*));
1916 E
void NDECL(angry_priest
);
1917 E
void NDECL(clearpriests
);
1918 E
void FDECL(restpriest
, (struct monst
*, BOOLEAN_P
));
1919 E
void FDECL(newepri
, (struct monst
*));
1920 E
void FDECL(free_epri
, (struct monst
*));
1922 /* ### quest.c ### */
1924 E
void NDECL(onquest
);
1925 E
void NDECL(nemdead
);
1926 E
void FDECL(artitouch
, (struct obj
*));
1927 E boolean
NDECL(ok_to_quest
);
1928 E
void FDECL(leader_speaks
, (struct monst
*));
1929 E
void NDECL(nemesis_speaks
);
1930 E
void FDECL(quest_chat
, (struct monst
*));
1931 E
void FDECL(quest_talk
, (struct monst
*));
1932 E
void FDECL(quest_stat_check
, (struct monst
*));
1933 E
void FDECL(finish_quest
, (struct obj
*));
1935 /* ### questpgr.c ### */
1937 E
void NDECL(load_qtlist
);
1938 E
void NDECL(unload_qtlist
);
1939 E
short FDECL(quest_info
, (int));
1940 E
const char *NDECL(ldrname
);
1941 E boolean
FDECL(is_quest_artifact
, (struct obj
*));
1942 E
void FDECL(com_pager
, (int));
1943 E
void FDECL(qt_pager
, (int));
1944 E
struct permonst
*NDECL(qt_montype
);
1945 E
void NDECL(deliver_splev_message
);
1947 /* ### random.c ### */
1949 #if defined(RANDOM) && !defined(__GO32__) /* djgpp has its own random */
1950 E
void FDECL(srandom
, (unsigned));
1951 E
char *FDECL(initstate
, (unsigned, char *, int));
1952 E
char *FDECL(setstate
, (char *));
1953 E
long NDECL(random
);
1956 /* ### read.c ### */
1958 E
void FDECL(learnscroll
, (struct obj
*));
1959 E
char *FDECL(tshirt_text
, (struct obj
*, char *));
1960 E
int NDECL(doread
);
1961 E boolean
FDECL(is_chargeable
, (struct obj
*));
1962 E
void FDECL(recharge
, (struct obj
*, int));
1963 E
void FDECL(forget_objects
, (int));
1964 E
void FDECL(forget_levels
, (int));
1965 E
void NDECL(forget_traps
);
1966 E
void FDECL(forget_map
, (int));
1967 E
int FDECL(seffects
, (struct obj
*));
1968 E
void FDECL(drop_boulder_on_player
,
1969 (BOOLEAN_P
, BOOLEAN_P
, BOOLEAN_P
, BOOLEAN_P
));
1970 E boolean
FDECL(drop_boulder_on_monster
, (int, int, BOOLEAN_P
, BOOLEAN_P
));
1971 E
void FDECL(wand_explode
, (struct obj
*, int));
1973 E
void FDECL(set_lit
, (int, int, genericptr_t
));
1975 E
void FDECL(litroom
, (BOOLEAN_P
, struct obj
*));
1976 E
void FDECL(do_genocide
, (int));
1977 E
void FDECL(punish
, (struct obj
*));
1978 E
void NDECL(unpunish
);
1979 E boolean
FDECL(cant_revive
, (int *, BOOLEAN_P
, struct obj
*));
1980 E boolean
NDECL(create_particular
);
1982 /* ### rect.c ### */
1984 E
void NDECL(init_rect
);
1985 E NhRect
*FDECL(get_rect
, (NhRect
*));
1986 E NhRect
*NDECL(rnd_rect
);
1987 E
void FDECL(remove_rect
, (NhRect
*));
1988 E
void FDECL(add_rect
, (NhRect
*));
1989 E
void FDECL(split_rects
, (NhRect
*, NhRect
*));
1991 /* ## region.c ### */
1992 E
void NDECL(clear_regions
);
1993 E
void NDECL(run_regions
);
1994 E boolean
FDECL(in_out_region
, (XCHAR_P
, XCHAR_P
));
1995 E boolean
FDECL(m_in_out_region
, (struct monst
*, XCHAR_P
, XCHAR_P
));
1996 E
void NDECL(update_player_regions
);
1997 E
void FDECL(update_monster_region
, (struct monst
*));
1998 E NhRegion
*FDECL(visible_region_at
, (XCHAR_P
, XCHAR_P
));
1999 E
void FDECL(show_region
, (NhRegion
*, XCHAR_P
, XCHAR_P
));
2000 E
void FDECL(save_regions
, (int, int));
2001 E
void FDECL(rest_regions
, (int, BOOLEAN_P
));
2002 E
void FDECL(region_stats
, (const char *, char *, long *, long *));
2003 E NhRegion
*FDECL(create_gas_cloud
, (XCHAR_P
, XCHAR_P
, int, int));
2004 E boolean
NDECL(region_danger
);
2005 E
void NDECL(region_safety
);
2007 /* ### restore.c ### */
2009 E
void FDECL(inven_inuse
, (BOOLEAN_P
));
2010 E
int FDECL(dorecover
, (int));
2011 E
void FDECL(restcemetery
, (int, struct cemetery
**));
2012 E
void FDECL(trickery
, (char *));
2013 E
void FDECL(getlev
, (int, int, XCHAR_P
, BOOLEAN_P
));
2014 E
void FDECL(get_plname_from_file
, (int, char *));
2016 E
int FDECL(restore_menu
, (winid
));
2018 E
void NDECL(minit
);
2019 E boolean
FDECL(lookup_id_mapping
, (unsigned, unsigned *));
2020 E
void FDECL(mread
, (int, genericptr_t
, unsigned int));
2021 E
int FDECL(validate
, (int, const char *));
2022 E
void NDECL(reset_restpref
);
2023 E
void FDECL(set_restpref
, (const char *));
2024 E
void FDECL(set_savepref
, (const char *));
2028 E
void FDECL(genl_outrip
, (winid
, int, time_t));
2032 E
int FDECL(rn2
, (int));
2033 E
int FDECL(rnl
, (int));
2034 E
int FDECL(rnd
, (int));
2035 E
int FDECL(d
, (int, int));
2036 E
int FDECL(rne
, (int));
2037 E
int FDECL(rnz
, (int));
2039 /* ### role.c ### */
2041 E boolean
FDECL(validrole
, (int));
2042 E boolean
FDECL(validrace
, (int, int));
2043 E boolean
FDECL(validgend
, (int, int, int));
2044 E boolean
FDECL(validalign
, (int, int, int));
2045 E
int NDECL(randrole
);
2046 E
int FDECL(randrace
, (int));
2047 E
int FDECL(randgend
, (int, int));
2048 E
int FDECL(randalign
, (int, int));
2049 E
int FDECL(str2role
, (const char *));
2050 E
int FDECL(str2race
, (const char *));
2051 E
int FDECL(str2gend
, (const char *));
2052 E
int FDECL(str2align
, (const char *));
2053 E boolean
FDECL(ok_role
, (int, int, int, int));
2054 E
int FDECL(pick_role
, (int, int, int, int));
2055 E boolean
FDECL(ok_race
, (int, int, int, int));
2056 E
int FDECL(pick_race
, (int, int, int, int));
2057 E boolean
FDECL(ok_gend
, (int, int, int, int));
2058 E
int FDECL(pick_gend
, (int, int, int, int));
2059 E boolean
FDECL(ok_align
, (int, int, int, int));
2060 E
int FDECL(pick_align
, (int, int, int, int));
2061 E
void NDECL(rigid_role_checks
);
2062 E boolean
FDECL(setrolefilter
, (const char *));
2063 E boolean
NDECL(gotrolefilter
);
2064 E
void NDECL(clearrolefilter
);
2065 E
char *FDECL(build_plselection_prompt
, (char *, int, int, int, int, int));
2066 E
char *FDECL(root_plselection_prompt
, (char *, int, int, int, int, int));
2067 E
void NDECL(plnamesuffix
);
2068 E
void FDECL(role_selection_prolog
, (int, winid
));
2069 E
void FDECL(role_menu_extra
, (int, winid
, BOOLEAN_P
));
2070 E
void NDECL(role_init
);
2071 E
const char *FDECL(Hello
, (struct monst
*));
2072 E
const char *NDECL(Goodbye
);
2074 /* ### rumors.c ### */
2076 E
char *FDECL(getrumor
, (int, char *, BOOLEAN_P
));
2077 E
char *FDECL(get_rnd_text
, (const char *, char *));
2078 E
void FDECL(outrumor
, (int, int));
2079 E
void FDECL(outoracle
, (BOOLEAN_P
, BOOLEAN_P
));
2080 E
void FDECL(save_oracles
, (int, int));
2081 E
void FDECL(restore_oracles
, (int));
2082 E
int FDECL(doconsult
, (struct monst
*));
2083 E
void NDECL(rumor_check
);
2085 /* ### save.c ### */
2087 E
int NDECL(dosave
);
2088 E
int NDECL(dosave0
);
2089 E boolean
FDECL(tricked_fileremoved
, (int, char *));
2091 E
void NDECL(savestateinlock
);
2094 E boolean
FDECL(savelev
, (int, XCHAR_P
, int));
2095 E boolean
FDECL(swapin_file
, (int));
2096 E
void NDECL(co_false
);
2098 E
void FDECL(savelev
, (int, XCHAR_P
, int));
2100 E genericptr_t
FDECL(mon_to_buffer
, (struct monst
*, int *));
2101 E
void FDECL(bufon
, (int));
2102 E
void FDECL(bufoff
, (int));
2103 E
void FDECL(bflush
, (int));
2104 E
void FDECL(bwrite
, (int, genericptr_t
, unsigned int));
2105 E
void FDECL(bclose
, (int));
2106 E
void FDECL(def_bclose
, (int));
2107 #if defined(ZEROCOMP)
2108 E
void FDECL(zerocomp_bclose
, (int));
2110 E
void FDECL(savecemetery
, (int, int, struct cemetery
**));
2111 E
void FDECL(savefruitchn
, (int, int));
2112 E
void FDECL(store_plname_in_file
, (int));
2113 E
void NDECL(free_dungeons
);
2114 E
void NDECL(freedynamicdata
);
2115 E
void FDECL(store_savefileinfo
, (int));
2119 E
long FDECL(money2mon
, (struct monst
*, long));
2120 E
void FDECL(money2u
, (struct monst
*, long));
2121 E
void FDECL(shkgone
, (struct monst
*));
2122 E
void FDECL(set_residency
, (struct monst
*, BOOLEAN_P
));
2123 E
void FDECL(replshk
, (struct monst
*, struct monst
*));
2124 E
void FDECL(restshk
, (struct monst
*, BOOLEAN_P
));
2125 E
char FDECL(inside_shop
, (XCHAR_P
, XCHAR_P
));
2126 E
void FDECL(u_left_shop
, (char *, BOOLEAN_P
));
2127 E
void FDECL(remote_burglary
, (XCHAR_P
, XCHAR_P
));
2128 E
void FDECL(u_entered_shop
, (char *));
2129 E
void FDECL(pick_pick
, (struct obj
*));
2130 E boolean
FDECL(same_price
, (struct obj
*, struct obj
*));
2131 E
void NDECL(shopper_financial_report
);
2132 E
int FDECL(inhishop
, (struct monst
*));
2133 E
struct monst
*FDECL(shop_keeper
, (CHAR_P
));
2134 E boolean
FDECL(tended_shop
, (struct mkroom
*));
2135 E boolean
FDECL(is_unpaid
, (struct obj
*));
2136 E
void FDECL(delete_contents
, (struct obj
*));
2137 E
void FDECL(obfree
, (struct obj
*, struct obj
*));
2138 E
void FDECL(home_shk
, (struct monst
*, BOOLEAN_P
));
2139 E
void FDECL(make_happy_shk
, (struct monst
*, BOOLEAN_P
));
2140 E
void FDECL(make_happy_shoppers
, (BOOLEAN_P
));
2141 E
void FDECL(hot_pursuit
, (struct monst
*));
2142 E
void FDECL(make_angry_shk
, (struct monst
*, XCHAR_P
, XCHAR_P
));
2144 E boolean
FDECL(paybill
, (int));
2145 E
void NDECL(finish_paybill
);
2146 E
struct obj
*FDECL(find_oid
, (unsigned));
2147 E
long FDECL(contained_cost
,
2148 (struct obj
*, struct monst
*, long, BOOLEAN_P
, BOOLEAN_P
));
2149 E
long FDECL(contained_gold
, (struct obj
*));
2150 E
void FDECL(picked_container
, (struct obj
*));
2151 E
void FDECL(alter_cost
, (struct obj
*, long));
2152 E
long FDECL(unpaid_cost
, (struct obj
*, BOOLEAN_P
));
2153 E boolean
FDECL(billable
, (struct monst
**, struct obj
*, CHAR_P
, BOOLEAN_P
));
2154 E
void FDECL(addtobill
, (struct obj
*, BOOLEAN_P
, BOOLEAN_P
, BOOLEAN_P
));
2155 E
void FDECL(splitbill
, (struct obj
*, struct obj
*));
2156 E
void FDECL(subfrombill
, (struct obj
*, struct monst
*));
2157 E
long FDECL(stolen_value
,
2158 (struct obj
*, XCHAR_P
, XCHAR_P
, BOOLEAN_P
, BOOLEAN_P
));
2159 E
void FDECL(sellobj_state
, (int));
2160 E
void FDECL(sellobj
, (struct obj
*, XCHAR_P
, XCHAR_P
));
2161 E
int FDECL(doinvbill
, (int));
2162 E
struct monst
*FDECL(shkcatch
, (struct obj
*, XCHAR_P
, XCHAR_P
));
2163 E
void FDECL(add_damage
, (XCHAR_P
, XCHAR_P
, long));
2164 E
int FDECL(repair_damage
, (struct monst
*, struct damage
*, BOOLEAN_P
));
2165 E
int FDECL(shk_move
, (struct monst
*));
2166 E
void FDECL(after_shk_move
, (struct monst
*));
2167 E boolean
FDECL(is_fshk
, (struct monst
*));
2168 E
void FDECL(shopdig
, (int));
2169 E
void FDECL(pay_for_damage
, (const char *, BOOLEAN_P
));
2170 E boolean
FDECL(costly_spot
, (XCHAR_P
, XCHAR_P
));
2171 E
struct obj
*FDECL(shop_object
, (XCHAR_P
, XCHAR_P
));
2172 E
void FDECL(price_quote
, (struct obj
*));
2173 E
void FDECL(shk_chat
, (struct monst
*));
2174 E
void FDECL(check_unpaid_usage
, (struct obj
*, BOOLEAN_P
));
2175 E
void FDECL(check_unpaid
, (struct obj
*));
2176 E
void FDECL(costly_gold
, (XCHAR_P
, XCHAR_P
, long));
2177 E
long FDECL(get_cost_of_shop_item
, (struct obj
*));
2178 E boolean
FDECL(block_door
, (XCHAR_P
, XCHAR_P
));
2179 E boolean
FDECL(block_entry
, (XCHAR_P
, XCHAR_P
));
2180 E
char *FDECL(shk_your
, (char *, struct obj
*));
2181 E
char *FDECL(Shk_Your
, (char *, struct obj
*));
2183 /* ### shknam.c ### */
2185 E
void FDECL(neweshk
, (struct monst
*));
2186 E
void FDECL(free_eshk
, (struct monst
*));
2187 E
void FDECL(stock_room
, (int, struct mkroom
*));
2188 E boolean
FDECL(saleable
, (struct monst
*, struct obj
*));
2189 E
int FDECL(get_shop_item
, (int));
2190 E
char *FDECL(Shknam
, (struct monst
*));
2191 E
char *FDECL(shkname
, (struct monst
*));
2192 E boolean
FDECL(shkname_is_pname
, (struct monst
*));
2193 E boolean
FDECL(is_izchak
, (struct monst
*, BOOLEAN_P
));
2197 E
void NDECL(take_gold
);
2199 E
void NDECL(rndcurse
);
2200 E
void NDECL(attrcurse
);
2202 /* ### sounds.c ### */
2204 E
void NDECL(dosounds
);
2205 E
const char *FDECL(growl_sound
, (struct monst
*));
2206 E
void FDECL(growl
, (struct monst
*));
2207 E
void FDECL(yelp
, (struct monst
*));
2208 E
void FDECL(whimper
, (struct monst
*));
2209 E
void FDECL(beg
, (struct monst
*));
2210 E
int NDECL(dotalk
);
2212 E
int FDECL(add_sound_mapping
, (const char *));
2213 E
void FDECL(play_sound_for_message
, (const char *));
2218 E
void NDECL(sys_early_init
);
2219 E
void NDECL(sysopt_release
);
2220 E
void FDECL(sysopt_seduce_set
, (int));
2222 /* ### sys/msdos/sound.c ### */
2225 E
int FDECL(assign_soundcard
, (char *));
2228 /* ### sp_lev.c ### */
2230 E boolean
FDECL(check_room
, (xchar
*, xchar
*, xchar
*, xchar
*, BOOLEAN_P
));
2231 E boolean
FDECL(create_room
, (XCHAR_P
, XCHAR_P
, XCHAR_P
, XCHAR_P
, XCHAR_P
,
2232 XCHAR_P
, XCHAR_P
, XCHAR_P
));
2233 E
void FDECL(create_secret_door
, (struct mkroom
*, XCHAR_P
));
2235 FDECL(dig_corridor
, (coord
*, coord
*, BOOLEAN_P
, SCHAR_P
, SCHAR_P
));
2236 E
void FDECL(fill_room
, (struct mkroom
*, BOOLEAN_P
));
2237 E boolean
FDECL(load_special
, (const char *));
2239 /* ### spell.c ### */
2241 E
void FDECL(book_cursed
, (struct obj
*));
2245 E
int FDECL(study_book
, (struct obj
*));
2246 E
void FDECL(book_disappears
, (struct obj
*));
2247 E
void FDECL(book_substitution
, (struct obj
*, struct obj
*));
2248 E
void NDECL(age_spells
);
2249 E
int NDECL(docast
);
2250 E
int FDECL(spell_skilltype
, (int));
2251 E
int FDECL(spelleffects
, (int, BOOLEAN_P
));
2252 E
void NDECL(losespells
);
2253 E
int NDECL(dovspell
);
2254 E
void FDECL(initialspell
, (struct obj
*));
2256 /* ### steal.c ### */
2259 E
int NDECL(stealarm
);
2261 E
long FDECL(somegold
, (long));
2262 E
void FDECL(stealgold
, (struct monst
*));
2263 E
void FDECL(remove_worn_item
, (struct obj
*, BOOLEAN_P
));
2264 E
int FDECL(steal
, (struct monst
*, char *));
2265 E
int FDECL(mpickobj
, (struct monst
*, struct obj
*));
2266 E
void FDECL(stealamulet
, (struct monst
*));
2267 E
void FDECL(maybe_absorb_item
, (struct monst
*, struct obj
*, int, int));
2268 E
void FDECL(mdrop_obj
, (struct monst
*, struct obj
*, BOOLEAN_P
));
2269 E
void FDECL(mdrop_special_objs
, (struct monst
*));
2270 E
void FDECL(relobj
, (struct monst
*, int, BOOLEAN_P
));
2271 E
struct obj
*FDECL(findgold
, (struct obj
*));
2273 /* ### steed.c ### */
2275 E
void NDECL(rider_cant_reach
);
2276 E boolean
FDECL(can_saddle
, (struct monst
*));
2277 E
int FDECL(use_saddle
, (struct obj
*));
2278 E
void FDECL(put_saddle_on_mon
, (struct obj
*, struct monst
*));
2279 E boolean
FDECL(can_ride
, (struct monst
*));
2280 E
int NDECL(doride
);
2281 E boolean
FDECL(mount_steed
, (struct monst
*, BOOLEAN_P
));
2282 E
void NDECL(exercise_steed
);
2283 E
void NDECL(kick_steed
);
2284 E
void FDECL(dismount_steed
, (int));
2285 E
void FDECL(place_monster
, (struct monst
*, int, int));
2286 E boolean
FDECL(stucksteed
, (BOOLEAN_P
));
2288 /* ### teleport.c ### */
2290 E boolean
FDECL(goodpos
, (int, int, struct monst
*, unsigned));
2291 E boolean
FDECL(enexto
, (coord
*, XCHAR_P
, XCHAR_P
, struct permonst
*));
2292 E boolean
FDECL(enexto_core
, (coord
*, XCHAR_P
, XCHAR_P
,
2293 struct permonst
*, unsigned));
2294 E
void FDECL(teleds
, (int, int, BOOLEAN_P
));
2295 E boolean
FDECL(safe_teleds
, (BOOLEAN_P
));
2296 E boolean
FDECL(teleport_pet
, (struct monst
*, BOOLEAN_P
));
2298 E boolean
FDECL(scrolltele
, (struct obj
*));
2299 E
int NDECL(dotele
);
2300 E
void NDECL(level_tele
);
2301 E
void FDECL(domagicportal
, (struct trap
*));
2302 E
void FDECL(tele_trap
, (struct trap
*));
2303 E
void FDECL(level_tele_trap
, (struct trap
*, unsigned));
2304 E
void FDECL(rloc_to
, (struct monst
*, int, int));
2305 E boolean
FDECL(rloc
, (struct monst
*, BOOLEAN_P
));
2306 E boolean
FDECL(tele_restrict
, (struct monst
*));
2307 E
void FDECL(mtele_trap
, (struct monst
*, struct trap
*, int));
2308 E
int FDECL(mlevel_tele_trap
, (struct monst
*, struct trap
*,
2310 E boolean
FDECL(rloco
, (struct obj
*));
2311 E
int NDECL(random_teleport_level
);
2312 E boolean
FDECL(u_teleport_mon
, (struct monst
*, BOOLEAN_P
));
2314 /* ### tile.c ### */
2316 E
void FDECL(substitute_tiles
, (d_level
*));
2319 /* ### timeout.c ### */
2321 E
void NDECL(burn_away_slime
);
2322 E
void NDECL(nh_timeout
);
2323 E
void FDECL(fall_asleep
, (int, BOOLEAN_P
));
2324 E
void FDECL(attach_egg_hatch_timeout
, (struct obj
*, long));
2325 E
void FDECL(attach_fig_transform_timeout
, (struct obj
*));
2326 E
void FDECL(kill_egg
, (struct obj
*));
2327 E
void FDECL(hatch_egg
, (ANY_P
*, long));
2328 E
void FDECL(learn_egg_type
, (int));
2329 E
void FDECL(burn_object
, (ANY_P
*, long));
2330 E
void FDECL(begin_burn
, (struct obj
*, BOOLEAN_P
));
2331 E
void FDECL(end_burn
, (struct obj
*, BOOLEAN_P
));
2332 E
void NDECL(do_storms
);
2333 E boolean
FDECL(start_timer
, (long, SHORT_P
, SHORT_P
, ANY_P
*));
2334 E
long FDECL(stop_timer
, (SHORT_P
, ANY_P
*));
2335 E
long FDECL(peek_timer
, (SHORT_P
, ANY_P
*));
2336 E
void NDECL(run_timers
);
2337 E
void FDECL(obj_move_timers
, (struct obj
*, struct obj
*));
2338 E
void FDECL(obj_split_timers
, (struct obj
*, struct obj
*));
2339 E
void FDECL(obj_stop_timers
, (struct obj
*));
2340 E boolean
FDECL(obj_has_timer
, (struct obj
*, SHORT_P
));
2341 E
void FDECL(spot_stop_timers
, (XCHAR_P
, XCHAR_P
, SHORT_P
));
2342 E
long FDECL(spot_time_expires
, (XCHAR_P
, XCHAR_P
, SHORT_P
));
2343 E
long FDECL(spot_time_left
, (XCHAR_P
, XCHAR_P
, SHORT_P
));
2344 E boolean
FDECL(obj_is_local
, (struct obj
*));
2345 E
void FDECL(save_timers
, (int, int, int));
2346 E
void FDECL(restore_timers
, (int, int, BOOLEAN_P
, long));
2347 E
void FDECL(timer_stats
, (const char *, char *, long *, long *));
2348 E
void FDECL(relink_timers
, (BOOLEAN_P
));
2349 E
int NDECL(wiz_timeout_queue
);
2350 E
void NDECL(timer_sanity_check
);
2352 /* ### topten.c ### */
2354 E
void FDECL(formatkiller
, (char *, unsigned, int, BOOLEAN_P
));
2355 E
void FDECL(topten
, (int, time_t));
2356 E
void FDECL(prscore
, (int, char **));
2357 E
struct toptenentry
*NDECL(get_rnd_toptenentry
);
2358 E
struct obj
*FDECL(tt_oname
, (struct obj
*));
2360 /* ### track.c ### */
2362 E
void NDECL(initrack
);
2363 E
void NDECL(settrack
);
2364 E coord
*FDECL(gettrack
, (int, int));
2366 /* ### trap.c ### */
2368 E boolean
FDECL(burnarmor
, (struct monst
*));
2369 E
int FDECL(erode_obj
, (struct obj
*, const char *, int, int));
2370 E boolean
FDECL(grease_protect
, (struct obj
*, const char *, struct monst
*));
2371 E
struct trap
*FDECL(maketrap
, (int, int, int));
2372 E
void FDECL(fall_through
, (BOOLEAN_P
));
2373 E
struct monst
*FDECL(animate_statue
,
2374 (struct obj
*, XCHAR_P
, XCHAR_P
, int, int *));
2375 E
struct monst
*FDECL(activate_statue_trap
,
2376 (struct trap
*, XCHAR_P
, XCHAR_P
, BOOLEAN_P
));
2377 E
void FDECL(dotrap
, (struct trap
*, unsigned));
2378 E
void FDECL(seetrap
, (struct trap
*));
2379 E
void FDECL(feeltrap
, (struct trap
*));
2380 E
int FDECL(mintrap
, (struct monst
*));
2381 E
void FDECL(instapetrify
, (const char *));
2382 E
void FDECL(minstapetrify
, (struct monst
*, BOOLEAN_P
));
2383 E
void FDECL(selftouch
, (const char *));
2384 E
void FDECL(mselftouch
, (struct monst
*, const char *, BOOLEAN_P
));
2385 E
void NDECL(float_up
);
2386 E
void FDECL(fill_pit
, (int, int));
2387 E
int FDECL(float_down
, (long, long));
2388 E
void NDECL(climb_pit
);
2389 E boolean
FDECL(fire_damage
, (struct obj
*, BOOLEAN_P
, XCHAR_P
, XCHAR_P
));
2390 E
int FDECL(fire_damage_chain
,
2391 (struct obj
*, BOOLEAN_P
, BOOLEAN_P
, XCHAR_P
, XCHAR_P
));
2392 E
void acid_damage(struct obj
*);
2393 E
int FDECL(water_damage
, (struct obj
*, const char *, BOOLEAN_P
));
2394 E
void FDECL(water_damage_chain
, (struct obj
*, BOOLEAN_P
));
2395 E boolean
NDECL(drown
);
2396 E
void FDECL(drain_en
, (int));
2397 E
int NDECL(dountrap
);
2398 E
void FDECL(cnv_trap_obj
, (int, int, struct trap
*, BOOLEAN_P
));
2399 E
int FDECL(untrap
, (BOOLEAN_P
));
2400 E boolean
FDECL(openholdingtrap
, (struct monst
*, boolean
*));
2401 E boolean
FDECL(closeholdingtrap
, (struct monst
*, boolean
*));
2402 E boolean
FDECL(openfallingtrap
, (struct monst
*, BOOLEAN_P
, boolean
*));
2403 E boolean
FDECL(chest_trap
, (struct obj
*, int, BOOLEAN_P
));
2404 E
void FDECL(deltrap
, (struct trap
*));
2405 E boolean
FDECL(delfloortrap
, (struct trap
*));
2406 E
struct trap
*FDECL(t_at
, (int, int));
2407 E
void FDECL(b_trapped
, (const char *, int));
2408 E boolean
NDECL(unconscious
);
2409 E
void FDECL(blow_up_landmine
, (struct trap
*));
2410 E
int FDECL(launch_obj
, (SHORT_P
, int, int, int, int, int));
2411 E boolean
NDECL(launch_in_progress
);
2412 E
void NDECL(force_launch_placement
);
2413 E boolean
FDECL(uteetering_at_seen_pit
, (struct trap
*));
2414 E boolean
NDECL(lava_effects
);
2415 E
void NDECL(sink_into_lava
);
2416 E
void NDECL(sokoban_guilt
);
2418 /* ### u_init.c ### */
2420 E
void NDECL(u_init
);
2422 /* ### uhitm.c ### */
2424 E
void FDECL(erode_armor
, (struct monst
*, int));
2425 E boolean
FDECL(attack_checks
, (struct monst
*, struct obj
*));
2426 E
void FDECL(check_caitiff
, (struct monst
*));
2427 E
int FDECL(find_roll_to_hit
,
2428 (struct monst
*, UCHAR_P
, struct obj
*, int *, int *));
2429 E boolean
FDECL(attack
, (struct monst
*));
2430 E boolean
FDECL(hmon
, (struct monst
*, struct obj
*, int));
2431 E
int FDECL(damageum
, (struct monst
*, struct attack
*));
2432 E
void FDECL(missum
, (struct monst
*, struct attack
*, BOOLEAN_P
));
2433 E
int FDECL(passive
, (struct monst
*, BOOLEAN_P
, int, UCHAR_P
, BOOLEAN_P
));
2434 E
void FDECL(passive_obj
, (struct monst
*, struct obj
*, struct attack
*));
2435 E
void FDECL(stumble_onto_mimic
, (struct monst
*));
2436 E
int FDECL(flash_hits_mon
, (struct monst
*, struct obj
*));
2437 E
void FDECL(light_hits_gremlin
, (struct monst
*, int));
2439 /* ### unixmain.c ### */
2443 E
void NDECL(port_help
);
2445 E
void FDECL(sethanguphandler
, (void (*)(int)));
2446 E boolean
NDECL(authorize_wizard_mode
);
2447 E boolean
FDECL(check_user_string
, (char *));
2450 /* ### unixtty.c ### */
2452 #if defined(UNIX) || defined(__BEOS__)
2453 E
void NDECL(gettty
);
2454 E
void FDECL(settty
, (const char *));
2455 E
void NDECL(setftty
);
2456 E
void NDECL(intron
);
2457 E
void NDECL(introff
);
2458 E
void VDECL(error
, (const char *, ...)) PRINTF_F(1, 2);
2459 #endif /* UNIX || __BEOS__ */
2461 /* ### unixunix.c ### */
2464 E
void NDECL(getlock
);
2465 E
void FDECL(regularize
, (char *));
2466 #if defined(TIMED_DELAY) && !defined(msleep) && defined(SYSV)
2467 E
void FDECL(msleep
, (unsigned));
2472 #if defined(SHELL) || defined(DEF_PAGER) || defined(DEF_MAILREADER)
2473 E
int FDECL(child
, (int));
2476 E boolean
FDECL(file_exists
, (const char *));
2480 /* ### unixres.c ### */
2483 #ifdef GNOME_GRAPHICS
2484 E
int FDECL(hide_privileges
, (BOOLEAN_P
));
2488 /* ### vault.c ### */
2490 E
void FDECL(newegd
, (struct monst
*));
2491 E
void FDECL(free_egd
, (struct monst
*));
2492 E boolean
FDECL(grddead
, (struct monst
*));
2493 E
char FDECL(vault_occupied
, (char *));
2494 E
void NDECL(invault
);
2495 E
int FDECL(gd_move
, (struct monst
*));
2496 E
void NDECL(paygd
);
2497 E
long NDECL(hidden_gold
);
2498 E boolean
NDECL(gd_sound
);
2499 E
void FDECL(vault_gd_watching
, (unsigned int));
2501 /* ### version.c ### */
2503 E
char *FDECL(version_string
, (char *));
2504 E
char *FDECL(getversionstring
, (char *));
2505 E
int NDECL(doversion
);
2506 E
int NDECL(doextversion
);
2508 E boolean
FDECL(comp_times
, (long));
2511 FDECL(check_version
, (struct version_info
*, const char *, BOOLEAN_P
));
2512 E boolean
FDECL(uptodate
, (int, const char *));
2513 E
void FDECL(store_version
, (int));
2514 E
unsigned long FDECL(get_feature_notice_ver
, (char *));
2515 E
unsigned long NDECL(get_current_feature_ver
);
2516 E
const char *FDECL(copyright_banner_line
, (int));
2518 #ifdef RUNTIME_PORT_ID
2519 E
void FDECL(append_port_id
, (char *));
2522 /* ### video.c ### */
2525 E
int FDECL(assign_video
, (char *));
2527 E
void NDECL(gr_init
);
2528 E
void NDECL(gr_finish
);
2530 E
void FDECL(tileview
, (BOOLEAN_P
));
2533 E
int FDECL(assign_videoshades
, (char *));
2534 E
int FDECL(assign_videocolors
, (char *));
2537 /* ### vis_tab.c ### */
2539 #ifdef VISION_TABLES
2540 E
void NDECL(vis_tab_init
);
2543 /* ### vision.c ### */
2545 E
void NDECL(vision_init
);
2546 E
int FDECL(does_block
, (int, int, struct rm
*));
2547 E
void NDECL(vision_reset
);
2548 E
void FDECL(vision_recalc
, (int));
2549 E
void FDECL(block_point
, (int, int));
2550 E
void FDECL(unblock_point
, (int, int));
2551 E boolean
FDECL(clear_path
, (int, int, int, int));
2552 E
void FDECL(do_clear_area
, (int, int, int,
2553 void (*)(int, int, genericptr
), genericptr_t
));
2554 E
unsigned FDECL(howmonseen
, (struct monst
*));
2558 /* ### vmsfiles.c ### */
2560 E
int FDECL(vms_link
, (const char *, const char *));
2561 E
int FDECL(vms_unlink
, (const char *));
2562 E
int FDECL(vms_creat
, (const char *, unsigned int));
2563 E
int FDECL(vms_open
, (const char *, int, unsigned int));
2564 E boolean
FDECL(same_dir
, (const char *, const char *));
2565 E
int FDECL(c__translate
, (int));
2566 E
char *FDECL(vms_basename
, (const char *));
2568 /* ### vmsmail.c ### */
2570 E
unsigned long NDECL(init_broadcast_trapping
);
2571 E
unsigned long NDECL(enable_broadcast_trapping
);
2572 E
unsigned long NDECL(disable_broadcast_trapping
);
2574 E
struct mail_info
*NDECL(parse_next_broadcast
);
2577 /* ### vmsmain.c ### */
2579 E
int FDECL(main
, (int, char **));
2581 E
void FDECL(chdirx
, (const char *, BOOLEAN_P
));
2583 E
void FDECL(sethanguphandler
, (void (*)(int)));
2584 E boolean
NDECL(authorize_wizard_mode
);
2586 /* ### vmsmisc.c ### */
2588 E
void NDECL(vms_abort
) NORETURN
;
2589 E
void FDECL(vms_exit
, (int)) NORETURN
;
2591 E
void FDECL(vms_traceback
, (int));
2594 /* ### vmstty.c ### */
2596 E
int NDECL(vms_getchar
);
2597 E
void NDECL(gettty
);
2598 E
void FDECL(settty
, (const char *));
2599 E
void FDECL(shuttty
, (const char *));
2600 E
void NDECL(setftty
);
2601 E
void NDECL(intron
);
2602 E
void NDECL(introff
);
2603 E
void VDECL(error
, (const char *, ...)) PRINTF_F(1, 2);
2605 E
void FDECL(msleep
, (unsigned));
2608 /* ### vmsunix.c ### */
2610 E
void NDECL(getlock
);
2611 E
void FDECL(regularize
, (char *));
2612 E
int NDECL(vms_getuid
);
2613 E boolean
FDECL(file_is_stmlf
, (int));
2614 E
int FDECL(vms_define
, (const char *, const char *, int));
2615 E
int FDECL(vms_putenv
, (const char *));
2616 E
char *NDECL(verify_termcap
);
2617 #if defined(CHDIR) || defined(SHELL) || defined(SECURE)
2618 E
void NDECL(privoff
);
2619 E
void NDECL(privon
);
2624 #if defined(SHELL) || defined(MAIL)
2625 E
int FDECL(vms_doshell
, (const char *, BOOLEAN_P
));
2628 E
int NDECL(dosuspend
);
2631 E
int FDECL(vms_get_saved_games
, (const char *, char ***));
2636 /* ### weapon.c ### */
2638 E
const char *FDECL(weapon_descr
, (struct obj
*));
2639 E
int FDECL(hitval
, (struct obj
*, struct monst
*));
2640 E
int FDECL(dmgval
, (struct obj
*, struct monst
*));
2641 E
struct obj
*FDECL(select_rwep
, (struct monst
*));
2642 E
struct obj
*FDECL(select_hwep
, (struct monst
*));
2643 E
void FDECL(possibly_unwield
, (struct monst
*, BOOLEAN_P
));
2644 E
void FDECL(mwepgone
, (struct monst
*));
2645 E
int FDECL(mon_wield_item
, (struct monst
*));
2648 E
void FDECL(wet_a_towel
, (struct obj
*, int, BOOLEAN_P
));
2649 E
void FDECL(dry_a_towel
, (struct obj
*, int, BOOLEAN_P
));
2650 E
int NDECL(enhance_weapon_skill
);
2651 E
void FDECL(unrestrict_weapon_skill
, (int));
2652 E
void FDECL(use_skill
, (int, int));
2653 E
void FDECL(add_weapon_skill
, (int));
2654 E
void FDECL(lose_weapon_skill
, (int));
2655 E
int FDECL(weapon_type
, (struct obj
*));
2656 E
int NDECL(uwep_skill_type
);
2657 E
int FDECL(weapon_hit_bonus
, (struct obj
*));
2658 E
int FDECL(weapon_dam_bonus
, (struct obj
*));
2659 E
void FDECL(skill_init
, (const struct def_skill
*));
2661 /* ### were.c ### */
2663 E
void FDECL(were_change
, (struct monst
*));
2664 E
int FDECL(counter_were
, (int));
2665 E
int FDECL(were_beastie
, (int));
2666 E
void FDECL(new_were
, (struct monst
*));
2667 E
int FDECL(were_summon
, (struct permonst
*, BOOLEAN_P
, int *, char *));
2668 E
void NDECL(you_were
);
2669 E
void FDECL(you_unwere
, (BOOLEAN_P
));
2670 E
void FDECL(set_ulycn
, (int));
2672 /* ### wield.c ### */
2674 E
void FDECL(setuwep
, (struct obj
*));
2675 E
void FDECL(setuqwep
, (struct obj
*));
2676 E
void FDECL(setuswapwep
, (struct obj
*));
2677 E
int NDECL(dowield
);
2678 E
int NDECL(doswapweapon
);
2679 E
int NDECL(dowieldquiver
);
2680 E boolean
FDECL(wield_tool
, (struct obj
*, const char *));
2681 E
int NDECL(can_twoweapon
);
2682 E
void NDECL(drop_uswapwep
);
2683 E
int NDECL(dotwoweapon
);
2684 E
void NDECL(uwepgone
);
2685 E
void NDECL(uswapwepgone
);
2686 E
void NDECL(uqwepgone
);
2687 E
void NDECL(untwoweapon
);
2688 E
int FDECL(chwepon
, (struct obj
*, int));
2689 E
int FDECL(welded
, (struct obj
*));
2690 E
void FDECL(weldmsg
, (struct obj
*));
2691 E
void FDECL(setmnotwielded
, (struct monst
*, struct obj
*));
2692 E boolean
FDECL(mwelded
, (struct obj
*));
2694 /* ### windows.c ### */
2696 E
void FDECL(choose_windows
, (const char *));
2698 void FDECL(addto_windowchain
, (const char *s
));
2699 void NDECL(commit_windowchain
);
2701 E boolean
NDECL(genl_can_suspend_no
);
2702 E boolean
NDECL(genl_can_suspend_yes
);
2703 E
char FDECL(genl_message_menu
, (CHAR_P
, int, const char *));
2704 E
void FDECL(genl_preference_update
, (const char *));
2705 E
char *FDECL(genl_getmsghistory
, (BOOLEAN_P
));
2706 E
void FDECL(genl_putmsghistory
, (const char *, BOOLEAN_P
));
2707 #ifdef HANGUPHANDLING
2708 E
void NDECL(nhwindows_hangup
);
2710 #ifdef STATUS_VIA_WINDOWPORT
2711 E
void NDECL(genl_status_init
);
2712 E
void NDECL(genl_status_finish
);
2713 E
void FDECL(genl_status_enablefield
,
2714 (int, const char *, const char *, BOOLEAN_P
));
2715 E
void FDECL(genl_status_update
, (int, genericptr_t
, int, int));
2716 #ifdef STATUS_HILITES
2717 E
void FDECL(genl_status_threshold
, (int, int, anything
, int, int, int));
2721 E
void FDECL(dump_open_log
, (time_t));
2722 E
void NDECL(dump_close_log
);
2723 E
void FDECL(dump_redirect
, (BOOLEAN_P
));
2724 E
void FDECL(dump_forward_putstr
, (winid
, int, const char*, int));
2726 /* ### wizard.c ### */
2728 E
void NDECL(amulet
);
2729 E
int FDECL(mon_has_amulet
, (struct monst
*));
2730 E
int FDECL(mon_has_special
, (struct monst
*));
2731 E
int FDECL(tactics
, (struct monst
*));
2732 E boolean
FDECL(has_aggravatables
, (struct monst
*));
2733 E
void NDECL(aggravate
);
2734 E
void NDECL(clonewiz
);
2735 E
int NDECL(pick_nasty
);
2736 E
int FDECL(nasty
, (struct monst
*));
2737 E
void NDECL(resurrect
);
2738 E
void NDECL(intervene
);
2739 E
void NDECL(wizdead
);
2740 E
void FDECL(cuss
, (struct monst
*));
2742 /* ### worm.c ### */
2744 E
int NDECL(get_wormno
);
2745 E
void FDECL(initworm
, (struct monst
*, int));
2746 E
void FDECL(worm_move
, (struct monst
*));
2747 E
void FDECL(worm_nomove
, (struct monst
*));
2748 E
void FDECL(wormgone
, (struct monst
*));
2749 E
void FDECL(wormhitu
, (struct monst
*));
2750 E
void FDECL(cutworm
, (struct monst
*, XCHAR_P
, XCHAR_P
, struct obj
*));
2751 E
void FDECL(see_wsegs
, (struct monst
*));
2752 E
void FDECL(detect_wsegs
, (struct monst
*, BOOLEAN_P
));
2753 E
void FDECL(save_worm
, (int, int));
2754 E
void FDECL(rest_worm
, (int));
2755 E
void FDECL(place_wsegs
, (struct monst
*));
2756 E
void FDECL(remove_worm
, (struct monst
*));
2757 E
void FDECL(place_worm_tail_randomly
, (struct monst
*, XCHAR_P
, XCHAR_P
));
2758 E
int FDECL(size_wseg
, (struct monst
*));
2759 E
int FDECL(count_wsegs
, (struct monst
*));
2760 E boolean
FDECL(worm_known
, (struct monst
*));
2761 E boolean
FDECL(worm_cross
, (int, int, int, int));
2762 E
int FDECL(wseg_at
, (struct monst
*, int, int));
2764 /* ### worn.c ### */
2766 E
void FDECL(setworn
, (struct obj
*, long));
2767 E
void FDECL(setnotworn
, (struct obj
*));
2768 E
long FDECL(wearslot
, (struct obj
*));
2769 E
void FDECL(mon_set_minvis
, (struct monst
*));
2770 E
void FDECL(mon_adjust_speed
, (struct monst
*, int, struct obj
*));
2771 E
void FDECL(update_mon_intrinsics
,
2772 (struct monst
*, struct obj
*, BOOLEAN_P
, BOOLEAN_P
));
2773 E
int FDECL(find_mac
, (struct monst
*));
2774 E
void FDECL(m_dowear
, (struct monst
*, BOOLEAN_P
));
2775 E
struct obj
*FDECL(which_armor
, (struct monst
*, long));
2776 E
void FDECL(mon_break_armor
, (struct monst
*, BOOLEAN_P
));
2777 E
void FDECL(bypass_obj
, (struct obj
*));
2778 E
void NDECL(clear_bypasses
);
2779 E
void FDECL(bypass_objlist
, (struct obj
*, BOOLEAN_P
));
2780 E
struct obj
*FDECL(nxt_unbypassed_obj
, (struct obj
*));
2781 E
int FDECL(racial_exception
, (struct monst
*, struct obj
*));
2783 /* ### write.c ### */
2785 E
int FDECL(dowrite
, (struct obj
*));
2789 E
void FDECL(learnwand
, (struct obj
*));
2790 E
int FDECL(bhitm
, (struct monst
*, struct obj
*));
2791 E
void FDECL(probe_monster
, (struct monst
*));
2792 E boolean
FDECL(get_obj_location
, (struct obj
*, xchar
*, xchar
*, int));
2793 E boolean
FDECL(get_mon_location
, (struct monst
*, xchar
*, xchar
*, int));
2794 E
struct monst
*FDECL(get_container_location
,
2795 (struct obj
* obj
, int *, int *));
2796 E
struct monst
*FDECL(montraits
, (struct obj
*, coord
*));
2797 E
struct monst
*FDECL(revive
, (struct obj
*, BOOLEAN_P
));
2798 E
int FDECL(unturn_dead
, (struct monst
*));
2799 E
void FDECL(cancel_item
, (struct obj
*));
2800 E boolean
FDECL(drain_item
, (struct obj
*, BOOLEAN_P
));
2801 E
struct obj
*FDECL(poly_obj
, (struct obj
*, int));
2802 E boolean
FDECL(obj_resists
, (struct obj
*, int, int));
2803 E boolean
FDECL(obj_shudders
, (struct obj
*));
2804 E
void FDECL(do_osshock
, (struct obj
*));
2805 E
int FDECL(bhito
, (struct obj
*, struct obj
*));
2806 E
int FDECL(bhitpile
,
2807 (struct obj
*, int (*)(OBJ_P
, OBJ_P
), int, int, SCHAR_P
));
2808 E
int FDECL(zappable
, (struct obj
*));
2809 E
void FDECL(zapnodir
, (struct obj
*));
2811 E
int FDECL(zapyourself
, (struct obj
*, BOOLEAN_P
));
2812 E
void FDECL(ubreatheu
, (struct attack
*));
2813 E
int FDECL(lightdamage
, (struct obj
*, BOOLEAN_P
, int));
2814 E boolean
FDECL(flashburn
, (long));
2815 E boolean
FDECL(cancel_monst
, (struct monst
*, struct obj
*, BOOLEAN_P
,
2816 BOOLEAN_P
, BOOLEAN_P
));
2817 E
void NDECL(zapsetup
);
2818 E
void NDECL(zapwrapup
);
2819 E
void FDECL(weffects
, (struct obj
*));
2820 E
int FDECL(spell_damage_bonus
, (int));
2821 E
const char *FDECL(exclam
, (int force
));
2822 E
void FDECL(hit
, (const char *, struct monst
*, const char *));
2823 E
void FDECL(miss
, (const char *, struct monst
*));
2824 E
struct monst
*FDECL(bhit
, (int, int, int, int, int (*)(MONST_P
, OBJ_P
),
2825 int (*)(OBJ_P
, OBJ_P
), struct obj
**));
2826 E
struct monst
*FDECL(boomhit
, (struct obj
*, int, int));
2827 E
int FDECL(zhitm
, (struct monst
*, int, int, struct obj
**));
2828 E
int FDECL(burn_floor_objects
, (int, int, BOOLEAN_P
, BOOLEAN_P
));
2829 E
void FDECL(buzz
, (int, int, XCHAR_P
, XCHAR_P
, int, int));
2830 E
void FDECL(dobuzz
, (int, int, XCHAR_P
, XCHAR_P
, int, int, BOOLEAN_P
));
2831 E
void FDECL(melt_ice
, (XCHAR_P
, XCHAR_P
, const char *));
2832 E
void FDECL(start_melt_ice_timeout
, (XCHAR_P
, XCHAR_P
, long));
2833 E
void FDECL(melt_ice_away
, (ANY_P
*, long));
2834 E
int FDECL(zap_over_floor
, (XCHAR_P
, XCHAR_P
, int, boolean
*, SHORT_P
));
2835 E
void FDECL(fracture_rock
, (struct obj
*));
2836 E boolean
FDECL(break_statue
, (struct obj
*));
2837 E
void FDECL(destroy_item
, (int, int));
2838 E
int FDECL(destroy_mitem
, (struct monst
*, int, int));
2839 E
int FDECL(resist
, (struct monst
*, CHAR_P
, int, int));
2840 E
void NDECL(makewish
);
2842 #endif /* !MAKEDEFS_C && !LEV_LEX_C */
2846 #endif /* EXTERN_H */