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